In tripleo-common's StackUpdateManager._resources_by_state() method, we attempt to retrieve the event list for each resource in a stack. However, if there are no events for a given resource, Heat returns a 404 error. (This is probably unwise, since it should be possible to distinguish between a resource that does not exist and one that has no events, but nevertheless that's what it does). We need to catch this error, otherwise we cannot update the overcloud in the cases where one or more resources have no associated events.
Brad, if you're done with this patch, can you merge it downstream?
patch is merged now
This would be really hard to reproduce if you were trying. I think the way to do it might be: - Do a stack update that adds a new resource, with a breakpoint set on that resource - Restart heat-engine without clearing the breakpoint - Do an overcloud update
Unable to reproduce. when updates from 7.x to 7.3: ---------------------------------------------------- openstack-tripleo-heat-templates-0.8.6-117.el7ost.noarch openstack-heat-api-cloudwatch-2015.1.2-8.el7ost.noarch openstack-heat-templates-0-0.8.20150605git.el7ost.noarch openstack-heat-common-2015.1.2-8.el7ost.noarch python-heatclient-0.6.0-1.el7ost.noarch openstack-heat-api-cfn-2015.1.2-8.el7ost.noarch openstack-heat-engine-2015.1.2-8.el7ost.noarch openstack-heat-api-2015.1.2-8.el7ost.noarch
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-0264.html