StarlingX Bare Metal and Node Management, Hardware Maintenance
Go to file
emacdona 1a6fd50e2c Support Redfish subcloud install with single packages fetch
This update modifies the miniboot kickstart so rpm Packages
repodata and patches are fetched from the system controller
only once during a Redfish subcloud install.

The existing packages mirror operation done in the %post phase
is moved to the %pre phase. However, since the in-service feed
dir does not exist at that time, the fetched content is
staged to /mnt/install/repo as

    /mnt/install/repo/Packages
    /mnt/install/repo/repodata
    /mnt/install/repo/patches

The %post phase fetch code that was moved is replaced with code
that positions the %pre fetched content to the local filesystem
here:

    # feed directory
    /var/www/pages/feed/rel-xx.xx/Packages
    /var/www/pages/feed/rel-xx.xx/repodata

    # updates directory
    /var/www/pages/updates/rel-xx.xx/Packages
    /var/www/pages/updates/rel-xx.xx/repodata

    # patching directory
    /opt/patching/packages
    /opt/patching/metadata

The miniboot kickstart is updated with a detailed description of
the various staging/prestaging install options along with logging
enhancements that show the source and destination flow of
packages, repodata and patches in the installation process.

Also modified kickstart to ensure that Prestaged Content takes
precedence over prestaged ISO. Both of which take precedence over
Staged Install.

Moved Prestaged content check to %pre stage som that the next
priority install option can be taken rather than a belated
install failure.

Test Plan

PASS: Verify single packages pull over subcloud controller-0 install
PASS: Verify with both UEFI and BIOS across various servers
PASS: Verify end-to-end subcloud installs (60+)

Packages

PASS: Verify install time is shorter
PASS: Compare feed directory before/after install
PASS: Compare package/repodata data transfer before/after install

Patch Handling

PASS: Compare patched content before/after installed subcloud
PASS: Verify patched updates are mirrored and auto applied
PASS: Verify patches can be applied and remove after install
PASS: Verify patch handling for both prestaged iso committed
      patches as well as non-committed patches.
PASS: Verify patch handling when installing subclouds from a system
      controller that has committed patches for all 3 install cases.

Failure Handling

PASS: Verify staging feed failure leads to installation
      failure ; parity behavior
PASS: Verify handling of failed lighttpd during packages download
PASS: Verify report_post_failure change handling

Robustness

PASS: Verify install to wiped disk
PASS: Verify reinstall of same controller
PASS: Verify expected lighttpd traffic logs
PASS: Verify success path logs
PASS: Verify install case logs show the install source/destination
PASS: Verify failure path error handling and messages

Prestaging Cases:

PASS: Verify prestaged ISO end-to-end install (25+)
PASS: Verify Prestaged Content install is priority 1
PASS: Verify Prestaged ISO install is priority 2
PASS: Verify Staged install is priority 3
PASS: Verify cascade of priority handling due to errors
PASS: Verify patches fetch from SC for Prestaged content install
PASS: Verify patches fetch from SC for Prestaged ISO install
PASS: Verify Prestaged Content Install with and without valid
      and invalid prestaged images
PASS: Verify Prestaged ISO install with and without prestaged valid
      and invalid prestaged images
PASS: Verify Prestaged ISO check failure leads to Prestaged Content
      Install
PASS: Verify Prestaged ISO check failure leads to Staged Install
      with incomplete prestaged content
PASS: Verify Prestaged ISO check failure leads to Staged install
      if prestaged repodata or Packages dir is not present or empty

Change-Id: I54ff9f7570d77efbb860904094adc5b6b8a3bf8d
Closes-Bug: 1971157
Signed-off-by: emacdona <eric.macdonald@windriver.com>
2022-05-04 07:42:57 -04:00
api-ref/source Switch to newer openstackdocstheme and reno versions 2020-06-04 14:32:46 +02:00
bsp-files Support Redfish subcloud install with single packages fetch 2022-05-04 07:42:57 -04:00
devstack Security: Handle nospectre_v1 in the bootargs 2020-01-28 18:21:13 -05:00
doc Switch to newer openstackdocstheme and reno versions 2020-06-04 14:32:46 +02:00
installer debian: Fix debian system node grub menu syntax error 2022-04-04 13:05:02 +00:00
kickstart Merge "Debian KS: Initialize default /etc/fstab" 2022-04-28 20:23:25 +00:00
mtce Merge "Fix pmon scripts path (Debian)" 2022-03-17 23:32:09 +00:00
mtce-common Add Debian packaging for mtce packages 2021-10-29 09:17:00 -05:00
mtce-compute debian: Simplifying mtce-compute packaging 2022-03-10 19:39:04 +00:00
mtce-control debian: Simplify mtce-control packaging 2022-03-10 19:02:35 +00:00
mtce-storage debian: Simplify mtce-storage packaging 2022-03-10 18:52:52 +00:00
releasenotes Switch to newer openstackdocstheme and reno versions 2020-06-04 14:32:46 +02:00
tools/rvmc/centos Redfish Virtual Media Controller enhancements 2020-08-17 21:14:50 +00:00
.gitignore Update tox.ini files to use stein constraints 2019-06-25 13:20:35 -04:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:33 +00:00
.zuul.yaml Tox and Zuul job for the bandit code scan in starlingx/metal 2020-06-29 08:24:46 +00:00
centos_build_layer.cfg Build layering, add layer build config file 2019-10-15 19:19:45 +08:00
centos_iso_image.inc Remove unused inventory and python-inventoryclient 2020-01-08 14:12:05 -06:00
centos_pkg_dirs rvmc: remove un-used build data 2020-01-16 08:39:54 -08:00
centos_stable_docker_images.inc Utility to install a server via Redfish 2019-12-31 15:34:54 +00:00
CONTRIBUTORS.wrs StarlingX open source release updates 2018-05-31 07:36:43 -07:00
debian_build_layer.cfg Add debian_build_layer.cfg file 2021-10-05 14:08:23 -04:00
debian_pkg_dirs debian: Add Debian packaging for platform-kickstarts 2022-03-24 23:46:42 +00:00
LICENSE StarlingX open source release updates 2018-05-31 07:36:43 -07:00
pylint.rc Add pylint py3 portability checks for the metal repo 2021-09-13 11:57:42 -03:00
README.rst Followup opendev cleanup and test jobs 2019-04-22 16:42:03 +00:00
test-requirements.txt Removed wait_for_worker_config_init in AIO systems 2021-07-08 18:48:28 -04:00
tox.ini Add pylint py3 portability checks for the metal repo 2021-09-13 11:57:42 -03:00

metal

StarlingX Bare Metal Management