[Bug 2090992] Re: [SRU] alembic database migrations missing from package
Juan Pablo Noreña
2090992 at bugs.launchpad.net
Wed Feb 26 16:45:47 UTC 2025
Hi James, or anyone else affected :),
Charmed neutron-api 2024.1/candidate 603 with the
neutron_dynamic_routing.services.bgp.bgp_plugin.BgpPlugin enabled in
Jammy installs the Python package neutron-dynamic-routing 24.0.0.
Running openstack bgp commands like:
$ openstack bgp speaker list
HttpException: 500: Server Error for url: https://<neutron-api-url>:9696/v2.0/bgp-speakers, Request Failed: internal server error while processing your request.
Results in neutron-server errors related to the db migration:
2025-02-26 16:03:37.001 2160977 ERROR neutron.api.v2.resource [None req-521be947-1151-4c91-8f1d-e10221dce71d 74c58b5bb8b545899d86a2b85c0ea155 274e915f24ff4547a2571b67bd404083 - - 990c9869587
44b8295fa51f5c6bf41cb 990c986958744b8295fa51f5c6bf41cb] index failed: No details.: sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1054, "Unknown column 'bgp_speakers.projec
t_id' in 'field list'")
[SQL: SELECT bgp_speakers.project_id AS bgp_speakers_project_id, bgp_speakers.id AS bgp_speakers_id, bgp_speakers.name AS bgp_speakers_name, bgp_speakers.local_as AS bgp_speakers_local_as, b
gp_speakers.advertise_floating_ip_host_routes AS bgp_speakers_advertise_floating_ip_host_routes, bgp_speakers.advertise_tenant_networks AS bgp_speakers_advertise_tenant_networks, bgp_speaker
s.ip_version AS bgp_speakers_ip_version, bgp_speaker_peer_bindings_1.bgp_speaker_id AS bgp_speaker_peer_bindings_1_bgp_speaker_id, bgp_speaker_peer_bindings_1.bgp_peer_id AS bgp_speaker_peer
_bindings_1_bgp_peer_id, bgp_speaker_network_bindings_1.bgp_speaker_id AS bgp_speaker_network_bindings_1_bgp_speaker_id, bgp_speaker_network_bindings_1.network_id AS bgp_speaker_network_bind
ings_1_network_id, bgp_speaker_network_bindings_1.ip_version AS bgp_speaker_network_bindings_1_ip_version
FROM bgp_speakers LEFT OUTER JOIN bgp_speaker_peer_bindings AS bgp_speaker_peer_bindings_1 ON bgp_speakers.id = bgp_speaker_peer_bindings_1.bgp_speaker_id LEFT OUTER JOIN bgp_speaker_network
_bindings AS bgp_speaker_network_bindings_1 ON bgp_speakers.id = bgp_speaker_network_bindings_1.bgp_speaker_id]
full traceback in: https://paste.ubuntu.com/p/v5rvnNZmvJ/
Is there a PPA with the fix for Jammy so I can try manually reinstalling
the package and re-enabling the bgp plugin?
Many thanks!
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/2090992
Title:
[SRU] alembic database migrations missing from package
Status in Ubuntu Cloud Archive:
Fix Released
Status in Ubuntu Cloud Archive caracal series:
Fix Committed
Status in neutron-dynamic-routing package in Ubuntu:
Fix Released
Status in neutron-dynamic-routing source package in Noble:
Fix Committed
Status in neutron-dynamic-routing source package in Oracular:
Fix Released
Status in neutron-dynamic-routing source package in Plucky:
Fix Released
Bug description:
[Impact]
DB schema is missing, extension driver is not functional.
[Test Case]
sudo apt install mysql-server neutron-server python3-neutron-dynamic-routing
sudo mysql -u root << EOF
CREATE DATABASE neutron;
CREATE USER 'neutron'@'localhost' IDENTIFIED BY 'changeme';
CREATE USER 'neutron'@'%' IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%';
EOF
sudo sed -i -e 's!connection = sqlite.*!connection = mysql+pymysql://neutron:changeme@localhost/neutron!g' /etc/neutron/neutron.conf
sudo neutron-db-manage upgrade head
No DB migrations will be applied for neutron-dynamic-routing:
Running upgrade for neutron-dynamic-routing ...
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
OK
this should look like:
Running upgrade for neutron-dynamic-routing ...
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> start_neutron_dynamic_routing, start neutron-dynamic-routing chain
INFO [alembic.runtime.migration] Running upgrade start_neutron_dynamic_routing -> 61cc795e43e8, initial
INFO [alembic.runtime.migration] Running upgrade 61cc795e43e8 -> 4cf8bc3edb66, rename tenant to project
INFO [alembic.runtime.migration] Running upgrade 4cf8bc3edb66 -> a589fdb5724c, change size of as number
INFO [alembic.runtime.migration] Running upgrade start_neutron_dynamic_routing -> f399fa0f5f25, initial
OK
Check that DB migrations are installed after upgrade:
dpkg -L python3-neutron-dynamic-routing > befort.txt
[upgrade]
dpkg -L python3-neutron-dynamic-routing > after.txt
diff before.txt after.txt
35a36
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/README
39a41,54
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/script.py.mako
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/CONTRACT_HEAD
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/EXPAND_HEAD
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/newton
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/newton/contract
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/newton/contract/4cf8bc3edb66_rename_tenant_to_project.py
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/newton/contract/61cc795e43e8_initial.py
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/newton/expand
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/newton/expand/f399fa0f5f25_initial.py
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/queens
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/queens/contract
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/queens/contract/a589fdb5724c_change_size_of_as_number.py
> /usr/lib/python3/dist-packages/neutron_dynamic_routing/db/migration/alembic_migrations/versions/start_neutron_dynamic_routing.py
[What could go wrong]
This fix was applied for Oracular onwards; the fix simply ensures that python files that are not true python modules are included in the package.
[Original Bug Report]
This package is not shipping alembic database migrations
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2090992/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list