Hi there,

first post here so just a quick thank you to everybody who has contributed 
to ansible, it'a fantastic piece of software.

I'm trying to specify hosts and roles at run time from cli while using a 
template playbook like this:

# ideal playbook

---
- hosts: "{{var_hosts}}"
  roles:
    - { role: {{item}} }
  with_items: "{{var_roles}}"

# cli call

ansible-playbook play.yml -e "var_hosts=host, var_roles=[role1, role2]"

This however did not work for me, it just seems it's not possible to use 
with_items on "roles".

Since I'm on 2.2 I thought I may use include_role, so I tried this:
---

- hosts: "{{var_hosts}}"
  tasks:
  - name: include roles
    include_role:
      name: "{{item}}"
    with_items: {{var_roles}}

this however failed with ERROR! 'item' is undefined

I thought I might not be able to use vars there, but if I define a var such 
as "role" and use it instead of "item" it works:

- hosts: "{{var_hosts}}"
  vars:
    role: test
  tasks:
  - name: include roles
    include_role:
      name: "{{role}}"

am I doing something wrong? is there any way I can pass roles from cli and 
load them dynamically?

thanks,

Spike

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/f77be684-6507-4d88-ad79-8969048b2b2c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to