Commit Graph

643 Commits (d003fcd66255f6afa39ca843edafbed582466122)

Author SHA1 Message Date
Robert Jailall 6530e76880 Refactor ec2_snapshot to make it more testable 2016-12-08 11:23:28 -05:00
Hagai Kariti 83aff77c26 made `wait` default to True in ec2_snapshot 2016-12-08 11:23:28 -05:00
Hagai Kariti fcd2b354b2 Add to the ec2_snapshot module the ability to create a snapshot only if one hasn't recently been created
- Added snapshot_max_age parameter
- Updated docs
- Made the default value of wait to be false, as it used to be
2016-12-08 11:23:28 -05:00
Toshio Kuratomi 49ee99fe73 result is now a dict and so needs different access syntax
Fixes #1848
2016-12-08 11:23:27 -05:00
Toshio Kuratomi b91684b8ad Remove unneeded urllib2 import 2016-12-08 11:23:27 -05:00
James Cammarata 99075976a8 Fix missing params to download_s3file in s3 2016-12-08 11:23:27 -05:00
James Cammarata 689f13548f Fixing s3 failures when bucket names contain dots 2016-12-08 11:23:27 -05:00
Brian Coca 9241955076 added missing version_Added to extra_hosts fixes #1843 2016-12-08 11:23:27 -05:00
Micheal Waltz 5f0d989973 Fix incorrect var name for api_version 2016-12-08 11:23:27 -05:00
Luke Rohde 05974273b3 Use msg kwarg to pass error message in ec2_snapshot 2016-12-08 11:23:27 -05:00
Brian Coca cd072e3090 added version added to headers in s3 2016-12-08 11:23:26 -05:00
Jaime Gago b203deee31 Fix example indentation bug 2016-12-08 11:23:26 -05:00
Brian Coca 92dfe33021 defined DEFAULT_DOCKER_API_VERSION to avoid it erroring out before we send the message that docker.py is missing 2016-12-08 11:23:26 -05:00
Toshio Kuratomi 103b150090 Convert object into dict so it will turn into json properly 2016-12-08 11:23:26 -05:00
Brian Coca 357d542bb3 clarified error messages to actually give back ansible module option instead of internal boto field name 2016-12-08 11:23:26 -05:00
Jesse Keating a913370687 Handle non-updatable openstack subnet details
Some things cannot be updated via the API, so check for those and fail
if the user is wanting to update them. Also don't try to update ipv6
stuff, as that doesn't work and will cause a traceback.
2016-12-08 11:23:26 -05:00
Jens Carl c0eedc6e87 Fix missing alias "groups". 2016-12-08 11:23:26 -05:00
Feanil Patel e4898a4348 If overwrite is set, download eagerly.
If the we are going to overwrite the file anyway,
there is no need to do any checksums locally or
grab the remote etag.
2016-12-08 11:23:26 -05:00
Micheal Waltz 950701ba3e Use a if/else instead to avoid loading possibly invalid values for Memory 2016-12-08 11:23:25 -05:00
Micheal Waltz af5e402b87 Set the API version when checking differences in containers and use this to determine the location of the Memory value depending on the version used.
In v1.18 and earlier it was ['Config']['Memory'], but in v1.19 it
changed to ['HostConfig']['Memory'].
2016-12-08 11:23:25 -05:00
billwanjohi 167e940e78 iam: don't delete passwords by default 2016-12-08 11:23:25 -05:00
Micheal Waltz f36666ae1d Use proper HostConfig element which contians the proper Memory value - fixes #1766 2016-12-08 11:23:25 -05:00
Lars Kellogg-Stedman 3d79d96a1b restore mem_limit
mem_limit got lost in the #1744; this restores it.  Thanks to @dgromov
for the report.
2016-12-08 11:23:25 -05:00
Lars Kellogg-Stedman 562341049e docker: fix parsing of docker __version__ string
If `docker.__version__` contains non-digit characters, such as:

    >>> import docker
    >>> docker.__version__
    '1.4.0-dev'

Then `get_docker_py_versioninfo` will fail with:

    ValueError: invalid literal for int() with base 10: '0-de'

This patch corrects the parsing of the version string so that
`get_docker_py_versioninfo` in this example would return:

    (1, 4, 0, '-dev')
2016-12-08 11:23:25 -05:00
Mike Putnam 9623cd570c Add missing GPLv3 License header
Fixes #1643
2016-12-08 11:23:25 -05:00
Ash Caire 682bf34a43 add headers param to s3 uploads 2016-12-08 11:23:25 -05:00
khassen 8b60dd349d Use the common/shared MD5 function. 2016-12-08 11:23:25 -05:00
Johan Haals 6a9a4d905a ensures API compatibility for read_only containers 2016-12-08 11:23:24 -05:00
Toshio Kuratomi 55271467d4 Remove validate_certs as the url is not user settable so we always want to validate the certificate 2016-12-08 11:23:24 -05:00
Artur Cygan d71b1444a9 Update route53.py
Fix typos
2016-12-08 11:23:24 -05:00
Johan Haals c88feaff7e changed version_added for read_only param
this feature will be released in 2.0
2016-12-08 11:23:24 -05:00
Baraa Basata 63a619fbae Fix iam_policy example 2016-12-08 11:23:24 -05:00
Johan Haals 6231a9d52f Added support for --read-only Docker containers
Adds support for mounting the container's root filesystem as read only.
2016-12-08 11:23:24 -05:00
Christian Hammerl 426ec96ea5 docker: add support to add/drop capabilities 2016-12-08 11:23:23 -05:00
Brian Coca 9b38e47d70 added rickmendes as maintainer 2016-12-08 11:23:23 -05:00
Brian Coca 1976ed931a minor doc fixes to docker_user 2016-12-08 11:23:23 -05:00
Brian Coca b62a6f01ab added version_Added for new signal option in docker module 2016-12-08 11:23:23 -05:00
Brian Coca 07fedaa03a corrected v ersion added 2016-12-08 11:23:23 -05:00
ayush f46daacf67 Updated doc strings so each character isn't considered a line 2016-12-08 11:23:23 -05:00
Toshio Kuratomi 8eba30b488 Deprecated _ec2_ami_search now verifies SSL certificates 2016-12-08 11:23:23 -05:00
Daniel Kerwin 277065a302 Too late for 1.8 2016-12-08 11:23:23 -05:00
Daniel Kerwin 3a68101fa3 Switch to _cap_ver_req and add cpu_set to create_containers 2016-12-08 11:23:23 -05:00
Alan Scherger 861d260b6c fix docs; only delete network if fwname is not provided 2016-12-08 11:23:23 -05:00
HelenaTian 1b614172f5 Update gce.py to correctly handle propagated metadata type from a mother template
My project is using Ansible to automate cloud build process. Ansible has a core module gce.py for managing GCE instances.
  We've come across a use case that's not yet supported - when executing ansible-playbook, if a child template is included, then metadata which is defined in and propagated from the mother template is treated as string type and not parsed correctly(which instead is dictionary type), and triggers release flow failure.
   We currently put some fix by explicitly casting metadata to string type in our own branch, but would like to contribute the fix to Ansible so that everyone onboarding GCE and using Ansible for release management could benefit from it, or hear owner's opinion on fixing the issue if there's a better fix in owner's mind:)
2016-12-08 11:23:23 -05:00
nemunaire f37510ebaa Add optional signal parameter when killing docker container 2016-12-08 11:23:23 -05:00
Daniel Kerwin 5b029bde98 Renamed to cpu_set 2016-12-08 11:23:22 -05:00
Daniel Kerwin 940baa92a6 Add support for cpusets. Requires docker-py >= 0.6.0 2016-12-08 11:23:22 -05:00
Brian Coca fedd1bed1f minor doc fixes, version added for latest feature 2016-12-08 11:23:22 -05:00
Herby Gillot c0676f93f5 rds: add the ability to reboot RDS instances 2016-12-08 11:23:22 -05:00
Eero Niemi 1f560f8dae Fixed parameter validation when creating a volume from a snapshot 2016-12-08 11:23:22 -05:00
whiter 2dc689894c Added 'resource_tags' alias 2016-12-08 11:23:22 -05:00
Brian Coca a0b0c022b8 corrected version_added 2016-12-08 11:23:22 -05:00
David Shrewsbury 014459e5ef Add new os_nova_flavor module.
The os_nova_flavor module allows a user with administrative privileges
to create and delete nova flavors.
2016-12-08 11:23:22 -05:00
Brian Coca ec6e75f1cc attempt to fix check mode when state='absent' 2016-12-08 11:23:21 -05:00
HAMSIK Adam e04a4a4114 Use mutually_exclusive in AnsibleModule 2016-12-08 11:23:21 -05:00
otdw 8740b44205 removed required together for resource pools, clusters, and template deployments. fixes inability to deploy from template on vsphere clusters without resource pools. Also, resource pools and cluster should not be required together as they are independant in vsphere 2016-12-08 11:23:21 -05:00
HAMSIK Adam 3d3be5e91f Fix missing , 2016-12-08 11:23:21 -05:00
whiter a5a9c92fcd Fixed dicts comparison for tags 2016-12-08 11:23:21 -05:00
whiter 54b02ee0da ec2_vpc_net refactor 2016-12-08 11:23:21 -05:00
HAMSIK Adam b7a13e263f Add version 2016-12-08 11:23:21 -05:00
HAMSIK Adam 05df069176 Add module parameter for security group name. This make ec2_elb_lb module consitent with others 2016-12-08 11:23:21 -05:00
Maksim Losev 482d8da2dc Use HostConfig object when creating container with Docker Remote API > 1.15
This is mlosev's patch (from #1208), rebased against devel as of
2790af2.  It resolves #1707, which was caused by an API incompatibility
between the docker module and server API version 1.19.
2016-12-08 11:23:21 -05:00
Lars Kellogg-Stedman e031efd82c Do not erroneously mask exceptions
There was a catch-all `except` statement in `create_containers`:

        try:
            containers = do_create(count, params)
        except:
            self.pull_image()
            containers = do_create(count, params)

This would mask a variety of errors that should be exposed, including
API compatability errors (as in #1707) and common Python exceptions (KeyError, ValueError, etc) that could result from errors in the code.

This change makes the `except` statement more specific, and only attempts to pull the image and start a container if the original create attempt failed due to a 404 error from the docker API.
2016-12-08 11:23:21 -05:00
Lars Kellogg-Stedman 6116e4cdab docker: permit empty or false pid
The `docker` Python module only accepts `None` or `'host'` as arguments.
This makes it difficult to conditionally set the `pid` attribute using
standard Ansible syntax.

This change converts any value that evaluates as boolean `False` to
`None`, which includes empty strings:

    pid:

As well as an explicit `false`:

    pid: false

This permits the following to work as intended:

    - hosts: localhost
      tasks:
      - name: starting container
        docker:
          docker_api_version: 1.18
          image: larsks/mini-httpd
          name: web
          pid: "{{ container_pid|default('') }}"

If `container_pid` is set to `host` somewhere, this will create a
Docker container with `pid=host`; otherwise, this will create a
container with normal isolated pid namespace.
2016-12-08 11:23:21 -05:00
Brian Coca 9e54efd3fd fixed version added, reworded description a bit 2016-12-08 11:23:21 -05:00
Brian Coca 16a4ff3462 fixed minor doc issues 2016-12-08 11:23:21 -05:00
Brian Coca 0cab021168 Revert "Revert "ec2_lc - include all launch config properties in the return"" 2016-12-08 11:23:20 -05:00
Brian Coca af8ded66cc Revert "ec2_lc - include all launch config properties in the return" 2016-12-08 11:23:20 -05:00
Toshio Kuratomi a655241488 Minor touch ups of vsphere_guest code. 2016-12-08 11:23:20 -05:00
Frank van Tol 39e24e89f4 Remove default port value, it does not work in _requires_destroy_and_create logic
When creating a Redis cluster, every run it gets destroyed and recreated because the port number of memcached is used as the default.
2016-12-08 11:23:20 -05:00
Frank van Tol 6655cd89c4 Update elasticache.py 2016-12-08 11:23:20 -05:00
Frank van Tol 426f93a291 Remove default for engine_version
Redis and memcached have different engine version numbering, there can not be a shared default value.
2016-12-08 11:23:20 -05:00
Nicholas O'Connor b95cb3f4e9 Created option snapshot_to_clone. When specified, snapshot_to_clone will create a linked clone copy of the VM. 2016-12-08 11:23:20 -05:00
Apoorva Kulkarni 1f35e578b4 s3 module: Add missing version tag to "encrypt" parameter 2016-12-08 11:23:20 -05:00
Evan Carter d3ef622627 Adding default cooldown to AWS ASG 2016-12-08 11:23:20 -05:00
vanga ddd399fe7a Throw error if encryption is set while passing a snapshot id 2016-12-08 11:23:20 -05:00
Chris Meyers 0dbf41e740 ensure password or ssh cert specified 2016-12-08 11:23:20 -05:00
Tom Paine e97124d609 Update vsphere_guest.py 2016-12-08 11:23:20 -05:00
Joel Thompson f1ab33ad7b Adding ability to filter AWS Route 53 private hosted zones by attached VPC 2016-12-08 11:23:19 -05:00
Ian Babrou 9219aeaaeb Pulling missing docker image before doing anything 2016-12-08 11:23:19 -05:00
Nic O'Connor c68d1ffa60 Added the ability to Linked_clone from snapshot 2016-12-08 11:23:19 -05:00
Simon Olofsson a3cb6d2f16 Add option docker_user for docker module.
docker_user can be used to specify the user or UID to use within the
container.
2016-12-08 11:23:19 -05:00
Monty Taylor 8e26a7ae17 Fix a small typo in parameter processing 2016-12-08 11:23:19 -05:00
Jesse Keating 16381fb5c0 Plumb ipv6 modes into os_subnet
Shade already supports these, we just need to plumb them into the module
code.
2016-12-08 11:23:18 -05:00
Jesse Keating 72809ac329 Fix up docs 2016-12-08 11:23:18 -05:00
Juho-Mikko Pellinen 29620b78fa Change the default flag value to None to prevent AWS complaining: "Instance creation failed => InvalidBlockDeviceMapping: the encrypted flag cannot be specified since device /dev/sda1 has a snapshot specified." 2016-12-08 11:23:18 -05:00
Monty Taylor 530f12035b Update docstring to show port ranges as optional 2016-12-08 11:23:18 -05:00
David Shrewsbury 789c1fcbe7 Correct port matching logic
Port matching logic did not take into account recent shade change
to equate (None, None) to (1, 65535) when Nova is the backend.

Also, this encapsulates the port matching logic into a single function
and heavily documents the logic.
2016-12-08 11:23:18 -05:00
Flyte 2f46364921 Provide correct kwargs to rds2 connection when making a final snapshot 2016-12-08 11:23:18 -05:00
David Shrewsbury 387fe5b0e7 Change required parameters for rules module
The ports and protocol are no longer required (and now depends on
a new version of shade).
2016-12-08 11:23:18 -05:00
Davide Guerri 531b93490b Fix reuse argument documentation 2016-12-08 11:23:18 -05:00
Davide Guerri 95cfe3da96 Update os_floating_ip with new shade methods 2016-12-08 11:23:18 -05:00
Monty Taylor 4f2028439f Use int in the parameter list instead of casting 2016-12-08 11:23:18 -05:00
dagnello 2c3fc61357 Resolving issues in rule comparison algorithm
Port range min/max values are at times represented as string and
compared to int equivalents.  This fix explicitly ensures all
port range values are ints for proper comparisons.
2016-12-08 11:23:18 -05:00
David Shrewsbury e7dd93c5c1 Compare ports as strings
Ports as returned from shade are ints. They are strings as they come
in to the module.
2016-12-08 11:23:18 -05:00
David Shrewsbury 14212c37e2 Fix syntax error 2016-12-08 11:23:18 -05:00
Monty Taylor 60102e36e2 Return rule object 2016-12-08 11:23:18 -05:00
David Shrewsbury 174254a423 Update secgroup rules module for latest shade
This allows the rules module to work against either nova or neutron
for handling security groups. New parameters for 'direction' and
'ethertype' are added.

Check mode is supported with this version.
2016-12-08 11:23:18 -05:00
David Shrewsbury fcc1d643f6 Recongnize None and -1 port equivalency
shade 0.7.0 represents disabled min/max ports as None (in the
neutron style) rather than -1. Recognize this as the same as -1.
2016-12-08 11:23:17 -05:00
David Shrewsbury b42a9d56e6 Fix id value reference 2016-12-08 11:23:17 -05:00
David Shrewsbury f02ec15c17 Update rules mode for latest shade
Shade 0.7.0 normalized the security group data that is returned,
when using nova, to look more like neutron security group data.
This adjusts for that change.
2016-12-08 11:23:17 -05:00
dagnello ecef2aadba Minor fixes for os_security_group_rule module
Was not able to use this module as it was.  The changes submitted
resolved the issues I ran into in order to get it working.
2016-12-08 11:23:17 -05:00
Davide Guerri 2d7dbc5d0c Fix invalid syntax in openstack_module_kwargs call 2016-12-08 11:23:17 -05:00
Monty Taylor 9acc891477 Fix example code syntax 2016-12-08 11:23:17 -05:00
Monty Taylor a657e80bc8 Add OpenStack Floating IP Module
Also deprecate the two old quantum floating ip modules.
2016-12-08 11:23:17 -05:00
Monty Taylor 8d5e43c14f Add OpenStack Security Group Rule module 2016-12-08 11:23:17 -05:00
Juho-Mikko Pellinen 321244d881 Remove empty aliases 2016-12-08 11:23:17 -05:00
Juho-Mikko Pellinen 54af79692a Add version number 2016-12-08 11:23:17 -05:00
Juho-Mikko Pellinen f016cb556b Fix hosted_zone_id after rebase. 2016-12-08 11:23:17 -05:00
Juho-Mikko Pellinen 3f2d1e6bfa Add support for specifying unique hosted zone identifier 2016-12-08 11:23:17 -05:00
Scott Miller 62b6cf85d3 Update cloudformation.py
Fix for inaccurate phrasing
2016-12-08 11:23:17 -05:00
Robb Wagoner 848e9de950 remove double dict & fix increment bug 2016-12-08 11:23:16 -05:00
Mike Putnam 0e6e3e097e Upstream docs show launch_config_name as required.
http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AutoScalingGroup.html

Fixes #11209

Ansible behavior is correct, this commit just updates the docs to
reflect that correctness.
2016-12-08 11:23:16 -05:00
Toshio Kuratomi cf595b3c52 Fix indentation levels in os_keypair 2016-12-08 11:23:16 -05:00
Toshio Kuratomi 4c863187ad Few minor things from review of the pull request 2016-12-08 11:23:16 -05:00
Jesse Keating 2b5af82706 Document auto_floating_ip argument 2016-12-08 11:23:16 -05:00
David Shrewsbury 3cd81d2dd3 Use newest documentation style for return value. 2016-12-08 11:23:16 -05:00
Jonathan Davila f1027ae6bc no_log to iam password 2016-12-08 11:23:16 -05:00
David Shrewsbury c4bc6dea13 Add a note about the return value. 2016-12-08 11:23:15 -05:00
Scott Miller b43db1d2ff update docs for cloudformation 2016-12-08 11:23:15 -05:00
Monty Taylor c0190b0443 Fix dict syntax typo 2016-12-08 11:23:15 -05:00
Robb Wagoner 372a2286db return health of instances and counts 2016-12-08 11:23:15 -05:00
Patrick Roby e638913c97 iterate through all keys in a more pythonic manner 2016-12-08 11:23:15 -05:00
Patrick Roby bc5d79fc30 update documentation, adding new params 2016-12-08 11:23:15 -05:00
David Shrewsbury 341efbf7ae Update os_keypair for latest shade
Uses the latest version of shade for cleaner code. Also, always
return the key dict whether we create the key, or it already exists.
The example using public_key_file is corrected to use a full path
since ~ is not converted for us.
2016-12-08 11:23:15 -05:00
Evan Carter 98756144cf Add ClassicLink settings to EC2_launchconfig 2016-12-08 11:23:15 -05:00
Andrea Mandolo ae1080d922 Added some block_device_mapping (disks) informations to EC2 instance module ouput 2016-12-08 11:23:15 -05:00
Andrea Mandolo a8da674cf4 Added "EC2 instance" termination_protection and source_dest_check changeability at run-time 2016-12-08 11:23:15 -05:00
Tom Paine df8013182e Parse out space characters in route53 value list
Fixes: https://github.com/ansible/ansible-modules-core/issues/992
2016-12-08 11:23:15 -05:00
Michael Weinrich 543cb13f42 Fix connection creation to allow usage of profiles with boto 2016-12-08 11:23:15 -05:00
Toshio Kuratomi f422782180 Use module.fail_json() instead of sys.exit() 2016-12-08 11:23:14 -05:00
Ash Wilson 9f12fd0a26 Default net to 'bridge' in container diff
This prevents an unnecessary reload when the `net` parameter is unspecified
(i.e. almost always).
2016-12-08 11:23:14 -05:00
Michael Weinrich a0466f1f8d Add the option to pass a string as policy 2016-12-08 11:23:14 -05:00
Monty Taylor 869da89b35 Move the order of argument processing 2016-12-08 11:23:14 -05:00
Monty Taylor 377311db56 Add filter ability 2016-12-08 11:23:14 -05:00
Ed Hein f11c451bfa Fix computation of port bindings. Port bindings configuration can be a list if several host ports are bound to the same guest port. 2016-12-08 11:23:14 -05:00
Davide Guerri c1d7678cc2 Avoind using lookup() in documentation
lookup() is currently broken (current Ansible devel branch), so better to avoid
it in our examples.
2016-12-08 11:23:14 -05:00
Andrew Davis 4d4d911d6e ansible_facts reflects 1.8 output 2016-12-08 11:23:13 -05:00
Monty Taylor 0c0359798b Add OpenStack Keypair module
Also deprecate old nova_keypair module.
2016-12-08 11:23:13 -05:00
Ash Wilson ea83727fcf Wait for process exit on detached=no. 2016-12-08 11:23:13 -05:00
Stefan Junker 4ee972190b docker: Use a list instead of a dict for volumes according to the docker-py docs. Do not add host-binds to volumes list. 2016-12-08 11:23:13 -05:00
Jens Carl 9ad15cdae9 - List the name servers of a zone. 2016-12-08 11:23:13 -05:00
Stefan Junker 50fe57fff3 Fix bind-volumes on docker >= 1.4.0
If bind-volumes are submitted to docker >= 1.4.0 with the volumes set in addition to the binds, docker will create a regular volume and not bind-mount the specified path.
2016-12-08 11:23:13 -05:00
Robb Wagoner e025effc99 include all launch config properties in the return
make all properties available when registering the result
which is useful when wanting to launch a stand-alone instance based upon
an existing Launch Config.
2016-12-08 11:23:12 -05:00
Jonathan Davila 82b809f0e2 new vpc module. does not contain subnet or route table functionality.
changed name to ec2_vpc_net

refactored out IGW functionality
2016-12-08 11:23:12 -05:00
Toshio Kuratomi 0a3150f7d7 Add version_added documentation to log_driver parameter 2016-12-08 11:23:12 -05:00
Michael Weinrich 1f6c177da0 Use aws connect calls that allow boto profile use 2016-12-08 11:23:12 -05:00
Ryan Walls 01a28e7d80 Fix typo in Docker module. 2016-12-08 11:23:12 -05:00
Ryan Walls 9630972c2c Update docker module to avoid false positives when containers are first created. Also have the module check for api compatibility before trying to set a "--log-driver" option. 2016-12-08 11:23:12 -05:00
Ryan Walls f5c1d8141b Set default "log_driver" option to None in docker module. 2016-12-08 11:23:12 -05:00