It's difficult to see this getting fixed in Icehouse, for all of the reasons you've outlined above. (The plan is to fix this in Juno.)
I believe the workaround is to use the OS::Heat::UpdateWaitConditionHandle resource in place of AWS::CloudFormation::WaitConditionHandle. This resource gets replaced on every stack update, so you don't need to rename it to trigger a replacement. That should ensure you can always access it, since its always in the template (with the same name).
Perhaps Clint can confirm that this is the standard practice for TripleO at the moment?
It's difficult to see this getting fixed in Icehouse, for all of the reasons you've outlined above. (The plan is to fix this in Juno.)
I believe the workaround is to use the OS::Heat: :UpdateWaitCond itionHandle resource in place of AWS::CloudForma tion::WaitCondi tionHandle. This resource gets replaced on every stack update, so you don't need to rename it to trigger a replacement. That should ensure you can always access it, since its always in the template (with the same name).
Perhaps Clint can confirm that this is the standard practice for TripleO at the moment?