Revision history [back]

That looks like a bug in the --dry-run output. Unfortunately the dry-run capability had a number of limitations from the start and isn't well maintained. Judging by the fact that it says the resource statuses are INIT_COMPLETE, I suspect that it's failing to even notice the existing resources in the stack. Feel free to raise a bug.

The most accurate way to tell what resources will be replaced is by looking at the documentation for the resource type and checking for each property that might change whether it says "Updates cause replacement".

Obviously it would be ideal if this process could be automated, although it's a surprisingly complex problem - a harmless update of one resource could cause its attributes to change, and if those attributes are referenced by another resource then that could cause the second resource to be replaced. Heat can't tell when attributes are going to change, so the best it could do even in principle is to say that some resources will definitely be replaced, some will not, and some are undetermined (and in practical templates it will be common for many resources to fall in the latter group). And the current output is not rich enough to tell you even that much.