container_systemd: improve debugging if service never starts
If a service never starts, the "status" key won't exist so Ansible
raises with KeyError which is very misleading (we don't even have the
service name).
This make pass the KeyError exception, so we fail at the end of the loop
of attempts with proper Ansible raise and we give the service name.
Change-Id: I74f3d5b51bde1ec33b69b2488174eef9cc4a330d
(cherry picked from commit 67d78a753c
)
This commit is contained in:
parent
a3835ffb2c
commit
5aa8858600
|
@ -286,12 +286,19 @@ class ActionModule(ActionBase):
|
|||
daemon_reload=False),
|
||||
task_vars=tvars
|
||||
)
|
||||
if 'Result' in results['status']:
|
||||
if results['status']['Result'] == 'success':
|
||||
if results.get('changed', False):
|
||||
self.changed = True
|
||||
self.restarted.append('tripleo_{}.service'.format(name))
|
||||
return
|
||||
try:
|
||||
if 'Result' in results['status']:
|
||||
if results['status']['Result'] == 'success':
|
||||
if results.get('changed', False):
|
||||
self.changed = True
|
||||
self.restarted.append('tripleo_{}'
|
||||
'.service'.format(name))
|
||||
return
|
||||
except KeyError:
|
||||
# if 'systemd' task failed to start the service, the 'status'
|
||||
# key doesn't exist, so we'll use the final raise to report the
|
||||
# issue if the service never start after the attempts.
|
||||
pass
|
||||
raise AnsibleActionFail('Service {} has not started yet'.format(name))
|
||||
|
||||
def _restart_services(self, service_names, task_vars):
|
||||
|
|
Loading…
Reference in New Issue