【发布时间】:2017-02-12 23:58:20
【问题描述】:
Ansible 执行所有依赖角色,但我在 meta 文件夹中的 main.yml 如下所示:
---
dependencies:
- { role: common, caller_role: docker, tags: ['packages'] }
因此,ansible 应该执行包含以下内容的角色 common 部分:
---
- name: Install required packages
package: name={{ item.name }} state=present
with_items:
- "{{ vars[caller_role]['SYSTEM']['PACKAGES'] }}"
tags:
- packages
- name: Modify /etc/hosts
lineinfile:
dest: /etc/hosts
line: "{{ vars[caller_role]['REGISTRY']['ip'] }} {{ vars[caller_role]['REGISTRY']['hostname']}}"
tags:
- write_etc_hosts
我执行 ansible 2.1.1.0 如下:ansible-playbook --list-tags site.yml 在这里我正在复制 site.yml:
- hosts: localhost
connection: local
remote_user: root
become: yes
roles:
- docker
最后是树:
├── common
│ ├── defaults
│ │ └── main.yml
│ ├── files
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── README.md
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ ├── tests
│ │ ├── inventory
│ │ └── test.yml
│ └── vars
│ └── main.yml
├── docker
│ ├── defaults
│ │ └── main.yml
│ ├── files
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── README.md
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ ├── tests
│ │ ├── inventory
│ │ └── test.yml
│ └── vars
│ └── main.yml
└── site.yml
我不明白发生了什么..
【问题讨论】: