Add deployment ID to deploy signal events

Curently you get events that look like this with the default
event formatter:

2016-05-11 17:49:12 [0]: SIGNAL_IN_PROGRESS Signal: deployment succeeded

Including the ID in the reason string will help (particularly in the
case of failure), as you can then easily show the deployment and
thus the stderr associated with the failure.

Change-Id: I59a3e9bf527040c4d807adc4f822bfa2c1591585
Related-Bug: #1564627
This commit is contained in:
Steven Hardy 2016-05-11 18:56:41 +01:00
parent fed92fdd6e
commit 530544b3df
2 changed files with 8 additions and 7 deletions

View File

@ -275,9 +275,10 @@ class SoftwareConfigService(service.Service):
status_reasons[output_status_code] = _(
'Deployment exited with non-zero status code: %s'
) % details.get(output_status_code)
event_reason = 'deployment failed (%s)' % status_code
event_reason = 'deployment %s failed (%s)' % (deployment_id,
status_code)
else:
event_reason = 'deployment succeeded'
event_reason = 'deployment %s succeeded' % deployment_id
for output in sd.config.config['outputs'] or []:
out_key = output['name']
@ -286,7 +287,7 @@ class SoftwareConfigService(service.Service):
if output.get('error_output', False):
status = rpc_api.SOFTWARE_DEPLOYMENT_FAILED
status_reasons[out_key] = details[out_key]
event_reason = 'deployment failed'
event_reason = 'deployment %s failed' % deployment_id
for out_key in rpc_api.SOFTWARE_DEPLOYMENT_OUTPUTS:
ov[out_key] = details.get(out_key)

View File

@ -350,7 +350,7 @@ class SoftwareConfigServiceTest(common.HeatTestCase):
deployment_id = deployment['id']
res = self.engine.signal_software_deployment(
self.ctx, deployment_id, {}, None)
self.assertEqual('deployment succeeded', res)
self.assertEqual('deployment %s succeeded' % deployment_id, res)
sd = software_deployment_object.SoftwareDeployment.get_by_id(
self.ctx, deployment_id)
@ -373,7 +373,7 @@ class SoftwareConfigServiceTest(common.HeatTestCase):
deployment_id,
{'foo': 'bar', 'deploy_status_code': 0},
None)
self.assertEqual('deployment succeeded', result)
self.assertEqual('deployment %s succeeded' % deployment_id, result)
sd = software_deployment_object.SoftwareDeployment.get_by_id(
self.ctx, deployment_id)
self.assertEqual('COMPLETE', sd.status)
@ -400,7 +400,7 @@ class SoftwareConfigServiceTest(common.HeatTestCase):
'deploy_stderr': 'Its gone Pete Tong'
},
None)
self.assertEqual('deployment failed (-1)', result)
self.assertEqual('deployment %s failed (-1)' % deployment_id, result)
sd = software_deployment_object.SoftwareDeployment.get_by_id(
self.ctx, deployment_id)
self.assertEqual('FAILED', sd.status)
@ -431,7 +431,7 @@ class SoftwareConfigServiceTest(common.HeatTestCase):
'deploy_stderr': 'Its gone Pete Tong'
},
None)
self.assertEqual('deployment failed', result)
self.assertEqual('deployment %s failed' % deployment_id, result)
sd = software_deployment_object.SoftwareDeployment.get_by_id(
self.ctx, deployment_id)