Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dracut for openSUSE:Factory checked in at 2022-10-14 15:40:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dracut (Old) and /work/SRC/openSUSE:Factory/.dracut.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dracut" Fri Oct 14 15:40:10 2022 rev:197 rq:1010598 version:057+suse.337.g4162a70e Changes: -------- --- /work/SRC/openSUSE:Factory/dracut/dracut.changes 2022-09-17 20:10:05.513113925 +0200 +++ /work/SRC/openSUSE:Factory/.dracut.new.2275/dracut.changes 2022-10-14 15:40:17.843693782 +0200 @@ -1,0 +2,24 @@ +Thu Oct 13 13:25:31 UTC 2022 - antonio.fei...@suse.com + +- Update to version 057+suse.337.g4162a70e: + * fix(network-legacy): misleading duplicate address detection using wicked (bsc#1201235) + + A series of fixes for NVMeoF boot (bsc#1203368): + * fix(man): dracut.cmdline.7: clarify "rd.nvmf.discover=fc,auto" + * fix(network): avoid double brackets around IPv6 address + * feat(nvmf): set rd.neednet=1 if tcp records encountered + * fix(man): dracut.cmdline(7): correct syntax for rd.nonvmf + * fix(network): don't use same ifname multiple times + * fix(nvmf): run cmdline hook before parse-ip-opts.sh + * fix(nvmf): avoid calling "exit" in a cmdline hook + * fix(nvmf): make sure "rd.nvmf.discover=fc,auto" takes precedence + * fix(nvmf): don't use "finished" queue for autoconnect + * fix(nvmf): don't create did-setup file + * fix(nvmf): no need to load the nvme module + * fix(nvmf): don't try to validate network connections in cmdline hook + * fix(nvmf): nvme list-subsys prints the address using commas as separator + + * fix(systemd): add missing modprobe@.service (bsc#1203749) + * fix(i18n): do not fail if FONT in /etc/vconsole.conf has the file extension (bsc#1203267) + +------------------------------------------------------------------- Old: ---- dracut-057+suse.315.gd210fc38.obscpio New: ---- dracut-057+suse.337.g4162a70e.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dracut.spec ++++++ --- /var/tmp/diff_new_pack.dUA33F/_old 2022-10-14 15:40:18.495694870 +0200 +++ /var/tmp/diff_new_pack.dUA33F/_new 2022-10-14 15:40:18.499694877 +0200 @@ -25,7 +25,7 @@ %endif Name: dracut -Version: 057+suse.315.gd210fc38 +Version: 057+suse.337.g4162a70e Release: 0 Summary: Event driven initramfs infrastructure License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.dUA33F/_old 2022-10-14 15:40:18.567694991 +0200 +++ /var/tmp/diff_new_pack.dUA33F/_new 2022-10-14 15:40:18.567694991 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/opensuse/dracut.git</param> - <param name="changesrevision">ce97821e17a809fac1072f5dca1a279ee90e57a9</param></service></servicedata> + <param name="changesrevision">4162a70e6de67ff138e3e9efc9b0e236330f45dc</param></service></servicedata> (No newline at EOF) ++++++ dracut-057+suse.315.gd210fc38.obscpio -> dracut-057+suse.337.g4162a70e.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-057+suse.315.gd210fc38/.github/CODEOWNERS new/dracut-057+suse.337.g4162a70e/.github/CODEOWNERS --- old/dracut-057+suse.315.gd210fc38/.github/CODEOWNERS 2022-09-14 10:29:17.000000000 +0200 +++ new/dracut-057+suse.337.g4162a70e/.github/CODEOWNERS 2022-10-13 15:23:24.000000000 +0200 @@ -5,5 +5,5 @@ # the repo. Unless a later match takes precedence, # @global-owner1 and @global-owner2 will be requested for # review when someone opens a pull request. -* @haraldh @danimo @johannbg +* @aafeijoo-suse @tblume diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-057+suse.315.gd210fc38/man/dracut.cmdline.7.asc new/dracut-057+suse.337.g4162a70e/man/dracut.cmdline.7.asc --- old/dracut-057+suse.315.gd210fc38/man/dracut.cmdline.7.asc 2022-09-14 10:29:17.000000000 +0200 +++ new/dracut-057+suse.337.g4162a70e/man/dracut.cmdline.7.asc 2022-10-13 15:23:24.000000000 +0200 @@ -895,7 +895,7 @@ NVMf ~~~~ -**rd.nonvmf=0**:: +**rd.nonvmf**:: Disable NVMf **rd.nvmf.hostnqn=**__<hostNQN>__:: @@ -909,9 +909,19 @@ _<traddr>_ and the optionally _<host_traddr>_ or _<trsvcid>_. The first argument specifies the transport to use; currently only 'rdma', 'fc', or 'tcp' are supported. - The _<traddr>_ parameter can be set to 'auto' to select - autodiscovery; in that case all other parameters are ignored. This parameter can be specified multiple times. ++ +[listing] +.Examples +-- +rd.nvmf.discover=tcp,192.168.10.10,,4420 +rd.nvmf.discover=fc,nn-0x201700a05634f5bf:pn-0x201900a05634f5bf,nn-0x200000109b579ef3:pn-0x100000109b579ef3 +-- + +**rd.nvmf.discover=fc,auto**:: + This special syntax determines that Fibre Channel autodiscovery + is to be used rather than regular NVMe discovery. It takes precedence + over all other _rd.nvmf.discover=_ arguments. NBD ~~~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-057+suse.315.gd210fc38/modules.d/00systemd/module-setup.sh new/dracut-057+suse.337.g4162a70e/modules.d/00systemd/module-setup.sh --- old/dracut-057+suse.315.gd210fc38/modules.d/00systemd/module-setup.sh 2022-09-14 10:29:17.000000000 +0200 +++ new/dracut-057+suse.337.g4162a70e/modules.d/00systemd/module-setup.sh 2022-10-13 15:23:24.000000000 +0200 @@ -81,6 +81,7 @@ \ "$systemdsystemunitdir"/sys-kernel-config.mount \ \ + "$systemdsystemunitdir"/modprobe@.service \ "$systemdsystemunitdir"/kmod-static-nodes.service \ "$systemdsystemunitdir"/systemd-tmpfiles-setup.service \ "$systemdsystemunitdir"/systemd-tmpfiles-setup-dev.service \ @@ -174,6 +175,8 @@ /etc/systemd/journald.conf.d/*.conf \ /etc/systemd/system.conf \ /etc/systemd/system.conf.d/*.conf \ + "$systemdsystemconfdir"/modprobe@.service \ + "$systemdsystemconfdir/modprobe@.service.d/*.conf" \ /etc/hosts \ /etc/hostname \ /etc/nsswitch.conf \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-057+suse.315.gd210fc38/modules.d/10i18n/module-setup.sh new/dracut-057+suse.337.g4162a70e/modules.d/10i18n/module-setup.sh --- old/dracut-057+suse.315.gd210fc38/modules.d/10i18n/module-setup.sh 2022-09-14 10:29:17.000000000 +0200 +++ new/dracut-057+suse.337.g4162a70e/modules.d/10i18n/module-setup.sh 2022-10-13 15:23:24.000000000 +0200 @@ -222,8 +222,12 @@ inst_opt_decompress "${kbddir}"/consolefonts/"${DEFAULT_FONT}".* if [[ ${FONT} ]] && [[ ${FONT} != "${DEFAULT_FONT}" ]]; then - FONT=${FONT%.psf*} - inst_opt_decompress "${kbddir}"/consolefonts/"${FONT}".* + if [[ -f "${kbddir}"/consolefonts/"${FONT}" ]]; then + inst_opt_decompress "${kbddir}"/consolefonts/"${FONT}" + else + FONT=${FONT%.psf*} + inst_opt_decompress "${kbddir}"/consolefonts/"${FONT}".* + fi fi if [[ ${FONT_MAP} ]]; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-057+suse.315.gd210fc38/modules.d/35network-legacy/dhclient-script.sh new/dracut-057+suse.337.g4162a70e/modules.d/35network-legacy/dhclient-script.sh --- old/dracut-057+suse.315.gd210fc38/modules.d/35network-legacy/dhclient-script.sh 2022-09-14 10:29:17.000000000 +0200 +++ new/dracut-057+suse.337.g4162a70e/modules.d/35network-legacy/dhclient-script.sh 2022-10-13 15:23:24.000000000 +0200 @@ -193,7 +193,8 @@ exit 1 fi else - if ! wicked arp verify --quiet --count 2 --interval 1000 "$netif" "$new_ip_address"; then + wicked arp verify --quiet --count 2 --interval 1000 "$netif" "$new_ip_address" + if [ $? -eq 4 ]; then warn "Duplicate address detected for $new_ip_address while doing dhcp. retrying" exit 1 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-057+suse.315.gd210fc38/modules.d/35network-legacy/ifup.sh new/dracut-057+suse.337.g4162a70e/modules.d/35network-legacy/ifup.sh --- old/dracut-057+suse.315.gd210fc38/modules.d/35network-legacy/ifup.sh 2022-09-14 10:29:17.000000000 +0200 +++ new/dracut-057+suse.337.g4162a70e/modules.d/35network-legacy/ifup.sh 2022-10-13 15:23:24.000000000 +0200 @@ -364,7 +364,8 @@ return 1 fi else - if ! wicked arp verify --quiet --count 2 --interval 1000 "$netif" "$ip"; then + wicked arp verify --quiet --count 2 --interval 1000 "$netif" "$ip" + if [ $? -eq 4 ]; then warn "Duplicate address detected for $ip for interface $netif." return 1 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-057+suse.315.gd210fc38/modules.d/40network/net-lib.sh new/dracut-057+suse.337.g4162a70e/modules.d/40network/net-lib.sh --- old/dracut-057+suse.315.gd210fc38/modules.d/40network/net-lib.sh 2022-09-14 10:29:17.000000000 +0200 +++ new/dracut-057+suse.337.g4162a70e/modules.d/40network/net-lib.sh 2022-10-13 15:23:24.000000000 +0200 @@ -224,6 +224,7 @@ for n in $(getargs ifname=); do strstr "$n" "$mac" && echo "${n%%:*}" && return done + [ ! -f "/tmp/set_ifname_$name" ] || read -r num < "/tmp/set_ifname_$name" # otherwise, pick a new name and use that while :; do num=$((num + 1)) @@ -234,6 +235,7 @@ break done echo "ifname=$name$num:$mac" >> /etc/cmdline.d/45-ifname.conf + echo "$num" > "/tmp/set_ifname_$name" echo "$name$num" } @@ -307,7 +309,6 @@ [ -e "${iface}"/hostname ] && read -r hostname < "${iface}"/hostname if [ "$family" = "ipv6" ]; then if [ -n "$ip" ]; then - ip="[$ip]" [ -n "$prefix" ] || prefix=64 ip="[${ip}/${prefix}]" mask= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-057+suse.315.gd210fc38/modules.d/95nvmf/module-setup.sh new/dracut-057+suse.337.g4162a70e/modules.d/95nvmf/module-setup.sh --- old/dracut-057+suse.315.gd210fc38/modules.d/95nvmf/module-setup.sh 2022-09-14 10:29:17.000000000 +0200 +++ new/dracut-057+suse.337.g4162a70e/modules.d/95nvmf/module-setup.sh 2022-10-13 15:23:24.000000000 +0200 @@ -61,6 +61,11 @@ gen_nvmf_cmdline() { local _dev=$1 local trtype + local traddr + local host_traddr + local trsvcid + local _address + local -a _address_parts [[ -L "/sys/dev/block/$_dev" ]] || return 0 cd -P "/sys/dev/block/$_dev" || return 0 @@ -76,9 +81,19 @@ done [ -z "$trtype" ] && return 0 - nvme list-subsys "${PWD##*/}" | while read -r _ _ trtype traddr host_traddr _; do - [ "$trtype" != "${trtype#NQN}" ] && continue - echo -n " rd.nvmf.discover=$trtype,${traddr#traddr=},${host_traddr#host_traddr=}" + nvme list-subsys "${PWD##*/}" | while read -r _ _ trtype _address _; do + [[ -z $trtype || $trtype != "${trtype#NQN}" ]] && continue + unset traddr + unset host_traddr + unset trsvcid + mapfile -t -d ',' _address_parts < <(printf "%s" "$_address") + for i in "${_address_parts[@]}"; do + [[ $i =~ ^traddr= ]] && traddr="${i#traddr=}" + [[ $i =~ ^host_traddr= ]] && host_traddr="${i#host_traddr=}" + [[ $i =~ ^trsvcid= ]] && trsvcid="${i#trsvcid=}" + done + [[ -z $traddr && -z $host_traddr && -z $trsvcid ]] && continue + echo -n " rd.nvmf.discover=$trtype,$traddr,$host_traddr,$trsvcid" done } @@ -113,7 +128,7 @@ inst_script "${moddir}/nvmf-autoconnect.sh" /sbin/nvmf-autoconnect.sh inst_multiple nvme - inst_hook cmdline 99 "$moddir/parse-nvmf-boot-connections.sh" + inst_hook cmdline 92 "$moddir/parse-nvmf-boot-connections.sh" inst_simple "/etc/nvme/discovery.conf" inst_rules /usr/lib/udev/rules.d/71-nvmf-iopolicy-netapp.rules inst_rules "$moddir/95-nvmf-initqueue.rules" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-057+suse.315.gd210fc38/modules.d/95nvmf/parse-nvmf-boot-connections.sh new/dracut-057+suse.337.g4162a70e/modules.d/95nvmf/parse-nvmf-boot-connections.sh --- old/dracut-057+suse.315.gd210fc38/modules.d/95nvmf/parse-nvmf-boot-connections.sh 2022-09-14 10:29:17.000000000 +0200 +++ new/dracut-057+suse.337.g4162a70e/modules.d/95nvmf/parse-nvmf-boot-connections.sh 2022-10-13 15:23:24.000000000 +0200 @@ -24,35 +24,7 @@ return 0 fi -initqueue --onetime modprobe --all -b -q nvme nvme_tcp nvme_core nvme_fabrics - -validate_ip_conn() { - if ! getargbool 0 rd.neednet; then - warn "$trtype transport requires rd.neednet=1" - return 1 - fi - - local_address=$(ip -o route get to "$traddr" | sed -n 's/.*src \([0-9a-f.:]*\).*/\1/p') - - # confirm we got a local IP address - if ! is_ip "$local_address"; then - warn "$traddr is an invalid address" - return 1 - fi - - ifname=$(ip -o route get from "$local_address" to "$traddr" | sed -n 's/.*dev \([^ ]*\).*/\1/p') - - if ! ip l show "$ifname" > /dev/null 2>&1; then - warn "invalid network interface $ifname" - return 1 - fi - - # confirm there's a route to destination - if ! ip route get "$traddr" > /dev/null 2>&1; then - warn "no route to $traddr" - return 1 - fi -} +initqueue --onetime modprobe --all -b -q nvme_tcp nvme_core nvme_fabrics parse_nvmf_discover() { traddr="none" @@ -90,7 +62,9 @@ warn "traddr is mandatory for $trtype" return 0 fi - if [ "$trtype" = "fc" ]; then + if [ "$trtype" = "tcp" ]; then + : > /tmp/nvmf_needs_network + elif [ "$trtype" = "fc" ]; then if [ "$traddr" = "auto" ]; then rm /etc/nvme/discovery.conf return 1 @@ -99,13 +73,10 @@ warn "host traddr is mandatory for fc" return 0 fi - elif [ "$trtype" != "rdma" ] && [ "$trtype" != "tcp" ]; then + elif [ "$trtype" != "rdma" ]; then warn "unsupported transport $trtype" return 0 fi - if [ "$trtype" = "tcp" ]; then - validate_ip_conn - fi if [ "$trtype" = "fc" ]; then echo "--transport=$trtype --traddr=$traddr --host-traddr=$hosttraddr" >> /etc/nvme/discovery.conf else @@ -123,22 +94,26 @@ echo "$nvmf_hostid" > /etc/nvme/hostid fi +NVMF_FC_AUTO= for d in $(getargs rd.nvmf.discover -d nvmf.discover=); do - parse_nvmf_discover "$d" || break + parse_nvmf_discover "$d" || { + NVMF_FC_AUTO=1 + break + } done +if [ -e /tmp/nvmf_needs_network ]; then + echo "rd.neednet=1" > /etc/cmdline.d/nvmf-neednet.conf + rm -f /tmp/nvmf_needs_network +fi + # Host NQN and host id are mandatory for NVMe-oF -[ -f "/etc/nvme/hostnqn" ] || exit 0 -[ -f "/etc/nvme/hostid" ] || exit 0 +if [ -f "/etc/nvme/hostnqn" ] && [ -f "/etc/nvme/hostid" ]; then -if [ -f "/etc/nvme/discovery.conf" ]; then - /sbin/initqueue --settled --onetime --unique --name nvme-discover /usr/sbin/nvme connect-all - if [ "$trtype" = "tcp" ]; then - : > /tmp/net."$ifname".did-setup - fi -else - # No nvme command line arguments present, try autodiscovery - if [ "$trtype" = "fc" ]; then - /sbin/initqueue --finished --onetime --unique --name nvme-fc-autoconnect /sbin/nvmf-autoconnect.sh + # If no nvme command line arguments present, try autodiscovery + if [ $NVMF_FC_AUTO ] || [ ! -f "/etc/nvme/discovery.conf" ]; then + /sbin/initqueue --settled --onetime --unique --name nvme-fc-autoconnect /sbin/nvmf-autoconnect.sh + else + /sbin/initqueue --settled --onetime --unique --name nvme-discover /usr/sbin/nvme connect-all fi fi ++++++ dracut.obsinfo ++++++ --- /var/tmp/diff_new_pack.dUA33F/_old 2022-10-14 15:40:18.883695518 +0200 +++ /var/tmp/diff_new_pack.dUA33F/_new 2022-10-14 15:40:18.887695525 +0200 @@ -1,5 +1,5 @@ name: dracut -version: 057+suse.315.gd210fc38 -mtime: 1663144157 -commit: d210fc38efdd91f3d7c6d9662e1b7c8e209b5589 +version: 057+suse.337.g4162a70e +mtime: 1665667404 +commit: 4162a70e6de67ff138e3e9efc9b0e236330f45dc