Steven Webster c0445a7a56 Allow subnet sharing for subclouds using the Admin network.
In the case of the admin network, it should be possible to 'share'
the subnet with multiple subclouds, as long as their admin address
pools do not overlap.

Currently, the restriction is to not allow subnets to be shared
at all. Since the admin subnet should only have a maximum of
three addresses (considering the AIO-DX case - floating, two
unit IP), for the subcloud controller(s), it does not make sense
to reserve the entire subnet range.

With these modifications, care must be taken to only delete the route
from the system controller to the subcloud subnet when all subclouds
using that subnet have been deleted.

Test Plan:

The following tests have been performed for a system with IPv4, IPv6,
and dual-stack enabled admin network.

- AIO-SX: bootstrap including only the admin_floating_address being
  specified.
- AIO-SX: bootstrap including only the admin_start_address and
  admin_end_address (being equal) being specified.
- AIO-DX: bootstrap including only the admin_floating_address being
  specified.
- AIO-DX: bootstrap including only the admin_start_address and
  admin_end_address being specified (default behaviour).
- AIO-SX and AIO-DX admin_subnet prefix len /30:
  - Ensure only AIO-SX pass.
- Install 3 AIO-SX subclouds, using different IP addresses on
  the same admin_subnet. Ensure:
  - A subcloud can be deleted. The route between system controller
    and the subclouds is not deleted until the last subcloud using
    the subnet is deleted.
  - A subcloud using the same admin address as the other subclouds
    cannot be added.
  - A subcloud can be deleted and re-added using the same IP address
    as it used before.
- Subcloud update. Change network from mgmt to admin
- Subcloud migration
  - to the same system controller.
  - to a different system controller.
- Subcloud remote install
- Subcloud factory install enrollment
- Subcloud AIO-SX to AIO-DX migration
- Subcloud AIO-SX and AIO-DX admin_subnet prefix len /30:
  - Ensure only AIO-SX pass.
- 2 Subclouds with one admin_subnet contained in the other
  - Ensure routes are created and deleted correctly

Depends-On: https://review.opendev.org/c/starlingx/config/+/935564

Story: 2011191
Task: 51371

Change-Id: Ib39d0a7ba9027c92b376aec9c10d112d7963a980
Signed-off-by: Steven Webster <steven.webster@windriver.com>
Signed-off-by: Caio Bruchert <caio.bruchert@windriver.com>
2025-04-22 15:32:23 -03:00
2019-06-15 14:03:07 -05:00
2019-06-15 14:21:19 -05:00
2019-06-15 14:21:19 -05: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↩︎

Description
StarlingX Ansible Playbooks
Readme 31 MiB
Languages
Jinja 70.3%
Python 21.5%
Shell 8.1%