rackspace

package
v0.0.0-...-8a55389 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2022 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProviderName          = "rackspace"
	MetaDataPath          = "/media/configdrive/openstack/latest/meta_data.json"
	VolumeAvailableStatus = "available"
	VolumeInUseStatus     = "in-use"
	VolumeErrorStatus     = "error"
)

Variables

View Source
var ErrAttrNotFound = errors.New("Expected attribute not found")
View Source
var ErrMultipleResults = errors.New("Multiple results where only one expected")
View Source
var ErrNoAddressFound = errors.New("No address found for host")
View Source
var ErrNotFound = errors.New("Failed to find object")

Functions

This section is empty.

Types

type Config

type Config struct {
	Global struct {
		AuthUrl    string `gcfg:"auth-url"`
		Username   string
		UserId     string `gcfg:"user-id"`
		Password   string
		ApiKey     string `gcfg:"api-key"`
		TenantId   string `gcfg:"tenant-id"`
		TenantName string `gcfg:"tenant-name"`
		DomainId   string `gcfg:"domain-id"`
		DomainName string `gcfg:"domain-name"`
		Region     string
	}
	LoadBalancer LoadBalancerOpts
}

type Instances

type Instances struct {
	// contains filtered or unexported fields
}

func (*Instances) AddSSHKeyToAllInstances

func (i *Instances) AddSSHKeyToAllInstances(user string, keyData []byte) error

func (*Instances) CurrentNodeName

func (i *Instances) CurrentNodeName(hostname string) (types.NodeName, error)

Implementation of Instances.CurrentNodeName

func (*Instances) ExternalID

func (i *Instances) ExternalID(nodeName types.NodeName) (string, error)

ExternalID returns the cloud provider ID of the node with the specified Name (deprecated).

func (*Instances) InstanceID

func (i *Instances) InstanceID(nodeName types.NodeName) (string, error)

InstanceID returns the cloud provider ID of the node with the specified Name.

func (*Instances) InstanceType

func (i *Instances) InstanceType(name types.NodeName) (string, error)

InstanceType returns the type of the specified instance.

func (*Instances) InstanceTypeByProviderID

func (i *Instances) InstanceTypeByProviderID(providerID string) (string, error)

InstanceTypeByProviderID returns the cloudprovider instance type of the node with the specified unique providerID This method will not be called from the node that is requesting this ID. i.e. metadata service and other local methods cannot be used here

func (*Instances) NodeAddresses

func (i *Instances) NodeAddresses(nodeName types.NodeName) ([]v1.NodeAddress, error)

func (*Instances) NodeAddressesByProviderID

func (i *Instances) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddress, error)

NodeAddressesByProviderID returns the node addresses of an instances with the specified unique providerID This method will not be called from the node that is requesting this ID. i.e. metadata service and other local methods cannot be used here

type LoadBalancerOpts

type LoadBalancerOpts struct {
	SubnetId          string     `gcfg:"subnet-id"` // required
	CreateMonitor     bool       `gcfg:"create-monitor"`
	MonitorDelay      MyDuration `gcfg:"monitor-delay"`
	MonitorTimeout    MyDuration `gcfg:"monitor-timeout"`
	MonitorMaxRetries uint       `gcfg:"monitor-max-retries"`
}

type MetaData

type MetaData struct {
	UUID string `json:"uuid"`
	Name string `json:"name"`
}

type MyDuration

type MyDuration struct {
	time.Duration
}

encoding.TextUnmarshaler interface for time.Duration

func (*MyDuration) UnmarshalText

func (d *MyDuration) UnmarshalText(text []byte) error

type Rackspace

type Rackspace struct {
	// contains filtered or unexported fields
}

Rackspace is an implementation of cloud provider Interface for Rackspace.

func (*Rackspace) AttachDisk

func (rs *Rackspace) AttachDisk(instanceID, volumeID string) (string, error)

Attaches given cinder volume to the compute running kubelet

func (*Rackspace) Clusters

func (os *Rackspace) Clusters() (cloudprovider.Clusters, bool)

func (*Rackspace) CreateVolume

func (rs *Rackspace) CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, error)

Create a volume of given size (in GiB)

func (*Rackspace) DeleteVolume

func (rs *Rackspace) DeleteVolume(volumeID string) error

func (*Rackspace) DetachDisk

func (rs *Rackspace) DetachDisk(instanceID, volumeID string) error

Detaches given cinder volume from the compute running kubelet

func (*Rackspace) DiskIsAttached

func (rs *Rackspace) DiskIsAttached(instanceID, volumeID string) (bool, error)

query if a volume is attached to a compute instance

func (*Rackspace) DisksAreAttached

func (rs *Rackspace) DisksAreAttached(instanceID string, volumeIDs []string) (map[string]bool, error)

query if a list volumes are attached to a compute instance

func (*Rackspace) GetAttachmentDiskPath

func (rs *Rackspace) GetAttachmentDiskPath(instanceID, volumeID string) (string, error)

Get device path of attached volume to the compute running kubelet, as known by cinder

func (*Rackspace) GetDevicePath

func (rs *Rackspace) GetDevicePath(volumeID string) string

GetDevicePath returns the path of an attached block storage volume, specified by its id.

func (*Rackspace) GetZone

func (os *Rackspace) GetZone() (cloudprovider.Zone, error)

func (*Rackspace) HasClusterID

func (os *Rackspace) HasClusterID() bool

HasClusterID returns true if the cluster has a clusterID

func (*Rackspace) Initialize

func (os *Rackspace) Initialize(clientBuilder controller.ControllerClientBuilder)

Initialize passes a Kubernetes clientBuilder interface to the cloud provider

func (*Rackspace) InstanceID

func (rs *Rackspace) InstanceID() (string, error)

InstanceID returns the cloud provider ID of the kubelet's instance.

func (*Rackspace) Instances

func (os *Rackspace) Instances() (cloudprovider.Instances, bool)

Instances returns an implementation of Instances for Rackspace.

func (*Rackspace) LoadBalancer

func (os *Rackspace) LoadBalancer() (cloudprovider.LoadBalancer, bool)

func (*Rackspace) OperationPending

func (rs *Rackspace) OperationPending(diskName string) (bool, string, error)

func (*Rackspace) ProviderName

func (os *Rackspace) ProviderName() string

ProviderName returns the cloud provider ID.

func (*Rackspace) Routes

func (os *Rackspace) Routes() (cloudprovider.Routes, bool)

func (*Rackspace) ScrubDNS

func (os *Rackspace) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []string)

ScrubDNS filters DNS settings for pods.

func (*Rackspace) ShouldTrustDevicePath

func (rs *Rackspace) ShouldTrustDevicePath() bool

query if we should trust the cinder provide deviceName, See issue #33128

func (*Rackspace) Zones

func (os *Rackspace) Zones() (cloudprovider.Zones, bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL