Repeat a task based on a csv string from extra_var

Hello All,

There is a specific nut I am trying to crack in ansible. We want to dev a job template that add disks to and server instance. The size and number of disk will be provided as an extra_var csv string, eg. 10,100,25,200 would add 4 disks of sizes 10GB, 100GB, 25GB & 200GB. We have the task ready and it works, so adding one disk is not a problem, but how do we then repeat that task for the next disk? Its not a question of nuts and bolts of adding disks, its a question how do we take the csv string (not file) and then loop the task.

Looks like this is possible in Ansible, as per the below articles.
http://docs.ansible.com/ansible/latest/playbooks_loops.html
https://groups.google.com/forum/#!searchin/ansible-project/.split$20with_items$20comma|sort:date/ansible-project/jpqKAXezl40/TItF3W48AAAJ
https://groups.google.com/forum/#!searchin/ansible-project/.split|sort:date/ansible-project/QmvdMpaLxwY/Czv0irDoCgAJ
https://groups.google.com/forum/#!searchin/ansible-project/.split|sort:date/ansible-project/x2MCN2Qc4GU/fQSvxJEiAQAJ

or is this something that requires developing a module?

Thanks

`

  • hosts: localhost
    vars:
    foo: 10,30,20
    tasks:
  • debug:
    var: item
    with_list: “{{ foo.split(‘,’) }}”

`

`

TASK [debug] *******************************************************************
ok: [localhost] => (item=10) => {
“attempts”: 1,
“changed”: false,
“item”: “10”
}
ok: [localhost] => (item=30) => {
“attempts”: 1,
“changed”: false,
“item”: “30”
}
ok: [localhost] => (item=20) => {
“attempts”: 1,
“changed”: false,
“item”: “20”
}

`

Thanks Flowerysong, that helps… been playing a bit, but this does exactly the trick.