Regression: ansible level branch unable to resolve playbook_dir?

Hello,

coming from 1.7.2 I just installed the devel branch (116109) via pip (git+https://github.com/ansible/ansible.git@devel#egg=ansible) (to get the omit feature). However a formerly working include:

  • include: “{{playbook_dir}}/roles/accounts/tasks/copy_ssh_keys_for_system.yml”

now does not work anymore, I get:
ERROR: file could not read: /HOME/workspace/tooling/ci-setup/roles/ci/tasks/{{playbook_dir}}/roles/accounts/tasks/copy_ssh_keys_for_system.yml

Is this a regression?
Kind Regards
Mirko

A regression is a bug that was previously fixed that has reoccured, but does not apply to a new bug, which is simply a bug.

The Wise words of Will Woods here almost get it right - http://ohjeezlinux.wordpress.com/2013/01/03/new-rule-about-regressions/

It does seem that not having {{playbook_dir}} defined is most definitely a bug however, so if you can file that on GitHub that would be great.

Thanks!

Hello Michael,

thanks for your answer. I now tried to reproduce the bug with a tiny
project. I now read that in 1.8 the modules are not part of ansible
anymore, so I checked out the core and extras seperately.
What I have done (this is on Mac OS X 10.10.1):

--- snip ---
# PWD=$HOME/workspace/foss
git clone https://github.com/ansible/ansible
git clone https://github.com/ansible/ansible-modules-core
git clone https://github.com/ansible/ansible-modules-extras
cd ansible
make
cd ..
mkdir ansible-no-playbook
cd ansible-no-playbook
virtual-env2.7 /usr/bin/python2.7 venv
. venv/bin/activate
pip install ../ansible
ansible --version (=1.8)
echo 127.0.0.1 > hosts
--- snap ---

Now even running something like ansible-doc does no work correctly. I tried:
./venv/bin/ansible-doc -M
$HOME/workspace/foss/ansible-modules-core:$HOME/workspace/foss/ansible-modules-extras
-l
but nothing is shown.

I tried the following as well:

[default]
hostfile=hosts
library=HOME/workspace/foss/ansible-modules-core/:HOME/workspace/foss/ansible-modules-extras/

Now running ./venv/bin/ansible-doc -l throws an error:

Traceback (most recent call last):
  File "HOME/workspace/foss/ansible-no-playbook/venv/bin/ansible-doc",
line 324, in <module>
    main()
  File "HOME/workspace/foss/ansible-no-playbook/venv/bin/ansible-doc",
line 266, in main
    pager(get_module_list_text(module_list))
  File "HOME/workspace/foss/ansible-no-playbook/venv/bin/ansible-doc",
line 169, in get_module_list_text
    displace = max(len(x) for x in module_list)
ValueError: max() arg is an empty sequence

I even tried symlinking above repositories to
venv/lib/python2.7/site-packages/ansible/modules as core and extras.

I am a little bit confused how to get this basically working?

Regards
Mirko
Regards Mirko

Bug filed: https://github.com/ansible/ansible/issues/9618 :slight_smile:
Regards Mirko