LB status stays OFFLINE until config-changed is run explicitly after the initial deployment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Octavia Charm |
Fix Committed
|
High
|
Samuel Walladge | ||
Yoga |
In Progress
|
Undecided
|
Unassigned | ||
Zed |
In Progress
|
Undecided
|
Unassigned |
Bug Description
focal-ussuri
Octavia Amphora LBs get stuck at OFFLINE although the actual data plane is working. There seems an issue in updating the LB status in the control plane somewhere. However, after running config-changed hook explicitly everything starts working.
Might be related:
https:/
Restarting octavia related services didn't do the trick but the whole config-changed hook was required.
$ date; openstack loadbalancer list --format yaml
Wed Feb 16 15:15:16 UTC 2022
- id: 092cfccd-
name: openstack-
operating_status: OFFLINE
project_id: ef8e573ad99d45a
provider: amphora
provisioning_
vip_address: 10.5.5.14
^^^ operating_status: OFFLINE
But actual traffic to the backend through the floating IP(192.168.151.61) in front of LB works:
$ openstack floating ip list --fixed-ip 10.5.5.14 --format yaml
- Fixed IP Address: 10.5.5.14
Floating IP Address: 192.168.151.61
Floating Network: b81a6386-
ID: 86189424-
Port: 872da267-
Project: ef8e573ad99d45a
$ kubectl -v6 get nodes
I0216 15:21:03.347246 94802 loader.go:372] Config loaded from file: /home/ubuntu/
I0216 15:21:03.376692 94802 round_trippers.
NAME STATUS ROLES AGE VERSION
juju-82a2fc-
Tried to restart some services:
# date; systemctl restart octavia-
Wed Feb 16 15:29:19 UTC 2022
# date; systemctl restart octavia-
Wed Feb 16 15:31:37 UTC 2022
# date; systemctl restart octavia-
Wed Feb 16 15:33:48 UTC 2022
# date; systemctl restart apache2.service
Wed Feb 16 15:35:48 UTC 2022
-> no luck
Config-changed hook explicitly:
$ juju run --unit octavia/0 -- hooks/config-
Get:1 http://
Hit:2 http://
Get:3 http://
Get:4 http://
Fetched 336 kB in 2s (157 kB/s)
Reading package lists...
Adding user systemd-network to group octavia
inactive
octavia-api (enabled by site administrator)
active
active
active
active
Synchronizing state of octavia-api.service with SysV service script with /lib/systemd/
Executing: /lib/systemd/
Unit /etc/systemd/
Then, LB status gets ONLINE.
$ date; openstack loadbalancer list --format yaml
Wed Feb 16 15:43:15 UTC 2022
- id: 092cfccd-
name: openstack-
operating_status: ONLINE
project_id: ef8e573ad99d45a
provider: amphora
provisioning_
vip_address: 10.5.5.14
description: | updated |
Changed in charm-octavia: | |
assignee: | nobody → Aurelien Lourot (aurelien-lourot) |
Changed in charm-octavia: | |
assignee: | Aurelien Lourot (aurelien-lourot) → Dmitrii Shcherbakov (dmitriis) |
Changed in charm-octavia: | |
status: | New → Triaged |
importance: | Undecided → High |
tags: | added: cdo-qa cdo-tempest |
Changed in charm-octavia: | |
assignee: | nobody → Samuel Walladge (swalladge) |
Changed in charm-octavia: | |
status: | Triaged → In Progress |
Subscribing ~field-high.
It's somewhat reliably reproducible on a test env, and we've seen this symptom in a customer engagement. While the data plane is forwarding the traffic, automated testing such as Tempest relies on operating_ status= ONLINE to determine if LB is ready to proceed with following operations/tests.