File: lp2095203-0004-cli-apply-Ignore-udevadm-errors-triggering-devices-L.patch

package info (click to toggle)
netplan.io 1.1.2-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,440 kB
  • sloc: python: 34,441; ansic: 13,683; xml: 4,989; javascript: 2,165; sh: 419; makefile: 118
file content (37 lines) | stat: -rw-r--r-- 1,631 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
From: Wesley Hershberger <wesley.hershberger@canonical.com>
Date: Wed, 5 Feb 2025 07:23:34 -0600
Subject: cli:apply: Ignore udevadm errors triggering devices (LP: #2095203)
 (#539)

* udevadm: Ignore errors triggering devices

Fixes LP: #2095203

Signed-off-by: Wesley Hershberger <wesley.hershberger@gmail.com>

Bug: https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/2095203
Origin: https://github.com/canonical/netplan/commit/03e60e5ca8c4ce22a1c0fe51fa2c843b76cfd0f4
Forwarded: not-needed
---
 netplan_cli/cli/commands/apply.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/netplan_cli/cli/commands/apply.py b/netplan_cli/cli/commands/apply.py
index 7e17cee..ba17d30 100644
--- a/netplan_cli/cli/commands/apply.py
+++ b/netplan_cli/cli/commands/apply.py
@@ -252,7 +252,13 @@ class NetplanApply(utils.NetplanCommand):
                                       stderr=subprocess.DEVNULL)
 
         subprocess.check_call(['udevadm', 'control', '--reload'])
-        subprocess.check_call(['udevadm', 'trigger', '--action=move', '--subsystem-match=net', '--settle'])
+
+        try:
+            subprocess.check_call(['udevadm', 'trigger', '--action=move', '--subsystem-match=net', '--settle'])
+        except subprocess.CalledProcessError as e:
+            # udevadm trigger returns 1 if it cannot trigger devices since
+            # systemd v248, e.g. in containers (LP: #2095203)
+            logging.warning('Ignoring device trigger error: {}'.format(e))
 
         # apply any SR-IOV related changes, if applicable
         NetplanApply.process_sriov_config(config_manager, exit_on_error)