+import json
import logging
+import time
from tasks.mgr.mgr_test_case import MgrTestCase
+from teuthology.contextutil import safe_while
log = logging.getLogger(__name__)
def test_daemon_restart(self):
self._orch_cmd('daemon', 'stop', 'osd.0')
self.wait_for_health('OSD_DOWN', 30)
+ with safe_while(sleep=1, tries=30) as proceed:
+ while proceed():
+ j = json.loads(self._orch_cmd('ps', '--format', 'json'))
+ d = {d['daemon_name']: d for d in j}
+ if d['osd.0']['status_desc'] != 'running':
+ break
+ time.sleep(5)
self._orch_cmd('daemon', 'start', 'osd.0')
self.wait_for_health_clear(90)
self._orch_cmd('daemon', 'restart', 'osd.0')