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
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-controlle r-manager. We may need to do this in two places: one in layer-kubernete s-common' s generate_ openstack_ cloud_config[ 2] and one in openstack- cloud-controlle r-operator' s build_cloud_ config[ 3].
New recommended fix: integrator to disable LoadBalancer integration 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 integration documentation to clarify what roles are required and when
1. Add a config option to openstack-
2. Make the openstack-
3. Update the openstack-
[1]: https:/ /github. com/kubernetes/ cloud-provider- openstack/ blob/ec0e52924d 107a039524b29e1 9cb11937b37961e /docs/openstack -cloud- controller- manager/ using-openstack -cloud- controller- manager. md#load- balancer /github. com/charmed- kubernetes/ layer-kubernete s-common/ blob/2d388da1bb dc78a82bb7fc649 fe9a0cb09af0803 /lib/charms/ layer/kubernete s_common. py#L550 /github. com/canonical/ openstack- cloud-controlle r-operator/ blob/5eafef3506 344a741d81d26bb b4c6f4fb7caeff8 /src/backend. py#L79
[2]: https:/
[3]: https:/