00c2129a16
It is observed that when a helm release is in pending state, another helm release can't be started by FluxCD. FluxCD will not try to do steps to apply the newer helm release, but will just error. This prevents us from applying a new helm release over a release with pods stuck in Pending state (just an example). When the specific message for helm operation in progress is detected, attempt to recover by moving the older releases to failed state. Move inspired by [1]. To do so, patch the helm secret for the specific release. As an optimization, trigger the FluxCD HelmRelease reconciliation right after. One future optimization we can do is run an audit to delete the helm releases for which metadata status is a pending operation, but release data is failed (resource that we patched in this commit). Refactor HelmRelease resource reconciliation trigger, smaller size. There are upstream references related to this bug, see [2] and [3]. Tests on Debian AIO-SX: PASS: unlocked enabled available PASS: platform-integ-apps applied after reproducing error: PASS: inspect sysinv logs, see recovery is attemped PASS: inspect fluxcd logs, see that HelmRelease reconciliation is triggered part of recovery [1]: https://github.com/porter-dev/porter/pull/1685/files [2]: https://github.com/helm/helm/issues/8987 [3]: https://github.com/helm/helm/issues/4558 Closes-Bug: 1997368 Signed-off-by: Dan Voiculeasa <dan.voiculeasa@windriver.com> Change-Id: I36116ce8d298cc97194062b75db64541661ce84d |
||
---|---|---|
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
stx-config
StarlingX Configuration Management