Comment 2 for bug 1990494

Revision history for this message
George Kraft (cynerva) wrote :

After discussing this with Junien, I understand that LoadBalancer support is not needed or desired in this cluster, so Octavia roles should not be required. The relation to openstack-integrator is still needed to provide PersistentVolume support via Cinder CSI.

We need to expose a way to disable LoadBalancer support. We can do this by passing the [LoadBalancer] enabled=false config[1] to openstack-cloud-controller-manager. We may need to do this in two places: one in layer-kubernetes-common's generate_openstack_cloud_config[2] and one in openstack-cloud-controller-operator's build_cloud_config[3].

New recommended fix:
1. Add a config option to openstack-integrator to disable LoadBalancer integration
2. Make the openstack-integrator charm check and verify user roles, and enter Blocked status if required roles are missing, BUT don't require Octavia roles if LoadBalancer support is disabled
3. Update the openstack-integration documentation to clarify what roles are required and when

[1]: https://github.com/kubernetes/cloud-provider-openstack/blob/ec0e52924d107a039524b29e19cb11937b37961e/docs/openstack-cloud-controller-manager/using-openstack-cloud-controller-manager.md#load-balancer
[2]: https://github.com/charmed-kubernetes/layer-kubernetes-common/blob/2d388da1bbdc78a82bb7fc649fe9a0cb09af0803/lib/charms/layer/kubernetes_common.py#L550
[3]: https://github.com/canonical/openstack-cloud-controller-operator/blob/5eafef3506344a741d81d26bbb4c6f4fb7caeff8/src/backend.py#L79