qa: test mgr cephfs mount blacklist

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
This commit is contained in:
Patrick Donnelly 2019-12-03 15:02:19 -08:00
parent df507cde8d
commit 98e3b7efe8
No known key found for this signature in database
GPG Key ID: 3A2A7E25BEA8AADB
2 changed files with 26 additions and 0 deletions

View File

@ -228,6 +228,15 @@ class CephFSTestCase(CephTestCase):
def _session_by_id(self, session_ls):
return dict([(s['id'], s) for s in session_ls])
def wait_until_evicted(self, client_id, timeout=30):
def helper():
ls = self._session_list()
for s in ls:
if s['id'] == client_id:
return False
return True
self.wait_until_true(lambda: helper(), timeout)
def wait_for_daemon_start(self, daemon_ids=None):
"""
Wait until all the daemons appear in the FSMap, either assigned

View File

@ -1073,3 +1073,20 @@ class TestVolumes(CephFSTestCase):
# verify trash dir is clean
self._wait_for_trash_empty()
def test_mgr_eviction(self):
# unmount any cephfs mounts
self.mount_a.umount_wait()
sessions = self._session_list()
self.assertLessEqual(len(sessions), 1) # maybe mgr is already mounted
# Get the mgr to definitely mount cephfs
subvolume = self._generate_random_subvolume_name()
self._fs_cmd("subvolume", "create", self.volname, subvolume)
sessions = self._session_list()
self.assertEqual(len(sessions), 1)
# Now fail the mgr, check the session was evicted
mgr = self.mgr_cluster.get_active_id()
self.mgr_cluster.mgr_fail(mgr)
self.wait_until_evicted(sessions[0]['id'])