Commit graph

15194 commits

Author SHA1 Message Date
Vlad Glagolev
039d207d24 Add Source Mage GNU/Linux facts (#19671)
* Add Source Mage GNU/Linux facts

* Add unit test for OS-detection
2017-01-31 13:25:36 -05:00
Matt Clay
524e5d2c39 PEP 8 cleanup. 2017-01-31 10:16:59 -08:00
Toshio Kuratomi
5c38f3cea2 Combine jimi-c and bcoca's ideas and work on hooking module-utils into PluginLoader.
This version just gets the relevant paths from PluginLoader and then
uses the existing imp.find_plugin() calls in the AnsiballZ code to load
the proper module_utils.

Modify PluginLoader to optionally omit subdirectories (module_utils
needs to operate on top level dirs, not on subdirs because it has
a hierarchical namespace whereas all other plugins use a flat
namespace).

Rename snippet* variables to module_utils*

Add a small number of unittests for recursive_finder

Add a larger number of integration tests to demonstrate that
module_utils is working.

Whitelist module-style shebang in test target library dirs

Prefix module_data variable with b_ to be clear that it holds bytes data
2017-01-31 09:41:24 -08:00
sebastianneubauer
3f14061584 s3 module: fix urlparse invocation and netloc mixup on Python 3 (#20836) 2017-01-31 11:54:29 -05:00
Doug Bridgens
65f561e496 added ldap auth capability to hashi_vault plugin (#20244)
* added ldap authentication capability
2017-01-31 11:25:50 -05:00
Adrian Likins
ee9ab6c665 Show valid bool symbols in error for invalid bool symbol 2017-01-31 10:39:16 -05:00
Eugene Krokhalev
eb7495efaf unicode is absent in case of python3 - fix it (#20861) 2017-01-31 10:17:04 -05:00
Brian Coca
7e6758873c added warnings list to module and autoadd
added better way of adding warnings to return data
backwards compatible if warnings key already exists
added deprecations made iface more generic
changed to enforce type per item
added logging of warnings/deprecations
also display deprecations by default
2017-01-31 10:03:09 -05:00
Matt Clay
503e85ed0e PEP 8 E111 cleanup. 2017-01-30 20:33:31 -08:00
Matt Clay
85300883ef PEP 8 E111 cleanup. 2017-01-30 20:17:35 -08:00
Matt Clay
5f89fc4a68 PEP 8 E111 cleanup. 2017-01-30 20:08:33 -08:00
Matt Clay
23f2efbc8d PEP 8 E111 cleanup. (#20841) 2017-01-30 18:03:13 -08:00
Matt Clay
462ab6b1db PEP 8 E111 cleanup for nxos modules. 2017-01-30 15:45:05 -08:00
Steve Kuznetsov
4a57cba86d ec2_group_facts: Fail correctly when boto3 is not installed
Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2017-01-30 15:03:56 -08:00
Matt Clay
cb76200c7d PEP 8 E111 & E114 cleanup. (#20838) 2017-01-30 15:01:47 -08:00
David Shrewsbury
83d767ca37 Merge pull request #20832 from Logan2211/os-network-provider-types
os_network: Allow freeform provider_network_type string
2017-01-30 15:34:13 -05:00
Brian Coca
a26c771bd9 fix cowsay for py3 2017-01-30 15:16:15 -05:00
Brian Coca
9ac9d42030 allow empty whitelist 2017-01-30 15:13:44 -05:00
Brian Coca
8030f6fd45 removed module merged by mistake with facts change
should be it's own PR
2017-01-30 15:11:15 -05:00
Toshio Kuratomi
1434d5f11f Fix for swupd documentation 2017-01-30 11:58:53 -08:00
Logan V
7ef92e4c7a os_network: Allow freeform provider_network_type string
Prescribing types is not necessary as the underlying shade library
does not do so, and the Neutron API will inform us if a disallowed
or non existent type is used.

Fixes #20830
2017-01-30 13:58:41 -06:00
Andreas Mosti
bc432b4001 Example of usage in znode documentation #20816 2017-01-30 14:41:44 -05:00
Jasper Lievisse Adriaanse
7156ad7153 Add support for additional properties when creating new VMs. (#20792)
* Add support for additional properties when creating new VMs.

All vmadm(1M) options except those specific to SDC(-docker)
are now supported.

* Mark password options as no_log

Change-Id: I9dfd80e7ba5ecfc8f45ecfbe9ec098e66647e9a4
2017-01-30 14:22:54 -05:00
Alberto Murillo Silva
108b5fc502 Add support for ClearLinux
* Set ansible_os_family to 'ClearLinux'
* Set ansible_distribution to 'ClearLinux'
* Add swupd.py plugin

Fixes #20824

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
2017-01-30 14:12:20 -05:00
Nathaniel Nutter
5aac2a4240 fix exception when an image has no name
This prevents an exception from occurring when an image has no name.  While images normally have names it is possible, at least on older versions of Docker, for an image to "lose" its name during a failed `docker rm`.
2017-01-30 14:09:10 -05:00
Brian Coca
53cf229fb7 updated friendlier description 2017-01-30 13:42:58 -05:00
Wayne Witzel III
0e72f3bd71 Ansible Tower organization module (#20355)
* add Ansible Tower organization module

* skip Python 2.4 check for ansible_tower module

* make spec and doc match, extract tower auth helper method

* added auth params at module level

* support check mode

* extract check mode check to ansible_tower utils, add utils to 2.4 skip

* update interpreter shebang

* remove colon from docs

* no log for password, verify_ssl default to true
2017-01-30 13:42:32 -05:00
Toshio Kuratomi
61ccc847d7 Fix service's exec_command() for python3 (#20826)
* Fix service's exec_command() for python3

exec_command() was mixing text and bytes in several places on python3.
Made changes so that we explicitly convert between the two.

Fixes #20818

* Also handle basestring and shlex.split in a python2/python3 compatible fashion
2017-01-30 13:08:31 -05:00
Toshio Kuratomi
4f960a4f42 Fix import of urlparse on python3
Should fix the error reported here:
https://github.com/ansible/ansible/issues/17495#issuecomment-267921719
2017-01-30 09:41:01 -08:00
Ricardo Carrillo Cruz
e70bc06ea1 Refactor iosxr_command to make use of network_connection plugin (#20772) 2017-01-30 17:52:19 +01:00
Dag Wieers
bbaab6ee5b Show remote host in error message. (#20823)
* Show remote host in error message.

* Typos :-/
2017-01-30 11:16:13 -05:00
Brian Coca
81c614023c improved openrc detection 2017-01-30 11:12:36 -05:00
Brian Coca
f87e67cfb6 added runit and daemontools to service mgr detect 2017-01-30 11:12:36 -05:00
Brian Coca
294a23d7f6 renamed sv to runit, avoid svc confusion 2017-01-30 10:24:43 -05:00
James Sumners
693c176f43 Add sv module to manage runit services #20181 (#20471)
* Add sv module to manage runit services

* Add mission `restarted` method
2017-01-30 10:22:54 -05:00
hloeffler
8b14935521 add META Output for -vv, better than nothing 2017-01-30 09:14:50 -05:00
Ted
772f8f4854 Add bigmon policy module (#20584)
* Cleanup fork

* Add bigmon_policy module

* Remove docker files from commit, fix formatting, add CHANGELOG.md entry

* Put change in CHANGELOG.md in alph order and add the alias to access_token doc

* Fix access_token type, drop the alias, and fix doc

* Capitalize letter, delete redundant notes, make validates_certs True by default

* Add validate_certs to example

* Try fixing trailing space

* Try adding a trailing space

* Try removing trailing space at end of file

* Add newline at end of file and fix trailing space
2017-01-29 15:31:37 +00:00
Matt Clay
10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Matt Clay
1c6bb4add9 Remove duplicate import. 2017-01-28 12:45:45 -08:00
Peter Sprygada
85d78390f9 adds new module eos_system (#20797)
* provides declarative resource for configuring eos system parameters
* supports network_cli connection plugin only
* adds unit tests for module using mock interfaces
2017-01-28 11:07:51 -05:00
Peter Sprygada
d2dd2fbe49 adds module eos_banner (#20796)
* new module allows for configuration of eos multiline banners
* adds unit test cases for module
2017-01-28 10:32:04 -05:00
Peter Sprygada
634338f062 reorganizes eos shared module (#20795)
* adds send_config function to handle pushing configuration commands
* adds support for handling multiline banner commands
* adds env var check to enable or disable config sessions
2017-01-28 10:31:53 -05:00
Matt Clay
e2c0b375d3 PEP 8 cleanup. (#20790)
* PEP 8 E115 cleanup.
* PEP 8 E131 cleanup.
2017-01-28 01:39:40 -08:00
Matt Clay
d0d1158c5e PEP 8 cleanup. (#20789)
* PEP 8 E703 cleanup.
* PEP 8 E701 cleanup.
* PEP 8 E711 cleanup.
* PEP 8 W191 and E101 cleanup.
2017-01-28 00:12:11 -08:00
Michael Johnson
c29d1e3162 default voice of Alex seems safer (#20718) 2017-01-28 07:59:28 +01:00
Matt Clay
d913f69ba1 PEP 8 W291 whitespace cleanup. 2017-01-27 17:08:02 -08:00
Matt Clay
95789f3949 PEP 8 whitespace cleanup. (#20783)
* PEP 8 E271 whitespace cleanup.
* PEP 8 W293 whitespace cleanup.
* Fix whitespace issue from recent PR.
2017-01-27 15:45:23 -08:00
Dag Wieers
802fbcadf8 win_file: Add check-mode support (#20671)
Also a small cleanup
2017-01-27 15:44:16 -08:00
Dag Wieers
93bb6b8eaf win_uri: module cleanup and added check-mode support (#20511)
The following changes have been made:
- Added check-mode support
- Added parameter type support
- Replace PSObject by a normal dictionary
- Improve idempotency (only when $dest is provided it is not idempotent (yet)
2017-01-27 15:24:32 -08:00
Dag Wieers
ba02d9b85c Add -type "path" to path and creates parameter (#20402)
I intended to update the documentation, but it appears the website docs
are behind the actual documentation (as the website doesn't show the
default values for booleans).

So I ended up adding the missing -type "path" and use the default $null
value for undefined parameters.
2017-01-27 15:11:09 -08:00
Dag Wieers
a657572240 Removing an non-existing directory complains (#19014)
The following playbook:

```yaml
- hosts: localhost
  tasks:
  - file:
      path: /tmp/non-existing-foo-bar
      state: absent
      recurse: yes
```

causes this error:

```
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "recurse option requires state to be 'directory'", "path": "/tmp/non-existing-foo-bar", "state": "absent"}
```

The included fix ensures that when recurse is added, we no longer assume
it is a file, but accept that it is a directory.
2017-01-27 14:58:31 -08:00
Jordan Borean
971783a7fd Feature/win stat extra info (#19148)
* Added more return results to win_stat

* Changed Win2012 methods to support older versions in setup

* staging of the tests to work with older servers
2017-01-27 14:51:12 -08:00
Dag Wieers
a655e90e41 powershell.ps1: Use Get-AnsibleParam and more (#20518)
- Harmonize the name $params like most modules
- Use `return` consistently for return values (easier to read)
- Implement Get-AnsibleParam internally using -type "bool"
- Use a dictionary for $result
2017-01-27 14:46:21 -08:00
Matt Clay
63b1e0c277 Fix infrequent PEP 8 issues. 2017-01-27 14:06:21 -08:00
Peter Sprygada
6c89c587cc refactors eos_config module to use network_cli (#20741)
* update eos_config to use eapi exclusively and remove cli transport
* add unit test cases for eos_config
* updates action plugin to handle both eapi and network_cli connections
2017-01-27 16:23:18 -05:00
Dag Wieers
a60c051952 win_ping: Make full-functional
Small cleanup and backport `ping` functionality.
2017-01-27 13:23:01 -08:00
Ted Timmons
4d57515aec add variable precedence warning to set_fact documentation. (#20774)
* add variable precedence warning to documentation.

Not sure how to link to other documentation.

* fix wording, thx bcoca
2017-01-27 16:18:58 -05:00
Rob Wagner
e401b8e827 Created gce_snapshot module (#20057)
* Added support for a gce_snapshot module for managing snapshots in the Google Cloud Platform

* Fixed using sys.exit in favor of fail_json. Followed the pattern in gce_pd

* Fixed using sys.exit in favor of fail_json. Followed the pattern in gce_pd

* Fixed an issue when dealing with multiple disks. Added a bit more documentation explaining the disks argument

* Corrected a typo in the multi-disk snapshot example

* Updated module to return list of changed snapshots instead of just a message. Added a RETURN block
2017-01-27 16:18:30 -05:00
tedder
8146f1c82e add message_attributes support to sns. 2017-01-27 14:20:26 -05:00
Peter Sprygada
c860a8641c refactor eos_facts to use network_cli (#20760)
refactors the eos_facts module to use the network_cli plugin
2017-01-27 14:12:58 -05:00
Peter Sprygada
271c0c4574 new module eos_user (#20759)
* adds new module for managing local user accounts on eos devices
* adds unit test cases for module

This module only supports network_cli
2017-01-27 14:12:36 -05:00
Trond Hindenes
679a3cb1cc Merge pull request #20599 from dagwieers/win_regedit-cleanup
win_regedit: Cleanup, check/diff mode support, HKCC fix
2017-01-27 18:09:27 +01:00
Dag Wieers
ce2284a793 win_copy: Fix for idempotency (#20281)
* include source file in error message

* win_copy: Fix for idempotency

This patch fixes an idempotency issue with win_copy. Without this patch
files would always be considered changed (unless the copy operation failed).

It also fixes the resulting output cfr. what was deocumented.
2017-01-27 16:17:35 +00:00
David Shrewsbury
c950767898 Merge pull request #19320 from manics/ansible-modules-core/pull/5176
Allow creation of Openstack volumes from an existing volume
2017-01-27 10:12:00 -05:00
Peter Sprygada
32913c0fdf refactors eos_template to use network_cli (#20742) 2017-01-27 09:07:42 -05:00
Dag Wieers
7460b748ca win_shortcut: Clean up (#20514)
Small improvements:
- Remove obsolete comments
- Use $check_mode instead of my own $_ansible_check_mode
- Renamed "default" window style to "normal" (as is used by Windows
  documentation)
- A fix for check-mode support (when state=absent)
2017-01-27 13:51:36 +00:00
Peter Sprygada
c8dcc7f5d6 refactors eos_command module (#20739)
* eos_command now uses network_cli connection plugin
* adds unit test cases for eos_command module
2017-01-27 08:45:13 -05:00
Peter Sprygada
57660abf33 refactor eos_eapi module (#20740)
* eos_eapi module now requires network_cli plugin
* adds unit test cases for eos_eapi module
2017-01-27 08:44:57 -05:00
Peter Sprygada
ad83756b48 updates eos shared modules (#20738)
* eos module now uses network_cli connection plugin
* adds unit tests for eos module
* eapi support now provided by eapi module
* updates doc fragment for eapi common properties
2017-01-26 23:33:07 -05:00
Peter Sprygada
e8a00377ae additional exception handling
* catches TypeError when trying to load json data
2017-01-26 22:59:32 -05:00
JimFicarra
d2094cd611 win_feature fix issue #20433 - source param not found on win2k8 (#20435) 2017-01-26 17:56:24 -08:00
JimFicarra
2a27176d7c Add feature - win_package - allow non-zero return codes - Issue #20408 (#20410) 2017-01-26 16:32:49 -08:00
Robert Simmons
0e7dd18650 Fixed issue in gce_net with firewall rules that have protocols that d… (#20528)
* Fixed issue in gce_net with firewall rules that have protocols that do not have ports.

* Fixed elif in gce_net to include check of the ports variable.
2017-01-26 16:17:55 -05:00
Tom Melendez
c2edc8a264 [GCE] Google Cloud Pubsub Module (#19091)
* Google Cloud Pubsub Module

The Google Cloud Pubsub module allows the Ansible user to:
* Create/Delete Topics
* Create/Delete Subscriptions
* Change subscription from pull to push (and configure endpoint)
* Publish messages to a topic
* Pull messages from a Subscription

An accessory module, gcpubsub_facts, has been added to list topics and subscriptions.

* Added docs for state field to DOCUMENTATION and RETURN blocks.
2017-01-26 16:16:52 -05:00
Brian Coca
607ef0ce80 only ignore become for making tmpdir
(cherry picked from commit 65ee9d2e46)
2017-01-26 15:18:32 -05:00
Brian Coca
0a8b856102 fix improper setting become user for tmpdir
fixes #20706
2017-01-26 14:39:33 -05:00
Dag Wieers
0e80ba1867 Fix the integration test to comply recent changes 2017-01-26 20:06:46 +01:00
Peter Sprygada
43d0505bde fixes issue in network_cli where _connected wasn't set (#20708)
Adds the code to set and unset the _connected propery in network_cli
on calls to open() and close()
2017-01-26 14:00:08 -05:00
Antony PERIGAULT
0bc2ccdebf vmware_guest: Fix a bug when deploy a VM is not always considered as a change 2017-01-26 13:40:55 -05:00
Kamil Boratyński
9d8c1923ab [redhat_subscription]: fixed force option. (#20667)
`force` option is not unique for non-activationkey registrations and it should
be parsed separately; it is possible to register host with activation key and
force such process.
2017-01-26 13:28:24 -05:00
Evgeni Golov
47892a0034 redhat_subscription: Document & enforce org_id (#20548)
* redhat_subscription: enforce the need for org_id when AK is used

also update the documentation to reflect that

Fixes: #20542

* redhat_subscription: check for existence of subscription-manager
2017-01-26 13:22:30 -05:00
n0trax
42e63d429c Add workaround for shib2 and php modules 2017-01-26 12:26:59 -05:00
simplesteph
392fa5a7ac moved utils function to utils modules, fixed a small typo 2017-01-26 12:24:45 -05:00
simplesteph
d811b1d942 added deployment configuration as an option. this fixes #2434 2017-01-26 12:24:45 -05:00
Dag Wieers
e06227ce16 Small cosmetic changes and documentation updates (#20632)
After merging the latest update, these were the few remaining
differences with upstream.

(Plus the previous proposed fast match based on unique VM name which is
not longer needed)
2017-01-26 10:26:07 -05:00
aperigault
614390a310 vmware_guest: Fix nic configuration with already present nics (#20640) 2017-01-26 12:42:08 +00:00
Dag Wieers
4c7715a4e5 Implemented working REG_NONE support
This fixes #20343
2017-01-26 09:44:51 +01:00
Jasper Lievisse Adriaanse
899e336b1e Rework imgadm module: (#20535)
- get rid of changed, rc, stderr, stdout juggling
- use get_bin_path() to get 'imgadm' path
- move actual implementation to Imgadm class
- fix 'changed' for imported images
2017-01-26 07:55:02 +00:00
Peter Sprygada
82dbe9853c adds common function to_list to network_common
used to coerce a value into a list
2017-01-25 22:49:32 -05:00
Matt Martz
2750fc0c7f Use to_text instead of str and decode 2017-01-25 14:02:48 -08:00
astro44
d4449d082e resource overriden when conn_type='both' (#20206)
Simple change to avoid resource override when using conn_type == 'both'
2017-01-25 15:19:38 -05:00
Jasper Lievisse Adriaanse
4a594b3702 Synchronous actions were introduced in Solaris 11.2 to be precise. 2017-01-25 14:51:55 -05:00
Jasper Lievisse Adriaanse
a412be32b5 The '-s' option for restart/refresh is only supported on Oracle Solaris >= 11
Closes #20102
2017-01-25 13:57:40 -05:00
Ondra Machacek
c7739be960 cloud: ovirt: Add possibility to skip disk copy (#20656) 2017-01-25 13:51:37 -05:00
Brian Coca
9e0fd313d7 fix powershell mkdtemp 2017-01-25 13:19:10 -05:00
Brian Coca
10fa2cd0ef make sure tmpdir resolvs user dirs (#20486)
* make sure tmpdir resolvs user dirs

fixes #20332
supercedes #20484

* typo fix
2017-01-25 13:09:36 -05:00
Ryan S. Brown
619e97d67e docker_container: remove third digit from version_added docs 2017-01-25 12:04:10 -05:00
Colleen Murphy
0890559ab5 Fix OpenStack keystone domain idempotency (#20637)
Without this patch, the os_keystone_domain module is not idempotent if
the description is empty because the description parameter is None in
ansible, but the keystone client returns an empty unicode string.
Following the example of other OpenStack modules, this patch fixes the
issue by checking whether the module parameter is None before going on
to check its value.
2017-01-25 16:57:13 +00:00
Matt Martz
28e39ca42f Make sure values are strings before performing rstrip. Fixes #20641 (#20643) 2017-01-25 10:14:19 -06:00
Adrian Likins
1e08e9a55f Remove platforms api request from galaxy 'init'
Instead of populating the platform comment in the default
meta/main.yml with a dict of platforms fetch from the
galaxy REST API, this removes the API call and adds a
commented out example platforms list to the default meta/main.yml

Fixes #18103
2017-01-25 10:34:37 -05:00
Ryan S. Brown
7a19a18e61 [docs] Update docker_container docs to match syslog-tag deprecation in docker 1.13
Closes #20591
2017-01-25 10:19:10 -05:00
Peter Sprygada
8ddffcb1a6 new connection plugin netconf (#20636)
* adds connection plugin for creating modules that use netconf
* adds basic unit test cases for connection plugin
2017-01-25 10:15:26 -05:00
John R Barker
e1b1df3cb1 Detect VyOS based on /etc/issue (support 1.0.5) (#20221)
* Detect VyOS based on /etc/issue (support 1.0.5)

VyOS didn't contain `vyos` in `/proc/version`

* Update vyos.py
2017-01-25 14:47:56 +00:00
Ganesh Nalawade
a43534a4a8 Fix update check issue in junos_config (#20182)
* Fix update check issue in junos_config and required_if enhancement

* Add additional check to update argument which will ensure config
  statement is present.
* Add 'or' condition support in 'required_if'.

* Fix python 2.4 syntax issue

* revert requied_if changes
2017-01-25 14:44:16 +00:00
Ondra Machacek
4e51440af9 cloud: ovirt: add affinity groups module (#20047) 2017-01-25 09:17:58 -05:00
Ondra Machacek
937fc1421b Allow change kernel boot parameters of oVirt hosts (#20607)
* cloud: ovirt: add override_display parameter

* cloud: ovirt: add kernel_params parameter

* cloud: ovirt: add reinstall state to ovirt_hosts module

* cloud: ovirt: wait before polling entity state
2017-01-25 09:17:32 -05:00
Patrick Ogenstad
ac527ef86f Check for removal not allowed errors (#19251) 2017-01-25 13:05:44 +00:00
Ricardo Carrillo Cruz
b44505e281 Merge pull request #20559 from rcarrillocruz/refactor_ios_config_network_connection
Refactor iosxr_config to make use of network_connection plugin
2017-01-25 13:26:13 +01:00
Dag Wieers
454dde5dfd Fix special case for '(default)' entries in original module 2017-01-25 12:51:42 +01:00
jonathanbouvier
8257ee3e25 Fix issue with cc and bcc getting added to mail if unset (#20610) 2017-01-25 11:47:37 +00:00
Jonathan Mainguy
39608128c5 Fixup documentation for the list option in yum module (#20605) 2017-01-25 11:35:28 +00:00
Kevin Hughes
db31d4af04 Typo value => values (#20628) 2017-01-25 10:04:20 +00:00
Sumit Kumar
9283772e54 Add doc_fragment and module util for NetApp platforms (#19607)
* Add doc_fragment and module util for NetApp platforms

* Make requested changes

* Fix links and change formatting.

* Fix description sections.
2017-01-25 09:51:57 +00:00
Dag Wieers
cfb7b12f82 win_regedit: Cleanup, check/diff mode support, HKCC fix
The following changes have been made:
- Added check-mode support
- Added diff support
- Corrected HCCC to HKCC (according to windows documentation)
- Updated documentation, and examples
- Added -aliases support to module_utils/powershell.ps1
- Renamed `key > value > data` to `path > name > data`
- Re-indented code and consistency changes
- Added support for expandstring type

This fixes #20595
2017-01-25 02:58:16 +01:00
Matt Davis
06353c055a winrm managed kinit (#20416) 2017-01-24 15:04:11 -08:00
Ricardo Carrillo Cruz
a8cfe4a5d7 Refactor iosxr_config to make use of network_connection plugin 2017-01-24 23:24:06 +01:00
Mark Mielke
b4a1542670 Reduce the system calls performed by the "file" module
when using "state: link", and particularly when using
"force: yes".

Symbolic link resolution can be expensive. In our case,
the symbolic links are legacy links to automounts, and
the "file" task was causing all of the legacy links to
be traversed and mounted on every host every time the
task executed, even when the links were correct and there
was nothing to do.

This change avoids the system calls that perform the
symbolic link resolution by taking advantage of the short
circuit behaviur of the boolean "and" operator. The code
behaviour is unchanged except that it no longer performs
unnecessary system calls.

As it turns out, this change is not sufficient to fully
solve the symbolic link resolution problem, as the "file"
module still performs a stat() at the end of execution to
provide the caller with information about the file.
However, this change is very simple, it will eliminate
unnecessary system calls in a number of use cases, and it
gets the "file" module closer to the desired end result.
2017-01-24 12:31:25 -08:00
aperigault
add06b505a vmware_guest: Amazing speed up module (#19937)
* vmware_guest: Amazing speed up module
* vmware_guest: Change variables name to do PEP compliant
2017-01-24 11:42:37 -05:00
Michał Masłowski
c10c7aa67b lambda: Remove the note about supporting S3 uploads only (#20562)
The module supports also ZIP uploads which are documented.

Refer to the correct boto3 function in the return value description.
2017-01-24 11:21:32 -05:00
Daniel Andrei Mincă
27816dd284 update GCE instance image with Debian 8 Jessie (#20558)
* update instance image with Debian 8 Jessie

* debian-7 is marked as "DEPRECATED" in Google Compute Engine Images
  * as a result, by default use `debian-8` Jessie

Resolves:
Related:
Signed-off-by: Daniel Andrei Minca <danielandrei.minca@gameloft.com>

* update docs regarding latest stable default image

* after speaking with @gundalow, we decided it's better for the users to
  know that the default image will follow latest stable debian by GCE

Resolves: #20558
Related:
Signed-off-by: Daniel Andrei Minca <danielandrei.minca@gameloft.com>
2017-01-24 11:20:36 -05:00
Andrej Svenke
491b67f114 Fixed bug in ecs_taskdefinition for new task with forced revision 1. (#20561) 2017-01-24 11:19:22 -05:00
René Moser
d1c3cbbc70 cloudstack: fix user data unexpected marked as changed (#20540)
self.instance may be overwritten before the user data comparsion which result in a false positive changed state. 

With this commit, we make sure we have the userdata when we need to.
2017-01-24 11:10:59 -05:00
Loïc Blot
ebe621bb23 Add logstash_plugin to manange logstash plugins (#20592) 2017-01-24 15:52:51 +00:00
Dag Wieers
fc7d6a4cd5 win_robocopy: Small cleanup (#20515)
- Harmonizing the checkmode usage in windows modules
- Simplify the $result object
- Add parameter types
2017-01-24 10:40:14 -05:00
naslanidis
8a01f209ac new AWS module for ec2 VPC vgw facts (#19021)
* new AWS module for ec2 VPC vgw facts

* fixed documentation as suggested by reviewers

* changed iteritems to items for py 3

* improvements to bring in line with #19787

* corrected documentation

* updated doco and exception path
2017-01-24 09:54:49 -05:00
Peter Sprygada
83fe2170ff updates ensure_connect decorator function
only calls _connect() if _connected is False
2017-01-24 09:52:20 -05:00
Dag Wieers
8296511ed0 win_psexec: execute cmds on remote systems as any user (#20141)
* win_psexec: execute cmds on remote systems as any user

This module uses the versatile psexec tool to run any command remotely
as any user (incl. domain users).

* Add missing documentation

Now that this module is deemed acceptable for inclusion,
the documentation is an essential part.

* win_psexec: Small cosmetic changes

* win_psexec: add more options (priority, elevated, ...)

* Fixes after more testing

* Renamed 'cmd' to 'psexec_command' + more

- Also replaced PSObject() with a hash table
- Made $chdir of type "path"
- Renamed $args to $extra_args

* Various improvements

- Switched to using booleans for most parameters
- Added type 'bool' to boolean parameters
- Added 'interactive' parameter
- Added 'wait' parameter
- Added an interactive example

* Added -type "bool" support to Get-AnsibleParam

* Fix deadlock

* When using `wait:no` return code is PID of process
2017-01-24 13:48:58 +00:00
René Moser
5475f3ee64 cloudstack: cs_instance: fix ssh key always marked as changed (#20541)
The same ssh key may be registered with different names. Before we only looked at the names and marked as changed when names differ. However internally cloudstack seems to ignore the change, if the fingerprints are identical. 

As a result we also have to compare the fingerprints and only mark the keys as changed if the fingerprints differ.
2017-01-24 07:49:54 +01:00
Matt Clay
836e0b59d2 Fix git remote url change detection. (#20587)
* Fix git remote url change detection.

When comparing paths, unfrackgitpath must be called on both sides
of the comparison. Otherwise comparisons involving symlinks will
return incorrect results.

* Re-enable git test on OS X.

* Return None from unfrackgitpath when path is None.
2017-01-23 16:09:42 -08:00
Nathaniel Case
b3662fdad1 vyos_command 2.3 (#18994)
* Peter's new module_utils/vyos
* Update vyos_command
* Restore `set terminal length $ANSIBLE_VYOS_TERMINAL_LENGTH` in vyos
* vyos_command tests
* Remove provider mentions from vyos_command
* Extend get_config to take (and cache) various `show configuration` commands
2017-01-23 15:30:19 -05:00
Jun Guo
cfed617dba Support option none in docker_container when setting log_driver (#19040)
Per official docker document, it support setting `--log-driver=none` to
disable any logging for the container. So let's add it to this module.

Fixes #5337
2017-01-23 20:23:58 +00:00
David Barroso
61243f0d99 First release of the callback selective.py (#17309) 2017-01-23 11:54:47 -08:00
Brian Coca
f8f0c4abc8 added formatting 2017-01-23 13:29:14 -05:00
Brian Coca
f00490007c actually fix tickets in previous commit
both modules had similar issues and i conflated them
2017-01-23 13:28:34 -05:00
Brian Coca
f86e6a2152 updated timezone docs to avoid repainting bikeshed
fixes #19272
fixes #20570
2017-01-23 13:24:06 -05:00
Peter Sprygada
8495b6323a fixes minor issue in get_block_config() (#20544)
passed an invalid argument to dumps() to return the config block
2017-01-22 00:47:41 -05:00
John R Barker
7330ab8062 Correctly call get_config (#20452)
* Correctly call get_config

* remove debug

* Check for empty flags and LocalAnsibleModule

* Peter's feedback
2017-01-20 20:17:35 +00:00
Adrian Likins
92a568c816 Fix exc on ansible-console --ask-vault-pass with empty password
Fixes #20502
2017-01-20 13:17:50 -05:00
Dag Wieers
e3c95615b2 Summarize description and add a longer note (#20507) 2017-01-20 11:14:06 -05:00
James Cammarata
188c3c608a Don't restrict local jinja2 variables to those that start with l_
Per a change in jinja2 2.9, local variables no longer are prefixed
with l_, so this updates AnsibleJ2Vars to pull in all locals (while
excluding some) regardless of name.

Fixes #20063

(cherry picked from commit 4d49b317929b86e1fc1b0cbace825ff73b372dc7)
2017-01-20 07:15:51 -06:00
HyungCheol Kim
fc04164505 Correct typos. (#20490) 2017-01-20 08:03:49 -05:00
ABond
cef0adfba0 Issue #20179 Fix doc string handler notify call (#20499) 2017-01-20 08:00:26 -05:00
Will Thames
75437bbe3c Fix ec2_vpc deprecation docs
Clarify the CHANGELOG with deprecation timeline
Correct name of `ec2_vpc_net` module to be used instead
2017-01-19 17:07:57 -08:00
Marcos Diez
1839c8699d fix code typo (#20478) 2017-01-19 16:47:01 -08:00
Peter Nagy
b4fb4420bb Specify in requirements one needs to have admin rights (#20455)
After much plumbing through the source code, python-gitlab and the Gitlab API I found out why I cannot update my ssh keys through this module - because it expects the user to have admin rights on the server. This could be made clearer in the requirements because the Gitlab API allows one to change his/her own profile, it's just that the module or the underlying library doesn't cover this use case.
2017-01-19 16:17:33 -08:00
Brian Coca
19496b5b73 fix service status setting
fixes #18687 as 'disabled' can be at the end of the output
fixes #20228 by not falling back to init scripts when it is a user service
2017-01-19 18:57:47 -05:00
Brian Coca
221771c0c9 fixed fact gathering verbosity hint
also removed redundant cleanup in normal plugin as module execution already removes _ansible_* from results
fixes #20378
2017-01-19 15:36:15 -05:00
Robert Sax
9d26d8b605 fixing mime types in s3_sync module (#20059) 2017-01-19 15:14:05 -05:00
Matt Martz
537b3b75a6 Add jinja2 groupby filter override to cast namedtuple to tuple. Fixes #20098 (#20362)
* Add jinja2 groupby filter override to cast namedtuple to tuple. Fixes #20098

* Address some of the requested changes

* Quoting

* Print the python path and version

* Be less explicitly verbose, rely on implicit verbosity
2017-01-19 11:39:59 -08:00
Michael Scherer
809aa7a653 Do not leak uri password in logs (#20427) 2017-01-19 11:23:53 -08:00
Ross Williams
592c79e837 Add support for registering Amazon Machine Images from EBS snapshots. (#19020) 2017-01-19 13:06:36 -05:00
Andrew Gaffney
ac51266e8f Add pipeline-ish method using dd for file transfer over SSH (#18642) 2017-01-19 12:31:14 -05:00
cliles
2a90963833 - If katello sends manifest did not change, do not report a change. - Allow support of repository_sets that do not have a releasever, like the Red Hat Satellite Tools 6.2 for RHEL 7 Server RPMs x86_64 set. (#19022) 2017-01-19 09:19:19 -08:00
Brian Coca
58b6027a75 remote user should rely on context, not direct var
this can cause issues with non-ssh connections and/or ansible_user
2017-01-19 12:15:45 -05:00
Fabio Alessandro Locati
b2acba0d16 Improve examples and remove shell (#19208) 2017-01-19 17:15:24 +00:00
Fabio Alessandro Locati
7a275f61de system/beadm: improve examples (#20461) 2017-01-19 17:14:01 +00:00
Fabio Alessandro Locati
a0abaf5409 files/patch: improve examples (#20463) 2017-01-19 17:13:09 +00:00
Toshio Kuratomi
05879d331a Fix linenos being wrong in inventory errors
Fixes #20356
2017-01-19 08:40:20 -08:00
James Cammarata
9d549c3498 Fixing iterator bug related to reworking of end-of-role detection
Bug was introduced in cae682607
2017-01-19 10:10:07 -06:00
James Cammarata
ec14572a60 Add representer to AnsibleDumper for AnsibleUnsafeText
Fixes #20253
Fixes #20290
2017-01-19 10:10:07 -06:00
Will Thames
75a7ebe900 Deprecate ec2_vpc module (#20344)
* Deprecate ec2_vpc module

The deprecation of ec2_vpc module has been discussed for
2 years and is causing duplication of effort as changes
are implemented for ec2_vpc rather than for the newer
alternatives

* Improve module deprecation documentation

Update the developing modules documentation with the latest
instructions on how to deprecate a module.
2017-01-19 11:25:28 +00:00
Adam Johnson
acdab18ccd hipchat: improve documentation (#20445)
Some grammar tweaks and removal of duplicate information such as defaults.
2017-01-19 11:15:54 +00:00
Ricardo Carrillo Cruz
0eb4813c8a Add start/end/delta docstring and remove responses for iosxr_template (#20394) 2017-01-19 10:21:02 +00:00
Brian Coca
d8cefee68c include source file in error message 2017-01-18 22:24:35 -05:00
Dag Wieers
5b9eb92722 Windows: Fix documentation strings to be raw strings (#20301)
* Windows: Fix documentation strings to be raw strings

Especially when using Windows paths they easily get confused as escaped
sequences or unicode characters. So by default use raw strings

This fixes #20295

* Fixed as hinted by @abadger

And some trailing whitespace fixes.
2017-01-18 17:57:33 -08:00
Brian Coca
5a48c7ac7a parse yaml metadata and more info on fragment err 2017-01-18 19:21:34 -05:00
James Cammarata
cae682607c Reworking the way end of role detection is done
Rather than trying to enumerate tasks or track an ever changing cur_role
flag in PlayIterator, this change simply sets a flag on the last block in
the list of blocks returned by Role.compile(). The PlayIterator then checks
for that flag when the cur_block number is incremented, and marks the role
as complete if the given host had any tasks run in that role.

Fixes #20224
2017-01-18 17:29:52 -06:00
Baptiste DB
d7967aa3a1 UPD Azure_rm_common with non-blocking pull request from azure_rm.py (#20338) 2017-01-18 14:32:17 -08:00
camradal
e81d3f71e2 Fix win_unzip module hang on error (#20364)
* Fix win_unzip module hang on error

* Add documentation link for Folder.CopyHere flags
2017-01-18 20:44:18 +00:00
Jasper Lievisse Adriaanse
cc5080bc8a Fix argument name to fail_json(), detail -> details
Also use to_native(e) instead of str(e) while here as str() itself
might throw an exception when handling non-ASCII chars as pointed
out by @abadger
2017-01-18 12:23:36 -08:00
Jasper Lievisse Adriaanse
af1c2aa9b3 New module for managing VMs and zones on SmartOS. (#19951)
* New module for managing VMs and zones on SmartOS.

Currently allows for creating new instances and state changes.
Updating existing VMs is not supported yet

* Fix identation in DOCUMENTATION

* Add RETURN block

* Apply flake8 recommendations and split up main() into separate functions.

* Be more about the states this module accepts and trim the exposed list

* Be more verbose about states and the implications

* Fail with a more descriptive error messages than just 'stderr'

* Valid all UUIDs before exiting

* Incorporate feedback from bcoca

* Print field name that contains invalid uuid, not the value

* More changes as suggested by bcoca:

- drop save_payload completel
- make 'name' the options with an 'alias' alias
- use get_bin_path() for locating 'vmadm'

* Doc fixes

Change-Id: Ia23704c99d24b7782d8884fd22e11af61cef724c

* More fixes suggested by jtyr

Change-Id: Ia3e65277bf5a499651c70b096e2988d7cc9eceb5

* Drop local changed variable

Change-Id: Ia8beaa615ba4a47004d7af791c28a5a5855bcf61

* Use correct ANSIBLE_METADATA format

Change-Id: I51ded34e543005933c7c739501388e24e5f80c1d

* Re-indent RETURN

Change-Id: I0c266d7a83517be54fc6242dfb0496a0a480f628

* Fix documentation formatting for options and fix an unused variable

* Move imports to their original location again

* Fail if there's invalid json returned instead of trying to continue

* Betterer error handling for json.loads()
2017-01-18 12:21:52 -08:00
dariko
e2a1ce2916 [docker] Add compatibility with docker-py v2.0 2017-01-18 14:39:18 -05:00
rmarsa
32f39a195b Fixed bug where it was impossible to set non-ephemeral external ips. (#19701)
* Fixed bug where it was impossible to set non-ephemeral external ips.

* Fixed variable reference.
2017-01-18 14:13:59 -05:00
Laurent Goujon
d3c17d632b gce_pd: add delete_on_termination option (#20201)
Add delete_on_termination option to gce_pd, which will delete the disk
when the attached instance is terminated.
2017-01-18 13:52:23 -05:00
Alberto Murillo Silva
5438e0463c Fix typos in os_quota.py
* Replace 'auota' with 'quota'
* Replace 'polcies' with 'policies'
2017-01-18 11:21:22 -06:00
Ondra Machacek
5d00d4d85e cloud: ovirt_vms: Filter VNIC profile by cluster (#20246) (#20384)
This patch add additional filtering of VNIC profiles by the cluster
parameter. It is a must, because there could be same names of the
VNIC profiles in system, as every datacenter can have VNIC profile
same name, which can be in other datacenter.

This patch fixes issue #20246
2017-01-18 10:44:02 -05:00
Pascal Bach
c6621aa0ae ec2_vol: Add key selection support for EBS volume encryption. (#19570)
* Fixes: #3217 - Add a new parameter for the kms_key_id to the ec2_vol module.

* Fixes: #3217 - Correcting comment string as requested.

* Fixes: #3217 - Adding boto version when kms_key_id is used. Also re-adding accidentally removed comment line.

* Cleanup of EBS volume key pull request
2017-01-18 10:02:54 -05:00
Ondra Machacek
aa6ce16aa4 cloud: ovirt_permissions: Add new entities (#20388)
This patch add new entities to manage permissions:

 - disk_profile
 - cpu_profile
 - vnic_profile
 - system

It also enhance the documentation.
2017-01-18 10:01:25 -05:00
Ondra Machacek
d9d1194c80 cloud: ovirt: Ignore 404 error when getting entity (#20386) 2017-01-18 10:00:23 -05:00
Ricardo Carrillo Cruz
b519ee9bb3 Merge pull request #20393 from rcarrillocruz/fix_ioxr_template_meta
Fix copyright and author lines for iosxr lib and iosxr_template
2017-01-18 15:54:25 +01:00
Ricardo Carrillo Cruz
0e78aab533 Fix copyright and author lines for iosxr lib and iosxr_template 2017-01-18 14:15:28 +01:00
roumano
b8c1321635 Update documentation about ldap_attr (#20351)
Fixing the documentation issue #2035
https://github.com/ansible/ansible/issues/20350
2017-01-18 13:04:50 +00:00
Vladimir Rutsky
18c86bc814 pip: fix example with egg specification (#20371)
pip: fix example with egg specification
2017-01-18 12:40:51 +00:00
Dag Wieers
74ecbebf7a win_unzip: Fix for working 'creates' (#20352)
Also fix an incorrect Exit-Json call.
2017-01-18 11:51:02 +00:00
aperigault
e9704b389b vmware_guest: Fix windows joindomain customization (#20303) 2017-01-18 10:52:51 +00:00
Matt Davis
b2a16379c8 new module: win_path (#20073) 2017-01-17 20:21:04 -08:00
Rene Moser
97491672e4 doc: changelog: add new module cloudscale_server 2017-01-17 23:21:37 +01:00
gaudenz
08e08ac775 new module cloudscale_server (#20175) 2017-01-17 23:15:20 +01:00
Ricardo Carrillo Cruz
825456f279 Merge pull request #20363 from rcarrillocruz/iosxr_template_network_cli
Refactor iosxr_template to network_cli plugin
2017-01-17 20:57:30 +01:00
David M. Lee
fde551fa2a Adding support for Amazon ECR (#19306)
* Adding support for Amazon ECR

This patch adds a new module named ecr, which can create, update or
destroy Amazon EC2 Container Registries. It also handles the management
of ECR policies.

* ecs_ecr: addressed review feeback

 * Renaming ecr to ecs_ecr
 * Fixed docs
   * Removed bad doc about empty string handling
   * Added example of `delete_policy`
 * Removed `policy_text` option; switched policy to `json` type so
   it can accept string or dict
 * Added support for specifying registry_id
 * Added explicit else after returned if clauses
 * Added `force_set_policy` option
 * Improved `set_repository_policy` error handling
 * Fixed policy comparisons when AWS doesn't keep the ordering stable
 * Moved `boto_exception` into the module
2017-01-17 14:45:43 -05:00
Rene Moser
3fbbdcd466 doc: cloudstack: cs_host: fix return docs 2017-01-17 20:39:33 +01:00
Ricardo Carrillo Cruz
ae630fff56 Refactor iosxr_template to network_cli plugin 2017-01-17 20:01:56 +01:00
Brian Coca
ba97a34bb3 minor doc fix 2017-01-17 10:16:32 -05:00
peay
222e1c97be Fixes #19883: Handle INI files without ending newline (#20016) 2017-01-17 10:16:25 -05:00
Brian Coca
d1ebd8f411 created subcat for openvswitch 2017-01-17 10:07:14 -05:00
Steve Pletcher
1a33fa0dd2 Don't escape angle brackets in the Slack module (#19980)
* (Fixes #19579) Don't escape angle brackets in the Slack module

* Remove ampersands from escaped characters, update docs

* typo
2017-01-17 09:51:38 -05:00
Will Thames
5ee5593cbf Improve ansible-galaxy handling of role versions (#12904)
* Improve ansible-galaxy handling of role versions

Ensure that role versions are considered when deciding
whether or not to (re-)install a role.

Issue a warning when the version of a dependency conflicts
with the version of an already installed role

Display what version of a role is being installed
Show the versions when upgrading/downgrading a role.

Implements #11266

* Improve force logic for galaxy version changes

Ensure that force is required to change role versions
2017-01-17 09:49:16 -05:00
Tim Rupp
8d5ee33e0f Adds fallback_persistence_profile and all_policies to BIG-IP virtual servers (#20261)
This patch adds the ability for users to specify a fallback persistence
profile for their virtual servers and a list of policies for the VS.
2017-01-17 07:47:39 +00:00
Rene Moser
b9a1400df5 doc: changelog: new module dimensiondata_network 2017-01-17 08:20:35 +01:00
David M. Lee
b8dd4dd52b amazon: added boto3_conn to GUIDELINES.md (#20305)
* amazon: added boto3_conn to GUIDELINES.md

* Update GUIDELINES.md

Light edits. Good to go.
2017-01-16 21:00:45 -08:00
sirkubax
12628ed7e5 fix https://github.com/ansible/ansible/issues/20183 (#20217)
* fix https://github.com/ansible/ansible/issues/20183

* make it nicer
2017-01-16 21:05:54 -05:00
Matt Davis
883f7ed197 ensure win_reboot warnings value is a list 2017-01-16 14:28:18 -08:00
Matt Davis
c8970fc4e6 Merge branch 'win_reboot-fix' of git://github.com/dagwieers/ansible into HEAD 2017-01-16 14:11:27 -08:00
Adam Friedman
4b6201ce0d New dimensiondata network (#19325)
* Add dimensiondata_network module

* Remove shebang

* Use Python-2.4-compatible exception handling.

* Ok, add shebang back in.

* Add 'mcp_user' and 'mcp_password' parameters'.

As suggested by @abadger, these values will now be used for CloudControl credentials, but will fall back to existing behaviour (environment variables and dotfile).

* Minor fixes based on feedback for ansible/ansible#19325.
2017-01-16 13:49:10 -08:00
Maarten Bezemer
1f1379ea61 Support forced SSL-verified connection with given CA certificate 2017-01-16 12:17:10 -08:00
Toshio Kuratomi
09ceaafd42 Removal wildcard import and unnecessary exception retrieval 2017-01-16 12:12:00 -08:00
Brian Coca
06e30485ea moved univention into cloud 2017-01-16 14:43:17 -05:00
Dag Wieers
7be39ca553 Windows modules: Add -type "path" to path parameters (#20282)
This PR is based on #20164 functionality to specify the parameter type
(e.g. as done for python modules).

In this case only -type "path" has a specific meaning, as it will expand
environment variables for paths. Which is typically done on Windows.

So you can do:

  - win_copy:
      src: files/some.doc
      dest: '%UserProfile%\My Documents'
2017-01-16 11:39:58 -08:00
Matt Davis
b773ae4291 Preserve exit code in winrm exec (#20166)
Raw winrm exec discards the exit code from external processes- this change preserves the exit code if present.
2017-01-16 11:21:48 -08:00
James Cammarata
af96cba7e1 Fix for bug in Conditional for older jinja2 versions
Fixes #20309
2017-01-16 13:06:09 -06:00
Dag Wieers
b369ea570a win_shortcut: Create, manage, remove Windows shortcuts (#20164)
* win_shortcut: Create, manage, remove Windows shortcuts

This modules manages Windows shortcuts and all its properties.

The module is idempotent and supports check-mode.

This relates to #19694

* Changes required after @nitzmahone review

* Added -type "path" to parameter definitions

* Small fixes

- Add conversion from window style name to window style id
- Fix error message output (Why didn't the original work ?)
2017-01-16 10:51:56 -08:00
Brian Coca
32b7f85f6c clarified docs on timezone module 2017-01-16 11:05:36 -05:00
Jasper Lievisse Adriaanse
b0e23049a0 Timezone: Support for FreeBSD/NetBSD and improve SmartOS handling (#20268)
* Tweaks for SmartOS:

- prevent attempting from changing timezone in the global zone (read-only)
- provide meaningful error message in the unlikely case smtools isn't present

* Add support for FreeBSD and NetBSD to timezone module
2017-01-16 10:54:39 -05:00
nerzhul
90d94bd6db vmware_guest: doc fix 2017-01-16 10:09:52 -05:00
Dag Wieers
439ef46898 vmware_guest: networks definition as a list (#19857)
* vmware_guest: networks definition as a list

Currently the networks definition is a dict, with the network range as
key. This is problematic if the network information is coming from other
sources.

This patch turns the networks definition into a list.

This fixes #19222.

* Remove the option to provide either netmask or network

It is more concise if there's only one way to configure it.
So provide both `ip` and `network`.

(I also re-indented a section due to a useless check)

* Fix bugs reported by @dav1x

Thanks !
2017-01-16 09:30:37 -05:00
Dag Wieers
20df62ab31 vmware_guest: Various fixes and changes
Changes missing from a poor merge probably, but also a few new things.
- Reordered the examples from important (often used) to less important
  (fewer used)
- Remove the new_name: option and replace it with the uuid/name
  combination for renaming + added example
- Added an example using the VM uuid instead of the VM name
- Also check whether the password is non-empty (rogue merge)
- Wait for all tasks to finish (to be sure the new facts reflect the
  state)
- Ensure that on failure we still set the change-bit
- Moved a set of functions that are unused (related to transfering
  files to guest, or running commands) to module_utils
2017-01-16 09:26:17 -05:00
Peter Sprygada
efda0323be fixes the timeout source in network_cli (#20302)
Timeout should be taken from the play context not the constants.  this change
updates network_cli to source timeout from the correct place
2017-01-16 09:15:46 -05:00
Dag Wieers
bd793b85bf Fix typo in my example (#20293)
I noticed I was missing the -f flag to make this work correctly.
2017-01-16 14:12:34 +00:00
jayme-github
f813a8474b Allow the use of paths like ~/.project.json (#16064)
* Allow the use of paths like ~/.project.json

This makes it easy to manage credentials files outside of the repo
(and/or user specific credentials).

* Fix format string to log credentials_file.
2017-01-16 09:10:16 -05:00
Peter Sprygada
2c197343f3 adds timeout check when network_cli run without persistence (#20299)
* checks if signal hander is set and sets it if not (will be set if coming
  from ansible-connection)
* will now timeout long running commands based on DEFAULT_TIMEOUT setting
2017-01-16 08:32:45 -05:00
Mohammed Naser
ca9387dc0b Pop password from os_user params
The password param conflicts with os-client-config's password grabbing.
The rest of the params really probably should also be popped - but
keeping this just to password for now. Will follow up with a change that
does an audit of all the os_ modules

This patch was previously contributed by @emonty to the former
ansible-modules-core repo however since the merge, it was closed
and not completed.  This patch includes the necessary changes cleaned
up to work with the latest release of Ansible.  This has been
tested to work internally
2017-01-14 08:32:27 -05:00
James Cammarata
b7cdc21aee Additional security fixes for CVE-2016-9587 2017-01-13 16:22:53 -06:00
Tobias Wolf
f1ae2eb4f1 systemd: Add boolean option to enable --no-block
In our environment we have custom services that need to be stopped and
restarted very gracefully to not interrupt active sessions.

A stop job, depending on the state, can take up to 20 minutes until the
process exits. It simply reacts to SIGTERM with a graceful shutdown.

By default, systemctl blocks until the job has completed, which leads to
Ansible hanging on this task for up to 20 minutes.

Thankfully systemctl supports the `--no-block` flag which lets the job
continue in the background.

This PR adds support for that flag as the `no_block` boolean option.

From the man page:

   --no-block
       Do not synchronously wait for the requested operation to
       finish. If this is not specified, the job will be
       verified, enqueued and systemctl will wait until the
       unit's start-up is completed. By passing this argument,
       it is only verified and enqueued. This option may not be
       combined with --wait.
2017-01-13 16:26:06 -05:00
Dag Wieers
1ad55ec9de Consistent path attribute for file-related modules
Not all file-related modules consistently use "path" as the attribute to specify a single filename, some use "dest", others use "name". Most do have aliases for either "name" or "destfile".

This change makes "path" the default attribute for (single) file-related modules, but also adds "dest" and "name" as aliases, so that people can use a consistent way of attributing paths, but also to ensure backward compatibility with existing playbooks.

NOTE: The reason for changing this, is that it makes Ansible needlessly harder to use if you have to remember that e.g. the xattr module requires the name attribute, the lineinfile module requires a dest attribute, and the stat module requires a path attribute.
2017-01-13 15:49:42 -05:00
Brian Coca
08ef0aee25 removed bad iteration from execute meta (#19958)
* removed bad iteration from execute meta

most of the tasks should not be iterated over, others needed to include unreachable hosts
fixes #19673

* corrected host var
2017-01-13 14:51:39 -05:00
Jasper Lievisse Adriaanse
e9038d8dc1 Add support for OpenBSD and SmartOS to timezone module 2017-01-13 14:45:54 -05:00
Jasper Lievisse Adriaanse
64692e7a89 Annotate boto3 dependency in the standard location. 2017-01-13 14:36:17 -05:00
Matt Martz
8928adf62e Updates uri to use six for isinstance comparison for py3 compatibility (#20239) 2017-01-13 13:16:21 -06:00
Matt Martz
d25a70846f Only add Content-Type if not specified in headers. Fixes #20046 (#20234)
* Only add Content-Type if not specified in headers. Fixes #20046

* Update documentation to indicate body_format will not override Content-Type if specified in headers
2017-01-13 13:19:38 -05:00
Jasper Lievisse Adriaanse
0988de8c4c Remove outdated requirements and add a note trying to reflect reality. 2017-01-13 12:16:23 -05:00
Brian Coca
1880027da1 better cleaning of module return, also warn
disallow any internal _ansible_ vars and also warn when those or any on the restricted list are attempted
harden and parameterize key cleaning
2017-01-13 12:12:56 -05:00
Mark Maglana
b598575213 module_utils/dimensiondata (#17604)
* Add dimensiondata.py in module_utils

This is required by the Dimension Data modules under
lib/ansible/modules/extras/cloud/dimensiondata

* Implement change requests from PR #17604

Requests are listed in:
 https://github.com/ansible/ansible/pull/17604#pullrequestreview-819380

* Changes requested for Ansible PR #16704.

As noted by @abadger:

- Use Py3-compatible import syntax for ConfigParser.
- Use comprehensions instead of filter function.
- Fix buggy comparison of False to 'False'.
- Change b_dict to block_dict.
- Fix invalid syntax for except block that handles multiple exception types.

* Additional changes requested for Ansible PR #16704.

As noted by @abadger:

- Missed a couple of places where we still had invalid exception-handling syntax.

* Remove shebang from dimensiondata.py (Ansible PR #16704).

* Switch to MCP_USER / MCP_PASSWORD.

This is consistent with other Dimension Data Tooling.

* Implement get_configured_credentials.

* Fix typo (missing comma).

* Unify get_credentials implementation (ansible/ansible#17604).

get_credentials will now look in environment, dotfile, and module configuration for credentials (in that order).

* Resolve user Id and password from module configuration before trying environment or dotfile (ansible/ansible#17604).
2017-01-12 20:50:43 -08:00
Ivan Bojer
c7638be525 new module to manipulate DAG table (#19885)
* new module to manipulate DAG table

* changes based on the review comments; remove unecessary if statements; change returned value docstring
2017-01-12 22:27:09 -05:00
Ivan Bojer
8b674cd903 Panos check module to test FW readiness to accept new configuration(s) (#19882)
* new module to check FW readines

* added missing parameter

* changes based on the review comments; remove unecessary if statements; change returned value docstring
2017-01-12 22:26:19 -05:00
Ivan Bojer
05adfd6d8c new panos module that allows for NAT policy creation (#20161)
* - panos module that allows NAT policy creation

* remove terciart operator

* minor doc changes
2017-01-12 22:24:29 -05:00
Peter Sprygada
6ef9a0af4b fixes up doc strings in ios modules (#20210) 2017-01-12 21:48:58 -05:00
Will Thames
4bfed06514 Make ModuleArgsParser more understandable (#13974)
* Make ModuleArgsParser more understandable

Both comments and method names for handling new/old
style parameters are switched around

Made comments and method names reflect actual code paths
taken.

* Further improve mod_args.py comments

Ensure output formats are correctly documented,
remove some of the 'opinion' about which formats are
valid, and try and clarify the situations under which
certain code paths are hit.

Stop talking about the YAML command-type form as 'extra
gross' when it's the documented example form for command
etc.!
2017-01-12 18:22:54 -08:00
defunct
92b26a28b8 Update ec2_ami_copy to boto3, fix encrypted support (#20009)
* Update ec2_ami_copy to boto3, fix encrypted support

* docs, backwards compat options, more verbose exception handling

* minor option changes, fix documentation

* update documentation
2017-01-12 19:39:32 -05:00
Peter Sprygada
fec773a2b4 better error handling and log messages in network_cli (#20204) 2017-01-12 19:31:35 -05:00
Matthew Dawson
0ffacedb3e Fixes #3539 "win_robocopy does not return changed properly" (#20158)
* Fixes #3539 "win_robocopy does not return changed properly"

Remove .win_robocopy from $result so that ansible can see the values properly. This also matches up with the existing documentation.

* Update documentation to match new return values
2017-01-12 15:04:14 -08:00
Jasper Lievisse Adriaanse
232cb764da Add RETURN section, fix identation and apply flake8 recommendations (#20148) 2017-01-12 14:58:07 -08:00
Tareq Alayan
e40ad1ac17 cloud: ovirt: add ability to override luns (#20144)
Add the ability to wipe used luns when adding new iscsi storage
2017-01-12 14:13:50 -05:00
Brian Coca
8c6b5621f8 deal with remote_src and tmp dirs properly
fixes #20128
2017-01-12 14:10:11 -05:00
Boris Manojlovic
02b548dba2 add AIX mounts information (#10431)
* add support for AIX mount facts

* add nfs mount support for AIX mount facts

* make nfs parsing a bit more resilient and correctly parse options if provided

* self.module.xxx call instead of wrong module.xxx
2017-01-12 13:15:08 -05:00
Brian Coca
74421f42e1 ansible doc does not need plugin deprecation error 2017-01-12 13:09:15 -05:00
Jasper Lievisse Adriaanse
2ea5bb8dbb Fix required_one_of in timezone module (#20185) 2017-01-12 16:35:14 +00:00
Alvaro Aleman
1b2ad94496 Configurable fact path (#18147)
* Make fact_path configurable

* Add docs for fact_path

* Add tests for localfacts

* Default fact gathering settings in PlayContext
2017-01-12 10:49:04 -05:00
Brian Coca
f078946ed3 no calls plz 2017-01-12 10:35:26 -05:00
Brian Coca
e35a757ee7 fixed typo 2017-01-11 21:11:12 -05:00
William Shallum
1e2bd3d483 maven_artifact: Make default repository_url work again (#19194) 2017-01-11 18:59:00 -05:00
Michael Kwardakov
0183a148c5 Update cronvar.py (#19227) 2017-01-11 18:56:34 -05:00
Michael Scherer
6221327b13 Add DHCP leases to the facts return by the module (#19700)
On RHEL 6, where the feature is not present, this will
be ignored and return nothing.
2017-01-11 18:38:38 -05:00
Toshio Kuratomi
eeebd51f21 Rename the type filter to type_debug
Because we add the names of all filters to the callable whitelist used
by safe_eval, adding a filter named type makes it so code calling "type()"
gets eval'd.  We can't think of a way to exploit this but it's
sufficiently sketchy that we're renaming it in case someone smarter than
us can think of a problem.
2017-01-11 14:48:21 -08:00
Peter Sprygada
4cdb266dac adds iosxr_system declarative module (#20134)
* adds new module iosxr_system
* adds unit test cases for module
2017-01-11 17:17:37 -05:00
Jamie Lennox
27d218f85d Don't use rsync-path in synchronize with docker
When you become: with synchronize and docker it sets the rsync-path to
"sudo rsync" to launch rsync on the server as root. Unfortunately due to
docker exec doing stricter argument parsing than ssh this fails to
launch rsync on the server and the sync fails.

For docker though we don't need to launch rsync with sudo we can simply
docker exec -u <user> and rsync as normal to get around the problem.

Closes #20117
2017-01-11 14:01:11 -08:00
James Cammarata
a94a48f85f Partial revert of 76f7ce55 2017-01-11 15:53:04 -06:00
James Cammarata
d316068831 Additional fixes for security related to CVE-2016-9587 2017-01-11 15:53:04 -06:00
Computest
bcceada5d9 Fixing another corner case for security related to CVE-2016-9587 2017-01-11 15:52:58 -06:00
Toshio Kuratomi
80357e07de Add some comments about how we're cleaning callables 2017-01-11 13:16:08 -08:00
rmarsa
1d80a8dbfb Added the ability to set the size of the boot volume. (#19703)
* Added the ability to set the size of the boot volume.

* Made disk_size parameter of type int with 10 default.
2017-01-11 16:08:31 -05:00
Matt Clay
cd3fdca540 Switch tests to pytest and ansible-test.
- Replace nose usage with pytest.
- Remove legacy Shippable integration.sh.
- Update Makefile to use pytest and ansible-test.
- Convert most yield unit tests to pytest parametrize.
2017-01-11 12:34:59 -08:00
Toshio Kuratomi
027b126b42 Remove _clean_data_struct() advice as that was a 1.x design
data now goes through this extra cleaning in the template rather than
being an explicit other step.
2017-01-11 11:43:56 -08:00
ansibot
36c79709a4 Merge pull request #20136 from tareqalayan/fix-documentation-ovirt-cloud
cloud/ovirt: minor fix on documentation
2017-01-11 14:42:17 -05:00
Robin Roth
4976429e42 Zypper: Fix update_cache in checkmode (#20143)
Fixes #20139

Refresh does not support dry-run, so don't run it in check mode.
Also add a test for this case.
2017-01-11 18:47:16 +00:00
Robin Roth
e4bfc2b84c Add ZYPP_LOCK_TIMEOUT environment example (#20130)
Retries to require lock for zypper operation.
2017-01-11 18:30:18 +00:00
BRAMILLE Sébastien
110753502e Update rds_subnet_group.py 2017-01-11 12:37:31 -05:00
Tareq Alayan
ebf3c41275 cloud: ovirt: 'glusterfs' as default for vfs_type
When storage type is glusterfs, the vfs_type will be glusterfs as well,
there is no need to specify it since there is no other valid value.
2017-01-11 19:26:40 +02:00
ansibot
e8718f34ee Merge pull request #20001 from pwae/devel
fixes for handling of different return codes from robocopy in win_robocopy module
2017-01-11 12:21:59 -05:00
Ondra Machacek
11b2662f60 cloud: ovirt: add support for OVN network (#20122)
This PR add support to add OVN external network in
external providers module.
2017-01-11 10:39:37 -05:00
Jasper Lievisse Adriaanse
b384a0f795 timezone: Tidy up docs and arg parsing (#20133)
* Small tweaks for timezone module:

- small textual fixes
- ensure the generated docs list either hwclock or name as required
  by using a non-generated value for required_one_of

* Update docs with the DOCUMENTATION block about either name/hwclock being required
2017-01-11 15:22:27 +00:00
Peter Sprygada
7c6916f8d1 refactors iosxr shared module to use network_cli (#20132)
This refactors the iosxr shared module to make use of the network_cli
connection plugin and removes the dependency on the shared shell
module.  This change will break current modules until the modules
are updated.
2017-01-11 09:46:38 -05:00
Peter Sprygada
a3cc24efb2 adds get_block_config() method to NetworkConfig
new method that will return the config block string for the
specified config path
2017-01-11 07:51:00 -05:00
Andrew Spiers
0a0013e1eb spelling of Extraneous (#20116) 2017-01-11 12:18:06 +00:00
Michał Masłowski
5a1395a486 sns_topic: Do not attempt to unsubscribed deleted subscriptions (#20086) 2017-01-11 06:57:24 -05:00
John R Barker
8fe09d4ea9 net_command: formatting (#20121)
* net_command: formatting

* Update net_command.py
2017-01-11 08:22:19 +00:00
TaoBeier
6ec0369c26 fix indent (#20071) 2017-01-10 18:47:03 -08:00
Toshio Kuratomi
1786c81a65 Previous fix to this failed to account for open_url returning a filehandle (#20097)
* Previous fix to this failed to account for open_url returning a filehandle

Fixes the bugs introduced by c6fb355

* read() from HTTPError for python-3.6+

HTTPError is funny.  It contains a filehandle to read the response from
and also makes it available via a read() method.  On earlier versions of
python (2 and 3) the read() method was enough to make it work with
json.load().  The newer version of json.load() needs a more complete
file interface than this and has stopped working.  Read the bytes,
transform to str and pass it in manually to fix it.
2017-01-10 18:14:20 -08:00
Dag Wieers
239e2ae7e9 win_reboot: survive an already scheduled shutdown
These changes ensure win_reboot can survive an already scheduled
shutdown by pre-empting it.

This fixes #19982
2017-01-11 00:07:30 +01:00
Dag Wieers
b7594070b3 win_reboot: display message before rebooting (#19986)
Show a message to users when rebooting the system.

TODO: Look if this message is logged in the EventLog properly, if not,
fix that :-)
2017-01-10 13:59:39 -08:00
Brian Coca
f9f99ddfbc updated docs to suggest quote filter for shells
Also changed comments into -name in examples where appropriate.
2017-01-10 16:19:22 -05:00
Gaëtan Duchaussois
f5c61650a7 Add information about lookup file constraint. 2017-01-10 13:20:00 -05:00
Romain Richard
e341135431 Duplicated line in the documentation of the apt_repository module
Removing that extra line.
2017-01-10 12:28:37 -05:00
Toshio Kuratomi
c6fb355b58 Convert all results from open_url() into text before deserializing the json. (#20069)
Fixes #20012
2017-01-10 08:35:08 -08:00
Willem van Ketwich
1ee69c07cc New module (cloud): cloudfront_facts (#19727)
* initial commit of cloudfront_facts.py

* modification as per review from @georgepsarakis

* fixed shippable build error

* fixed shippable build error

* removed wildcard imports and replaced with specific imports from ansible.module_utils.ec2 as advised by @georgepsarakis

* renamed all instances of cloud_front_origin_access_identity to origin_access_identity as advised by @georgepsarakis

* added input option requirements where missing. fixed a typo in an error message, added '.' to the end of sentences.

* fixed typo in documentation

* simplified paginated_response method as advised by @georgepsarakis

* set default option to list_defaults when no option specified as advised by @ryansb

* bumped version to 2.3 as advised by @ryansb

* removed double-nesting of ansible_facts as advised by @ryansb

* show facts based on alias and distribution id for easy referencing as advised by @ryansb. have done for both distribution and distribution_config

* made comments clearer

* fixed incorrect logic for default list_distributions, fixed list_distributions_by_web_acl - wasn't passing web_acl_id, fixed list_invalidations keyword args missing DistributionId

* neatened up logic for list_distributions default

* facts now return Etag as well as specific facts. modified paginated_response to handle this. also all requests that use distribution id also list the facts under the corresponding alias now.

* fixed last fact added clobbering all previous facts for an alias or an id

* removed list_ prefix from list keys

* removed unnecessary boto fields. made list_distributions and list_streaming_distributions dictionaries with id/alias as key. fixed list_invalidations.

* fixed incorrectly named list_distributions_by_web_acl to ..web_acl_id. added id/alias dict for list_distributions_by_web_acl_id

* minor doc changes

* removed merge tag

* fixed more of merge
2017-01-10 11:27:54 -05:00
Jamie Lennox
0533b3d639 Add additional information to the get_url SSL failure message. (#20025)
When get_url or other functions receive an SSL failure it prints a
standard message regardless of the failure. Include the actual OpenSSL
message in the error message so alternative failures can be debugged.

Closes: #20024
2017-01-10 08:22:43 -08:00
Toshio Kuratomi
8ae29a5a80 Remove the redundant get_exception import 2017-01-10 08:19:54 -08:00
Dag Wieers
560831752e Defined get_exception() (#20087)
This fixes #20080
2017-01-10 08:18:51 -08:00
Ner'zhul
16a1585ffc vmware_guest: Fix customvalues when VM doesn't exists (#20094) 2017-01-10 11:07:42 -05:00
Brian Coca
3ceff2f9b3 added missing import 2017-01-10 10:37:55 -05:00
Ner'zhul
7603ae33b5 vmware_guest improvements: annotations & customvalues (#20052)
* Idempotency fix on annotations permitting to change them on reconfiguration
* Permit to set VMware customvalues attributes on VM
* Gather annotation & customvalues and report it into module facts
2017-01-10 09:10:48 -05:00
Dag Wieers
aca60f1776 vmware_guest: various customizations changes and fixes (#19975)
* vmware_guest: various changes and fixes

Most of my queued changes were already implemented by @aperigault !

This was still open
- Typos
- Various fixes to dict.get() without quotes
- Defaults to fullname and orgname (so they are no longer mandatory)
- Add missing timezone implementation
- Remove the customize flag from the options
- Rename 'customizations' to 'customization' (cfr VMware docs and fora)

* Important fixes for idempotency and customization

- A password is mandatory for customization to work on Windows !
- An important fix for idempotency related to guestId
- Support all types of Windows guestId entries

* Suggestion by @aperigault

* Small documentation fixes
2017-01-10 08:34:38 -05:00
René Moser
bcf9cd1e2a cloudstack: cs_iso: fix async poll for state=absent (#20050) 2017-01-10 12:06:13 +01:00
John R Barker
3c4623d68b dellos9__config -> dellos9_config 2017-01-10 10:47:13 +00:00
Ivan Bojer
8d29406d74 new panos module that adds arbitrary service to the FW (#19896)
* new module that adds arbitrary service to the FW

* change exception handling

* minor code changes based on the review comments
2017-01-09 23:50:38 -05:00
Ivan Bojer
f8f388bdaf Panos mgtconfig (#19897)
* new module to manipulate mgmt interface

* new module for mgmt interface management

* minor code changes based on the review comments
2017-01-09 23:50:03 -05:00
Ivan Bojer
178e11473a new panos module to load configuration file (#19902)
* new module to load configuration file

* minor code changes based on the review comments
2017-01-09 23:48:59 -05:00
Ivan Bojer
23349ed638 new panos module for profile groups (#19904)
* new module for profile groups

* minor code changes based on the review comments
2017-01-09 23:48:40 -05:00
Adrian Likins
cf7b1108ff Fix 'No module named network' net_template error (#20060) 2017-01-09 23:45:52 -05:00
Brian Coca
afbe3bd63f corrected service condition 2017-01-09 15:44:53 -05:00
James Cooke
fafe5bba59 Fix authorized_key crash in Python3 with remote key file (#20037)
* Decode downloaded keys bytes if Python3
* Fixes #20007
* Thanks @georgepsarakis
2017-01-09 12:21:51 -08:00
Adam Števko
ebd7e03425 Add ipadm_addr module (#19411)
* Add ipadm_addr module

* Add ANSIBLE_METADATA
Document return values
Make imports explicit
Use native YAML syntax in EXAMPLES

* Fix version to 2.3
2017-01-09 14:32:05 -05:00
Evan Kaufman
ad9c25a54f Apply SELinux context only if cron_file param exists
Use selinux calls in module_utils/basic instead of native selinux bindings

Fixes #18768
2017-01-09 14:02:05 -05:00
Adam Števko
07a517aebd Add dladm_vlan module (#19412)
* Add dladm_vlan module

* Add ANSIBLE_METADATA
Document return values
Make imports explicit
Use native YAML syntax in EXAMPLES
2017-01-09 12:32:23 -05:00
Adam Števko
a677f40457 Add dladm_linkprop module (#19413)
* Add dladm_linkprop module

* Add ANSIBLE_METADATA
Document return values
Make imports explicit
Use native YAML syntax in EXAMPLES
2017-01-09 12:31:42 -05:00
Adam Števko
05bf7488cc Add dladm_iptun module (#19414)
* Add dladm_iptun module

* Add ANSIBLE_METADATA
Document return values
Make imports explicit
Use native YAML syntax in EXAMPLES
2017-01-09 12:30:42 -05:00
Valentín Gutiérrez
6c448d3673 Fix pamd module (#20048)
* Fix string_types usage

* Fix adding arguments for argument=value arguments

* Remove unnecesary check on module_args

* Fix argument requirements

* Proper handling of parameter=value arguments
2017-01-09 09:30:32 -08:00
Adam Števko
457e94d21e Add ipadm_addrprop module (#19415)
* Add ipadm_addrprop module

* Add ANSIBLE_METADATA
Document return values
Make imports explicit

* Use native YAML syntax in EXAMPLES

* Add temporary
2017-01-09 12:29:56 -05:00
Adam Števko
7b71e9a0de Add ipadm_ifprop module (#19416)
* Add ipadm_ifprop module

* Add ANSIBLE_METADATA
Document return values
Make imports explicit
2017-01-09 12:29:24 -05:00
Ryan Brown
a2b4ad9da0 (docs) Remove/update mentions of git submodule in docs and error me… (#19941)
* (docs) Remove/update mentions of `git submodule` in docs and error messages.

* Remove parenthetical per @dharmabumstead
2017-01-09 12:11:39 -05:00
Marius Gedminas
0a7f2c202b Improve --diff output when files lack trailing newlines
The behavior now matches GNU diff.

Fixes #14094.

Example of output before this change:

    TASK [healthchecks.io : hourly healthchecks.io ping] ***************************
    changed: [ranka]
    --- before: /etc/cron.hourly/mg-healthchecks-dot-io
    +++ after: /tmp/tmpOTvXTw
    @@ -1,2 +1,2 @@
     #!/bin/sh
    -curl -sS https://hchk.io/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx > /dev/null+curl -sS https://hchk.io/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx > /dev/null

after this change:

    TASK [healthchecks.io : hourly healthchecks.io ping] ***************************
    changed: [ranka]
    --- before: /etc/cron.hourly/mg-healthchecks-dot-io
    +++ after: /tmp/tmpOTvXTw
    @@ -1,2 +1,2 @@
     #!/bin/sh
    -curl -sS https://hchk.io/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx > /dev/null
    \ No newline at end of file
    +curl -sS https://hchk.io/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx > /dev/null

The added unit tests contain more examples.

This commit also takes care to avoid "no newline at EOF" warnings when
no_log is in effect, and also when modules return dicts rather than
strings.  (It also removes trailing whitespace from using json
serialization when diffing dicts, because I hate trailing whitespace in
Python source files, even if they're test files.)
2017-01-09 11:49:03 -05:00
James Cammarata
a6fff93967 Fixing security bugs for CVE-2016-9587 2017-01-09 10:43:03 -06:00
Peter Sprygada
258c6ada52 refactors ios_config to use network_cli plugin (#20042)
* updates the ios_config module to use the network_cli plugin
* updates the local action plugin to derive from network
* add unit test cases for ios_config
2017-01-09 11:19:25 -05:00
Brian Coca
0ef60aeacb improved negative service status handling
This is still far from optimal but the nature of the initscripts does not really allow for much better.
fixes #20028
2017-01-09 11:09:11 -05:00
Michael Scherer
0847a137d3 Add a fact about apparmor, to see if that's loaded or not 2017-01-09 10:12:13 -05:00
Peter Sprygada
5bbab91452 fixes add() method in netcfg (#20041)
The add() method was not properly setting childen and parents objects
on instances of ConfigLine.  This only applied to the add method.  This
change fixes the problem by adding child and parent to the right
attribute.
2017-01-09 10:01:13 -05:00
Jiri Tyr
28050c1356 Update option desc of yum_repository module 2017-01-09 09:55:47 -05:00
Ner'zhul
c1f5432cc0 Better user report when OMAPI error occurs or key is invalid (#20035)
* Move imports after header
2017-01-09 12:40:53 +00:00
Ner'zhul
e87d6d8a70 Unbreak vmware_guest module which was break by 818ef493ad (#20036) 2017-01-09 11:29:18 +00:00
aperigault
8241675095 vmware_guest: Rename existing VM, or mark as template (#20018)
* vmware_guest: Add rename feature

* vmware_guest: Add feature to mark an existing VM as template
2017-01-09 09:37:36 +00:00
Adam Števko
d9ced3f4d1 Modules for gathering facts about ZFS datasets and pools (#19181)
* Add modules for gathering facts about ZFS datasets and pools

* Move zfs module to storage/zfs subcategory

* Replace dict.iteritems() with iteritems(dict)

* Add ANSIBLE_METADATA
Document return values
Make imports explicit
Use native YAML syntax in EXAMPLES

* Add zfs_facts and zpool_facts modules to CHANGELOG.md

* Add facts to return values
2017-01-09 07:53:42 +00:00
Adam Števko
3744764fae Add module for managing boot environments on FreeBSD/Solaris/illumos … (#19180)
* Add module for managing boot environments on FreeBSD/Solaris/illumos systems

* Add ANSIBLE_METADATA
Document return values
Make imports explicit
Use native YAML syntax in EXAMPLES

* Add beadm module to CHANGELOG.md

* Update version to 2.3
2017-01-09 07:52:06 +00:00
Adam Števko
69559c184d Gather uptime and device facts from Solarish systems (#18733)
* Gather device information on Solarish systems

* Gather uptime information on Solarish systems

* Fix typo in variable name

* Add comments and example output from kstat command
Use frozenset instead of set
Make parsing of line a little bit safer
2017-01-08 13:26:52 -08:00
Michael
583136980d Adding os_quota support to the OpenStack modules (#19590)
* Adding os_quota support to the OpenStack modules

* Updated descriptions in doc string

* Updated version_added to 2.2 based on CI test feedback

* ready_for_review

* Changed exit_json to remove updating host var facts

* Updated version_added and docs

* Added support for state:absent paramater

This includes:
- Updated the doc string with the paramater information
- Updated the example section showing how to reset a project quota
- Added code support to handle state:absent
- Encountered a bug in delete_network_quota where it returns
an error instead of the current quota. Added support code to
workaround that issue until a proper fix can be added.

* Updated security groups kwarg to reflect Neutron kwargs

* Updated iteritems to be items based on CI feedback

* Updated descriptions and import statements based on code review feedback

* Updated CHANGELOG.md to include os_quota under new mods.
2017-01-08 18:55:12 +00:00
Toshio Kuratomi
08d6990e67 Fix code-blocks to use correct syntax highlighting 2017-01-08 09:18:45 -08:00
John R Barker
01849004e9 Correctly link to modules (#20019) 2017-01-08 17:06:07 +00:00
Baptiste Mille-Mathias
d1bd526426 Document git module return values (#19485)
* Document git module return values

* Document git module return values

* Remove duplicate and added more variables
2017-01-08 15:33:51 +00:00
Fabio Alessandro Locati
2790999ee9 Add output (#19212) 2017-01-08 15:33:05 +00:00
Fabio Alessandro Locati
474c0dc87c Remove quotes - Cloud/azure/azure.py (#19206)
* Remove unused quotes

* Explicit is better than inplicit
2017-01-08 15:28:48 +00:00
Fabio Alessandro Locati
85f7d2b97a authorized_key: doc: Improve example description (#19209) 2017-01-08 12:28:29 +01:00
Scott Sinclair
de5d08a786 a copy of the pull request from ansible/ansible-modules-extras#3515 by @twistyWater
This fixes #19959 - exception throw when robocopy return_code is not 1 2 or 4.
2017-01-07 18:21:57 +11:00
Peter Sprygada
cba66dfedc update the _ios_template module to use the network_cli plugin (#19933)
* updates the deprecated ios_template module to use network_cli
* adds unit test cases for ios_template
* adds check for provider argument and displays warning message
2017-01-06 20:22:17 -05:00
Brian Coca
b7ad86acd0 only warn if non whitespace junk 2017-01-06 17:07:42 -05:00
Peter Sprygada
7d3366acc0 updates ios_command to use network_cli plugin (#19992)
* refactors ios_command to use network_cli
* adds unit test cases for ios_command
2017-01-06 17:06:40 -05:00
Gabriele
c980b52d33 Fixing issue when multiple vni exist (#19928) 2017-01-06 16:36:13 -05:00
Gabriele
f2baa6d61a fix nxos_facts to support multiple neighbors and modules (#19946) 2017-01-06 16:34:59 -05:00
Brian Coca
4672058b1f updated unarchive docs for url handling 2017-01-06 16:21:55 -05:00
Dag Wieers
c8d3dd9a15 Small fixes 2017-01-06 16:11:56 -05:00
Tom Melendez
89f232ad8a [GCE] gc_storage: add type parameter to expiration in argument_spec. (#19979)
Fixes ansible/ansible#19568
2017-01-06 13:27:47 -05:00
THEBAULT Julien
d1b38cb718 Fix tags documentation into rabbitmq_policy module 2017-01-06 12:51:44 -05:00
howinator
90002e06ae Add subnet associations to route tables dict
The main purpose of this PR is to add the subnet associations to the
dict returned by ec2_vpc_route_table_facts. This commit also
re-formats code to make it PEP8 compliant.
2017-01-06 12:30:54 -05:00
Will Thames
4bf7bf0b94 Add postgres-9.6 to rds_param_group module
Support postgres-9.6 as an engine choice for rds_param_group
2017-01-06 12:29:37 -05:00
Rene Moser
40c6191da6 win_template: fix key errors when --diff is used 2017-01-06 11:55:54 -05:00
John R Barker
40ecc3188f Use M() to link to the replacement module. (#19976) 2017-01-06 16:21:39 +00:00
aperigault
818ef493ad vmware_guest: Add windows customization support (#19866)
* vmware_guest: Add windows customization support

* vmware_guest: Move customizations inside separate function
2017-01-06 10:27:48 -05:00
James Hogarth
513466d309 add jenkins_script module for running arbitrary jenkins console scripts against a jenkins instance (#19640) 2017-01-06 15:12:24 +00:00
Olivier Boukili
b139a67c71 module_utils/vmware: added find_datastore_by_name helper function (#17538)
module_utils/vmware: exception catch for vcenter self-signed certificates
2017-01-06 09:11:25 -05:00
Ryan S. Brown
7a074b69a0 gce_net module: fail when no libcloud is found 2017-01-06 09:05:52 -05:00
Dag Wieers
00031e454e Sanitize folder path from the very start (#19929)
- If an absolute path is provided, ensure it starts with /vm
- Also ensure there are no trailing slashes

This gets rid of a few locations where the same was being done.
It also fixes the cases of multiple trailing slashes, or ending up with
/vm/ instead of /vm.
2017-01-06 09:05:10 -05:00
Toshio Kuratomi
ad1e066540 Transform exception with to_native instead of str 2017-01-05 18:16:32 -08:00
Andrew Grigorev
3fe8f70b08 Fix misleading SSL error message
The `except` block with exception matching throught
`if 'connection refused' in str(e).lower():` is funny,
but is not user-friendly.

Probably related issues:

- #15679
- #12161
- #9966
- #8221
- #7218

... and more
2017-01-05 18:13:44 -08:00
Toshio Kuratomi
0ee9972903 Fix constants to use environment variables in preference to config files 2017-01-05 17:11:51 -08:00
Angus Williams
f7d000fe74 Stops New-PSDrive commandlet producing output which was causing warnings (#19873) 2017-01-05 17:09:04 -08:00
Toshio Kuratomi
03510ec4ce Allow OSError to skip scriptdir removal
On Ubuntu the scriptdir gets placed into sys.path.  This makes some
modules (copy) fail because the ansible module gets loaded instead of
the stdlib copy module.  So we remove scriptdir there.  Unfortunately,
the scriptdir code uses abspath().  When pipelining, abspath() has to
find the cwd.  On OSX, finding the cwd when that directory is not
executable by the user raises an OSError.  Since OSX does not suffer
from the scriptdir problem we're able to just skip scriptdir handling if
we get that exception.

Fixes #19729
2017-01-05 15:50:56 -08:00
Ken Evensen
99e19ad617 Minor rework of pamd module. Fixed some documentation. (#19758)
* Minor rework.  Fixed some documentation.

* Requested changes in the case the arg is unicode
2017-01-05 15:48:24 -08:00
Toshio Kuratomi
5536ffe978 Fix OSX defaults for lists
In modern ansible, parameters default to string type.  This causes
issues for polymorphic parameters like this module's value param.  note
that this fix restores ansible-2.0 and previous behaviour but it is not
perfect.  If a parameter is specified via key=value or given on the
commandline then it will be a string before it reaches the module code.
There's nothing we can do about that.

Fixes #19585
2017-01-05 15:45:26 -08:00
Daniel
7cf9ee30a5 Removed 'no vn-segment' when state == 'absent' (#19952) 2017-01-05 22:03:46 +00:00
Brian Coca
08e0f6ada5 allow modules to set custom stats (#18946)
can be per run or per host, also aggregate or not
set_stats action plugin as reference implementation
added doc stub
display stats in calblack
made custom stats showing configurable
2017-01-05 16:38:36 -05:00
Emlyn Stokes
1154aca746 Paginate ASG results (#19944) 2017-01-05 16:12:30 -05:00
Jasper Lievisse Adriaanse
7793424b1b Add new module to manage SmartOS images through imgadm(1M) (#19696)
* Add new module to manage SmartOS images through imgadm(1M)

* Explain why check_mode is not supported

* Add imgadm module

* Incorporate feedback from abadger
2017-01-05 12:30:31 -08:00
Simon Wydooghe
6d9ca6c9d7 Simple typo fix (#19949)
Was reading the docs and spotted a typo.
2017-01-05 21:27:11 +01:00
Søren Kröger
3a2875739f Added active_connection_states parameter (#19775) 2017-01-05 10:57:22 -08:00
Toshio Kuratomi
95df8977b6 Fix yum install root (#19925)
* Reenable yum install root tests

No need for sos to test installroot.  Something with less deps works
just as well.

* Fix yum installroot.

Fix module import to use fail_json when the modules aren't installed.

Remove wildcard imports

* Lsat task is supposed to remove sos so make that happen
2017-01-05 10:42:43 -08:00
Toshio Kuratomi
22c9428776 eval() should be avoided when at all possible
eval can have security consequences.  It doesn't look bad here but it
does introduce unnecessary complexity and would make it harder if we
ever want to use static analysis to detect and prohibit eval.  So we
should get rid of it.

Note: this could be even more efficient if we combined the checks into
a single condition instead of looping but that does change the error
messages a bit.  For instance:
-        for arg in ('name', 'linode_id'):
-            if not eval(arg):
+        if not (name and linode_id):
+            module.fail_json(msg='name and linode_id are required for active state')
2017-01-05 10:41:49 -08:00
Samuel Boucher
ed624876d1 Update atomic_image.py (#19756)
Doc update typo
2017-01-05 10:33:05 -08:00
Dag Wieers
e1fe403075 Inform user that the yum metadata cache remains (#19753)
This PR improves the documentation so that it is clear that this module does
not clean the repository metadata cache on removal, and add an example
notification handler to the removal example as an extra reminder.

This fixes #19730
2017-01-05 10:30:37 -08:00
Dag Wieers
9ddcf16b4b vmware_guest: add support for more virtual NICs (#19932)
This patch adds support for all other virtual NICs, including:

 - pcnet32
 - vmxnet2
 - e1000e
 - sriov

Without this change, VMs with one of these NICs will fail with a
fault.NicSettingMismatch.summary error as it will only add interfaces,
not edit these.

This fixes #19860
2017-01-05 18:16:21 +01:00
Tyrone Tudehope
38d42e8b36 module is a property of the global object client (#19744)
Fixes #5466
2017-01-05 08:59:30 -08:00
René Moser
cb8cc51fdf cloudstack: new module cs_host (#19331) 2017-01-05 16:28:42 +01:00
Ted Timmons
12495e4b42 New module: aws_kms for managing access grants on AWS KMS keys (#19309)
New module by @tedder for handling granting/revoking access to KMS secrets. 

For example:

```
- name: grant user-style access to production secrets
  kms:
  args:
    mode: grant
    key_alias: "alias/my_production_secrets"
    role_name: "prod-appServerRole-1R5AQG2BSEL6L"
    grant_types: "role,role grant"
```
2017-01-05 09:42:59 -05:00
Peter Sprygada
5a14f1d705 adds new module ios_system (#19916)
adds new module ios_system
2017-01-05 09:02:29 -05:00
Toshio Kuratomi
cd2516bf8d Revert "Revert "Add --installroot to YUM and DNF modules, issue #11310""
This reverts commit b73ddd5212.
2017-01-05 00:24:20 -08:00
Matt Clay
b73ddd5212 Revert "Add --installroot to YUM and DNF modules, issue #11310" 2017-01-05 00:14:33 -08:00
Peter Sprygada
1c16c1db2b adds new module ios_vrf (#19915)
adds new module ios_vrf
2017-01-04 23:34:51 -05:00
Peter Sprygada
d182b271db updates netcfg and refactors Config class (#19920)
* refactors Config into network module
* fixes minor bugs with netcfg
2017-01-04 23:23:08 -05:00
Peter Sprygada
f842bc0b91 adds network_common shared module (#19919)
* support for ComplexList and ComplexDict
2017-01-04 23:17:41 -05:00
Peter Sprygada
6b7742fd75 Revert "cleans up the netcfg implementation" (#19917) 2017-01-04 22:55:16 -05:00
berenddeschouwer
1fdcda0996 Add --installroot to YUM and DNF modules, issue #11310 (#19861)
* Add --installroot to YUM and DNF modules, issue #11310

This continues ansible-modules-core#1558, and
ansible-modules-core#1669

Allow specifying installroot for the yum and dnf modules
to install and remove packages in a location other than /.

* Remove empty aliases

* Simpler installroot set default logic
2017-01-04 19:20:00 -08:00
Peter Sprygada
d424a0468a refactors ios shared module (#19850)
This allows the ios_* modules to take advantage of the new network_cli
connection plugin by refactoring the ios shared module.  Individual modules
need to be udpated as well
2017-01-04 21:52:56 -05:00
Peter Sprygada
630d10a27a updates action plugins for network_cli connection (#19849)
* net_config now subclasses action plugin network
* net_template now subclasses action plugin network

This will break existing modules until those modules have been refactored.
2017-01-04 21:52:46 -05:00
Peter Sprygada
fdb24bb5d7 cleans up the netcfg implementation (#19847)
* moves parse() into the instance
* removes old Config instance and supporting code
* adds net_common shared module
* minor tweaks to NetworkConfig class for parsing config files
2017-01-04 21:52:25 -05:00
Patrik Lundin
ee5364f983 openbsd_pkg: make "name" take a list.
This commit also adds the module to DEFAULT_SQUASH_ACTIONS which is
possible with this change.

The module still calls the pkg_* tools once per name internally, so the only
difference is less invocations of the module itself when using with_items.
2017-01-04 18:45:31 -08:00
Jiri Tyr
579b6a0f9d Changing author's e-mail for ldap_* modules (#19900) 2017-01-04 21:30:43 -05:00
Toshio Kuratomi
a33e34894b Move some modules into proper categories 2017-01-04 18:09:45 -08:00
Toshio Kuratomi
8469ea93d9 Remove unnecessary use of iteritems so that this compiles under python3 2017-01-04 17:39:34 -08:00
THEBAULT Julien
ee1dee08b6 Check the command result status in easy_install plugin (#16519) 2017-01-04 17:17:30 -08:00
Joe Adams
337ea4d65c Add pulp_repo module for interacting with repositories on a pulp server. 2017-01-04 17:12:49 -08:00
Ondra Machacek
8a3e80eb09 cloud: ovirt: add kernel boot parameters to vms module 2017-01-04 17:11:07 -08:00
Fabrizio Colonna
b6f9b0be1f Added arbiter support to gluster_volume module. 2017-01-04 17:09:24 -08:00
Andy Freeland
778a189a59 Fix letsencrypt remaining_days docs 2017-01-04 16:53:23 -08:00
Enis Ozgen
d4d9a48205 Fix typo in ec2_vpc_peer.py documentation 2017-01-04 16:51:26 -08:00
Paulo Matias
d51064a05e os_user: fix typo (self is not defined) 2017-01-04 16:47:43 -08:00
Sergio Millan
08b671990d Fixing Issue#18995 2017-01-04 15:24:32 -08:00
Toshio Kuratomi
f129977e2b Fix 4d355f8bf2
default values can contain nonstrings and those should not be converted
via to_text.
2017-01-04 14:35:05 -08:00
Toshio Kuratomi
91242b8cc3 Leave a comment that .format() can lead to security risks
Couldn't find any code that does this now but left a comment so that we
don't change something in the future without seeing that it could be
a problem.
2017-01-04 14:33:15 -08:00
Dag Wieers
ecaa0202b9 vmware_guest: assorted fixes and improvements (#19842)
A small collection of fixes and improvements:
- Simplify should_deploy_from_template()
- Bugfix for x.config that can be None
- Bugfix for mandatory guest_id (not when using templates)
- Simplify key testing and defaults
- Fix an incorrect reference to the last network
- Duplicate alias 'folder' removed
2017-01-04 17:25:09 -05:00
Toshio Kuratomi
02e3f4b526 Fix for atomic_move on RHEL5
When becoming an unprivileged user using non-sudo on a platform where
getlogin() failed in our situation we were not able to detect that the
user had switched.  This meant that all of our logic to use move vs copy
if the user had switched was attempting the wrong thing.  This change
tries the to do the right thing but then falls back to an acceptable
second choice if it doesn't work.

The bug wasn't easily detected because:
* sudo was not affected because sudo records that the user's have been
  switched so we were able to detect that.
* getlogin() works on most platforms.  RHEL5 with python-2.4 seems to be
  the only platform we still care about where getlogin() fails for this
  case.
* It had to be becoming an unprivileged user.  When becoming
  a privileged user, the user would be able to successfully perform the
  best case tasks.
2017-01-04 14:08:19 -08:00
Toshio Kuratomi
4d355f8bf2 Transform config values to text immediately when they enter ansible
Convert configuration values from ENV VARS, config files, and defaults
in constants.py.
2017-01-04 14:06:18 -08:00
Corwin Brown
9b7c9931db Issue #19575: Adding Dest Param to win_uri (#19577)
* Issue #19575: Adding Dest Param to win_uri

Added `dest` param to win_uri. Outputs the response body to a specified
file.

Addresses Issue #19575

* Was setting the wrong attribute
2017-01-04 13:33:47 -08:00
James Cammarata
a0b4d37dea Removing unused files in playbook/ directory 2017-01-04 15:17:15 -06:00
Brian Coca
92e8c53879 fixed id queries, should rely on effective 2017-01-04 14:23:26 -05:00
Jiri Tyr
1ff9b74e3d Adding ldap_attr module (#19286) 2017-01-04 14:11:02 -05:00
Toshio Kuratomi
e98c0a3009 Fix locale_gen to compare native strings rather than mixing byte and text strings
Fixes #19426
2017-01-04 10:11:33 -08:00
Adrian Likins
c771ab34c7 Add a encode() to AnsibleVaultEncryptedUnicode (#19840)
* Add a encode() to AnsibleVaultEncryptedUnicode

Without it, calling encode() on it results in a bytestring
of the encrypted !vault-encrypted string.

ssh connection plugin triggers this if ansible_password
is from a var using !vault-encrypted. That path ends up
calling .encode() instead of using the __str__.

Fixes #19795

* Fix str.encode() errors on py2.6

py2.6 str.encode() does not take keyword arguments.
2017-01-04 12:17:19 -05:00
James Cammarata
ac00c8a660 Fixing an iteration bug introduced by fed079e4 2017-01-04 10:34:06 -06:00
Ryan S. Brown
8772e4387b Update ec2_facts with new ap-south region 2017-01-04 10:27:48 -05:00
Kevin Houdebert
2ffb705049 Fix win_robocopy flags argument (#19603) 2017-01-04 14:27:24 +00:00
Matthew
45c57618b3 Have AnsibleModule raise a failure of git is missing in git_config module (#19676) 2017-01-04 14:23:21 +00:00
Rob
927218d99d Fix backward compat change - create custom required_together statement (#19642) 2017-01-04 14:11:56 +00:00
Kash
dceace6bb2 ecs_taskdefinition: Fix missing import camel_dict_to_snake_dict (#19560)
ecs_taskdefinition: Fix missing import camel_dict_to_snake_dict
2017-01-04 13:50:13 +00:00
Dag Wieers
fbec2ecaa8 vmware_guest: Do not match simply by folder (#19823)
This fixes #19077
2017-01-04 09:26:29 +00:00
Dag Wieers
0d9392a3bc vmware_guest: import iteritems (#19821)
Without this change you get this on Python 2.7.5:

    NameError: global name 'iteritems' is not defined
2017-01-04 09:12:29 +00:00
Toshio Kuratomi
0ca3800ae1 Fix traceback on Darwin with Python3
os.write() needs bytes objects on python3 while python2 can work with
either a byte or unicode string.  Mark the DUMMY_CA_CERT string as
a byte string so it will work.

Fixes #19265
Fixes #19266
2017-01-04 00:33:12 -08:00
Serhiy Martynenko
c7637992fe Fix #19189 django_manage bug with python3 filter() returning iterator insted of list 2017-01-03 22:41:43 -08:00
tedder
15e12d2cf2 git ssh wrapper: py3-compatability with strings
Wrap the fh.write(str) in b() to ensure the string is of the proper type in py2/py3. Otherwise, the following error occurs when using its ssh_wrapper:

    An exception occurred during task execution. The full traceback is:
    Traceback (most recent call last):
      File "/tmp/ansible_8r299r6t/ansible_module_git.py", line 1049, in <module>
        main()
      File "/tmp/ansible_8r299r6t/ansible_module_git.py", line 928, in main
        ssh_wrapper = write_ssh_wrapper()
      File "/tmp/ansible_8r299r6t/ansible_module_git.py", line 330, in write_ssh_wrapper
        fh.write(template)
    TypeError: 'str' does not support the buffer interface
2017-01-03 22:09:12 -08:00
Peter Sprygada
4937dd67e4 adds new feature to network_cli (#19848)
In some cases it is desirable to have a send only function that doesn't
wait for the response from the CLI (such as reloading a device).  This
adds a new key to the command json string sendonly that will
achieve this behavior.
2017-01-03 22:33:02 -05:00
Jacky Gao
08e2a5d4fb Contributing new module to manage HUAWEI data center CloudEngine switch. (#19793)
* HUAWEI data center CloudEngine switch module

* HUAWEI data center CloudEngine switch module

* HUAWEI data center CloudEngine switch module

* Update __init__.py

* Update __init__.py

* HUAWEI data center CloudEngine switch module

* HUAWEI data center CloudEngine switch module

* Update __init__.py

* Delete __init__.py

* HUAWEI data center CloudEngine switch module

* HUAWEI data center CloudEngine switch module

* modify init file

* Update cloudengine.py

* Update cloudengine.py
2017-01-03 22:30:59 -05:00
Ted
fd3ae0bf80 Add bigswitch big mon inline chain module (#18631)
* Add bigswitch util

* Add big switch big mon inline chain module

* Add required to access_token doc

* Add controller to doc

* Add validate_certs to doc

* Add author & metadata

* Add BSD license header
2017-01-03 22:26:34 -05:00
James Cammarata
fed079e4cb Fix role completion detection problem
When the same role is listed consecutively in a play, the previous role
completion detection failed to mark it as complete as it only checked to
see if the role changed.

This patch addresses that by also keeping track of which task in the role
we are on, so that even if the same role is encountered during later passes
the task number will be less than or equal to the last noted task position.

Related to #15409
2017-01-03 14:32:44 -06:00
Martin Bektchiev
1c13ddf7c8 Add @ to valid package name characters (#18862)
NodeJS formulae are now named node@<major_version>

E.g. https://github.com/Homebrew/homebrew-core/blob/master/Formula/node@6.rb
2017-01-03 21:05:37 +01:00
Arne Demmers
bd7466d56c Fix key lookup in gather facts flag. 2017-01-03 13:53:07 -05:00
Toshio Kuratomi
70e42f917d Add traceback information to fail_json in atomic move 2017-01-03 10:39:28 -08:00
Eric Lavarde
a601f2c6a3 Add warning to raw and script modules that there is no actual free_form parameter (like for command etc). 2017-01-03 11:46:50 -05:00
Marcos Diez
024e40d5f4 new lookup module: mongodb (#15057)
* new lookup module: mongodb lookup

* fix versionadded for MongoDB Lookup

* tests should run again

* removed use of basestring

* we don't use iteritems anymore

* run tests again

* run tests again2

* run tests again3

* run tests again4
2017-01-03 11:40:02 -05:00
Joseph Price
1ea86bc66a Clarify state=reloaded will start service 2017-01-03 11:34:07 -05:00
Dag Wieers
ffb80926ce Performance improvement using in-operator on dicts
Just a small cleanup for the existing occurances.

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
2017-01-03 11:31:38 -05:00
tmshn
6a6113e951 [timezone module] Return tzfile from _verify_timezone (fix #19745)
Modification picked from https://github.com/ansible/ansible-modules-extras/pull/3337
2017-01-03 11:20:38 -05:00
Tomáš Karásek
3ebbcbadcf 2 modules for Packet host: packet_device and packet_sshkey (#19005)
* Added 2 modules for Packet Host: packet_device and packet_sshkey

* Fixed comments from @mmlb

* Fixed comments from @gundalow

* Fix typos pointed by @gundalow

* Mention new Packet modules in the CHANGELOG.md
2017-01-03 16:10:17 +00:00
Alexander Gubin
fce9f4f679 shuffle filter: added optional 'seed' parameter 2017-01-03 11:08:36 -05:00
Ivan Bojer
f9385cb972 new module to change admin pwd through ssh (#19247)
* new module

* new ansible 2.3 requirements
2017-01-03 11:02:35 -05:00
Ivan Bojer
addb68f5ca panos_commit (#19244)
* new module

* added METADATA globe

* changed METADATA format from yaml to json
2017-01-03 11:01:31 -05:00
Ivan Bojer
660fab6bea panos_restart (#19245)
* new module

* support latest METADATA requirements
2017-01-03 11:00:15 -05:00
Leandro Lisboa Penz
0296f70f07 Don't use netconf's discard_changes when the device has no candidate cap (#19626)
The discard_changes netconf RPC requires the candidate capability.
We were getting an exception when configuring that kind of device.

Fixes #19529
2017-01-03 10:52:22 -05:00
Gabriele
c58278b1c2 Fixing nxos_ntp when no config exists (#19678) 2017-01-03 10:50:31 -05:00
mathieu bultel
962a592628 Add pacemaker cluster module for being managable with ansible (#19594)
* Add pacemaker cluster module for being managable with ansible

* fix yaml syntax in documentation

* Remove useless dependency

* Import AnsibleModule instead of import *
2017-01-03 15:50:00 +00:00
Ner'zhul
2c17f9becd vmware_guest: module rewrite to add many features & fixes (#19228)
* vmware_guest: various fixes, improvements & additions

* Add template_flag attribute to define if the destination machine is a
template
* Add helper class to create:
  * SCSI controller
  * Disks
  * Network devices
* New feature: create VM without using templates
* New feature: multiple NIC
* New feature: multiple disks
* New feature: custom SCSI controller types (default: paravirtual)
* New feature: NIC can now be E1000 or VMXNet3 (default)
* New feature: customize NIC mac address
* New feature: new disk option autoselect_datastore permit to select the less used datastore. If datastore field is provided, filter the datastore list before selection
* New feature: Implement disk resizing + addition when state=present and VM exists
* New feature: when state=present and vm exists, modify the current CPU, Memory and disk space
* New feature: add guest_id support permitting to customize & change current VM guest ID in VMWare
* New feature: resource pool support
* New feature: change VM configuration without recreating it (CPU, memory, disks, network, guest ID, resource pool)
* Add 'gatherfacts' state to gather facts on a VM instead of previous 'present' state ('present' ensure the VM configuration)
* Add PyVmomiCache class to cache read only object
* Various python code fixes
* Various documentation fixes
* esxi_hostname & cluster are now exclusive
* Drop ips attribute & set ip directly into networks
* Little performance fixes by removing some duplicate calls to VMWare API
* Python 3 portability fixes
* Create many functions to make the code maintainable
* Cleanup some useless attributes

* Add 'suspended' as desired state for VM

* Make guest_id, memory & CPU number optional in reconfiguration mode

* Note: guest_id is now mandatory to create a VM from scratch (not templating)

* Bux fixes + Do network IP optinal + Add network vlan option
2017-01-03 09:48:07 -05:00
Marius Gedminas
b0b7a636d8 authorized_key: support --diff (#19277)
* Refactoring: split readkeys() into readfile() and parsekeys()

* Refactoring: split writekeys() into writefile() and serialize()

* authorized_key: support --diff

* Refactoring: remove no-longer used readkeys()/writekeys()

* Integration test for authorized_key in check mode
2017-01-03 09:32:32 -05:00
Alexander Trost
5c36bd6714 Added set feature for OpenVSwitch bridges (#19692)
See old PR https://github.com/ansible/ansible-modules-extras/pull/2711
2017-01-03 10:01:09 +00:00
Brian Coca
425ab5598e fix wait_for example 2017-01-02 17:16:23 -05:00
Jasper Lievisse Adriaanse
0c0defb63d Recognize pkgin when installed in the global zone on SmartOS 2017-01-02 17:02:22 -05:00
Jonathan Juares Beber
0bf7a7321a fix mongodb_parameter
This is broken the module when using str parameters.

Value is already converted to int, if necessary at line 193
2017-01-02 07:46:21 -08:00
Ner'zhul
9f2d8c2409 Add omapi_host module (#19602)
This module managed DHCPd hosts using OMAPI protocol

Features:
* Add a host
* Remove a host
* Modify host IP (it's impossible to modify only mac or only hostname, this doesn't have any effect)
* Add custom DHCP attributes (at creation only)
2016-12-31 19:09:24 +00:00
Kash
8e0119b24c ecs_taskdefinition: more accurate description in doc (#19204) 2016-12-30 12:30:04 -05:00
Ondra Machacek
9a2b220005 ovirt: get default auth/connection params from environment vars (#19385)
* cloud: ovirt: add possibility specify auth params in env vars

* module_utils: ovirt: fix pep8 issues
2016-12-30 12:24:05 -05:00
Rob
36213e8b21 Fix to fail when task_definition or desired_count not defined and state=present, define that role is required with load_balancers parameter and a few pep8 fixes (#19490) 2016-12-30 10:50:09 -05:00
Ryan S. Brown
0228f741c3 Undo format changes 2016-12-30 10:42:33 -05:00
Rob White
62dfa2ad11 Add helper function so that IAM policies can be compared for equality and update s3_bucket to take advantage of helper function 2016-12-30 10:41:22 -05:00
Tom Paine
e66501b0b7 [docs] update ec2_ami_copy docs to clarify encrypted snapshots (#19641)
Docs formatting.
2016-12-30 10:37:25 -05:00
Tom Paine
7ba746dc1e Update ec2_ami.py (#19636)
- Consistent capitalisation in the descriptions
- Removed redundant 'optional' notes when this is covered by the Boolean `optional` column
- Clarified `instance_id` description
2016-12-30 10:36:29 -05:00
Ondra Machacek
ba9f6326f4 Documentation improvments of oVirt modules (#19668) 2016-12-30 10:35:26 -05:00
Lujeni
427cfd6162 Fix the certificates bodies compare into iam_cert module (#19684) 2016-12-30 10:34:18 -05:00
joernheissler
a5145a41a8 Add 3 new Amazon AWS regions (#19687) 2016-12-30 10:32:21 -05:00
Laurent Goujon
e2c50baf3f Fix broken ec2 volume creation breaks with older boto versions (#1773) (#19723)
Fix issue which prevents creating ec2 instance with extra volumes when
using a older version of boto not supporting volume encryption.

Fix issue #1173
2016-12-30 10:31:35 -05:00
Sean Summers
f8fa772a55 ec2_ami_find: set is_public to 'true' or 'false' (#19250)
* set is_public 'true' or 'false'

Despite being a boolean property, https://github.com/melta/boto/blob/master/boto/ec2/image.py:63 sets is_public = True only if the argument is passed in as the string 'true'. Likewise for False/'false'.

This is a workaround for that bug in boto2, to allow the documented parameter to work with valid yaml values.

fixes #5600

* only set is_public if true
2016-12-30 10:28:13 -05:00
Ivan Nikolov
fcb1a2b6cc Fixed ec2_eip.py when assigning a standard elastic IP. (#19238) 2016-12-30 10:27:04 -05:00
Chris Soyars
e0d4050612 ec2_facts: Add support for ca-central-1 (#19260) 2016-12-30 10:26:09 -05:00
René Moser
f101a9bd73 icinga2_feature: Set LANG since we rely on the output by using regex (#19742)
- remove common return
- add ANSIBLE_METADATA
2016-12-30 09:06:49 +01:00
kuboj
5e17eb3053 added os_aggregate module (#19374)
* added os_aggregate module

* various fixed to os_aggregate module

based on comments by @emonty (https://github.com/ansible/ansible-modules-extras/pull/2873)

* updated shade version requirement
2016-12-29 12:51:34 -05:00
Tom Melendez
7e88df7ebc Adding auth support for google-api-python-client and gcloud-python (#19090)
Support for the Google API and GCloud-Python Clients have been added.

The three libraries:
* GCloud-Python: A new function, get_google_cloud_credentials, should be used.  The credentials-object returned can be passed to any gcloud-python client.  Using this client library requires in the installation of gcloud-python.  This is preferred library for new modules.

* Google API: A new function, gcp_api_auth, should be used to take advantage of services requiring this client.  This client library should be used if the desired functionality is not available in GCloud-Python.  Using this library requires the installation of google-api-python-client.

* libcloud: Existing function, gcp_connect, should be used.  The interface and return values have not changed and existing modules (such as gce, gce_pd and gce_net) should work without modification.  Note that the credentials-fetching code has been refactored out of gcp_connect so that can be reused by all connection functions. To use this function, apache-libcloud must be installed.

Import guards have been added and will only be trigger if a user tries to use a function that is missing dependencies.

Credential-specifying mechanisms (i.e, ansible module params, env vars and libcloud secrets.py) have not changed.  They have been refactored and unit tests have been added to allow for changes going forward. We are deprecating (and removing in a subsequent release) the ability to specify credentials via the libcloud secrets file.  Also, we have deprecated (and also plan to remove in a subsequent release) the ability to use a p12 pem file for a key - the JSON format is strongly preferred.  Deprecation warnings have been added for both of these issues (see the Ansible docs on how to disable deprecation warnings).
2016-12-29 12:33:52 -05:00
Ner'zhul
65f0155d8a Add icinga2_feature module (#19732)
This module permits to tell icinga to enable or disable features
2016-12-29 14:05:22 +00:00
Gaël Lambert
647bf4eceb doc: fix indentation in amazon/rds.py example docs (#19734)
Actual doc give this error

```
fatal: [localhost]: FAILED! => {
    "changed": false,
    "failed": true,
    "invocation": {
        "module_args": {
            "command": "facts",
            "register": "new_database_facts"
        },
        "module_name": "rds"
    },
    "msg": "unsupported parameter for module: register"
}
```

Register should be at the module `rds` level and not at args level in this example :

```
 - rds:
     command: facts
     instance_name: new-database
-    register: new_database_facts
+  register: new_database_facts
```
2016-12-29 08:46:40 -05:00
Tom Melendez
d09ad82e71 Add regex support to gce_tag module, add unit tests and update integration test. (#19087)
The gce_tag module can support updating tags on multiple instances via an instance_pattern field.  Full Python regex is supported in the instance_pattern field.

'instance_pattern' and 'instance_name' are mutually exclusive and one must be specified.

The integration test for the gce_tag module has been updated to support the instance_pattern parameter.  Unit tests have been added to test the list-manipulation functionality.

Run the integration test with:

TEST_FLAGS='--tags "test_gce_tag"' make gce

Run the unit tests with:

python test/units/modules/cloud/google/test_gce_tag.py
2016-12-29 08:45:20 -05:00
George Brighton
a10209cbe9 iptables: Fixes invalid ip6tables option (#19657)
fixes #19656
2016-12-27 08:27:22 +01:00
Jun Guo
31526595c5 docker_image: docs: won't be pushed to private registry without push parameter. (#19691) 2016-12-27 08:15:12 +01:00
Jasper Lievisse Adriaanse
2eb8f4cc70 Add new 'clean' and 'quick' parameters, correspondig to -c and -q in pkg tools (#19680) 2016-12-26 20:57:37 +01:00
Monty Taylor
0bb7149e17 Merge pull request #19653 from Thingee/verify_openstack_images
Verify image exists when passed for open stack server creation
2016-12-26 13:15:20 -06:00
ABond
47c0c71002 Minor grammar change in Digital_Ocean Module doc (#19674) 2016-12-25 00:24:54 +01:00
Matt Davis
f96ac8bff0 fix multiple handler notifications (#19655)
Fixes #19647
Adds integration test to catch multiple handler notifications
2016-12-22 21:33:24 -08:00
James Cammarata
78d4f6bbc1 Removing print debug statements 2016-12-22 19:14:20 -06:00
Tom Booth
a37bc3788b runner_on_async_failed missing arg
missing and argument from CallbackModule
2016-12-22 16:55:46 -08:00
Michael Scherer
dc71f28642 Handle color on multiple line in a cleaner way
When using ansible deployment on git push, git insert "remote:"
at the start of ansible output. If you force the color on ansible,
the "remote:" also get colored if the string to display is on
more than 1 line.

This change make sure that each end of line reset the color, instead
of reseting only at the end of the string.
2016-12-22 16:01:29 -08:00
Timur Vasyunin
5365b81d14 Fix for import 'display' in lib/ansible/plugins/lookup/filetree.py 2016-12-22 15:51:39 -08:00
slohse
27cce305e6 iocage connector that wraps around jail connector. (#17986)
Added iocage connector that extends the jail connector. Uses iocage to translate iocage tags or UUIDs/partial UUIDs to the actual jail name and then uses the jail connector for actual functionality.
2016-12-22 15:34:47 -08:00
azenk
f2458140f6 Lastpass lookup plugin (#16285)
This plugin can be used with the lpass cli interface for lastpass.
[lastpass-cli](https://github.com/lastpass/lastpass-cli)

Example:
Add a lookup to your playbooks/variables somewhere:
```
some_variable: "{{ lookup('lastpass','Some Lastpass entry name or ID', field='username') }}"
```
Usage:
* start a lpass session prior to using ansible
* run ansible
* logout when finished

```
lpass login user@domain.com
ansible-playbook foo.yml
lpass logout
```
2016-12-22 14:47:33 -08:00
Mike Perez
6d32dba3c3 Verify image exists when passed for server creation
If the image doesn't exist, we should fail and raise the error clearly. Fixes #18921
2016-12-22 22:37:59 +00:00
Rob Cutmore
1da6a67c50 Add tests for Git remote URL changes (#16893)
* Update Git tests for set remote URL changes
* Git: report changed when needed in check mode
2016-12-22 13:46:47 -08:00
Sorin Sbarnea
4ebd763de0 py3 compatibility fix reported on #17038 (#19569)
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2016-12-22 11:56:46 -08:00
Nathaniel Case
f7cf96e1a6 fix junos typo (#19648)
closes #19646
2016-12-22 14:56:12 -05:00
Brian Coca
6f5ecb7efd warn when examined group_vars is not dir 2016-12-22 12:39:31 -05:00
Rob
69c14bd003 New module - iam_role (#19486)
* New module - iam_role

* Change policy type to json. Remove wildcard import
2016-12-22 13:58:38 +00:00
Hugh Ma
5b07bbfcfc Stacki host module (#19532)
* moving stacki module to remote_management

* updating docstring with force_install info
2016-12-22 13:53:05 +00:00
Gregory Shulov
6c3de3c299 Initial Commit for Infinidat Ansible Modules (#19429)
* Initial Commit for Infinidat Ansible Modules

Skip tests for python 2.4 as infinisdk doesn't support python 2.4

Move common code and arguments into module_utils/infinibox.py

Move common documentation to documentation_fragments. Cleanup Docs and Examples

Fix formating in modules description

Add check mode support for all modules

Import AnsibleModule only from ansible.module_utils.basic in all modules

Skip python 2.4 tests for module_utils/infinibox.py

Documentation and code cleanup

Rewrite examples in multiline format

Misc Changes

Test

* Add Infinibox modules to CHANGELOG.md

* Add ANSIBLE_METADATA to all modules
2016-12-22 13:18:19 +00:00
Gordon Gao
d9e1e374b2 let chdir support relative path in more modules (#16736) 2016-12-22 00:19:50 -08:00
James Cammarata
b688f11474 Correctly set loader path when using list tags/tasks
Fixes #19398
2016-12-21 21:01:02 -06:00
bart2
cdb35f4ce2 Fixes #16936 - Digest authentication not working in uri module (#18736) 2016-12-21 18:11:42 -08:00
James Cammarata
85bbce9d6b Wrap unhandled errors from lookups in an AnsibleError
This provides better error handling, and prevents errors like KeyError
from bubbliing up to code in odd places.

Fixes #17482
2016-12-21 11:48:18 -06:00
James Cammarata
d70d279c4e Also fix default callback to use ignore_errors param
Rather than the value in the task, which may not be templated.

Related to #18289
2016-12-21 11:37:06 -06:00
Matt Clay
446888ef41 Switch from iteritems to items for py3. 2016-12-21 09:22:54 -08:00
Ganesh Nalawade
0d06b77970 Add 'update' parameter in junos_config module (#19046)
* Add update parameter in junos_config module which supports
configuration action like merge, replace and overwrite.

* Add support for replace along with update
argument
2016-12-21 11:56:55 -05:00
James Cammarata
dd0257b995 Template "original_task" fields in _process_pending_results
Since we no longer use a post-validated task in _process_pending_results, we
need to be sure to template fields used in original_task as they are raw and
may contain variables.

This patch also moves the handler tracking to be per-uuid, not per-object.
Doing it per-object had implications for the above due to the fact that the
copy of the original task is now being used, so the only sure way is to track
based on the uuid instead.

Fixes #18289
2016-12-21 10:09:06 -06:00
Brian Coca
7faa041636 added file flag preservation to atomic_move
preserves existing flag info if possible
2016-12-21 10:56:40 -05:00
Brian Coca
3691c784d2 fix check mode for all options
also simplified code paths and changed import away from *
fixes #19476
2016-12-21 09:36:46 -05:00
Jiri Tyr
91094ec96c Adding ldap_entry module (#19285)
* Adding ldap_entry module

* Introducing explicit option for LDAP attributes

* Fixing requirements of attributes option
2016-12-21 07:37:28 +01:00
Nehal J Wani
e907622121 jenkins_plugin: doc: Specify version as string (#18858)
If the plugin version expected is, say '1.20', then specifying it
as...
    version: 1.20
... will make the YAML parser interpret it as a float, and the
value obtained by the module will be 1.2 instead of 1.20, which
will cause downloading of wrong version of the module.

This patch updates the docs so that users don't face this issue.
2016-12-21 07:32:23 +01:00
Brian Coca
8c5d321a23 simplified unsafe writes 2016-12-20 15:54:10 -05:00
Adrian Likins
727ca6f436 Fix error on 'help module' in ansible-console (#19390)
If 'help xattr' for example, ansible-console would
traceback because module_docs.get_docstring() now
returns 4 values (module metadata was added)
2016-12-20 15:50:29 -05:00
Brian Coca
ebf835045f unique error messages to avoid confusion 2016-12-20 15:25:59 -05:00
Adrian Likins
ab560df15f Fix 3 char indent on AnsibleModule._unsafe_writes (#19542) 2016-12-20 10:36:17 -05:00
Adrian Likins
388510f379 Fix missing imports from sysctl module
This module was missing an import of get_exception()
and had an unused import of 're'
2016-12-20 10:23:48 -05:00
Matthew Gamble
8292cadc7f Tell pacman not to display progress bars
Displaying progress bars is not recommended for any scripted usage of
pacman, such as the ansible pacman module.
2016-12-20 09:47:25 -05:00
Ganesh Nalawade
c3c4ae87dd Add 'update' parameter in junos_config module (#19038)
* Fix # #5839 Add 'update' parameter in junos_config module

Add update parameter in junos_config module which supports
configuration action like merge, replace and overwrite.

* Fix documentation issue

* Fix review comment to add replace argument

Make replace and update argument mutually
exclusive, to support replace for backward
compatibility.
2016-12-20 07:27:26 -05:00