]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
orchestra/daemon/cephadmunit.py: reset-failed as well as start wip-48469
authorDan Mick <dmick@redhat.com>
Thu, 10 Dec 2020 19:36:25 +0000 (19:36 +0000)
committerDan Mick <dmick@redhat.com>
Thu, 10 Dec 2020 19:45:17 +0000 (19:45 +0000)
In case a dead service is in a failed state, reset that state
before starting it.

Fixes: https://tracker.ceph.com/issues/48469
Signed-off-by: Dan Mick <dmick@redhat.com>
teuthology/orchestra/daemon/cephadmunit.py

index 421fd2c9cdf2a17a76237f43d5fdc5949beaab14..60a0315816120f98325f10f98351d0f3b032b0b1 100644 (file)
@@ -29,6 +29,7 @@ class CephadmUnit(DaemonState):
     def _set_commands(self):
         self.start_cmd = self._get_systemd_cmd('start')
         self.stop_cmd = self._get_systemd_cmd('stop')
+        self.reset_failed_cmd = self._get_systemd_cmd('reset-failed')
         self.restart_cmd = self._get_systemd_cmd('restart')
         self.show_cmd = self._get_systemd_cmd('show')
         self.status_cmd = self._get_systemd_cmd('status')
@@ -90,8 +91,9 @@ class CephadmUnit(DaemonState):
         :param kwargs: keyword arguments passed to remote.run
         """
         if not self.running():
-            self.log.info('Restarting %s (starting--it wasn\'t running)...' % self.name())
+            self.log.info('Reset-failed/starting %s (it wasn\'t running)...' % self.name())
             self._start_logger()
+            self.remote.sh(self.reset_failed_cmd)
             self.remote.sh(self.start_cmd)
             self.is_started = True
         else: