Abstract
Currently, two playbooks (and associated roles) are used to deploy VMs depending on the setup (cluster or standalone)
vm-manager is capable of handling cluster or standalone setup, so it should be used into both.
The two playbooks (and roles) should be merged in one deploy_vms that handles both cases.
This also corrects #672
Detailed Description
The deploy_vms_cluster role uses vm-manager create behavior, whereas the deploy_vms_standalone one uses Libvirt directly.
vm-manager should be able to create a VM in standalone mode also. I suggest deleting the standalone playbook and adapting the cluster playbook to work in both cases.
Note that the deploy_vms_cluster playbook uses the cluster_vm library (library/cluster_vm.py) that calls vm-manager.
Even though vm-manager is capable handling standalone, cluster_vm may not be. It may require additional adaptation
Second note, this change will create an API break by renaming the playbooks. We must either
- Document it, if done before the 2.0 (API break is fine)
- Keep the old playbooks name and link them to the new mechanism (to avoid creating an API break)
Work to be done
- Test
deploy_vms_cluster in standalone
- Adapt if necessary (it must work seamlessly in standalone or cluster mode)
- Rename it into
deploy_vms
- Remove
deploys_vms_standalone
- Handle the API break (documentation, or mitigation)
- Update the wiki (multiple references to deploy_vms_standalone or cluster)
Abstract
Currently, two playbooks (and associated roles) are used to deploy VMs depending on the setup (cluster or standalone)
vm-manager is capable of handling cluster or standalone setup, so it should be used into both.
The two playbooks (and roles) should be merged in one
deploy_vmsthat handles both cases.This also corrects #672
Detailed Description
The
deploy_vms_clusterrole uses vm-manager create behavior, whereas thedeploy_vms_standaloneone uses Libvirt directly.vm-manager should be able to create a VM in standalone mode also. I suggest deleting the standalone playbook and adapting the cluster playbook to work in both cases.
Note that the
deploy_vms_clusterplaybook uses thecluster_vmlibrary (library/cluster_vm.py) that calls vm-manager.Even though vm-manager is capable handling standalone, cluster_vm may not be. It may require additional adaptation
Second note, this change will create an API break by renaming the playbooks. We must either
Work to be done
deploy_vms_clusterin standalonedeploy_vmsdeploys_vms_standalone