Versions in this module Expand all Collapse all v1 v1.1.0 Mar 14, 2022 v1.0.0 Jun 3, 2021 v0 v0.9.0 Jun 23, 2020 Changes in this version + const ProviderName + const ServiceAnnotationLoadBalancerFloatingNetworkID + const ServiceAnnotationLoadBalancerInternal + const ServiceAnnotationLoadBalancerSubnetID + const TypeHostName + var ErrBadMetadata = errors.New("invalid OpenStack metadata, got empty uuid") + var ErrMultipleResults = errors.New("multiple results where only one expected") + var ErrNoAddressFound = errors.New("no address found for host") + var ErrNotFound = errors.New("failed to find object") + func NewRoutes(compute *gophercloud.ServiceClient, network *gophercloud.ServiceClient, ...) (cloudprovider.Routes, error) + type BlockStorageOpts struct + BSVersion string + IgnoreVolumeAZ bool + TrustDevicePath bool + type Config struct + BlockStorage BlockStorageOpts + Global struct{ ... } + LoadBalancer LoadBalancerOpts + Metadata MetadataOpts + Route RouterOpts + type DeviceMetadata struct + Address string + Bus string + Serial string + Type string + type Instances struct + func (i *Instances) AddSSHKeyToAllInstances(ctx context.Context, user string, keyData []byte) error + func (i *Instances) CurrentNodeName(ctx context.Context, hostname string) (types.NodeName, error) + func (i *Instances) InstanceExistsByProviderID(ctx context.Context, providerID string) (bool, error) + func (i *Instances) InstanceID(ctx context.Context, name types.NodeName) (string, error) + func (i *Instances) InstanceShutdownByProviderID(ctx context.Context, providerID string) (bool, error) + func (i *Instances) InstanceType(ctx context.Context, name types.NodeName) (string, error) + func (i *Instances) InstanceTypeByProviderID(ctx context.Context, providerID string) (string, error) + func (i *Instances) NodeAddresses(ctx context.Context, name types.NodeName) ([]v1.NodeAddress, error) + func (i *Instances) NodeAddressesByProviderID(ctx context.Context, providerID string) ([]v1.NodeAddress, error) + type LbaasV2 struct + func (lbaas *LbaasV2) EnsureLoadBalancer(ctx context.Context, clusterName string, apiService *v1.Service, ...) (*v1.LoadBalancerStatus, error) + func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(ctx context.Context, clusterName string, service *v1.Service) error + func (lbaas *LbaasV2) EnsureSecurityGroupDeleted(clusterName string, service *v1.Service) error + func (lbaas *LbaasV2) GetLoadBalancer(ctx context.Context, clusterName string, service *v1.Service) (*v1.LoadBalancerStatus, bool, error) + func (lbaas *LbaasV2) GetLoadBalancerName(ctx context.Context, clusterName string, service *v1.Service) string + func (lbaas *LbaasV2) UpdateLoadBalancer(ctx context.Context, clusterName string, service *v1.Service, nodes []*v1.Node) error + type LoadBalancer struct + type LoadBalancerOpts struct + CreateMonitor bool + FloatingNetworkID string + LBMethod string + LBProvider string + LBVersion string + ManageSecurityGroups bool + MonitorDelay MyDuration + MonitorMaxRetries uint + MonitorTimeout MyDuration + NodeSecurityGroupIDs []string + SubnetID string + UseOctavia bool + type Metadata struct + AvailabilityZone string + Devices []DeviceMetadata + Name string + UUID string + type MetadataOpts struct + RequestTimeout MyDuration + SearchOrder string + type MyDuration struct + func (d *MyDuration) UnmarshalText(text []byte) error + type OpenStack struct + func (os *OpenStack) AttachDisk(instanceID, volumeID string) (string, error) + func (os *OpenStack) Clusters() (cloudprovider.Clusters, bool) + func (os *OpenStack) CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, string, bool, error) + func (os *OpenStack) DeleteVolume(volumeID string) error + func (os *OpenStack) DetachDisk(instanceID, volumeID string) error + func (os *OpenStack) DiskIsAttached(instanceID, volumeID string) (bool, error) + func (os *OpenStack) DiskIsAttachedByName(nodeName types.NodeName, volumeID string) (bool, string, error) + func (os *OpenStack) DisksAreAttached(instanceID string, volumeIDs []string) (map[string]bool, error) + func (os *OpenStack) DisksAreAttachedByName(nodeName types.NodeName, volumeIDs []string) (map[string]bool, error) + func (os *OpenStack) ExpandVolume(volumeID string, oldSize resource.Quantity, newSize resource.Quantity) (resource.Quantity, error) + func (os *OpenStack) GetAttachmentDiskPath(instanceID, volumeID string) (string, error) + func (os *OpenStack) GetDevicePath(volumeID string) string + func (os *OpenStack) GetDevicePathBySerialID(volumeID string) string + func (os *OpenStack) GetLabelsForVolume(ctx context.Context, pv *v1.PersistentVolume) (map[string]string, error) + func (os *OpenStack) GetNodeNameByID(instanceID string) (types.NodeName, error) + func (os *OpenStack) GetZone(ctx context.Context) (cloudprovider.Zone, error) + func (os *OpenStack) GetZoneByNodeName(ctx context.Context, nodeName types.NodeName) (cloudprovider.Zone, error) + func (os *OpenStack) GetZoneByProviderID(ctx context.Context, providerID string) (cloudprovider.Zone, error) + func (os *OpenStack) HasClusterID() bool + func (os *OpenStack) Initialize(clientBuilder cloudprovider.ControllerClientBuilder, stop <-chan struct{}) + func (os *OpenStack) InstanceID() (string, error) + func (os *OpenStack) Instances() (cloudprovider.Instances, bool) + func (os *OpenStack) LoadBalancer() (cloudprovider.LoadBalancer, bool) + func (os *OpenStack) NewBlockStorageV1() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewBlockStorageV2() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewBlockStorageV3() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewComputeV2() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewLoadBalancerV2() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewNetworkV2() (*gophercloud.ServiceClient, error) + func (os *OpenStack) OperationPending(diskName string) (bool, string, error) + func (os *OpenStack) ProviderName() string + func (os *OpenStack) Routes() (cloudprovider.Routes, bool) + func (os *OpenStack) ShouldTrustDevicePath() bool + func (os *OpenStack) Zones() (cloudprovider.Zones, bool) + type RouterOpts struct + RouterID string + type Routes struct + func (r *Routes) CreateRoute(ctx context.Context, clusterName string, nameHint string, ...) error + func (r *Routes) DeleteRoute(ctx context.Context, clusterName string, route *cloudprovider.Route) error + func (r *Routes) ListRoutes(ctx context.Context, clusterName string) ([]*cloudprovider.Route, error) + type Volume struct + AttachedDevice string + AttachedServerID string + AvailabilityZone string + ID string + Name string + Size int + Status string + type VolumesV1 struct + type VolumesV2 struct + type VolumesV3 struct