adding the ability to specify roles when adding/modifying a mongo user
adding comment about required version of mongodb to use the roles param
adding fixes to support older versions of mongo (and pymongo) as well as new versions
Fixing up a small issue with the mongodb_user docs
Comparison data type mismatch corrected
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.
Reverting version_added field in the apt_repository module
Basic module to tag resources in EC2.
Cleaning up some pep8 whitespace issues in mongodb_user
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
use either pycurl or wget to download from launchpad, also improve error message if neither is installed
Cleaning up of apt_repository module and removing wget parts
Enable error_on_undefined_vars by default
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)
Small cleanup, no need to call _get_role_path a second time
now missing dep gives nicer error and docs disambiguate as several libs
out there have same name.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
Adding evaluation of role vars as the dep tree is built

This allows variables to be inserted into the role scope specifically
while also being inserted into the global scope.
Merge pull request #3867 from bcoca/pingdom_nicer_import_error

now missing dep gives nicer error and docs disambiguate lib
Adding documentation on role dependencies and variable scope/inheritance
Removing synchronize momentarily as it looks like this won't make 1.3 dates