From: Angus Salkeld Date: Tue, 5 Mar 2013 22:45:56 +0000 (+1100) Subject: When updating the metadata load the stack with the stored context X-Git-Tag: 2014.1~809^2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=dcb3f2aa81e94036ca24f79ac1cdbc8d3bad3207;p=openstack-build%2Fheat-build.git When updating the metadata load the stack with the stored context bug 1144996 Signed-off-by: Angus Salkeld Change-Id: I2b0547f4867f19f8319e2c4b79ac325ae8cd6bd8 --- diff --git a/heat/engine/service.py b/heat/engine/service.py index 451f2687..d84ca175 100644 --- a/heat/engine/service.py +++ b/heat/engine/service.py @@ -481,11 +481,19 @@ class EngineService(service.Service): resource = stack[resource_name] resource.metadata_update(new_metadata=metadata) + # This is not "nice" converting to the stored context here, + # but this happens because the keystone user associated with the + # WaitCondition doesn't have permission to read the secret key of + # the user associated with the cfn-credentials file + user_creds = db_api.user_creds_get(s.user_creds_id) + stack_context = context.RequestContext.from_dict(user_creds) + refresh_stack = parser.Stack.load(stack_context, stack=s) + # Refresh the metadata for all other resources, since we expect # resource_name to be a WaitCondition resource, and other # resources may refer to WaitCondition Fn::GetAtt Data, which # is updated here. - for res in stack: + for res in refresh_stack: if res.name != resource_name: res.metadata_update()