StarlingX Ansible Playbooks
Go to file
Tee Ngo a2f684c8fb Improve bootstrap failure recovery in replay
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>
2019-07-09 11:49:55 -04:00
examples/remote Improve bootstrap failure recovery in replay 2019-07-09 11:49:55 -04:00
playbookconfig Improve bootstrap failure recovery in replay 2019-07-09 11:49:55 -04:00
.gitignore Fixing up tox -e cover for stx-config 2018-12-20 08:53:15 -06:00
.gitreview Added .gitreview 2019-06-15 14:03:07 -05:00
.yamllint Enable yamllint for ansible playbook .yml files 2019-06-24 13:27:26 -05:00
.zuul.yaml Initial zuul / TOX setup 2019-06-15 14:03:17 -05:00
centos_iso_image.inc Clean up repo import 2019-06-15 14:21:19 -05:00
centos_pkg_dirs Clean up repo import 2019-06-15 14:21:19 -05:00
CONTRIBUTORS.wrs Clean up repo import 2019-06-15 14:21:19 -05:00
LICENSE Clean up repo import 2019-06-15 14:21:19 -05:00
README.rst Update repo README, add compatibility check, sample config files 2019-06-27 08:11:58 -04:00
test-requirements.txt Initial zuul / TOX setup 2019-06-15 14:03:17 -05:00
tox.ini Enable yamllint for ansible playbook .yml files 2019-06-24 13:27:26 -05:00

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.

References