StarlingX Ansible Playbooks
a2f684c8fb
Previously bootstrap playbook roles were mainly triggered by config changes during replay. Consequently, the playbook was unable to recover from the previous failure caused by an issue other than misconfigurations in the host override e.g. bad image/template, backend code flaw, network glitch, proxy server down, user interruption, etc… Furthermore, depending on what step the last failure occurred, subsequent replay would fail on non-reentrant tasks such as filesystem resizing, ip addr add/delete, sysinv REST calls. This commit addresses these flaws by maximizing the reentrancy of bootstrap tasks and removing the restriction of roles inclusion based on config changes. Tests: - Bootstrap a simplex system locally - Bootstrap a standard system remotely - Install and reinstall ssl ca cert via bootstrap replay - Induce Kubernetes services bringup failures due to misconfiguration, bad template file, change config and replay. - Induce initial database population failure due to misconfiguration, change config and replay. - Induce database update failure due to misconfiguration, change config and replay. - Induce random failures, make no config change and replay. Known limitation: - Failure during the apply of bootstrap manifests may not be recoverable as most of these manifests are not re-entrant. Closes-Bug: 1830781 Change-Id: Ia2c1e1199f2c67033fb91a7e9f24d808e6fe94c9 Signed-off-by: Tee Ngo <tee.ngo@windriver.com> |
||
---|---|---|
examples/remote | ||
playbookconfig | ||
.gitignore | ||
.gitreview | ||
.yamllint | ||
.zuul.yaml | ||
centos_iso_image.inc | ||
centos_pkg_dirs | ||
CONTRIBUTORS.wrs | ||
LICENSE | ||
README.rst | ||
test-requirements.txt | ||
tox.ini |
stx-ansible-playbooks
StarlingX Bootstrap and Deployment Playbooks
Execution environment
- Linux like OS (recent Linux based distributions, MacOS, Cygwin)
- Python 2.7
Additional Required Packages
The playbooks in this repo have been verified with the following versions of Ansible and StarlingX playbooks dependencies:
- sshpass 1.06
- python2-ptyprocess 0.5
- python2-pexpect 4.6
ansible
2.7.5
Supported StarlingX Releases
The playbooks in this repo are compatible with the following StarlingX releases:
- 19.01
Executing StarlingX Playbooks
Executing Bootstrap Playbook
Please refer to StarlingX Deployment Guides
, section
Configuration controller-0 of the respective system
configuration for instructions on how to set up and execute the
bootstrap playbook from another host.