1. After openstack overcloud node delete, any subsequent update appears to reset the e.g ComputeRemovalPolicies parameter in the heat environment. This is probably a bug in tripleo-common I think, and it makes it somewhat confusing figuring out why some node is permanently blacklisted.
2. In heat, the removal_policies is sticky (which is why the above bug doesn't cause problems), we only ever append to the list in heat here:
Probably we need two fixes, one to tripleo-comon to persist the *RemovalPolicies parameters set by tripleo on node-delete, e.g update the plan with the parameter and ensure it's visible unless overridden by an operator explicitly, and one to heat which adds a new interface that optionally allows the removal_policies list to be explicitly interpreted vs added to the internal state.
I think there may be two bugs here:
1. After openstack overcloud node delete, any subsequent update appears to reset the e.g ComputeRemovalP olicies parameter in the heat environment. This is probably a bug in tripleo-common I think, and it makes it somewhat confusing figuring out why some node is permanently blacklisted.
2. In heat, the removal_policies is sticky (which is why the above bug doesn't cause problems), we only ever append to the list in heat here:
https:/ /github. com/openstack/ heat/blob/ master/ heat/engine/ resources/ openstack/ heat/resource_ group.py# L333
Probably we need two fixes, one to tripleo-comon to persist the *RemovalPolicies parameters set by tripleo on node-delete, e.g update the plan with the parameter and ensure it's visible unless overridden by an operator explicitly, and one to heat which adds a new interface that optionally allows the removal_policies list to be explicitly interpreted vs added to the internal state.