Ignore errors in OS::stack_id output
If a provider stack contained an OS::stack_id output and there was an error
in the output, we would raise TemplateOutputError when trying to calculate
the reference ID of the facade resource. Since we do that in many API
calls, such an error could render the stack effectively unusable.
If we encounter such an error, log it and fall back to the default
reference ID.
Change-Id: I1bc921fe74c54eb0999541ef36afc42b9c19e9bc
Partial-Bug: #1712280
Related-Bug: #1719333
(cherry picked from commit af0feeb18a
)
This commit is contained in:
parent
7820948b9e
commit
6a27419521
@ -11,6 +11,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from oslo_log import log as logging
|
||||
from oslo_serialization import jsonutils
|
||||
from requests import exceptions
|
||||
import six
|
||||
@ -27,6 +28,8 @@ from heat.engine.resources import stack_resource
|
||||
from heat.engine import template
|
||||
from heat.rpc import api as rpc_api
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
REMOTE_SCHEMES = ('http', 'https')
|
||||
LOCAL_SCHEMES = ('file',)
|
||||
@ -316,6 +319,8 @@ class TemplateResource(stack_resource.StackResource):
|
||||
resource=self.name,
|
||||
attribute=STACK_ID_OUTPUT,
|
||||
message=output[rpc_api.OUTPUT_ERROR])
|
||||
except exception.TemplateOutputError as err:
|
||||
LOG.info('%s', err)
|
||||
except (exception.InvalidTemplateAttribute, exception.NotFound):
|
||||
pass
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user