From f1a85bcb2e35e5a6ab85c05c207d486e913b116d Mon Sep 17 00:00:00 2001 From: Matheus Guilhermino Date: Mon, 24 Oct 2022 17:18:44 -0300 Subject: [PATCH] Create multipath-config package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In order to have a multipath.conf file during the install process on Debian, the multipath-config package was created. This package simply writes a custom version of the multipath.conf to /etc/multipath.conf To have it in the installer, it should also be included in the base-initramfs-bullseye.yaml file Blacklist exception support is added for: - HP 3PAR SANs (H/W multipath) - QEMU (for virtual multipath development) - TrueNAS (currently only iSCSI support validate) 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) - Check if the output is broken - 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) Change-Id: I196031dee403db50e6dbcdb36a0a2ed95fc42be3 Depends-On: https://review.opendev.org/c/starlingx/tools/+/860590 Story: 2010046 Task: 66650 Signed-off-by: Matheus Guilhermino Signed-off-by: Robert Church --- debian_iso_image.inc | 3 +++ debian_pkg_dirs | 1 + multipath-config/debian/deb_folder/changelog | 5 ++++ multipath-config/debian/deb_folder/control | 13 +++++++++ multipath-config/debian/deb_folder/copyright | 27 +++++++++++++++++++ .../deb_folder/multipath-config.install | 1 + multipath-config/debian/deb_folder/rules | 5 ++++ .../debian/deb_folder/source/format | 1 + multipath-config/debian/meta_data.yaml | 7 +++++ multipath-config/files/multipath.conf | 23 ++++++++++++++++ 10 files changed, 86 insertions(+) create mode 100644 multipath-config/debian/deb_folder/changelog create mode 100644 multipath-config/debian/deb_folder/control create mode 100644 multipath-config/debian/deb_folder/copyright create mode 100644 multipath-config/debian/deb_folder/multipath-config.install create mode 100644 multipath-config/debian/deb_folder/rules create mode 100644 multipath-config/debian/deb_folder/source/format create mode 100644 multipath-config/debian/meta_data.yaml create mode 100644 multipath-config/files/multipath.conf diff --git a/debian_iso_image.inc b/debian_iso_image.inc index 34fc49a..aa76973 100644 --- a/debian_iso_image.inc +++ b/debian_iso_image.inc @@ -48,6 +48,9 @@ lighttpd-config #memcached-custom memcached-custom +#multipath-config +multipath-config + #multus-config multus-config diff --git a/debian_pkg_dirs b/debian_pkg_dirs index 6f34c31..3bc500e 100644 --- a/debian_pkg_dirs +++ b/debian_pkg_dirs @@ -15,6 +15,7 @@ lighttpd-config logrotate-config lvm2-config memcached-custom +multipath-config multus-config nfs-utils-config ntp-config diff --git a/multipath-config/debian/deb_folder/changelog b/multipath-config/debian/deb_folder/changelog new file mode 100644 index 0000000..7e1c081 --- /dev/null +++ b/multipath-config/debian/deb_folder/changelog @@ -0,0 +1,5 @@ +multipath-config (1.0-1) unstable; urgency=medium + + * Initial release. + + -- Matheus Guilhermino Fri, 21 Oct 2022 10:14:29 -0400 diff --git a/multipath-config/debian/deb_folder/control b/multipath-config/debian/deb_folder/control new file mode 100644 index 0000000..825934d --- /dev/null +++ b/multipath-config/debian/deb_folder/control @@ -0,0 +1,13 @@ +Source: multipath-config +Section: admin +Priority: optional +Maintainer: Starlingx Developers +Build-Depends: debhelper-compat (= 13) +Standards-Version: 4.4.1 +Homepage: https://www.starlingx.io + +Package: multipath-config +Architecture: all +Depends: ${misc:Depends} +Description: Custom multipath configuration + Adds a custom multipath.conf file with blacklist exceptions diff --git a/multipath-config/debian/deb_folder/copyright b/multipath-config/debian/deb_folder/copyright new file mode 100644 index 0000000..36fda8a --- /dev/null +++ b/multipath-config/debian/deb_folder/copyright @@ -0,0 +1,27 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: multipath-config +Source: https://opendev.org/starlingx/config-files/ + +Files: * +Copyright: (c) 2022-2023 Wind River Systems, Inc +License: Apache-2 + +Files: debian/* +Copyright: 2023 Wind River Systems, Inc +License: Apache-2 + +License: Apache-2 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + https://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian-based systems the full text of the Apache version 2.0 license + can be found in `/usr/share/common-licenses/Apache-2.0'. diff --git a/multipath-config/debian/deb_folder/multipath-config.install b/multipath-config/debian/deb_folder/multipath-config.install new file mode 100644 index 0000000..058a250 --- /dev/null +++ b/multipath-config/debian/deb_folder/multipath-config.install @@ -0,0 +1 @@ +multipath.conf etc/ diff --git a/multipath-config/debian/deb_folder/rules b/multipath-config/debian/deb_folder/rules new file mode 100644 index 0000000..ed58acc --- /dev/null +++ b/multipath-config/debian/deb_folder/rules @@ -0,0 +1,5 @@ +#!/usr/bin/make -f +#export DH_VERBOSE = 1 + +%: + dh $@ diff --git a/multipath-config/debian/deb_folder/source/format b/multipath-config/debian/deb_folder/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/multipath-config/debian/deb_folder/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/multipath-config/debian/meta_data.yaml b/multipath-config/debian/meta_data.yaml new file mode 100644 index 0000000..7394cd6 --- /dev/null +++ b/multipath-config/debian/meta_data.yaml @@ -0,0 +1,7 @@ +--- +debname: multipath-config +debver: 1.0-1 +src_path: files +revision: + dist: $STX_DIST + PKG_GITREVCOUNT: true diff --git a/multipath-config/files/multipath.conf b/multipath-config/files/multipath.conf new file mode 100644 index 0000000..5bc84a4 --- /dev/null +++ b/multipath-config/files/multipath.conf @@ -0,0 +1,23 @@ +defaults { + user_friendly_names yes + find_multipaths yes +} + +blacklist { + device { + vendor ".*" + } +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" + device { + vendor "3PARdata" + } + device { + vendor "QEMU" + } + device { + vendor "TrueNAS" + } +}