Merge "Return None for attributes of sd with no actions"

This commit is contained in:
Zuul 2019-05-31 11:28:02 +00:00 committed by Gerrit Code Review
commit 7472974179
2 changed files with 9 additions and 7 deletions

View File

@ -547,12 +547,13 @@ class SoftwareDeployment(signal_responder.SignalResponder):
def get_attribute(self, key, *path):
"""Resource attributes map to deployment outputs values."""
sd = self.rpc_client().show_software_deployment(
self.context, self.resource_id)
ov = sd[rpc_api.SOFTWARE_DEPLOYMENT_OUTPUT_VALUES] or {}
if key in ov:
attribute = ov.get(key)
return attributes.select_from_attribute(attribute, path)
if self.resource_id is not None:
sd = self.rpc_client().show_software_deployment(
self.context, self.resource_id)
ov = sd[rpc_api.SOFTWARE_DEPLOYMENT_OUTPUT_VALUES] or {}
if key in ov:
attribute = ov.get(key)
return attributes.select_from_attribute(attribute, path)
# Since there is no value for this key yet, check the output schemas
# to find out if the key is valid

View File

@ -201,7 +201,6 @@ class SoftwareDeploymentTest(common.HeatTestCase):
get_ec2_signed_url.return_value = 'http://192.0.2.2/signed_url'
self.deployment = self.stack['deployment_mysql']
self.rpc_client = mock.MagicMock()
self.deployment._rpc_client = self.rpc_client
@ -1097,6 +1096,7 @@ class SoftwareDeploymentTest(common.HeatTestCase):
def test_fn_get_att(self):
self._create_stack(self.template)
self.deployment.resource_id = 'c8a19429-7fde-47ea-a42f-40045488226c'
mock_sd = {
'outputs': [
{'name': 'failed', 'error_output': True},
@ -1132,6 +1132,7 @@ class SoftwareDeploymentTest(common.HeatTestCase):
def test_fn_get_att_error(self):
self._create_stack(self.template)
self.deployment.resource_id = 'c8a19429-7fde-47ea-a42f-40045488226c'
mock_sd = {
'outputs': [],