Skip to main content

OS Upgrades

The OS upgrade mechanism consists of two components: the OS upgrade controller integrated into the Avassa platform and the OS upgrade workers that run as separate applications in the Avassa platform.

OS Upgrade Controller

The OS upgrade controller is responsible for handling the user interface, including the upgrade schedule configuration and storing the last upgrade status and state reported by the workers, and the orchestrating the workers to perform the upgrade one host at a time and aborting the procedure on error.

OS Upgrade Worker Application

The OS upgrade worker application is responsible for receiving commands from the controller, executing them and reporting the status back, as well as reporting the current state of the host (e.g. a running image version or a set of package versions) when it changes. The workers may have different implementations for different operating systems.

A worker application is a regular application running in the Avassa platform.

The worker applications that implement OS upgrades for Debian/Ubuntu and for Red Hat's RHEL for Edge and Fedora CoreOS distributions are implemented by Avassa. Their source code is available at https://gitlab.com/avassa-public/os-upgrade .

It is also possible to develop a custom OS upgrade worker. The worker must implement the protocol described in the reference documentation . It is of course possible to fork the GitLab repo above and use that as a base.

Avassa provides OS upgrade worker agents for a number of distributions. For the latest list see the readme in https://gitlab.com/avassa-public/os-upgrade.