Geting vars from a different playbook to use as the "hosts" value

41 views
Skip to first unread message

Shih Oon Liong

unread,
Aug 13, 2014, 7:48:52 PM8/13/14
to ansible...@googlegroups.com
I am trying to run two playbooks at the same time, with one taking a var from the previous playbook.

My code is as follows

- name: Provision AWS
  hosts: localhost
  gather_facts: no
  vars_files:
    - configs/aws.yml
  tasks:
    - debug: msg='tag_Name_{{ aws.ec2.Name }}'
      register: aws_host_target
- hosts: {{ hostvars.localhost.aws_host_target.msg
  remote_user: ubuntu
  sudo: Trues
  tasks:
    - debug: var=hostvars.localhost.aws_host_target.msg

Yet everytime it hits the second playbook, the variable aws_host_target.msg is not readable specifically for the "hosts"

Any help would be great!        

Michael DeHaan

unread,
Aug 14, 2014, 7:52:39 AM8/14/14
to ansible...@googlegroups.com
It's not possible to use inventory variables in the "host" spec ("- hosts:").

Also, don't use debug with register, instead, if you need to set a variable:

- set_fact:
       foo: "tag_Name_{{ aws.ec2.Name }}"

"- hosts: {{ hostvars.localhost.aws_host_target.msg"

This is also an error because the trailing "}}" is missing.

You can pass in host spec parameters with "-e" on the command line.




--
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-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/db5c7342-c679-4edb-8c98-30dfdfb07dc0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Shih Oon Liong

unread,
Aug 14, 2014, 1:46:40 PM8/14/14
to ansible...@googlegroups.com
Thanks! - that clarifies it for me.
Reply all
Reply to author
Forward
0 new messages