ansible-pull and group_vars

Hello,

I am trying to set ansible-pull to provision ec2 instances … with not much success so far …

I tried using the ec2.py dynamic inventory:

ansible-pull -C feature/ci -d /home/ec2-user/ansible -i ansible/ec2.py tag_Name_qatest23 -U ssh://git@repo/infra/ansible-play.git local.yml

and I get the following error:
ansible-pull “ERROR: provided hosts list is empty”

When trying a static inventory file with :

[coyote]
127.0.0.1 ansible_connection=local

[eu-west-1:children]
coyote

ansible-pull -C feature/ci -d /home/ec2-user/ansible -i /home/ec2-user/ansible/inventories/QA.yml -U ssh://git@stash.aws.onlotaris.com/infra/ansible-play.git local.yml

the playbook runs, but group_vars does not seem to be evaluated…

Is this a normal behavior?

Thanks.

Fred

Correct me if I am wrong, but it seems like you are trying manage other ec2 hosts with ansible-pull? ansible-pull is designed to only run plays against the current host and in fact limits the inventory to localhost/127.0.0.1. If your intent is to execute playbooks when a git repo changes or from a git repo, you will need to combine git and ansible-playbook into a custom script. #!/usr/bin/psuedo-code cd $checkout git pull --rebase ansible-playbook -i inventory site.yml You could also create a simple wrapper play … - hosts: localhost gather_facts: False tasks: - git: register: git_check - shell: ansible-playbook when: git_check.changed

Hi James,

I am running the plays against the host running ansible-pull. But I was expecting ansible to be able to evaluate the group membership of localhost and load the proper group_vars files.

Thanks,

Fred

This used to work fine but not anymore since a week or so.

Hi Jean-Sebastien,

Really? can you confirm that you’ve been using ansible-pull having the group_vars successfully evaluated?

How come is this not working anymore? is it an issue that no one raised so far ? or is it a documented new behavior?

Cheers,

Fred

Don’t know if it is a documented behavior.

I was generating /etc/ansible/hosts with localhost belonging to a specific group.
Then ansible-pull from a repository with the corresponding group_vars/group defined.
It used to work fine and broke last week.
I’m using the ansible package from ubuntu trusty.

I have switched to git clone + ansible-playbook in the meantime.

FYI – There’s currently a ticket open on this one.

Hi Michael

Could you please provide a link to the ticket for us future people?

This is the closest I found at around the right age, with my limited understanding of the problem: https://github.com/ansible/ansible/issues/6563