Activity log for bug #2059411

Date Who What changed Old value New value Message
2024-03-28 11:18:40 Giuseppe Petralia bug added bug
2024-03-28 11:19:32 Giuseppe Petralia summary Svc type change from LoadBalancer to ClusterIP makes deployment unavailable Juju controller restart change svc type from LoadBalancer to ClusterIP
2024-03-28 11:30:37 Giuseppe Petralia description This is has been observed on a COS deployed with juju 3.1.6 on top of charmed Kubernetes on top of OpenStack. Charmed Kubernetes uses openstack-integrator to create Octavia LoadBalancers when a service with type=LoadBalancer is created on K8s. The behavior observed is the following: 1. Traefik is deployed on K8s using juju controller 3.1.6 2. A svc type=LoadBalancer is created and an Octavia LB and a FIP are created in the underlying OpenStack 3. The user configures DNS entry and firewall rules assuming the ingress of their COS is that FIP 4. If traefik loses connectivity with the juju controller, upon reconnection the service type of traefik is changed from LoadBalancer -> ClusterIP 5. The svc type change triggers a deletion of the underlying Octavia LoadBalancer and its associated FIP 6. Traefik charm then patch the service changing the type back from ClusterIP -> LoadBalancer but a new Octavia LB is not created 7. The user patch the annotations of the traefik svc with the following ``` kubectl patch svc traefik -p '{"metadata":{"annotations":{"loadbalancer.openstack.org/load-balancer-id":null}}}' ``` 8. A new Octavia LB and FIP are instantiated on the underlying OpenStack 9. All configurations done at step 3 are no longer valid, since a new FIP has been created on OpenStack This has been observed on a COS deployed with juju 3.1.6 on top of charmed Kubernetes on top of OpenStack. Charmed Kubernetes uses openstack-integrator to create Octavia LoadBalancers when a service with type=LoadBalancer is created on K8s. The behavior observed is the following: 1. Traefik is deployed on K8s using juju controller 3.1.6 2. A svc type=LoadBalancer is created and an Octavia LB and a FIP are created in the underlying OpenStack 3. The user configures DNS entry and firewall rules assuming the ingress of their COS is that FIP 4. If traefik loses connectivity with the juju controller, upon reconnection the service type of traefik is changed from LoadBalancer -> ClusterIP 5. The svc type change triggers a deletion of the underlying Octavia LoadBalancer and its associated FIP 6. Traefik charm then patch the service changing the type back from ClusterIP -> LoadBalancer but a new Octavia LB is not created 7. The user patch the annotations of the traefik svc with the following ``` kubectl patch svc traefik -p '{"metadata":{"annotations":{"loadbalancer.openstack.org/load-balancer-id":null}}}' ``` 8. A new Octavia LB and FIP are instantiated on the underlying OpenStack 9. All configurations done at step 3 are no longer valid, since a new FIP has been created on OpenStack
2024-04-02 05:46:43 Harry Pidcock juju: importance Undecided Wishlist
2024-04-02 05:46:43 Harry Pidcock juju: status New Triaged
2024-04-02 07:01:29 Nobuto Murata bug added subscriber Nobuto Murata
2024-04-03 18:21:09 Junien F bug added subscriber The Canonical Sysadmins
2024-04-10 07:13:56 Aliaksandr Vasiuk bug watch added https://github.com/canonical/traefik-k8s-operator/issues/319