Issue adding role dependancies

63 views
Skip to first unread message

Geoff Webster

unread,
Mar 23, 2015, 12:48:30 PM3/23/15
to ansible...@googlegroups.com
Hi, I am having issues including a role as a dependency and I am not sure if I am doing something wrong or if I hit a bug.  

I am trying to include a role in another role according to the ansible docs that say to make a rundeck/meta/main.yml where I reference krb5 role

rundeck/meta/main.yml
---
- dependencies:
   - { role: krb5 }

├── roles

  ├── krb5


    ├── tasks


      └── main.yml


    └── templates


        └── krb5.conf.j2

  ├── rundeck


    ├── files


      └── its_logo.png


    ├── handlers


      └── main.yml


    ├── meta


      └── main.yml


    ├── tasks


      └── main.yml


    └── templates


        ├── framework.properties.j2


        ├── profile.j2


        ├── realm.properties.j2


        ├── rundeck-config.properties.j2


        └── rundeck_httpd.conf.j2

├── rundeck_test.yml


├── site.yml


└── vars


    └── rundeck_vars.yml


However when I do that I just get a traceback when I run the playbook that hasn't been helpful (at least as much as I understand it)

==> rundeck: Running provisioner: ansible...

PYTHONUNBUFFERED=1 ANSIBLE_FORCE_COLOR=true ANSIBLE_HOST_KEY_CHECKING=false ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --private-key=/Users/sidewinder12s/Documents/vagrant/rundeck/.vagrant/machines/rundeck/virtualbox/private_key --user=vagrant --connection=ssh --limit='rundeck' --inventory-file=/Users/sidewinder12s/Documents/vagrant/rundeck/.vagrant/provisioners/ansible/inventory --sudo /Users/sidewinder12s/Documents/its-lab-services-ansible/linux-configuration/rundeck_test.yml

Traceback (most recent call last):

  File "/usr/local/Cellar/ansible/1.8.4_1/libexec/bin/ansible-playbook", line 326, in <module>

    sys.exit(main(sys.argv[1:]))

  File "/usr/local/Cellar/ansible/1.8.4_1/libexec/bin/ansible-playbook", line 266, in main

    pb.run()

  File "/usr/local/Cellar/ansible/1.8.4_1/libexec/lib/python2.7/site-packages/ansible/playbook/__init__.py", line 313, in run

    play = Play(self, play_ds, play_basedir, vault_password=self.vault_password)

  File "/usr/local/Cellar/ansible/1.8.4_1/libexec/lib/python2.7/site-packages/ansible/playbook/play.py", line 100, in __init__

    ds = self._load_roles(self.roles, ds)

  File "/usr/local/Cellar/ansible/1.8.4_1/libexec/lib/python2.7/site-packages/ansible/playbook/play.py", line 414, in _load_roles

    roles = self._build_role_dependencies(roles, [], {})

  File "/usr/local/Cellar/ansible/1.8.4_1/libexec/lib/python2.7/site-packages/ansible/playbook/play.py", line 256, in _build_role_dependencies

    dependencies = data.get('dependencies',[])

AttributeError: 'list' object has no attribute 'get'

Ansible failed to complete successfully. Any error output should be

visible above. Please fix these errors and try again.

Would anyone be able to help me figure out why I can't include this role? I thought it might be something related to this, but I tried putting blank tags in the dependency call (ex. - { role: krb5, tags: [] } ) but that had no change and I was also not calling tags anywhere, but I am not sure if that would make a difference. Any help would be great, Thanks!




Dick Davies

unread,
Mar 24, 2015, 3:44:04 AM3/24/15
to ansible list
Your yaml doesn't look mine - try this in the meta.yml:

---
dependencies:
- { role: krb5 }
> --
> 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/4dbd226c-9ac4-4c32-a036-93847c1fd69a%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Tomasz Kontusz

unread,
Mar 24, 2015, 4:40:35 AM3/24/15
to ansible...@googlegroups.com
meta/main.yml should be a dictionary, not a list. Drop the dash from "- dependencies:".
But the error should be nicer, you can make an issue about that :-)

Geoff Webster <shamu...@gmail.com> napisał:

--
Wysłane za pomocą K-9 Mail.

Geoff Webster

unread,
Mar 24, 2015, 10:28:16 AM3/24/15
to ansible...@googlegroups.com
Thanks, that was the issue. 

I'll create an issue for that. 
Reply all
Reply to author
Forward
0 new messages