Description of problem:
When accidentally commenting out some config file in deploy script, it will not just comment out that file but all the lines from that on .
When using composable roles this can mean you will end up deleting the nodes related to them in the undercloud and shutting them down leading to outage and some panic for the openstack operator.
Related to BZ 1569293 
Version-Release number of selected component (if applicable):
Tested in Ocata but I guess it might be applicable to any.
Steps to Reproduce:
1. Deploy openstack using a deploy script similar to  without commenting out any config file.
2. Re-run deploy commenting out a config file in the middle section.
All non-standard roles, in our case we have different composable roles based on the hardware specs (nic ordering mainly) will be deleted in the undercloud and stopped.
Luckily the OS is not gone and can be booted back up without data loss.
From that moment on, the overcloud cannot be longer managed by the undercloud until it is database or disk restored.
Assuming that a roles-data.yaml file is always needed and has to be the last config file added, it would be great to implement some validation so if there is no roles file the deploy do not happen or warn the operator.
I might suggest not to base the check on roles-data.yaml because it can be customized and check for the -r parameter.