Documentation ¶
Index ¶
- Constants
- func IsStatusNotFoundError(err error) bool
- func MatchKeyNotFoundErr(err error) bool
- type CRDClient
- type CRDClientV1
- func (k *CRDClientV1) AddBackend(ctx context.Context, backend storage.Backend) error
- func (k *CRDClientV1) AddBackendPersistent(ctx context.Context, backendPersistent *storage.BackendPersistent) error
- func (k *CRDClientV1) AddOrUpdateNode(ctx context.Context, node *utils.Node) error
- func (k *CRDClientV1) AddSnapshot(ctx context.Context, snapshot *storage.Snapshot) error
- func (k *CRDClientV1) AddStorageClass(ctx context.Context, sc *storageclass.StorageClass) error
- func (k *CRDClientV1) AddStorageClassPersistent(ctx context.Context, scp *storageclass.Persistent) error
- func (k *CRDClientV1) AddVolume(ctx context.Context, volume *storage.Volume) error
- func (k *CRDClientV1) AddVolumePersistent(ctx context.Context, volume *storage.VolumeExternal) error
- func (k *CRDClientV1) AddVolumePublication(ctx context.Context, publication *utils.VolumePublication) error
- func (k *CRDClientV1) AddVolumeTransaction(ctx context.Context, txn *storage.VolumeTransaction) error
- func (k *CRDClientV1) DeleteBackend(ctx context.Context, b storage.Backend) (err error)
- func (k *CRDClientV1) DeleteBackends(ctx context.Context) error
- func (k *CRDClientV1) DeleteNode(ctx context.Context, n *utils.Node) error
- func (k *CRDClientV1) DeleteSnapshot(ctx context.Context, snapshot *storage.Snapshot) error
- func (k *CRDClientV1) DeleteSnapshotIgnoreNotFound(ctx context.Context, snapshot *storage.Snapshot) error
- func (k *CRDClientV1) DeleteSnapshots(ctx context.Context) error
- func (k *CRDClientV1) DeleteStorageClass(ctx context.Context, sc *storageclass.StorageClass) error
- func (k *CRDClientV1) DeleteVolume(ctx context.Context, volume *storage.Volume) error
- func (k *CRDClientV1) DeleteVolumeIgnoreNotFound(ctx context.Context, volume *storage.Volume) error
- func (k *CRDClientV1) DeleteVolumePublication(ctx context.Context, vp *utils.VolumePublication) error
- func (k *CRDClientV1) DeleteVolumeTransaction(ctx context.Context, volTxn *storage.VolumeTransaction) error
- func (k *CRDClientV1) DeleteVolumes(ctx context.Context) error
- func (k *CRDClientV1) GetBackend(ctx context.Context, backendName string) (*storage.BackendPersistent, error)
- func (k *CRDClientV1) GetBackendSecret(ctx context.Context, secretName string) (map[string]string, error)
- func (k *CRDClientV1) GetBackends(ctx context.Context) ([]*storage.BackendPersistent, error)
- func (k *CRDClientV1) GetConfig() *ClientConfig
- func (k *CRDClientV1) GetExistingVolumeTransaction(ctx context.Context, volTxn *storage.VolumeTransaction) (*storage.VolumeTransaction, error)
- func (k *CRDClientV1) GetNode(ctx context.Context, nName string) (*utils.Node, error)
- func (k *CRDClientV1) GetNodes(ctx context.Context) ([]*utils.Node, error)
- func (k *CRDClientV1) GetSnapshot(ctx context.Context, volumeName, snapshotName string) (*storage.SnapshotPersistent, error)
- func (k *CRDClientV1) GetSnapshots(ctx context.Context) ([]*storage.SnapshotPersistent, error)
- func (k *CRDClientV1) GetStorageClass(ctx context.Context, scName string) (*storageclass.Persistent, error)
- func (k *CRDClientV1) GetStorageClasses(ctx context.Context) ([]*storageclass.Persistent, error)
- func (k *CRDClientV1) GetTridentUUID(ctx context.Context) (string, error)
- func (k *CRDClientV1) GetType() StoreType
- func (k *CRDClientV1) GetVersion(ctx context.Context) (*config.PersistentStateVersion, error)
- func (k *CRDClientV1) GetVolume(ctx context.Context, volName string) (*storage.VolumeExternal, error)
- func (k *CRDClientV1) GetVolumePublication(ctx context.Context, nName string) (*utils.VolumePublication, error)
- func (k *CRDClientV1) GetVolumePublications(ctx context.Context) ([]*utils.VolumePublication, error)
- func (k *CRDClientV1) GetVolumeTransactions(ctx context.Context) ([]*storage.VolumeTransaction, error)
- func (k *CRDClientV1) GetVolumes(ctx context.Context) ([]*storage.VolumeExternal, error)
- func (k *CRDClientV1) HasBackends(ctx context.Context) (bool, error)
- func (k *CRDClientV1) HasStorageClasses(ctx context.Context) (bool, error)
- func (k *CRDClientV1) HasVolumeTransactions(ctx context.Context) (bool, error)
- func (k *CRDClientV1) HasVolumes(ctx context.Context) (bool, error)
- func (k *CRDClientV1) IsBackendDeleting(ctx context.Context, b storage.Backend) bool
- func (k *CRDClientV1) ReplaceBackendAndUpdateVolumes(ctx context.Context, origBackend, newBackend storage.Backend) error
- func (k *CRDClientV1) SetVersion(ctx context.Context, version *config.PersistentStateVersion) error
- func (k *CRDClientV1) Stop() error
- func (k *CRDClientV1) UpdateBackend(ctx context.Context, update storage.Backend) error
- func (k *CRDClientV1) UpdateBackendPersistent(ctx context.Context, update *storage.BackendPersistent) error
- func (k *CRDClientV1) UpdateSnapshot(ctx context.Context, update *storage.Snapshot) error
- func (k *CRDClientV1) UpdateVolume(ctx context.Context, update *storage.Volume) error
- func (k *CRDClientV1) UpdateVolumePersistent(ctx context.Context, update *storage.VolumeExternal) error
- func (k *CRDClientV1) UpdateVolumePublication(ctx context.Context, publication *utils.VolumePublication) error
- func (k *CRDClientV1) UpdateVolumeTransaction(ctx context.Context, update *storage.VolumeTransaction) error
- type Client
- type ClientConfig
- type DataMigrator
- type Error
- type InMemoryClient
- func (c *InMemoryClient) AddBackend(ctx context.Context, b storage.Backend) error
- func (c *InMemoryClient) AddBackendPersistent(_ context.Context, backend *storage.BackendPersistent) error
- func (c *InMemoryClient) AddOrUpdateNode(_ context.Context, n *utils.Node) error
- func (c *InMemoryClient) AddSnapshot(_ context.Context, snapshot *storage.Snapshot) error
- func (c *InMemoryClient) AddStorageClass(_ context.Context, s *sc.StorageClass) error
- func (c *InMemoryClient) AddVolume(_ context.Context, vol *storage.Volume) error
- func (c *InMemoryClient) AddVolumePersistent(_ context.Context, volume *storage.VolumeExternal) error
- func (c *InMemoryClient) AddVolumePublication(_ context.Context, vp *utils.VolumePublication) error
- func (c *InMemoryClient) AddVolumeTransaction(_ context.Context, volTxn *storage.VolumeTransaction) error
- func (c *InMemoryClient) DeleteBackend(ctx context.Context, b storage.Backend) error
- func (c *InMemoryClient) DeleteBackends(context.Context) error
- func (c *InMemoryClient) DeleteNode(_ context.Context, n *utils.Node) error
- func (c *InMemoryClient) DeleteSnapshot(_ context.Context, snapshot *storage.Snapshot) error
- func (c *InMemoryClient) DeleteSnapshotIgnoreNotFound(ctx context.Context, snapshot *storage.Snapshot) error
- func (c *InMemoryClient) DeleteSnapshots(context.Context) error
- func (c *InMemoryClient) DeleteStorageClass(_ context.Context, s *sc.StorageClass) error
- func (c *InMemoryClient) DeleteVolume(_ context.Context, vol *storage.Volume) error
- func (c *InMemoryClient) DeleteVolumeIgnoreNotFound(_ context.Context, vol *storage.Volume) error
- func (c *InMemoryClient) DeleteVolumePublication(_ context.Context, vp *utils.VolumePublication) error
- func (c *InMemoryClient) DeleteVolumeTransaction(_ context.Context, volTxn *storage.VolumeTransaction) error
- func (c *InMemoryClient) DeleteVolumes(context.Context) error
- func (c *InMemoryClient) GetBackend(_ context.Context, backendName string) (*storage.BackendPersistent, error)
- func (c *InMemoryClient) GetBackendSecret(_ context.Context, _ string) (map[string]string, error)
- func (c *InMemoryClient) GetBackends(context.Context) ([]*storage.BackendPersistent, error)
- func (c *InMemoryClient) GetConfig() *ClientConfig
- func (c *InMemoryClient) GetExistingVolumeTransaction(_ context.Context, volTxn *storage.VolumeTransaction) (*storage.VolumeTransaction, error)
- func (c *InMemoryClient) GetNode(_ context.Context, nName string) (*utils.Node, error)
- func (c *InMemoryClient) GetNodes(context.Context) ([]*utils.Node, error)
- func (c *InMemoryClient) GetSnapshot(_ context.Context, volumeName, snapshotName string) (*storage.SnapshotPersistent, error)
- func (c *InMemoryClient) GetSnapshots(context.Context) ([]*storage.SnapshotPersistent, error)
- func (c *InMemoryClient) GetStorageClass(_ context.Context, scName string) (*sc.Persistent, error)
- func (c *InMemoryClient) GetStorageClasses(context.Context) ([]*sc.Persistent, error)
- func (c *InMemoryClient) GetTridentUUID(_ context.Context) (string, error)
- func (c *InMemoryClient) GetType() StoreType
- func (c *InMemoryClient) GetVersion(context.Context) (*config.PersistentStateVersion, error)
- func (c *InMemoryClient) GetVolume(_ context.Context, volumeName string) (*storage.VolumeExternal, error)
- func (c *InMemoryClient) GetVolumePublication(_ context.Context, vpName string) (*utils.VolumePublication, error)
- func (c *InMemoryClient) GetVolumePublications(context.Context) ([]*utils.VolumePublication, error)
- func (c *InMemoryClient) GetVolumeTransactions(context.Context) ([]*storage.VolumeTransaction, error)
- func (c *InMemoryClient) GetVolumes(context.Context) ([]*storage.VolumeExternal, error)
- func (c *InMemoryClient) IsBackendDeleting(ctx context.Context, backend storage.Backend) bool
- func (c *InMemoryClient) ReplaceBackendAndUpdateVolumes(context.Context, storage.Backend, storage.Backend) error
- func (c *InMemoryClient) SetVersion(context.Context, *config.PersistentStateVersion) error
- func (c *InMemoryClient) Stop() error
- func (c *InMemoryClient) UpdateBackend(ctx context.Context, b storage.Backend) error
- func (c *InMemoryClient) UpdateBackendPersistent(_ context.Context, update *storage.BackendPersistent) error
- func (c *InMemoryClient) UpdateSnapshot(_ context.Context, snapshot *storage.Snapshot) error
- func (c *InMemoryClient) UpdateVolume(_ context.Context, vol *storage.Volume) error
- func (c *InMemoryClient) UpdateVolumePersistent(_ context.Context, volume *storage.VolumeExternal) error
- func (c *InMemoryClient) UpdateVolumePublication(_ context.Context, vp *utils.VolumePublication) error
- func (c *InMemoryClient) UpdateVolumeTransaction(_ context.Context, volTxn *storage.VolumeTransaction) error
- type PassthroughClient
- func (c *PassthroughClient) AddBackend(ctx context.Context, backend storage.Backend) error
- func (c *PassthroughClient) AddBackendPersistent(context.Context, *storage.BackendPersistent) error
- func (c *PassthroughClient) AddOrUpdateNode(context.Context, *utils.Node) error
- func (c *PassthroughClient) AddSnapshot(context.Context, *storage.Snapshot) error
- func (c *PassthroughClient) AddStorageClass(context.Context, *sc.StorageClass) error
- func (c *PassthroughClient) AddVolume(context.Context, *storage.Volume) error
- func (c *PassthroughClient) AddVolumePersistent(context.Context, *storage.VolumeExternal) error
- func (c *PassthroughClient) AddVolumePublication(context.Context, *utils.VolumePublication) error
- func (c *PassthroughClient) AddVolumeTransaction(context.Context, *storage.VolumeTransaction) error
- func (c *PassthroughClient) DeleteBackend(_ context.Context, backend storage.Backend) error
- func (c *PassthroughClient) DeleteBackends(context.Context) error
- func (c *PassthroughClient) DeleteNode(context.Context, *utils.Node) error
- func (c *PassthroughClient) DeleteSnapshot(context.Context, *storage.Snapshot) error
- func (c *PassthroughClient) DeleteSnapshotIgnoreNotFound(context.Context, *storage.Snapshot) error
- func (c *PassthroughClient) DeleteSnapshots(context.Context) error
- func (c *PassthroughClient) DeleteStorageClass(context.Context, *sc.StorageClass) error
- func (c *PassthroughClient) DeleteVolume(context.Context, *storage.Volume) error
- func (c *PassthroughClient) DeleteVolumeIgnoreNotFound(context.Context, *storage.Volume) error
- func (c *PassthroughClient) DeleteVolumePublication(context.Context, *utils.VolumePublication) error
- func (c *PassthroughClient) DeleteVolumeTransaction(context.Context, *storage.VolumeTransaction) error
- func (c *PassthroughClient) DeleteVolumes(context.Context) error
- func (c *PassthroughClient) GetBackend(ctx context.Context, backendName string) (*storage.BackendPersistent, error)
- func (c *PassthroughClient) GetBackendSecret(_ context.Context, _ string) (map[string]string, error)
- func (c *PassthroughClient) GetBackends(context.Context) ([]*storage.BackendPersistent, error)
- func (c *PassthroughClient) GetConfig() *ClientConfig
- func (c *PassthroughClient) GetExistingVolumeTransaction(context.Context, *storage.VolumeTransaction) (*storage.VolumeTransaction, error)
- func (c *PassthroughClient) GetNode(_ context.Context, nName string) (*utils.Node, error)
- func (c *PassthroughClient) GetNodes(context.Context) ([]*utils.Node, error)
- func (c *PassthroughClient) GetSnapshot(_ context.Context, _, snapshotName string) (*storage.SnapshotPersistent, error)
- func (c *PassthroughClient) GetSnapshots(context.Context) ([]*storage.SnapshotPersistent, error)
- func (c *PassthroughClient) GetStorageClass(_ context.Context, scName string) (*sc.Persistent, error)
- func (c *PassthroughClient) GetStorageClasses(context.Context) ([]*sc.Persistent, error)
- func (c *PassthroughClient) GetTridentUUID(_ context.Context) (string, error)
- func (c *PassthroughClient) GetType() StoreType
- func (c *PassthroughClient) GetVersion(context.Context) (*config.PersistentStateVersion, error)
- func (c *PassthroughClient) GetVolume(_ context.Context, volName string) (*storage.VolumeExternal, error)
- func (c *PassthroughClient) GetVolumePublication(_ context.Context, vpName string) (*utils.VolumePublication, error)
- func (c *PassthroughClient) GetVolumePublications(context.Context) ([]*utils.VolumePublication, error)
- func (c *PassthroughClient) GetVolumeTransactions(context.Context) ([]*storage.VolumeTransaction, error)
- func (c *PassthroughClient) GetVolumes(ctx context.Context) ([]*storage.VolumeExternal, error)
- func (c *PassthroughClient) IsBackendDeleting(context.Context, storage.Backend) bool
- func (c *PassthroughClient) ReplaceBackendAndUpdateVolumes(context.Context, storage.Backend, storage.Backend) error
- func (c *PassthroughClient) SetVersion(context.Context, *config.PersistentStateVersion) error
- func (c *PassthroughClient) Stop() error
- func (c *PassthroughClient) UpdateBackend(ctx context.Context, backend storage.Backend) error
- func (c *PassthroughClient) UpdateBackendPersistent(context.Context, *storage.BackendPersistent) error
- func (c *PassthroughClient) UpdateSnapshot(context.Context, *storage.Snapshot) error
- func (c *PassthroughClient) UpdateVolume(context.Context, *storage.Volume) error
- func (c *PassthroughClient) UpdateVolumePersistent(context.Context, *storage.VolumeExternal) error
- func (c *PassthroughClient) UpdateVolumePublication(context.Context, *utils.VolumePublication) error
- func (c *PassthroughClient) UpdateVolumeTransaction(context.Context, *storage.VolumeTransaction) error
- type StoreType
Constants ¶
const ( KeyNotFoundErr = "Unable to find key" NotSupported = "Unsupported operation" )
const (
BackendSecretSource = "tridentbackends.trident.netapp.io"
)
Variables ¶
This section is empty.
Functions ¶
func IsStatusNotFoundError ¶
func MatchKeyNotFoundErr ¶
Types ¶
type CRDClient ¶
type CRDClient interface { Client HasBackends(ctx context.Context) (bool, error) AddStorageClassPersistent(ctx context.Context, b *storageclass.Persistent) error HasStorageClasses(ctx context.Context) (bool, error) HasVolumes(ctx context.Context) (bool, error) HasVolumeTransactions(ctx context.Context) (bool, error) }
type CRDClientV1 ¶
type CRDClientV1 struct {
// contains filtered or unexported fields
}
CRDClientV1 stores persistent state in CRD objects in Kubernetes
func NewCRDClientV1 ¶
func NewCRDClientV1(masterURL, kubeConfigPath string) (*CRDClientV1, error)
func (*CRDClientV1) AddBackend ¶
AddBackend accepts a Backend object and persists it in a custom resource with all of its sensitive data redacted and written to a corresponding K8S Secret.
func (*CRDClientV1) AddBackendPersistent ¶
func (k *CRDClientV1) AddBackendPersistent(ctx context.Context, backendPersistent *storage.BackendPersistent) error
AddBackendPersistent accepts a BackendPersistent object and persists it in a custom resource with all of its sensitive data redacted and written to a corresponding K8S Secret.
func (*CRDClientV1) AddOrUpdateNode ¶
func (*CRDClientV1) AddSnapshot ¶
func (*CRDClientV1) AddStorageClass ¶
func (k *CRDClientV1) AddStorageClass(ctx context.Context, sc *storageclass.StorageClass) error
func (*CRDClientV1) AddStorageClassPersistent ¶
func (k *CRDClientV1) AddStorageClassPersistent(ctx context.Context, scp *storageclass.Persistent) error
func (*CRDClientV1) AddVolumePersistent ¶
func (k *CRDClientV1) AddVolumePersistent(ctx context.Context, volume *storage.VolumeExternal) error
AddVolumePersistent saves a volume's persistent state to the persistent store
func (*CRDClientV1) AddVolumePublication ¶
func (k *CRDClientV1) AddVolumePublication(ctx context.Context, publication *utils.VolumePublication) error
func (*CRDClientV1) AddVolumeTransaction ¶
func (k *CRDClientV1) AddVolumeTransaction(ctx context.Context, txn *storage.VolumeTransaction) error
func (*CRDClientV1) DeleteBackend ¶
DeleteBackend accepts a Backend object and deletes the custom resource from Kubernetes along with its corresponding secret.
func (*CRDClientV1) DeleteBackends ¶
func (k *CRDClientV1) DeleteBackends(ctx context.Context) error
DeleteBackends deletes all backend custom resources from Kubernetes along with their corresponding secrets.
func (*CRDClientV1) DeleteNode ¶
func (*CRDClientV1) DeleteSnapshot ¶
func (*CRDClientV1) DeleteSnapshotIgnoreNotFound ¶
func (*CRDClientV1) DeleteSnapshots ¶
func (k *CRDClientV1) DeleteSnapshots(ctx context.Context) error
func (*CRDClientV1) DeleteStorageClass ¶
func (k *CRDClientV1) DeleteStorageClass(ctx context.Context, sc *storageclass.StorageClass) error
func (*CRDClientV1) DeleteVolume ¶
func (*CRDClientV1) DeleteVolumeIgnoreNotFound ¶
func (*CRDClientV1) DeleteVolumePublication ¶
func (k *CRDClientV1) DeleteVolumePublication(ctx context.Context, vp *utils.VolumePublication) error
func (*CRDClientV1) DeleteVolumeTransaction ¶
func (k *CRDClientV1) DeleteVolumeTransaction(ctx context.Context, volTxn *storage.VolumeTransaction) error
func (*CRDClientV1) DeleteVolumes ¶
func (k *CRDClientV1) DeleteVolumes(ctx context.Context) error
func (*CRDClientV1) GetBackend ¶
func (k *CRDClientV1) GetBackend(ctx context.Context, backendName string) (*storage.BackendPersistent, error)
GetBackend retrieves the list of backends persisted as custom resources, finds the one with the specified backend name, and returns the BackendPersistent form of the object with all of its sensitive fields filled in from the corresponding K8S secret.
func (*CRDClientV1) GetBackendSecret ¶
func (k *CRDClientV1) GetBackendSecret(ctx context.Context, secretName string) (map[string]string, error)
GetBackendSecret accepts a secret name and retrieves the corresponding secret containing any sensitive data.
func (*CRDClientV1) GetBackends ¶
func (k *CRDClientV1) GetBackends(ctx context.Context) ([]*storage.BackendPersistent, error)
GetBackends retrieves the list of backends persisted as custom resources and returns them as BackendPersistent objects with all of their sensitive fields filled in from their corresponding K8S secrets.
func (*CRDClientV1) GetConfig ¶
func (k *CRDClientV1) GetConfig() *ClientConfig
func (*CRDClientV1) GetExistingVolumeTransaction ¶
func (k *CRDClientV1) GetExistingVolumeTransaction( ctx context.Context, volTxn *storage.VolumeTransaction, ) (*storage.VolumeTransaction, error)
func (*CRDClientV1) GetSnapshot ¶
func (k *CRDClientV1) GetSnapshot(ctx context.Context, volumeName, snapshotName string) ( *storage.SnapshotPersistent, error, )
func (*CRDClientV1) GetSnapshots ¶
func (k *CRDClientV1) GetSnapshots(ctx context.Context) ([]*storage.SnapshotPersistent, error)
func (*CRDClientV1) GetStorageClass ¶
func (k *CRDClientV1) GetStorageClass(ctx context.Context, scName string) (*storageclass.Persistent, error)
func (*CRDClientV1) GetStorageClasses ¶
func (k *CRDClientV1) GetStorageClasses(ctx context.Context) ([]*storageclass.Persistent, error)
func (*CRDClientV1) GetTridentUUID ¶
func (k *CRDClientV1) GetTridentUUID(ctx context.Context) (string, error)
func (*CRDClientV1) GetType ¶
func (k *CRDClientV1) GetType() StoreType
func (*CRDClientV1) GetVersion ¶
func (k *CRDClientV1) GetVersion(ctx context.Context) (*config.PersistentStateVersion, error)
func (*CRDClientV1) GetVolume ¶
func (k *CRDClientV1) GetVolume(ctx context.Context, volName string) (*storage.VolumeExternal, error)
func (*CRDClientV1) GetVolumePublication ¶
func (k *CRDClientV1) GetVolumePublication(ctx context.Context, nName string) (*utils.VolumePublication, error)
func (*CRDClientV1) GetVolumePublications ¶
func (k *CRDClientV1) GetVolumePublications(ctx context.Context) ([]*utils.VolumePublication, error)
func (*CRDClientV1) GetVolumeTransactions ¶
func (k *CRDClientV1) GetVolumeTransactions(ctx context.Context) ([]*storage.VolumeTransaction, error)
func (*CRDClientV1) GetVolumes ¶
func (k *CRDClientV1) GetVolumes(ctx context.Context) ([]*storage.VolumeExternal, error)
func (*CRDClientV1) HasBackends ¶
func (k *CRDClientV1) HasBackends(ctx context.Context) (bool, error)
HasBackends returns true if any backend objects have been persisted as custom resources in the current namespace.
func (*CRDClientV1) HasStorageClasses ¶
func (k *CRDClientV1) HasStorageClasses(ctx context.Context) (bool, error)
func (*CRDClientV1) HasVolumeTransactions ¶
func (k *CRDClientV1) HasVolumeTransactions(ctx context.Context) (bool, error)
func (*CRDClientV1) HasVolumes ¶
func (k *CRDClientV1) HasVolumes(ctx context.Context) (bool, error)
func (*CRDClientV1) IsBackendDeleting ¶
IsBackendDeleting identifies if the backend is a deleting or not based on CR's deletionTimestamp
func (*CRDClientV1) ReplaceBackendAndUpdateVolumes ¶
func (k *CRDClientV1) ReplaceBackendAndUpdateVolumes( ctx context.Context, origBackend, newBackend storage.Backend, ) error
ReplaceBackendAndUpdateVolumes accepts two backend objects (origBackend and newBackend) and uses the new backend object to replace the original one.
func (*CRDClientV1) SetVersion ¶
func (k *CRDClientV1) SetVersion(ctx context.Context, version *config.PersistentStateVersion) error
func (*CRDClientV1) Stop ¶
func (k *CRDClientV1) Stop() error
func (*CRDClientV1) UpdateBackend ¶
UpdateBackend uses a Backend object to update a backend's persistent state
func (*CRDClientV1) UpdateBackendPersistent ¶
func (k *CRDClientV1) UpdateBackendPersistent(ctx context.Context, update *storage.BackendPersistent) error
UpdateBackendPersistent uses a BackendPersistent object to update a backend's persistent state
func (*CRDClientV1) UpdateSnapshot ¶
func (*CRDClientV1) UpdateVolume ¶
func (*CRDClientV1) UpdateVolumePersistent ¶
func (k *CRDClientV1) UpdateVolumePersistent(ctx context.Context, update *storage.VolumeExternal) error
UpdateVolumePersistent updates a volume's persistent state
func (*CRDClientV1) UpdateVolumePublication ¶
func (k *CRDClientV1) UpdateVolumePublication(ctx context.Context, publication *utils.VolumePublication) error
func (*CRDClientV1) UpdateVolumeTransaction ¶
func (k *CRDClientV1) UpdateVolumeTransaction(ctx context.Context, update *storage.VolumeTransaction) error
type Client ¶
type Client interface { GetTridentUUID(ctx context.Context) (string, error) GetVersion(ctx context.Context) (*config.PersistentStateVersion, error) SetVersion(ctx context.Context, version *config.PersistentStateVersion) error GetConfig() *ClientConfig GetType() StoreType Stop() error AddBackend(ctx context.Context, b storage.Backend) error AddBackendPersistent(ctx context.Context, b *storage.BackendPersistent) error GetBackend(ctx context.Context, backendName string) (*storage.BackendPersistent, error) UpdateBackend(ctx context.Context, b storage.Backend) error UpdateBackendPersistent(ctx context.Context, b *storage.BackendPersistent) error DeleteBackend(ctx context.Context, backend storage.Backend) error IsBackendDeleting(ctx context.Context, backend storage.Backend) bool GetBackends(ctx context.Context) ([]*storage.BackendPersistent, error) DeleteBackends(ctx context.Context) error ReplaceBackendAndUpdateVolumes( ctx context.Context, origBackend, newBackend storage.Backend, ) error GetBackendSecret(ctx context.Context, secretName string) (map[string]string, error) AddVolume(ctx context.Context, vol *storage.Volume) error AddVolumePersistent(ctx context.Context, vol *storage.VolumeExternal) error GetVolume(ctx context.Context, volName string) (*storage.VolumeExternal, error) UpdateVolume(ctx context.Context, vol *storage.Volume) error UpdateVolumePersistent(ctx context.Context, vol *storage.VolumeExternal) error DeleteVolume(ctx context.Context, vol *storage.Volume) error DeleteVolumeIgnoreNotFound(ctx context.Context, vol *storage.Volume) error GetVolumes(ctx context.Context) ([]*storage.VolumeExternal, error) DeleteVolumes(ctx context.Context) error AddVolumeTransaction(ctx context.Context, volTxn *storage.VolumeTransaction) error GetVolumeTransactions(ctx context.Context) ([]*storage.VolumeTransaction, error) UpdateVolumeTransaction(ctx context.Context, volTxn *storage.VolumeTransaction) error GetExistingVolumeTransaction(ctx context.Context, volTxn *storage.VolumeTransaction) ( *storage.VolumeTransaction, error, ) DeleteVolumeTransaction(ctx context.Context, volTxn *storage.VolumeTransaction) error AddStorageClass(ctx context.Context, sc *storageclass.StorageClass) error GetStorageClass(ctx context.Context, scName string) (*storageclass.Persistent, error) GetStorageClasses(ctx context.Context) ([]*storageclass.Persistent, error) DeleteStorageClass(ctx context.Context, sc *storageclass.StorageClass) error AddOrUpdateNode(ctx context.Context, n *utils.Node) error GetNode(ctx context.Context, nName string) (*utils.Node, error) GetNodes(ctx context.Context) ([]*utils.Node, error) DeleteNode(ctx context.Context, n *utils.Node) error AddVolumePublication(ctx context.Context, vp *utils.VolumePublication) error UpdateVolumePublication(ctx context.Context, vp *utils.VolumePublication) error GetVolumePublication(ctx context.Context, vpName string) (*utils.VolumePublication, error) GetVolumePublications(ctx context.Context) ([]*utils.VolumePublication, error) DeleteVolumePublication(ctx context.Context, vp *utils.VolumePublication) error AddSnapshot(ctx context.Context, snapshot *storage.Snapshot) error GetSnapshot(ctx context.Context, volumeName, snapshotName string) (*storage.SnapshotPersistent, error) GetSnapshots(ctx context.Context) ([]*storage.SnapshotPersistent, error) UpdateSnapshot(ctx context.Context, snapshot *storage.Snapshot) error DeleteSnapshot(ctx context.Context, snapshot *storage.Snapshot) error DeleteSnapshotIgnoreNotFound(ctx context.Context, snapshot *storage.Snapshot) error DeleteSnapshots(ctx context.Context) error }
type ClientConfig ¶
type DataMigrator ¶
type DataMigrator struct { SourceClient Client DestClient Client // contains filtered or unexported fields }
func NewDataMigrator ¶
func NewDataMigrator(SourceClient, DestClient Client, dryRun bool) *DataMigrator
func (*DataMigrator) Run ¶
func (m *DataMigrator) Run() error
type Error ¶
func NewPersistentStoreError ¶
type InMemoryClient ¶
type InMemoryClient struct {
// contains filtered or unexported fields
}
func NewInMemoryClient ¶
func NewInMemoryClient() *InMemoryClient
func (*InMemoryClient) AddBackend ¶
func (*InMemoryClient) AddBackendPersistent ¶
func (c *InMemoryClient) AddBackendPersistent(_ context.Context, backend *storage.BackendPersistent) error
func (*InMemoryClient) AddOrUpdateNode ¶
func (*InMemoryClient) AddSnapshot ¶
func (*InMemoryClient) AddStorageClass ¶
func (c *InMemoryClient) AddStorageClass(_ context.Context, s *sc.StorageClass) error
func (*InMemoryClient) AddVolumePersistent ¶
func (c *InMemoryClient) AddVolumePersistent(_ context.Context, volume *storage.VolumeExternal) error
AddVolumePersistent saves a volume's persistent state to the persistent store
func (*InMemoryClient) AddVolumePublication ¶
func (c *InMemoryClient) AddVolumePublication(_ context.Context, vp *utils.VolumePublication) error
func (*InMemoryClient) AddVolumeTransaction ¶
func (c *InMemoryClient) AddVolumeTransaction(_ context.Context, volTxn *storage.VolumeTransaction) error
func (*InMemoryClient) DeleteBackend ¶
func (*InMemoryClient) DeleteBackends ¶
func (c *InMemoryClient) DeleteBackends(context.Context) error
func (*InMemoryClient) DeleteNode ¶
func (*InMemoryClient) DeleteSnapshot ¶
DeleteSnapshot deletes a snapshot from the persistent store
func (*InMemoryClient) DeleteSnapshotIgnoreNotFound ¶
func (c *InMemoryClient) DeleteSnapshotIgnoreNotFound(ctx context.Context, snapshot *storage.Snapshot) error
DeleteSnapshotIgnoreNotFound deletes a snapshot from the persistent store, returning no error if the record does not exist.
func (*InMemoryClient) DeleteSnapshots ¶
func (c *InMemoryClient) DeleteSnapshots(context.Context) error
DeleteSnapshots deletes all snapshots
func (*InMemoryClient) DeleteStorageClass ¶
func (c *InMemoryClient) DeleteStorageClass(_ context.Context, s *sc.StorageClass) error
func (*InMemoryClient) DeleteVolume ¶
func (*InMemoryClient) DeleteVolumeIgnoreNotFound ¶
func (*InMemoryClient) DeleteVolumePublication ¶
func (c *InMemoryClient) DeleteVolumePublication(_ context.Context, vp *utils.VolumePublication) error
func (*InMemoryClient) DeleteVolumeTransaction ¶
func (c *InMemoryClient) DeleteVolumeTransaction(_ context.Context, volTxn *storage.VolumeTransaction) error
func (*InMemoryClient) DeleteVolumes ¶
func (c *InMemoryClient) DeleteVolumes(context.Context) error
func (*InMemoryClient) GetBackend ¶
func (c *InMemoryClient) GetBackend(_ context.Context, backendName string) (*storage.BackendPersistent, error)
func (*InMemoryClient) GetBackendSecret ¶
func (*InMemoryClient) GetBackends ¶
func (c *InMemoryClient) GetBackends(context.Context) ([]*storage.BackendPersistent, error)
func (*InMemoryClient) GetConfig ¶
func (c *InMemoryClient) GetConfig() *ClientConfig
func (*InMemoryClient) GetExistingVolumeTransaction ¶
func (c *InMemoryClient) GetExistingVolumeTransaction( _ context.Context, volTxn *storage.VolumeTransaction, ) (*storage.VolumeTransaction, error)
func (*InMemoryClient) GetSnapshot ¶
func (c *InMemoryClient) GetSnapshot(_ context.Context, volumeName, snapshotName string) ( *storage.SnapshotPersistent, error, )
GetSnapshot retrieves a snapshot state from the persistent store
func (*InMemoryClient) GetSnapshots ¶
func (c *InMemoryClient) GetSnapshots(context.Context) ([]*storage.SnapshotPersistent, error)
GetSnapshots retrieves all snapshots for all volumes
func (*InMemoryClient) GetStorageClass ¶
func (c *InMemoryClient) GetStorageClass(_ context.Context, scName string) (*sc.Persistent, error)
func (*InMemoryClient) GetStorageClasses ¶
func (c *InMemoryClient) GetStorageClasses(context.Context) ([]*sc.Persistent, error)
func (*InMemoryClient) GetTridentUUID ¶
func (c *InMemoryClient) GetTridentUUID(_ context.Context) (string, error)
func (*InMemoryClient) GetType ¶
func (c *InMemoryClient) GetType() StoreType
func (*InMemoryClient) GetVersion ¶
func (c *InMemoryClient) GetVersion(context.Context) (*config.PersistentStateVersion, error)
func (*InMemoryClient) GetVolume ¶
func (c *InMemoryClient) GetVolume(_ context.Context, volumeName string) (*storage.VolumeExternal, error)
func (*InMemoryClient) GetVolumePublication ¶
func (c *InMemoryClient) GetVolumePublication(_ context.Context, vpName string) (*utils.VolumePublication, error)
func (*InMemoryClient) GetVolumePublications ¶
func (c *InMemoryClient) GetVolumePublications(context.Context) ([]*utils.VolumePublication, error)
func (*InMemoryClient) GetVolumeTransactions ¶
func (c *InMemoryClient) GetVolumeTransactions(context.Context) ([]*storage.VolumeTransaction, error)
func (*InMemoryClient) GetVolumes ¶
func (c *InMemoryClient) GetVolumes(context.Context) ([]*storage.VolumeExternal, error)
func (*InMemoryClient) IsBackendDeleting ¶
func (*InMemoryClient) ReplaceBackendAndUpdateVolumes ¶
func (c *InMemoryClient) ReplaceBackendAndUpdateVolumes( context.Context, storage.Backend, storage.Backend, ) error
ReplaceBackendAndUpdateVolumes renames a backend and updates all volumes to reflect the new backend name
func (*InMemoryClient) SetVersion ¶
func (c *InMemoryClient) SetVersion(context.Context, *config.PersistentStateVersion) error
func (*InMemoryClient) Stop ¶
func (c *InMemoryClient) Stop() error
func (*InMemoryClient) UpdateBackend ¶
func (*InMemoryClient) UpdateBackendPersistent ¶
func (c *InMemoryClient) UpdateBackendPersistent(_ context.Context, update *storage.BackendPersistent) error
UpdateBackendPersistent updates a backend's persistent state
func (*InMemoryClient) UpdateSnapshot ¶
func (*InMemoryClient) UpdateVolume ¶
func (*InMemoryClient) UpdateVolumePersistent ¶
func (c *InMemoryClient) UpdateVolumePersistent(_ context.Context, volume *storage.VolumeExternal) error
UpdateVolumePersistent updates a volume's persistent state
func (*InMemoryClient) UpdateVolumePublication ¶
func (c *InMemoryClient) UpdateVolumePublication(_ context.Context, vp *utils.VolumePublication) error
func (*InMemoryClient) UpdateVolumeTransaction ¶
func (c *InMemoryClient) UpdateVolumeTransaction(_ context.Context, volTxn *storage.VolumeTransaction) error
type PassthroughClient ¶
type PassthroughClient struct {
// contains filtered or unexported fields
}
func NewPassthroughClient ¶
func NewPassthroughClient(configPath string) (*PassthroughClient, error)
NewPassthroughClient returns a client that satisfies the persistent_store.Client interface, which is used by the orchestrator during bootstrapping. The passthrough store uses the storage as the source of truth, so it doesn't actually store anything. Instead, the store is pre-populated with backend objects from one or more backend config files prior to bootstrapping. The volume info is then read directly from the storage controllers during the bootstrapping process. The passthrough store does not need to persist any objects, including transactions and storage classes, once the orchestrator has started. The passthrough store is primarily useful for the Docker Volume Plugin use case, which doesn't easily support a separate persistence layer and has no support for storage classes.
func (*PassthroughClient) AddBackend ¶
func (*PassthroughClient) AddBackendPersistent ¶
func (c *PassthroughClient) AddBackendPersistent(context.Context, *storage.BackendPersistent) error
func (*PassthroughClient) AddOrUpdateNode ¶
func (*PassthroughClient) AddSnapshot ¶
func (*PassthroughClient) AddStorageClass ¶
func (c *PassthroughClient) AddStorageClass(context.Context, *sc.StorageClass) error
func (*PassthroughClient) AddVolumePersistent ¶
func (c *PassthroughClient) AddVolumePersistent(context.Context, *storage.VolumeExternal) error
AddVolumePersistent saves a volume's persistent state to the persistent store
func (*PassthroughClient) AddVolumePublication ¶
func (c *PassthroughClient) AddVolumePublication(context.Context, *utils.VolumePublication) error
func (*PassthroughClient) AddVolumeTransaction ¶
func (c *PassthroughClient) AddVolumeTransaction(context.Context, *storage.VolumeTransaction) error
func (*PassthroughClient) DeleteBackend ¶
func (*PassthroughClient) DeleteBackends ¶
func (c *PassthroughClient) DeleteBackends(context.Context) error
func (*PassthroughClient) DeleteNode ¶
func (*PassthroughClient) DeleteSnapshot ¶
func (*PassthroughClient) DeleteSnapshotIgnoreNotFound ¶
func (*PassthroughClient) DeleteSnapshots ¶
func (c *PassthroughClient) DeleteSnapshots(context.Context) error
func (*PassthroughClient) DeleteStorageClass ¶
func (c *PassthroughClient) DeleteStorageClass(context.Context, *sc.StorageClass) error
func (*PassthroughClient) DeleteVolume ¶
func (*PassthroughClient) DeleteVolumeIgnoreNotFound ¶
func (*PassthroughClient) DeleteVolumePublication ¶
func (c *PassthroughClient) DeleteVolumePublication(context.Context, *utils.VolumePublication) error
func (*PassthroughClient) DeleteVolumeTransaction ¶
func (c *PassthroughClient) DeleteVolumeTransaction(context.Context, *storage.VolumeTransaction) error
func (*PassthroughClient) DeleteVolumes ¶
func (c *PassthroughClient) DeleteVolumes(context.Context) error
func (*PassthroughClient) GetBackend ¶
func (c *PassthroughClient) GetBackend(ctx context.Context, backendName string) (*storage.BackendPersistent, error)
func (*PassthroughClient) GetBackendSecret ¶
func (*PassthroughClient) GetBackends ¶
func (c *PassthroughClient) GetBackends(context.Context) ([]*storage.BackendPersistent, error)
GetBackends is called by the orchestrator during bootstrapping, so the passthrough store returns the persistent backend objects it read from config files.
func (*PassthroughClient) GetConfig ¶
func (c *PassthroughClient) GetConfig() *ClientConfig
func (*PassthroughClient) GetExistingVolumeTransaction ¶
func (c *PassthroughClient) GetExistingVolumeTransaction( context.Context, *storage.VolumeTransaction, ) (*storage.VolumeTransaction, error)
func (*PassthroughClient) GetSnapshot ¶
func (c *PassthroughClient) GetSnapshot( _ context.Context, _, snapshotName string, ) (*storage.SnapshotPersistent, error)
func (*PassthroughClient) GetSnapshots ¶
func (c *PassthroughClient) GetSnapshots(context.Context) ([]*storage.SnapshotPersistent, error)
GetSnapshots retrieves all snapshots
func (*PassthroughClient) GetStorageClass ¶
func (c *PassthroughClient) GetStorageClass(_ context.Context, scName string) (*sc.Persistent, error)
func (*PassthroughClient) GetStorageClasses ¶
func (c *PassthroughClient) GetStorageClasses(context.Context) ([]*sc.Persistent, error)
func (*PassthroughClient) GetTridentUUID ¶
func (c *PassthroughClient) GetTridentUUID(_ context.Context) (string, error)
func (*PassthroughClient) GetType ¶
func (c *PassthroughClient) GetType() StoreType
func (*PassthroughClient) GetVersion ¶
func (c *PassthroughClient) GetVersion(context.Context) (*config.PersistentStateVersion, error)
func (*PassthroughClient) GetVolume ¶
func (c *PassthroughClient) GetVolume(_ context.Context, volName string) (*storage.VolumeExternal, error)
GetVolume is not called by the orchestrator, which caches all volumes in memory after bootstrapping. So this method need not do anything.
func (*PassthroughClient) GetVolumePublication ¶
func (c *PassthroughClient) GetVolumePublication(_ context.Context, vpName string) (*utils.VolumePublication, error)
func (*PassthroughClient) GetVolumePublications ¶
func (c *PassthroughClient) GetVolumePublications(context.Context) ([]*utils.VolumePublication, error)
func (*PassthroughClient) GetVolumeTransactions ¶
func (c *PassthroughClient) GetVolumeTransactions(context.Context) ([]*storage.VolumeTransaction, error)
func (*PassthroughClient) GetVolumes ¶
func (c *PassthroughClient) GetVolumes(ctx context.Context) ([]*storage.VolumeExternal, error)
GetVolumes gets up-to-date volume info from each storage backend. To increase efficiency, it contacts each backend in a separate goroutine. Because multiple backends may be managed by the orchestrator, the passthrough layer should remain as responsive as possible even if a backend is unavailable or returns an error during volume discovery.
func (*PassthroughClient) IsBackendDeleting ¶
func (*PassthroughClient) ReplaceBackendAndUpdateVolumes ¶
func (c *PassthroughClient) ReplaceBackendAndUpdateVolumes( context.Context, storage.Backend, storage.Backend, ) error
ReplaceBackendAndUpdateVolumes renames a backend and updates all volumes to reflect the new backend name
func (*PassthroughClient) SetVersion ¶
func (c *PassthroughClient) SetVersion(context.Context, *config.PersistentStateVersion) error
func (*PassthroughClient) Stop ¶
func (c *PassthroughClient) Stop() error
func (*PassthroughClient) UpdateBackend ¶
func (*PassthroughClient) UpdateBackendPersistent ¶
func (c *PassthroughClient) UpdateBackendPersistent(context.Context, *storage.BackendPersistent) error
UpdateBackendPersistent updates a backend's persistent state
func (*PassthroughClient) UpdateSnapshot ¶
func (*PassthroughClient) UpdateVolume ¶
func (*PassthroughClient) UpdateVolumePersistent ¶
func (c *PassthroughClient) UpdateVolumePersistent(context.Context, *storage.VolumeExternal) error
UpdateVolumePersistent updates a volume's persistent state
func (*PassthroughClient) UpdateVolumePublication ¶
func (c *PassthroughClient) UpdateVolumePublication(context.Context, *utils.VolumePublication) error
func (*PassthroughClient) UpdateVolumeTransaction ¶
func (c *PassthroughClient) UpdateVolumeTransaction(context.Context, *storage.VolumeTransaction) error
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
crd
|
|
apis/netapp/v1
This package has the automatically generated clientset.
|
This package has the automatically generated clientset. |
client/clientset/versioned
This package has the automatically generated clientset.
|
This package has the automatically generated clientset. |
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
|
This package has the automatically generated fake clientset. |
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
|
This package contains the scheme of the automatically generated clientset. |
client/clientset/versioned/typed/netapp/v1
This package has the automatically generated typed clients.
|
This package has the automatically generated typed clients. |
client/clientset/versioned/typed/netapp/v1/fake
Package fake has the automatically generated clients.
|
Package fake has the automatically generated clients. |