StarlingX Bare Metal and Node Management, Hardware Maintenance
Go to file
Eric MacDonald 16636d9c8c Debian: add controller-0 pxeboot grub menu setup utility
This update adds a new pxeboot_setup.sh script that can be used
to tailor the controller-0 BIOS and UEFI install grub menus for
for a specific lab's controller-0 target server installation.

Some controller-0 installation UEFI and BIOS grub menus' variable
replacement labels have been added to and others slightly modified
to better serve the new setup utility.

Features:

 - Updating both BIOS and EFI grub files
 - Preserves the command used to create tailored grub files
 - Preserves replaced grub files as .<name>
 - Supported variable replacements are

   xxxFEEDxxx - path between http server base and mounted iso
   xxxSYSTEMxxx - menu entry selection index ; default 2 (AIO)
   xxxINSTDEVxxx - install device name ; default /dev/sda
   xxxPXEBOOTxxx - /pxeboot offset path to bzImage/initrd
   xxxBASE_URLxxx - pxeboot server URL

Tool Usage:

The caller specifies an --input <path> argument to the debian
controller-0 installer grub file templates which contain the
above variable replacement labels.

The --output <path> argument is used to specify where to create
the variable replaced system specific grub files.

A --system <index> argument specififying the default menu entry
index to use.

The remaining arguments are used to specify various paths and
optionally the install device. Refer to the pxeboot_setup.sh
script header, code comment or full --help for more details.

Utility Arguments:

  --input   <path>
  --output  <path>
  --feed    <path>
  --pxeboot <path>
  --url     <url>
  --device  </dev/sdx>
  --system  <0..3>

Example Usage:

pxeboot_setup.sh --input /path/to/grub/template/dir
                 --output /path/to/target/iso/mount
                 --pxeboot pxeboot/offset/to/bzImage_initrd
                 --feed pxeboot/offset/to/target_feed
                 --url http://###.###.###.###
                 --instdev /dev/sde
                 --system 3

Test Plan: for both BIOS and UEFI servers

PASS: Verify End-To-End user experience using the script and menus
      from a mounted iso or feed to setup the grub install menus.

Script:

PASS: Verify grub menu selection by number and by string (default)
PASS: Verify system type install selection of all menu paths
PASS: Verify argument and option success path handling
PASS: Verify argument and option failure path handling
PASS: Verify shellcheck script static analysis
PASS: Verify saving of replaced menus as '.' files
PASS: Verify creation of command file in menus target dir
PASS: Verify default device and override handling
PASS: Verify exit 0 on success and exit 1 on failure.
PASS: Verify script usage help screen
PASS: Verify ttyS0 override to ttySx where x=0..3

Install:

PASS: Verify system install of all menu entries
PASS: Verify menu selection handling without numbered prefixes
PASS: Verify graphical and console submenu of each main menu
PASS: Verify graphical logging vs console logging

Story: 2009301
Task: 45547
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: I1faf3ea305557d990ed7b03418c45804b71878b7
2022-06-17 15:02:55 +00:00
api-ref/source Switch to newer openstackdocstheme and reno versions 2020-06-04 14:32:46 +02:00
bsp-files Merge "Remote subcloud install failure in post-install script" 2022-06-02 19:26:00 +00: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: add controller-0 pxeboot grub menu setup utility 2022-06-17 15:02:55 +00:00
kickstart debian: Check management for loopback interface 2022-05-30 09:23:25 -04:00
mtce Mtce: Fix bmc password fetch error handling 2022-06-01 15:21:05 +00:00
mtce-common Mtce: Fix bmc password fetch error handling 2022-06-01 15:21:05 +00: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
CONTRIBUTORS.wrs StarlingX open source release updates 2018-05-31 07:36:43 -07:00
LICENSE StarlingX open source release updates 2018-05-31 07:36:43 -07:00
README.rst Followup opendev cleanup and test jobs 2019-04-22 16:42:03 +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
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
pylint.rc Add pylint py3 portability checks for the metal repo 2021-09-13 11:57:42 -03: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

README.rst

metal

StarlingX Bare Metal Management