Documentation
¶
Index ¶
- Constants
- type APIConfig
- type Cloud
- func (v *Cloud) AddSSHKeyToAllInstances(ctx context.Context, user string, keyData []byte) error
- func (v *Cloud) Clusters() (cloudprovider.Clusters, bool)
- func (v *Cloud) CurrentNodeName(ctx context.Context, hostname string) (types.NodeName, error)
- func (v *Cloud) HasClusterID() bool
- func (v *Cloud) Initialize(clientBuilder cloudprovider.ControllerClientBuilder, stop <-chan struct{})
- func (v *Cloud) InstanceExistsByProviderID(ctx context.Context, providerID string) (bool, error)
- func (v *Cloud) InstanceID(ctx context.Context, nodeName types.NodeName) (string, error)
- func (v *Cloud) InstanceShutdownByProviderID(ctx context.Context, providerID string) (bool, error)
- func (v *Cloud) InstanceType(ctx context.Context, name types.NodeName) (string, error)
- func (v *Cloud) InstanceTypeByProviderID(ctx context.Context, providerID string) (string, error)
- func (v *Cloud) Instances() (cloudprovider.Instances, bool)
- func (v *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
- func (v *Cloud) NodeAddresses(ctx context.Context, nodeName types.NodeName) ([]v1.NodeAddress, error)
- func (v *Cloud) NodeAddressesByProviderID(ctx context.Context, providerID string) ([]v1.NodeAddress, error)
- func (v *Cloud) ProviderName() string
- func (v *Cloud) Routes() (cloudprovider.Routes, bool)
- func (v *Cloud) Zones() (cloudprovider.Zones, bool)
- type Instance
- type InstanceMap
- type XMLVMAddress
- type XMLVMInfo
- type XMLVmsList
Constants ¶
const ProviderName = "ovirt"
ProviderName is the name of this cloud provider.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIConfig ¶ added in v1.14.0
type APIConfig struct {
Connection struct {
APIEntry string `gcfg:"uri"`
Username string `gcfg:"username"`
Password string `gcfg:"password"`
}
Filters struct {
VmsQuery string `gcfg:"vms"`
}
}
APIConfig wraps the api settings for the Ovirt.
type Cloud ¶ added in v1.14.0
type Cloud struct {
VmsRequest *url.URL
HostsRequest *url.URL
}
Cloud is an implementation of the cloud provider interface for Ovirt.
func (*Cloud) AddSSHKeyToAllInstances ¶ added in v1.14.0
func (v *Cloud) AddSSHKeyToAllInstances(ctx context.Context, user string, keyData []byte) error
AddSSHKeyToAllInstances is currently not implemented.
func (*Cloud) Clusters ¶ added in v1.14.0
func (v *Cloud) Clusters() (cloudprovider.Clusters, bool)
Clusters returns the list of clusters.
func (*Cloud) CurrentNodeName ¶ added in v1.14.0
func (v *Cloud) CurrentNodeName(ctx context.Context, hostname string) (types.NodeName, error)
CurrentNodeName is implementation of Instances.CurrentNodeName.
func (*Cloud) HasClusterID ¶ added in v1.14.0
func (v *Cloud) HasClusterID() bool
HasClusterID returns true if the cluster has a clusterID
func (*Cloud) Initialize ¶ added in v1.14.0
func (v *Cloud) Initialize(clientBuilder cloudprovider.ControllerClientBuilder, stop <-chan struct{})
Initialize passes a Kubernetes clientBuilder interface to the cloud provider
func (*Cloud) InstanceExistsByProviderID ¶ added in v1.14.0
func (v *Cloud) InstanceExistsByProviderID(ctx context.Context, 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 (*Cloud) InstanceID ¶ added in v1.14.0
func (v *Cloud) InstanceID(ctx context.Context, nodeName types.NodeName) (string, error)
InstanceID returns the cloud provider ID of the node with the specified NodeName.
func (*Cloud) InstanceShutdownByProviderID ¶ added in v1.14.0
func (v *Cloud) InstanceShutdownByProviderID(ctx context.Context, providerID string) (bool, error)
InstanceShutdownByProviderID returns true if the instance is in safe state to detach volumes
func (*Cloud) InstanceType ¶ added in v1.14.0
func (v *Cloud) InstanceType(ctx context.Context, name types.NodeName) (string, error)
InstanceType returns the type of the specified instance.
func (*Cloud) InstanceTypeByProviderID ¶ added in v1.14.0
func (v *Cloud) InstanceTypeByProviderID(ctx context.Context, 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 (*Cloud) Instances ¶ added in v1.14.0
func (v *Cloud) Instances() (cloudprovider.Instances, bool)
Instances returns an implementation of Instances for oVirt cloud
func (*Cloud) LoadBalancer ¶ added in v1.14.0
func (v *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
LoadBalancer returns an implementation of LoadBalancer for oVirt cloud
func (*Cloud) NodeAddresses ¶ added in v1.14.0
func (v *Cloud) NodeAddresses(ctx context.Context, nodeName types.NodeName) ([]v1.NodeAddress, error)
NodeAddresses returns the NodeAddresses of the instance with the specified nodeName.
func (*Cloud) NodeAddressesByProviderID ¶ added in v1.14.0
func (v *Cloud) NodeAddressesByProviderID(ctx context.Context, 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
func (*Cloud) ProviderName ¶ added in v1.14.0
func (v *Cloud) ProviderName() string
ProviderName returns the cloud provider ID.
type Instance ¶ added in v1.14.0
type Instance struct {
UUID string
Name string
IPAddress string
}
Instance specifies UUID, name and IP address of the instance.
type InstanceMap ¶ added in v1.14.0
type InstanceMap map[string]Instance
InstanceMap provides the map of Ovirt instances.
func (*InstanceMap) ListSortedNames ¶ added in v1.14.0
func (m *InstanceMap) ListSortedNames() []string
ListSortedNames returns the list of sorted Ovirt instances name.
type XMLVMAddress ¶ added in v1.14.0
type XMLVMAddress struct {
Address string `xml:"address,attr"`
}
XMLVMAddress is an implementation for the Ovirt instance IP address in xml.
type XMLVMInfo ¶ added in v1.14.0
type XMLVMInfo struct {
UUID string `xml:"id,attr"`
Name string `xml:"name"`
Hostname string `xml:"guest_info>fqdn"`
Addresses []XMLVMAddress `xml:"guest_info>ips>ip"`
State string `xml:"status>state"`
}
XMLVMInfo is an implementation for the Ovirt instance details in xml.
type XMLVmsList ¶ added in v1.14.0
type XMLVmsList struct {
XMLName xml.Name `xml:"vms"`
VM []XMLVMInfo `xml:"vm"`
}
XMLVmsList is an implementation to provide the list of Ovirt instances.