Package: openstack-debian-images
Version: 1.73
Tags: patch

Due to the different naming convention for NVMe device nodes,
build-openstack-debian-image fails to set up a RAID array because it's
trying to use /dev/nvme0n11 instead of nvme0n1p1.

I've attached a patch which fixes this.

--

Regards
Jim
diff --git a/build-openstack-debian-image b/build-openstack-debian-image
index 9b2e69a..efb6cef 100755
--- a/build-openstack-debian-image
+++ b/build-openstack-debian-image
@@ -857,24 +857,21 @@ if [ -n "${RAID_DEVICES}" ] ; then
 	FIRST_RAID_ESP_DEV=""
 	SECOND_RAID_ESP_DEV=""
 	for i in ${DEVICES_TO_PARTITION} ; do
+		if echo "${i}" | grep -q -E ^/dev/nvme ; then
+			DEV_NODE_PREFIX="${i}p"
+		else
+			DEV_NODE_PREFIX="${i}"
+		fi
 		if [ -n "${RAID_DLIST}" ] ; then
-			RAID_DLIST="${RAID_DLIST} ${i}${RAID_PART_NUM}"
+			RAID_DLIST="${RAID_DLIST} ${DEV_NODE_PREFIX}${RAID_PART_NUM}"
 		else
-			RAID_DLIST="${i}${RAID_PART_NUM}"
+			RAID_DLIST="${DEV_NODE_PREFIX}${RAID_PART_NUM}"
 		fi
 		if [ -z "${FIRST_RAID_ESP_DEV}" ] && [ "${BOOTTYPE}" = "uefi" ] ; then
 			# This is the UEFI partition of the first RAID device
-			if echo "${DEST_HDD}" | grep -q -E ^nvme ; then
-				FIRST_RAID_ESP_DEV=${i}p1
-			else
-				FIRST_RAID_ESP_DEV=${i}1
-			fi
+			FIRST_RAID_ESP_DEV=${DEV_NODE_PREFIX}1
 		elif [ -n "${FIRST_RAID_ESP_DEV}" ] && [ -z "${SECOND_RAID_ESP_DEV}" ] && [ "${BOOTTYPE}" = "uefi" ] ; then
-			if echo "${DEST_HDD}" | grep -q -E ^nvme ; then
-				SECOND_RAID_ESP_DEV=${i}p1
-			else
-				SECOND_RAID_ESP_DEV=${i}1
-			fi
+			SECOND_RAID_ESP_DEV=${DEV_NODE_PREFIX}1
 		fi
 		NUM_DEVS=$((${NUM_DEVS} + 1))
 	done

Reply via email to