Octavia does not handle DBConnection error on batch_update_members
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
octavia |
Confirmed
|
Medium
|
Unassigned |
Bug Description
Octavia handles the code for DBConnectionError in API and during execution taskflow.
However such error is not handled during preparation tasks here:
https:/
On my setup with octavia yoga, I get DBConnectionError during getting list of old members.
```
2023-03-15 13:28:17,652.652 10 ERROR oslo_messaging.
2023-03-15 13:28:17,652.652 10 ERROR oslo_messaging.
2023-03-15 13:28:17,652.652 10 ERROR oslo_messaging.
2023-03-15 13:28:17,652.652 10 ERROR oslo_messaging.
2023-03-15 13:28:17,652.652 10 ERROR oslo_messaging.
2023-03-15 13:28:17,652.652 10 ERROR oslo_messaging.
2023-03-15 13:28:17,652.652 10 ERROR oslo_messaging.
```
Another trace:
https:/
```
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
...
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
_1_pool_id
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
2023-04-03 10:22:09,964.964 10 ERROR oslo_messaging.
```
As result both LBs stuck in PENDING_UPDATE state.
description: | updated |
description: | updated |
summary: |
- Octavia doe snot handle DBConnection error on batch_update_members + Octavia does not handle DBConnection error on batch_update_members |
We probably need to add try/except blocks for all the DB queries (not only in batch_update_ members) in {v1,v2} /controller_ worker. py