From 3eef0bd7ee2342d2d5ba637f5a845751a906c519 Mon Sep 17 00:00:00 2001 From: Robert Church Date: Sun, 29 Jan 2023 16:46:16 -0600 Subject: [PATCH] Add hwsettle support to pxeboot-update.sh and kickstarts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add support for adding the hwsettle boot line parameter based on the value provided to the installer. This will institute an init delay to allow multipath constituent devices to become available prior to the the start of coalescing. Test Plan: PASS - AIO-SX: HPE multipath install/bootstrap/unlock PASS - AIO-SX: Qemu virtual multipath install/bootstrap/unlock PASS - AIO-DX: Qemu virtual multipath install/bootstrap/unlock PASS - AIO-DX+: Qemu virtual multipath install/bootstrap/unlock PASS - 2+2 (controller storage): Qemu virtual multipath install/ bootstrap/unlock PASS - 2+2+2 (dedicated storage): Qemu virtual multipath install/ bootstrap/unlock PASS - Add OSD ceph storage configuration (AIO-SX) PASS - Expand CGTS volume group using extra disk (Partition) (AIO-SX) PASS - Expand CGTS volume group using extra disk (disk) (AIO-SX) PASS - Add nova local volume group using extra disk (AIO-SX) PASS - App pod that alocates and writes into a PVC (AIO-SX) PASS - Local disk Commands (Disk API) - AIO-SX/DX - host-disk-list - host-disk-show - host-disk-partition-list - host-disk-partition-show - host-pv-list - host-pv-show - host-stor-list - host-stor-show - host-lvg-list - host-lvg-show - host-pv-add PASS - Create nova-local volume group PASS - Local disk Commands on AIO-DX after swact Regression: PASS - AIO-SX: Non-multipath install/bootstrap/unlock (NVME) PASS - AIO-DX: Non-multipath install/bootstrap/unlock (SSD) PASS - 2+2: Non-multipath install/bootstrap/unlock (SSD) PASS - 2+2+2 : Non-multipath install/bootstrap/unlock (SSD and HD) PASS - Distributed cloud: Non-multipath install/bootstrap/unlock Change-Id: I38586cd98d0635a16490e7b987617b8d7ec5e20e Depends-On: https://review.opendev.org/c/starlingx/tools/+/860590 Story: 2010046 Task: 47268 Signed-off-by: Robert Church --- .../pxe-network-installer/pxeboot-update.sh | 13 +++++++++++-- kickstart/files/kickstart.cfg | 6 ++++++ kickstart/files/miniboot.cfg | 6 ++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/installer/pxe-network-installer/pxe-network-installer/pxeboot-update.sh b/installer/pxe-network-installer/pxe-network-installer/pxeboot-update.sh index d49df7b3..ab65d59b 100755 --- a/installer/pxe-network-installer/pxe-network-installer/pxeboot-update.sh +++ b/installer/pxe-network-installer/pxe-network-installer/pxeboot-update.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (c) 2016-2017 Wind River Systems, Inc. +# Copyright (c) 2016-2023 Wind River Systems, Inc. # # SPDX-License-Identifier: Apache-2.0 # @@ -26,6 +26,7 @@ Arguments: -c : Specify serial console (optional) -b : Specify boot device -r : Specify rootfs device + -H : Delay at init waiting for H/W to be ready (optional) -u : Base url for TIS install progress notification -s : Specify Security Profile mode (optional) -T : Specify whether or not to use tboot (optional) @@ -70,7 +71,7 @@ parms=$@ logger -t $0 " $parms" debian_menus=false -while getopts "i:o:tgc:b:r:u:s:T:k:l:h:d" opt +while getopts "i:o:tgc:b:r:H:u:s:T:k:l:h:d" opt do case $opt in i) @@ -102,6 +103,9 @@ do r) rootfs_device=$OPTARG ;; + H) + hwsettle=$OPTARG + ;; u) tisnotify=$OPTARG ;; @@ -165,6 +169,11 @@ fi if [ "${debian_menus}" = true ] ; then APPEND_OPTIONS="instdev=$instdev" + + if [ -n "$hwsettle" ]; then + APPEND_OPTIONS="$APPEND_OPTIONS insthwsettle=$hwsettle" + fi + else APPEND_OPTIONS="boot_device=$boot_device rootfs_device=$rootfs_device" diff --git a/kickstart/files/kickstart.cfg b/kickstart/files/kickstart.cfg index 8e61dc78..f262e623 100644 --- a/kickstart/files/kickstart.cfg +++ b/kickstart/files/kickstart.cfg @@ -2402,6 +2402,12 @@ if [ $? -ne 0 ]; then add_kernel_option "biosdevname=0" fi +if [ ! -z "${insthwsettle}" ]; then + if [[ ${insthwsettle} =~ ^[0-9]+$ ]]; then + add_kernel_option "hwsettle=${insthwsettle}" + fi +fi + ######################################################################################## ilog "Adding these kernel params to disk boot: ${KERN_OPTS}" diff --git a/kickstart/files/miniboot.cfg b/kickstart/files/miniboot.cfg index 90fbc518..4b33af64 100644 --- a/kickstart/files/miniboot.cfg +++ b/kickstart/files/miniboot.cfg @@ -2517,6 +2517,12 @@ if [ $? -ne 0 ]; then add_kernel_option "biosdevname=0" fi +if [ ! -z "${insthwsettle}" ]; then + if [[ ${insthwsettle} =~ ^[0-9]+$ ]]; then + add_kernel_option "hwsettle=${insthwsettle}" + fi +fi + ######################################################################################## ilog "Adding these kernel params to disk boot: ${KERN_OPTS}"