Skip to content

Instantly share code, notes, and snippets.

@vincentvdk
Created June 16, 2014 19:55
Show Gist options
  • Save vincentvdk/6a708a29fd28cddb4cab to your computer and use it in GitHub Desktop.
Save vincentvdk/6a708a29fd28cddb4cab to your computer and use it in GitHub Desktop.
ansible lvm dict
host_var
========
---
storage_vg: vg_vms
vms:
node-00008:
disksize: 10000
lvsize: 10G
memory: 1024
cpu: 1
diskformat: raw
node-00009:
disksize: 20000
lvsize: 20G
memory: 2024
cpu: 1
diskformat: raw
Task that creates the lv's
===========================
- name: create disk for Virtual Machine
action: lvol lv={{ item.key }} vg={{ storage_vg }} size="{{ item.value.lvsize }}" state=present
with_dict: vms
when: item.value.diskformat == "raw"
ansible output "fresh"
======================
$ ansible-playbook -i _test playbooks/vm-dns.yml -u root -k
SSH password:
PLAY [172.20.8.101] ***********************************************************
GATHERING FACTS ***************************************************************
ok: [172.20.8.101]
TASK: [std-kvm-vm | install needed packages] **********************************
ok: [172.20.8.101]
TASK: [std-kvm-vm | define Virtual Machine] ***********************************
ok: [172.20.8.101] => (item={'value': {'disksize': 20000, 'lvsize': '20G', 'diskformat': 'raw', 'cpu': 1, 'memory': 2024}, 'key': 'node-00009'})
ok: [172.20.8.101] => (item={'value': {'disksize': 10000, 'lvsize': '10G', 'diskformat': 'raw', 'cpu': 1, 'memory': 1024}, 'key': 'node-00008'})
TASK: [std-kvm-vm | debug] ****************************************************
ok: [172.20.8.101] => (item={'value': {'disksize': 20000, 'lvsize': '20G', 'diskformat': 'raw', 'cpu': 1, 'memory': 2024}, 'key': 'node-00009'}) => {
"item": {
"key": "node-00009",
"value": {
"cpu": 1,
"diskformat": "raw",
"disksize": 20000,
"lvsize": "20G",
"memory": 2024
}
},
"msg": "node-00009"
}
ok: [172.20.8.101] => (item={'value': {'disksize': 10000, 'lvsize': '10G', 'diskformat': 'raw', 'cpu': 1, 'memory': 1024}, 'key': 'node-00008'}) => {
"item": {
"key": "node-00008",
"value": {
"cpu": 1,
"diskformat": "raw",
"disksize": 10000,
"lvsize": "10G",
"memory": 1024
}
},
"msg": "node-00008"
}
TASK: [std-kvm-vm | create disk for Virtual Machine] **************************
changed: [172.20.8.101] => (item={'value': {'disksize': 20000, 'lvsize': '20G', 'diskformat': 'raw', 'cpu': 1, 'memory': 2024}, 'key': 'node-00009'})
changed: [172.20.8.101] => (item={'value': {'disksize': 10000, 'lvsize': '10G', 'diskformat': 'raw', 'cpu': 1, 'memory': 1024}, 'key': 'node-00008'})
PLAY RECAP ********************************************************************
172.20.8.101 : ok=5 changed=1 unreachable=0 failed=0
output ansible playbook 2nd run
===============================
$ ansible-playbook -i _test playbooks/vm-dns.yml -u root -k
SSH password:
PLAY [172.20.8.101] ***********************************************************
GATHERING FACTS ***************************************************************
ok: [172.20.8.101]
TASK: [std-kvm-vm | install needed packages] **********************************
ok: [172.20.8.101]
TASK: [std-kvm-vm | define Virtual Machine] ***********************************
ok: [172.20.8.101] => (item={'value': {'disksize': 20000, 'lvsize': '20G', 'diskformat': 'raw', 'cpu': 1, 'memory': 2024}, 'key': 'node-00009'})
ok: [172.20.8.101] => (item={'value': {'disksize': 10000, 'lvsize': '10G', 'diskformat': 'raw', 'cpu': 1, 'memory': 1024}, 'key': 'node-00008'})
TASK: [std-kvm-vm | debug] ****************************************************
ok: [172.20.8.101] => (item={'value': {'disksize': 20000, 'lvsize': '20G', 'diskformat': 'raw', 'cpu': 1, 'memory': 2024}, 'key': 'node-00009'}) => {
"item": {
"key": "node-00009",
"value": {
"cpu": 1,
"diskformat": "raw",
"disksize": 20000,
"lvsize": "20G",
"memory": 2024
}
},
"msg": "node-00009"
}
ok: [172.20.8.101] => (item={'value': {'disksize': 10000, 'lvsize': '10G', 'diskformat': 'raw', 'cpu': 1, 'memory': 1024}, 'key': 'node-00008'}) => {
"item": {
"key": "node-00008",
"value": {
"cpu": 1,
"diskformat": "raw",
"disksize": 10000,
"lvsize": "10G",
"memory": 1024
}
},
"msg": "node-00008"
}
TASK: [std-kvm-vm | create disk for Virtual Machine] **************************
failed: [172.20.8.101] => (item={'value': {'disksize': 20000, 'lvsize': '20G', 'diskformat': 'raw', 'cpu': 1, 'memory': 2024}, 'key': 'node-00009'}) => {"failed": true, "item": {"key": "node-00009", "value": {"cpu": 1, "diskformat": "raw", "disksize": 20000, "lvsize": "20G", "memory": 2024}}}
msg: Sorry, no shrinking of node-00009 without force=yes.
ok: [172.20.8.101] => (item={'value': {'disksize': 10000, 'lvsize': '10G', 'diskformat': 'raw', 'cpu': 1, 'memory': 1024}, 'key': 'node-00008'})
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/vincent/vm-dns.retry
172.20.8.101 : ok=4 changed=0 unreachable=0 failed=1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment