StarlingX Ansible Playbooks
Go to file
Michel Thebeau 0276009fb0 add encryption to backup/restore playbooks
Add new option to encrypt the backup tarballs.  Initially disabled by
default with the backup_encryption_enabled boolean value.  When enabled
then backup_encryption_passphrase is required.

A third variable backup_encyption_include is a list of string
identifiers indicating which tarballs are included in the feature. The
backup_encryption_enabled and backup_encyption_include options allow the
feature to be rolled out in phases.

The existing backup tarballs include: platform, openstack, user_images,
dc_vault, registry, and most recently: hc_vault.  Of these, the image
registry backup files are unlikely to require encryption.  The hc_vault
and platform tarballs are selected initially to support encryption for
the snapshot of HC (Hashicorp) Vault application.

Test Plan:
PASS  AIO-SX backup and restore, remotely
PASS  AIO-SX backup and restore, remotely, with hc_vault
PASS  AIO-SX restore, local (on_box_data=true), with hc_vault
PASS  ansible-lint, yamllint
PASS  unit test
PASS  AIO-SX (optimized)
PASS  duplex backup playbook
n/a   duplex restore playbook
      PASS-ish: duplex restore up to known bug "DX B&R failed in restore
      ansible by 'platform service in region not found'"
PASS  remote playbook execution
PASS  local playbook execution
PASS  with/without vault applied
PASS  with/without encryption

Story: 2011073
Task: 49842

Change-Id: If98300d3b75102c11f8ad08698b55442688cf442
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
2024-06-26 15:14:05 +00:00
examples Add missing new default password 2024-06-18 10:05:02 -03:00
playbookconfig add encryption to backup/restore playbooks 2024-06-26 15:14:05 +00:00
.ansible-lint Fix zuul failures from new release of ansible-lint 2020-08-18 10:49:30 -05: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 Fix github mirroring for this repo 2023-04-28 12:38:49 -04:00
centos_build_layer.cfg Build layering, add layer build config file 2019-10-15 19:47:15 +08:00
centos_iso_image.inc Fix remote bootstrap from Windows control host 2019-07-09 17:28:06 -04: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
debian_build_layer.cfg Add debian_build_layer.cfg file 2021-10-05 14:04:06 -04:00
debian_iso_image.inc Add debian_iso_image.inc file 2021-10-27 01:56:02 -04:00
debian_pkg_dirs Add debian package for playbookconfig 2021-09-29 18:32:15 +03:00
LICENSE Clean up repo import 2019-06-15 14:21:19 -05:00
README.rst starlingx/ansible-playbooks README improvement 2023-07-19 12:13:55 -03:00
requirements.txt Fix remote play for backup and restore 2022-08-17 14:51:35 -03:00
test-requirements.txt Fix tox ansible lint failure due to a new module 2022-01-10 11:04:20 -06:00
tox.ini Update tox.ini to work with tox 4 2022-12-26 21:52:05 +00:00

stx-ansible-playbooks

StarlingX Bootstrap and Deployment Ansible1 Playbooks

Execution environment

  • Unix like OS (recent Linux based distributions, MacOS, Cygwin)
  • Python 3.8 and later

Additional Required Packages

In addition to the pakages listed in requirements.txt and test-requirements.txt, the following packages are required to run the playbooks remotely:

  • python3-pexpect
  • python3-ptyprocess
  • sshpass

Supported StarlingX Releases

The playbooks are compatible with StarlingX R8.0 and later.

Executing StarlingX Playbooks

Bootstrap Playbook

For instructions on how to set up and execute the bootstrap playbook from another host, please refer to the StarlingX Documentation2, at Installation Guides, section Configure controller-0 of the respective system deployment type.

Developer Notes

This repository is not intended to be developed standalone, but rather as part of the StarlingX Source System, which is defined by the StarlingX manifest3.

References


  1. https://docs.ansible.com/ansible/latest/installation_guide↩︎

  2. https://docs.starlingx.io↩︎

  3. https://opendev.org/starlingx/manifest.git↩︎