restructure virt to be more like cloud creation
remove a line from the todo
This commit is contained in:
parent
57c6d50f68
commit
1696cc678a
1
TODO
1
TODO
|
@ -13,6 +13,5 @@
|
||||||
- figure out how and where we are going to run these from cron
|
- figure out how and where we are going to run these from cron
|
||||||
|
|
||||||
- merge in tasks/playbooks/inventory/etc from:
|
- merge in tasks/playbooks/inventory/etc from:
|
||||||
- euca cloud
|
|
||||||
- builders
|
- builders
|
||||||
|
|
||||||
|
|
|
@ -14,44 +14,12 @@
|
||||||
- ${vars}/${ansible_distribution}.yml
|
- ${vars}/${ansible_distribution}.yml
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: get vm list on the vmhost
|
- include: $tasks/virt_instance_create.yml
|
||||||
delegate_to: $vmhost
|
- name: ping the host
|
||||||
virt: command=list_vms
|
ping: msg="pingy"
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: check if the host is already defined/existent
|
|
||||||
local_action: fail msg="host is up, need to kill it first"
|
|
||||||
when_string: ${inventory_hostname} in ${result.list_vms}
|
|
||||||
|
|
||||||
- name: echo well we got here
|
|
||||||
local_action: ping
|
|
||||||
delegate_to: $vmhost
|
|
||||||
|
|
||||||
- name: ensure the lv for the host is made
|
|
||||||
lvol: lv=$inventory_hostname_short vg=$volgroup size=$lvm_size state=present
|
|
||||||
delegate_to: $vmhost
|
|
||||||
|
|
||||||
- name: run the virt-install
|
|
||||||
shell: ${install_command}
|
|
||||||
delegate_to: $vmhost
|
|
||||||
|
|
||||||
- name: wait for the install to finish - by watching the domstate
|
|
||||||
# this just keeps checking the domstate until it stops running
|
|
||||||
shell: while `/usr/bin/virsh domstate ${inventory_hostname} | grep -q running` ; do sleep 20; done
|
|
||||||
delegate_to: $vmhost
|
|
||||||
async: 1200
|
|
||||||
poll: 10
|
|
||||||
|
|
||||||
- name: start the vm up
|
|
||||||
action: virt state=running name=${inventory_hostname}
|
|
||||||
delegate_to: $vmhost
|
|
||||||
|
|
||||||
- name: wait for ssh on the vm to start back
|
|
||||||
local_action: wait_for delay=10 host=${inventory_hostname} port=22 state=started timeout=1200
|
|
||||||
|
|
||||||
|
|
||||||
# include postinstall playbook
|
# include postinstall playbook
|
||||||
- include: /srv/web/infra/ansible/playbooks/koji/config_builder.yml
|
#- include: /srv/web/infra/ansible/playbooks/koji/config_builder.yml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
# setup a virt instance using a dizzying array of variables :)
|
||||||
|
- name: get vm list on the vmhost
|
||||||
|
delegate_to: $vmhost
|
||||||
|
virt: command=list_vms
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: ensure the lv for the host is made
|
||||||
|
lvol: lv=$inventory_hostname_short vg=$volgroup size=$lvm_size state=present
|
||||||
|
delegate_to: $vmhost
|
||||||
|
when_string: ${inventory_hostname} not in ${result.list_vms}
|
||||||
|
|
||||||
|
- name: run the virt-install
|
||||||
|
shell: ${install_command}
|
||||||
|
delegate_to: $vmhost
|
||||||
|
when_string: ${inventory_hostname} not in ${result.list_vms}
|
||||||
|
|
||||||
|
- name: wait for the install to finish - by watching the domstate
|
||||||
|
# this just keeps checking the domstate until it stops running
|
||||||
|
shell: while `/usr/bin/virsh domstate ${inventory_hostname} | grep -q running` ; do sleep 20; done
|
||||||
|
delegate_to: $vmhost
|
||||||
|
async: 1200
|
||||||
|
poll: 10
|
||||||
|
when_string: ${inventory_hostname} not in ${result.list_vms}
|
||||||
|
|
||||||
|
- name: start the vm up
|
||||||
|
action: virt state=running name=${inventory_hostname}
|
||||||
|
delegate_to: $vmhost
|
||||||
|
when_string: ${inventory_hostname} not in ${result.list_vms}
|
||||||
|
|
||||||
|
- name: wait for ssh on the vm to start back
|
||||||
|
local_action: wait_for delay=10 host=${inventory_hostname} port=22 state=started timeout=1200
|
||||||
|
when_string: ${inventory_hostname} not in ${result.list_vms}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue