1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

11069 commits

Author SHA1 Message Date
glovenglaven
289e5f1884 Added Solaris support to core mount module (#4771)
* Added Solaris support to the mount module.

* Added checking so that if a non-standard fstab file is specified it will
still work in Solaris without breaking existing functionality.

* Added a check to avoid writing duplicate vfstab entries on Solaris

* Added "version_added" to new boot option
2016-12-08 11:25:04 -05:00
Dag Wieers
433dfd0c5b Don't add included files as arguments on the command line (#4626)
This means we will have to unarchive the complete archive if a single change is found.
Unfortunately we cannot fix this for `unzip`, the only hope is a pure-python reimplementation.

This fixes problems reported in the comments of #3810
2016-12-08 11:25:04 -05:00
Martin Matuška
3366a95765 Force download if checksums do not match (#4262) 2016-12-08 11:25:04 -05:00
Gregor Giesen
b87ef7772f cron: replacement for os.getlogin() (#4777)
os.getlogin() returns the user logged in on the controlling terminal. However
'crontab' only looks for the login name of the process' real user id which
pwd.getpwuid(os.getuid())[0] does provide.

While in most cases there is no difference, the former might fail under certain
circumstances (e.g. a lxc container connected by attachment without login),
throwing the error 'OSError: [Errno 25] Inappropriate ioctl for device'.
2016-12-08 11:25:04 -05:00
nitzmahone
915b59a6d5 Fix win_user issue with disabled accounts/expired passwords
Disabled and password-expired accounts cannot call ValidatePassword successfully

fixed #4369
2016-12-08 11:25:04 -05:00
Peter Sprygada
ad707c2724 roll up updates to nxos_config module
* remote 'updates' argument
* clean up functions
* update doc strings
* add required_if dependencies
2016-12-08 11:25:04 -05:00
Peter Sprygada
b6748443c7 roll up updates to junos_config module
* remove 'update' argument
* update doc strings
* reorder functions
2016-12-08 11:25:04 -05:00
Peter Sprygada
47bd484b70 roll up updates to ops_config module
* 'before' and 'after' now only apply to 'lines' argument
* add required_if dependencies
* update doc strings
* remove 'update' argument
* clean up functions
2016-12-08 11:25:04 -05:00
Peter Sprygada
18957c4039 roll up updates to sros_config module
* update doc strings
* update message if rollback isn't configured
2016-12-08 11:25:03 -05:00
Peter Sprygada
a9557bc12b roll up of updates to vyos_config module
* remove 'udpates' argument
* add required_if dependencies
* clean up functions
* update doc strings
2016-12-08 11:25:03 -05:00
Peter Sprygada
8444b1ed8f roll up of updates to iosxr_config module
* 'before' and 'after' arguments now only apply to 'lines'
* update doc strings
* remove update argument
* clean up warnings
2016-12-08 11:25:03 -05:00
Peter Sprygada
6a0b04d6a7 roll up of updates to ios_config module
* 'before' and 'after' are now only applied to 'lines'
* remove update argument
* update doc strings
* add path argument when performing config difference
2016-12-08 11:25:03 -05:00
Peter Sprygada
e5c26150fb roll up of updates to eos_config module
* removes update argument
* adds `config` option to replace argument
* moves session management into shared module
* cleans up doc strings
* `before` and `after` args now only apply to lines
2016-12-08 11:25:03 -05:00
Andrew Gaffney
bac0c4595c Fix missing colons in network module examples (#4778) 2016-12-08 11:25:03 -05:00
Peter Sprygada
d73fbaaf05 add new module sros_rollback
Provides a configuration resource for managing the rollback feature on
remote devices running Nokia SROS
2016-12-08 11:25:03 -05:00
Chris Houseknecht
e95f773d96 Set default log_driver to None to prevent config comparison when a log_driver is not specified. Fixes #4600. 2016-12-08 11:25:03 -05:00
Chris Houseknecht
05303a974d Purge networks using network name rather than ID. Fixes 4596. 2016-12-08 11:25:03 -05:00
Chris Houseknecht
890c2d04e2 Default restart_retries to None rather than 0. Fixes #4534. 2016-12-08 11:25:03 -05:00
Ryan Brown
6ae4e50e47 Fix failure when powering on/off EC2 instances by tag only. (#4767)
If you apply `wait=yes` and use `instance_tags` as your filter for
stopping/starting EC2 instances, this stack trace happens:

```
An exception occurred during task execution. The full traceback is:                                                                          │~
Traceback (most recent call last):                                                                                                           │~
  File "/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py", line 1540, in <module>                                                            │~
    main()                                                                                                                                   │~
  File "/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py", line 1514, in main                                                                │~
    (changed, instance_dict_array, new_instance_ids) = startstop_instances(module, ec2, instance_ids, state, instance_tags)                  │~
  File "/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py", line 1343, in startstop_instances                                                 │~
    if len(matched_instances) < len(instance_ids):                                                                                           │~
TypeError: object of type 'NoneType' has no len()                                                                                            │~
                                                                                                                                             │~
fatal: [localhost -> localhost]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "ec2"}, "module_stderr": "Traceb│~
ack (most recent call last):\n  File \"/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py\", line 1540, in <module>\n    main()\n  File \"/tmp/│~
ryansb/ansible_FwE8VR/ansible_module_ec2.py\", line 1514, in main\n    (changed, instance_dict_array, new_instance_ids) = startstop_instances│~
(module, ec2, instance_ids, state, instance_tags)\n  File \"/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py\", line 1343, in startstop_insta│~
nces\n    if len(matched_instances) < len(instance_ids):\nTypeError: object of type 'NoneType' has no len()\n", "module_stdout": "", "msg": "│~
MODULE FAILURE", "parsed": false}
```

That's because the `instance_ids` variable is None if not supplied
in the task. That means the instances that result from the instance_tags
query aren't going to be included in the wait loop. To fix this, a list
needs to be kept of instances with matching tags and that list needs to
be added to `instance_ids` before the wait loop.
2016-12-08 11:25:03 -05:00
Dag Wieers
976d876e55 Ensure unicode characters in zip-compressed filenames work correctly (#4702)
* Ensure unicode characters in zip-compressed filenames work correctly

Another corner-case we are fixing hoping it doesn't break anything else.

This fixes:
- The correct encoding of unicode paths internally (so the filenames we scrape from the output and is returned by zipfile match)
- Disable LANG=C for the unzip command (because it breaks the unicode output, unlike on gtar)

* Fix for python3 and other suggestions from @abadger
2016-12-08 11:25:03 -05:00
Peter Sprygada
53bcf18eab minor updates to junos_package module for 2.2 (#4761)
* replaces get_module() with NetworkModule()
* removes old call to package_version()
2016-12-08 11:25:03 -05:00
Peter Sprygada
09b8e220ca update junos_facts module to remove get_module() factory function (#4760)
Replaces get_module() with NetworkModule instance
2016-12-08 11:25:03 -05:00
Peter Sprygada
290a4b5fac adds path kwarg when difference() is called from iosxr_config
Adds the path kwarg to handle use cases with exact and strict matching
2016-12-08 11:25:03 -05:00
Matt Clay
e8f70f25df Python 3 fixes for apt_* modules. (#4754) 2016-12-08 11:25:03 -05:00
Peter Sprygada
d339004437 minor bug fix to pass path to difference() in ios_config
The ios_config module needs to pass the path kwarg to difference when
specifying match=exact or strict.
2016-12-08 11:25:02 -05:00
afunix
f2c324facc Updated get_url module to process FTP results correctly [#3661] (#4601) 2016-12-08 11:25:02 -05:00
Peter Sprygada
6cca2b06fe fixes bug where nxos_config wasn't handling checkpoints correctly 2016-12-08 11:25:02 -05:00
Abhijit Menon-Sen
841ceb808d Fix spot instance creation by ignoring instance_initiated_shutdown_behavior (#4741)
Before this, all spot instance requests would fail because the code
_always_ called module.fail_json when the parameter was set (which it
always was, because the module parameter's default was set to 'stop').

As the comment said, this parameter doesn't make sense for spot
instances at all, so the error message was also misleading.
2016-12-08 11:25:02 -05:00
Florian Dambrine
2adc325ef6 Fix ec2 module source_dest_check when running on non VPC instances (EC2 Classic) (#3243) 2016-12-08 11:25:02 -05:00
Peter Sprygada
d6e16ded3f fix bug in ios_template when include_defaults is set to true
Module was ignoring  include_defaults argument.  This fixes the issue
such that the correct configuration is returned
2016-12-08 11:25:02 -05:00
Peter Sprygada
8a87d7ff11 adds path kwarg when performing config diff checks in ios_config 2016-12-08 11:25:02 -05:00
mlewe
afa9d30717 Fixes ansible/ansible#15922 (#3793) 2016-12-08 11:25:02 -05:00
Matt Ferrante
d88f5f6808 Properly support tag updates on CloudFormation stack-update actions (#3638) 2016-12-08 11:25:02 -05:00
@skg_net
eae69a154f dnos10_template module 2016-12-08 11:25:02 -05:00
David J Peacock
14fb0e4136 description expanded for 112, AKA VRRP protocol) (#4645)
* description expanded for 112, AKA VRRP protocol)

* corrected syntax for description for IP protocols
2016-12-08 11:25:02 -05:00
Brian Coca
a42cb96b75 added backup_file to module returns (#4723)
fixes #14502
also cleaned up some unused stuff and fixed imports
2016-12-08 11:25:02 -05:00
Peter Sprygada
bfdc5098cb minor bug fixes in eos_template
* fixes issue where configuration was not being loaded (#4704)
* fixes issue where defaults were not included when argument was set to True

tested on EOS 4.15.4F
2016-12-08 11:25:02 -05:00
Matt Davis
009ebf619b fix async_wrapper start suspended race (#4718)
Main thread in started-suspended process may not be immediately resumable on slow targets- poll for proper state for awhile before attempting resume
2016-12-08 11:25:02 -05:00
Matt Davis
6099e6d19e Windows async module support (#4710)
Powershell impls of async_wrapper, async_status- associated tests and async action changes are in https://github.com/ansible/ansible/pull/17400.
2016-12-08 11:25:02 -05:00
Brian Coca
909e62b25b updated include_role docs 2016-12-08 11:25:02 -05:00
Dag Wieers
5995097e61 Support DOS file attributes (e.g. archive-bit or hidden-bit) (#4705)
This fixes #4554
2016-12-08 11:25:02 -05:00
GGabriele
bc7b093089 Removed newline 2016-12-08 11:25:01 -05:00
GGabriele
dfa9904599 Added missing fullstop 2016-12-08 11:25:01 -05:00
Peter Sprygada
db49e1e436 fixes issue where the configobjs are not deserialized to a list
When the configuration is compared and the results deserialized, the
dumps() function returns a string.  This cohereces the return to a list
in case before and/or after needs to be applied

fixes 4707
2016-12-08 11:25:01 -05:00
GGabriele
87b839e1f8 Adding missing fullstop 2016-12-08 11:25:01 -05:00
GGabriele
d2d1b18ef4 Fixed param value format in docstring 2016-12-08 11:25:01 -05:00
GGabriele
745b504aa1 Fixed module structure and added one new param 2016-12-08 11:25:01 -05:00
GGabriele
a71b84853c Fixed config function 2016-12-08 11:25:01 -05:00
GGabriele
f577f46ccf fix imports 2016-12-08 11:25:01 -05:00
Peter Sprygada
8eab599ade removes state argument from ops_config module
this removes the state argument from ops_config.  The state argument should
not have been there
2016-12-08 11:25:01 -05:00
Peter Sprygada
c071273fbf removes argument from vyos_config module
The state argument should not be in vyos_config.  This commit removes the
state argument
2016-12-08 11:25:01 -05:00
Peter Sprygada
807974f515 updates nxos_config to remove state argument
The state argument should not be in the nxos_config module.  This change
removes the state argument for this release
2016-12-08 11:25:01 -05:00
Peter Sprygada
c38a90a2e9 removes state argument from ios_config
The state argument should not be in ios_config.  This change removes the
state argument
2016-12-08 11:25:01 -05:00
Peter Sprygada
51613d4307 roll up of minor fixes in eos_config module
* fixes save argument to be type bool
* now properly sets the changed returned flag based on diff
* updates docstring RETURNS to add backup_path
* removes unneeded state argument

tested on EOS 4.15.4F
2016-12-08 11:25:01 -05:00
GGabriele
7010a66638 Removed tabs 2016-12-08 11:25:01 -05:00
Peter Sprygada
7a234fc7cc update junos_netconf module
Updates the junos_netconf module with changes to load the
NetworkModule instead of the get_module factory method.  This
update is part of the 2.2 refactor of network modules
2016-12-08 11:25:01 -05:00
Peter Sprygada
f5e62a0611 update junos_template module
This updates the junos_template module implementing the changes for
Ansible 2.2
2016-12-08 11:25:01 -05:00
GGabriele
174ffde2e9 Adding nxos_igmp_interface 2016-12-08 11:25:00 -05:00
GGabriele
93d816a183 Adding nxos_igmp 2016-12-08 11:25:00 -05:00
Matt Clay
1f6e3326db Python 3 fixes for async_wrapper and async_status. (#4671) 2016-12-08 11:25:00 -05:00
GGabriele
693fc690d7 nxos_vrf_interface support for 2.1 and 2.2 2016-12-08 11:25:00 -05:00
Peter Sprygada
213c8e5a81 update junos_config module
* adds src argument to load configuration from disk
* adds src_format to set the source file format
* adds update argument with choices merge or replace
* deprecates the replace argument in favor of update=replace
2016-12-08 11:25:00 -05:00
GGabriele
0303c813c8 Updating nxos_vrf 2016-12-08 11:25:00 -05:00
GGabriele
7560c6dac2 nxos_vlan support 2.1 and 2.2 2016-12-08 11:25:00 -05:00
Matt Clay
cb30558a41 Make async_wrapper ignore '_' as an argsfile. (#4678)
This provides support for passing additional positional parameters to async_wrapper.
Additional parameters will be used by the upcoming async support for Windows.
2016-12-08 11:25:00 -05:00
GGabriele
7391b5ba63 nxos_ping support for 2.1 and 2.2 2016-12-08 11:25:00 -05:00
GGabriele
85e65a7873 nxos_ip_interface support for 2.1 and 2.2 2016-12-08 11:25:00 -05:00
GGabriele
631ee66ed9 Adding nxos_reboot 2016-12-08 11:25:00 -05:00
GGabriele
6d9a63a08b Fix PR 2016-12-08 11:25:00 -05:00
GGabriele
4c3a1e37ff Added python object for 2.1 and 2.2 support 2016-12-08 11:25:00 -05:00
GGabriele
4bcf5797b6 Increase timeout 2016-12-08 11:25:00 -05:00
GGabriele
3c0a1675c0 Adding nxos_rollback 2016-12-08 11:25:00 -05:00
GGabriele
25f9d122aa Adding nxos_vxlan_vtep 2016-12-08 11:25:00 -05:00
GGabriele
b3c428e61f Adding nxos_vrf_af 2016-12-08 11:25:00 -05:00
GGabriele
705b61ae7a Adding nxos_portchannel 2016-12-08 11:24:59 -05:00
GGabriele
933a555408 Adding nxos_vpc 2016-12-08 11:24:59 -05:00
GGabriele
eb32565b73 Adding nxos_static_route 2016-12-08 11:24:59 -05:00
GGabriele
4ee018e51d Fix error handling 2016-12-08 11:24:59 -05:00
GGabriele
1d393941c0 Adding nxos_smu 2016-12-08 11:24:59 -05:00
GGabriele
751f63c6a2 Adding nxos_pim_rp_address 2016-12-08 11:24:59 -05:00
GGabriele
1327e6bcd4 Adding nxos_pim module 2016-12-08 11:24:59 -05:00
GGabriele
9c254656aa Fixing module description 2016-12-08 11:24:59 -05:00
GGabriele
2b434515d5 Addin nxos_overlay_global 2016-12-08 11:24:59 -05:00
Scott Butler
bbf209b071 Added semicolon to invalid operators list redux. 2016-12-08 11:24:59 -05:00
Kenny Woodson
3cb42fc5dd Fix for validate rule. Ensure rule is a dict. (#4640) 2016-12-08 11:24:59 -05:00
Evan Kaufman
77f5472a53 Declare empty diff dict ahead of time (#4646)
Fixes #4634
2016-12-08 11:24:59 -05:00
Kenny Woodson
f1db594e9f Getting rid of a None type error when no resource tags are defined. (#4638) 2016-12-08 11:24:59 -05:00
Toshio Kuratomi
69ec272982 Python3 fixes to copy, file, and stat so that the connection integration tests can be run (#4632)
* Python3 fixes to copy, file, and stat so that the connection integration tests can be run

* Forgot to audit the helper functions as well.

* Fix dest to refledt b_dest (found by @mattclay)
2016-12-08 11:24:59 -05:00
GGabriele
cba6804824 Adding nxos_interface_ospf 2016-12-08 11:24:59 -05:00
GGabriele
0a8a84a50d Adding nxos_hsrp 2016-12-08 11:24:59 -05:00
GGabriele
c902f2da14 Fix typo 2016-12-08 11:24:58 -05:00
GGabriele
aabab30a4f Fix try/except 2016-12-08 11:24:58 -05:00
GGabriele
e392417232 Adding nxos_file_copy 2016-12-08 11:24:58 -05:00
GGabriele
40e600e901 Adding nxos_evpn_vni 2016-12-08 11:24:58 -05:00
GGabriele
52ed410679 Fixed DOCSTRING 2016-12-08 11:24:58 -05:00
GGabriele
0bedbb6bed Adding nxos_bgp_neighbor_af module 2016-12-08 11:24:58 -05:00
GGabriele
bd758e8188 Adding nxos_bgp_neighbor module 2016-12-08 11:24:58 -05:00
GGabriele
fdfec51cce Fixing DOCSTRING yaml format 2016-12-08 11:24:58 -05:00
GGabriele
b5dbfd70d4 Fixing DOCSTRING 2016-12-08 11:24:58 -05:00
GGabriele
e0f4565822 Adding nxos_bgp_af module 2016-12-08 11:24:58 -05:00
GGabriele
a6f09215ec Adding python object for 2.1 support 2016-12-08 11:24:58 -05:00
GGabriele
77c247ba3b Adding python objects for 2.1 support 2016-12-08 11:24:58 -05:00
GGabriele
d0acaf72e8 Removing delete for bollean, fixing argparse, embedding python object 2016-12-08 11:24:58 -05:00
Peter Sprygada
ac1c643cc8 bugfix that adds missing itertools import to ios_facts
fixes #4647
2016-12-08 11:24:58 -05:00
Peter Sprygada
702efda508 add new functionality to junos_command module
* commands argument now accepts a dict arguments
* rpcs argument now accepts a dict argument
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all
2016-12-08 11:24:58 -05:00
Michael Scherer
30cd0e8afe Add support for selinux_boolean_sub conversion (#4570)
SELinux since 2012 use a configuration file to
convert boolean names from a old name to a new name,
for preserving backward compatibility.

However, this has to be done explicitely when using the python
bindings, and the module was not doing it.

Openshift ansible script use this construct to detect if
a boolean exist or not:

    - name: Check for existence of virt_sandbox_use_nfs seboolean
      command: getsebool virt_sandbox_use_nfs
      register: virt_sandbox_use_nfs_output
      failed_when: false
      changed_when: false

    - name: Set seboolean to allow nfs storage plugin access from containers(sandbox)
      seboolean:
        name: virt_sandbox_use_nfs
        state: yes
        persistent: yes
      when: virt_sandbox_use_nfs_output.rc == 0

On a system where virt_sandbox_use_nfs do not exist, this work. But
on a system where virt_sandbox_use_nfs is a alias to virt_use_nfs (like
Fedora 24), this fail because the seboolean is not aware of the alias.
2016-12-08 11:24:58 -05:00
Toshio Kuratomi
45846127c5 to_text, to_bytes, and to_native now have surrogate_or_strict error handler (#4630)
On python3, we want to use the surrogateescape error handler if
available for filesystem paths and the like.  On python2, have to use
strict in these circumstances.  Use the new error strategy for to_text,
to_bytes, and to_native that allows this.
2016-12-08 11:24:57 -05:00
John R Barker
aa0b93a338 Consistent naming of Arista EOS device (#4616) 2016-12-08 11:24:57 -05:00
Matt Clay
928ef28fc8 Add python3 testing for module PRs. (#4629) 2016-12-08 11:24:57 -05:00
Senthil Kumar Ganesan
fed23d2f31 Cleaned up the module imports 2016-12-08 11:24:57 -05:00
Tobias Wolf
cda78382b6 Fix database table quoting in privileges_unpack() (#3858)
In Ansible 2.x this module gives `changed = True` for all privileges
that are specified including a table with

    priv: "database.table:GRANT"

Mysql returns escaped names in the format

    `database`.`tables`:GRANT

However in PR #1358, which was intended to support dotted database names
(a crazy idea to begin with), the quotes for the table name were left
out, leading to `curr_priv != new_priv`.

This means that the idempotency comparison between new_priv and
curr_priv is always 'changed'.

This PR re-introduces quoting to the table part of the priv.
2016-12-08 11:24:57 -05:00
Jean Prat
ed246a328f if user is empty, it is not converted to tuple when using host_all (#3038) 2016-12-08 11:24:57 -05:00
James Cammarata
aa67bb43fe Adding 'end_play' docs to meta module 2016-12-08 11:24:57 -05:00
GGabriele
5277f645e5 Fixing DOC string 2016-12-08 11:24:57 -05:00
GGabriele
0b887cd193 Fixing RETURN string 2016-12-08 11:24:57 -05:00
GGabriele
6590c4677d Adding nxos_ospf_vrf module 2016-12-08 11:24:57 -05:00
GGabriele
a678439059 Adding nxos_ospf module 2016-12-08 11:24:57 -05:00
GGabriele
c8016946f3 Adding nxos_evpn_global module 2016-12-08 11:24:57 -05:00
GGabriele
fb4da92308 Fixing typo 2016-12-08 11:24:57 -05:00
Toshio Kuratomi
5bd9cdad5a We've decided that pythn 3.5 is the minimum python3 version (#4572) 2016-12-08 11:24:57 -05:00
GGabriele
a539ea47bc Adding nxos_acl_interface_module 2016-12-08 11:24:57 -05:00
Michael Scherer
25fd3928b6 Make async work on python 3 (#4583)
Since dict no longer have a iteritems method, we have to
use six to support python 2 and 3.
2016-12-08 11:24:56 -05:00
Michael Scherer
f4158304ac Port mount.py to python3, need to use six.iteritems (#4581) 2016-12-08 11:24:56 -05:00
Michael Scherer
b48e65219b Fix uri to run on python3 (#4580)
Since dict no longer have a method iteritems, we have to use
the six wrapper.
2016-12-08 11:24:56 -05:00
Michael Scherer
f59af7d29e Port postgresql module to python3 (#4579)
Iteritems is no longer a dict method in Python3, replace it with
the six wrapper.
2016-12-08 11:24:56 -05:00
Michael Scherer
839d5b6de4 Fix mysql_user for python3 (#4576)
dict no longer have a iteritems method, it was replaced
by items. So we need to use six.

    Traceback (most recent call last):
      File \"/tmp/ansible_hjd7d65c/ansible_module_mysql_user.py\", line 587, in <module>
        main()
      File \"/tmp/ansible_hjd7d65c/ansible_module_mysql_user.py\", line 571, in main
        changed = user_add(cursor, user, host, host_all, password, encrypted, priv, module.check_mode)
      File \"/tmp/ansible_hjd7d65c/ansible_module_mysql_user.py\", line 239, in user_add
        for db_table, priv in new_priv.iteritems():
    AttributeError: 'dict' object has no attribute 'iteritems'
2016-12-08 11:24:56 -05:00
GGabriele
549ca5183d Adding RETURN string 2016-12-08 11:24:56 -05:00
Michael Scherer
f2b6c7b6a2 Fix user module under python3 (#4560)
Using something like:

    - name: Create ssh keys
      user:
        name: root
        generate_ssh_key: yes
      register: key

result into this traceback on F24

    Traceback (most recent call last):
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 2170, in <module>
        main()
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 2108, in main
        (rc, out, err) = user.modify_user()
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 660, in modify_user
        return self.modify_user_usermod()
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 417, in modify_user_usermod
        has_append = self._check_usermod_append()
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 405, in _check_usermod_append
        lines = helpout.split('\\n')
    TypeError: a bytes-like object is required, not 'str'
2016-12-08 11:24:56 -05:00
Michael Scherer
898cf5b462 Fix traceback on python3 (#4556)
Traceback (most recent call last):
  File "/tmp/ansible_csqv781s/ansible_module_systemd.py", line 374, in <module>
    main()
  File "/tmp/ansible_csqv781s/ansible_module_systemd.py", line 263, in main
    for line in out.split('\\n'): # systemd can have multiline values delimited with {}
2016-12-08 11:24:56 -05:00
GGabriele
a4817cff30 Adding nxos_acl module 2016-12-08 11:24:56 -05:00
John R Barker
51aa4e803f Consistent naming of Arista EOS device 2016-12-08 11:24:56 -05:00
GGabriele
bc47cf362b Fixing string case 2016-12-08 11:24:56 -05:00
Senthil Kumar Ganesan
8c5b189f8b Incorporated Ansible community feedback 2016-12-08 11:24:56 -05:00
Peter Sprygada
019de090d4 update ops_facts with enhancements
* adds support for default facts subset
* adds support for config facts subset
* maintain legacy facts from ops_facts pre-2.2

Tested on Openswitch 0.4.0
2016-12-08 11:24:56 -05:00
Peter Sprygada
018cdf33a2 update ops_template module using refactored network shared modules
This updates the ops_template module to work with the network shared
modules introduced in Ansible 2.2

Tested with OpenSwitch 0.4.0
2016-12-08 11:24:56 -05:00
Peter Sprygada
54232c3b2d update ops_config module with new enhancements
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge or check
* add backup argument to backup current running config to control host
* add save argument to save current running config to startup config
* add state argument to control state of config file
* deprecated force argument, use match=none instead

Note: this module only supports transport=cli

Tested on OpenSwitch 0.4.0
2016-12-08 11:24:56 -05:00
Peter Sprygada
ef46627f1f added new functionality to ops_command
* commands argument now accepts a dict arguments
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowed when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all

Tested on OpenSwitch 0.4.0
2016-12-08 11:24:56 -05:00
GGabriele
882f201aa0 Fixing DOC 2016-12-08 11:24:56 -05:00
GGabriele
2b2636510d Adding nxos_bgp.py 2016-12-08 11:24:55 -05:00
Senthil Kumar Ganesan
c66432bbae Moved the modules to Dell folder 2016-12-08 11:24:55 -05:00
Senthil Kumar Ganesan
90cb4710d7 Added Command and Config modules to support Dell Networking OS10 device 2016-12-08 11:24:55 -05:00
Peter Sprygada
0f4446166b update eos_eapi module with new enhancements
* add support for vrf configurations
* add support for configing the qos value for eapi
* add config argument to specify the device running-config

Tested on EOS 4.15.4F
2016-12-08 11:24:55 -05:00
Peter Sprygada
5e5698dc9e removes output keyword from command in ios_command
IOS devices only support a single command output which is structured
text.  This removes the ability to specify the command output format
when providing complex arguments to the commands
2016-12-08 11:24:55 -05:00
Peter Sprygada
7280b2642a update nxos_nxapi module with minor enhancements (#4573)
* added new config argument
* added states present and absent
* update to use network shared modules

Tested on NXOS 7.3(0)D1(1)
2016-12-08 11:24:55 -05:00
Timothy Appnel
5b00b40c22 Fixes get_url examples in docs and applies native YAML syntax. (#4474) 2016-12-08 11:24:55 -05:00
John R Barker
89529366bf digital_ocean_tag name is a required field
Spotted during final review of https://github.com/ansible/ansible-modules-core/pull/4218/files
Simple to change, so fixing post merge
2016-12-08 11:24:55 -05:00
Victor Volle
6a20e6649d Digitalocean tags (replaces #4209) (#4218)
* Fixes #4117: Add DigitalOcean Tag support

* Add GPLv3 license header and RETURN documentation

* ansible.module_utils.urls instead of "requests"
2016-12-08 11:24:55 -05:00
Arun prasath
7a7ac2ee83 Fixes bug #4546 - Made password optional (#4574) 2016-12-08 11:24:55 -05:00
David J Peacock
bcc738bd0d Fix #4412: os_security_group_rule support numbered protocols (#4444) 2016-12-08 11:24:55 -05:00
Ryan Brown
c85d854c84 Remove spurious changed state on iam_policy module (#4381)
Due to a mixup of the group/role/user and policy names, policies with
the same name as the group/role/user they are attached to would never be
updated after creation. To fix that, we needed two changes to the logic
of policy comparison:

- Compare the new policy name to *all* matching policies, not just the
  first in lexicographical order
- Compare the new policy name to the matching ones, not to the IAM
  object the policy is attached to
2016-12-08 11:24:55 -05:00
James S. Martin
4d75f9b4bc Shows messages for uncaught exceptions from called modules in async_wrapper output. (#4591) 2016-12-08 11:24:55 -05:00
Rick Mendes
503c2b6158 Fixes #3144 (#4305) 2016-12-08 11:24:55 -05:00
Vytis Banaitis
3149fdf158 Fix change status on django_manage collectstatic. (#4239)
Ignore blank lines in collectstatic output.
2016-12-08 11:24:55 -05:00
Guillaume Delpierre
90bf5434d0 gem: add support for --env-shebang (#4377)
* gem: add support for --env-shebang

* fix version added
2016-12-08 11:24:55 -05:00
Levi Morales
0c9d895438 Fixes #2322 fix for missing append check on Darwin systems (#4256) 2016-12-08 11:24:55 -05:00
Evan Kaufman
254df9bcca Implemented file content diff for replace module (#4479) 2016-12-08 11:24:54 -05:00
Matías Pizarro
c1dae481e8 Use named parameters in new_droplet method call (#4483)
This mirrors the original method signature and guards against any
change in order parameter
2016-12-08 11:24:54 -05:00
Anton Onufriev
f5f1062d72 Remove colors from git-branch output for correct local search (#4545)
We got an error while switching on existent local branch
because git module can not find branch in function get_branches
if we have color.branch=always in git config.
2016-12-08 11:24:54 -05:00
Michael Scherer
ee5a48b84d Port the module to run on python 3 (#4496)
One of the usual issue is that run_command return bytes,
so we have to adapt the string to either be bytes too,
or convert to string.

This result into that kind of traceback:

    Traceback (most recent call last):
      File \"/tmp/ansible_ej32yu2w/ansible_module_git.py\", line 1009, in <module>
        main()
      File \"/tmp/ansible_ej32yu2w/ansible_module_git.py\", line 873, in main
        git_version_used = git_version(git_path, module)
      File \"/tmp/ansible_ej32yu2w/ansible_module_git.py\", line 788, in git_version
        rematch = re.search('git version (.*)$', out)
      File \"/usr/lib64/python3.5/re.py\", line 173, in search
        return _compile(pattern, flags).search(string)
    TypeError: cannot use a string pattern on a bytes-like object

Another issue is filter being a object instead of a list.
2016-12-08 11:24:54 -05:00
James Pharaoh
06f5f2e26d fix error in documentation for stat checksum (#4582) 2016-12-08 11:24:54 -05:00
Ilja Bauer
729486809e Replaced use of bare variables with full variable syntax (#4149) 2016-12-08 11:24:54 -05:00
Gennady Trafimenkov
7ea7564bf4 Clarify what checksum algorithm is used by copy modules (#4198) 2016-12-08 11:24:54 -05:00
Ali Ok
1e411f9551 Fix minor syntax error in authorized_key module doc (#4491) 2016-12-08 11:24:54 -05:00
Robin Roth
ccddeb8cdc Clarify that refspec is needed to checkout a git hash (#4564)
fixes #1531
2016-12-08 11:24:54 -05:00
Michael Scherer
338a8c8632 Convert command output to native string (#4559)
Without it, the module always return changed on python3,
which is harmless but add noise and can have some side effects.
2016-12-08 11:24:54 -05:00
Peter Sprygada
66b0a1ef2d convert nxos_facts map from dict to frozenset
* key maps are now frozenset instead of dict objects
* FactsBase now includes utility functions for transforming json data structures

Tested on NXOS 7.3(0)D1(1)
2016-12-08 11:24:54 -05:00
chouseknecht
964b7ecffa Fix container labels expected vs actual comparison. 2016-12-08 11:24:54 -05:00
Brian Coca
e37f57fc90 added docs for vars_from/defaults_from 2016-12-08 11:24:54 -05:00
Brian Coca
79d970d5b8 updated include_role docs to latest info 2016-12-08 11:24:54 -05:00
Peter Sprygada
4fd4ff8d5c update eos_template for network shared module
This updates the eos_template module to work with the changes introduced
in the network shared module in Ansible 2.2

Tested on EOS 4.15.4F
2016-12-08 11:24:54 -05:00
Peter Sprygada
d0a98bc433 update nxos_template module with network shared module changes
This updates the nxos_template module to work with the network shared
modules introduced in Ansible 2.2

Tested on NXOS 7.3(0)D1(1)
2016-12-08 11:24:54 -05:00
Peter Sprygada
8f303981d4 update ios_template module using refactored network shared modules
This updates the ios_template module to work with the network shared
modules introduced in Ansible 2.2

Tested in IOS 15.6(1)T
2016-12-08 11:24:54 -05:00
Peter Sprygada
7eb550aa53 update iosxr_template to use network shared modules
This updates the iosxr_template module to make it work with the new
shared network modules introduced in Ansible 2.2

Tested on IOSXR 6.0.0
2016-12-08 11:24:53 -05:00
Peter Sprygada
0da190abbd add new iosxr_facts module for fact collection from XR devices
* adds support for std network facts
* adds support for default facts subset
* adds support for config facts subset
* adds support for interface facts subset
* adds support for hardware facts subset

Tested on IOS-XR 6.0.0
2016-12-08 11:24:53 -05:00
Jason Edelman
3b83e676e6 removed feature check for nxos_interface 2016-12-08 11:24:53 -05:00
Brian Coca
b7d2c62f2b 1st draft of include role docs 2016-12-08 11:24:53 -05:00
Peter Sprygada
751eab187f updates nxos_facts with more fact collections
* adds support for std network facts
* adds support for default facts subset
* adds support for config facts subset
* adds support for interface facts subset
* adds support for hardware facts subset
* maintains backwards capabilitity with 2.1 facts module

Tested on NXOS 7.3(0)D1(1)
2016-12-08 11:24:53 -05:00
Peter Sprygada
733ee349b0 add new eos_facts module for fact collect of EOS nodes
* adds support for std network facts
* adds support for default facts subset
* adds support for config facts subset
* adds support for interface facts subset
* adds support for hardware facts subset

Tested on EOS 4.15.4F
2016-12-08 11:24:53 -05:00
Peter Sprygada
d138b94c70 update iosxr_config with new arguments
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge, replace or check
* add backup argument to backup current running config to control host
* add comment argument to provide comment to commit
* deprecated force argument, use match=none instead
2016-12-08 11:24:53 -05:00
Toshio Kuratomi
c4988262b5 Fixes for lineinfile (#4553)
Lineinfile deals heavily with Unic text files.  Makes some sense to deal
with it all as byte strings.  So there is a lot of work done here to
show that we're dealing with byte strings throughout.
2016-12-08 11:24:53 -05:00
Peter Sprygada
28ab66cef2 update RETURNS doc string in ios_facts
updates the doc string for consistency and completeness
2016-12-08 11:24:53 -05:00
Patrick Marques
697a328124 ssh_public_keys on Azure virtual machine is a list (#4350)
The ssh_public_keys must be a list otherwise will give the error:
"argument ssh_public_keys is of type <type 'dict'> and we were unable to convert to list"
2016-12-08 11:24:53 -05:00
Peter Sprygada
5ebe26e782 initial add of network/sros modules
* adds support for sros_command module for sending arbitrary commands
* adds support for sros_config module for working with sros configurations
2016-12-08 11:24:53 -05:00
Dag Wieers
32e3cc7778 Fix multiple issues with unzip and gtar support (#4131)
* Improve the correct handling of gtar and unzip options

Add the option --show-transformed-names when extra_opts is being used
Ignore bogus warnings related to empty filenames
Properly quote _and_ escape filenames for unzip command
Rewrite gtar options and provide run_command with array, not string

This fixes #2480 and #4109.

* Make check-mode work for zip-files

Check-mode was disabled for zip-files since gtar did not support it.
This change enables check-mode support for zip-files, but does skip the task when used with gtar.
(Best of both worlds)

Also remove unused compress_mode variable.

This replaces PR #4401, the changes overlap somewhat so I merged them
2016-12-08 11:24:53 -05:00
Dag Wieers
02b906d70f Remove redundant code AFAICT (#3908) 2016-12-08 11:24:53 -05:00
Toshio Kuratomi
b7522c5a1c Fix hg for python3 (#4528)
* Remove import of unused ConfigParser (ConfigParser has been renamed in py3)
* When retrieving version, normalize to a native string
2016-12-08 11:24:53 -05:00
Peter Sprygada
bbcde06e75 added new functionality to vyos_command
* commands argument now accepts a dict arguments
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all
2016-12-08 11:24:53 -05:00
Peter Sprygada
003b6da05a add new functionality to iosxr_command module
* commands argument now accepts a dict arguments[1]
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all

[1] The commands argument will now accept a dict argument that can
specifiy the output format of the command.  To specify a dict argument
use the form of { command: <str>, output: <str>, prompt: <str>,
response: <str> }.
2016-12-08 11:24:53 -05:00
Peter Sprygada
df972feb23 updates to vyos_config module arguments
* arguments for vyos_config for 2.2 are now complete
* adds loading config file from disk (src argument)
* removes unsupported rollback argument
* changes update_config to update with options merge or check
* changes backup_config to backup
* add state argument for state of configuration file
* adds backup argument to backup current configuration
* adds save argument to control if active config is saved to disk
* adds comment argument for setting commit comment
* adds match argument to control configuraiton match

Tested with VyOS 1.7
2016-12-08 11:24:52 -05:00
Gary Rybak
e2d55d86e4 Move call to filter_exit out of command execution block to prevent setting 'changed' on a command list that is completely filtered (empty). 2016-12-08 11:24:52 -05:00
Richard Adams
b0135fadea Add parameter to ec2 module to control instance shutdown behavior (stop|terminate) 2016-12-08 11:24:52 -05:00
Toshio Kuratomi
9b7e866964 Cleanups of command.py (#4526)
* Import module_utils at the top
* Fix python3 by marking literals combined with stdout/stderr as byte
  literals
* Mark parameters as type=path where appropriate
2016-12-08 11:24:52 -05:00
Karthik Suresh
4d7d3cdbb1 Removing duplicate name: parameter possible typo (#4525)
Removed name:parameter in documentation. Possible typo.
2016-12-08 11:24:52 -05:00
Matt Clay
f804bdad48 Enable CI on Shippable for OS X. (#4515) 2016-12-08 11:24:52 -05:00
chouseknecht
1b4a3dbc86 Fix doc strings. Use of > was breaking HTML generation on docs site module page. 2016-12-08 11:24:52 -05:00
Michael Scherer
1f8b2f3e6e Add support for setting fstab location on Linux too for mount (#3271)
Fix #3153
2016-12-08 11:24:52 -05:00
Michael Scherer
441205feed Add acl freebsd (#3656)
* FreeBSD do not support --omit-header and --absolute-names

* The option for following symlink wth getfacl is different on FreeBSD

* ZFS on Freebsd use nfsv4 acls, who use a slightly different syntax

* FreeBSD do not have a --test flag, so always return 'True'

* FreeBSD do not have the --omit-headers options, so we have to filter by ourself

* Mark Freebsd as working for the acl module
2016-12-08 11:24:52 -05:00
Peter Sprygada
c98a906cf0 add new functionality to eos_command module
* commands argument now accepts a dict arguments[1]
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all

[1] The commands argument will now accept a dict argument that can
specifiy the output format of the command.  To specify a dict argument
use the form of { command: <str>, output: <str>, prompt: <str>,
response: <str> }.  Command and output are required arguments. Output
accepts valid values text and json.
2016-12-08 11:24:52 -05:00
Peter Sprygada
717af59c96 update eos_config with new arguments
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge, replace or check
* add backup argument to backup current running config to control host
* add defaults argument to control collection of config with or without defaults
* add save argument to save current running config to startup config
* add state argument to control state of config file
* deprecated force argument, use match=none instead
2016-12-08 11:24:52 -05:00
Peter Sprygada
12fc073f91 fix example in nxos_command module 2016-12-08 11:24:52 -05:00
codyrat
c4d5b13c8f re.match for numeric only for kwargs[key] = int(value) (#4495) 2016-12-08 11:24:52 -05:00
Peter Sprygada
619e3bba7e fixes issue with duplicated commands in CommandRunner
The CommandRunner will not allow duplicate commands to be added to the
command stack.  This fix will now catch the exception and continue if
a duplicate command is attempting to be added to the runner instance.
2016-12-08 11:24:52 -05:00
Peter Sprygada
e09cfec2e9 added new functionality to nxos_command
* commands argument now accepts a dict arguments[1]
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all

[1] The commands argument will now accept a dict argument that can
specifiy the output format of the command.  To specify a dict argument
use the form of { command: <str>, output: <str>, prompt: <str>,
response: <str> }.  Command and output are required arguments. Output
accepts valid values text and json.
2016-12-08 11:24:51 -05:00
Peter Sprygada
543ec0f14e update nxos_config with new arguments
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge or check
* add backup argument to backup current running config to control host
* add defaults argument to control collection of config with or without defaults
* add save argument to save current running config to startup config
* add state argument to control state of config file
* deprecated force argument, use match=none instead
2016-12-08 11:24:51 -05:00
Peter Sprygada
525cd8b947 merge functions from ios into ios_config
* merge changes from ios shared module functions into ios_config.
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge or check
* add backup argument to backup current running config to control host
* add defaults argument to control collection of config with or withoutdefaults
* add save argument to save current running config to startup config
* add state argument to control state of config file
* deprecated force argument, use match=none instead
2016-12-08 11:24:51 -05:00
Peter Sprygada
aa79cdb7d9 added new functionality to ios_command
* commands argument now accepts a dict arguments[1]
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all

[1] The commands argument will now accept a dict argument that can
specifiy the output format of the command.  To specify a dict argument
use the form of { command: <str>, output: <str>, prompt: <str>,
response: <str> }.  Command and output are required arguments. Output
accepts valid values text and json.
2016-12-08 11:24:51 -05:00
jctanner
c73f9d0492 git: add a umask parameter (#4473)
Sources #10504
Fixes #10279
2016-12-08 11:24:51 -05:00
nishiokay
fc79615e38 Add ipv6 paramater to digital_ocean module (#4447) 2016-12-08 11:24:51 -05:00
Toshio Kuratomi
07e79ac683 Refactor stat.py so that it would be more friendly for unittests. (#4462)
* Refactor stat.py so that it would be more friendly for unittests.

* PEP8ify since we're moving most of the lines in the file and there's no open PRs
2016-12-08 11:24:51 -05:00
Jason Edelman
4f09d6065f added a period 2016-12-08 11:24:51 -05:00
Jason Edelman
56d8146495 make aliases a list in the docstring 2016-12-08 11:24:51 -05:00
Jason Edelman
47164d70d3 remove commented out code, add alias, and doc 2016-12-08 11:24:51 -05:00
Jason Edelman
b8ff21fb07 updated version_added for new param 2016-12-08 11:24:51 -05:00
Jason Edelman
5d033241af fixed error handling 2016-12-08 11:24:51 -05:00
Jason Edelman
5640711166 fixed docs 2016-12-08 11:24:51 -05:00
Jason Edelman
995083c0d9 improve functionality for vlan trunks based on #4082 2016-12-08 11:24:51 -05:00
Linus Arver
8da17b750d docker_service: fix files/project_files typo
The original decision to rename from `project_files' to `files' was in
3a5dd0007634c9d4e379f20cac77c8fd64b67f42.
2016-12-08 11:24:51 -05:00
chouseknecht
fb99277066 Exposing tcp and udp for same port fails. Fixes issue #4354. 2016-12-08 11:24:51 -05:00
Chris Short
8ffe5c3c54 find.py: Editing contains description to say regex (#4452)
find module contains argument appears to accept regex; correcting description accordingly
2016-12-08 11:24:51 -05:00
Alexey Sheplyakov
8d4fe2a767 apt_key: fix spurious failure to import a subkey (#4366)
Importing a (sign only) subkey with apt_key module always fails,
however the actual keyring gets created and contains the correct keys.
Apparently the all_keys function skips the subkeys, hence the problem.

Fixes #4365
2016-12-08 11:24:50 -05:00
PikachuEXE
fc87dd9650 Allow specifying human readable value for option memory_limit again (#4049) 2016-12-08 11:24:50 -05:00
jctanner
53a0a64bda git: set the file:// protocol if needed and refactor HEAD parser (#4434)
* make HEAD parsing more robust
* Fail the module for any splitter errors
* fix combining depth and version on filepath urls by prepending file://

Addresses #907
2016-12-08 11:24:50 -05:00
Timmo Verlaan
159918a8ef Determine branch name more reliable (#907)
* Made some changes to determine branch name more reliable (it may contain slashes now).

* Determination of branch name more reliable, as per comment on PR #907
2016-12-08 11:24:50 -05:00
jctanner
7e65315d92 git: Use a local copy of unfrackpath to avoid using ansible.lib (#4426)
Fixes #4425
2016-12-08 11:24:50 -05:00
jctanner
c60954605b git: If force=yes, apply --force to submodule updates to overwrite local changes (#4415)
Fixes #238
2016-12-08 11:24:50 -05:00
chouseknecht
76260d3aa8 Fix network alias and network link comparison. - Using set based comparison was not working consistently - With != operator worked locally but consistently failed on Travis - With 'not in' operator failed locally and on Travis 2016-12-08 11:24:50 -05:00
Brian Coca
1160c79671 added meta as 'documentation' 2016-12-08 11:24:50 -05:00
chouseknecht
433b5e187f If debug true, include actions and differences in output. 2016-12-08 11:24:50 -05:00
Chris Houseknecht
a8111adcd6 Some post merge clean up: (#4406)
- Removed required_if.
  - Fixed doc strings.
  - Removed debug output being appended to actions.
  - Put import of basics at bottom to be consistent with other docker modules
  - Added 'containers' alias to 'connected' param
  - Put facts in ansible_facts.ansible_docker_network
2016-12-08 11:24:50 -05:00
Brian Coca
94486c5c77 doc fix 2016-12-08 11:24:50 -05:00
Rob Cutmore
09b06a601c Git: Determine if remote URL is being changed (#4243)
* Git: Determine if remote URL is being changed

Ansible reported there were no changes when only the remote URL for a
repo was changed. This properly tracks and reports when the remote URL
for a repo changes.

Fixes #4006

* Fix handling of local repo paths

* Git: Use newer method for fetching remote URL

* Git: use ls-remote to fetch remote URL

Using ls-remote to fetch remote URL is supported in earlier versions
of Git compared to using remote command.

* Maintain previous behavior for older Git versions

Previously whether or not the remote URL changed was not factored
into command's changed status. Git versions prior to 1.7.5 lack the
functionality used for fetching a repo's remote URL so these versions
will update the remote URL without affecting the changed status.
2016-12-08 11:24:50 -05:00
Chris Houseknecht
af3884f558 Adding docker_network module. (#4404) 2016-12-08 11:24:50 -05:00
jctanner
6c439a4882 user: Cast all arguments to string before passing to run_command (#4398)
Fixes #4397
2016-12-08 11:24:50 -05:00
Matt Clay
0b01e53b16 Only run integration script if it exists. 2016-12-08 11:24:50 -05:00
Matt Clay
033850b14a Update call to generate-tests. 2016-12-08 11:24:50 -05:00
Lucas Costa Beyeler
6aeea1fe7e Fix #4202: Can't unarchive remote files (#4244)
When you try to remote unarchive files with the option copy=no the code always fail, as evidenced in issue #4202. That happens because the conditional to check "if remote_src=no or copy=yes" will always be true since the default value of them is remote_src=no and copy=yes.
My modification is only to change the condition from or to and, that way only if both the vars stay with the default value will be true, otherwise you can unarchive remote files.
2016-12-08 11:24:49 -05:00
Brian Coca
16ccde49ad remove X bit 2016-12-08 11:24:49 -05:00
jctanner
634b1024d6 git: save changed submodules in check and non-check mode (#4392) 2016-12-08 11:24:49 -05:00
Dag Wieers
4ee9cc4b3f Add diff mode support to git module (#3364)
* Add diffmode support to git module

This patch adds missing diffmode support to the git module.

* Remodel get_diff() and calls to it

As proposed by @abadger

* Ensure we fetch the required object before performing a diff

Also we handle the return code ourselves, so don't leave this up to run_command().
2016-12-08 11:24:49 -05:00
Indrajit Raychaudhuri
fb255b3607 Improve hostname module to support systemd in more generic way (#4382)
Now that there is general purpose `Fact` helper to detect if systemd
is active, we would be able to rely on that to apply SystemdStrategy.

Detecting presence of systemd at runtime would be more reliable than
distribution version based heuristics. (e.g., Debian, Ubuntu allows
user to change the default init system, Gentoo allows switching as
well, and so on).
2016-12-08 11:24:49 -05:00
Brian Coca
ab3a87cc1a improved logic when dealing with init scripts 2016-12-08 11:24:49 -05:00
Brian Coca
3c89a21e0c fixes corner case for systemd services
when both unit file and sysv init script exist
Thanks to @olfway for fix.

fixes #3764
2016-12-08 11:24:49 -05:00
Dag Wieers
fe273a4e09 Improve the documentation (#4385)
Improvements to make it more clear that pure compressed files (.gz, .bz2 and .xz) files are not supported.

This improves on #3241.
2016-12-08 11:24:49 -05:00
Sam Doran
4c6cfb9eec Improve regexp for matching file permissions (#4306)
A capital "S" appears when the the setuid or setgid bit are set but have no effect. Likewise, a capital "T" appears when the sticky bit is set but it has no effect.
2016-12-08 11:24:49 -05:00
Roman
7b547e3e0b get_url headers param values parsing (#4245) 2016-12-08 11:24:49 -05:00
Evan
7b66bdc1c4 pip: Fix uninitialized variable during check_mode (#4379)
During check_mode (`--check`), the variable change could be
used uninitialized, yielding this error:

`UnboundLocalError: local variable 'changed' referenced before assignment`

This changeset simply initializes it to False.
2016-12-08 11:24:49 -05:00
Evan Kaufman
3a44d60fbc Fixes #3791 cron always returning changed state for multiline jobs (#4285)
Strip only newlines and carriage returns. Instead of stripping ALL whitespace, which may have unintended side effects
2016-12-08 11:24:49 -05:00
BradLook
766413e79d Allow cron to target remote user (#4270) 2016-12-08 11:24:49 -05:00
René Moser
03022875c4 mysql_db: use new exception handling, fixes build (#4373) 2016-12-08 11:24:49 -05:00
Jan Malte Gerth
9549883e78 reuse already split output for filtering (#4310)
there is no need to call out.split('\n') multiple times (line 275 and 277)
2016-12-08 11:24:49 -05:00
Brian Coca
81e87cefd7 unsafe writes! (#4314)
* unsafe writes!

* moved unsafe_write docs and args to file common

* added unsafe_writes option handling
2016-12-08 11:24:49 -05:00
Saurabh Sharma
a5695c8b24 error handling for importing non-existent db. Fixes ##2068 (#3617)
* error handling for importing non-existent db

* creating db on import state and suitable message on deleting db

* handling all possible cases when db exists/not-exists
2016-12-08 11:24:49 -05:00
Toshio Kuratomi
c5052f9b01 Be explicit about specifying the ssh port if it was user specified (#4302)
Previously, if the port specified by the user or inventory was 22, then
the ssh client port would be used instead.

Fixes #3895
2016-12-08 11:24:48 -05:00
Zoltán Müllner
ac561772ea Revert "Reset all locale environment variables before running svn commands" (#4358)
* Revert "Reset all locale environment variables before running svn commands"

This reverts commit 99456fbc9851209f4482cdf6c246806ba1e9fbff.

* Reset locale environment variables before running svn commands
2016-12-08 11:24:48 -05:00
Michael Scherer
cd3c454917 Add a example with a non service unit (#4355)
Since the documentation focus mostly on service
units, a explicit example may help people realizing
it can be used for socket and timer too.
2016-12-08 11:24:48 -05:00
Alvaro Aleman
d9c28454ae Make ios_command example working 2016-12-08 11:24:48 -05:00
muxator
16db1d54d1 typo in the documentation of the "state" parameter (#4353) 2016-12-08 11:24:48 -05:00
John R Barker
1357e7e83a ios & iosxr Documentation improvements (#4321) 2016-12-08 11:24:48 -05:00
Chris Houseknecht
2514ec5056 Add buildargs parameter to support Dockerfile ARG directive. (#4349)
* Add buildargs parameter to support Dockerfile ARG directive.

* Fix doc_strings. Doc string for load_path was completely missing.
2016-12-08 11:24:48 -05:00
chouseknecht
f6b126d412 Default repository tag value to tag parameter value or 'latest'. 2016-12-08 11:24:48 -05:00
chouseknecht
3dab1785ba Always returns changed when state present and name includes :tag. 2016-12-08 11:24:48 -05:00
Chris Houseknecht
1cf9d3e68e Add *build* to state parameter choices. Updated deprecation message. Will be deprecated in release 2.3. Removed (#4342)
mention of *tagged* state in the force parameter doc strings. There is no *tagged* state.
2016-12-08 11:24:48 -05:00
John Barker
ecc7e445b5 vyos: Docs fixes 2016-12-08 11:24:48 -05:00
John Barker
d76a4e71c2 openswitch: Docs fixes 2016-12-08 11:24:48 -05:00
John Barker
3f8f67e359 NXOS Docs update 2016-12-08 11:24:48 -05:00
chouseknecht
2ea29fee3f Fix image tag operation. Allows repository in form of repo:tag. If no tag value, defaults to 'latest'. 2016-12-08 11:24:48 -05:00
John Barker
d4200b0389 junos: Docs update 2016-12-08 11:24:48 -05:00
Nathaniel Case
36ba105b91 Fix ios_config broken logic 2016-12-08 11:24:48 -05:00
John Barker
6ad7d6b3cd Cumulus - consistent docs formatting 2016-12-08 11:24:47 -05:00
Nathaniel Case
6857cea9e6 Quick fix to nxos_command and minify imports 2016-12-08 11:24:47 -05:00
chouseknecht
0c4da5d3a0 Added implementation of ignore_image, which prevents recreation of containers on image change. 2016-12-08 11:24:47 -05:00
chouseknecht
5992c21c9c Fix #3670 host IP defaults to 0.0.0.0 ignoriing bridge Host IP option. 2016-12-08 11:24:47 -05:00
chouseknecht
a6bfeea1c4 Improved documentation for returned actions. 2016-12-08 11:24:47 -05:00
chouseknecht
cd7b34547d When build true call docker-compose build, and add nocache option. 2016-12-08 11:24:47 -05:00
chouseknecht
df09b4f668 Set version_added 2016-12-08 11:24:47 -05:00
chouseknecht
1670d9b030 Add pull option to pull images prior to evaluating service state. 2016-12-08 11:24:47 -05:00
Kevin Kirsche
db03ebdfb9 Fix typo in "ssantaize" typo
ssantaize to santaize
2016-12-08 11:24:47 -05:00
John Barker
2b82389705 General EOS documentation improvements
Typos, formatting, choices.
2016-12-08 11:24:47 -05:00
Shawn Siefkas
e9bf046c26 Check mode fixes for ec2_vpc_net module (#2179)
* Check mode fixes for ec2_vpc_net module

Returns VPC object information

Detects state change for VPC, DHCP options, and tags in check mode

* Early exit on VPC creation in check mode
2016-12-08 11:24:47 -05:00
Shawn Siefkas
0b95051039 Fix #2526 (#2527)
Fail on unhandled exception in ec2_asg rather than raise
2016-12-08 11:24:47 -05:00
Shawn Siefkas
66f1f6d537 Check mode fix for ec2_group module (#2184)
The default VPC egress rules was being left in the egress rules for
purging in check mode.  This ensures that the module returns the correct
change state during check mode.
2016-12-08 11:24:47 -05:00
Michael Scherer
3c2110215c Do not hardcode default ssh key size for RSA (#4074)
By default, ssh-keygen will pick a suitable default for ssh keys
for all type of keys. By hardocing the number of bits to the
RSA default, we make life harder for people picking Elliptic
Curve keys, so this commit make ssh-keygen use its own default
unless specificed otherwise by the playbook
2016-12-08 11:24:47 -05:00
peter.jang
b06f3bbb22 fix for rsync protocol (#4211) 2016-12-08 11:24:47 -05:00
John R Barker
aa6a7d5789 State runnng v running
Fix typo
2016-12-08 11:24:46 -05:00
Matt Clay
c2270a37ff Enable FreeBSD tests on Shippable. (#4296) 2016-12-08 11:24:46 -05:00
Rick Mendes
be33879152 Fixes #4227: just changing messaging 2016-12-08 11:24:46 -05:00
Rick Mendes
eae75cf727 Fix #3549, failure to reference module in ec2_eip module 2016-12-08 11:24:46 -05:00
David Chwalisz
f979928ecc file module: add clarification on state=absent re files that do not exist. 2016-12-08 11:24:46 -05:00
Christian Schwarz
e526b2ad3d system/service.py: fix false-positive service enablement on FreeBSD. (#4283)
sysrc(8) does not exit with non-zero status when encountering a
permission error.

By using service(8) `service <name> enabled`, we now check the actual
semantics expressed through calling sysrc(8), i.e. we check if the
service enablement worked from the rc(8) system's perspective.

Note that in case service(8) detects the wrong value is still set,
we still output the sysrc(8) output in the fail_json() call:
the user can derive the exact reason of failure from sysrc(8) output.
2016-12-08 11:24:46 -05:00
Lyle Mantooth
f57ece661f Remove file extension from policy names (#3805)
Fixes #3804.

Prevents `__file__` from contributing ".", which is an illegal character in ELB policy names.
2016-12-08 11:24:46 -05:00
Julien Vey
7ba3ba2da9 Fix Typo in docker_image_facts module 2016-12-08 11:24:46 -05:00
Monty Taylor
f441e2c1a9 Rename a confusing variable
I had to read the two lines in question twice. That might just make me
dumb, but if I'm dumb, someone else might be too.
2016-12-08 11:24:46 -05:00
Rick Mendes
4fad93561a please remove me as maintainer 2016-12-08 11:24:46 -05:00
Rick Mendes
d6cc007380 Fixes #4227 2016-12-08 11:24:46 -05:00
Jasmine Hegman
f5c3f4dd6b Update docs to indicate ec2_asg state defaults to present (#4046)
* Update docs to indicate ec2_asg state defaults to present

Hopefully fixes Issue #4016

* Forgot to flip required to false
2016-12-08 11:24:46 -05:00
Matt Clay
df5869df4a Enable Windows tests on Shippable. (#4278) 2016-12-08 11:24:46 -05:00
Shaun Brady
7b8d625546 Make ec2_elb_lb respect VPCs when resolving groups
AWS security groups are unique by name only by VPC (Restated, the VPC
and group name form a unique key).

When attaching security groups to an ELB, the ec2_elb_lb module would
erroneously find security groups of the same name in other VPCs thus
causing an error stating as such.

To eliminate the error, we check that we are attaching subnets (implying
that we are in a VPC), grab the vpc_id of the 0th subnet, and filtering
the list of security groups on this VPC.  In other cases, no such filter
is applied (filters=None).
2016-12-08 11:24:46 -05:00
Shaun Brady
3b32b60338 Remove trailing white space 2016-12-08 11:24:46 -05:00
Shaun Brady
04199140c5 Make group_name resolution VPC aware
EC2 Security Group names are unique given a VPC.  When a group_name
value is specified in a rule, if the group_name does not exist in the
provided vpc_id it should create the group as per the documentation.

The groups dictionary uses group_names as keys, so it is possible to
find a group in another VPC with the name that is desired.  This causes
an error as the security group being acted on, and the security group
referenced in the rule are in two different VPCs.

To prevent this issue, we check to see if vpc_id is defined and if so
check that VPCs match, else we treat the group as new.
2016-12-08 11:24:46 -05:00
Rob Phoenix
6339398e7c various typo corrections to ios network modules 2016-12-08 11:24:46 -05:00
John Baublitz
fe09641476 Doc update 2016-12-08 11:24:45 -05:00
John Baublitz
c8dc0bf5c9 Fix exception handling to be compatible with Python 3 2016-12-08 11:24:45 -05:00
John Baublitz
4b11312737 Additional error handling for corner cases like deleting networks with active subnetworks 2016-12-08 11:24:45 -05:00
John Baublitz
e4697c3780 Documentation 2016-12-08 11:24:45 -05:00
John Baublitz
96599a5963 Logic to allow subnet creation 2016-12-08 11:24:45 -05:00
John Baublitz
5591e6bb0b Add error handling for specifying 'mode' with insufficiently recent libcloud 2016-12-08 11:24:45 -05:00
John Baublitz
9c9b22dc8f Changes to allow 'auto' mode which does not allow IP address specification 2016-12-08 11:24:45 -05:00
John Baublitz
839871d87b Support for newer networking modes in GCE 2016-12-08 11:24:45 -05:00
Brian Coca
7f1e6ca005 updated docs to reflect new feature 2016-12-08 11:24:45 -05:00
Ryan
8b582cceaa fix typo in azure_rm_storageaccount (#4236) 2016-12-08 11:24:45 -05:00
Brian Coca
d579dab0a0 deprecated accelerate 2016-12-08 11:24:45 -05:00
chrisweaver
531954e2f6 Enforce boolean type for dup_ok
Stop "choices" from being interpreted as strings.
2016-12-08 11:24:45 -05:00
Toshio Kuratomi
879afebf77 Remove git and synchronize modules from list of commands we want users to use the module for instead. (#4233) 2016-12-08 11:24:45 -05:00
Matthew Martin
4d952d6e6e Add CAPABILITY_NAMED_IAM to cloudformation capabilities
While from the documentation[1] one would assume that replacing
CAPABILITY_IAM with CAPABILITY_NAMED_IAM; this as empirically been shown
to not be the case.

1: "If you have IAM resources, you can specify either capability. If you
have IAM resources with custom names, you must specify
CAPABILITY_NAMED_IAM."
http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html
2016-12-08 11:24:45 -05:00
Michael Baydoun
3818cc2b95 fixes issues where iam_policy incorrected reported changed 2016-12-08 11:24:45 -05:00
John Baublitz
906b457bf1 Collapse boilerplate code into change_instance_state function 2016-12-08 11:24:45 -05:00
John Baublitz
eb97165acc Add states for stopping and starting machines 2016-12-08 11:24:44 -05:00
Tom Melendez
067bb6ec01 Added helper function and logic to sort attributes before comparing. 2016-12-08 11:24:44 -05:00
Kai Kousa
4a8a052e2e Improve documentation on security_groups-option 2016-12-08 11:24:44 -05:00
Tom Melendez
8becd9a14d Allow GCE firewall rules to be updated when attributes changes. Fixes #2111.
Previously, when the attributes of a GCE firewall change, they were ignored.  This PR changes that behavior and now updates them.

Note that the "update" also removes attributes that are not specified.

An overview of the firewall rule behavior is as follows:

1. firewall name in GCP, state=absent in PLAYBOOK: Delete from GCP
2. firewall name in PLAYBOOK, not in GCP: Add to GCP.
3. firewall name in GCP, name not in PLAYBOOK: No change.
4. firewall names exist in both GCP and PLAYBOOK, attributes differ: Update GCP to match attributes from PLAYBOOK.
2016-12-08 11:24:44 -05:00
yfried-redhat
b1ee47f358 Make os_floating_ip module idempotent
Current module fails when tries to assign floating-ips to server that
already have them and either fails or reports "changed=True" when no
ip was added

Removing floating-ip doesn't require address

Server name/id is enough to remove a floating ip.
2016-12-08 11:24:44 -05:00
Andrei Lukovenko
436ff356e7 Bug: repeatable invocation with state=present leads to (#3052)
[localhost]: FAILED! => {"changed": false, "failed": true, "msg":
"'Domain' object has no attribute 'id'"}

How to reproduce:

- name: create domain
  digital_ocean_domain: state=present name=DOMAIN_NAME ip=DROPLET_IP

- name: create domain
  digital_ocean_domain: state=present name=DOMAIN_NAME ip=DROPLET_IP

Problem: DigitalOcean API changed API
(https://developers.digitalocean.com/documentation/v2/#list-all-domain-records)
2016-12-08 11:24:44 -05:00
Brian Coca
544b044129 stop trying to set permissions in check mode
fixes #4195
2016-12-08 11:24:44 -05:00
Brian Coca
498dc61154 documenting behaviour as clear as possible 2016-12-08 11:24:44 -05:00
Toshio Kuratomi
0364831c22 Remove version-added on name field.
This parameter was actually added in 2.0.  It's just that the
documentation in previous versions of the module were wrong (it said the
name was  "network" rather than "name.)  I've renamed the parameter in
the documentation of prior versions so ansible-module-validate should no
longer think that this is a new parameter.
2016-12-08 11:24:44 -05:00
Peter Sprygada
42da47813b adds update_config argument to ios_config
New argument controls whether or not configuration is applied to the
remote device.
2016-12-08 11:24:44 -05:00
Peter Sprygada
4611e2b9ad initial add of new module vyos_config
New module for sending configuration commands to remote devices running
the VyOS operating system.
2016-12-08 11:24:44 -05:00
Peter Sprygada
cff91c4c3b initial add of new module vyos_facts
* adds collection of default facts
* adds collection of configuration facts
* adds collection of lldp neighbors
2016-12-08 11:24:44 -05:00
Ryan S. Brown
9336e0d070 Indent unarchive module documentation to fix parsing error. 2016-12-08 11:24:44 -05:00
tobixx
ed1d80b7d8 added read-/write-/executeable flags for invoking user (#4130) 2016-12-08 11:24:44 -05:00
James Cammarata
aa1e9e3d5f Add remote_src param for unarchive to deprecate copy param
From ansible/ansible#10218
2016-12-08 11:24:44 -05:00
Peter Sprygada
92ac734e13 initial commit of vyos_command module
This adds a new module, vyos_command for sending CLI commands to remote
devices running VyOS operating system.
2016-12-08 11:24:44 -05:00
Peter Sprygada
25294f40c8 bug fix in ios_config module for handling config contents
Config contents when passed via argument were returning a string but
the module expects an instance of NetworkConfig.  This fixes that
problem.
2016-12-08 11:24:44 -05:00
Jan Hutař
5eb4e0dd0d Add way to specify environment (#3453) 2016-12-08 11:24:43 -05:00
h-hirokawa
57921c0b4d Fix azure_rm_virtualmachine (#4174). 2016-12-08 11:24:43 -05:00
Chris Houseknecht
c91de38322 Entrypoint fails with 'command not found' error. 2016-12-08 11:24:43 -05:00
Chris Houseknecht
7ffa6a43c5 Add push parameter. Let API handle registry authentication check. 2016-12-08 11:24:43 -05:00
Chris Houseknecht
4002caf60e Fix module failing when no ports are exposed 2016-12-08 11:24:43 -05:00
jjshoe
d8b752b3cf Fixed a typo (#4168) 2016-12-08 11:24:43 -05:00
Richard Levenberg
4943d329a4 handle multiple winrm listeners (#4142)
* handle multiple winrm listeners

* use the sorterd array
2016-12-08 11:24:43 -05:00
Marcos Diez
f10413b919 better authorized_keys documentation (#3739) 2016-12-08 11:24:43 -05:00
Peter Sprygada
43ba7f3b3b removes unneeded check_args function from ios_command
The module would raise a KeyError trying to find the save_config key
which is not present in the argument_spec.  This was caused by the
check_args() function.  Since the ios shared argument spec isn't used
the check_args function is not needed and has been removed.
2016-12-08 11:24:43 -05:00
Chris Houseknecht
030dcccad4 Fix multi-interface port binding. 2016-12-08 11:24:43 -05:00
Chris Houseknecht
bd3e1c77fe Add cleanup parameter. (#4144) 2016-12-08 11:24:43 -05:00
Peter Sprygada
438b9328ea fixup ios_template module to use NetworkModule
This removes the get_module() factory function and directly creates
an instance of NetworkModule.  This commit includes some minor clean
up to transition to the ios shared module for 2.2
2016-12-08 11:24:43 -05:00
Chris Houseknecht
7515b2d563 Fix 'all' option for published_ports parameter. 2016-12-08 11:24:43 -05:00
David Shrewsbury
37edf33955 Fix bug in os_router.py when router is not actually updated. (#4107)
The shade update_router() call will return None if the router is
not actually updated. This will cause the module to fail if we
do not protect against that.
2016-12-08 11:24:43 -05:00
Brian Coca
72eaf0281a updated checkmode for update-rc.d
fixes #4146
2016-12-08 11:24:43 -05:00
Chris Houseknecht
dc496ffeb4 Fix purge_networks 2016-12-08 11:24:43 -05:00
Peter Sprygada
66268dd3ec fix up ios_command to use NetworkModule
* using check mode will now block all commands except show commands
* module will no longer allow config mode commands
* check args for unused values and issue warning
2016-12-08 11:24:43 -05:00