Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package os-autoinst for openSUSE:Factory 
checked in at 2026-10-21 20:59:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
 and      /work/SRC/openSUSE:Factory/.os-autoinst.new.2252680 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "os-autoinst"

Wed Oct 21 20:59:16 2026 rev:633 rq:1386701 version:5.1792484351.82c2f16

Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes  2026-10-20 
12:43:20.301084661 +0200
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.2252680/os-autoinst.changes     
2026-10-21 21:01:26.335935541 +0200
@@ -1,0 +2,14 @@
+Tue Oct 20 08:19:22 UTC 2026 - [email protected]
+
+- Update to version 5.1792484351.82c2f16:
+  * fix(setup-mm): Ensure proper error handling in NetworkManager setup
+  * feat(setup-mm): Clean Open vSwitch bridge when using NetworkManager
+  * feat(setup-mm): Improve setup of NetworkManager connections
+  * feat(setup-mm): Improve detection of networking service
+  * feat(setup-mm): Make deletion of tap interfaces safer
+  * feat(setup-mm): Clean all old NetworkManager connections
+  * feat(setup-mm): Avoid overriding existing dispatcher script
+  * refactor(setup-mm): Silence `shellcheck` warnings
+  * feat(setup-mm): Remove redundant `os-autoinst-openvswitch` config
+
+-------------------------------------------------------------------

Old:
----
  os-autoinst-5.1792446083.2bd94ba.obscpio

New:
----
  os-autoinst-5.1792484351.82c2f16.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ os-autoinst-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.89lqf9/_old  2026-10-21 21:01:28.132011054 +0200
+++ /var/tmp/diff_new_pack.89lqf9/_new  2026-10-21 21:01:28.134011138 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name os-autoinst-devel
 Name:           %{short_name}-test
-Version:        5.1792446083.2bd94ba
+Version:        5.1792484351.82c2f16
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ os-autoinst-openvswitch-test.spec ++++++
--- /var/tmp/diff_new_pack.89lqf9/_old  2026-10-21 21:01:28.167012526 +0200
+++ /var/tmp/diff_new_pack.89lqf9/_new  2026-10-21 21:01:28.173012778 +0200
@@ -19,7 +19,7 @@
 %define name_ext -test
 %define         short_name os-autoinst-openvswitch
 Name:           %{short_name}%{?name_ext}
-Version:        5.1792446083.2bd94ba
+Version:        5.1792484351.82c2f16
 Release:        0
 Summary:        test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.89lqf9/_old  2026-10-21 21:01:28.224014922 +0200
+++ /var/tmp/diff_new_pack.89lqf9/_new  2026-10-21 21:01:28.225014964 +0200
@@ -19,7 +19,7 @@
 %define name_ext -test
 %define         short_name os-autoinst
 Name:           %{short_name}%{?name_ext}
-Version:        5.1792446083.2bd94ba
+Version:        5.1792484351.82c2f16
 Release:        0
 Summary:        test package for os-autoinst
 License:        GPL-2.0-or-later

++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.89lqf9/_old  2026-10-21 21:01:28.272016940 +0200
+++ /var/tmp/diff_new_pack.89lqf9/_new  2026-10-21 21:01:28.275017067 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           os-autoinst
-Version:        5.1792446083.2bd94ba
+Version:        5.1792484351.82c2f16
 Release:        0
 Summary:        OS-level test automation
 License:        GPL-2.0-or-later

++++++ os-autoinst-5.1792446083.2bd94ba.obscpio -> 
os-autoinst-5.1792484351.82c2f16.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/os-autoinst-5.1792446083.2bd94ba/script/os-autoinst-setup-multi-machine 
new/os-autoinst-5.1792484351.82c2f16/script/os-autoinst-setup-multi-machine
--- old/os-autoinst-5.1792446083.2bd94ba/script/os-autoinst-setup-multi-machine 
2026-10-19 23:41:23.000000000 +0200
+++ new/os-autoinst-5.1792484351.82c2f16/script/os-autoinst-setup-multi-machine 
2026-10-20 10:19:11.000000000 +0200
@@ -87,7 +87,7 @@
     command -v retry > /dev/null || zypper -n in retry
     pkgs=(openvswitch os-autoinst-openvswitch firewalld libcap-progs)
     [[ $network == NetworkManager ]] && pkgs+=(NetworkManager-ovs)
-    rpm -q ${pkgs[*]} > /dev/null || retry -e -s 30 -r 7 -- sh -c "zypper ref 
&& zypper -n in ${pkgs[*]}"
+    rpm -q "${pkgs[@]}" > /dev/null || retry -e -s 30 -r 7 -- sh -c "zypper 
ref && zypper -n in ${pkgs[*]}"
     systemctl enable --now openvswitch os-autoinst-openvswitch
 }
 
@@ -166,15 +166,21 @@
     local nicoffset_1 nicoffset_2
     nicoffset_1=$((1 * nicoffset))
     nicoffset_2=$((2 * nicoffset))
-    tap_dev_numbers=(0 $(
+    mapfile -t tap_dev_numbers < <(
+        echo 0
         seq 1 "$instances"
         seq "$nicoffset_1" $(("$nicoffset_1" + instances))
         seq "$nicoffset_2" $(("$nicoffset_2" + instances))
-    ))
+    )
 }
 
 create_gre_preup_script() {
     local location=$1
+    if [[ -f "$location" ]]; then
+        echo "Dispatcher script $location already exists, keeping existing 
configuration."
+        chmod +x "$location"
+        return 0
+    fi
     cat > "$location" << EOF
 #!/bin/sh
 OVS_CMD=\$(command -v ovs-vsctl)
@@ -210,28 +216,63 @@
     chmod +x "$location"
 }
 
+cleanup_networkmanager_connections() {
+    local prev_conns=()
+    while IFS=: read -r uuid type device name; do
+        [[ -z "$uuid" ]] && continue
+        if [[ "$type" =~ ^ovs-(bridge|port|interface|slave)$ || "$name" =~ 
^ovs-(bridge|port|interface|slave) ]]; then
+            prev_conns+=("$uuid")
+        elif [[ "$type" == "tun" ]]; then
+            if [[ "$device" =~ ^tap[0-9]+$ || "$name" =~ ^tap[0-9]+$ || 
"$name" =~ ^tun(-tap[0-9]+)?$ || "$name" =~ ^tun-[0-9]+$ ]]; then
+                prev_conns+=("$uuid")
+            else
+                local iface
+                iface=$(nmcli -g connection.interface-name con show "$uuid" 2> 
/dev/null || true)
+                if [[ "$iface" =~ ^tap[0-9]+$ ]]; then
+                    prev_conns+=("$uuid")
+                fi
+            fi
+        fi
+    done < <(nmcli -g UUID,TYPE,DEVICE,NAME con show 2> /dev/null || true)
+
+    if [[ ${#prev_conns[@]} -gt 0 ]]; then
+        echo "Deleting ${#prev_conns[@]} previous NetworkManager 
connections..."
+        printf '%s\n' "${prev_conns[@]}" | xargs -r nmcli con del || true
+    fi
+}
+
+cleanup_ovs_bridge() {
+    systemctl start openvswitch
+    ovs-vsctl --if-exists del-br "$bridge"
+}
+
 setup_multi_machine_with_networkmanager() {
-    # Delete any previous connections
-    nmcli con | grep -oP 'ovs-(interface|port|bridge|slave)-[\w-]+' | xargs -r 
nmcli con del || true
+    cleanup_networkmanager_connections
+    cleanup_ovs_bridge
     # Clear NM state and timestamps
     systemctl stop NetworkManager
     [[ -d /var/lib/NetworkManager ]] && rm -vf 
/var/lib/NetworkManager/{timestamps,NetworkManager.state}
     # Restart NM to load ovs plugin
     systemctl start NetworkManager
     # Create bridge, port and interface connection
-    nmcli con add type ovs-bridge con.int "$bridge" ipv4.dad-timeout 0
-    nmcli con add type ovs-port con.int "$bridge" con.master "$bridge"
-    nmcli con add type ovs-interface con.int "$bridge" con.master "$bridge" 
ipv4.method manual ipv4.address 10.0.2.2/15 ipv4.dad-timeout 0 ipv6.method 
manual ipv6.address fec0::2/63 ethernet.mtu "$mtu" con.zone "$zone"
+    nmcli con add type ovs-bridge con-name "ovs-bridge-$bridge" con.int 
"$bridge" ipv4.dad-timeout 0
+    nmcli con add type ovs-port con-name "ovs-port-$bridge" con.int "$bridge" 
con.master "$bridge"
+    nmcli con add type ovs-interface con-name "ovs-interface-$bridge" con.int 
"$bridge" con.master "$bridge" ipv4.method manual ipv4.address 10.0.2.2/15 
ipv4.dad-timeout 0 ipv6.method manual ipv6.address fec0::2/63 ethernet.mtu 
"$mtu" con.zone "$zone"
     # Create tap interfaces
+    local worker_uid nogroup_gid
+    worker_uid=$(id -u _openqa-worker)
+    nogroup_gid=$(getent group nogroup | cut -f3 -d:)
     for i in "${tap_dev_numbers[@]}"; do
-        nmcli con add type ovs-port con.int "tap$i" con.master "$bridge"
-        nmcli con add type tun mode tap owner "$(id -u _openqa-worker)" group 
"$(getent group nogroup | cut -f3 -d:)" con.int "tap$i" master "tap$i"
+        nmcli con add type ovs-port con-name "ovs-port-tap$i" con.int "tap$i" 
con.master "$bridge"
+        nmcli con add type tun con-name "tap$i" mode tap owner "$worker_uid" 
group "$nogroup_gid" con.int "tap$i" master "tap$i"
     done
     create_gre_preup_script 
/etc/NetworkManager/dispatcher.d/gre_tunnel_preup.sh
+    nmcli con up "ovs-bridge-$bridge"
+    nmcli con up "ovs-interface-$bridge"
 }
 
 setup_multi_machine_with_wicked() {
-    ovs-vsctl list-br | grep -q "$bridge" && ovs-vsctl del-br "$bridge"
+    cleanup_ovs_bridge
     ovs-vsctl add-br "$bridge"
     ovs-vsctl set int "$bridge" mtu_request="$mtu"
     cat > "/etc/sysconfig/network/ifcfg-$bridge" << EOF
@@ -263,16 +304,19 @@
 }
 
 delete_tap_ifaces() {
-    ifaces=($(ls /sys/class/net/ | xargs -I {} sh -c 'if [ -f 
/sys/class/net/{}/tun_flags ]; then echo {}; fi' | sort -V))
-    for iface in "${ifaces[@]}"; do ip link delete $iface; done
+    for dev in /sys/class/net/tap*; do
+        [[ -e "$dev" ]] || continue
+        local iface="${dev##*/}"
+        if [[ -f "$dev/tun_flags" ]]; then
+            ip link delete "$iface" 2> /dev/null || true
+        fi
+    done
 }
 
 cleanup_openvswitch_db() {
     # Delete existing ovs db and its lock but do not delete any ovs db backup
     systemctl stop openvswitch os-autoinst-openvswitch
     [[ -d /var/lib/openvswitch/ ]] && rm -f 
/var/lib/openvswitch/{conf.db,.conf.db.~lock~}
-    systemctl is-enabled openvswitch && systemctl start openvswitch
-    systemctl is-enabled os-autoinst-openvswitch && systemctl start 
os-autoinst-openvswitch
 }
 
 configure_openvswitch() {
@@ -296,10 +340,16 @@
         echo "The NIC offset must be greater than the number of instances."
         exit 2
     fi
-    network=$(basename -s.service "$(readlink 
/etc/systemd/system/network.service)")
+    network=
+    if [[ -L /etc/systemd/system/network.service ]]; then
+        network=$(basename -s .service "$(readlink 
/etc/systemd/system/network.service)")
+    fi
     if [[ -z "${network}" ]]; then
-        systemctl is-enabled NetworkManager.service && network=NetworkManager
-        systemctl is-enabled wicked.service && network=wicked
+        if systemctl is-enabled NetworkManager.service &> /dev/null; then
+            network=NetworkManager
+        elif systemctl is-enabled wicked.service &> /dev/null; then
+            network=wicked
+        fi
     fi
     test "$network" = wicked -o "$network" = NetworkManager || {
         echo "This script only works with wicked network daemon or 
NetworkManager"

++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.89lqf9/_old  2026-10-21 21:01:30.187097458 +0200
+++ /var/tmp/diff_new_pack.89lqf9/_new  2026-10-21 21:01:30.193097710 +0200
@@ -1,5 +1,5 @@
 name: os-autoinst
-version: 5.1792446083.2bd94ba
-mtime: 1792446083
-commit: 2bd94ba81d9b441255ddd19aad6368f900501724
+version: 5.1792484351.82c2f16
+mtime: 1792484351
+commit: 82c2f16f64f0a38f9fe932524c90636826be875f
 

Reply via email to