Description of problem:
removing one server and updating the stack causes re-creation of all servers.
This has been fixed upstream:
https://review.openstack.org/#/c/445662/9
and backported to newton:
https://review.openstack.org/#/c/452947/
Version-Release number of selected component (if applicable):
openstack-heat-api-7.0.2-1.el7ost.noarch
openstack-heat-engine-7.0.2-1.el7ost.noarch
openstack-heat-common-7.0.2-1.el7ost.noarch
How reproducible:
always
Steps to Reproduce:
1. create a stack
$ nova list
host-0.example.com 192.168.0.5
host-1.example.com 192.168.0.6
hosts are
- in a OS::Heat::ResourceGroup
- in a ServerGroup with an anti-affinity policy
2. Delete one node
$ nova delete host-0.example.com
$ nova list
host-1.example.com
Stack check correctly detects the missing node
$ heat action-check mystack
3. Run stack-update to recover the missing node
$ heat stack-update -x mystack
Actual results:
Two more nodes are created, one with a conflicting name (the previously existing one).
$ nova list
host-1.example.com 192.168.0.6
host-0.example.com 192.168.0.11
host-1.example.com 192.168.0.12
logs:
2017-06-08 07:59:10Z [shift.openshift_infra_nodes.1]: CHECK_COMPLETE Stack CHECK completed successfully. 'CHECK' not fully supported (see resources) # SoftwareConfig & co
2017-06-08 07:59:10Z [shift.openshift_infra_nodes.1]: CHECK_COMPLETE state changed
2017-06-08 07:59:10Z [shift.openshift_infra_nodes.0]: CHECK_FAILED ['NotFound: resources[0].resources.root_volume: Volume 96187160-3c71-47de-98c9-2e3693e90003 could not be found. (HTTP 404) (Request-ID: req-696f3b71-1a4e-4984-a7cb-9d29b31157ad)']. 'CHECK' not fully supported (see resources)
2017-06-08 07:59:10Z [shift.openshift_infra_nodes]: CHECK_FAILED Resource CHECK failed: ["['NotFound: resources[0].resources.root_volume: Volume 96187160-3c71-47de-98c9-2e3693e90003 could not be found. (HTTP 404) (Request-ID: req-696f3b71-1a4e-4984-a7cb-9d29b31157ad)']. 'CHECK' not fully supported (see resources)"]. 'C
2017-06-08 07:59:11Z [shift.openshift_infra_nodes]: CHECK_FAILED ["['NotFound: resources.openshift_infra_nodes.resources[0].resources.root_volume: Volume 96187160-3c71-47de-98c9-2e3693e90003 could not be found. (HTTP 404) (Request-ID: req-696f3b71-1a4e-4984-a7cb-9d29b31157ad)']. 'CHECK' not fully supported (see resourc
2017-06-08 07:59:19Z [shift]: CHECK_FAILED Resource CHECK failed: ['["[\'NotFound: resources.openshift_infra_nodes.resources[0].resources.root_volume: Volume 96187160-3c71-47de-98c9-2e3693e90003 could not be found. (HTTP 404) (Request-ID: req-696f3b71-1a4e-4984-a7cb-9d29b31157ad)\']. \'CHECK\' not
Expected results:
The stack to be recovered to the original state (only the missing server to be recreated).
Additional info:
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://access.redhat.com/errata/RHBA-2017:2655