metal/bsp-files
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
..
kickstarts Support Redfish subcloud install with single packages fetch 2022-05-04 07:42:57 -04:00
upgrades Support upgrades from stx.6.0 2021-12-22 11:06:45 -06:00
centos-ks-gen.pl Prestaging package group and package filter 2022-04-21 18:46:41 -04:00
centos.syslinux.cfg Drop clone.py references from boot menu comment blocks 2020-02-03 12:48:03 -05:00
filter_out_from_controller Filter out kmod-bnxt_en{,-rt} as necessary 2022-03-16 12:13:28 -04:00
filter_out_from_prestaging Prestaging package group and package filter 2022-04-21 18:46:41 -04:00
filter_out_from_smallsystem Filter out kmod-bnxt_en{,-rt} as necessary 2022-03-16 12:13:28 -04:00
filter_out_from_smallsystem_lowlatency Filter out kmod-bnxt_en{,-rt} as necessary 2022-03-16 12:13:28 -04:00
filter_out_from_storage Filter out kmod-bnxt_en{,-rt} as necessary 2022-03-16 12:13:28 -04:00
filter_out_from_worker Filter out kmod-bnxt_en{,-rt} as necessary 2022-03-16 12:13:28 -04:00
filter_out_from_worker_lowlatency Filter out kmod-bnxt_en{,-rt} as necessary 2022-03-16 12:13:28 -04:00
grub.cfg Drop clone.py references from boot menu comment blocks 2020-02-03 12:48:03 -05:00
pkg-list.pl StarlingX open source release updates 2018-05-31 07:36:43 -07:00
platform_comps.py Prestaging package group and package filter 2022-04-21 18:46:41 -04:00
pxeboot_grub.cfg Remove Extended Security Profile selections 2019-08-19 10:53:34 -04:00
pxeboot_setup.sh Update pxeboot_setup.sh to use stock grubx64.efi 2021-06-22 14:00:51 -04:00
pxeboot.cfg Remove Extended Security Profile selections 2019-08-19 10:53:34 -04:00