
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>
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
Description
Languages
Jinja
70.3%
Python
21.5%
Shell
8.1%