Commit graph

6282 commits

Author SHA1 Message Date
James Cammarata
9a401e73a6 Adding support for role dependencies.
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)
2013-08-15 09:29:51 -05:00
James Cammarata
ad595eadea Enable error_on_undefined_vars by default 2013-08-15 09:28:34 -05:00
James Cammarata
10a0f03cdc Cleaning up of apt_repository module and removing wget parts 2013-08-13 16:11:03 -05:00
Michael Vogt
de404eac06 use either pycurl or wget to download from launchpad, also improve error message if neither is installed 2013-08-13 14:39:47 -05:00
Michael Vogt
5e56d42ed1 use pycurl instead of urllib2 when talking to launchpad to actually get SSL cert verification, see https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/915210 or CVE-2011-4407 for a previous similar issue in software-properties 2013-08-13 14:39:47 -05:00
James Cammarata
c4852f6954 Cleaning up some pep8 whitespace issues in mongodb_user 2013-08-13 13:00:37 -05:00
lwade
eaac295fb2 Basic module to tag resources in EC2. 2013-08-13 12:55:06 -05:00
James Cammarata
0958673574 Reverting version_added field in the apt_repository module 2013-08-13 09:53:49 -05:00
Alexander Saltanov
ded947008a Replacement for apt_repository.
1. Debian Squeeze is supported out of box now.
2. Repository type "deb" or "deb-src" should be explicitly specified.
3. If a source had beed added it must be possible to remove it.
4. PPA can be only used against Ubuntu hosts.
2013-08-13 09:53:49 -05:00
asmajlovic
8f45b77d30 Comparison data type mismatch corrected 2013-08-13 09:28:53 -05:00
James Cammarata
0c98c764e3 Fixing up a small issue with the mongodb_user docs 2013-08-13 09:05:19 -05:00
Ben Podoll
94e60563b4 adding fixes to support older versions of mongo (and pymongo) as well as new versions 2013-08-13 00:23:58 -05:00
Ben Podoll
bcef62cd39 adding comment about required version of mongodb to use the roles param 2013-08-12 21:25:21 -05:00
Ben Podoll
d330228d11 adding the ability to specify roles when adding/modifying a mongo user 2013-08-12 15:03:31 -05:00
Ben Podoll
3e32654f9d fixing problem causing docs not to build 2013-08-12 12:17:34 -05:00
Ben Podoll
13bef3579f adding a little more info to the 'path' param so it's clear there are aliases (which are used in other examples) to avoid confusion 2013-08-12 11:45:32 -05:00
James Cammarata
6feb4e3837 Fail apt package install when nothing is matched by the fnmatch pattern
Related to PR #3823
2013-08-12 11:26:31 -05:00
Michael Vogt
5c39c659e5 add support for fnmatch() style apt filenames
You can write a apt action like "- apt: pkg=apt*" with this package.
2013-08-12 16:11:15 +02:00
Michael DeHaan
11fe4566f8 Document facts.d 2013-08-12 09:49:54 -04:00
Mark Mandel
6e3ec9ccc0 expand user home path in stat. 2013-08-12 17:34:54 +10:00
Michael DeHaan
9b09ff4a65 Merge pull request #3821 from danxshap/django_venv_expand_user
Use home path expansion for virtualenv param in django_manage module
2013-08-11 17:53:01 -07:00
danxshap
4db4607ee5 use home path expansion for virtualenv param in django_manage module 2013-08-11 14:02:13 -07:00
Michael DeHaan
4e5feb6322 Merge pull request #3763 from j2sol/rax-updates
Update rax to sync with rax_clb_nodes
2013-08-11 13:37:25 -07:00
Michael DeHaan
eb54c222de update changelog 2013-08-11 16:26:12 -04:00
Michael DeHaan
06cb24940d Merge pull request #3797 from mscherer/openshift_github
Add openshift inventory plugin
2013-08-11 13:25:07 -07:00
Michael DeHaan
bc02e20503 Merge branch 'rsynctake2' into devel
Conflicts:
	CHANGELOG.md
2013-08-11 16:22:36 -04:00
Michael DeHaan
cde87f2f55 Add missing version_added to docs. 2013-08-11 16:21:00 -04:00
Michael DeHaan
70c42eeb64 Merge pull request #3784 from drewblas/devel
Added git disclaimer about dealing with ssh host checking
2013-08-11 12:50:48 -07:00
Michael DeHaan
6af77226fa Merge pull request #3818 from resmo/feature/docsite-update
update docsite about new variable inventory_file
2013-08-11 12:50:20 -07:00
Michael DeHaan
17aa0d12de Merge pull request #3814 from ftao/inventory_dir_abs
fix inventory.basedir is not absolute path when hostfile is startswith "./"
2013-08-11 08:46:08 -07:00
Michael DeHaan
1336bbd2f2 Merge pull request #3815 from amenonsen/typos
Fix some typos discovered during casual reading
2013-08-11 08:45:00 -07:00
Michael DeHaan
5a063fd55a Merge pull request #3816 from DanLovesProofs/fix-docs
Brings postgresql_db examples in line with documentation.
2013-08-11 08:43:23 -07:00
Abhijit Menon-Sen
1a90d01ba9 Fix some typos discovered during casual reading 2013-08-11 18:41:23 +05:30
René Moser
28267de3fe update docsite about new variable inventory_file 2013-08-11 11:08:57 +02:00
Dan Robinson
bda2ce6ffd Brings postgresql_db examples in line with documentation.
As of now, the documentation lists a parameter as "name",
whereas the examples use a parameter called "db". This brings
them in line.
2013-08-11 00:41:23 -07:00
ftao
51a180b150 fix inventory.basedir is not absolute path when hostfile is startswith "./" 2013-08-11 10:50:47 +08:00
Michael DeHaan
db8d9a6ea7 Update changelog 2013-08-10 19:03:00 -04:00
Michael DeHaan
f8c97d6e79 Style/docs cleanup, and also improve an error message. 2013-08-10 18:58:45 -04:00
Michael DeHaan
aeb8649da5 Merge branch 'ansible-rsync-take2' of git://github.com/tima/ansible into rsynctake2 2013-08-10 18:31:45 -04:00
Michael DeHaan
4d1f447908 Merge pull request #3650 from bcoca/forking_optimizations
forking least possible
2013-08-10 15:29:19 -07:00
Michael DeHaan
baffa8df72 These fields are booleans. 2013-08-10 18:16:01 -04:00
Michael DeHaan
633abca916 Merge branch 'nocolor' of git://github.com/amenonsen/ansible into devel 2013-08-10 18:11:27 -04:00
Michael DeHaan
5e049a5df7 Merge branch 'fix_service_with_initscript' of git://github.com/psvo/ansible into devel 2013-08-10 18:05:35 -04:00
Michael DeHaan
ee11d69697 Merge branch 'better_ini_errors2' of git://github.com/bcoca/ansible into devel 2013-08-10 18:01:17 -04:00
Michael DeHaan
0988a86653 Misc style fixes. 2013-08-10 17:59:05 -04:00
Michael DeHaan
146bbfecc5 Smite tabs in whitespace. 2013-08-10 17:58:03 -04:00
Michael DeHaan
587ea03097 Merge branch 'devel' of git://github.com/hura/ansible into devel 2013-08-10 17:57:41 -04:00
Michael Vogt
89bc43cab0 support i18n on sudo failure 2013-08-10 17:56:39 -04:00
Michael DeHaan
0905683c1f Merge pull request #3806 from neomantra/issue_3438_x
digital_ocean #3438: use get instead of [] to prevent KeyError
2013-08-10 14:40:18 -07:00
Michael DeHaan
4bdbe4dc4f Remove some test prints 2013-08-10 17:37:04 -04:00