diff --git a/nvmf-connect-nbft.sh b/99-nvme-nbft-connect.sh similarity index 100% rename from nvmf-connect-nbft.sh rename to 99-nvme-nbft-connect.sh diff --git a/99-nvme-nbft-no-ignore-carrier.conf b/99-nvme-nbft-no-ignore-carrier.conf new file mode 100644 index 0000000..4f19515 --- /dev/null +++ b/99-nvme-nbft-no-ignore-carrier.conf @@ -0,0 +1,15 @@ +# Boot from NVMe over TCP (NBFT) +# +# For NVMe/TCP connections that provide namespaces containing rootfs +# it is crucial to react on carrier events and reconnect any missing +# NVMe/TCP connections as defined in the ACPI NBFT table. A custom +# /usr/lib/NetworkManager/dispatcher.d/99-nvme-nbft-connect.sh hook +# will respawn nvmf-connect-nbft.service on such occasion. + +[device-nbft-no-ignore-carrier] + +# only affects nbft0, nbft1, ... interfaces +match-device=interface-name:nbft* + +# react on link up/down events +ignore-carrier=no diff --git a/nvme-cli.spec b/nvme-cli.spec index 9fbd070..3f69ed4 100644 --- a/nvme-cli.spec +++ b/nvme-cli.spec @@ -1,15 +1,18 @@ #%%global commit0 bdbb4da0979fbdc079cf98410cdb31cf799e83b3 #%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7}) +%global nmlibdir %{_prefix}/lib/NetworkManager + Name: nvme-cli Version: 2.9.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: NVMe management command line interface License: GPL-2.0-only URL: https://github.com/linux-nvme/nvme-cli Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz -Source1: nvmf-connect-nbft.sh +Source1: 99-nvme-nbft-connect.sh +Source2: 99-nvme-nbft-no-ignore-carrier.conf Patch0: 0001-Revert-fabrics-Use-corresponding-hostid-when-hostnqn.patch Patch1: 0002-nvme-telemetry-report-the-correct-error-if-the-ioctl.patch @@ -48,8 +51,10 @@ nvme-cli provides NVM-Express user space tooling for Linux. %install %meson_install -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d -install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d +mkdir -p $RPM_BUILD_ROOT%{nmlibdir}/dispatcher.d +mkdir -p $RPM_BUILD_ROOT%{nmlibdir}/conf.d +%{__install} -pm 755 %{SOURCE1} $RPM_BUILD_ROOT%{nmlibdir}/dispatcher.d/ +%{__install} -pm 644 %{SOURCE2} $RPM_BUILD_ROOT%{nmlibdir}/conf.d/ # Do not install the dracut rule yet. See rhbz 1742764 # Do we want to keep this here? Now that we have boot support for nvme/fc + tcp? @@ -80,7 +85,8 @@ rm -rf %{buildroot}%{_pkgdocdir}/nvme # Do not install the dracut rule yet. See rhbz 1742764 # Is this still true? Now that we support nvme-of boot, do we want to install this file? # /usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf -%{_sysconfdir}/NetworkManager/dispatcher.d/nvmf-connect-nbft.sh +%{nmlibdir}/dispatcher.d/99-nvme-nbft-connect.sh +%{nmlibdir}/conf.d/99-nvme-nbft-no-ignore-carrier.conf %post if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then @@ -101,6 +107,10 @@ if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then fi %changelog +* Thu Aug 22 2024 Tomas Bzatek - 2.9.1-6 +- Install NetworkManager override for nbft interfaces +- Rename reconnect NetworkManager hook to 99-nvme-nbft-connect.sh + * Tue Aug 06 2024 Maurizio Lombardi - 2.9.1-5 - Fix RHEL-38372