You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
2.0 KiB
42 lines
2.0 KiB
From fbe970add68e6d9d998fb7f78377368c403e200d Mon Sep 17 00:00:00 2001 |
|
From: Tomas Bzatek <tbzatek@redhat.com> |
|
Date: Mon, 31 Oct 2022 15:15:31 +0100 |
|
Subject: [PATCH] tests: Restart iscsid on every InitiatorName change |
|
|
|
The test LIO target config expects a specific initiator name as set |
|
by the ACLs. However the iscsid daemon only seems to be reading |
|
the InitiatorName string on startup and in case the service is running |
|
with a different name, the auth tests will fail. |
|
|
|
As a workaround, restart the iscsid service after each change. |
|
A proper way through libiscsi or libopeniscsiusr would be nice -> TODO. |
|
--- |
|
src/tests/dbus-tests/test_30_iscsi.py | 12 ++++++++++++ |
|
1 file changed, 12 insertions(+) |
|
|
|
diff --git a/src/tests/dbus-tests/test_30_iscsi.py b/src/tests/dbus-tests/test_30_iscsi.py |
|
index f2594d992..09e975f30 100644 |
|
--- a/src/tests/dbus-tests/test_30_iscsi.py |
|
+++ b/src/tests/dbus-tests/test_30_iscsi.py |
|
@@ -48,9 +48,21 @@ def _force_lougout(self, target): |
|
def _set_initiator_name(self): |
|
manager = self.get_object('/Manager') |
|
|
|
+ # make backup of INITIATOR_FILE and restore it at the end |
|
+ try: |
|
+ initiatorname_backup = self.read_file(INITIATOR_FILE) |
|
+ self.addCleanup(self.write_file, INITIATOR_FILE, initiatorname_backup) |
|
+ except FileNotFoundError as e: |
|
+ # no existing file, simply remove it once finished |
|
+ self.addCleanup(self.remove_file, INITIATOR_FILE, True) |
|
+ |
|
manager.SetInitiatorName(self.initiator, self.no_options, |
|
dbus_interface=self.iface_prefix + '.Manager.ISCSI.Initiator') |
|
|
|
+ # running iscsid needs to be restarted to reflect the change |
|
+ self.run_command('systemctl try-reload-or-restart iscsid.service') |
|
+ # ignore the return code in case of non-systemd distros |
|
+ |
|
init = manager.GetInitiatorName(self.no_options, |
|
dbus_interface=self.iface_prefix + '.Manager.ISCSI.Initiator') |
|
self.assertEqual(init, self.initiator)
|
|
|