Only unlink the symlink tempfile on error if it was created in the
previous operation.
Respect region_name in nova_compute

Signed-off-by: Oleg Bulatov <oleg@bulatov.me>
assign_public_ip was actually added in 1.5

Checked 1.4.5 and this option doesn't exist. Will check/update/pull docs next.
Merge pull request #6600 from jjshoe/patch-1

assign_public_ip was actually added in 1.5
ec2_group: Add support for handling egress rules
ec2_group: Deduplicate rule parsing/validation code
Fixes #5622 included tasks in roles now inherit tags from the role
ec2_group: Auto create missing groups referenced in rules

Suppose a pair of groups, A and B, depending on each other. One solution
for breaking the circular dependency at playbook level:

    - declare group A without dependencies
    - declare group B depending on A
    - declare group A depending on B

This patch breaks the dependency at module level. Whenever a depended-on
group is missing it's first created. This approach requires only two tasks:

    - declare group A depending on B (group B will be auto created)
    - declare group B depending on A

When creating a group EC2 requires you to pass the group description. In
order to fullfil this, rules now accept the `group_desc` param. Note
that group description can't be changed once the group is created so
it's nice to keep descriptions in sync.

Concrete example:

- ec2_group:
    name: mysql-client
    description: MySQL Client
    rules_egress:
      - proto: tcp
        from_port: 3306
        to_port: 3306
        group_name: mysql-server
        group_desc: MySQL Server

- ec2_group:
    name: mysql-server
    description: MySQL Server
    rules:
      - proto: tcp
        from_port: 3306
        to_port: 3306
        group_name: mysql-client
ec2_group: Request a fresh group object after creation

When a group is created, an egress_rule ALLOW ALL to 0.0.0.0/0 is added
automatically but it's not reflected in the object returned by the AWS API
call. After creation we re-read the group for getting an updated object.
ec2_group: rules are not a required task argument
ec2_group: Add documentation for rules_egress
Fixes #4239 merge injects with new vars loaded from files
Update documentation YAML syntax.
Improvements to the rax inventory script
Fixes #6590 add set_remote_user parameter to synchronize

This allows usage of custom ssh configs for remote hosts where
the inventory user does not match the configured user.
Fixes #4325 allow async and poll parameters to be templated vars
etcd lookup: use $ANSIBLE_ETCD_URL if it exists in the env
Allow npm to install to a directory that doesn't yet exist

If path is specified but does not exist, create it.
Fail if path is specified but is not a directory
ec2_group: Document group_desc rule param
Addresses #6591 Hide diff for lineinfile if file did not change.