rackspace

package
v1.8.6 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2017 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) InstanceExistsByProviderID added in v1.8.0

func (i *Instances) InstanceExistsByProviderID(providerID string) (bool, error)

InstanceExistsByProviderID returns true if the instance with the given provider id still exists and is running. If false is returned with no error, the instance will be immediately deleted by the cloud controller manager.

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 added in v1.2.0

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

InstanceType returns the type of the specified instance.

func (*Instances) InstanceTypeByProviderID added in v1.7.0

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 added in v1.7.0

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 added in v1.3.0

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 added in v1.3.0

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 added in v1.3.0

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 added in v1.3.0

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

func (*Rackspace) DetachDisk added in v1.3.0

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

Detaches given cinder volume from the compute running kubelet

func (*Rackspace) DiskIsAttached added in v1.3.0

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

query if a volume is attached to a compute instance

func (*Rackspace) DisksAreAttached added in v1.4.6

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 added in v1.3.0

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 added in v1.3.0

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) GetZoneByNodeName added in v1.8.0

func (os *Rackspace) GetZoneByNodeName(nodeName types.NodeName) (cloudprovider.Zone, error)

GetZoneByNodeName implements Zones.GetZoneByNodeName This is particularly useful in external cloud providers where the kubelet does not initialize node data.

func (*Rackspace) GetZoneByProviderID added in v1.8.0

func (os *Rackspace) GetZoneByProviderID(providerID string) (cloudprovider.Zone, error)

GetZoneByProviderID implements Zones.GetZoneByProviderID This is particularly useful in external cloud providers where the kubelet does not initialize node data.

func (*Rackspace) HasClusterID added in v1.8.0

func (os *Rackspace) HasClusterID() bool

HasClusterID returns true if the cluster has a clusterID

func (*Rackspace) Initialize added in v1.7.0

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

Initialize passes a Kubernetes clientBuilder interface to the cloud provider

func (*Rackspace) InstanceID added in v1.3.0

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 added in v1.2.0

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

func (*Rackspace) OperationPending added in v1.7.0

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 added in v1.1.1

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

ScrubDNS filters DNS settings for pods.

func (*Rackspace) ShouldTrustDevicePath added in v1.5.0

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