How to get current role name in an ansible task

不打扰是莪最后的温柔 提交于 2019-12-02 20:23:12
jarv

As of Ansible 2.2:

{{role_name}}

As of Ansible 2.1:

{{role_path|basename}}

Older versions:

There is no way to do this in the current version of Ansible, here are a couple options that might work for you instead:

1) Use set_fact to set a role_name var to the name the of role as the first task in your tasks/main.yml file

- set_fact: role_name=some-role-name

2) Pass a parameter to your role that has the name

- roles:
  - role: some-role-name
    role_name: some-role-name
krad

The simplest way is to just use the following

{{role_path|basename}}

See this post:

To get the role directory:

role_dir: "{{ lookup('pipe', 'pwd') | dirname }}"

To get the role name:

role_name: "{{ lookup('pipe', 'pwd') | dirname | basename }}"
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!