Documentation ¶
Index ¶
- Constants
- type OpenStackCloudProvider
- func (provider OpenStackCloudProvider) Enabled() bool
- func (provider OpenStackCloudProvider) GetName() string
- func (provider OpenStackCloudProvider) Repair(nodes []healthcheck.NodeInfo) error
- func (provider OpenStackCloudProvider) UpdateHealthStatus(masters []healthcheck.NodeInfo, workers []healthcheck.NodeInfo) error
- type ResourceStackRelationship
Constants ¶
View Source
const ( ProviderName = "openstack" ClusterAutoHealingLabel = "auto_healing_enabled" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OpenStackCloudProvider ¶
type OpenStackCloudProvider struct { KubeClient kubernetes.Interface Nova *gophercloud.ServiceClient Heat *gophercloud.ServiceClient Magnum *gophercloud.ServiceClient Cinder *gophercloud.ServiceClient Config config.Config ResourceStackMapping map[string]ResourceStackRelationship }
OpenStack is an implementation of cloud provider Interface for OpenStack.
func (OpenStackCloudProvider) Enabled ¶
func (provider OpenStackCloudProvider) Enabled() bool
Enabled decides if the repair should be triggered. There are two conditions that we disable the repair: - The cluster admin disables the auto healing via OpenStack API. - The Magnum cluster is not in stable status.
func (OpenStackCloudProvider) GetName ¶
func (provider OpenStackCloudProvider) GetName() string
func (OpenStackCloudProvider) Repair ¶
func (provider OpenStackCloudProvider) Repair(nodes []healthcheck.NodeInfo) error
Repair For master nodes: detach etcd and docker volumes, find the root
volume, then shutdown the VM, marks the both the VM and the root volume (heat resource) as "unhealthy" then trigger Heat stack update in order to rebuild the node. The information this function needs: - Nova VM ID - Root volume ID - Heat stack ID and resource ID.
For worker nodes: Call Magnum resize API directly.
func (OpenStackCloudProvider) UpdateHealthStatus ¶ added in v1.19.0
func (provider OpenStackCloudProvider) UpdateHealthStatus(masters []healthcheck.NodeInfo, workers []healthcheck.NodeInfo) error
UpdateHealthStatus can update the cluster health status to reflect the real-time health status of the k8s cluster.
Click to show internal directories.
Click to hide internal directories.