Commit graph

9165 commits

Author SHA1 Message Date
Ryan Trauntvein
eaa0ce0ceb Specify that "state: reloaded" was added in Ansible 1.9 2016-12-08 11:22:51 -05:00
Scott Miller
751434de9d describe choices in alias documentation 2016-12-08 11:22:51 -05:00
Mick Bass
9980205edc Add support for AWS Security Token Service (temporary credentials) to all AWS cloud modules. 2016-12-08 11:22:51 -05:00
Toshio Kuratomi
e710e46ff2 Make lack of boto call fail_json instead of sys.exit
Fixes #994
2016-12-08 11:22:51 -05:00
Brandon W Maister
c1571928e5 Make cache_subnet_group default to empty security groups
Since they can't be specified together, it seems like setting the
default to no security groups is the right option.
2016-12-08 11:22:51 -05:00
Tom Wadley
ad248376b1 use aws connect call in rds_subnet_group that allows boto profile use 2016-12-08 11:22:50 -05:00
Dan Abel
2250a95638 use simpler ec2_connect ec2 util call
This allows boto profile use
2016-12-08 11:22:50 -05:00
David Fritzsche
14720b54ac Add working status detection for pf on FreeBSD
The return code of "service pf onestatus" is usually zero on FreeBSD (tested with FreeBSD 10.0), even if pf is not running. So the service module always thinks that pf is running, even when it needs to be started.
2016-12-08 11:22:50 -05:00
Mick Bass
e9a0fad36b add retry with exponential backoff when we receive throttling error code from cloudformation 2016-12-08 11:22:50 -05:00
Brandon W Maister
cffb2bdee9 Add cache_subnet_group to elasticache module
According to the [docs] cache subnet groups are required inside a VPC.

[docs]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheSubnetGroups.html
2016-12-08 11:22:50 -05:00
Brian Coca
7cd7bad2e8 added patch to workaround some s3 connection faliures 2016-12-08 11:22:50 -05:00
Brian Coca
252df8685a refactrored connection exception handling, added check to see if we actually get a connection before proceeding
Fixes #964
2016-12-08 11:22:50 -05:00
Toshio Kuratomi
a6643160c5 Fix stat code to return name of group owning the file rather than name of group that the file's owner belongs to.
Followup to #17
2016-12-08 11:22:50 -05:00
Ash Wilson
2dde45cea9 Only fetch details when necessary. 2016-12-08 11:22:50 -05:00
Ash Wilson
93b620ea8a Compare container images to Config.Image. 2016-12-08 11:22:50 -05:00
Sarah Zelechoski
17334b21ea fix syntax in last example 2016-12-08 11:22:50 -05:00
Sam Thursfield
5d2652f31b Fix authorized_key module crashing when given an invalid key
I tried a playbook with the following (accidentally wrong) task:

  tasks:
      - name: authorized key test
        authorized_key: key=/home/sam/.ssh/id_rsa.pub key_options='command="/foo/bar"' user=sam

I got the following traceback:

    TASK: [authorized key test] ***************************************************
    failed: [localhost] => {"failed": true, "parsed": false}
    Traceback (most recent call last):
    File "/home/sam/.ansible/tmp/ansible-tmp-1427110003.65-277897441194582/authorized_key", line 2515, in <module>
        main()
    File "/home/sam/.ansible/tmp/ansible-tmp-1427110003.65-277897441194582/authorized_key", line 460, in main
        results = enforce_state(module, module.params)
    File "/home/sam/.ansible/tmp/ansible-tmp-1427110003.65-277897441194582/authorized_key", line 385, in enforce_state
        parsed_new_key = (parsed_new_key[0], parsed_new_key[1], parsed_options, parsed_new_key[3])
    TypeError: 'NoneType' object has no attribute '__getitem__'

With this fix, I see the expected error instead:

    TASK: [authorized key test] ***************************************************
    failed: [localhost] => {"failed": true}
    msg: invalid key specified: /home/sam/.ssh/id_rsa.pub
2016-12-08 11:22:50 -05:00
Brian Coca
c04c84887e fix to return vals docs 2016-12-08 11:22:50 -05:00
James Martin
57cf6e8bb4 Re-wording of feature. 2016-12-08 11:22:50 -05:00
Toshio Kuratomi
e5149f3b30 Fix review comments from @bcoca in #745 2016-12-08 11:22:50 -05:00
Toshio Kuratomi
5378b5db98 Minor code formatting 2016-12-08 11:22:50 -05:00
Tim Rupp
db6c2bac75 Add missing import of apt.debfile
In cases when the python-apt package is not installed, ansible will
attempt to install it. After this attempt, it tries to import the
needed apt modules, but forgets to import the apt.debfile module.

The result is that playbooks that use the dpkg argument on a machine
that does not initially have the python-apt package available will
fail with the following error

AttributeError: 'module' object has no attribute 'debfile'

This patch adds the appropriate import to the apt module to ensure
that necessary libraries are available in cases when the dpkg argument
is being used on a system that does not initially have the python-apt
package installed
2016-12-08 11:22:50 -05:00
Rowan Wookey
04fcfdad2c Fixed group name not being passed to wait_for_new_instances when replacing instances
Fixed group_name not being passed to wait_for_elb
Minor code clean up
2016-12-08 11:22:49 -05:00
moe
bd09ebe5b4 Woops, make collect/delete loop more efficient. 2016-12-08 11:22:49 -05:00
moe
5e1e1a4dff Fixes #744.
The following cases work for me now:
- Create new ASG with tags
- Update tags on ASG (create/change/delete)

In short, the module should now work as expected
wrt tagging. The previous code did not work at all
with latest boto for me (serialization errors) and
the logic was buggy anyway; e.g. removed tags
would never get deleted from ec2.
2016-12-08 11:22:49 -05:00
James Martin
cadfd56304 check lb for instance healthy and some refactoring of rolling replace functions.
Optionally waiting for new instances to be in viable state on ASG creation/update.

Properly updating properties and terminating group.
2016-12-08 11:22:49 -05:00
Brian Coca
7f8094e977 undeprecated openstack modules as new ones are not making into release 2016-12-08 11:22:49 -05:00
moncho
0156188a54 Update docker.py
Fix typo that prevents use_tls 'encrypt' option from working properly.
2016-12-08 11:22:49 -05:00
Toshio Kuratomi
5262d768e0 Add another valid status from downloading images 2016-12-08 11:22:49 -05:00
nemunaire
7eebab43ae Convert tuple items to string before format 2016-12-08 11:22:49 -05:00
Robert Marsa
b7649cc5ca Added multiple allowed ranges. 2016-12-08 11:22:49 -05:00
Julien Syx
c676adde0b Fix the issue #931
Checking that the parameter doesn't exist. The old code had a bug when the parameter was 0.
2016-12-08 11:22:49 -05:00
Toshio Kuratomi
d5e3abc5d5 Some code cleanup (removed unused variables and imports) 2016-12-08 11:22:49 -05:00
Toshio Kuratomi
f892ca5b8f Also use DOCKER_TLS_VERIFY env var to turn on tls verification 2016-12-08 11:22:49 -05:00
Toshio Kuratomi
1bb98542d3 Fix a potential bug in docker pull 2016-12-08 11:22:49 -05:00
Toshio Kuratomi
0ad023a0ac When no use_tls is not specified and no tls parameters are given we need to not attempt tls. 2016-12-08 11:22:49 -05:00
Alex Rowley
eeb867daf0 cloud/amazon/s3: update documentation
update description to show that module can do more than just put files into s3
2016-12-08 11:22:48 -05:00
Toshio Kuratomi
2e93f8e9f7 Make state=running work for backwards compatibility with 1.8 2016-12-08 11:22:48 -05:00
Toshio Kuratomi
1946f05baf Fix lookup of parameter name to be pid instead of pid_mode 2016-12-08 11:22:48 -05:00
Toshio Kuratomi
09a0db1e1f Make pid_mode parameter do minimum docker-py/docker server version checks 2016-12-08 11:22:48 -05:00
Toshio Kuratomi
95df4bcbee Fix for problems found by @dguerri
* TLSConfig['verify'] has to be set to False if we're only encrypting the
  connection, not verifying the host.
* tls_hostname was not set if tls_ca_cert was not present

https://github.com/ansible/ansible-modules-core/pull/926#issuecomment-78573877
2016-12-08 11:22:48 -05:00
Toshio Kuratomi
7c261b3954 Implement comments from @smashwilson:
* if tls_ca_cert is set then use tls to verify the server
* take tls_hostname from the environment variable DOCKER_TLS_HOSTNAME
  if it's not specified in the playbook

https://github.com/ansible/ansible-modules-core/pull/926#issuecomment-78542210
2016-12-08 11:22:48 -05:00
Ian Babrou
3bfe9a7b50 fixed: global name 'e' is not defined 2016-12-08 11:22:48 -05:00
Toshio Kuratomi
3284359894 Alternative implementation of tls for docker
Alternative to #854
2016-12-08 11:22:48 -05:00
Toshio Kuratomi
c9b33d5de2 Fix for py2.6 (no dict comprehensions on py2.6) 2016-12-08 11:22:48 -05:00
Toshio Kuratomi
c9cc8d0b70 Initialize the value of vpc_id variable 2016-12-08 11:22:48 -05:00
Mario Loria
00613cd4f3 Setting the actual passno and dump defaults, and warning user of consequences in nulling
Using ansible 1.8.4, I found that these two options actually work slightly different than advertised.
2016-12-08 11:22:48 -05:00
Toshio Kuratomi
ba90eea165 Also don't fail if files are different and overwrite is false for uploads (this mimics copy and template).
Related to #489
2016-12-08 11:22:48 -05:00
Hagai Kariti
7d16ec283e Fix KeyError in public zones in route53 2016-12-08 11:22:48 -05:00
Toshio Kuratomi
a02641b4f3 Documentation style changes 2016-12-08 11:22:48 -05:00
James Bowes
0d3aed3e1f Fix C() formatting typo in file module 2016-12-08 11:22:48 -05:00
Matt Martz
bcd9f83521 Prevent an empty error message 2016-12-08 11:22:48 -05:00
Brian Coca
34dbd69e12 updated to keep same info as in extras repo 2016-12-08 11:22:47 -05:00
Ian Babrou
005d02b185 not triggering reload for links and not string env variables 2016-12-08 11:22:47 -05:00
Ash Wilson
7c4e8774d8 Use {0}, {1} style format indices for 2.6 compat 2016-12-08 11:22:47 -05:00
Ash Wilson
ff0d0ceb70 Expect module env vars to override Dockerfile ones. 2016-12-08 11:22:47 -05:00
Ash Wilson
4e7d766e8f Include bind mounts in VOLUMES check. 2016-12-08 11:22:47 -05:00
Ash Wilson
959d135b60 Exposed ports, env vars, volumes from the image.
This will account for settings that are provided by the hierarchy of
Dockerfiles used to construct your image, rather than only accounting
for settings provided to the module directly.
2016-12-08 11:22:47 -05:00
Ash Wilson
0d822c0c02 Full image inspection and just repo tags
Hat tip to @bobrik.
2016-12-08 11:22:47 -05:00
Toshio Kuratomi
bba322a10e Sort subnets by the order they are specified in the play
Fixes #172
2016-12-08 11:22:47 -05:00
Bret Martin
650a7365f9 Allow vpc_subnet_id to remain unspecified (see bc0c169) 2016-12-08 11:22:47 -05:00
Sam Yaple
42fd85f041 Updated version and fixed default 2016-12-08 11:22:47 -05:00
Sam Yaple
24f1cf80bd Add pid mode support to docker module
This allows setting the pid namespace for a container. Currently only
the 'host' pid namespace is supported.

This requires Docker 1.4.1 and docker-py 1.0.0
2016-12-08 11:22:47 -05:00
Ash Wilson
1c5601a0b5 Connect to Docker with optional TLS. 2016-12-08 11:22:47 -05:00
Ash Wilson
4224dd1acb Rework docker module states.
Organize each state into a distinct function for readability and composability.
Rework `present` to create but not start containers. Add a `restarted` state
to unconditionally restart a container and a `reloaded` state to restart a
container if and only if its configuration is incorrect. Store our most recent
knowledge about container states in a ContainerSet object. Improve the value
registered by this task to include not only the inspect data from any changed
containers, but also action counters in their native form, a summary message
for all actions taken, and a `reload_reasons` key to store a human-readable
diagnostic to determine why each container was reloaded.
2016-12-08 11:22:47 -05:00
Matt Ferrante
aaca9b5127 check keys is in dim2 before evaluating 2016-12-08 11:22:47 -05:00
Lorin Hochstein
09e10ea031 Don't pass volumes_from to create_container
Don't pass the volumes_from argument to the Docker create_container method.

If the volumes_from argument is passed to the create_container method, Docker
raises the following exception:

    docker.errors.DockerException: 'volumes_from' parameter has no effect on
    create_container(). It has been moved to start()
2016-12-08 11:22:47 -05:00
zitterbacke
264a16d822 fix uri modul for JSON-escape quotation marks
consider the following response body (content) of a REST/JSON webservice containing escaped quotation marks:

```json
{ "key": "\"works\"" }
```

decoding this string not as raw will lose the backslash as JSON escape. later json.loads will fail to parse.

Inspired by [this thread](https://groups.google.com/forum/#!topic/ansible-project/kymtiloDme4) on the mailing list and the following python shell code:

```python
import json
string=r'{ "key": "\"works\"" }'
json.loads(string)
json.loads(string.decode('raw_unicode_escape'))
json.loads(string.decode('unicode_escape'))
```
2016-12-08 11:22:47 -05:00
Ash Wilson
338bbf6efc Pull newer image versions when requested. 2016-12-08 11:22:46 -05:00
Ash Wilson
6505ce3940 Another documentation commit. 2016-12-08 11:22:46 -05:00
Dag Wieers
43ef3a2bd9 Update authorized_key.py
Fix a (common) error in the examples. This is something that may go unnoticed during troubleshooting when copy&pasting the example.
2016-12-08 11:22:46 -05:00
Lev Popov
5f31654704 Allow to keep instance boot disk after instance deletion in google cloud module 2016-12-08 11:22:46 -05:00
Toshio Kuratomi
e5ba4e87d8 Fix for int port assignment in a playbook failing
Ports are integer values but the old code was assuming they were
strings.  When login_port is put into playbook complex_args as an
integer the code would fail.  This update should make the argument
validating make sure we have an integer and then we can send that value
directly to the relevant APIs.

Fixes #818
2016-12-08 11:22:46 -05:00
Toshio Kuratomi
49511ea078 Small code cleanup 2016-12-08 11:22:46 -05:00
Toshio Kuratomi
86f8a3d381 Clarify the documented behaviour of insertbefore slightly. 2016-12-08 11:22:46 -05:00
Toshio Kuratomi
9fa04de137 In service_enable, the default of changed is True so we have to set it to False explicitly if it is False.
Fixes #875
2016-12-08 11:22:46 -05:00
Brandon W Maister
2121bbc208 ec2: Apply all security groups at instance-creation
The code was picking out the first instance from the security groups
specified, even when multiple groups were specified. Now we use all of
them.
2016-12-08 11:22:46 -05:00
Lev Popov
6d1fd1afcc Allow to spawn instances without external ip in google cloud module 2016-12-08 11:22:46 -05:00
Michael Laccetti
8efb138fdc Moving the import to the top of the file and getting rid of the redundancy
I sure do wish I knew where the whitespace change was coming from, though. Frustrating.
2016-12-08 11:22:46 -05:00
Michael Laccetti
0bd25a9a38 Change s3 to use connect_to_region
* Allows us to use Ansible/s3 for GovCloud when accessing a pre-existing bucket
2016-12-08 11:22:46 -05:00
Jonathan Mainguy
1608163b26 Now correctly gzip/bzips file back up in case of import failure
Removed gunzip and bunzip2 dependency
2016-12-08 11:22:46 -05:00
Peter Gehres
878ff1e929 Issue #489: s3 should not fail on checksum mismtach when overwrite=no 2016-12-08 11:22:46 -05:00
Piotr Gosławski
9dd4f22430 update docs for insertbefore/insertafter 2016-12-08 11:22:46 -05:00
Piotr Gosławski
d388516046 Fix behavior when insert* doesn't match anything
If insertbefore/insertafter didn't match anything, lineinfile module was doing nothing, instead of adding the line at end of fille as it's supposed to.
2016-12-08 11:22:46 -05:00
Achilleas Pipinellis
302c6f9b82 Add note about using version 1 of DigitalOcean API. 2016-12-08 11:22:45 -05:00
Feanil Patel
a0caaf7f42 Compare DNS names case insensitively. 2016-12-08 11:22:45 -05:00
Carlo Mandelli
1f93a052d6 Added HP-UX subclass 2016-12-08 11:22:47 -05:00
James Cammarata
7fd7cffb61 Updating version added fields for new alias parameters in route53 2016-12-08 11:22:45 -05:00
Monty Taylor
3e3486b813 One more OpenStack deprecation notice
Fixes #858
2016-12-08 11:22:45 -05:00
Oleg A. Mamontov
845b6d78be On FreeBSD apply 'login_class' only if there is real change. 2016-12-08 11:22:45 -05:00
James Cammarata
657d9d1f25 Add private_zone parameter for route53
Fixes #473
2016-12-08 11:22:45 -05:00
Monty Taylor
411c7e22b6 Add deprecation notices for old OpenStack modules 2016-12-08 11:22:45 -05:00
Brian Coca
fb61d5e795 fixed add_host docs indentation 2016-12-08 11:22:45 -05:00
Monty Taylor
7c9a36a999 Deprecate old OpenStack modules
There are a completely new set of modules that do all of the things like
keystone v3 and auth_plugins and the like correctly. Structurally
upgrading these would have been massively disruptive and there is no
real good way to do so without breaking people.

These modules should be kept around for several releases - they still
work for people - and they should get bug fixes. But they should not
take new features. New features should go to the os_ modules.
2016-12-08 11:22:45 -05:00
Brian Coca
d6305bc938 fixed file module to use realpath when following links, readlink could be relative and fail in corner cases as per #852 2016-12-08 11:22:45 -05:00
Edward Larkey
d17726bae9 Fix typo in authorized key module documentation.
Added opening double quote
2016-12-08 11:22:45 -05:00
Toshio Kuratomi
b9984b1dfe Fix documentation to have correct param name 2016-12-08 11:22:45 -05:00
Dann Bohn
2cbaf16bcd rhn_channel using depriciated methods. swapped out with their replacements 2016-12-08 11:22:45 -05:00
Brian Coca
5c90040626 undeprecated docker_image until replacement actually arives 2016-12-08 11:22:45 -05:00
blxd
35c414c271 Added check mode support to the ini_file module 2016-12-08 11:22:45 -05:00
Gerard Lynch
1fcc1a7374 wait_for: updated docs, must be resolvable hostname, updated example 2016-12-08 11:22:45 -05:00
Brian Coca
1ca1a2ed98 fixed typo on isgid 2016-12-08 11:22:44 -05:00
Brian Coca
49c10e4359 now captures connection exceptions and returns in 'nicer' module failure 2016-12-08 11:22:44 -05:00
Brian Coca
6e08dea567 fixed issues with stats return docs as per feedback 2016-12-08 11:22:44 -05:00
Brian Coca
47f84190a0 removed always for success, as data wont show on fail 2016-12-08 11:22:44 -05:00
Brian Coca
4124f8c381 now module fails gracefully instead of stacktrace when trying to install missing deb file 2016-12-08 11:22:44 -05:00
Brian Coca
8f197aed48 added missing docs on connection_timeout for wait_for 2016-12-08 11:22:44 -05:00
Brian Coca
d07d41b914 added note to add_hosts about loop bypass 2016-12-08 11:22:44 -05:00
Brian Coca
bcd6a6a3d5 draft for documenting module returns 2016-12-08 11:22:44 -05:00
Coderah
0fbe26273d add alias support to route53 module 2016-12-08 11:22:44 -05:00
Coderah
40c41ed4ec add hosted_zone information to ec2_elb_lb return 2016-12-08 11:22:44 -05:00
Capi Etheriel
103caa2853 add ec2 instance tags and groups info 2016-12-08 11:22:44 -05:00
Joel Thompson
646657e325 Fixes issue 697 -- only purge the grants that need to be purged 2016-12-08 11:22:44 -05:00
Stefan J. Betz
aca24caa19 Create SSH Keys always after creating $HOME 2016-12-08 11:22:44 -05:00
Jorge-Rodriguez
ad9379ad7d Added optional parameter scheduler_hints. 2016-12-08 11:22:44 -05:00
Bret Martin
ed3f1a133b ec2: make group only match group names in this VPC 2016-12-08 11:22:43 -05:00
Edward
bad5aafd30 Fixes #816 Backups not enabled on new droplets.
Convert backups_enabled string to lowercase. Similar to fix for private
networking.
2016-12-08 11:22:43 -05:00
Brian Coca
2278a69f7b fix for mount w/o opts (bug introduced when fixing bind mounts) 2016-12-08 11:22:43 -05:00
Brian Coca
70856d5228 fix instance=None documentation 2016-12-08 11:22:43 -05:00
Brian Coca
cd7f498755 Revert "Revert "Don't use 'tenancy' in ec2 spot requests"" 2016-12-08 11:22:43 -05:00
Brian Coca
6e55a0324b Revert "Don't use 'tenancy' in ec2 spot requests" 2016-12-08 11:22:43 -05:00
Dan Rue
d3c686d632 Do not mark "skipped" when changed is false
When using the "creates" option with the uri module, set changed
to False if the file already exists. This behavior is consistent with
other modules which use "creates", such as command and shell.
2016-12-08 11:22:43 -05:00
Matt Martz
8e4755728e DRY up duplicate code 2016-12-08 11:22:43 -05:00
mrsheepuk
31421374c0 Doc change - make clearer usage for existing remote file
Having read the doc for this module several times and completely missing that it can be used for existing remote archives, I propose this update to the wording to make clear from the top the two ways in which this module can be used.
2016-12-08 11:22:43 -05:00
Gauvain Pocentek
6c7b202a63 fetch: fix the flat parameter description
ansible-doc expects the value of the description field to be a list,
otherwise the output is not correct. This patch updates the flat
description to be a list.
2016-12-08 11:22:43 -05:00
Matt Martz
cf50526cb5 Don't hardcode minimum for boot_volume_size 2016-12-08 11:22:43 -05:00
Sergey Zhukov
d013652dc7 Fixed broken volumes_from for client API >= 1.10 2016-12-08 11:22:43 -05:00
Marek Chodor
35ab6d15df Fixes docker.errors.DockerException: 'dns' parameter has no effect on create_container(). It has been moved to start() 2016-12-08 11:22:43 -05:00
Matt Martz
724ae97898 Fix order of logic to determine required args 2016-12-08 11:22:43 -05:00
Richard Lander
a0dad8e683 password required 2016-12-08 11:22:43 -05:00
Richard Lander
f5532b7904 set network_config.public_ips attribute 2016-12-08 11:22:43 -05:00
Matt Martz
1f51a5effd Add boot from volume functionality to rax and rax_cbs modules 2016-12-08 11:22:42 -05:00
Toshio Kuratomi
3aba0d5272 Fix for recursion traceback in copy with relative paths
This is a further fix for: https://github.com/ansible/ansible/issues/9092

when the relative path contains a subdirectory.  Like:

ansible localhost -m copy -a 'src=/etc/group dest=foo/bar/'
2016-12-08 11:22:42 -05:00
Matt Martz
cce6cb8d7f Don't hardcode a minimum size of a volume 2016-12-08 11:22:42 -05:00
mcameron
f799180a58 More general output. 2016-12-08 11:22:42 -05:00
Toshio Kuratomi
af6c625cc2 When recursing subdirectories, honor the follow parameter for setting file attributes.
One half of the fix for
https://github.com/ansible/ansible-modules-core/issues/778
The other half is in basic.py
2016-12-08 11:22:42 -05:00
mcameron
751e268f0d Useful log output. 2016-12-08 11:22:42 -05:00
Rahul Mehrotra
fe08f52d92 Fixed Documentation issue concerning file mode when specified using numberical value 2016-12-08 11:22:42 -05:00
David Hummel
63e9de3170 Fix issue #793: mysql_db: for state={absent,present} connections to database mysql fail for users other than root 2016-12-08 11:22:42 -05:00
Robert Marsa
4737b41f26 Added the ability to set an instance to forward ip. 2016-12-08 11:22:42 -05:00
Jon Hadfield
90f5a23f34 use is-enabled to check systemd service status. 2016-12-08 11:22:42 -05:00
Matt Martz
a078a99fae Support accounts with more than 100 load balancers 2016-12-08 11:22:42 -05:00
Brendan Jurd
fdc52b8277 Add word boundary in apache2_module regexp
Add a word boundary \b to the regexp for checking the output of a2{en,dis}mod,
to avoid a false positive for a module that ends with the same text as the
module we're working on.

For example, the previous regexp r'.*spam already enabled' would also match
against 'eggs_spam already enabled'.

Also, get rid of the redundant '.*' from the end of the regexp.
2016-12-08 11:22:42 -05:00
Graham Hay
15fcbcb0ee Use insserv where available 2016-12-08 11:22:42 -05:00
Henry Finucane
464c502f95 dpkg does not take a --force-yes option 2016-12-08 11:22:42 -05:00
Doug Ellwanger
cc6cc6e302 Pull SSL certificate IDs from existing ELBs 2016-12-08 11:22:42 -05:00
Petros Moisiadis
f5961f9ecf synchronize: use a single -F instead of -FF
This small change corrects behavior when one uses an .rsync-filter file to exclude some paths from both being transferred and being deleted, so that these excluded paths can be handled separately with different tasks (e.g. in order to deploy the excluded paths independently from the rest paths and notify handlers appropriately). The problem with the double -FF option is that it excludes the .rsync-filter file from being transferred to the receiver. However, deletions are done on the side of the receiver, so it is absolutely necessary the .rsync-filter file to be transferred to the receiver, so that the receiver knows what files to delete and what not to delete.
2016-12-08 11:22:42 -05:00
Sébastien Gross
164d518370 Add basic support for OSX groups. 2016-12-08 11:22:42 -05:00
Sébastien Gross
624be0e239 Add basic support for OS X (Darwin) user management. 2016-12-08 11:22:41 -05:00
Robert Marsa
bf3cb32c1b Added target_tags to gce_module. 2016-12-08 11:22:41 -05:00
Dagobert Michelsen
9991e8d8f1 Solaris SMF is already supported and should be mentioned in the docs, 2016-12-08 11:22:41 -05:00
Brian Coca
132c43a84f added note that url src is only avaialable from 1.9 on 2016-12-08 11:22:41 -05:00
Toshio Kuratomi
691f4cc049 Tabs to spaces 2016-12-08 11:22:41 -05:00
Tomer Paz
76ee9a6a04 resolve issue 764
https://github.com/ansible/ansible-modules-core/issues/764
added 'domainname' attribute in addition to existing 'hostname'.
That's the most elegant way to delegate domain name to docker-py...
2016-12-08 11:22:41 -05:00
Paul Geraghty
5f24584010 Correct grammar of comment relating to example 2016-12-08 11:22:41 -05:00
giovtorres
1f034a6573 Added pip example installing from local tarball 2016-12-08 11:22:41 -05:00
moussa taifi
742c10a1a0 Adds the currently available instance types for azure to the available dict(choices..... 2016-12-08 11:22:41 -05:00
Luc Bourlier
ae97d76a12 Don't use 'tenancy' in ec2 spot requests
The problem was introduced in commit f5789e8e. 'tenancy' is a parameter of
ec2.run_instances, but not in ec2.request_spot_instances. So it was breaking
the support for spot requests.
2016-12-08 11:22:41 -05:00
Jesse Keating
6f4273a3ff Add exclusive option to authorized_keys
This option allows the module to ensure that ONLY the specified keys
exist in the authorized_keys file. All others will be removed. This is
quite useful when rotating keys and ensuring no other key will be
accepted.
2016-12-08 11:22:41 -05:00
Philippe ALEXANDRE
5b48ecc80a Add Linuxmint support in hostname module 2016-12-08 11:22:41 -05:00
Jeff Gonzalez
7ea6650d6c Refactored code to use module utility fetch_url function. 2016-12-08 11:22:41 -05:00
Jeff Gonzalez
04fb952d49 Added documentation for using url as key source 2016-12-08 11:22:41 -05:00
Brian Coca
b6a1927f13 now allows for case in which someone removed the K* links and is trying to reenable a service 2016-12-08 11:22:41 -05:00
Brian Coca
03273e06c7 simplified update-rc.d enable/disable handling, removed forced defaults creation as that breaks local customizations 2016-12-08 11:22:41 -05:00
Jean-Baptiste Barth
c0b2960892 Improve formatting after previous commit 2016-12-08 11:22:41 -05:00
Jean-Baptiste Barth
58ff9bece2 EC2: move logic about terminated instances up (#423)
As stated in #423, the commit 7f11c3d broke ec2 spot instance launching
after 1.7.2. This is because it acts on the 'res' variable which have 2
different types in the method, and in case we request spot instances,
the resulting object is not a result of ec2.run_instances() but
ec2.request_spot_instances(). Actually this fix doesn't seem to be
relevant in the spot instances case, because by construction we won't
retrieve 'terminated' instances in the end.
2016-12-08 11:22:40 -05:00
Toshio Kuratomi
52d769d36c Reverse the force parameter for the hg module 2016-12-08 11:22:40 -05:00
Peter Mooshammer
d741b57b91 adding disk_type option to choose from pd-ssd or pd-standard 2016-12-08 11:22:40 -05:00
Toshio Kuratomi
49f5b28fbd Change the git force parameter to default to no as a safety change.
Fixes #306
2016-12-08 11:22:40 -05:00
Toshio Kuratomi
245dce0e30 Make documentation list when force changed defaults 2016-12-08 11:22:40 -05:00
Toshio Kuratomi
36a483dacd Update force documentation to reflect default=no 2016-12-08 11:22:40 -05:00
Brian Coca
b853ad6c90 corrected version added for latest features 2016-12-08 11:22:40 -05:00
Brian Coca
83e0516478 minor fixes on new rds refactor 2016-12-08 11:22:40 -05:00
AlejandroF
2e40773034 Example added
How to define specific version of the package we need...
2016-12-08 11:22:40 -05:00
Brian Coca
884471a6b5 implemented account expiration as flag and not state, removed from unsupported platforms 2016-12-08 11:22:40 -05:00
Toshio Kuratomi
84f27cfa68 Remove str.format() usage for python2.4 compat.
Fixes #10036
2016-12-08 11:22:40 -05:00
Conrado Buhrer
09082e6e7f fixed: namespace clash #710 2016-12-08 11:22:40 -05:00
Conrado Buhrer
abde33c615 fixed: erroneous logic 2016-12-08 11:22:40 -05:00
Conrado Buhrer
a6315043ef fixed: missing check for upgrade flag 2016-12-08 11:22:40 -05:00
Conrado Buhrer
807b168590 fixed: removed build-deb from required_one_of 2016-12-08 11:22:40 -05:00
Toshio Kuratomi
e4a3e5fdd7 Prefer gtar to tar
Fixes #702
2016-12-08 11:22:40 -05:00
Conrado Buhrer
3165b39d21 changed: state=build-dep; refactored into install() 2016-12-08 11:22:39 -05:00
Conrado Buhrer
442663a13a added: build-dep to apt module #349
Original code provided by @nathanhruby
2016-12-08 11:22:39 -05:00
Johannes Steger
1a440d6a06 Fix function identifier quoting 2016-12-08 11:22:39 -05:00
sysadmin75
2990358cd5 Fix #10059 - replace module does not obey follow=yes 2016-12-08 11:22:39 -05:00
Toshio Kuratomi
dd79a27e73 Spelling and grammar fix 2016-12-08 11:22:39 -05:00
Matt Martz
ff90273021 Remove unnecessary logic, return the database on delete 2016-12-08 11:22:39 -05:00
Toshio Kuratomi
a73bd8dcbc More information about distutils on Solaris in case we run into this again 2016-12-08 11:22:39 -05:00
Toshio Kuratomi
52bcf4a195 Don't fial if virtualenv is not installed and we do not need to initialize the virtualenv
Fixes #688
2016-12-08 11:22:39 -05:00
Brian Coca
f90da6b2ba ec2 fix docs format 2016-12-08 11:22:39 -05:00
Brian Coca
ed0f5045eb moved defaulting to module constant to after when it is defined 2016-12-08 11:22:39 -05:00
Toshio Kuratomi
547c90554a Standardize class names on Archive suffix.
This also removes the collision between the stdlib ZipFile class and the
module's ZipFile class

Fixes #681
2016-12-08 11:22:39 -05:00
Brian Coca
1f1ebf248f updated tenancy version added 2016-12-08 11:22:39 -05:00
Ryan Rawson
e318ef2d70 Fixes #581 - digitalocean module cannot create private_networking=true droplets 2016-12-08 11:22:39 -05:00
Ben Konrath
96a20de9ff Add support for SL7 to hostname module. 2016-12-08 11:22:39 -05:00
Brian Coca
8405edd5a2 now handles non string values for sysctl 2016-12-08 11:22:38 -05:00
Alex Clifford
4097cbf317 ttl should always be used during a delete 2016-12-08 11:22:38 -05:00
Matt Martz
8b60fb7181 Remove unnecessary required arg logic, and remove 'absent' as a valid choice since it isn't implemented 2016-12-08 11:22:38 -05:00
Matt Martz
5ae50eb8cf Small fix-ups to convert objects to dicts, update volume details at the appropriate time, and remove unnecessary required argument logic 2016-12-08 11:22:38 -05:00
Matt Martz
19d99e0da6 Remove some broken and unnecessary required args logic 2016-12-08 11:22:38 -05:00
Matt Martz
63e5d5dcc4 Use rax_to_dict and make sure to return the volume details after deletion 2016-12-08 11:22:38 -05:00
Brian Coca
02a1cb62df corrected release when this feature was added 2016-12-08 11:22:38 -05:00
Patrik Lundin
88fe45d7e7 Update OpenBSD rcctl handling to use new syntax.
See http://marc.info/?l=openbsd-cvs&m=142054488027109&w=2
2016-12-08 11:22:38 -05:00
Matt Martz
3a46c79451 Clean up some required argument logic 2016-12-08 11:22:38 -05:00
Matt Martz
db5f2bf3df Just use built in required functionality for arguments 2016-12-08 11:22:38 -05:00
Matt Martz
617048b717 It is not correct that you need at least 1 primary node 2016-12-08 11:22:38 -05:00
Tim G
b2e39265e1 Load distutils on all platforms EXCEPT Solaris.
Solaris doesn't ship distutils with with the default Python package.  This patch fixes "service" on Solaris since 30d6713.
2016-12-08 11:22:38 -05:00
Toshio Kuratomi
1728f9bba7 Add detection of uid,gid,mode changes when deciding whether an archive needs to be unarchived again. 2016-12-08 11:22:38 -05:00
Brian Coca
65d3b167e6 now captures cache fetch failures 2016-12-08 11:22:38 -05:00
Toshio Kuratomi
f9a6ec95b0 Implement user,group,mode,selinux settings for unarchive.
This is a partial fix for #234.  Still have to figure out how to
make change reporting work as we can no longer rely on tar's --compare
option
2016-12-08 11:22:38 -05:00
Toshio Kuratomi
44354e31e4 Better error messages if a2enmod/a2dismod are not found 2016-12-08 11:22:38 -05:00
Toshio Kuratomi
f3d41cdb06 Potential fix for 640 2016-12-08 11:22:38 -05:00
Tim G
ea77ac076b distutils is not available on some non-Linux OS's 2016-12-08 11:22:37 -05:00
Alex Clifford
d4c4dd31d8 Fix slight typo in doco 2016-12-08 11:22:37 -05:00
Toshio Kuratomi
e11ea4b402 Also catch mysql errors so we can give the error message back through json rather than tracebacking 2016-12-08 11:22:37 -05:00
Michael Scherer
0a745de765 Do not use echo shell builtin for password
Using \t in a password may result in a different password
being set :

    $ echo 'a\ta'
    a   a

Problem report originally found by Pilou-
( https://github.com/ansible/ansible-modules-extras/pull/198 )
2016-12-08 11:22:37 -05:00
Michael Scherer
b154bf967e Remove unused code
There is no call to yum_base using 'cachedir' argument, so
while it work fine from a cursory look, that's useless code,
and so should be removed to clarify the code.
2016-12-08 11:22:37 -05:00
Michael Scherer
2dfc7122af Use the rpm python module rather than execing rpm
Using the rpm module prevent a uneeded fork, and permit
to skip the signature checking which slow down a bit the
operation, and which would be done by yum on installation
anyway.
2016-12-08 11:22:37 -05:00
Bruce Pennypacker
605a5a5b53 requested changes 2016-12-08 11:22:37 -05:00
Bruce Pennypacker
9cbe3eb8ae Added support for 'REQUIRE SSL' grant option 2016-12-08 11:22:37 -05:00
Brian Coca
a3de4db57d fix for allowing permissions on hard links and soft links + follow=yes 2016-12-08 11:22:37 -05:00
Toshio Kuratomi
e75dc7e5a6 Clarify documented behaviour of user module's ssh_key_file parameter
Fixes #9873
2016-12-08 11:22:37 -05:00
Brian Coca
c5dfc66cb1 added version added for new template options 2016-12-08 11:22:37 -05:00
Vasyl Kaigorodov
d41ec7027f gce_net - creating firewall rule, src_range value seems to get lost or set to empty string -- fixes #252 2016-12-08 11:22:37 -05:00
James Martin
07dbc333b2 vpc_zone_identifier must be a csv string when an asg is updated. 2016-12-08 11:22:37 -05:00
Brian Coca
9eb77bdb4f fix for when state=directory, follow=yes and target is symlink to directory 2016-12-08 11:22:37 -05:00
Philip Misiowiec
f3abfa0f19 Adds tenancy state to returning json 2016-12-08 11:22:37 -05:00
Johnny Robeson
6fc04862a4 rename FedoraStratgy to SystemdStrategy 2016-12-08 11:22:37 -05:00
Michael J. Schultz
588d03db8d Build the db connection on "postgres" instead of "template1"
According to the postgresql docs[1], you should not have a connection with
`"template1"` when copying multiple databases.

[1]: http://www.postgresql.org/docs/9.1/static/manage-ag-templatedbs.html
2016-12-08 11:22:36 -05:00
Jeff Gonzalez
30822706dd Added ability to use url as key source 2016-12-08 11:22:36 -05:00
Michael Scherer
d357f309b5 Fix #370, by allowing to export over a existing repository
This requires to use force=True
2016-12-08 11:22:36 -05:00
Michael Scherer
e1194116b2 Make force parameter work for export operation
The default is changed from 'yes' to 'no' to follow
subversion behavior (ie, requiring explicit confirmation
to erase a existing repository). Since that was not working before
cf #370 and since the option was ignored before and unused, this
should be safe to change.
2016-12-08 11:22:36 -05:00
Patrik Lundin
9803938663 Handle string returned by 'default' correctly.
We need to handle the string returned by 'default' in the same way we handle
the string returned by 'status' since the resulting flags are compared later.
2016-12-08 11:22:36 -05:00
Jesse Buchanan
06a58dcad7 Files module: Allow touch on hardlinks 2016-12-08 11:22:36 -05:00
Patrik Lundin
d88080007a Fix typo: Replace "N0" with "NO". 2016-12-08 11:22:36 -05:00
anatoly techtonik
59a700ad17 acl: Fix X support in ACL permissions
If you try to set rwX permissions, ACL fails to set them at all.

Expected:

    $ sudo setfacl -m 'group::rwX' www
    ...
    drwxrwxr-x  2 root root  4096 Nov 10 17:09 www

With Ansible:

    acl: name=/var/www permissions=rwX etype=group state=present
    ...
    drwxrw-r-x  2 root root  4096 Nov 10 17:30 www

x for group is erased. =/
2016-12-08 11:22:36 -05:00
Patrik Lundin
6594a1458d Multiple fixes for OpenBSD rcctl handling.
* Use the newly added 'default' argument to know if the default flags are set
  or not.
* Handle that 'status' may either return flags or YES/NO.
* Centralize flag handling logic.
* Set action variable after check if we need to keep going.

Big thanks to @ajacoutot for implementing the rcctl 'default' argument.
2016-12-08 11:22:36 -05:00
Ricky Cook
522c644bf1 Fix regex string format 2016-12-08 11:22:36 -05:00
Ricky Cook
a6a9e2c247 Get warn option same as other args 2016-12-08 11:22:36 -05:00
Ricky Cook
095400c45e Add comment to command options dict 2016-12-08 11:22:36 -05:00
Ricky Cook
5e21c81ca4 Simplify command module option parsing 2016-12-08 11:22:36 -05:00
Luís Guilherme F. Pereira
b347875de0 Allow ec2_lc to create EC2-Classic Launch Configs
Removes default value from ec2_lc so it can create launch configurations valid on a EC2-Classic environment. AWS API will not accept a assign_public_ip when creating an ASG outside of VPC.
2016-12-08 11:22:36 -05:00
Nate Coraor
771fdfb1f8 Fix a few bugs and misbehavior in the hg module: 1. Don't pull when dest is already at the desired changeset. 2. Don't change the working copy when cleaning or pulling and a revision was specified. 3. Change the default for the revision param to match the behavior of hg. 2016-12-08 11:22:36 -05:00
Jonathan Mainguy
aef138107c Fixes bind mounts
Fixed tab's and spaces, or so I think I did

Fixed tabs and spaces for real this time
2016-12-08 11:22:36 -05:00
Jonathan Mainguy
6be46cb2e3 Fixes --enable-repo for Oracle Linux 2016-12-08 11:22:35 -05:00
Jonathan Mainguy
13990e9479 adds error message if socket does not exist 2016-12-08 11:22:35 -05:00
Philip Misiowiec
c57c1ea419 added version 2016-12-08 11:22:35 -05:00
billwanjohi
b019076dd3 user: add expired state
ported from
https://github.com/ansible/ansible/pull/6303

It's very useful and routine to disable a *nix user.
I implemented expired instead of locked because this prevents any use of
the account, safer than just preventing password-based authentication.

I have tests [1], but since none of the suite came along with the core
modules, I'm unsure how to submit them.

[1] https://github.com/billwanjohi/ansible/blob/add_locked_state/test/integration/roles/test_user/tasks/main.yml
2016-12-08 11:22:35 -05:00
kustodian
447c625cb3 Set selinux state to 'permissive' for state=disabled 2016-12-08 11:22:35 -05:00
Michael Scherer
36c653f54a Add hostname to generated user SSH key comment
The default is not very useful to sort between different
keys and user. Adding the hostname in the comment permit to later
sort them if you start to reuse the key and set them in different
servers. See https://github.com/ansible/ansible/pull/7420
for the rational.
2016-12-08 11:22:35 -05:00
Phillip Holmes
0d3b144eb2 Route53 fix - forcing zone_in, record_in to lower case
Fixed the .tolower to .lower() for correct syntax (copied change from older notes).
2016-12-08 11:22:35 -05:00
Philip Misiowiec
23668e41b0 Support for EC2 dedicated tenancy option 2016-12-08 11:22:35 -05:00
Philip Misiowiec
d30881a461 Ability to detach an EBS volume from an EC2 instance 2016-12-08 11:22:35 -05:00
fabios
3c53b3b268 mark as upgradable and let apt-get install deal with it 2016-12-08 11:22:35 -05:00
fabios
043242df2c improve fail message and use itertools chain 2016-12-08 11:22:35 -05:00
fabios
21bfa80203 older python-apt compatibility 2016-12-08 11:22:35 -05:00
fabios
301c8b8e09 handle list of list for python-apt < 0.7.9 compatibility 2016-12-08 11:22:35 -05:00
Lorin Hochstein
88d5f15025 docker: fix volume[s]_from typo
Code makes reference to volume_from instead of volumes_from. If volumes_from is
passed as an argument, generates a KeyError.
2016-12-08 11:22:35 -05:00
Toshio Kuratomi
1dc2ae0aef Cleanup the old apt compatibility changes 2016-12-08 11:22:35 -05:00
fabios
0ad355585a use low-level apt_pkg.Package 2016-12-08 11:22:35 -05:00
Jan Weitz
8146b45203 Fixes invalid dictionary access. 2016-12-08 11:22:35 -05:00
FabioBatSilva
a748229f3a fix compatibility issues with python-apt < 0.7.9 2016-12-08 11:22:34 -05:00
Mark Phillips
786aceb43b vsphere_guest fix for KeyError: folder message 2016-12-08 11:22:34 -05:00
Jan Weitz
1b9d0c5987 Fixes version check for docker-py 2016-12-08 11:22:34 -05:00
Toshio Kuratomi
1be539d870 git fetch --tags overwrites normal fetching with git < 1.8.x so do a normal fetch followed by using the refspec format for fetching tags 2016-12-08 11:22:34 -05:00
Toshio Kuratomi
73b7d6ea7b Fix typo in git refspec code. Change lists to tuples 2016-12-08 11:22:34 -05:00
Brian Coca
945909bf67 update to use connect_to_region to avoid errors with china 2016-12-08 11:22:34 -05:00
Brian Coca
abdb1afa0a Revert "Merge pull request #384 from jhawkesworth/win_copy_file_template_ansible_modules_core_1" I missed some discussion in devel, these need more work before inclusion
This reverts commit 58bfebb047, reversing
changes made to 27dee77ca0.
2016-12-08 11:22:34 -05:00
Peter Oliver
432a6286db Fix appending to a user's group on Solaris
Without this change, you get:
    AttributeError: 'set' object has no attribute 'extend'

Tested on a Solaris 11.2 client with the included Python 2.6.8.
2016-12-08 11:22:34 -05:00
Toshio Kuratomi
5c090207ff Make documentation clear about update=no vs clone=no 2016-12-08 11:22:34 -05:00
Chris Church
9d0830a181 Change version added in win_user docs to 1.9 for updates that didn't make it into 1.8. 2016-12-08 11:22:34 -05:00
Rohan McGovern
b607ffb7c6 git: add 'refspec' argument
This argument may be used to fetch additional refs beyond the default
refs/heads/* and refs/tags/*.  Checking out GitHub pull requests or Gerrit
patch sets are two examples where this is useful.

Without this, specifying version=<sha1> with a SHA1 unreachable from any
tag or branch can't work.
2016-12-08 11:22:34 -05:00
Rohan McGovern
06ff34f364 git: clean up "fetch" method
De-duplicate repetitive code checking the exit code.

Include the stdout/stderr of the failed process in all cases.

Remove the returned values because no caller uses them.

Combine git commands where possible.  There is no need to fetch branches
and tags as two separate operations.
2016-12-08 11:22:34 -05:00
Toshio Kuratomi
d28cd02ab7 Newstyle class 2016-12-08 11:22:34 -05:00
Toshio Kuratomi
4aaba45e29 Make insecure_registry feature version check against the client API 2016-12-08 11:22:34 -05:00
Maksim Losev
807d964a48 Add insecure_registry to docker-py pull method
Starting from docker-py>=0.5.0 it is impossible to work with private registries based on HTTP.
So we need additional parameter to allow pull from insecure registry
Related to ansible/ansible#9111
2016-12-08 11:22:34 -05:00
Toshio Kuratomi
7b74e451d9 Make docker ver checks issue failures rather than silently ignoring
Also:
* make client version checks robust for two digit version pieces and
  alpha versions
* consolidate version checking code
2016-12-08 11:22:33 -05:00
Will Thames
834c8d2f59 Added better region handling and enabled eu-central-1
Make use of improved connect_to_aws that throws an exception
if a region can't be connected to (e.g. eu-central-1 requires
boto 2.34 onwards)

Add eu-central-1 to the two modules that hardcode their regions
Add us-gov-west-1 to ec2_ami_search to match documentation!
This pull request makes use of the changes in ansible/ansible#9419
2016-12-08 11:22:33 -05:00
Ingo Gottwald
f88107bc9b Add support for new docker restart policies 2016-12-08 11:22:33 -05:00
Toshio Kuratomi
8af70de1fc Probably would make clone a 1.9 feature rather than 1.8.3 2016-12-08 11:22:33 -05:00
Toshio Kuratomi
a7ff6c4cba Make git's update parameter revert to its old behaviour and add new clone parameter to take its place.
Fixes #426
Fixes https://github.com/ansible/ansible/issues/8630
2016-12-08 11:22:33 -05:00
Kale Franz
7c8f0b99af #531 correction
correct list comprehension for older versions of python (back to python 2.4)
2016-12-08 11:22:33 -05:00
Kale Franz
eac743dc39 fixes #529 ec2_group module bug 2016-12-08 11:22:33 -05:00
Toshio Kuratomi
104b2d684c Add text/json as a mimetype to try deserializing
Fixes #503
2016-12-08 11:22:33 -05:00
Jonathan Mainguy
8c05023be3 Fixed hostname for rhel5 python 2.4.3 2016-12-08 11:22:33 -05:00
zitterbacke
1d4808780f re-enable AIX password setting
the AIX class uses a unsafe shell for setting the user password (containing a pipe in the command). This patch adopts to the new behavior of module_utils/basic.py (since somewhere around 1.7).

besides it changes the qoutes for the echo command from double to single, because password-hashes contain $-signs and one would not have this variables expanded.
2016-12-08 11:22:33 -05:00
Toshio Kuratomi
123c99f879 Add error message from git to message returned from ansible
Fixes #81
2016-12-08 11:22:33 -05:00
Jeff Gonzalez
8eedd915cd Fixed formatting in documentation
The example was using mixed shorthand and long form yaml (region: "us-east-1 disable_rollback=true"

I modified the entire example to be long form.
2016-12-08 11:22:33 -05:00
Jeff Bradberry
60ed80f99a Fix breakage in lineinfile check mode when target file does not exist.
Similarly to https://github.com/ansible/ansible/issues/6182, checking of the file attributes should be avoided in check mode when the file didn't originally exist.

Also, avoid creating parent directories in check mode.

Fixes https://github.com/ansible/ansible/issues/9546
2016-12-08 11:22:33 -05:00
Michael Scherer
104f91ed3b Revert commit cbc417c, as the code is broken, see #438
LooseVersion expect a string, so filtering to return a int
is incorrect. Thanks to Jeremy Brown for the analysis.
2016-12-08 11:22:33 -05:00
sysadmin75
7fbb422ae7 Fixes #9518 - "file state=directory" silently skips if it's currently a file 2016-12-08 11:22:33 -05:00
kustodian
8621f9a7cd Fixed postgresql_db failing on Python 2.4 with --check
This reverts commit 81cbdb6c8c and adds ignoring of the SystemExit exception because of Python 2.4.
2016-12-08 11:22:33 -05:00
Toshio Kuratomi
e359f7cfcf Don't traceback if a gid is specified instead of a group name
Fixes https://github.com/ansible/ansible/issues/9796
2016-12-08 11:22:33 -05:00
Mike Putnam
d2d0ffd83a Type fix on delete_snapshot docs. 2016-12-08 11:22:32 -05:00
Toshio Kuratomi
37f237ecfc Fixup the directory name at a higher level so it can be used by both conditional branches
Fixes #500
2016-12-08 11:22:32 -05:00
Jon Hawkesworth
44cc1a75ba Switched to SHA1 checksum instead of MD5 2016-12-08 11:22:32 -05:00
Harald Skoglund
1a8b9b8935 add support for stack policies in cloudformation 2016-12-08 11:22:32 -05:00
Jon Hawkesworth
67def35795 Adding first pass at win_copy, win_file and win_template modules (include new files). 2016-12-08 11:22:32 -05:00
Harri Hämäläinen
299d28f7e5 Fixed typo in comment 2016-12-08 11:22:32 -05:00
Brian Coca
6d56767454 fixed hostname for gentoo 2016-12-08 11:22:32 -05:00
Matt Martz
411e4cfae8 Make a few enhancements to the rax_scaling_group module
* Cast loadbalancer id and port to integers
* Do not attempt to base64 encode NoneType values
2016-12-08 11:22:32 -05:00
Petros Moisiadis
63b18ae618 mysql_user: Added missing privileges
Added missing privileges 'CREATE TABLESPACE' and 'PROXY' (see: http://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html).
2016-12-08 11:22:32 -05:00
PikachuEXE
fbba80d72e ~ Add missing documentation for option email 2016-12-08 11:22:32 -05:00
Andrew Shults
2390184084 Strip white space to support multiline permissions in YAML 2016-12-08 11:22:32 -05:00
Toshio Kuratomi
88ccfc219a Change git update param documentation to match reality 2016-12-08 11:22:32 -05:00
Toshio Kuratomi
8b586ad055 Before pulling submodules from repos add ssh hostkeys for those submodules
Fixes #9655
2016-12-08 11:22:32 -05:00
Mike Putnam
1de5248a0a Clarify possible variable value in the docs. 2016-12-08 11:22:32 -05:00
Toshio Kuratomi
6f3f0904eb Fix git mod so that we switch to the desired version even if it was previously downloaded 2016-12-08 11:22:32 -05:00
Toshio Kuratomi
59066f6138 Some cleanups to the git module 2016-12-08 11:22:32 -05:00
Toshio Kuratomi
fc15177e6e Revert git module doc update because it appears ssh:// works and bare ssh repo does not
This reverts commit e715909831.
2016-12-08 11:22:31 -05:00
Marcus Ahle
a71b1b7385 Preventing Nonetype is not iterable error when no tags are passed in for a newly created ASG 2016-12-08 11:22:31 -05:00
Ben Whaley
6609ebde27 vpc_zone_identifier should be a list as per the docs 2016-12-08 11:22:31 -05:00
Brian Coca
77ec45e3d1 vastly simplified systemd detection, made enable/disable errors clearer both of which allows us to remove 'service name detection' as if systemd is init we still use it to handle initscripts. 2016-12-08 11:22:31 -05:00
Brian Coca
8b9772565e now actually adds usable name for systemd when service only has init script 2016-12-08 11:22:31 -05:00
Peter Bwire
20eb900065 Update django_manage to add database option for migrate
Allow passing the database option to the django_manage module for migrations. This is usefull in situations where multiple databases are used by a django application.
2016-12-08 11:22:31 -05:00
Dale Bewley
65d8fbd9ab use state parameter in examples 2016-12-08 11:22:31 -05:00
follower
b15a633103 Note that rsync must be installed on both local & remote machine
In particular, if `rsync` is not installed on the remote machine the following error message will be encountered:

    "rsync error: remote command not found"
2016-12-08 11:22:31 -05:00
Toshio Kuratomi
9fde3c2dc5 Add USAGE as a valid privilege 2016-12-08 11:22:31 -05:00
Scott Miller
c49a20b0e5 fix documentation
AWS does not recognize the subnet if it is presented in a comma delimited format with spaces. you must remove the space for Amazon to recognize the second subnet.
2016-12-08 11:22:31 -05:00
Toshio Kuratomi
cd7cc07e85 Gixes to doc formatting 2016-12-08 11:22:31 -05:00
Francois Deppierraz
181c3aa25f Fix auto_floating_ip documentation
The default value is 'no' instead of the currently documented 'yes'.

See cloud/openstack/nova_compute.py line 543:

        auto_floating_ip                = dict(default=False, type='bool'),
2016-12-08 11:22:31 -05:00
Toshio Kuratomi
307116b838 Fix typo so docs will build 2016-12-08 11:22:31 -05:00
Toshio Kuratomi
7ff9b3990a Update cron example for setting to run twice a day
Fixes #415
2016-12-08 11:22:31 -05:00
Tomasz Kontusz
103b5954c7 supervisorctl: Don't try to start a starting program
Starting a "STARTING" program throws ERROR (already started),
so don't do that.
2016-12-08 11:22:31 -05:00
Steve Fox
7af1c96623 retry_interval needs to be a float before passing to time.sleep 2016-12-08 11:22:31 -05:00
Lorin Hochstein
0cf3cfbf5a git doc: don't prepend ssh:// for ssh repo
The github ssh example has ssh:// at the beginning of the url. However, this doesn't
work. It does work if the ssh:// is removed.
2016-12-08 11:22:31 -05:00
Chris Church
ff193241b1 Minor win_user fixes based on feedback. 2016-12-08 11:22:30 -05:00
Brian Coca
ab96ff8b6d service cleanup 2016-12-08 11:22:30 -05:00
Stewart Rutledge
0f1bf6c8c1 Fixed a typo on power options 2016-12-08 11:22:30 -05:00
Jérémie Astori
c52bfe3e35 Fix #91: Expand user home folder for the key_file path of the git module 2016-12-08 11:22:30 -05:00
Chris Church
262624ca12 Update win_feature module to work on server 2008 and fail with error message on non-server windows, fix output messages and error handling. 2016-12-08 11:22:30 -05:00
Chris Church
c81c192dcb Update win_user module to support more user options and group membership changes. 2016-12-08 11:22:30 -05:00
sterutkb
944ce9c7c3 Added support for deploying virtual machine from a virtual template 2016-12-08 11:22:30 -05:00
Michael Scherer
4e4e0cca17 Fix old ticket #9092 where a playbook can enter in recursion
This can be tested with this command :

    ansible -c local -m copy -a 'src=/etc/group dest=foo/' all

This is a corner case of the algorithm used to find how we should
copy recursively a folder, and this commit detect it and avoid it.

Check https://github.com/ansible/ansible/issues/9092 for the story
2016-12-08 11:22:30 -05:00
Philip Misiowiec
3f4d412bff Ability to specify new SSD EBS option 2016-12-08 11:22:30 -05:00
Patrik Lundin
8a6a4a7757 Simplify self.arguments logic.
Strange logic pointed out by @jarmani, thanks!
2016-12-08 11:22:30 -05:00
Patrik Lundin
2b18e544f5 Depend more on rcctl if it is present.
* Make the module support enable/disable of special services like pf via rcctl.
  Idea and method from @jarmani.
* Make the module handle when the user supplied 'arguments' variable does not
  match the current flags in rc.conf.local.
* Update description now that the code tries to use rcctl for everything if it
  is available.
2016-12-08 11:22:30 -05:00
Will Thames
63656e5ef7 Fixed tagging 2016-12-08 11:22:30 -05:00
Denver Janke
61cfccff1c Fix few bugs around renaming db instances. 2016-12-08 11:22:30 -05:00
Will Thames
daac0e3a3e Improved error handling
More tests, particular for failure testing
2016-12-08 11:22:30 -05:00
Patrik Lundin
25c3c03a11 Tweak error checking for "enabled" code.
Based on input from @jarmani:
* A return value of 2 now means a service does not exist. Instead of
  trying to handle the different meanings of rc after running "status",
  just look at stderr to know if something failed.
* Skip looking at stdout to make the code cleaner. Any errors should
  turn up on stderr.
2016-12-08 11:22:30 -05:00
Patrik Lundin
32cb025b85 Fail if "rcctl status" writes to stderr. 2016-12-08 11:22:30 -05:00
Patrik Lundin
03d4b76b14 Check rc and print error message if any.
It is probably good to use stdout before printing a generic error
message as well.
2016-12-08 11:22:29 -05:00
Patrik Lundin
38d8db473f Make "enabled" code aware of --check mode. 2016-12-08 11:22:29 -05:00
Jonathan Armani
d1433eca14 Add enable / disable of services for OpenBSD if rcctl is present 2016-12-08 11:22:29 -05:00
Will Thames
22a3b3f811 RDS rewrite to use boto.rds and boto.rds2
Using rds2 allows tags and the control over whether or not DBs are
publicly accessible.
Move RDS towards a pair of interfaces implementing the details of rds
and rds2
Added tests to ensure that all operations work correctly as well as
requirements files that allow virtualenvs to test either boto.rds or
boto.rds2
2016-12-08 11:22:29 -05:00
Antti Salminen
75e15e2ae9 Find the actual commit annotated tags refer to instead of the tag object. 2016-12-08 11:22:29 -05:00
willthames
ef88ff6dd8 Added the ability to remove snapshots
Added state option, and accompanying snapshot_id option for
when state=absent.
2016-12-08 11:22:29 -05:00
Michael DeHaan
f875cc5197 Remove potentially out of date or specific product references. 2016-12-08 11:22:29 -05:00
Michael DeHaan
76efaa6cfb More EC2 doc tweaks 2016-12-08 11:22:29 -05:00
Michael DeHaan
590d20db24 Misc EC2 doc tweaks. 2016-12-08 11:22:29 -05:00
Toshio Kuratomi
ddc81c7b93 Escape % in db+table names before adding to a format string being passed into db.execute()
Fixes #416
2016-12-08 11:22:29 -05:00
Dan
fe787f1bc9 Adds a login_unix_socket option to the postgresql_privs module. 2016-12-08 11:22:29 -05:00
Dan
ee65c55fb0 Adds a unix_socket/login_unix_socket option to the postgresql_user module. 2016-12-08 11:22:29 -05:00
Dan
789ee410f1 Adds a login_unix_socket option to the postgresql_db module. 2016-12-08 11:22:29 -05:00
René Moser
ceeeea84cd yum: add update_cache option
Yum does not always update to latest package version unless metadata cache has expired. By runing yum makecache, we ensure the metadata cache has been updated.

Signed-off-by: René Moser <mail@renemoser.net>
2016-12-08 11:22:29 -05:00
Toshio Kuratomi
5734838cd1 Fix module traceback instead of returning an error 2016-12-08 11:22:29 -05:00
Eric
11bd0fed9d Fix lineinfile documentation typo 2016-12-08 11:22:28 -05:00
Achilleas Pipinellis
872f6aa559 Clarify supported init systems. 2016-12-08 11:22:28 -05:00
follower
4889701874 Fix typo of "rules_egress"
Or is "rules_egree" supposed to be a plural? The sentence is difficult to parse.

Maybe the correct fix is to "Purge existing rules on security group that are not found in rules_egress"?
2016-12-08 11:22:28 -05:00
Pascal Borreli
187b07e6c0 Fixed typo 2016-12-08 11:22:28 -05:00
Fabrice Bernhard
3d437b068e Typo in comments
Credit goes to @kbsali
@pborreli : you did not see that one? :-)
2016-12-08 11:22:28 -05:00
Toshio Kuratomi
e8081baca9 Fix for single role_attr 2016-12-08 11:22:28 -05:00
Toshio Kuratomi
47b009b001 Add a bare grant to the list of allowed privileges 2016-12-08 11:22:28 -05:00
Toshio Kuratomi
b00e6464e9 Fix cornercase tracebaxk when detecting whether submodules changed 2016-12-08 11:22:28 -05:00
Devin Christensen
b2829cf6b9 Fix user_alter in postgresql_user 2016-12-08 11:22:28 -05:00
Devin Christensen
ff7a9eb625 Fix user_add in postgresql_user 2016-12-08 11:22:28 -05:00
Toshio Kuratomi
bed60553ca Escape mysql identifiers 2016-12-08 11:22:28 -05:00
Toshio Kuratomi
87b2afc272 Correct new function name 2016-12-08 11:22:28 -05:00
Toshio Kuratomi
3e9771f544 Normalize privs and flags to uppercase so comparisons against allowed names will work 2016-12-08 11:22:28 -05:00
Toshio Kuratomi
e0ac340f59 Make sure we quote or confirm good all user provided identifiers 2016-12-08 11:22:28 -05:00
Toshio Kuratomi
d3787840a4 Audit escaping of identifiers in the postgresql_user module 2016-12-08 11:22:28 -05:00
Toshio Kuratomi
32aaa07325 More robust quoting of database identifiers
Note: These aren't database values, those are already using the
appropriate Pyhton DB API method for quoting.
2016-12-08 11:22:27 -05:00
Toshio Kuratomi
f7fafa8c16 Cannot readlink() on a hard link 2016-12-08 11:22:27 -05:00
Toshio Kuratomi
3e09de7aef Fix git module checking out correct version after initial clone
Fixes #313
2016-12-08 11:22:27 -05:00
Toshio Kuratomi
1af6a85492 Correct variable name 2016-12-08 11:22:27 -05:00
Brian Coca
78fb3217d6 service now detects systemd is actually running, not just installed 2016-12-08 11:22:27 -05:00
Jonathan Mainguy
a71ce0615a fixes user module for rhel5 by using -n instead of -N, all other distros will still use -N 2016-12-08 11:22:27 -05:00
Henry Finucane
2363074dd8 If force=true, ignore python-apt's advice
This lets you downgrade packages, for instance.
2016-12-08 11:22:27 -05:00
IndyMichaelB
07d4ddfeff docfix for vsphere_guest.py
Corrected parameter name from user to username in documentation
2016-12-08 11:22:27 -05:00
Sam Kottler
bb9c7acc2f Remove trailing whitespace in digital_ocean_domain 2016-12-08 11:22:27 -05:00
Nejc Zupan
442c8a5457 digital ocean: Remove unsupported states 2016-12-08 11:22:27 -05:00
Toshio Kuratomi
81978cbacb Fix retrieval of package version in apt module 2016-12-08 11:22:27 -05:00
Toshio Kuratomi
83e43415da Documentation update for apt version wildcards from bryanlarsen 2016-12-08 11:22:27 -05:00
Toshio Kuratomi
9472a27345 Clean up the docker module just a little so that we can unittest the get_split_image_tag function 2016-12-08 11:22:27 -05:00
Toshio Kuratomi
f45e70fdbc Moving unittests to the main ansible repo for now 2016-12-08 11:22:27 -05:00
Toshio Kuratomi
615b954cd8 Update package_status and install to account for wildcarded versions. 2016-12-08 11:22:27 -05:00
Toshio Kuratomi
1ca1b80fe8 Decide to allow pkgname and version wildcards so that things like libxml2*=2.9* would work 2016-12-08 11:22:27 -05:00
Toshio Kuratomi
37fa22eb93 Cache pkg name list so we don't recreate the list for every package 2016-12-08 11:22:26 -05:00
Toshio Kuratomi
6b776da7bc Just make things a little more readable 2016-12-08 11:22:26 -05:00
Toshio Kuratomi
f2c1d49de7 Correct trivial spelling. 2016-12-08 11:22:26 -05:00
Toshio Kuratomi
945447e392 if __name__ does work with ansible modules 2016-12-08 11:22:26 -05:00
Michael Vogt
e360582c4a add apt unittest 2016-12-08 11:22:26 -05:00
Michael Vogt
80d520dde8 Allow foo=1.0* like expressions in apt 2016-12-08 11:22:26 -05:00
Robert Estelle
4e2d05b1f3 Remove incorrect executable permissions. 2016-12-08 11:22:26 -05:00
Adam Miller
c707107e1b fix gce_net add firewall rule example 2016-12-08 11:22:26 -05:00
John Batty
dd78dde449 Fix get_flavor_id() when flavor_ram is specified
Without this fix, _get_flavor_id() fails to find a matching flavor if
both:
* the flavor_ram parameter is specified
* the first flavor in the list does not match.

The bug is simply that the module.fail_json() call lies within the loop
iterating through the flavors.  This call should only be made if the
loop completes and no matching flavors have been found.
2016-12-08 11:22:26 -05:00
Brian Coca
5d16410518 corrected comparisson which had accidentally chaned in previous fixes 2016-12-08 11:22:26 -05:00
Brian Coca
9de01b8e10 better handling of deprecated aliases 2016-12-08 11:22:26 -05:00
Brian Coca
f91859c817 make sure 'present' is fully equivalente of 'installed' and remove installed from feedback in favoer of 'present' 2016-12-08 11:22:26 -05:00
James Martin
dd46f7275f asg will now be terminated if state=absent.
adds mutually exclusive options
2016-12-08 11:22:26 -05:00
James Cammarata
e9fbb5f1b6 Serialize tag attributes to ASG properties in ec2_asg
Fixes #108
2016-12-08 11:22:26 -05:00
James Martin
f59a1348ad Removes orphaned code. 2016-12-08 11:22:26 -05:00
James Martin
17cd9d18b0 fixes #240, #274, #108 2016-12-08 11:22:26 -05:00
Brian Coca
ba040784b8 let implied type do the spliting 2016-12-08 11:22:25 -05:00
Brian Coca
7d577e4447 minor fixes to wait_for to avoid tracebacks as per ansible core issue #9244 2016-12-08 11:22:25 -05:00
Jeff Geerling
5d103793ee Add mention of fetch module to the copy module docs. 2016-12-08 11:22:25 -05:00
Brian Coca
c071d6a85c switched to iterator as per comments 2016-12-08 11:22:25 -05:00
James Cammarata
a32a50568e Use new prompt detection in run_command to detect aptitude prompts
Also adds flags to aptitude command when force=yes is used, in order
to bypass the prompts given for untrusted packages.

Fixes #31
2016-12-08 11:22:25 -05:00
Martijn P. Rijkeboer
fcf527557d Fix whitespace around '=' in sysctl.conf. 2016-12-08 11:22:25 -05:00
José Moreira
82450c6811 Fixed small typo on ec2 task name 2016-12-08 11:22:25 -05:00
Francois Deppierraz
9620346c36 Fix a typo in nova_compute documentation string
Without this patch, ansible-doc was failing this way:

$ ansible-doc nova_compute
Traceback (most recent call last):
  File "/home/francois/WORK/dev/ansible/bin/ansible-doc", line 324, in <module>
    main()
  File "/home/francois/WORK/dev/ansible/bin/ansible-doc", line 316, in main
    text += get_man_text(doc)
  File "/home/francois/WORK/dev/ansible/bin/ansible-doc", line 112, in get_man_text
    desc = " ".join(opt['description'])
KeyError: 'description'
2016-12-08 11:22:25 -05:00
Brian Coca
a91b5fc170 made hostname work with python 2.4 2016-12-08 11:22:25 -05:00
Fwiffo
64e07acb19 typo in comments: of -> or 2016-12-08 11:22:25 -05:00
Toshio Kuratomi
34d65647bf Move from md5 to sha1 to work on FIPS-140 enabled systems 2016-12-08 11:22:25 -05:00
Michael DeHaan
98fdc389d0 Deprecate docker_image, use the docker module to deploy docker images, or shell out to docker to call docker build if you want from a playbook. 2016-12-08 11:22:25 -05:00
Brian Coca
a091d8c59a added missing init.py for utilities modules 2016-12-08 11:22:25 -05:00
Brian Coca
5a467bc72c added __init__.py to new cloud subcategories so builds work again 2016-12-08 11:22:25 -05:00
Michael DeHaan
d31ac79269 Move internal category to utilities to remove one more category from the left hand menu, keeping it concise. 2016-12-08 11:22:25 -05:00
Michael DeHaan
677ed39cb4 Renames. 2016-12-08 11:22:25 -05:00
Michael DeHaan
5d814d9fb2 Some more module categorization. 2016-12-08 11:22:25 -05:00
Brian Coca
32e85c0944 made subcategories for cloud modules for better organization 2016-12-08 11:22:24 -05:00
James Cammarata
bb9433f198 Fail in ec2 if exact_count is specified without using count_tag
Fixes ansible/ansible#9431
2016-12-08 11:22:24 -05:00
Toshio Kuratomi
dfd4433fba Fix git module handling of the recursive flag
Fixes: #169
2016-12-08 11:22:24 -05:00
Toshio Kuratomi
5fc463eee7 Update desctiprion, parameter name, and default value as discussed in #55 2016-12-08 11:22:24 -05:00
Lorin Hochstein
5c06bb6dca ec2_snapshot: document wait, wait_timeout params
Document the wait and wait_timeout params for ec2_snapshot.

This is important because snapshots can take a long time to complete,
and the module defaults to wait=yes.
2016-12-08 11:22:24 -05:00
Ashish Ranjan
57ce7b1ea1 fields in /proc/net/tcp* are not always delimited by single space 2016-12-08 11:22:24 -05:00
Adam Chainz
dddc5ffd2c Update syntax for cloudformation example 2016-12-08 11:22:24 -05:00
Jaanus Torp
7be83dc844 Fixed really annoying omission in the example without the task would complete without errors or warnings but delete all egress rules 2016-12-08 11:22:24 -05:00
Toshio Kuratomi
1429507489 Fix for systemd service scripts with newlines
Fixes #127
2016-12-08 11:22:24 -05:00
CptLausebaer
a572f85d43 correct requirement of parameter dest
The parameter "dest:" is required, but it is documented as "required: false".
2016-12-08 11:22:24 -05:00
Toshio Kuratomi
bcc058249c Use original_basename to set the dest path even if src is not set 2016-12-08 11:22:24 -05:00
Tim Gerla
26698246c3 Fix a typo of a function call 2016-12-08 11:22:24 -05:00
Richard Glew
dac24deeb4 Fixed bug #193 where parameter name was set incorrectly 2016-12-08 11:22:24 -05:00
Jorge Bastida
d82bfcb75f Initialize create_changed and replace_changed 2016-12-08 11:22:24 -05:00
Sapan Bhatia
d492544714 Added user, tenant and password to module parameters declaration -- these parameters are already handled by the implementation 2016-12-08 11:22:24 -05:00
Ted Timmons
6e900744f2 fix spelling 2016-12-08 11:22:23 -05:00
James Cammarata
dd2807ef3c Strip newlines off k=v pairs in command/shell argument parsing
Fixes ansible/ansible#9272
2016-12-08 11:22:23 -05:00
Lorin Hochstein
06218fe7d2 apt_key: add keyserver example to docs 2016-12-08 11:22:23 -05:00
Jon Hadfield
f63ad7894e Remove redundant check for creates argument. 2016-12-08 11:22:23 -05:00
Tadej Janež
9a845a03f4 Simplified condition in a stat module example testing if path is a directory. 2016-12-08 11:22:23 -05:00
James Cammarata
429ab56e14 Adding file doc fragment to those modules in files/ missing it 2016-12-08 11:22:23 -05:00
Joe Adams
6eda3cbee7 Added note to files/synchronize module about synchronizing two directories on the same host 2016-12-08 11:22:23 -05:00
Tongliang Liu
59477d2e9a Added support of returning owner's group name in stat module 2016-12-08 11:22:23 -05:00
anatoly techtonik
90091b1277 files.stat: Expose path in returned result
This is needed to apply subsequent operation on tested path
2016-12-08 11:22:23 -05:00
Matt Martz
cce5b600c0 Don't count DELETED servers when adding new servers 2016-12-08 11:22:23 -05:00
Matt Martz
6a6faeb506 Fix determination if a few configurations change in the launch config 2016-12-08 11:22:23 -05:00
Matt Martz
e905162571 Ensure that files is the right type, and that we send the formatted personality var 2016-12-08 11:22:23 -05:00
Matt Martz
591ba934c3 Support config_drive and user_data in rax_scaling_group 2016-12-08 11:22:23 -05:00
Eric Hanchrow
e4ac716663 Tweak docs to mention replace 2016-12-08 11:22:23 -05:00
Major Hayden
e3449b6691 Updating SELinux example doc in lininefile module
Encouraging users to use this Ansible module to enable SELinux seems
like a better idea. It also warms Dan Walsh's heart.

Signed-off-by: Major Hayden <major@mhtx.net>
2016-12-08 11:22:23 -05:00
Chad Nelson
20706f5f4d Chnge option name to track_submodule_branches.
Update documentation to reflect what the actual effect of the option.
2016-12-08 11:22:23 -05:00
Chad Nelson
5f30157a05 Give option on how git tracks submodules.
Allows user to decide if git submodule should track branches/tags or track commit hashes defined in the superproject.

Add track_branches parameter to the git module.

Defaults to track branches behavior.
2016-12-08 11:22:23 -05:00
Michael DeHaan
11b0ce5c32 Update README.md 2016-12-08 11:22:22 -05:00
Michael DeHaan
c7e9139a1b Fix filename error. 2016-12-08 11:22:22 -05:00
Michael DeHaan
ef2a2b9093 package files 2016-12-08 11:22:22 -05:00
Michael DeHaan
213e518165 file extensions! 2016-12-08 11:22:22 -05:00
Michael DeHaan
c7eec45b73 Restructuring. 2016-12-08 11:22:22 -05:00
Michael DeHaan
87a9034751 Core/extras split WIP. 2016-12-08 11:22:22 -05:00
Michael DeHaan
e5b3cb3b02 Core/Extras splitting WIP. 2016-12-08 11:22:22 -05:00
Michael DeHaan
b2bf4b9bf7 Not core. 2016-12-08 11:22:22 -05:00
Michael DeHaan
42ab1eab36 Fix typo in README filename 2016-12-08 11:22:22 -05:00
James Cammarata
cd42f73662 Moving snapshot of modules back from core 2016-12-08 11:21:46 -05:00
James Cammarata
9c67f6dcdc removed core and extras submodules 2016-12-07 15:44:53 -05:00
James Cammarata
1a4484be61 Submodule ref update 2016-12-06 10:51:49 -05:00
Toshio Kuratomi
36f29148a3 Update submodule refs 2016-12-06 07:05:07 -08:00
Matt Clay
6611845716 Update submodule refs. 2016-12-06 10:01:11 -05:00
Peter Sprygada
dc23667cc2 add back reverted change to network_cli (#18761)
This adds back the change to the network_cli plugin.  Ths change adds
the ensure_connect decorator to the open_shell() method to make sure
the connection is valid before trying to open a shell.

The issue was due to the addition of the decorator that will call
_connect() when there is no connection.  The _connect() method should
have been mocked in the test case.  This commit fixes the test
case as well

Change was originally reverted in c414ded69a
2016-12-05 21:42:09 -05:00
Toshio Kuratomi
117b88cd38 smart quotes, die die die. 2016-12-05 14:15:43 -08:00
Toshio Kuratomi
9f94414095 Fix indentation 2016-12-05 14:14:19 -08:00
Toshio Kuratomi
32ffa87732 Add docstring explaining whatw Attribute does 2016-12-05 13:09:48 -08:00
Toshio Kuratomi
868b20d982 Document the get_config function 2016-12-05 13:03:14 -08:00
Ondra Machacek
f1812b0f15 module_utils: ovirt: Add support to fetch nested object's attributes (#18666)
* module_utils: ovirt: Add support to fetch nested object's attributes

This patch fixes issue #3555

* Update documentation
2016-12-05 15:23:42 -05:00
Toshio Kuratomi
c414ded69a Revert "minor updates to network_cli connection plugin (#18742)"
This reverts commit 8e375913b0.

This breaks testing as the PlayContext is not mocked out for the test.
Temporarily reverting.
2016-12-05 10:54:42 -08:00
Toshio Kuratomi
5f5ea06ca4 make hash_params more robust in the face of many corner cases (#18701)
* make hash_params more robust in the face of many corner cases

Fixes #18680
Alternative fix to #18681

* add test case for role.hash_params

* Add role.hash_params test for more types

A set, a generator/iterable, and a Container that
is not Iterable.
2016-12-05 04:01:45 -08:00
Peter Sprygada
8e375913b0 minor updates to network_cli connection plugin (#18742)
* removes superfluous timeout kwargs from open_shell()
* cleans up play_context become check
* adds check for ssh session and calls _connect() if needed
2016-12-04 22:50:01 -05:00
Ruslan Tumarkin
9d8fc7afce Fux bug 18584 (#18718) 2016-12-04 10:46:41 +00:00
Matthew Krupcale
cb4153c285 FreeIPA module polymorphic restructuring, Python 3 support, and small fixes. (#18542)
* Moved JSON-RPC client IPAClient class to ansible.module_utils.ipa, which is extended by all ipa modules
* IPAClient: Changed to 2-clause BSD license
* IPAClient (lines 37-39): Added some additional imports for use with Python 3
* IPAClient (line 41): Explicitly extend Python base object
* IPAClient (line 57): Properly URL quoted the username/password form data as per https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
* IPAClient (line 62): Data should be bytes or bytearray in Python 3 (still str in Python 2)
* IPAClient (line 65): Print error message, not returned body
* IPAClient (line 70): getheader() is not present in Python 3 version of HTTPMessage; get() is present in both Python 2/3
* IPAClient (line 88): Convert form data to bytes for Python 3 again
* IPAClient (line 91): Print error message, not returned body
* IPAClient (line 96-104): json.loads() requires a string; HTTPResponse.read() returns bytes in Python 3 and str in Python 2, so decode the bytes/string using the HTTPResponse returned charset (default to 'latin-1')
* Add author/copyright notice
2016-12-04 10:43:35 +00:00
Peter Sprygada
8e562018ed adds py3 compat changes to network_cli plugin (#18735)
now calculates StringIO receive buffer and if received data is less than
buffer size, resets offset to 0
2016-12-03 20:05:33 -05:00
Dag Wieers
b52159163b Add RHEV host detection support (#17177)
* Add RHEV host detection support

This adds RHEV host detection support based on a running 'vdsm' process and the existence of _/rhev/_ (which are both part of the vdsm RPM package in a RHEV installation). Without this change, a RHEV host would be reported as a kvm host (which is also true, but often not specific enough).

This closes #17058

* Only scan the process list when we determined /rhev/ exists

Small performance improvement, so we do not have to scan the process list if /rhev/ does not exist.
2016-12-02 12:24:47 -05:00
gl0bus
d5eff47fcc Extend OpenStack related hypervisor detection (#15166)
* fixed detection of ansible_virtualization_(role|path) facts for VM's running in
OpenStack Instances

* NOTE: this will break detection of ansible_virtualization_(role|path) facts
        if you are using Openstack Instaces with nested virtualization

* fixed detection of ansible_virtualization_(role|path) facts for VM's running in
OpenStack Instances

Fixes #15165

* NOTE: this will break detection of ansible_virtualization_(role|path) facts
        if you are using Openstack Instaces with nested virtualization
2016-12-02 12:23:43 -05:00
Michael Scherer
435dfc2b9c Add a bit more information for network facts on BSD
This was tested on FreeBSD 11, NetBSD 7 and OpenBSD 6.0
This currently detect ether, loopback and tunnel.
2016-12-02 12:20:48 -05:00
Yann Autissier
c048198567 fix setup module on Fedora Core 5 (#17175)
setup module fails with AttributeError: 'module' object has no attribute
'selinux_getpolicytype' in get_selinux_facts on Fedora Core 5
2016-12-02 12:20:01 -05:00
Jesse Keating
8e38f7475f Do not set docker use to None. (#18706)
The user variable defaults to None, and was being passed in as a user
named None. This was breaking rsync unless a specific user was set.

Fixes 16306
2016-12-02 10:29:24 -05:00
Chris Houseknecht
599e016315 For container enabled role, display warning only when not ANSIBLE_CONTAINER (#18717) 2016-12-02 10:08:10 -05:00
Toshio Kuratomi
8c03fec67a Remove method that isn't used here. (#18713)
We have two copies of this function and only the one in cli is used.
2016-12-02 00:30:41 -08:00
Toshio Kuratomi
74a10d7ca2 Transform vault_pass into text when we read it in from the user or a file. (#18699)
Fixes #18684
2016-12-01 23:42:43 -08:00
Toshio Kuratomi
0d9afa84d5 ssh-keyscan can fail to find keys for a host.
When it does, we need to fail otherwise other code will fail later.

Fixes #18676
2016-12-01 07:53:18 -08:00
Benoît Allard
56dcf2cc04 with_sequence: pass AnsibleError through
The parsing methods try as hard as possible to generate meaningful error messages that are all ignored and immediately overwritten by a new AnsibleError instance. Better use the original one instead.
2016-11-30 21:26:23 -08:00
Benoît Allard
7db4ed02ee with_sequence: Fix indentation
This doesn't need to run for every parameters. Once is enough.
2016-11-30 21:13:13 -08:00
Alberto Murillo
7542dae26b Fix fetching files with scp (#18673)
Commit ec2521f intended to fix the scp command to fetch files
from a remote machine but it has src and dest swapped.

This change correctly treats src as the location in the remote machine
and dest as the location in the local machine.

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
2016-11-30 20:10:49 -08:00
Peter Sprygada
8137c7207d adds feature to try to auto determine network_os (#18674)
This updates the network_cli connection plugin to attempt to automatically
determine the remote device os.  The device network os discovery can
be overridden by setting the ansible_network_os value.
2016-11-30 16:28:47 -05:00
Peter Sprygada
6fe9a5e40c functional updates to ansible-connection (#18574)
* sends the serialized play_context into an already established connection
* hooks the alarm_handler() method in the connection plugin if it exists
* added configuration options for connect interval and retries
* adds syslog logging to Server() instance

This update will send the updated play_context back into an already
established connection in case privilege escalation / descalation activities
need to be performed.  This change will also hook the alarm_handler() method
in the connection instance (if available) and call it in case of a
sigalarm raised.

This update adds two new configuration options

* PERSISTENT_CONNECT_INTERVAL - time to wait in between connection attempts
* PERSISTENT_CONNECT_RETRIES - max number of retries
2016-11-30 16:26:49 -05:00
Yannig
900b3ffcba Implement docker support for synchronize module. (#18145)
* Implement docker support for synchronize module.

Note : you need rsync installation on your docker container.
Have a look at https://github.com/ansible/ansible/issues/16306 for more details.
Support Ansible options for remote access.

* Give user name to docker command.
2016-11-30 15:56:27 -05:00
Matt Davis
d95eac16eb bump submodule refs 2016-11-29 14:21:34 -08:00
Brian Coca
461dcf8ce3 log on target based on nolog, not verbosity (#18570)
* log on target based on nolog, not verbosity

fies #18569

* initialize module name

removing verbosity exposed missing name at certain stages, initialize to file name
and update later once module args are parsed
2016-11-29 16:43:29 -05:00
Virgil Dupras
bf48383610 Fix regression in jinja2 include search path (#18617)
* Fix regression in jinja2 include search path

Since commit 3c39bb5, the 'ansible_search_path' variable is used to set
jinja2's search path for {% include %} directives. However, this path is
the the proper one because our templates live in 'templates' subdirs in
our search path.

This is a regression because previously, our include search path would
include the dirname of the currently interpreted file, which worked most
of the time.

fixes #18526

* Fix template lookup search path

Improve fix in commit c96c853 so that the search path contain both
template-suffixed paths as well as original paths.

ref PR #18617

* Add integration test for template lookups

Tests regression at #18526

This test fails on current devel branch and succeeds on PR #18617
2016-11-29 16:23:06 -05:00
James Cammarata
786ac0ea3d Submodule update 2016-11-29 13:26:56 -06:00
Brian Coca
ca1514cf2a unified boolean function
optimized boolean function
fixes #17815
2016-11-29 12:34:30 -05:00
Adrian Likins
83676e9b40 Fix 'cancled' misspelling in --step debug 2016-11-29 09:48:19 -05:00
Toshio Kuratomi
3c6d71522e Fix for AnsiballZ when the remote clock is behind (#18660)
Some machines have system clocks which can fall behind (for instance,
a host without a CMOS battery like Raspberry Pi).  When managing those
machines we have to workaround the fact that the zip format does not
handle file timestamps before 1980.  The workaround is to substitute in
the timestamp from the controller instead of from the managed machine.

Fixes #18640
2016-11-29 01:21:13 -08:00
Daniel Miranda
57f4a9885e Make sure include_role inherit variables from parent role (#18627)
* Make sure include_role inherit variables from parent role

Setting the parent of task blocks generated by include_role after they
have been produced is not sufficient - it means the tasks don't have the
correct dependency chain set afterwards, and therefore, don't properly
inherit variables from outer roles.

In addition to manually setting the parents, pass the dep_chain when
compiling the role, such that variables are correctly imported.

Fixes #18540.

* Add tests for include_role

* Fix include_role variable inheritance for multiple parent levels
2016-11-28 17:54:27 -05:00
Matt Clay
00f8945159 Update submodule refs. 2016-11-28 13:22:34 -08:00
Adrian Likins
dbbd2d79ff Fix traceback in atomic_move (#18649)
Commit 8b08a28c89 removed a
call to get_exception() that was needed. Without it, the fail_json
references an undefined variable ('exception') and throws an exception.

Add the get_exception() back in where needed and update references.

Now the proper module failure is returned.

Fixes #18628
2016-11-28 15:19:42 -05:00
Matt Clay
6169d2d49f Update submodule refs. 2016-11-28 11:50:48 -08:00
John R Barker
02842767c6 Remove duplicated 'timeout' doc (#18657) 2016-11-28 13:15:20 -05:00
Peter Sprygada
9aa8547016 adds two new plugins that use ansible-connection for persistence (#18572)
* adds new connection plugin `network_cli` which builds on paramiko
* adds new plugin `terminal` used for manipulating network_cli terminals
* adds new field to play_context `network_os` settable as ansible_network_os

This commit adds the plugins necesary to establish a persistent cli connection
to network devices of ssh.  It builds on the paramiko connection plugin
to create a shell environment that will persistent through ansible-connection.
The `newtork_cli` plugin then uses the network_os in the instance of
PlayContext to load the appropriate network OS environment plugin for
handling opening and closing of shells as well as privilege escalation.
2016-11-28 12:49:40 -05:00
Peter Sprygada
7df5a0abd0 adds config option to auto add keys when using paramiko (#18598)
* updates paramiko_ssh to auto add keys
* updates constants with new config options

This commit adds a new feature that will allow paramiko to automatically
accept and save a host ssh key.  This feature is controlled by the
`host_key_auto_add` config setting in the paramiko section.  The default
is False to maintain current functionality.  It also includes a new
setting `look_for_keys` with the default to False for maintaining current the
current setting.
2016-11-28 11:31:12 -05:00
Peter Sprygada
a87d30f72f fixes exception raised when extracting timeout value from ModuleStub in eapi (#18651) 2016-11-28 16:00:15 +00:00
Peter Sprygada
9cb0e771d2 expose timeout param to socket (#18632)
The timeout param was exposed to the socket connection but was not
enforced for commands.  This update will now cause a command to timeout
based on the module parameter.
2016-11-28 15:38:49 +00:00
Peter Sprygada
69fb310878 updates the network shared docs to include the timeout parameter (#18635)
The network shared doc fragment was missing the timeout parameter from
the docstring.  This commit adds the timeout parameter back to the
doc fragment
2016-11-28 12:13:47 +00:00
Peter Sprygada
a757a77159 fixes timeout param in netconf provider for junos (#18634)
This change will now cause the netconf provider to honor the module
timeout value when making calls to pyez.
2016-11-26 22:24:48 -05:00
Peter Sprygada
eec6980f3e pass module timeout value to fetch_url in eapi connection (#18633)
This change causes the eapi connection to honor the module timeout
value when calling fetch_url
2016-11-26 22:22:55 -05:00
Alberto Murillo
ec2521f6af Fix ssh plugin to correctly fetch files when using scp (#18614)
Fetch module uses fetch_file() from plugin/connection/ssh.py to
retrieve files from the remote hosts which in turns uses
_file_transport_command(self, in_path, out_path, sftp_action) being
sftp_action = 'get'

When using scp rather than sftp, sftp_action variable is not used
and the scp command is formed in a way that the file is always
sent to the remote machine

This patch fixes _file_transport_command() to correctly form the scp
swaping src and dest if sftp_action is 'get'

Bug introduced at 8e47b9b
Fixes #18603

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
2016-11-26 16:55:38 -06:00
Matt Clay
43714f859a Update submodule refs. 2016-11-24 20:01:59 -08:00
Ondra Machacek
b606078d69 Add param method to oVirt helper module (#18605)
This patch add new param method to fetch parameters
from the Ansible module, so modules don't have to use
the long name `self._module.params.get()`.
2016-11-24 16:03:22 +00:00
Brian Coca
fbe5878919 only access match if we actually match fact
fixes #18601
2016-11-23 19:01:20 -05:00
Brian Coca
778c983ef9 ansible_playbook_python (#18530)
* ansible_playbook_python

fixes #18471

* fix tests

* removed dupe
2016-11-23 16:30:46 -05:00
James Cammarata
4859e0a419 Look for _get_parent_attribute method in both src and dst dict
When determining which getter style to use for the object in question,
the BaseMeta class should look at both dict's to try and locate the method.

Fixes #18522
2016-11-23 12:51:38 -06:00
Brian Coca
4a325b5ea2 fixed issue with when/with error deferment
now it issues correct error (loop) when conditional depends on loop
compliment fixes #16222
2016-11-23 13:43:34 -05:00
Eric Chou
9d0b8c8545 modified POST body in axapi_authenticate_v3() and axapi_call_v3() (#18104) 2016-11-23 11:10:58 -05:00
Toshio Kuratomi
03dd186c63 Update submodule refs 2016-11-23 07:34:18 -08:00
Matt Clay
d61b2ed0a3 Support script interpreters for async_wrapper. (#18592) 2016-11-22 16:50:08 -08:00
Matt Clay
387fca28ab Update submodule refs. 2016-11-22 16:49:26 -08:00
Brian Coca
a715d03a83 dont fail on missing service during check mode 2016-11-22 16:16:55 -05:00
Toshio Kuratomi
255a5b5d75 Fix the Solaris POSIX acl fix
For setfacl on Solaris we need to specify permissions like r-x.
For chmod, we need to specify them as rx (r-x means to make the file
readable and *not* executable)
2016-11-22 12:36:43 -08:00
fallencliff
d5910ebdae update facts.py for solaris and hp-ux
for solaris,  add get_dmi_facts to get product_name fact, and update memtotal_mb to integer for consistency.

for hp-ux,  user machinfo to get product_serial fact
2016-11-22 15:09:00 -05:00
Toshio Kuratomi
bacdbc5f27 Update submodule refs 2016-11-22 11:31:34 -08:00
koralsky
4e194d71bd import reduce from six label:python3 (#18561)
* import 'reduce' from six
* import reduce in facts fix
2016-11-22 11:22:24 -08:00
Michael Noseworthy
bb5d8fb476 Fix unicode handling in fixup_perms2 errorhandling (#18565)
The _fixup_perms2 method checks to see if the user that is being sudo'd
is an unprivileged user or root. If it is an unprivileged user, some
checks are done to see if becoming this user would lock the ssh user out
of temp files, among other things. If this check fails, an error prints
telling the user to check the documentation for becoming an unprivileged
user.

On some systems, the stderr prints out the unprivileged user the ssh
user was trying to become contained in smartquotes. These quotes aren't
in the ASCII range, and so when we're trying to call `str.format()` to
combine the stderr message with the error text we get a
UnicodeEncodeError as python can't coerce the smartquotes using the
system default encoding. By calling `to_native()` on the error message
we can ensure that the error message is a native string for the
`Exception` handling, as `Exception` messages need to be native strings
to avoid errors (byte strings in python2, and text strings in python3)

Fixes: #18444
2016-11-22 11:19:47 -08:00
Nathaniel Case
8d0418f7c1 net_template doesn't need BOOLEANS
Note #17815
2016-11-22 11:49:21 -05:00
Nathaniel Case
3f4ac0b9f7 Fix for whitespace padding on JSON responses
Fixes #17825, closes #17829
2016-11-22 11:06:57 -05:00
James Cammarata
81aa12eb1b Rework how the Conditional class deals with undefined vars
Previously, the Conditional class did a simple check when an
AnsibleUndefinedVariable error was raised to see if certain strings were
present. This patch tries to be smarter by evaluating the variable contained
in the error string and compared to the defined/not defined conditionals in
the conditional string.

This also modifies the UndefinedError message from HostVars slightly to
match the format returned jinja2 in general, making it easier to match the
error message in the Conditional code.

Fixes #18514
2016-11-22 08:29:58 -06:00
Toshio Kuratomi
d90638ad40 Fix setfacl for Solaris with POSIX acl support.
Tested on Linux and freebsd.

Fixes #17919
2016-11-21 13:19:41 -08:00
James Cammarata
7e2305f953 Cache dynamically included blocks for later lookup via uuid
Fixes #18357
2016-11-21 13:02:24 -06:00
James Cammarata
26ec2ecfce Adding a persistent connection utility 2016-11-21 12:35:27 -06:00
Toshio Kuratomi
0b96d61162 Convert playbook basedir into unicode at the borders 2016-11-21 09:24:37 -08:00
James Cammarata
8ee3ef587a Check for negative defined logic in conditionals 2016-11-21 10:39:46 -06:00
James Cammarata
0df3767d4d When iterating over hostvars yield the hostname not the host object
Also fixes HostVars to raise the correct jinja2 error type.

Fixes #16836
2016-11-21 10:39:42 -06:00
Peter Sprygada
69649358b1 fixes issue with setting the terminal length (pager) in vyos (#18546)
`set terminal length 0` actually sets `VYATTA_PAGER=cat`
`set terminal length [some number]` actually sets `stty length [some number]`
2016-11-21 15:47:48 +00:00
Brian Coca
6dece90a57 change to ~ instead of $HOME to avoid undefined (#18551)
fixes #16032
2016-11-21 07:31:50 -08:00
Andrea Tartaglia
62697ad77f Replaced iterkeys with 'for key in dict' for #18507 (#18538) 2016-11-21 07:18:52 -08:00
John R Barker
d27e007fb1 Network docs fragments: fix copy paste errors (#18564) 2016-11-21 11:36:32 +00:00
René Moser
72f75fd9e0 cloudstack: add helpers to distinguish VMs not in VPC (#18560)
VMs in VPC and not in VPC can have an identical name. As a result VMs in a VPC must be sorted out if no VPC is given.
Due the API limitation, the only way is to check if the network of the VM is in a VPC.
2016-11-20 23:51:50 +01:00
Toshio Kuratomi
783a185f1c Update submodule ref for mount fixes 2016-11-19 15:30:53 -08:00
René Moser
ff7051bab4 cloudstack: fix distinguish VPC and other networks (#18515) 2016-11-19 11:50:02 +01:00
James Cammarata
a83b00bbc0 Properly sort groups by name as well as depth when getting vars
Fixes #17243
2016-11-18 22:57:52 -06:00
James Cammarata
f36926f8d3 With role params also keep special params in the ds as well as params
With 2.0, we decided to create a special list of param names which were
taken out of the role data structure and stored as params instead (connection,
port, and remote_user). This causes problems with inheritance of these params,
so we are now deprecating that while also keeping those keys in the ds so they
are brought in as attributes on the Role correctly.

Fixes #17395
2016-11-18 22:15:55 -06:00
Toshio Kuratomi
5984e3ee9b Update submodule refs 2016-11-18 12:48:31 -08:00
Ben Cordero
a9a2f12adb openstack: iterate through nova addresses with six (#18408) 2016-11-18 12:44:16 -08:00
jamessewell
b91d4d884d Moved the _inventory.clear_group_dict_cache() from creating a group w… (#17766)
* Moved the _inventory.clear_group_dict_cache() from creating a group which doesn't exist, to adding members to the group.

* Update __init__.py

Update to use changed: block to catch all changes for cache clear as suggested
2016-11-18 13:27:17 -06:00
Matt Davis
d78ec1e760 bump submodule refs 2016-11-18 09:59:32 -08:00
Andrew Haines
200d6bdb23 Default include_role results to empty list in linear strategy plugin
Fixes #18544.

When a loop is over an empty list, the result is set to

    {'skipped_reason': u'No items in the list', 'skipped': True, 'changed': False}

which means that accessing `hr._result['results']` throws a `KeyError`.
2016-11-18 12:13:53 -05:00
Brian Coca
aff5d9160a disable 'dense' callback in py26 2016-11-18 11:41:56 -05:00
James Cammarata
937d872f4b Return failed instead of raising an error when an include_vars file is missing
Fixes #18508
2016-11-18 09:28:44 -06:00
Dag Wieers
b7425b59ee Adapt callback functions to changes in 13f3cbaf3b 2016-11-17 19:30:42 -05:00
Dag Wieers
0036108c59 Implement destructor to ensure newline and terminal attributes
Also fixed a typo
2016-11-17 19:30:42 -05:00
Dag Wieers
2a8914e496 Reset VT100 attributes in case we get unexpected output 2016-11-17 19:30:42 -05:00
Dag Wieers
cd6f577d91 Rename ansi to the more correct name vt100 2016-11-17 19:30:42 -05:00
Dag Wieers
893dc81b5e Implement our own detailed task output
Also:
- Streamline ANSI calls
- Implement v2_playbook_on_include
2016-11-17 19:30:42 -05:00
Dag Wieers
221a4e7014 Ensure we end with a newline in normal mode 2016-11-17 19:30:42 -05:00
Dag Wieers
7148023f59 Small fix so diff output starts on a new line 2016-11-17 19:30:42 -05:00
Dag Wieers
9a507b1f07 Don't try to be smart with cmd output ! 2016-11-17 19:30:42 -05:00
Dag Wieers
84e0420389 Make everything work magically !
- Support item-loops correctly
- Support notification handlers
2016-11-17 19:30:42 -05:00
Dag Wieers
589953c79b Assorted improvements
- Better switch between *dense* and *default*
- Reimplement C.COLOR* out of necessity (help!)
- Make verbose output more dense (clean up result)
- Implement our own dumper
- Improve delegation support
2016-11-17 19:30:42 -05:00
Dag Wieers
223c0011e0 Assorted fixes
- Implement delegate support
- Implement preliminary handler support
- Implement our own recap/summary (still fails)
2016-11-17 19:30:42 -05:00
Dag Wieers
1bf7e22756 Implement support for itemized tasks 2016-11-17 19:30:42 -05:00
Dag Wieers
14cfb2b230 Preliminary support for items, WIP 2016-11-17 19:30:42 -05:00
Dag Wieers
67c57a9b6b Improve readability 2016-11-17 19:30:42 -05:00
Dag Wieers
326bb24a89 Various improvements, now supports different verbosity levels 2016-11-17 19:30:42 -05:00
Dag Wieers
fe6e4f8286 New "dense" callback plugin
The goal for the "dense" output is to only show changes and failures on-screen (the Unix-way).
However, since we still want to have a sense of progress, we use terminal capabilities to display progress.

 - On screen there should only be relevant stuff
    - How far are we ? (during run, last line)
    - What issues occured
    - What changes occured
    - Diff output

 - If verbosity increases, act as default output
   So that users can easily switch to default for troubleshooting

 - Leave previous task output on screen
   - If we would clear the line at the start of a task, there would often
     be no information at all
   - We use the cursor to indicate where in the task we are.
     Output after the prompt is the output of the previous task
   - Use the same color-conventions of Ansible

This is still a work in progress.
It was released to give a glimpse of what would be possible.

The Ansible callback mechanism currently does not have all the functionality we need to do this efficiently.
2016-11-17 19:30:42 -05:00
Brano Zarnovican
96ddd29c7e random filter: added optional 'seed' parameter
implements #15621
2016-11-17 15:02:06 -08:00
Toshio Kuratomi
ed00741a01 Mcsalgado's change to use shlex.quote instead of pipes.quote (#18534)
* Replace pipes.quote for shlex_quote

* More migration of pipes.quote to shlex_quote

Note that we cannot yet move module code over.  Modules have six-1.4
bundled which does not have shlex_quote.  This shouldn't be a problem as
the function is still importable from pipes.quote.  It's just that this
has become an implementation detail that makes us want to import from
shlex instead.

Once we get rid of the python2.4 dependency we can update to a newer
version of bundled six module-side and then we're free to use
shlex_quote everywhere.
2016-11-17 13:18:29 -08:00
Brian Coca
5d043b65d3 fix for filter fix 2016-11-17 13:41:57 -05:00
Brian Coca
7c960d440f remove rsync path from returned facts 2016-11-17 13:20:46 -05:00
James Cammarata
f7fe6dc19c Don't fail on missing vars files for delegated hosts
Fixes #17965
2016-11-17 11:59:09 -06:00
Dag Wieers
1ca4add91c Performance improvement using in-operator on dicts
Just a small cleanup for the existing occurrences.

Using the in-operator for hash lookups is faster than using .keys()
http://stackoverflow.com/questions/29314269/why-do-key-in-dict-and-key-in-dict-keys-have-the-same-output
2016-11-17 12:33:04 -05:00
Brian Coca
bb41a005b3 updated to add tailing msg to missing error 2016-11-16 21:29:04 -05:00
Brian Coca
5129e2fe16 added fail_if_missing shared service function 2016-11-16 20:56:40 -05:00
Adrian Likins
c09060e8ff Fix 'ansible-vault edit' crash on changed nonascii
ansible-vault edit was attempting to decode the file contents
and failing.

Fixes #18428
2016-11-16 15:14:07 -05:00
James Cammarata
ca5b361ad8 Reworking iterator logic regarding failed states during always
Previous changes addressed a corner case, which unfortunately introduced
another bug. This patch adds a new flag to the host state (did_rescue) which
is set to true when the rescue portion of a block completes. This flag is
then checked in _check_failed_state() when the fail_state != FAILED_NONE.

This lead to the discovery of another bug - current strategies are not advancing
hosts to ITERATING_COMPLETE after doing a peek at the next task, leaving the
host state in the run_state of the final task. To address this, before gathering
the list of failed hosts in StrategyBase.run(), a final pass through the iterator
for all hosts is done to ensure each host is in its final state. This way, no
strategy derived from StrategyBase has to worry about it and it's handled.

Fixes #17983
2016-11-16 10:21:46 -06:00
Brian Coca
afaec3da82 corrected service filtered option to singular 2016-11-16 10:12:47 -05:00
Gael Pasgrimaud
f94100aa87 make default strategy configurable (#18394) 2016-11-15 15:36:53 -05:00
Brian Coca
bd70397e24 always template when called from template (#18490)
* Have template action plugin call do_template

Avoids all the magic done for 'inline templating' for ansible plays.
renamed _do_template to do_template in templar to make externally accessible.
fixes #18192

* added backwards compat as per feedback
2016-11-15 15:16:46 -05:00
James Cammarata
fcb033b9e4 Add name field for Blocks
Fixes #18420
2016-11-15 11:57:57 -06:00
James Cammarata
57cf5e431c Catch loop eval errors and only raise them again if the task is not skipped
This should help on issues like #16222.
2016-11-15 10:39:10 -06:00
Matt Clay
4981feee99 Update submodule refs. 2016-11-14 20:11:39 -08:00
Brian Coca
c005ae3cd9 removed package from squash actions
fixes https://github.com/ansible/ansible-modules-core/issues/5595
2016-11-14 17:41:14 -05:00
James Cammarata
435ca620b2 Add option to prepend inherited attributes when extending values
Fixes #18483
2016-11-14 16:33:01 -06:00
Brian Coca
11465134fa added alias to argumetns 'args' to blacklist (#18485)
this should fix https://github.com/ansible/ansible-modules-core/issues/5584
2016-11-14 15:18:47 -05:00
Brian Coca
f4391d34e4 added alias to argumetns 'args' to blacklist
this should fix https://github.com/ansible/ansible-modules-core/issues/5584
2016-11-14 14:49:30 -05:00
Adrian Likins
0690a67926 Include missing _text.to_text import
Fixes "global name 'to_text' is not defined" error on
openbsd clients.

Fixes #18473
2016-11-14 11:15:46 -05:00
René Moser
b08ef44da0 cloudstack: extend support for VPC (#18434) 2016-11-14 09:03:46 +01:00
Chris Church
534bd12ae9 Increment changed stat for a failed task if changed. (#18014) 2016-11-14 01:23:02 -06:00
James Cammarata
4f06a86161 Alternately track listening handlers by uuid if no name is set
Fixes #17846
2016-11-13 15:24:44 -06:00
Trond Hindenes
8874c1dc39 Improved Get-PendingRebootStatus 2016-11-11 14:49:01 -08:00
Matt Davis
39dcafe23f bump submodule refs 2016-11-11 10:46:06 -08:00
Brian Coca
3fd03b764b removed core import template 2016-11-11 12:48:45 -05:00
James Cammarata
5b87951d6c Don't copy the parent block of TaskIncludes when loading statically
When loading an include statically, we previously were simply doing a
copy() of the TaskInclude object, which recurses up the parents creating
a new lineage of objects. This caused problems when used inside load_list_of_blocks
as the new parent Block of the new TaskInclude was not actually in the list
of blocks being operated on. In most circumstances, this did not cause a
problem as the new parent block was a proper copy, however when used in
combination with PlaybookInclude (which copies conditionals to the list of
blocks loaded) this untracked parent was not being properly updated, leading
to tasks being run improperly.

Fixes #18206
2016-11-11 08:09:43 -06:00
René Moser
80af461178 cloudstack: add additional CLOUDSTACK_VPC env var (#18467) 2016-11-11 14:03:43 +01:00