Documentation ¶
Index ¶
Constants ¶
const (
// GPULabel is the label added to nodes with GPU resource.
GPULabel = "magnum.openstack.org/gpu"
)
Variables ¶
This section is empty.
Functions ¶
func BuildMagnum ¶
func BuildMagnum(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter) cloudprovider.CloudProvider
BuildMagnum is called by the autoscaler to build a magnum cloud provider.
The magnumManager is created here, and the initial node groups are created based on the static or auto discovery specs provided via the command line parameters.
Types ¶
type BlockStorageOpts ¶
type BlockStorageOpts struct { BSVersion string `gcfg:"bs-version"` // overrides autodetection. v1 or v2. Defaults to auto TrustDevicePath bool `gcfg:"trust-device-path"` // See Issue #33128 IgnoreVolumeAZ bool `gcfg:"ignore-volume-az"` NodeVolumeAttachLimit int `gcfg:"node-volume-attach-limit"` // override volume attach limit for Cinder. Default is : 256 }
BlockStorageOpts is used to talk to Cinder service
type Config ¶
type Config struct { Global struct { AuthURL string `gcfg:"auth-url"` Username string UserID string `gcfg:"user-id"` Password string TenantID string `gcfg:"tenant-id"` TenantName string `gcfg:"tenant-name"` TrustID string `gcfg:"trust-id"` DomainID string `gcfg:"domain-id"` DomainName string `gcfg:"domain-name"` Region string CAFile string `gcfg:"ca-file"` TLSInsecure string `gcfg:"tls-insecure"` SecretName string `gcfg:"secret-name"` SecretNamespace string `gcfg:"secret-namespace"` } LoadBalancer LoadBalancerOpts BlockStorage BlockStorageOpts Route RouterOpts Metadata MetadataOpts }
Config is used to read and store information from the cloud configuration file
Taken from kubernetes/pkg/cloudprovider/providers/openstack/openstack.go LoadBalancer, BlockStorage, Route, Metadata are not needed for the autoscaler, but are kept so that if a cloud-config file with those sections is provided then the parsing will not fail.
type LoadBalancerOpts ¶
type LoadBalancerOpts struct { LBVersion string `gcfg:"lb-version"` // overrides autodetection. Only support v2. UseOctavia bool `gcfg:"use-octavia"` // uses Octavia V2 service catalog endpoint SubnetID string `gcfg:"subnet-id"` // overrides autodetection. FloatingNetworkID string `gcfg:"floating-network-id"` // If specified, will create floating ip for loadbalancer, or do not create floating ip. LBMethod string `gcfg:"lb-method"` // default to ROUND_ROBIN. LBProvider string `gcfg:"lb-provider"` CreateMonitor bool `gcfg:"create-monitor"` MonitorDelay MyDuration `gcfg:"monitor-delay"` MonitorTimeout MyDuration `gcfg:"monitor-timeout"` MonitorMaxRetries uint `gcfg:"monitor-max-retries"` ManageSecurityGroups bool `gcfg:"manage-security-groups"` NodeSecurityGroupIDs []string // Do not specify, get it automatically when enable manage-security-groups. TODO(FengyunPan): move it into cache }
LoadBalancerOpts have the options to talk to Neutron LBaaSV2 or Octavia
type MetadataOpts ¶
type MetadataOpts struct { SearchOrder string `gcfg:"search-order"` RequestTimeout MyDuration `gcfg:"request-timeout"` }
MetadataOpts is used for configuring how to talk to metadata service or config drive
type MyDuration ¶
MyDuration is the encoding.TextUnmarshaler interface for time.Duration
func (*MyDuration) UnmarshalText ¶
func (d *MyDuration) UnmarshalText(text []byte) error
UnmarshalText is used to convert from text to Duration
type NodeRef ¶
NodeRef stores the name, systemUUID and providerID of a node. For refs which are created from fake nodes, IsFake should be true.
type RouterOpts ¶
type RouterOpts struct {
RouterID string `gcfg:"router-id"` // required
}
RouterOpts is used for Neutron routes
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package gophercloud provides a multi-vendor interface to OpenStack-compatible clouds.
|
Package gophercloud provides a multi-vendor interface to OpenStack-compatible clouds. |
openstack
Package openstack contains resources for the individual OpenStack projects supported in Gophercloud.
|
Package openstack contains resources for the individual OpenStack projects supported in Gophercloud. |
openstack/containerinfra/apiversions
Package apiversions provides information and interaction with the different API versions for the Container Infra service, code-named Magnum.
|
Package apiversions provides information and interaction with the different API versions for the Container Infra service, code-named Magnum. |
openstack/containerinfra/v1/clusters
Package clusters contains functionality for working with Magnum Cluster resources.
|
Package clusters contains functionality for working with Magnum Cluster resources. |
openstack/containerinfra/v1/nodegroups
Package nodegroups provides methods for interacting with the Magnum node group API.
|
Package nodegroups provides methods for interacting with the Magnum node group API. |
openstack/identity/v2/tenants
Package tenants provides information and interaction with the tenants API resource for the OpenStack Identity service.
|
Package tenants provides information and interaction with the tenants API resource for the OpenStack Identity service. |
openstack/identity/v2/tokens
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
|
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service. |
openstack/identity/v3/extensions/trusts
Package trusts enables management of OpenStack Identity Trusts.
|
Package trusts enables management of OpenStack Identity Trusts. |
openstack/identity/v3/tokens
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
|
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service. |
openstack/orchestration/v1/stackresources
Package stackresources provides operations for working with stack resources.
|
Package stackresources provides operations for working with stack resources. |
openstack/orchestration/v1/stacks
Package stacks provides operation for working with Heat stacks.
|
Package stacks provides operation for working with Heat stacks. |
pagination
Package pagination contains utilities and convenience structs that implement common pagination idioms within OpenStack APIs.
|
Package pagination contains utilities and convenience structs that implement common pagination idioms within OpenStack APIs. |
testhelper
Package testhelper container methods that are useful for writing unit tests.
|
Package testhelper container methods that are useful for writing unit tests. |