0d84d0b51a
Installer: - instmpath=0/1 option is provided (default is 0) for when inststx=0 to enable a non-StarlingX debug env. By default both INSTSTX and now INSTMPATH are enabled by default for StarlingX. - The multipath-tools-boot are started to coalesce any multipath devices present. - Based on the selected install device after kickstart partitioning is completed, kpartx (for multipath dm devices) or blockdev (HDD/SDD/NVMe devices) is called to re-read partition information. Init: - multipath=0/1 option is provided (default is 1) to enable coalescing of multipath devices. Can update bootline to disable if desired after install if problems are suspected. - Wait for the root volume to be located for proper booting - Add '-q' option to mdadm call to limit noise produced from not finding related devices. This is not supported by StarlingX at this time. - early_setup moved to after CONSOLE is set to support calls to fatal() Common: - Provide ordered recognition of multipath then LVM devices so that non coalesced multipath devices that contain LVM volumes are not prematurely recognized. Ordering is as follows - Disable LVM devices via the global filter - Trigger udev and wait for initial device recognition - Activate multipath daemon to coalesce the multipath devices - Trigger any udev device changes based on the coalescing - Enable the LVM devices via the global_filter and trigger a udev add action to add any new device mapper devices 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 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) Change-Id: Icde3def99f1b376cb66d5c3a9926ea39dc5e110f Depends-On: https://review.opendev.org/c/starlingx/tools/+/860590 Story: 2010046 Task: 46693 Co-Authored-By: Robert Church <robert.church@windriver.com> Signed-off-by: Matheus Guilhermino <matheus.machadoguilhermino@windriver.com> Signed-off-by: Robert Church <robert.church@windriver.com>
92 lines
2.9 KiB
Diff
92 lines
2.9 KiB
Diff
From 5bcfcdf1ae784b87e8d4a849ab5a0b91617ca4ed Mon Sep 17 00:00:00 2001
|
|
From: Matheus Guilhermino <matheus.machadoguilhermino@windriver.com>
|
|
Date: Mon, 13 Feb 2023 12:32:44 -0300
|
|
Subject: Add H/W Settle time to installer/init
|
|
|
|
For systems requiring multipath support the constituent devices may take
|
|
some time to become available before they can be coalesced into a
|
|
multipath device.
|
|
|
|
The time required may change based on the total number devices to be
|
|
presented to the system.
|
|
|
|
Ideally we need to find a more deterministic and predictable method to
|
|
start coalescing the devices
|
|
|
|
Signed-off-by: Robert Church <robert.church@windriver.com>
|
|
Signed-off-by: Matheus Guilhermino <matheus.machadoguilhermino@windriver.com>
|
|
---
|
|
init-ostree-install.sh | 5 +++++
|
|
init-ostree.sh | 4 ++++
|
|
2 files changed, 9 insertions(+)
|
|
|
|
diff --git a/init-ostree-install.sh b/init-ostree-install.sh
|
|
index a630a00..4046fbb 100644
|
|
--- a/init-ostree-install.sh
|
|
+++ b/init-ostree-install.sh
|
|
@@ -94,6 +94,7 @@ OPTIONAL:
|
|
VSZ=# - MB size of var partition (0 for auto expand)
|
|
|
|
instmpath=0 - enable multipath device support
|
|
+ insthwsettle=0 - init delay to allow H/W to become available
|
|
inststx=1 - Skip LAT partitioning scheme (StarlingX).
|
|
Only call %part ks hook to partition
|
|
inst_ostree_boot=DEVICE - Specify the ostree boot device
|
|
@@ -599,6 +600,7 @@ OSTREE_BOOT_B_DEVICE=${OSTREE_BOOT_B_DEVICE="LABEL=otaboot_b"}
|
|
OSTREE_ROOT_B_DEVICE=${OSTREE_ROOT_B_DEVICE="LABEL=otaroot_b"}
|
|
OSTREE_VAR_DEVICE=${OSTREE_VAR_DEVICE="LABEL=fluxdata"}
|
|
KS=""
|
|
+INST_HW_SETTLE=0
|
|
|
|
if [ "$OSTREE_KERNEL_ARGS" = "%OSTREE_KERNEL_ARGS%" ] ; then
|
|
OSTREE_KERNEL_ARGS="ro rootwait"
|
|
@@ -703,6 +705,8 @@ read_args() {
|
|
VSZ=$optarg ;;
|
|
instmpath=*)
|
|
INSTMPATH=$optarg ;;
|
|
+ insthwsettle=*)
|
|
+ INST_HW_SETTLE=$optarg ;;
|
|
inststx=*)
|
|
INSTSTX=$optarg ;;
|
|
instiso=*)
|
|
@@ -1008,6 +1012,7 @@ fi
|
|
# Coalesce multipath devices after udev/network is done, and trigger udev to set
|
|
# up any device links
|
|
if [ "${INSTMPATH}" = 1 ] ; then
|
|
+ sleep ${INST_HW_SETTLE}
|
|
service multipath-tools-boot start
|
|
retval=$?
|
|
if [ ${retval} -ne 0 ]; then
|
|
diff --git a/init-ostree.sh b/init-ostree.sh
|
|
index d72afe7..947fdc3 100644
|
|
--- a/init-ostree.sh
|
|
+++ b/init-ostree.sh
|
|
@@ -34,6 +34,7 @@ OSTREE_BOOT_DEVICE="LABEL=otaboot"
|
|
OSTREE_VAR_DEVICE=""
|
|
OSTREE_LABEL_FLUXDATA="fluxdata"
|
|
MULTIPATH=1
|
|
+HW_SETTLE=0
|
|
VSZ=20480
|
|
SKIP_BOOT_DIFF=""
|
|
ALLOW_RM_VAR=1
|
|
@@ -130,6 +131,7 @@ early_setup() {
|
|
# Coalesce multipath devices after udev/network is done, and trigger
|
|
# udev to set up any device links
|
|
if [ "${MULTIPATH}" = 1 ] ; then
|
|
+ sleep ${HW_SETTLE}
|
|
activate_multipath
|
|
udevadm trigger --action=change
|
|
retval=$?
|
|
@@ -202,6 +204,8 @@ read_args() {
|
|
DEBUGFATAL=1 ;;
|
|
flux=*)
|
|
OSTREE_LABEL_FLUXDATA=$optarg ;;
|
|
+ hwsettle=*)
|
|
+ HW_SETTLE=$optarg ;;
|
|
multipath=*)
|
|
MULTIPATH=$optarg ;;
|
|
multi-drivers-switch=*)
|
|
--
|
|
2.37.1
|
|
|