Description of problem:
Owing to the large number of Tripleo based stack update issues, we have seen a very burning requirement for an operator to be aware of the changes he/she is passing while stack update.
These changes can be :
1. Parameter value changes.
Why: Some parameter values are not supported to be changed, like network cidr/vlan/vip etc.
2. Environment files that were added since last stack update or Environment files that were removed since last stack update.
3. New parameters that are added in environment files.
4. Command changes, like to options added.
Since the number of configurable services are considerably increasing & the average deploy command accordingly has considerable service yaml, it is becoming more prone for
customers to make mistakes & not properly track them.
Currently our deployment tool is considered a very sensitive method where a small mistake can break really bad & customers may end up with engineering involvement to fix it.
Although we understand there is a technical reason behind all that, we need to make sure operators have an ease of identifying what they are about to change while doing a stack update.
How this can be implemented:
This looks like something that can be done in python-tripleoclient as a mistral workflow, so that it can print out while doing a stack update.
1 & 3 can be done via diff from swift plan. Although other may need some functionality in mistral or heat.
Version-Release number of selected component (if applicable):