Open vvaldez opened 8 years ago
@vvaldez yes, totally agree. However, I believe we may be able to do this through a series of inventory file - i.e.: set a variable for what hosting env to use and allow the tools to use the correct roles/modules to provision into the correct environment. Let's discuss....
Definitely separate your provisioning from your post-provisioning tasks. I would split your provisioners into separate playbooks based on the provider as you suggested. You could have another playbook like build_aws.yml that is inclusive of the provision_aws.yml and the configure.yml post-provisioning playbook.
I've been trying to think of how some of the files should either be renamed or split out. Does it makes sense to have a specific provision script for each infrastructure environment (OpenStack, AWS, RHEV, etc) or should there instead be an option in a single provision.sh script for infrastructure type which calls the correct playbook?
This brings up another issue, right now provision.sh calls ose-provision.yml which uses OpenStack so there is no real distinction on the infrastructure backend based on the name. When the AWS provisioning is added (and others in the future, RHEV for example) we would presumably have aws-provision.yml and rhev-provision.yml but ultimately everything will be provisioning for OSE so should we discuss decoupling the infrastructure bootstrapping from the OSE-specific tasks? That way there would be a openstack-provision.yml that runs before ose-provision.yml? Or similar to above, should this instead be a variable that can be set to dynamically switch infrastructure backends?