Skip to content

Latest commit

 

History

History
20 lines (14 loc) · 1.16 KB

README.md

File metadata and controls

20 lines (14 loc) · 1.16 KB

cluster-api-cleaner-openstack

A helper operator for CAPO to delete resources created by apps in workload clusters.

OpenstackClusterController

Why?

openstack-cloud-controller-manager in workload cluster creates loadbalancers in OpenStack for services in the cluster. openstack-cinder-csi also creates some volumes in OpenStack for persistentvolumes in the cluster. When the worklaod cluster is deleted, cluster-api-provider-openstack doesn't clean these resources. This controller helps for clean-up of workload clusters.

How does it work?

  • It observes OpenStackCluster objects.
  • It doesn't do anything in reconcileNormal other than adding finalizer.
  • It respects cluster.x-k8s.io/cluster-name label in OpenStackCluster objects to get the actual cluster names.
  • clusterTag is built as giant_swarm_cluster_<management-cluster-name>_<workload_cluster-name>.
  • When an OpenStackCluster is deleted, it
    • cleans volumes ( whose metadata contains cinder.csi.openstack.org/cluster: <clusterTag> ) created by Cinder CSI
    • cleans loadbalancers ( whose tags contain kube_service_<clusterTag>.* ) created by openstack-cloud-controller-manager