MicroOVN snap channels and upgrades¶
MicroOVN is distributed as a snap. As such, it utilises channels
to manage
and control package upgrades. MicroOVN has dedicated channels for supported LTS
versions of OVN (e.g. 22.03/stable
, 24.03/stable
). These dedicated
channels should be used to install production deployments. They are guaranteed
to always contain the same major version of OVN and therefore any automatic
upgrades within the channel won’t cause incompatibilities across cluster
members.
Avoid using latest
channel for purposes other then development, testing or
experimentation as it receives updates from the main
development branch.
It can contain experimental features and does not provide guarantees regarding
compatibility of cluster members running different revisions from this channel.
Minor version upgrades¶
Dedicated major version channels of MicroOVN (e.g. 24.03/stable
) will
automatically receive minor version upgrades whenever the minor upgrade for
the OVN
package becomes available in the Ubuntu
repository. They may
also receive updates regarding MicroOVN itself in form of features or bugfixes
if it’s deemed that the backport is warranted.
We try to keep the updates of dedicated stable channels to minimum. Any automatic upgrades within branch are expected to cause only minimal plane outage while services restart.
Major version upgrades¶
Starting with version 22.03
, OVN introduced concept of LTS releases
and started to guarantee the ability to upgrade OVN deployment from one
LTS release to next (rolling upgrades). Therefore, MicroOVN also provides
ability to upgrade deployments from one LTS to another. It tries to take as
much complexity as possible from the process, but it’s still potentially
disruptive operation and needs to be triggered by operator manually.
For more information on how to actually perform these upgrades, see How-To: Major Upgrades
How MicroOVN manages major upgrades¶
Upgrades without unnecessary downtime constitutes a challenge for distributed systems like OVN.
OVN consists of two distributed databases (Southbound
and
Northbound
) and multiple processes (e.g. ovn-controller
or
ovn-northd
) that rely on ability to read and understand data in these
databases. Major upgrades of OVN often introduce database schema changes and
applying these changes before every host in the deployment is able to
understand them can cause unnecessary outage.
Thanks to the backward compatibility guarantees between LTS versions, new
versions of ovn-northd
and ovn-controller
are able to understand old
database schemas. Therefore we can hold back schema upgrades until every
cluster member is ready for it. And this is what MicroOVN does. It waits until
it receives positive confirmation from every node in the deployment that it’s
capable of understanding new database schemas, before triggering database
schema upgrades for Southbound
and Northbound
databases.