Name |
Last commit
|
Last update |
---|---|---|
bin | ||
docs/man | ||
docsite | ||
examples | ||
hacking | ||
lib/ansible | ||
library | ||
packaging | ||
plugins | ||
test | ||
.gitignore | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
COPYING | ||
MANIFEST.in | ||
Makefile | ||
README.md | ||
RELEASES.txt | ||
VERSION | ||
setup.py |
Fixes #3686 Dependencies are enabled by adding a new directory/file named meta/main.yml to the role. The format of the dependencies are: dependencies: - { role: foo, x: 1, y: 2 } - { role: bar, x: 3, y: 4 } ... Dependencies inherit variables as they are seen at the time of the dependency inclusion. For example, if foo(x=1, y=2) has a dependency on bar(x=3,z=4), then bar will have variables (x=3,y=2,z=4). Different roles can have dependencies on the same role, and this variable inheritence allows for the reuse of generic roles quite easily. For example: Role 'car' has the following dependencies: dependencies: - { role: wheel, n: 1 } - { role: wheel, n: 2 } - { role: wheel, n: 3 } - { role: wheel, n: 4 } Role 'wheel' has the following dependencies: dependencies: - { role: tire } - { role: brake } The role 'car' is then used as follows: - { role: car, type: honda } And tasks/main.yml in each role simply contains the following: - name: {{ type }} whatever {{ n }} command: echo '' TASK: [honda tire 1] TASK: [honda brake 1] TASK: [honda wheel 1] TASK: [honda tire 2] TASK: [honda brake 2] TASK: [honda wheel 2] TASK: [honda tire 3] TASK: [honda brake 3] TASK: [honda wheel 3] TASK: [honda tire 4] TASK: [honda brake 4] TASK: [honda wheel 4] TASK: [I'm a honda] <- (this is in roles/car/tasks/main.yml)
Name |
Last commit
|
Last update |
---|---|---|
bin | Loading commit data... | |
docs/man | Loading commit data... | |
docsite | Loading commit data... | |
examples | Loading commit data... | |
hacking | Loading commit data... | |
lib/ansible | Loading commit data... | |
library | Loading commit data... | |
packaging | Loading commit data... | |
plugins | Loading commit data... | |
test | Loading commit data... | |
.gitignore | Loading commit data... | |
CHANGELOG.md | Loading commit data... | |
CONTRIBUTING.md | Loading commit data... | |
COPYING | Loading commit data... | |
MANIFEST.in | Loading commit data... | |
Makefile | Loading commit data... | |
README.md | Loading commit data... | |
RELEASES.txt | Loading commit data... | |
VERSION | Loading commit data... | |
setup.py | Loading commit data... |