Documentation ¶
Index ¶
Constants ¶
View Source
const ( VolumeTypeTier1 = "tier1" VolumeTypeTier3 = "tier3" )
PowerVS volume types
View Source
const ( // DefaultVolumeSize represents the default volume size. DefaultVolumeSize int64 = 10 * util.GiB // DefaultVolumeType specifies which storage to use for newly created Volumes. DefaultVolumeType = VolumeTypeTier1 )
Defaults
View Source
const ( PollTimeout = 120 * time.Second PollInterval = 5 * time.Second VolumeInUseState = "in-use" VolumeAvailableState = "available" )
View Source
const ( PowerVSInstanceStateSHUTOFF = "SHUTOFF" PowerVSInstanceStateACTIVE = "ACTIVE" PowerVSInstanceStateERROR = "ERROR" PowerVSInstanceHealthWARNING = "WARNING" PowerVSInstanceHealthOK = "OK" StoragePoolAffinity = false )
View Source
const (
ProviderIDValidLength = 6
)
Variables ¶
View Source
var ( // ErrNotFound is returned when a resource is not found. ErrNotFound = errors.New("resource was not found") // ErrAlreadyExists is returned when a resource is already existent. ErrAlreadyExists = errors.New("resource already exists") )
View Source
var DefaultKubernetesAPIClient = func(kubeconfig string) (kubernetes.Interface, error) { config, err := clientcmd.BuildConfigFromFlags("", kubeconfig) if err != nil { return nil, err } return kubernetes.NewForConfig(config) }
Get default kubernetes API client
View Source
var ( ValidVolumeTypes = []string{ VolumeTypeTier1, VolumeTypeTier3, } )
Functions ¶
This section is empty.
Types ¶
type Cloud ¶
type Cloud interface { CreateDisk(volumeName string, diskOptions *DiskOptions) (disk *Disk, err error) DeleteDisk(volumeID string) (err error) AttachDisk(volumeID string, nodeID string) (err error) DetachDisk(volumeID string, nodeID string) (err error) ResizeDisk(volumeID string, reqSize int64) (newSize int64, err error) WaitForVolumeState(volumeID, state string) error GetDiskByName(name string) (disk *Disk, err error) GetDiskByID(volumeID string) (disk *Disk, err error) GetPVMInstanceByName(instanceName string) (instance *PVMInstance, err error) GetPVMInstanceByID(instanceID string) (instance *PVMInstance, err error) GetPVMInstanceDetails(instanceID string) (*models.PVMInstance, error) UpdateStoragePoolAffinity(instanceID string) error IsAttached(volumeID string, nodeID string) (err error) }
type DiskOptions ¶
type DiskOptions struct { bool //CapacityGigaBytes float64 CapacityBytes int64 VolumeType string }Shareable
DiskOptions represents parameters to create an PowerVS volume
type KubernetesAPIClient ¶
type KubernetesAPIClient func(kubeconfig string) (kubernetes.Interface, error)
type Metadata ¶
type Metadata struct {
// contains filtered or unexported fields
}
Metadata is info about the instance on which the driver is running
func GetInstanceInfoFromProviderID ¶
func GetInstanceInfoFromProviderID(clientset kubernetes.Interface, nodeName string) (*Metadata, error)
func KubernetesAPIInstanceInfo ¶
func KubernetesAPIInstanceInfo(clientset kubernetes.Interface) (*Metadata, error)
Get instance info from kubernetes API
func TokenizeProviderID ¶ added in v0.2.0
TokenizeProviderID tokenizes the provider id into Metadata structure ProviderID format: ibmpowervs://<region>/<zone>/<service_instance_id>/<powervs_machine_id>
func (*Metadata) GetCloudInstanceId ¶
GetCloudInstanceId returns cloud instance id of the instance
func (*Metadata) GetPvmInstanceId ¶
GetPvmInstanceId returns pvm instance id of the instance
type MetadataService ¶
type MetadataService interface { GetRegion() string GetZone() string GetCloudInstanceId() string GetPvmInstanceId() string }
MetadataService represents Power VS metadata service.
func NewMetadataService ¶
func NewMetadataService(k8sAPIClient KubernetesAPIClient, kubeconfig string) (MetadataService, error)
Get New Metadata Service
type NodeUpdateScope ¶
func NewNodeUpdateScope ¶
func NewNodeUpdateScope(params NodeUpdateScopeParams) (scope *NodeUpdateScope, err error)
type NodeUpdateScopeParams ¶
type PVMInstance ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.