Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nvme-cli for openSUSE:Factory checked in at 2023-10-11 23:53:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nvme-cli (Old) and /work/SRC/openSUSE:Factory/.nvme-cli.new.1807 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nvme-cli" Wed Oct 11 23:53:54 2023 rev:68 rq:1116610 version:2.6 Changes: -------- --- /work/SRC/openSUSE:Factory/nvme-cli/nvme-cli.changes 2023-10-05 20:03:38.703779363 +0200 +++ /work/SRC/openSUSE:Factory/.nvme-cli.new.1807/nvme-cli.changes 2023-10-12 11:47:21.876439060 +0200 @@ -1,0 +2,10 @@ +Mon Oct 9 14:17:21 UTC 2023 - Daniel Wagner <daniel.wag...@suse.com> + +- Use fixed timestamps for documentation allowing reproducable builds +- Announce nvmeof-boot-support support via Provides +- Filter rpmlint warnings for systemd-service-without-service_ macros +- Add missing service files for NBFT feature + * add 0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch + * add 0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch + +------------------------------------------------------------------- @@ -12 +22 @@ -- Update to version 2.6: +- Update to version 2.6 (jsc#PED-3610 jsc#PED-4879 jsc#PED-5061): @@ -58 +68 @@ - * json: fix seg. fault converting NULL to JSON string + * json: fix seg. fault converting NULL to JSON string (bsc#1213762) @@ -60,2 +70,2 @@ - * nvme-print: Show subsystem iopolicy - * nvme-print-stdout: Do not show non reachable ns in namespace topology + * nvme-print: Show subsystem iopolicy (bsc#1124564) + * nvme-print-stdout: Do not show non reachable ns in namespace topology (bsc#1212598) @@ -65,4 +75,4 @@ - * nvme-print-stdout: List only ctrls which are part of ns - * nvme-print-stdout: Support subsys reachable from several hosts - * ccan: Add htable, strset and dependencies - * ccan: Remove unused documentation + * nvme-print-stdout: List only ctrls which are part of ns (bsc#1212598) + * nvme-print-stdout: Support subsys reachable from several hosts (bsc#1212598) + * ccan: Add htable, strset and dependencies (bsc#1212598) + * ccan: Remove unused documentation (bsc#1212598) @@ -70 +80 @@ - * nvme-print: fix counter while looping through uuid_list + * nvme-print: fix counter while looping through uuid_list (bsc#1212598) @@ -220,2 +230,2 @@ - * fabrics: fix fc config JSON file handling -- Refresh 0100-harden_nvmf-connect@.service.patch + * fabrics: fix fc config JSON file handling (bsc#1210089) + Refresh 0100-harden_nvmf-connect@.service.patch @@ -223 +232,0 @@ - @@ -227 +236 @@ -- Update to version 2.4: +- Update to version 2.4 (jsc#PED-553 jsc#PED-3884): @@ -246 +255 @@ - * nvme-print: sanitize supported-log-pages output + * nvme-print: sanitize supported-log-pages output (bsc#1209550) @@ -248 +257 @@ - * nvme: fix block count and data size logic + * nvme: fix block count and data size logic (bsc#1209564) @@ -253 +262 @@ - * nvme-doc: update man page for supported-log-pages + * nvme-doc: update man page for supported-log-pages (bsc#1209550) @@ -262 +271 @@ - * fabrics: Fix ordering for auto connect services + * fabrics: Fix ordering for auto connect services (bsc#1208075) @@ -300,0 +310,4 @@ + * json_discovery_log: avoid buffer overrun (bsc#1207435) + * Fix connect nbft regressions (bsc#1209905) + * Fix auto connect conditions (bsc#1210105) + * Fix auto boot for NBFT connections (bsc#1211647) @@ -328 +341 @@ - * fabrics: Honor JSON config file in connect-all command + * fabrics: Honor JSON config file in connect-all command (bsc#1199504) @@ -393 +406 @@ - * udev: Add HOST_IFACE to udev rule + * udev: Add HOST_IFACE to udev rule (bsc#1208001) @@ -445 +458 @@ - * fabrics: Remove dhchap-ctrl-secret from discover/connect-all + * fabrics: Remove dhchap-ctrl-secret from discover/connect-all (bsc#1201701) @@ -449,0 +463,3 @@ + * fabrics: Already connected uses a different error code (bsc#1199994) + * fabrics: skip connect if the transport types don't match (bsc#1199949 bsc#1199994) + * nvme-print: Show ANA state only for one namespace (bsc#1200044 bsc#1199956 bsc#1199990) New: ---- 0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch 0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch nvme-cli-rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nvme-cli.spec ++++++ --- /var/tmp/diff_new_pack.03Jzv0/_old 2023-10-12 11:47:22.600465750 +0200 +++ /var/tmp/diff_new_pack.03Jzv0/_new 2023-10-12 11:47:22.604465897 +0200 @@ -26,6 +26,9 @@ Group: Hardware/Other URL: https://github.com/linux-nvme/nvme-cli/ Source0: nvme-cli-%{version}.tar.gz +Source1: nvme-cli-rpmlintrc +Patch001: 0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch +Patch002: 0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch # downstream patches Patch100: 0100-harden_nvmf-connect@.service.patch BuildRequires: asciidoc @@ -34,13 +37,15 @@ BuildRequires: libhugetlbfs-devel BuildRequires: libjson-c-devel BuildRequires: libnvme-devel -BuildRequires: libuuid-devel BuildRequires: meson BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros BuildRequires: xmlto BuildRequires: zlib-devel BuildRequires: pkgconfig(bash-completion) BuildRequires: pkgconfig(libudev) +# nvme-cli API for NBFT support. +Provides: nvmeof-boot-support = 0.1 %systemd_ordering @@ -85,6 +90,7 @@ %autosetup -p1 %build +export KBUILD_BUILD_TIMESTAMP=@${SOURCE_DATE_EPOCH:-$(date +%s)} %meson \ -Dudevrulesdir=%{_udevrulesdir} \ -Ddracutrulesdir=%{_sysconfdir}/dracut/dracut.conf.d \ @@ -114,9 +120,11 @@ pushd %{buildroot}%{_sbindir} ln -s service rcnvmefc-boot-connections ln -s service rcnvmf-autoconnect +ln -s service rcnvmf-connect +ln -s service rcnvmf-connect-nbft popd -%define services nvmefc-boot-connections.service nvmf-connect.target nvmf-autoconnect.service +%define services nvmefc-boot-connections.service nvmf-autoconnect.service nvmf-connect.target nvmf-connect-nbft.service %pre %service_add_pre %{services} nvmf-connect@.service @@ -153,13 +161,17 @@ %{_sbindir}/nvme %{_sbindir}/rcnvmefc-boot-connections %{_sbindir}/rcnvmf-autoconnect +%{_sbindir}/rcnvmf-connect +%{_sbindir}/rcnvmf-connect-nbft %{_mandir}/man1/nvme*.1*%{?ext_man} +%{_udevrulesdir}/65-persistent-net-nbft.rules %{_udevrulesdir}/70-nvmf-autoconnect.rules %{_udevrulesdir}/71-nvmf-iopolicy-netapp.rules -%{_unitdir}/nvmf-autoconnect.service %{_unitdir}/nvmefc-boot-connections.service -%{_unitdir}/nvmf-connect@.service +%{_unitdir}/nvmf-autoconnect.service +%{_unitdir}/nvmf-connect-nbft.service %{_unitdir}/nvmf-connect.target +%{_unitdir}/nvmf-connect@.service %dir %{_sysconfdir}/nvme/ %ghost %{_sysconfdir}/nvme/hostnqn %ghost %{_sysconfdir}/nvme/hostid ++++++ 0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch ++++++ >From b3059ae50b905b265913dc541b740eef85c54814 Mon Sep 17 00:00:00 2001 From: Martin Wilck <mwi...@suse.com> Date: Tue, 23 May 2023 12:48:55 +0200 Subject: [PATCH 1/2] fabrics: autoconnect: add service unit for connecting NBFT subsystems Create a separate unit file for connecting to NBFT-defined subsystems. This unit is intended to be called in "post-up" scripts from network management software if an interface defined in the HFI section of the NBFT is brought up (L3-configured). In simple scenarios with just one HFI, this won't be necessary because the interface must be brought up in the initramfs already. But in multipath scenarios, the initramfs may choose not to wait for every HFI to come up, and thus it may be necessary to bring up the secondary connection(s) later on. Signed-off-by: Martin Wilck <mwi...@suse.com> --- meson.build | 1 + nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in diff --git a/meson.build b/meson.build index 3d3fb08541ff..de595c82c064 100644 --- a/meson.build +++ b/meson.build @@ -222,6 +222,7 @@ endforeach systemd_files = [ 'nvmefc-boot-connections.service', 'nvmf-autoconnect.service', + 'nvmf-connect-nbft.service', 'nvmf-connect.target', 'nvmf-connect@.service', ] diff --git a/nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in b/nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in new file mode 100644 index 000000000000..8769884da415 --- /dev/null +++ b/nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in @@ -0,0 +1,11 @@ +# This unit is meant to be started by network management software +# after a network interface defined in the NBFT gets set up +[Unit] +Description=Connect NBFT-defined NVMe-oF subsystems automatically +ConditionPathExists=|/sys/firmware/acpi/tables/NBFT +ConditionPathExists=|/sys/firmware/acpi/tables/NBFT1 + +[Service] +Type=oneshot +ExecStartPre=/sbin/modprobe nvme-fabrics +ExecStart=@SBINDIR@/nvme connect-nbft -- 2.42.0 ++++++ 0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch ++++++ >From 39f94260eaf7e0604772e6cabf1c04ec0f03201a Mon Sep 17 00:00:00 2001 From: Martin Wilck <mwi...@suse.com> Date: Tue, 23 May 2023 14:19:14 +0200 Subject: [PATCH 2/2] fabrics: add udev rule to avoid renaming nbft interfaces In the initramfs, the interface naming is taken care of by dracut. But there are various network-interface-naming policies in place which may attempt to rename the interface, causing confusion and possibly wrong interface parameters. Add an udev rule that avoids renaming any network interface that has been assigned a name nbft$N, which is by convention the naming scheme that is used for NBFT device in the initramfs. Note: The simpler 'NAME:="%k"' directive doesn't work because udev rejects it ('Ignoring NAME="%k", as it will take no effect.'). The ":=" syntax makes sure the interface isn't renamed any more by later rules. "INTERFACE" is set by the kernel in the "add" uevent for a network interface. Signed-off-by: Martin Wilck <mwi...@suse.com> --- meson.build | 1 + nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in diff --git a/meson.build b/meson.build index de595c82c064..80695e01b906 100644 --- a/meson.build +++ b/meson.build @@ -238,6 +238,7 @@ endforeach udev_files = [ '70-nvmf-autoconnect.rules', '71-nvmf-iopolicy-netapp.rules', + '65-persistent-net-nbft.rules', ] foreach file : udev_files diff --git a/nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in b/nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in new file mode 100644 index 000000000000..344942bca0c0 --- /dev/null +++ b/nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in @@ -0,0 +1,2 @@ +# Avoid renaming nbft$X interfaces +SUBSYSTEM=="net", ACTION!="remove", ENV{INTERFACE}=="nbft*", NAME:="%E{INTERFACE}" -- 2.42.0 ++++++ nvme-cli-rpmlintrc ++++++ addFilter("W: systemd-service-without-service_add_pre") addFilter("W: systemd-service-without-service_add_post") addFilter("W: systemd-service-without-service_del_preun") addFilter("W: systemd-service-without-service_del_postun")