From 530544b3df7513a132c0b81e5c1b6a802959cb1f Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Wed, 11 May 2016 18:56:41 +0100 Subject: [PATCH] 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 --- heat/engine/service_software_config.py | 7 ++++--- heat/tests/engine/service/test_software_config.py | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/heat/engine/service_software_config.py b/heat/engine/service_software_config.py index cfc578759f..4a2e5fd58b 100644 --- a/heat/engine/service_software_config.py +++ b/heat/engine/service_software_config.py @@ -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) diff --git a/heat/tests/engine/service/test_software_config.py b/heat/tests/engine/service/test_software_config.py index 84a4fa9834..4529457833 100644 --- a/heat/tests/engine/service/test_software_config.py +++ b/heat/tests/engine/service/test_software_config.py @@ -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)