ea00765271
Parse the metadata of all application bundles under the helm application folder and save to the kube_app_bundle table. This is done during sysinv startup and when a new ostree commit is deployed. The auto update logic was changed to enable retrieving metadata from the database for all available bundles of a given app and compute which bundle should be used to carry out the upgrade. The bundle choice is done based on the minimum and maximum Kubernetes versions supported by the application. If multiple bundles fit that criteria then the application with the highest version number is chosen. The 65-k8s-app-upgrade.sh script also takes into account multiple bundles during the platform upgrade activation step, prioritizing lowest versions available to ensure compatibility with the Kubernetes version carried over from the N release. A follow-up change will improve this mechanism to discover specific app versions. When platform patches are applied and the ostree is changed then the content of the helm application folder is reevaluated and the database updated accordingly if there are new or removed bundles. Test plan: PASS: build-pkgs -a & build-image PASS: Fresh AIO-SX install. PASS: Fresh AIO-DX install. PASS: Manually place multiple tarballs of one application with different versions under /usr/local/share/applications/helm/ and check if the app is updated correctly. PASS: Build a reboot required patch that removes the istio bundle and adds a new metrics-server version. Apply the reboot required patch. Check if istio was removed from the kube_app_bundle table. Check if the metrics-server previous version was removed from the kube_app_bundle table. Check if the metrics-server new version was added to the kube_app_bundle table. Check if metrics-server was updated to the new version added to the database. PASS: Build a no reboot required patch that does not restart sysinv, removes the istio bundle and adds a new metrics-server version. Apply the no reboot required patch. Check if istio was removed from the kube_app_bundle table. Check if the metrics-server previous version was removed from the kube_app_bundle table. Check if the metrics-server new version was added to the kube_app_bundle table. Check if metrics-server was updated to the new version added to the database. PASS: Build a no reboot required patch that restarts sysinv, removes the istio bundle and adds a new metrics-server version. Apply the no reboot required patch. Check if istio was removed from the kube_app_bundle table. Check if the metrics-server previous version was removed from the kube_app_bundle table. Check if the metrics-server new version was added to the kube_app_bundle table and was updated. Check if metrics-server was updated to the new version added to the database. PASS: Install power-metrics on stx-8. Run platform upgrade from stx-8 placing two different versions of metrics-server under /usr/local/share/applications/helm/. Check if default apps and metrics-server were properly updated during upgrade-activate step. Check if power-metrics was auto updated after upgrade-complete step. Story: 2010929 Task: 49097 Change-Id: I46f7cb6ebc59ad49157e9044a4937a406313671e Signed-off-by: Igor Soares <Igor.PiresSoares@windriver.com> |
||
---|---|---|
api-ref/source | ||
config-gate | ||
controllerconfig | ||
devstack | ||
doc | ||
releasenotes | ||
storageconfig | ||
sysinv | ||
tmp/patch-scripts/EXAMPLE_SYSINV/scripts | ||
tools/docker/images | ||
tsconfig | ||
workerconfig | ||
.gitignore | ||
.gitreview | ||
.yamllint | ||
.zuul.yaml | ||
CONTRIBUTORS.wrs | ||
LICENSE | ||
README.rst | ||
bindep.txt | ||
centos_build_layer.cfg | ||
centos_dev_wheels.inc | ||
centos_iso_image.inc | ||
centos_pkg_dirs | ||
centos_pkg_dirs_containers | ||
centos_stable_wheels.inc | ||
debian_build_layer.cfg | ||
debian_iso_image.inc | ||
debian_pkg_dirs | ||
debian_stable_wheels.inc | ||
test-requirements.txt | ||
tox.ini |
README.rst
config
The starlingx/config repository handles the StarlingX configuration management services.
Its key component is the System Inventory Service (Sysinv), which provides the system command-line interface (CLI)1.
This repository is not intended to be developed standalone, but rather as part of the StarlingX Source System, which is defined by the StarlingX manifest2.