Salman Rana 4959808c73 Multi-node support for factory-install and enroll-init-reconfigure
This update ensures that factory install and subsequent enrollment
processes are flexible and compatible with various deployment
scenarios, improving overall support across different StarlingX
multi-node deployments.

Until now, factory install (as introduced in
https://review.opendev.org/c/starlingx/utilities/+/917149), was tested and worked
exclusively on the SX system. However, given the variety of StarlingX
deployments, especially multi-node deployments, it is necessary for factory
install to support configurations beyond SX. Consequently, the
enroll-init functionality, a post-factory-install operation to enroll
standalone factory-installed nodes, has been adapted to accommodate
these multi-node configurations.

It is important to note that, during the factory install process,
only the active controller is factory installed. The
remaining nodes are installed and configured later,
post-enrollment. As a result, while the remaining nodes may be added
to the inventory by the deployment manager, they may not be available
during the enrollment process.

The following changes are required to support multi-node
factory-install and enroll-init:

- oam_c0_ip and oam_c1_ip must be specified to modify the
  OAM network (system oam-modify).
- Puppet manifest must be applied to trigger OAM configuration
  (e.g., update endpoints). Typically, this should happen with
  lock/unlock/swact on DX systems. However, the inactive controller
  is not available during enroll-init.
- SYSTEM_RECONCILED check during DX factory-install must be skipped.
  This check does not apply as the system can't be reconciled without
  controller-1 and other nodes.
- Extend prestaged ISO installation/boot menu for
  standard install (non-AIO - controller install only).

Test plan:
- PASS: Verify successful factory-installation of DX system.
        controller-0 must be unlocked-enabled-available. Other hosts
        should be locked-disabled-offline.
- PASS: Verify factory-install with standard node install: Generate and
        install prestage cloud-init ISO with Standard (controller
        only) boot option.
- PASS: Verify DX reconfiguration with enroll-init-reconfigure
        script.
        - Ensure oam_c0_ip and oam_c1_ip are correctly consumed and
          an error is printed when not specified for DX, for SX these
          must not be specified.
        - Validate endpoint reconfiguration.
- PASS: Verify enroll-init of DX system using dcmanager "subcloud
        add --enroll".

Story: 2011100
Task: 50580

Change-Id: Ia9970378f94e3df0366ce80e7674245d93729c91
Signed-off-by: Salman Rana salman.rana@windriver.com
2024-07-23 17:16:34 -04:00
..