** Description changed: [Impact] + On upgrade of the OVN packages it may be necessary to perform a upgrade to the Northbound and Southbound databases. + + Failure to do so may lead to loss of connectivity between participating + nodes as the software components will attempt to make use of columns + that are not available in the database. + + The upgrade process has been performed automatically by the upstream + init script by default since inception, both for a local and clustered + setup. But as discussed below recent changes has inadvertently omitted + this behavior. [Test Case] + Non-clustered scenario: + Install the ovn-central components in a container using the in-release focal package and start the database and ovn-northd services. + + Upgrade the container to the OVN packages from in-release Groovy and + observe the ovn-northd service complaining about missing columns in the + database. + + Repeat the test with the proposed packages and observe that the + databases being upgraded on restart of services after package upgrade. + + Clustered scenario: + Install the ovn-central charm across three containers and necessary dependencies. Perform package upgrade as outlined above and compare how in-relase and proposed packages behave. + [Regression Potential] - + As we are restoring the intended behavior the regression potential is minimal. [Original Bug Report] In the systemd service we make use of the `ovn-ctl` script `run_nb_ovsdb` and `run_sb_ovsdb` sub-commands introduced in [0]. These sub-commands fit nicely with systemd's expectations of modern daemons to no longer detachand run in the background. However, the change in [0] has the side effect of disabling automatic upgrading of clustered databases. Previously this would have been done on every startup [1]. A recent commit to master [2] addresses this and uses the combination of presence of `--db-*-cluster-local-addr` and non-presence of the `--db -*-cluster-remote-addr` to determine if the upgrade should be run. We should backport [2] to our supported OVN packages to prepare for supporting upgrades that require database schema changes. We may also need to change the behavior of the ovn-central charm to not set the `--db-*-cluster-remote-addr` argument on the leader unit. 0: https://github.com/ovn-org/ovn/commit/6444059b5f9444ce06634794d275257f945a6ce5 1: https://github.com/ovn-org/ovn/blob/5c2d311b8b7b4d5c3a619de72be6a433aa4c44db/utilities/ovn-ctl#L312-L314 2: https://github.com/ovn-org/ovn/commit/67e2f386cc838d0b0f9b4b5da7fe611e1113b70c
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1907081 Title: Clustered OVN database is not upgraded on package upgrade To manage notifications about this bug go to: https://bugs.launchpad.net/charm-ovn-central/+bug/1907081/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
