[OE-core] [PATCH 3/3] oeqa/runtime/cases/rpm.py: workaround race condition
Chen Qi
Qi.Chen at windriver.com
Mon Jul 16 03:20:53 UTC 2018
With the recent change in new systemd version, it's possible that
a user is deleted before stopping user-runtime-dir at xxx.service.
See link below.
https://github.com/systemd/systemd/issues/9541
Workaround this issue by delay for 1 second before deleting user.
Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
meta/lib/oeqa/runtime/cases/rpm.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/meta/lib/oeqa/runtime/cases/rpm.py b/meta/lib/oeqa/runtime/cases/rpm.py
index 1e5e463..2f9dcad 100644
--- a/meta/lib/oeqa/runtime/cases/rpm.py
+++ b/meta/lib/oeqa/runtime/cases/rpm.py
@@ -87,6 +87,12 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
self.assertEqual(status, 0, msg=msg)
def unset_up_test_user(u):
+ # Due to recent change in systemd, we need to sleep for a while
+ # to avoid unexpected failure of user-runtime-dir at 1000.service
+ # See https://github.com/systemd/systemd/issues/9541
+ if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd':
+ self.target.run('sleep 1')
+
status, output = self.target.run('userdel -r %s' % u)
msg = 'Failed to erase user: %s' % output
self.assertTrue(status == 0, msg=msg)
--
1.9.1
More information about the Openembedded-core
mailing list