Currently, we have three stages: pre-deployment, network validation and post-deployment
However, some of the pre-deployment validations can (and should) be run before the undercloud is installed -- e.g. the hardware requirements.
So based on what we know now, I propose these stages (we need to come up with names for them):
- Before we even install the undercloud
- validate the hardware
- can be run from outside of the undercloud node
- Validate the undercloud installation
- ping the gateway from undercloud.conf, rogue dhcp,
- Before hardware discovery
- validate instackenv.json, check ipmi connectivity
- After hardware discovery
- check the discovered hardware for firmware differences etc.
- Before the overcloud deployment
- check the network environment setup, verify the heat templates & parameters for typos, check connectivity of the compute nodes, etc.
- After the overcloud deployment
- neutron-sanity-check, open file limits, rabbitmq connections, NTP, etc.
The UIs would then use Mistral to run these groups in the right places, but we would have a good story for the manual verification as well. E.g.:
"Before installing the undercloud, clone validations locally and run ansible-playbook -i hosts stages/undercloud-hardware.yaml. Then install the undercloud, run the hardware validations again as well as stages/undercloud-installation.yaml. Next, write the instackenv.json and run the validations/instackenv.yaml, etc...."
What do you think?
Currently, we have three stages: pre-deployment, network validation and post-deployment
However, some of the pre-deployment validations can (and should) be run before the undercloud is installed -- e.g. the hardware requirements.
So based on what we know now, I propose these stages (we need to come up with names for them):
The UIs would then use Mistral to run these groups in the right places, but we would have a good story for the manual verification as well. E.g.:
"Before installing the undercloud, clone validations locally and run
ansible-playbook -i hosts stages/undercloud-hardware.yaml. Then install the undercloud, run the hardware validations again as well asstages/undercloud-installation.yaml. Next, write the instackenv.json and run thevalidations/instackenv.yaml, etc...."What do you think?