Commit graph

11373 commits

Author SHA1 Message Date
Brian Coca
b278fafec8 updated desc 2016-12-08 11:25:32 -05:00
Orion Poplawski
ade7b47f28 Be able to find all contents of a directory (#3711) 2016-12-08 11:25:32 -05:00
tedder
78f8ef267c update formatted lines to use named identifiers 2016-12-08 11:25:32 -05:00
Dag Wieers
c22e383836 Ensure proper error when fetch_url returns status -1
When using a file:// or ftp:// URL the normal provisions that a non-200 status code means error have been disabled.
But the common error status -1 from fetch_url is not properly returning an error message.
This fix ensures that if the status code returns -1, we return a proper error message.

This fixes #3563
2016-12-08 11:25:32 -05:00
Rob Cutmore
6a3969ca6b Git: indicate if remote url was changed or not (#5677) 2016-12-08 11:25:32 -05:00
jctanner
10f0d3ca95 Set b_src to abspath of b_path so that symlinks work again. (#5678)
Fixes #5653
2016-12-08 11:25:32 -05:00
John R Barker
b1c6b9272f win_msi - Don't list choices twice (#5684)
* win_msi - Dont list choices twise

http://docs.ansible.com/ansible/win_msi_module.html shows

Choices:
True
True
False
False

As the yes/no are expanded to true/false by the docs generation

* Update win_msi.py
2016-12-08 11:25:32 -05:00
Toshio Kuratomi
ef3699e277 Fix for call to umount() in remount() 2016-12-08 11:25:32 -05:00
Brian Coca
1d8be78963 try remount but fallback to unmount + mount (#2445)
* allow mount to try remount

falls back to unmount/mount

* fixed fstab handling and switched to ismount

custom function deals with bind mounts unlike built in

* un ** args

* last ** args
2016-12-08 11:25:32 -05:00
tedder
c77f7af765 add .format indexes for 2.6 compatability
Fixes #5551; the "".format() style needs to have `{0}` instead of the implied `{}` version for compatability with 2.6.
2016-12-08 11:25:32 -05:00
zaiusdr
74b32d9ec0 Fix wait_for Module to handle socket response as string in Python3
In Python3 socket module returns responses as bytes type. So it's
necessary to convert it to string for the module work correctly.
2016-12-08 11:25:32 -05:00
Kevin Kirsche
4e95ee036e Update pull request template to provide context
This updates the pull request template to provide more context about why specific things may be needed. This helps to make it feel like it is being asked for to help the team rather than arbitrary questions that don't seem applicable, such as command output for a docs change.
2016-12-08 11:25:32 -05:00
Matt Davis
13a9b98565 Prevent handle inheritance from blocking Windows async_wrapper (#5666) 2016-12-08 11:25:32 -05:00
Brian Coca
44c07d7ca8 Several systemd fixes
Allow some operations on missing services
Better sysv handling
Rearranged error reporting
fixed load error catching and order logic
also minor doc/comment updates
added warnings
2016-12-08 11:25:32 -05:00
Peter Sprygada
7079fe41be Revert "ios_mods - added stdout to exception output. Removed to_lines()" (#5663) 2016-12-08 11:25:31 -05:00
Monty Taylor
509846e6d6 Add a few lines about testing (#5662) 2016-12-08 11:25:31 -05:00
Toshio Kuratomi
52698596bc Clarify the comment 2016-12-08 11:25:31 -05:00
Toshio Kuratomi
91d98bb1a6 Older versions of rhn-client-tools don't understand containment tests. 2016-12-08 11:25:31 -05:00
Dag Wieers
54fdff16db 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-12-08 11:25:31 -05:00
Dag Wieers
c843eeabc2 Performance improvement using in-operator for hash lookups
Just a small cleanup for the existing occurrences.

Using the in-operator for hash lookups is faster than using .has_key()
http://stackoverflow.com/questions/1323410/has-key-or-in
2016-12-08 11:25:31 -05:00
David Wittman
85f6c26dff Add 'link' file_type to find_module
- Adds the 'link' file_type for finding symbolic or hard links
 - Use `os.lstat` instead of `os.stat` to prevent the following
   of links when statting the file.
2016-12-08 11:25:31 -05:00
Sam Doran
895179929c Examples syntax batch6 (#5623)
* Change example syntax on os_auth module

* Change example syntax on os_client_config module

* Change example syntax on os_image_facts module

* Change example syntax on os_networks_facts module

* Change example syntax on os_nova_flavor module

* Change example syntax on os_object module

* Change example syntax on os_server module

* Change example syntax on os_subnet_facts module

* Change example syntax on rax_files module

* Change example syntax on rax_files_objects module

* Change example syntax on mysql_db module

* Change example syntax on file module

* Change example syntax on uri module

* Change example syntax on cl_bond module

* Change example syntax on cl_bridge module

* Change example syntax on cl_img_install module

* Change example syntax on cl_interface module

* Change example syntax on cl_license module

* Change example syntax on cl_ports module

* Remove trailing colon
2016-12-08 11:25:31 -05:00
Jesse Keating
4c3f8cbd92 Do not require password when deleting os_user (#5601)
I broke backwards compat with the addition to define when a password
should be updated. It was requiring that a password value be passed when
deleting a user, which seems silly.

This moves the argument logic out of the argument spec and into when it
would be needed, when state is present.
2016-12-08 11:25:31 -05:00
Luc Charpentier
be7af0193d error in docker_container example (#5631) 2016-12-08 11:25:31 -05:00
Abdul Anshad A
480c364afd fixes issue #5517 (#5519) 2016-12-08 11:25:31 -05:00
Sam Doran
38c0769abb Examples syntax batch5 (#5622)
* Change example syntax on supervisorctl module

* Change example syntax or _ec2_ami_search module

* Change example syntax on cloudformation module

* Change example syntax on ec2 module

* Change example syntax on ec2_facts module

* Change example syntax on ec2_eip module

* Change example syntax on rds module

* Change example syntax on route53 module

* Change example syntax on s3 module

* Change example syntax on digital_ocean module

* Change example syntax on docker_service module

* Change example syntax on cloudformation module

* Change example syntax on gc_storage module

* Change example syntax on gce module

* Change example syntax on gce_mig module

* Change example syntax on _glance_image module

* Change example syntax on _keystone_user module

* Change example syntax on _nova_keypair module

* Change example syntax on _quantum_floating module

* Change example syntax on _quantum_floating_ip_associate module

* Change example syntax on _quantum_network module

* Change example syntax on _quantum_router module

* Change example syntax on _quantum_router_gateway module

* Change example syntax on _quantum_router_interface module

* Change example syntax on _quantum_subnet module

* SQUASH _quantum_subnet

* Add missing quotes
2016-12-08 11:25:31 -05:00
Sam Doran
b56a9852ee Examples syntax batch4 (#5620)
* Change example syntax on authorized_key module

* Change example syntax on cron module

* Change example syntax on group module

* Change example syntax on hostname module

* Change example syntax on seboolean module

* Change example syntax on selinux module

* Change example syntax on service module

* Change example syntax on sysctl module

* Change example syntax on systemd module

* Change example syntax on user module

* Change example syntax on debug module

* Change example syntax on fail module

* Change example syntax on include module

* Change example syntax on include_role module

* Change example syntax on include_vars module

* Change example syntax on pause module

* Change example syntax on wait_for module

* Change example syntax on apache2_module module

* > Change example syntax on django_manage module

* Change example syntax on htpasswd module
2016-12-08 11:25:31 -05:00
Sam Doran
ad6999e2eb Change example syntax on subversion module 2016-12-08 11:25:31 -05:00
Sam Doran
8a1caba407 Change example syntax on hg module 2016-12-08 11:25:31 -05:00
Sam Doran
1c801ac574 Change example syntax on git module 2016-12-08 11:25:30 -05:00
Sam Doran
2bb5ab9776 Change example syntax on pip module 2016-12-08 11:25:30 -05:00
Sam Doran
d42f73f5e9 Change example syntax on gem module 2016-12-08 11:25:30 -05:00
Sam Doran
8a1bd4178a Change example syntax on easy_install module 2016-12-08 11:25:30 -05:00
Sam Doran
4c93d3edf0 Change example syntax on yum module 2016-12-08 11:25:30 -05:00
Sam Doran
ea3c8ee406 Change example syntax on rpm_key module 2016-12-08 11:25:30 -05:00
Sam Doran
66c92d5623 Change example syntax on rhn_register module 2016-12-08 11:25:30 -05:00
Sam Doran
25af0652b9 Change example syntax on rhn_subscription module 2016-12-08 11:25:30 -05:00
Sam Doran
3208cf5abf Change example syntax on redhat_subscription module 2016-12-08 11:25:30 -05:00
Sam Doran
6c16ab6ca8 Change example syntax on package module 2016-12-08 11:25:30 -05:00
Sam Doran
ca12f5acac Change example syntax on apt_rpm module 2016-12-08 11:25:30 -05:00
Sam Doran
e4978ea98d Change example syntax on apt_repository module 2016-12-08 11:25:30 -05:00
Sam Doran
b2ffded3a7 Change example syntax on apt_key module 2016-12-08 11:25:30 -05:00
Sam Doran
f8ce66cbde Change example syntax on apt module 2016-12-08 11:25:30 -05:00
Sam Doran
c773539359 Change example syntax on group_by module 2016-12-08 11:25:30 -05:00
Sam Doran
a97964a22d Change example syntax on add_host module 2016-12-08 11:25:30 -05:00
Sam Doran
385d34a3d7 Change example syntax on xattr module 2016-12-08 11:25:30 -05:00
Sam Doran
c5921612d1 Change example syntax on unarchive module 2016-12-08 11:25:29 -05:00
Rezart Qelibari
d7e9fbe631 Update system/group.py module.
Add ability to add system groups with next free system gid (< 500) on macOS.
2016-12-08 11:25:29 -05:00
John R Barker
5945b19ad3 double quotes for consistency 2016-12-08 11:25:29 -05:00
John R Barker
1d00dd80f1 Need to quote if there is a : 2016-12-08 11:25:29 -05:00
Ben Tomasik
0de338824a Set suspend_processes version_added to 2.3 2016-12-08 11:25:29 -05:00
Ben Tomasik
f2af5b8664 Add support for suspending scaling processes Ref: http://docs.aws.amazon.com/autoscaling/latest/userguide/as-suspend-resume-processes.html 2016-12-08 11:25:29 -05:00
Sam Doran
f71134cb98 Change example syntax on template module 2016-12-08 11:25:29 -05:00
Sam Doran
a1b945a23e > Change example syntax on synchronize module 2016-12-08 11:25:29 -05:00
Sam Doran
065749ee2a Change example syntax on stat module 2016-12-08 11:25:29 -05:00
Sam Doran
d3e7d4f469 Change example syntax on replace module 2016-12-08 11:25:29 -05:00
Sam Doran
25f6f36a92 Change examples syntax on lineinfile module 2016-12-08 11:25:29 -05:00
Sam Doran
1923666b22 Change examples syntax on ini_file module 2016-12-08 11:25:29 -05:00
Sam Doran
ba76df1af1 Change examples syntax on find module 2016-12-08 11:25:29 -05:00
Sam Doran
0c46813871 Change examples syntax on file module 2016-12-08 11:25:29 -05:00
Sam Doran
6ea87c583b Change examples syntax on fetch module 2016-12-08 11:25:29 -05:00
Sam Doran
532c77849a Change examples syntax on copy module 2016-12-08 11:25:29 -05:00
Sam Doran
8f097580ec Change examples syntax on assemble module 2016-12-08 11:25:28 -05:00
Sam Doran
c694fe6ca4 Change examples syntax on acl module 2016-12-08 11:25:28 -05:00
Sam Doran
6d06f80097 Change examples syntax on postgresql_user module 2016-12-08 11:25:28 -05:00
Sam Doran
13c827a31c Change examples syntax on postgresql_privs module 2016-12-08 11:25:28 -05:00
Sam Doran
8edd2673b2 > Change examples syntax on postgresql_db module 2016-12-08 11:25:28 -05:00
Sam Doran
e0cfe14901 Change examples syntax on mysql_variables module 2016-12-08 11:25:28 -05:00
Sam Doran
db723af8aa Change examples syntax on mysql_user module 2016-12-08 11:25:28 -05:00
Sam Doran
119a767cd2 Change examples syntax on mysql_db module 2016-12-08 11:25:28 -05:00
Sam Doran
079bf05ec3 Change examples syntax on shell module 2016-12-08 11:25:28 -05:00
Sam Doran
60a92eadd7 Change examples syntax on script module 2016-12-08 11:25:28 -05:00
Brian Coca
847cc0a1ec Revert "stat: doc: add version for new returns" 2016-12-08 11:25:28 -05:00
Brian Coca
50c9a276d7 added file flags/attributes to stat (#5358)
depends on http://github.com/ansible/ansible/issue/18213
also documented return version of fields added in 2.2
added get_mime to keep consistency
changed default mime behaviour
2016-12-08 11:25:28 -05:00
Gyorgy Szombathelyi
33ef72b584 Ini_file: fix regression with the create option
The new create option with the default value 'no' changes the
behavior from the previous Ansible releases. Change the default to
'yes' to create missing ini files by default.

Fixes: #5488
2016-12-08 11:25:28 -05:00
René Moser
c8da9b012b stat: doc: add version for new returns (#5594) 2016-12-08 11:25:28 -05:00
Fabio Alessandro Locati
2cacc3e787 Use native YAML (#5571) 2016-12-08 11:25:28 -05:00
einarc
22df46d168 Avoid TypeError when desired_capacity is not provided to ec2_asg module (#5501)
Moving the "check if min_size/max_size/desired_capacity..." code to execute BEFORE the desired_capacity code is used in the following operation:
num_new_inst_needed = desired_capacity - len(new_instances)

Otherwise the following exception occurs when desired_capacity is not specified and you're replacing instances:
    num_new_inst_needed = desired_capacity - len(new_instances)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'

Stack Trace:

An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
  File "/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg", line 3044, in <module>
    main()
  File "/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg", line 3038, in main
    replace_changed, asg_properties=replace(connection, module)
  File "/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg", line 2778, in replace
    num_new_inst_needed = desired_capacity - len(new_instances)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'

fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "ec2_asg"}, "module_stderr": "Traceback (most recent call last):\n  File \"/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg\", line 3044, in <module>\n    main()\n  File \"/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg\", line 3038, in main\n    replace_changed, asg_properties=replace(connection, module)\n  File \"/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg\", line 2778, in replace\n    num_new_inst_needed = desired_capacity - len(new_instances)\nTypeError: unsupported operand type(s) for -: 'NoneType' and 'int'\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false}
	to retry, use: --limit @
2016-12-08 11:25:28 -05:00
Patrick F. Marques
dc4cff7350 Remove duplicated option from examples 2016-12-08 11:25:28 -05:00
Zaius Dr
d8c21b153d Improve ec2 module Python3 Support (#5497)
Imported six module from ansible module_utils for backwards compatibility.
2016-12-08 11:25:27 -05:00
Lars Van Casteren
0a435058a5 Docs update for os_security_group (#5531)
The example used equal characters and not colon characters.
2016-12-08 11:25:27 -05:00
Andrew Gaffney
2ef59561ba Fix bare variable references in docs (#5554) 2016-12-08 11:25:27 -05:00
Ryan Brown
e45e25c257 Fix cloudformation error when stack-rollback fails (#5550)
In cases where a CFN stack could not complete (due to lack of
permissions or similar) but also failed to roll back, the gathering of
stack resources would fail because successfully deleted items in the
rollback would no longer have a `PhysicalResourceId` property.

This PR fixes that by soft-failing when there's no physical ID
associated to a resource.
2016-12-08 11:25:27 -05:00
Ryan S. Brown
bf9077bfad Fix doc examples for ec2_elb_lb module
The examples had the listeners as a list item for each param, when they
really need to be their own objects.
2016-12-08 11:25:27 -05:00
Ryan S. Brown
5dd9372ff8 Fail gracefully in ec2_asg module when there are no matching launch configurations 2016-12-08 11:25:27 -05:00
jctanner
06e1141106 replace type() with isinstance() (#5541)
Replace all use of type() with isintance()

Addresses https://github.com/ansible/ansible/issues/18310
2016-12-08 11:25:27 -05:00
Ryan S. Brown
2744fde7c9 Fix link in cloudformation module docs 2016-12-08 11:25:27 -05:00
Sean Summers
59b11be65d added requires for botocore with RoleARN support
Added a requires for the minimum botocore version required to support RoleARN
2016-12-08 11:25:27 -05:00
Sean Summers
67934ac7db add role_arn to support Service Role
Add `role_arn` to support [AWS CloudFormation Service Role](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html)
2016-12-08 11:25:27 -05:00
jctanner
019acfa9b0 Correct the handling of state=latest for yum groups. (#4141)
* Correct the handling up state=latest for yum groups.
* Use yum-deprecated when available

Fixes #4119
2016-12-08 11:25:27 -05:00
Jason Cormie
9baca6ef3d Addition of InstanceUUID to facts (#4424)
The Instance UUID(refered to as PersistenceUUID in the API) is a the ID
vcenter uses to idenify VMs.
My use case for this is that I configure Zabbix using ansible and its
vmware module relies on using these to identify VMs.
2016-12-08 11:25:27 -05:00
Yair Fried
7eeb3445a4 Expose internal_network in os_floating_ip (#5510)
* Expose internal_network in os_floating_ip

Shade project has finally exposed this argument so now this module
matches old quantum_floatingip module's capabilities.

Use "nat_destination" term instead of "internal_network" to match shade
terminology.

* Add (private|internal)_network aliases to os_floating_ip

* Fix typo in os_floating_ip
2016-12-08 11:25:27 -05:00
mrLarbi
3bee788b72 ios_config : Set multiline_delimiter version to 2.3 (#5525) 2016-12-08 11:25:27 -05:00
Peter Sprygada
7d374689ad roll up of more fixes for ios_config multiline banners (#5524)
* now works for any banner in the config
* provides a configurable delimiter

link #5318
2016-12-08 11:25:27 -05:00
bdowling
ddd13bf53a ios_mods - added stdout to exception output. Removed to_lines() (#5428)
stdout lines are now available when certain exceptions occur
(Ref ansible/ansible#18241)

Also noticed that to_lines was essentially handled in
lib/ansible/plugins/action/__init__.py -- only difference was
it didn't handle a list.  to_lines() could be removed across
network modules now, but this commit is only for ios_command.

Also adds disconnect() to ios_command that was added
to ios_config in #5247
2016-12-08 11:25:26 -05:00
Michael Scherer
6806965bda Add no_log on password argument
Also do not use a wildcard import, for later refactoring
2016-12-08 11:25:26 -05:00
mickael-ange
23eba8fd97 Added aws and ec2 extends_documentation_fragment to cloud/amazon/rds module. (#3951) 2016-12-08 11:25:26 -05:00
Abel Boldú
6077028560 Add uplink provider type (#5282) 2016-12-08 11:25:26 -05:00
Michael Herold
e5cc4a45d3 Removes outdated "requirement" and outdated "note" (#5332)
- 7f59773460 no longer uses `ConfigParser`
- 1d4c0abe29 removed the `import` statement
2016-12-08 11:25:26 -05:00
Eduard Iskandarov
8ec5757789 Fixes: #4516 add placement_group argument for ec2_asg module 2016-12-08 11:25:26 -05:00
René Moser
447842c524 apt: fix changed when cache updated but not pkg (#5487) 2016-12-08 11:25:26 -05:00
Matt Martz
08ce50c2b3 If fetch_url failed to download the URL fail early with a proper error message. Fixes #5474 (#5476) 2016-12-08 11:25:26 -05:00
Michael Scherer
352d280058 Make service work when the service is not present in rc.conf
After installing a package from the ports collection on a
fresh FreeBSD 11.0, Ansible was unable to enable it, failing with
"unable to get current rcvar value". Debugging showed that sysrc
didn't see the variable from /usr/local/etc/rc.d/myservice, but
adding the value was working.

So we will just fallback to the default value if we can't find it.
2016-12-08 11:25:26 -05:00
Tom Melendez
b85bcb71c3 Support for named_ports in Managed Instance Groups. A libcloud guard has been implemented, as this feature will only be available in libcloud >= 1.3, or by using trunk. (#5167) 2016-12-08 11:25:26 -05:00
Jesse Keating
0ec56bb563 Add update_password argument to os_user (#5219)
There is a desire to not have this module always result in a change if a
password argument is supplied. The OpenStack API does not return a
password back when we get a user, so we've been assuming that if a
password argument was supplied, we should attempt to change the password
(even if nothing else is changing), and that results in a "changed"
state. Now we will only send along a password change attempt if the user
wants one (the default to match history).

Fixes #5217
2016-12-08 11:25:26 -05:00
Peter Sprygada
f8bcf55289 fixes problem when trying load banner into ios device (#5494)
this fix will now handle loading a multiline banner on ios based
devices without hanging.  It separates the processing of banners
from the remainder of the config

link #5318
2016-12-08 11:25:26 -05:00
jctanner
1ccd4ae8b0 Re-add version_added to include_vars (#5493) 2016-12-08 11:25:26 -05:00
Peter Sprygada
8b70d17f61 ios_facts module will no longer error on missing command (#5491)
The module will error if it tries to use a cli command that is not available
on a given platform.  This fix will address that problem.  If the cli
command is not available, then the command is silently discarded and the
facts that the command output is based on is not returned.  Any failed
commands are provided in the module return under the failed_commands
key.  This fix also updates the Examples docstring to make it consistent
with other ios_* modules

fixes #5444
fixes #5372
2016-12-08 11:25:26 -05:00
Matt Robinson
df70a58d72 apt_repository: Relax PPA checks and add basename (#5432)
Allow installation of PPA repositories on non-Ubuntu Debian derived
distribution targets (e.g. neon, Mint, Debian itself) by removing the
specific check for UbuntuDistribution before allowing PPA: format
sources. This fixes the addition of PPA repositories under KDE neon (as
the codenames match the base Ubuntu distribution).

To make the functionality also useful under Mint and Debian which have
different codenames to their Ubuntu upstream / downstream releases, add
a 'codename' option to override the default used in the PPA source
entry.
2016-12-08 11:25:26 -05:00
Matt Clay
be48ea4389 Simplify compileall checks. Remove py3 skip list. 2016-12-08 11:25:26 -05:00
Chris Becker
fabb63c43f Add more specific language to module description and examples
* Add 'on the remote server' to `file` parameter description
* Add example showing how to use the `file` parameter, with specific
  language about the file's location being on the 'remote server'
2016-12-08 11:25:25 -05:00
zuiurs
eeecc3adcc fix the behavior that the dest is directory
This fixes the behavior that the dest is directory,
when we set the "force: no" argument.
To be join the dest and the src's basename,
before checking the "force" argument.
2016-12-08 11:25:25 -05:00
Ricardo Carrillo Cruz
33d7745794 Add rebuild support to os_server_actions (#4289)
Fixes #2714
2016-12-08 11:25:25 -05:00
Allen Sanabria
c9960c00dc Updated documentation for PR http://github.com/ansible/ansible/pull/17207 2016-12-08 11:25:25 -05:00
Brian Coca
00fbd98f97 dont join when group is none 2016-12-08 11:25:25 -05:00
John R Barker
2a9e5687eb Correct typos in docs strings (#5233) 2016-12-08 11:25:25 -05:00
Jamie Dyer
4ac3b0c5d5 Make the RDS endpoint available if AWS returns it. Fixes #3865 (#4143) 2016-12-08 11:25:25 -05:00
jctanner
60dd2f1fff apt: update cache until corrupt package lists are fixed (#5448)
* apt: If the cache object fails to lost due to a corrupt file, try to update the cache until it is fixed.
* Append -q to the update parameters
* Remove unused variable
* Use a string that doesn't rely on internationalization
* Use py24 exception style
* Use get_exception

Fixes #2951
2016-12-08 11:25:25 -05:00
Brian Coca
ba6bc5382d corrected version added 2016-12-08 11:25:25 -05:00
Brian Coca
20f2fe4e91 added logout to docker_login
also cleaned up 'actions' and minor doc issues
2016-12-08 11:25:25 -05:00
Brian Coca
9e931f89fb added ability to control sleep between attempts
the default was 1s but it makes sense to make this configurable
2016-12-08 11:25:25 -05:00
Brian Coca
97b23c0fb7 docit 2016-12-08 11:25:25 -05:00
Brian Coca
52332f5b78 allow groups to be passed as YAML list as well
keeps backwards copat with 'comma delimited string'
fixes #5163
2016-12-08 11:25:25 -05:00
Evan Kaufman
5d3e64b0d2 Identify existing unmanaged jobs by exact match, when no header comment is found
* updated `find_job` method to find by exact match of job, when no matching header comment is found
  * note this fallback injects a header comment for later calls to `update_job` or `remove_job`
* abstracted header comment building to `do_comment` method

Fixes #3256
2016-12-08 11:25:25 -05:00
Brian Coca
47ffb6d542 minor updates to include docs 2016-12-08 11:25:25 -05:00
Brian Coca
d36bea766d make sure all svcadm operations are syncronous
fixes #5296
2016-12-08 11:25:25 -05:00
Toshio Kuratomi
0d74ae3368 Need to locate a pip inside a venv when venv is specified
Alternative to #5359

Fixes #5347
2016-12-08 11:25:24 -05:00
Matt Clay
24615e10e3 Removed tests migrated to ansible/ansible repo. (#5452) 2016-12-08 11:25:24 -05:00
Matt Davis
2c216cdf35 fix JSON junk in win_file state=directory case (#5427) 2016-12-08 11:25:24 -05:00
Charles Paul
f6676f4957 add id: back to documentation 2016-12-08 11:25:24 -05:00
bencomp
d25ba6a30a Make find return sample a YAML dict
In the description of the find module return value, the sample dict
has its key=value strings converted to key=value: None in the
web documentation. This commit updates the sample output to a 'real'
dict.

Minor additional edit in the description: "return list *of* files".
2016-12-08 11:25:24 -05:00
Matt Davis
8e97539e20 fix win_shell/win_command deadlock on large interleaved stdout/stderr (#5384)
fixes #5229
2016-12-08 11:25:24 -05:00
Fahri Cihan Demirci
1ecb63f0e0 Fix String Type for Python 3 Branch Comparison
* Use the `to_native` conversion method to convert a command output to the
  appropriate form when looking for branch names in the command output,
  therefore avoiding a `TypeError` in Python 3.
2016-12-08 11:25:24 -05:00
Hiroaki Nakamura
c2d37f1db9 hostname: add support for alpine linux (#4837)
* Add update_current_and_permanent_hostname to the hostname module

* Add support for Alpine Linux to the hostname module
2016-12-08 11:25:24 -05:00
Evan Kaufman
42079bcc59 Exposed backup file path, simplified result args (#5364)
Fixes #245
2016-12-08 11:25:24 -05:00
Toshio Kuratomi
38b3c43c68 Fix uri for change in case in response
In python3, response fields are title cased whereas in python2 they were
not.  We return these fields to the module's caller so we need to
normalize all of them to be lower case.

This reverts the lowercase check from 454f741ef5
as that one was only targetted as a single field.
2016-12-08 11:25:24 -05:00
Matt Davis
dfc2a29bdb fix win async tempdir deletion failure 2016-12-08 11:25:24 -05:00
Matt Davis
73f77e2af6 switch win async to use Win32 CreateProcess
should fix flaky async startup behavior where watchdog/module exec starts and immediately dies
2016-12-08 11:25:24 -05:00
Toshio Kuratomi
bd9e790cfe First set of fixes for uri module to work with py3.
This fix handles changes in the response headers (no longer all
lowercased) and switches from unicode() to to_text().
2016-12-08 11:25:24 -05:00
Jonathan Mainguy
51313e6da8 update maintainer 2016-12-08 11:25:24 -05:00
Timothy Appnel
5a17277bd3 clarifies synchronize module on use of --delayed-updates 2016-12-08 11:25:24 -05:00
Evan Kaufman
f8dad7130d Record existing cron file as string property, rather than only recording termination
This seems less hackish, and feels more proper for diff generation
2016-12-08 11:25:24 -05:00
Evan Kaufman
f64990df02 Rendering of crontab should reflect actual newline termination, in diff mode 2016-12-08 11:25:24 -05:00
Evan Kaufman
b416015634 Ensure trailing newline is written to cron file
Records whether existing cron file (or CRONCMD output) has a terminating newline, and ensures a trailing newline is written as necessary EVEN IF NO CHANGE WAS MADE to the target env/job

Fixes #2316
2016-12-08 11:25:23 -05:00
Evgenii Terechkov
da71acf1bf Replace dangerous shell calls with module.run_command 2016-12-08 11:25:23 -05:00
Evgenii Terechkov
8fd4785062 Ensure that we use shell
to run apt-get -y install ... >/dev/null

this commit must fix #2839
2016-12-08 11:25:23 -05:00
Rowan Wookey
914e205eb3 Added work around for Ubuntu Xenial calling php7_module php7.0 2016-12-08 11:25:23 -05:00
Luca Berruti
2bbbf58156 ini_file: return more infos on changes. 2016-12-08 11:25:23 -05:00
Luca Berruti
6d8b140f46 ini_file: diff support. 2016-12-08 11:25:23 -05:00
Luca Berruti
73401182c1 ini_file: add create= option. 2016-12-08 11:25:23 -05:00
Luca Berruti
1a22dde1ac ini_file: fixes #1788, fails --check when file doesn't exist. 2016-12-08 11:25:23 -05:00
Brian Coca
fccaf883da refactor stat
make format function 'format only'
added platform dependant info, when it is available
avoid rechecking same info
added comments to each info gathering section

(cherry picked from commit a79acf73d7eb79b76d808ff8a1d6c505dfd9ec82)
2016-12-08 11:25:23 -05:00
Toshio Kuratomi
e2fce828f6 Order of return values was reversed 2016-12-08 11:25:23 -05:00
Toshio Kuratomi
9aac87e08c Fix builddep when a source package exists without a binary package
builddep only requires a source package to be in the repos but our code
was checking for a binary package before running buiddep.  Reversing the
order makes it work correctly.

Fixes #4519
2016-12-08 11:25:23 -05:00
Toshio Kuratomi
b8279e7447 Only change to short IDs for delete (#5353)
* Only change to short IDs for delete

If the user specifies long IDs, use them for all commands except for
deleting a key.  Need to use short IDs there because of an upstream
apt_key bug.  Fixed in apt_key 1.10 (fix is present in Ubuntu 16.04 but
not Ubuntu 14.0 or some Debians).

Fixes #5237

* Check that apt-key really erased the key

When erasing a key, apt-key does not understand how to process subkeys.
This update explicitly checks that the key_id is no longer present and
throws an error if it is.  It also hints at subkeys being a possible
problem in the error message and the documentation.

Fixes #5119

* Fix apt_key check mode with long ids

apt-key can be given a key id longer than 16 chars to more accurately
define what key to download.  However, we can use a maximum of 16
chars to verify whether a key is installed or not.  So we need to use
different lengths for the id depending on what we're doing with it.

Fixes #2622

Also:

* Some style cleanups
* Use get_bin_path to find the path to apt-key and then use that when
  invoking apt-key
* Return a nice user error message if the key was not found on the
  keyserver
* Make file and keyring parameters type='path' so envars and tilde are
  expanded
2016-12-08 11:25:23 -05:00
Charles Zaffery
4c830400f8 Remove line when 'state: absent' with 'option:' instead of commenting 2016-12-08 11:25:23 -05:00
Adrian Likins
29978344ea Make authorized_key preserve key order (#5339)
* Make authorized_key preserve key order

Track the ordering of keys in the original file (rank)
and try to preserve it when writing out updates.

Fixes #4780
2016-12-08 11:25:23 -05:00
Toshio Kuratomi
e7fcfa981e Remove the yaml dep from the git module 2016-12-08 11:25:23 -05:00
Toshio Kuratomi
fad760dc7a Fix git for py3
Comparing to the output of run_command() needs to use native strings

Also fix imports: We were relying on them coming from the import of
basic.  A few (like yaml) weren't imported at all.
2016-12-08 11:25:23 -05:00
Robin Roth
5446e6639f Fix git failure for use of depth with version (#5135)
* Fixes #5108
* before module fails with "fatal: A branch named 'STABLE' already
  exists." when depth is used on a fresh clone with a non-HEAD branch
2016-12-08 11:25:22 -05:00
René Moser
3dda38a90f doc: add_host: add example without deprecated vars (#5323)
ansible_ssh_* are deprecated since 2.0
2016-12-08 11:25:22 -05:00
John Baublitz
352b620665 GCE: Add support for 'number' parameter for manually provisioned Google Compute clusters (#4276)
* Add option for number parameter to generate manually provisioned clusters from a base name

* Refactor code to work with starting and stopped when number is specified

* Update docs

* Fix documentation error breaking Travis

* Fixes for async gce operations

* Fix documentation

* base_name from parameter to alias for name and fixes for renaming variables

* Fix breaking change on gce.py

* Fix bugs with name parameter

* Fix comments for Github build checks

* Add logic to set changed appropriately for cluster provisioning
2016-12-08 11:25:22 -05:00
Toshio Kuratomi
ff6bac126e On Ubuntu16, virtualenv always tries to use python2 even when python2 is not installed.
Workaround that by mimicing the upstream virtualenv behaviour in code
(use the python version that was used to invoke virtualenv/the ansible
module)
2016-12-08 11:25:22 -05:00
Toshio Kuratomi
9bbe71154c Fix authorized_key module to preserve the order of options
The last fix allowing multiple definitions of the same option key (for
permitopen support) introduced a set() which removed the guaranteed
ordering of the options.

This change restores ordering.  The change is larger than simply
removing the set because we do need to handle the non-dict semantics
around keys not being unique in the data structure.  The new code make
use of __setitem__() and items() to do its work.  Trying to use
getitem() or keys() should be looked upon with suspicion as neither of
those follow dictionary semantics and it is quite possible the coder
doesn't realize this.  The next time we need to touch or enhance the
keydict code it should probably be rewritten to not pretend to extend
the dictionary interface.
2016-12-08 11:25:22 -05:00
Matthew Jones
107a473dd8 Add separate checkout and update parameters (#5306)
* Add separate checkout and update parameters

This brings the svn module in line with the git module for controlling
individual update and checkout functionality based on whether the
directory exists or not.

It also allows specifying `no` for both to pull the remote revision
without performing a checkout

* Update version-added for new parameters
2016-12-08 11:25:22 -05:00
Matthew Jones
97bf5b84e3 Add separate clone parameter (#5307)
* Add separate clone parameter

This brings the hg module in line with the git module for controlling
individual update and checkout functionality based on whether the
directory exists or not.

It also allows specifying `no` for both to pull the remote revision
without performing a checkout

* Reflect the right added ver for the hg clone arg
2016-12-08 11:25:22 -05:00
Ryan S. Brown
422ec08649 Remove unused YAML import from cloudformation 2016-12-08 11:25:22 -05:00
Ryan Brown
dfd57942f9 Support native YAML in CloudFormation module (#5327)
Support the new native YAML format in the CloudFormation API. This means
the existing `template_format` parameter is deprecated. This commit also
adds a warning for the deprecated parameter.
2016-12-08 11:25:22 -05:00
John R Barker
96f9992884 Typo in cleanup (#5322) 2016-12-08 11:25:22 -05:00
Filip Hubík
9a2d8337f2 Fix incorrect line wrapping in output from yum check-updates
https://github.com/ansible/ansible-modules-core/issues/4318#issuecomment-251416661
2016-12-08 11:25:22 -05:00
John R Barker
7a3d93b9f6 Run validate-modules from ansible/ansible@devel (#5257)
* Run validate-modules from devel

Use a clean dir for checkout

typo

Correct path

validate-modules requires mock and voluptuous==0.8.8

typo

Ensure script is running

Remove testing debug

Install Ansible only once

Install ansible and validate_modules requirements

Now that we no longer pip install Ansible we need to manually install
it's dependencies

Debug

Dependencies are listed in ansible/ansible

debug

submodules

typo

typo

working

* Matt's feedback

* Use mktemp to checkout and delete directory after running

* Single quotes
2016-12-08 11:25:22 -05:00
Daniel Andrei Minca
ca36d232d5 fix unclear documentation for docker container
the docker container module's `exposed_ports` was slightly ambigous.

Use the official Docker documentation to define what an `exposed port`
is.

Resolves: ansible/ansible-modules-core#5303
Signed-off-by: Daniel Andrei Minca <mandrei17@gmail.com>
2016-12-08 11:25:22 -05:00
Michael Scherer
ed590257a3 Fix code for python 3
Since dict.keys return a dictkeys under python 3, we hav to cast it
to a list to avoid traceback:

    Traceback (most recent call last):
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 496, in <module>
        main()
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 490, in main
        results = enforce_state(module, module.params)
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 410, in enforce_state
        parsed_new_key = parsekey(module, new_key)
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 308, in parsekey
        options = parseoptions(module, options)
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 259, in parseoptions
        options_dict[key] = value
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 164, in __setitem__
        self.itemlist.append(key)
    AttributeError: 'dict_keys' object has no attribute 'append'

Yet another fix for https://github.com/ansible/ansible/pull/18053
2016-12-08 11:25:22 -05:00
Michael Scherer
e6b3c0d88a cleanup import for htpassword module
In order to ease future refactoring, we should avoid importing
'*' from ansible.module_utils.basic.
2016-12-08 11:25:22 -05:00
Michael Scherer
2c078dcb97 Cleanup import for authorized_key
Do not import '*', to ease future refactoring and cleanup of
module_utils.
2016-12-08 11:25:21 -05:00
Ryan S. Brown
08b119df33 Fix cloudformation module return parameter documentation
Always return stack outputs, even if only an empty dict
2016-12-08 11:25:21 -05:00
tedder
d01bfa6a72 Cloudformation module fix unintentional changed=true
- Don't rewrite the result; this is causing 'changed=true' on update
- Move AWSRetry import to top since it's a decorator, and is needed at definition-time
2016-12-08 11:25:21 -05:00
tedder
763399830d Boto3 rewrite of cloudformation module
- removed star-imports, which wasn't possible in Ansible 1.x
- boto doesn't have any of the modern features (most notably, changesets), so this rewrite goes all-in on boto3.
- tags are updateable, at least in boto3. Fix documentation.
- staying with "ansible yaml to json conversion" because I'm trying to keep this scoped properly. The next PR will have AWS-native yaml support.
- documented the output. Tried to leave it backwards-compatible but the changes to 'events' might break someone's flow. However, the existing data wasn't terribly useful so I don't assume it will hurt.
- split up the code into functions. This should make unit testing possible.
- added forward-facing code: 'six' for iterating, started using AWSRetry, common tag conversion.
- add todo list
- Pass `exception` parameter to fail_json
2016-12-08 11:25:21 -05:00
Michael Scherer
3f43879db8 Cleanup imports of xattr
Since the module use re and os, we need to import them.
And rather than importing '*', we should limit to the
only object/function needed, so we can more easily refactor
later.
2016-12-08 11:25:21 -05:00
Dag Wieers
858d02ac4c Ensure yum failures in with-loop result into a failed task
The implementation is fairly simple, we force the rc= parameter to not be zero so that the check in _executor/task_result.py_ correctly determines that it failed. Without this change Ansible would report the task to be ok (despite failed=True and msg=Some_error_message) although Ansible stops and the summary output reports a failed task.

This fixes #4214, #4384 and also relates to ansible/ansible#12070, ansible/ansible#16006, ansible/ansible##16597, ansible/ansible#17208 and ansible/ansible#17252
2016-12-08 11:25:21 -05:00
Jamie Evans
606ac78a20 verify both tags and commits (#2654)
This fixes a bug where the module fails to verify tags.  I added a conditional statement in `verify_commit_sign()` that checks if `version` argument is a tag, if so, use `git verify-tag` instead.
2016-12-08 11:25:21 -05:00
Brian Coca
720574ef77 added allow_duplicates to include_role docs 2016-12-08 11:25:21 -05:00
Michael Scherer
9ecd220683 Make the code run on python 3
Test suite block on:

    Traceback (most recent call last):
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 496, in <module>
        main()
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 490, in main
        results = enforce_state(module, module.params)
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 410, in enforce_state
        parsed_new_key = parsekey(module, new_key)
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 308, in parsekey
        options = parseoptions(module, options)
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 253, in parseoptions
        if options_dict.has_key(key):
    AttributeError: 'keydict' object has no attribute 'has_key'

With keydict being a subclass of dict.
2016-12-08 11:25:21 -05:00
John R Barker
8fe269f836 Group "apt-get update" and "apt-get install" (#5283)
* Group "apt-get update" and "apt-get install"

Should speed up sanity

* Run apt-get install in quiet mode
2016-12-08 11:25:21 -05:00
Michael Scherer
9e3058c323 Make pip module use pip3 on python 3 2016-12-08 11:25:21 -05:00
Michael Scherer
f9478c7618 Make subversion module work on python 3
In python 3, filter return a iterator and so result in this traceback:

    Traceback (most recent call last):
      File \"/tmp/ansible_kzu72kz5/ansible_module_subversion.py\", line 264, in <module>
        main()
      File \"/tmp/ansible_kzu72kz5/ansible_module_subversion.py\", line 243, in main
        local_mods = svn.has_local_mods()
      File \"/tmp/ansible_kzu72kz5/ansible_module_subversion.py\", line 178, in has_local_mods
        return len(filter(regex.match, lines)) > 0
    TypeError: object of type 'filter' has no len()
2016-12-08 11:25:21 -05:00
Michael Scherer
c9da5e98a9 Remove the wide try/expect clause
This doesn't catch anything precise, and none of the methods should
throw a expection for anything. This also hide python 3 errors.
2016-12-08 11:25:21 -05:00
Ryan S. Brown
adc56e52d8 Fix fail_json invocation in cloudformation module 2016-12-08 11:25:21 -05:00
Steven de Vries
054fe53b43 Move job parameter to meet expected requirements (#5151)
closes #5273
2016-12-08 11:25:21 -05:00
Ricardo Carrillo Cruz
10d662ea1b Refactor domain/project handling on os_user module (#5212)
The keys returned by user objects for default domain and
default project are respectively default_domain_id and
default_project_id.
We need to gather those IDs in case the user passed names, so we
can then compare with the user object on the needs_update helper
function.
2016-12-08 11:25:21 -05:00
Alfredo Solano
88d7f0c692 apt: doc: use yaml syntax in examples (#5070) 2016-12-08 11:25:20 -05:00
Michael Scherer
a567942405 Fix unarchive on python3
Since handler.files_in_archive is a list of files coming from
various executables output, that's a bytes list, and we use it
with dest who is a str. So we need to convert that to native
type.
2016-12-08 11:25:20 -05:00
Michael Scherer
7a0ef069fa Convert name to bytes to compare it to bools
On python 3, bools is a list of bytes:

    >>> rc,bools = selinux.security_get_boolean_names()
    >>> 'virt_use_nfs' in bools
    False
    >>> bools
    [b'abrt_anon_write', b'abrt_handle_event', ...]
2016-12-08 11:25:20 -05:00
Davis Phillips
37008e1da1 vsphere_guest: Set extra config and powerstate after template deploy (#4266)
* Fixes #1381
* Fixes #2971
* Fixes #3056
2016-12-08 11:25:20 -05:00
Michael Scherer
5e1dfa9485 Do not leak the password in log (#5189) 2016-12-08 11:25:20 -05:00
Michael Scherer
18b0920311 Do not leak the vtp_password in log (#5199) 2016-12-08 11:25:20 -05:00
Michael Scherer
3b2b33bf29 Do not leak the subversion password in log (#5200) 2016-12-08 11:25:20 -05:00
Michael Scherer
996ccca82f Do not leak various passwords in log (#5202) 2016-12-08 11:25:20 -05:00
Michael Scherer
8b7898e4ab Do not leak the password in log (#5203) 2016-12-08 11:25:20 -05:00
Michael Scherer
180977a727 Do not leak api_key or root password in log (#5201) 2016-12-08 11:25:20 -05:00