Skip to content

An helper operator for CAPO to delete resources by workload clusters

License

Notifications You must be signed in to change notification settings

thg-ice/cluster-api-cleaner-openstack

 
 

Repository files navigation

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

About

An helper operator for CAPO to delete resources by workload clusters

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Languages

  • Go 69.5%
  • Makefile 19.9%
  • Mustache 7.0%
  • Dockerfile 3.6%