config/sysinv
Igor Soares 1d228bab28 Introduce multi-version auto downgrade for apps
Introduce automatic downgrade of StarlingX applications to the
multiple application version feature.

Auto downgrades are triggered by default in scenarios which the applied
application bundle is not available anymore under the applications
folder but an older version of the same app is. For instance, when
platform patches are removed and a previously available ostree is
deployed, thus restoring the old set of available apps under the
/usr/local/share/applications/helm/ directory.

A new section called 'downgrades' can be added to the metadata.yaml file
to disable the default behavior. For example:

downgrades:
  auto_downgrade: false

When auto downgrades are disabled the current applied version remains
unchanged.

Test plan:
PASS: build-pkgs -a && build-image
PASS: AIO-SX fresh install.
PASS: Apply platform-integ-apps.
      Update platform-integ-apps using a tarball that is not available
      under /usr/local/share/applications/helm/ and that does not
      contain the downgrade section.
      Confirm that platform-integ-apps is downgraded.
PASS: Apply platform-integ-apps.
      Update platform-integ-apps using a tarball that is not available
      under /usr/local/share/applications/helm/ and that has the
      auto_downgrade metadata option set to 'true'.
      Confirm that platform-integ-apps is downgraded.
PASS: Apply platform-integ-apps.
      Update platform-integ-apps using a tarball that is not available
      under /usr/local/share/applications/helm/ and that has the
      auto_downgrade metadata option set to 'false'.
      Confirm that the originally applied platform-integ-apps version
      remains unchanged.
PASS: Run a kubernetes upgrade with apps to be pre and post updated.
      Confirm that apps are successfully updated and not downgraded
      after the Kubernetes upgrade has finished.

Story: 2010929
Task: 49847

Change-Id: I33f0e0a5b8db128aef76fb93ba322364881097cf
Signed-off-by: Igor Soares <Igor.PiresSoares@windriver.com>
2024-04-15 12:56:05 -03:00
..
cert-alarm Update debian package versions to use git commits 2023-02-10 20:11:06 +00:00
cert-mon Update debian package versions to use git commits 2023-02-10 20:11:06 +00:00
cgts-client Merge "Revert "Modify Memory Field Names"" 2024-03-13 14:50:37 +00:00
ipsec-auth Add log messages to IPSec Auth Server and Client 2024-02-02 14:58:03 -03:00
sysinv Introduce multi-version auto downgrade for apps 2024-04-15 12:56:05 -03:00
sysinv-agent Update debian package versions to use git commits 2023-02-10 20:11:06 +00:00