Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/gen-sriov.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@ write_sriov_apply_systemd_unit(GHashTable* pfs, const char* generator_dir, gbool
}

g_string_append(s, "\n[Service]\nType=oneshot\n");
g_string_append(s, "ExecStartPre=udevadm control --reload\n");
g_string_append(s, "ExecStartPre=udevadm trigger --action=add --subsystem-match=net\n");
g_string_append(s, "ExecStartPre=udevadm settle\n");
g_string_append_printf(s, "ExecStart=" SBINDIR "/netplan apply --sriov-only\n");

g_autofree char* new_s = _netplan_scrub_systemd_unit_contents(s->str);
Expand Down
18 changes: 18 additions & 0 deletions tests/test_sriov.py
Original file line number Diff line number Diff line change
Expand Up @@ -1397,6 +1397,9 @@ def test_eswitch_mode(self):

[Service]
Type=oneshot
ExecStartPre=udevadm control --reload
ExecStartPre=udevadm trigger --action=add --subsystem-match=net
ExecStartPre=udevadm settle
ExecStart=/usr/sbin/netplan apply --sriov-only
'''})

Expand Down Expand Up @@ -1424,6 +1427,9 @@ def test_eswitch_mode_sets_interface_as_pf(self):

[Service]
Type=oneshot
ExecStartPre=udevadm control --reload
ExecStartPre=udevadm trigger --action=add --subsystem-match=net
ExecStartPre=udevadm settle
ExecStart=/usr/sbin/netplan apply --sriov-only
'''})

Expand Down Expand Up @@ -1471,6 +1477,9 @@ def test_rebind_service_generation(self):

[Service]
Type=oneshot
ExecStartPre=udevadm control --reload
ExecStartPre=udevadm trigger --action=add --subsystem-match=net
ExecStartPre=udevadm settle
ExecStart=/usr/sbin/netplan apply --sriov-only
'''})

Expand Down Expand Up @@ -1511,6 +1520,9 @@ def test_escaping_semicolons_from_unit_file(self):

[Service]
Type=oneshot
ExecStartPre=udevadm control --reload
ExecStartPre=udevadm trigger --action=add --subsystem-match=net
ExecStartPre=udevadm settle
ExecStart=/usr/sbin/netplan apply --sriov-only
'''})

Expand All @@ -1531,6 +1543,9 @@ def test_rebind_not_delayed(self):

[Service]
Type=oneshot
ExecStartPre=udevadm control --reload
ExecStartPre=udevadm trigger --action=add --subsystem-match=net
ExecStartPre=udevadm settle
ExecStart=/usr/sbin/netplan apply --sriov-only
'''})

Expand All @@ -1551,6 +1566,9 @@ def test_rebind_no_iface(self):

[Service]
Type=oneshot
ExecStartPre=udevadm control --reload
ExecStartPre=udevadm trigger --action=add --subsystem-match=net
ExecStartPre=udevadm settle
ExecStart=/usr/sbin/netplan apply --sriov-only
'''})
self.assertIn('engreen: Cannot rebind SR-IOV virtual functions, unknown interface name.', out)
Expand Down
Loading