Commit graph

24944 commits

Author SHA1 Message Date
Felix Fontein
41de2855ae Remove elements= from arg_spec when type is not 'list'. (#50484) 2019-01-09 19:40:17 +05:30
Ricardo Carrillo Cruz
3e91ec28b8
Checkpoint access rule (#49937)
* WIP checkpoint_access_rule module

* Add fixes and docstrings

* Add dunder init

* Fix sanity tests issues

* Fix sanity test

* Add RETURN and EXAMPLES

* Fix example

* Fix pep8

* Add tests

* Fix pep8

* Fix pep8
2019-01-09 11:25:18 +01:00
mindrb
260285a73f zabbix_host_facts: get list of templates (#50007)
Get list of templates among other items. It is useful because later one can edit this list using zabbix_host module.
2019-01-09 05:12:32 -05:00
René Moser
33d888210b
zabbix: fix author's github handle (#50700) 2019-01-09 10:45:31 +01:00
Alex Stephen
c22fbd9ddf New module: gcp_bigquery_dataset_facts (#50677) 2019-01-08 20:26:06 -05:00
Alex Stephen
1d747649e6 New module: gcp_bigquery_table_facts (#50679) 2019-01-08 20:25:47 -05:00
Jordan Borean
13a2a8b5f6 win_psexec: added the pid return value to the docs (#50664) 2019-01-09 01:28:03 +01:00
Renato Orgito
6f9bca9de3 Add auth_timeout parameter when supported by paramiko (#50448)
* Add auth_timeout parameter when supported

Paramiko 2.2 introduces the auth_timeout parameter. This will set the
parameter to the same value of the timeout parameter to prevent
"Authentication timeout" errors.

* Conditionally add auth_timeout to ssh.connect

Renamed sock_kwarg to ssh_connect_kwargs and conditionally added the
auth_timeout parameter based on the installed paramiko version.

* Add changelog fragment
2019-01-09 01:25:17 +01:00
trogdor_the_burninator
1dac10e5c3 Add AIX support to reboot module (#50353)
* Add ability for reboot module to work for AIX

* changelog for AIX reboot support
2019-01-08 18:12:30 -05:00
Kairo Araujo
3ec469f904 Included support to AIX group of subsystems on service module (#33043)
* Included support to AIX group subsystems

AIX systems has subsystems as services but also uses group
subsystems.
For example, spooler is a group subsystem to services
qdaemon, writesrv, and lpd.
This change enables the possibility to use also the group
susbsystmes such as spooler, nfs, etc.

When the service name is informed, first the module will
check if the name is a subsystem, if not it will check if
the name is a group subsystem and also it subsystems states.

This change makes services more flexible with AIX systems.

* Included test/legacy/aix_services.yml for tests

As discussed on IRC ansible-devel channes, was include the
legacy tests for further manual tests.
2019-01-08 17:41:58 -05:00
Matt Martz
7a89d373ac Perf graphing (#46346)
* csv of memory usage

* Fix var

* Configurable output file

* Add cpu profiling

* Valdiate the existence of cgroup files

* Add guard to prevent exception when trying to reset max memory value

* to_bytes/to_text and docs updates

* Add support for CPU results

* Just track the max, don't log all results, and then calculate max

* Restore cgroup_memory_recap, and move new functionality into cgroup_perf_recap

* Add pid count tracking, restructure to support more profilers

* Add cli tool for graphing cgroup_perf_recap data

* csv_output_dir is a path

* Correct CALLBACK_NAME

* Include uuid in csv data

* fix linting errors

* Bump version_added

* Create helper funciton to create dict from list of keys, with callable default

* Updated notes to include pids

* Print a newline after each section

* Plugin improvements

* Add option to supporess recap display
* Add default for output directory
* Add option to dictate whether or not to write files
* Add JSON-seq output option

* s/uuid/task_uuid

* Use bytes for paths

* Increase polling interval length for pids/memory

* Reduce instance attrs, change how we invoke profilers

* Shorten some line lengths

* Remove more instance attrs

* Fix some typos

* document directory creation, and catch exceptions

* Enable per task file outputs, and filename customization

* s/per_task_file/file_per_task/g
2019-01-08 13:29:22 -05:00
Brian Coca
207848f354 avoid x2 setting of set_fact when 'cacheable' (#50564)
* avoid x2 setting of set_fact when 'cacheable'

  fixes #50556

* ammend docs to new behaviour

* added period
2019-01-08 10:12:49 -05:00
Richlv
c7f3829ad4 Update zabbix_action.py (#50582)
* Document "host_groups", "templates" and "inventory" operation parameters.
* Fix a couple of typos.

Fixes #50581

+label: docsite_pr
2019-01-08 10:11:48 -05:00
rwinand
2dbade4adc Introduce 'insertbefore' and 'insertafter' to specify the position (#44811)
* Introduce 'insertbefore' and 'insertafter' to specify the position children have to be inserted.

* Added version_added to new options

* Xpath in example needs single quotes

* Added integration tests for insertafter and insertbefore

* Changed version_added to 2.8
2019-01-08 15:38:51 +01:00
Steve C
1793cad07b fix ip address tokenization bug in eos_static_route module (#43151) 2019-01-08 09:11:43 -05:00
Piotr Wojciechowski
1f28ecd276 docker_node_facts: Read information about swarm node from swarm manager (#50571)
* docker_node_facts: New module to read information about swarm node from swarm manager

* Update lib/ansible/modules/cloud/docker/docker_node_facts.py

Co-Authored-By: WojciechowskiPiotr <23406016+WojciechowskiPiotr@users.noreply.github.com>

* Update lib/ansible/modules/cloud/docker/docker_node_facts.py

Co-Authored-By: WojciechowskiPiotr <23406016+WojciechowskiPiotr@users.noreply.github.com>

* Update lib/ansible/modules/cloud/docker/docker_node_facts.py

Co-Authored-By: WojciechowskiPiotr <23406016+WojciechowskiPiotr@users.noreply.github.com>

* docker_node_facts: min_docker_api_version and docker updated to align with Docker documentation

* docker_node_facts: Updated documentation and minimum version requirements

* docker_node_facts: Updated documentation of requirements

* Update lib/ansible/modules/cloud/docker/docker_node_facts.py

Co-Authored-By: WojciechowskiPiotr <23406016+WojciechowskiPiotr@users.noreply.github.com>

* Update lib/ansible/modules/cloud/docker/docker_node_facts.py

Co-Authored-By: WojciechowskiPiotr <23406016+WojciechowskiPiotr@users.noreply.github.com>

* Update lib/ansible/modules/cloud/docker/docker_node_facts.py

Co-Authored-By: WojciechowskiPiotr <23406016+WojciechowskiPiotr@users.noreply.github.com>

* Update lib/ansible/modules/cloud/docker/docker_node_facts.py

Co-Authored-By: WojciechowskiPiotr <23406016+WojciechowskiPiotr@users.noreply.github.com>

* Update lib/ansible/modules/cloud/docker/docker_node_facts.py

* Update lib/ansible/modules/cloud/docker/docker_node_facts.py

Co-Authored-By: WojciechowskiPiotr <23406016+WojciechowskiPiotr@users.noreply.github.com>
2019-01-08 13:00:59 +00:00
Trishna Guha
1400d161c0
fix eos_l2_interface invalid command (#50644)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-01-08 17:27:20 +05:30
Nijin Ashok
449fdf44b9 ovirt_storage_connection: Fix issue in detaching the connection (#50005)
Currently deleting the storage connection just tries to delete the
connection but it doesn't detach the connection from storage domain.
The patch first tries to detach the connection from storage domain
before attempting to delete the same if the storage domain parameter
is provided.
2019-01-08 06:53:20 -05:00
Nilashish Chakraborty
7845373f96
New Module: vyos_ping (#50193)
* New module for vyos ping functionality

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add some new parameters

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Need spaces

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix pylint errors

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix pylint errors

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix docs

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix docs

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix docs

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-01-08 10:42:24 +05:30
Ganesh Nalawade
1e09e21ba1
Fix issue in junos and bigip action plugins (#50636)
*  tmp is not required to be passed to in run()
   within action plugin
2019-01-08 08:43:15 +05:30
vpiserchia
774a667591 Add Devuan Support for ascii release - resolve 49615 (#49616)
* Add Devuan Support for ascii release - resolve 49615

* Devuan Ascii does not have the VERSION_ID in the /etc/os-release file, we need to set NA
2019-01-07 17:08:01 -05:00
Gaudenz Steinlin
35f17bf4c2 Cloudscale volume (#49887)
* Cloudscale integration test setup

CloudProvider and CloudEnvironment classes for Cloudscale integration
tests. This also contains a cloudscale_common role with common
variables for all tests.

* cloudscale_volume module

New cloud module to manage volumes on the cloudscale.ch IaaS service.
2019-01-07 22:29:01 +01:00
Semyon Deviatkin
618caf2168 add env variable VAULT_AUTH_METHOD (#50572) 2019-01-07 22:13:00 +01:00
Dag Wieers
100988899a xml: Improve documentation and examples (#50602)
This PR includes:
- Type information for parameters
- Added 'seealso' section to documentation
- Improve examples
2019-01-07 14:46:51 -06:00
Nathaniel Case
19d7197d97
Copy detailed logging to persistent.py so local can benefit, too. (#50614) 2019-01-07 15:46:31 -05:00
feran
1d3d6a3e2d archive: Fix check if archive is created in path to be removed (#29420) 2019-01-07 09:43:30 -08:00
Toshio Kuratomi
eb4249c7da Fix for the new 2.8 feature to have modprobe check for builtins.
uname output includes a newline.  strip() the newline so that the
filepath we construct points to the right place.
2019-01-07 09:05:50 -08:00
Dag Wieers
2d890105f1
raw is transport-agnostic
+label: docsite_pr
2019-01-07 16:53:27 +01:00
Martin Krizek
6d604f9b01 Allow for vaulted templates in template lookup (#49819)
Fixes #34209
2019-01-07 10:06:01 -05:00
Ricardo Carrillo Cruz
f9079274e7
Checkpoint httpapi plugin (#49929)
* Add checkpoint httpapi plugin and access rule facts module

* WIP checkpoint_access_rule module

* Add publish and install policy, plus fix empty json object request for publish

* Refactor publish and install_policy onto module_utils

* Add update resource logic

* Add checkpoint_host_facts module

* Return code and response on get_acess_rule function

* Add checkpoint_host module

* Add checkpoint_run_script module

* Add checkpoint_task_facts module

* Show all tasks if no task id is passed

Note, this is only available on v1.3 of Checkpoint WS API

* Add update logic to checkpoint host

* Add full details on get task call

* Add checkpoint httpapi plugin

* Fix pep8

* Use auth instead of sid property and return False on handle_httperror method

* Fix version in docstring

* Remove constructor

* Remove Accept from base headers

* Do not override http error handler and assign Checkpoint sid to connection _auth

There is scaffolding in the base class to autoappend the token, given
it is assigned to connection _send

* Use new connection queue message method instead of display

* Remove unused display

* Catch ValueError, since it's a parent of JSONDecodeError

* Make static methods that are not used outside the class regular methods

* Add missing self to previously static methods

* Fix logout

Was carrying copy pasta from ftd plugin

* Remove send_auth_request

* Use BASE_HEADERS constant

* Simplify copyright header on httpapi plugin

* Remove access rule module

* Remove unused imports

* Add unit test

* Fix pep8

* Add test

* Add test

* Fix pep8
2019-01-07 14:02:29 +01:00
Martin Krizek
82c95e07b5
Fix searchpath in the template lookup (#50488) 2019-01-07 11:33:39 +01:00
Zim Kalinowski
98b0ef370d
adding module azure_rm_virtualmachinescalesetinstance_facts (#50440) 2019-01-07 15:15:30 +08:00
rajaspachipulusu17
a1e1a42341 Pluribus Networks module for connection stat settings with UT's (#50186)
* Pluribus Networks module for connection stat settings
2019-01-07 10:40:39 +05:30
Steve Boyd
9693a55286 (action/script) Fix windows absolute path detection when executing powershell script (#50365) 2019-01-07 06:44:54 +10:00
Richlv
9093ca1f3b Improve style and fix typos in the Zabbix module titles and descriptions (#50575) 2019-01-06 01:33:54 +01:00
Kairo Araujo
fc6d85e4cf new module: Configure LVM and NFS file systems for AIX (#30810)
* new module: AIX LVM file system and NFS

This module creates, removes, mount and unmount LVM and NFS file system
for AIX using /etc/filesystems. For LVM file systems is also possible
to resize the file system.

* better parameters options structure

better parameters options structure

* Improved file system resize returns

Added better tratment for return codes for file system resize.
When a resize is not possible because no enough space on lv or
shrink is not allowed.

* improved doc and creation file system return code

- improved doc
- creation file system return code 10 was treated.

* Doc recomendations, dict result, line limit

- Added doc recomendations
- Changed return to dict results on main()
- Using 159 columns for code limit

* wrong changed return when file system is already

Fixed wrong changed return when file system is already mounted.
When the file system is already mounted the return for changed
is False.

* Fixed description and included playbook for tests

- Fixed description
- Included playbook for manual tests

* Various small bits to get this merged ASAP

* Rename test/legacy/aix_filesystem.yml to test/integration/targets/aix_filesystem/tasks/main.yml

Move integration test to its proper location

* Create aliases

* Fix CI issues
2019-01-05 02:18:12 +01:00
Matt Martz
9abeecb6d4
Add new AnsibleTemplateError to more easily catch templating issues (#50563)
* Add new AnsibleTemplateError to more easily catch templating issues. Fixes #50154

* Add changelog fragment
2019-01-04 14:33:05 -06:00
Wojciech Wypior
96f7cf394f Corrects doc strings in bigip_asm_policy_* modules (#50561) 2019-01-04 14:24:42 -06:00
Wojciech Wypior
4648a441d2 adds bigip apm policy import (#50559) 2019-01-04 13:50:50 -06:00
Wojciech Wypior
7362c1d6ca Changes exists() method logic in asm policy fetch, corrects documentation (#50560) 2019-01-04 13:47:56 -06:00
Wojciech Wypior
8b1214596a adds apm policy fetch module (#50534) 2019-01-04 12:32:06 -06:00
Jordan Borean
b967f4dcc1 dnf/yum - added install_weak_deps option (#50525)
* dnf/yum - added install_weak_deps option

* skip creating weak dep packages if rpm doesn't support it

* fix rpm check for older hosts
2019-01-04 11:37:59 -05:00
Ganesh Nalawade
555732f8bb
Fix junos terminal error regex (#50538)
*  Change junos terminal error regex to read error string
   correctly.
2019-01-04 17:38:07 +05:30
Trishna Guha
97621852db
add privileged role validation for nxos become (#50312)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-01-04 16:29:36 +05:30
Ganesh Nalawade
71113ee291
Fix backup issue in network config modules and network action plugins common code refactor (#50301)
* Fix backup issue in network config modules

*  Fix `get_working_path` not found issue introduced due to
   backup config code refactor (PR #50208)

*  Further refactor config related action plugins to minimize
   duplicate code

*  Remove unwated imports in config action plugins

* Add common network class for action plugin and related code refactor

* Fix review comment
2019-01-04 16:06:13 +05:30
UNR Information Security
8f55e817d2 Correct Errors in Documentation (#50507)
* Correct Errors in Documentation

According to the module, "compose" is not required, but the docs said it was - removed the "required" tag. Additionally, the example for removing a stack did not include the required "name" option (this method is why "compose" is not required.
+label: docsite_pr

* Removed change to description

Corrected issue to my "correction" on the description.

* Removed required false

* Removed all instances of required: false.
2019-01-04 05:16:15 -05:00
Yunge Zhu
83da2de9a0
azure_rm_webapp: fix updating app settings (#49181) 2019-01-04 16:32:36 +08:00
Lunik
06f0cde97d remove forced lowercase on group_name (#50445) 2019-01-04 03:06:54 -05:00
Arne Jørgensen
15fb9d3bc0 Fix lastpass lookup error
Fixes #42062.
2019-01-03 23:56:41 -08:00
Sumit Jaiswal
189fcb37f9
Added new module to support NIOS Fixedaddress DHCP property (#49119)
Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* nios fixedaddr new module

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* updating name

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* added unit tests

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-01-04 13:00:12 +05:30
Abhijeet Kasurde
bc6cd13874
Handle exception raised in recursive_finder API (#49590)
User module can contain Indentation errors or syntax errors.
Handle AST exceptions rather than showing traceback while importing such module.

Fixes: #21707

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-04 10:33:37 +05:30
Richlv
73ffe683b2 Update documentation for mysql_db notes (#50444)
* Simplify the requirement section to avoid duplicating info already in mysql_document_fragment.
* Package installation section simplified, mentioned RHEL; a typo fix in "than".
* added dnf for Fedora
2019-01-04 08:40:57 +05:30
Toshio Kuratomi
27c7d5bb01 Move the arguments module into cli/ and context_objects into utils
* Note: Python2 is not as intelligent at detecting false import loops as
  Python3.  context_objects.py cannot be added to cli/arguments because it
  would set up an import loop between cli/__init__.py,
  cli/arguments/context_objects.py, and context.py on Python2.

ci_complete
2019-01-03 18:12:23 -08:00
Toshio Kuratomi
ed8e60d804 Cleanups and fixes to cli
* Mark methods which are really functions as staticmethod
* Fix calls to other staticmethods to use the subclass rather than the
  base class so that any inheritance overriding will be honored.
* Remove unnecessary logic and dead code
* Fix a typo in a docstring of how to implement subclass init_parser()
  methods
* Call superclass's post_process_args in ansible-doc
* Fix copyright comment according to suggested practice
2019-01-03 18:12:23 -08:00
Toshio Kuratomi
7e92ff823e Split up the base_parser function
The goal of breaking apart the base_parser() function is to get rid of
a bunch of conditionals and parameters in the code and, instead, make
code look like simple composition.

When splitting, a choice had to be made as to whether this would operate
by side effect (modifying a passed in parser) or side effect-free
(returning a new parser everytime).

Making a version that's side-effect-free appears to be fighting with the
optparse API (it wants to work by creating a parser object, configuring
the object, and then parsing the arguments with it) so instead, make it
clear that our helper functions are modifying the passed in parser by
(1) not returning the parser and (2) changing the function names to be
more clear that it is operating by side-effect.

Also move all of the generic optparse code, along with the argument
context classes, into a new subdirectory.
2019-01-03 18:12:23 -08:00
Toshio Kuratomi
afdbb0d9d5 Save the command line arguments into a global context
* Once cli args are parsed, they're constant.  So, save the parsed args
  into the global context for everyone else to use them from now on.
* Port cli scripts to use the CLIARGS in the context
* Refactor call to parse cli args into the run() method
* Fix unittests for changes to the internals of CLI arg parsing
* Port callback plugins to use context.CLIARGS
  * Got rid of the private self._options attribute
  * Use context.CLIARGS in the individual callback plugins instead.
  * Also output positional arguments in default and unixy plugins
  * Code has been simplified since we're now dealing with a dict rather
    than Optparse.Value
2019-01-03 18:12:23 -08:00
Toshio Kuratomi
c18da65089 Add a CLIArgs Singleton class that will hold the parse cli arguments 2019-01-03 18:12:23 -08:00
Toshio Kuratomi
5844c8c7f0 Cleanups to the common.sys_info API
* Move get_all_subclasses out of sys_info as it is unrelated to system
  information.
* get_all_subclasses now returns a set() instead of a list.
* Don't port get_platform to sys_info as it is deprecated.  Code using
  the common API should just use platform.system() directly.
* Rename load_platform_subclass() to get_platform_subclass and do not
  instantiate the rturned class.
* Test the compat shims in module_utils/basic.py separately from the new
  API in module_utils/common/sys_info.py and module_utils/common/_utils.py
2019-01-03 16:21:09 -08:00
Dag Wieers
f90ec17465
ACI: Implement encoded query_string (#50358)
This requires urldecode support in Ansible
2019-01-04 00:38:57 +01:00
Dag Wieers
f45c41ef3e urldecode filter for Jinja2 (#28503)
* urldecode filter for Jinja2

We needed this in order to deconstruct correct URLs using Jinja2.
And we might as well upstream this.

* Add integration tests

* Fixes for Python 3

* Add urlencode for older Jinja2
2019-01-03 18:06:13 -05:00
Matt Martz
3b49bbcfde Give IncludedFile more context via ansible_search_path (#50045)
* Give IncludedFile more context via ansible_search_path to template lookups. Fixes #49969

* Update units
2019-01-03 16:13:02 -05:00
Jordan Borean
63e454a4b2 dnf - fix conf_file loading (#50515) 2019-01-03 15:25:58 -05:00
drewmullen
04a9a887d5 allow for vault enterprise namespaces (#50462)
* enable namespaces feature for hashi_vault lookup

* include version_added dict in options documentation
2019-01-03 11:51:13 -05:00
Dag Wieers
d863027159 Windows: Add missing parameter types and doc fixes (#50232)
* Windows: Add missing parameter types and doc fixes

This PR includes:
- Adding missing parameter types
- Various documentation fixes

* Update lib/ansible/modules/windows/win_copy.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/windows/win_credential.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/windows/win_domain_computer.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/windows/win_domain_user.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/windows/win_environment.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/windows/win_psexec.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/windows/win_uri.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/windows/win_wait_for.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Ensure docstrings are raw strings
2019-01-03 10:50:44 -06:00
Peter Kirby
5a8aa7ca1f Fixes #37209 - Added complex return value, instance (#49989) 2019-01-03 09:48:25 -06:00
Richlv
ff4af614e1 Update zabbix_action.py (#50490)
* Add trailing dots for consistency.
* Document how the current host can be specified for "run_on_hosts".

+label: docsite_pr
2019-01-03 10:15:21 -05:00
Abhijeet Kasurde
ae404d1476 gcp: documentation update (#50183)
* gcp: documentation update

* Update example about dynamic inventory
* minor typo fixes in gcp_utils
* Additional information about enabling inventory plugin in ansible.cfg

partially fixes: #44404

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-03 10:02:46 -05:00
Ondra Machacek
362e603eb3 ovirt_host: Improve failed upgrade check (#50489) 2019-01-03 08:52:37 -05:00
Wojciech Sciesinski
df93e08d6a Add choices of the state parameter documentation (#50481)
* Add choices of the state parameter documentation

* Consistency
2019-01-03 14:39:39 +01:00
lolcube
e295315ef7 add openssh_cert module (#49605)
* add openssh_cert module

* fix some linter issues

* address review feedback

* add basis for integration tests

* change valid datetime formats

* handle principals as set not as list

* handle principals as set not as list

* handle principals as set not as list
2019-01-03 17:06:22 +05:30
Felix Fontein
5c5cd2dc4d openssl_*: prevent error when path includes no path (#50322)
* Prevent error when path includes no path.

* Add changelog.
2019-01-03 17:04:46 +05:30
Felix Fontein
a5bf71ac6a openssl_csr: idempotency doesn't work correctly for keyUsage (#50361)
* Fix key usage idempotency bug.

* Extend tests.

* Add changelog.
2019-01-03 17:04:24 +05:30
Felix Fontein
6b33c588d0 docker_swarm_service: Fix typo for option type (#50483)
* Fix typo for option type in docker_swarm_service.

* Add changelog.
2019-01-03 17:03:59 +05:30
Joseph Benden
d810acf7a5 Add support for Kali Linux detection. (#50331)
Signed-off-by: Joseph Benden <joe@benden.us>
2019-01-03 09:43:24 +05:30
Adam Miller
ca084889c7 fix order of dnf api operations so transactions don't fail (#50038)
* fix order of dnf api operations so transactions don't fail

Previously dnf.base.fill_sack() was called before
dnf.base.update_cache() which apparently breaks dnf transaction
logic as per https://bugzilla.redhat.com/show_bug.cgi?id=1658694

Fixes #49060

Signed-off-by: Adam Miller <admiller@redhat.com>

* add changelog and test case

Signed-off-by: Adam Miller <admiller@redhat.com>
2019-01-02 17:50:06 -05:00
Wojciech Wypior
3ef71e529a added new module to manipulate signatre sets on ASM policy (#50209) 2019-01-02 13:12:08 -06:00
Wojciech Wypior
78e81b2965 fixed a bug in transform_name (#50213) 2019-01-02 13:10:51 -06:00
Eric L
69deb73803 Fix firewalld module failing on missing protocol. (#50242)
Under Python 3.7 at least, the split of the port field fails
ungracefully if there is no slash. The fix also addresses the
case of an empty protocol after the slash.
2019-01-02 11:09:42 -06:00
Remi Verchere
23706dbc20 Add support for NRDP notifications (#39297)
* Add support for NRDP notifications

* Correct pep-8 check, adding copyright

* Correct pep-8 check using autopep8

* Update nrdp to 2.6 version

* Update nrdp to 2.7 version

* Use internal ansible url and options modules

* Remove useless comments

* Add option to validate https certs

* Update nrdp to 2.8 version

* Correct nrdp pep8
2019-01-02 10:15:15 -05:00
Kortum, Kevin
e2f6598e3f - Fix sanity checks
- Fixed documentation trailing whitespaces
  - Added missing/broken documentation
2019-01-02 05:29:04 -05:00
Stephan Schwarz
deba5f0e54 Added Ansible UTM Module for managing reverse proxy auth profile entries. 2019-01-02 05:29:04 -05:00
Kortum, Kevin
d3865a0a8a - Fix sanity checks
- Fixed documentation trailing whitespaces
  - Added missing/broken documentation
2019-01-02 05:28:55 -05:00
Johannes Brunswicker
617e20e955 Added Ansible UTM Module for managing reverse proxy frontend entries 2019-01-02 05:28:55 -05:00
Kortum, Kevin
e52b6c8554 - Fix sanity checks
- Fixed documentation trailing whitespaces
  - Added missing/broken documentation
2019-01-02 05:28:47 -05:00
Johannes Brunswicker
d556d27825 Added Ansible UTM Module for managing reverse proxy location entries 2019-01-02 05:28:47 -05:00
Yuwei Zhou
14129b09f7 rename force to force_delete_nonempty (#50290) 2019-01-02 13:23:54 +08:00
Felix Fontein
26e3240315 docker_secret, docker_config: allow to base64-decode data (#49688)
* Adjust docker_config and docker_secret to be more similar.

* Add data_is_b64 parameter to docker_secret and docker_config.

* Add changelog.
2019-01-01 16:06:45 +00:00
René Moser
e761ea3f9d
vultr_server: fix multiple ssh keys not handled (#50337)
* vultr_server: fix multiple ssh keys not handled

* add changelog fragment
2019-01-01 10:11:10 +01:00
Simon Dodsley
507f89e693 Pure Storage facts fix (#50349)
* Add module for Pure Storage FlashBlade to manage directory services

* Fix facts not correctly passing into ansible_facts dict
2018-12-31 09:22:13 +00:00
curry9999
9fb4e24660 Documentation remove escape r (#50277)
* A colon is not described

* dddd

* Update branch
2018-12-27 13:14:20 +00:00
Simon Dodsley
cda4010024 Fix bad placement of array variable (#50256) 2018-12-26 15:14:20 +00:00
Felix Fontein
04e2a94687 Improve tagging examples. (#50321) 2018-12-26 15:10:14 +00:00
Felix Fontein
a1dfce3aa1 ACME: add seealso references (#50320)
* Add seealso references to ACME modules.

* Bump to latest drafts.
2018-12-26 13:26:46 +00:00
Adam Miller
33156712a9 Provide both service state and status when possible in service_facts (#49618)
* Combine systemd units/unit-files output for service_facts

Fixes #47118

Previously we were only taking the output of `systemd units` which
would leave out information about the service units that were
disabled, static, masked, etc. Now we're aggregating the results so
that anything not active/inactive/dead at least is pulled as fact
data with it's state provided.

Signed-off-by: Adam Miller <admiller@redhat.com>

* provide state and status information about services

Fixes #45730

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-12-26 13:24:03 +00:00
John Hu
9be3ebc596 docker_image: add network parameter (#50313)
* docker_image: add network parameter

Add a network parameter to the docker_image module to specify the
network to use for RUN commands.

Called it network instead of network_mode as the latter seems like a
legacy of when there were just a few default options to choose from,
while now the name of an arbitrary network can be specified.

Fixes #21433

* Format description

* Update docker_image option_minimal_versions

* Ensure network_mode param optional
2018-12-26 13:23:39 +00:00
Nilashish Chakraborty
d4db426737
Change net_* default behaviour on missing module (#49923)
* Fix net_base default behaviour

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* New fix

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2018-12-26 15:33:30 +05:30
Ruben Tsirunyan
09ba1f38f1 Zabbix Action: Idempotency fix (#50297) 2018-12-26 01:59:45 -05:00
rajaspachipulusu17
3517373cfd Pluribus Networks igmp snooping module with Unit tests (#50146) 2018-12-24 13:40:02 +05:30
Ganesh Nalawade
104c415543
Fix for AttributeError in network_cli (#50284)
*  Value of prompt_answer is wrongly used as `self.prompt_answer`
   while logging it in message queue
2018-12-24 01:02:21 +05:30
kvaps
344b6002b1 fix: ansible_kubectl_ssl_ca_cert variable (#50217)
* fix: mistake for ansible_kubectl_ssl_ca_cert variable

* fix: K8S_AUTH_VERIFY_SSL
2018-12-23 09:59:34 +01:00
curry9999
4fe346da18 Add colon after module name (#50274)
* A colon is not described

* dddd

* Update aws_kms_facts.py
2018-12-23 00:26:36 +01:00
Abhijeet Kasurde
fc6c500b5b
postgresql_user: set type of conn_limit (#50178)
conn_limit type is set to 'int'. This will allow module to compare conn_limit with record value without type casting.

Fixes: #38118

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-22 20:28:56 +05:30
Jason Lingohr
4c3064a36f Update nios_aaaa_record.py (#50271)
Should be ipv6.

+label: docsite_pr
2018-12-22 15:52:06 +05:30
Simon Weald
d4bd323c3a update github handle (#50235) 2018-12-21 23:59:37 +01:00
Dag Wieers
84210e6b17
Fix typo 2018-12-21 22:49:08 +01:00
Alex Stephen
303abadf52 New GCP Module: gcp_compute_interconnect_attachment_facts (#48217) 2018-12-21 13:42:48 -05:00
Alex Stephen
746e80e9e1 New GCP Module: gcp_container_cluster_facts (#48249) 2018-12-21 13:42:39 -05:00
Alex Stephen
c0f44dfbaf New GCP Module: gcp_container_node_pool_facts (#48251) 2018-12-21 13:42:31 -05:00
Alex Stephen
251d049a54 New GCP Module: gcp_iam_service_account_facts (#48257) 2018-12-21 12:51:47 -05:00
Alex Stephen
3422a43555 New GCP Module: gcp_resourcemanager_project_facts (#48263) 2018-12-21 12:51:39 -05:00
Alex Stephen
02c6989f41 New GCP Module: gcp_spanner_database_facts (#48265) 2018-12-21 11:51:17 -05:00
Alex Stephen
a6cfdc6e63 New GCP Module: gcp_spanner_instance_facts (#48267) 2018-12-21 11:51:00 -05:00
Alex Stephen
e499718a50 New GCP Module: gcp_sql_database_facts (#48269) 2018-12-21 11:50:50 -05:00
Alex Stephen
f73539284b GCP Bug Fixes (#49458)
* Bug fixes

* fixes as of 12/5/2018

* changes as of 12/06/2018
2018-12-21 11:41:25 -05:00
Alex Stephen
b9c630f1b1 New GCP Module: gcp_sql_instance_facts (#48271) 2018-12-21 11:26:14 -05:00
Nathaniel Case
f05979932b
Allow AnsibleVaultEncryptedUnicode to pass through exec_jsonrpc (#48306)
* Allow AnsibleVaultEncryptedUnicode to pass through exec_jsonrpc

* Add changelog
2018-12-21 11:15:18 -05:00
Alex Stephen
7f3e4910b0 New GCP Module: gcp_sql_user_facts (#48273) 2018-12-21 10:44:46 -05:00
Nathaniel Case
b2423e7602
Log device interaction and push labeled logs back to controller (#50028)
* Add session tracing support for network_cli, netconf and httapi connection

*  Add `persistent_log_messages` configuration option to log device inteaction
   in log file for network_cli, netconf and httapi connection
   type
*  Log jsonrpc request and response in log file is configuration option
   is enabled

* Update docs to talk about warning shown when persistent_log_messages is on
2018-12-21 10:31:43 -05:00
Nathaniel Case
c093ea5a28
Merge backup functionality across config action plugins (#50208)
* Merge backup functionality across config action plugins

* Port updated cli_config
2018-12-21 10:30:33 -05:00
Nathaniel Case
0b3aa75b7f
Add backup parameter to cli_config (#50206)
* Add backup parameter to cli_config

* Add a unit test for cli_config backup
2018-12-21 09:55:14 -05:00
Zim Kalinowski
92de28756d fixed invalid samples (#50227)
* fixed invalid samples
2018-12-21 09:53:14 -05:00
Abhijeet Kasurde
fc5ea7c999
postgresql_idx: misc fixes (#50199)
* Removed unused import
* Removed 'login_password' from exit_json call
* Removed unused db, cond variable

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-21 16:31:41 +05:30
Christian Kotte
064825df30 Revert changes in vmware_vcenter_statistics(#49537) 2018-12-21 14:51:49 +05:30
Diane Wang
ebaeb1d8b4 VMware: add VBS configuration support for Windows 10 (#48595)
* Fix space issue
* fix whitespaces issue
2018-12-21 14:47:35 +05:30
anasbadaha
d2446cbf0f Fix Issue #39598 (#49982)
* Fix Issue #39598

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix unit test for onyx_config

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Add comments for save running config

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Enhance onyx_config bug fix

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix result['changed'] = True comment

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2018-12-21 11:54:10 +05:30
anasbadaha
6178a55afd Fix Issue #49612 (#50073)
* Fix Issue #49612

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 failures

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Add validation for send empty group name

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Error message

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2018-12-21 11:53:36 +05:30
Dag Wieers
0fe7d569c9 win_firewall_rule: Remove invalid 'bypass' action (#50207)
* win_firewall_rule: Remove invalid 'bypass' action

This fixes #50143

* Add changelog fragment
2018-12-21 12:05:28 +10:00
Dag Wieers
50ed152ab9 win_updates: Correctly report changes on success (#50188)
* win_updates: Correctly report changes on success

* Add changelog fragment
2018-12-21 11:44:49 +10:00
Abhijeet Kasurde
ff49bbd15d Misc documentation update (#50190)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-20 15:50:10 -06:00
Jacob Floyd
069e0b8d57 Make modprobe module check for builtins as well (#37150)
Without this modprobe always reports changed when modprobe-ing a builtin module.

With this, if a kernel module is a builtin, the modprobe module will:
- succeed (without incorrectly reporting changed) if ``state`` is ``present``;
- fail if ``state`` is ``absent``

The failure will have whatever error message modprobe returns when
attempting to remove a builtin module. For example:
``modprobe: ERROR: Module nfs is builtin.``
2018-12-20 15:30:29 -06:00
Dag Wieers
14b03ac15f
MSC: Various bugfixes and features enhancements (#50200)
* MSC: Various bugfixes and features enhancements

This PR includes:
- Lookups of roles, labels and domains
- Auto-create new labels
- Improvements to comparing complex datastructures
- Force removal of sites
- Support non top-level queries
- Document internal functions
- Add parameter types to modules
- Fix documentation examples
- Improvements to idempotency wrt. returning changed
- Support site locations
- Update permission list
- Various improvements to integration tests

* Fix Ci issues
2018-12-20 18:18:46 +01:00
Felix Fontein
f55481863d Prevent error if module.params['path'] has no path included. (#50106) 2018-12-20 11:47:26 -05:00
Gavin Williams
01a1ce16ce Jenkins_plugin: Handle 'latest' version when installing plugin for first time (#49723)
* Handle 'latest' version when installing module for first time

Otherwise, a fresh install of a plugin with 'version: latest' gets installed without its dependencies, rendering the plugin effectively useless.

* Add changelog
2018-12-20 15:51:02 +00:00
Julien Girardin
3e303bea4c List correctly current PV in "lvg" module: fix lvg reduce (#49731)
* Refactor integration test for lvg module to introduce grow/reduce test

* List correctly current PV in lvg module: fix lvg reduce

Previous behaviour was to only take into account PV passed in 'pvs'
argument. This lead to reduce not working as expecting:

* with state=present and list of wanted pvs, lvg found only the pvs to
  add or already present and ignored the pv to remove (obviously absent
  from the list of given PV)

* with state=absent and a pv to remove, lvg found that the remaining pvs
  list is empty (ignoring possible other PV in the vg) and decides to
  remove the vg entirely (as supposely no PV are left anymore to store
  lvm metadata)

* Add changelog fragment
2018-12-20 15:43:18 +00:00
Richlv
bb9bad89bb Update ini.py (#50171)
Typo/grammar/consistency fixes.
2018-12-20 10:07:05 -05:00
John R Barker
69abf984a1 Remove incorect author (#50191) 2018-12-20 07:22:30 -05:00
Chris Archibald
39b1f1c363 Rewrite (#49570) 2018-12-20 12:19:32 +00:00
Dhanuka
44e2cbe7b7 Update Unknown error to specific error message (#50129)
* Update `Unknown error` to specific error message

outputs the Exception received rather than just 'Unknown error'
fixes: issue/49713

* Update `Unknown error` to specific error message

improves the error message
2018-12-20 12:13:24 +00:00
Miguel Duarte Barroso
4951e5a5b7 os_security_group_rule proper module exit (#50076)
When the security group the rule belongs to does not exist and
the state is absent, the module is not properly exited, leading
to a playbook execution failure.

Fixes issue #50057
2018-12-20 11:49:52 +00:00
Michael Rose
bcae7f24cb influxdb_user: Fixed unhandled exception on invalid login credentials (#50134) 2018-12-20 11:47:39 +00:00
Sumit Jaiswal
f76d7bdbef
New Module for creating, managing Infoblox NIOS nameserver groups (#49124)
* adding new nios_nsgroup module

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* adding new nios_nsgroup module

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* adding new nios_nsgroup module

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* fix shippable errors

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* added unit tests

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2018-12-20 14:36:41 +05:30
Nilashish Chakraborty
e009eff925
Fix eos terminal plugin (#49920)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2018-12-20 14:13:18 +05:30
Zim Kalinowski
418c705196
sku in the sample became invalid, so updating (#50177) 2018-12-20 16:41:17 +08:00
Zim Kalinowski
7a8fcfbaea
fixing network client version (#50182) 2018-12-20 16:35:55 +08:00
Youhua Li
53eb3ad1e8 add range_start and range_end agrs when query vm by a single id (#50056) 2018-12-20 01:51:20 -05:00
Abhijeet Kasurde
4a82ea8392 Fix type in RETURN for bitbucket_deploy_key
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-19 22:06:44 -08:00
Christian Kotte
3f8d541326 VMware: Improve vmware_host_ntp module (#47273) 2018-12-20 10:37:23 +05:30
Ali
bdcf310e5d New Module: Add bitbucket_deploy_key (#27467)
* added new module to manage deploy keys for BitBucket repositories
* Modified module to pass CI tests
* Updated bitbucket_deploy_key module
* updated message returned when there is an existing deploy key
* bumped version_added to 2.8
* fixed issues reported by ansible-test
2018-12-20 10:33:23 +05:30
Nathaniel Case
806b90f6f1
Log netconf connection a la paramiko (#50169) 2018-12-19 19:51:32 -05:00
Richlv
47e72063a3 Update zabbix_action.py (#50149)
Mostly typo/grammar fixes. "Zabbix Server" was changed to just "Zabbix", as it could be slightly confusing - some people might interpret this referencing the server process, although API matters. "capital-case" was changed, as it usually is one of "capital" or "upper-case".

+label: docsite_pr
2018-12-19 14:09:16 -05:00
Baptiste Mille-Mathias
8ec9565aa9 Fix typo in ds_type in examples section (#50166)
replace ds_type elasticisearch by elasticsearch
2018-12-19 13:49:06 -05:00
Alicia Cozine
6fc4bb4a6d Command module docs: args vs argv (#49907)
* add note about 'args', update examples
* Update lib/ansible/modules/commands/command.py

Co-Authored-By: acozine <879121+acozine@users.noreply.github.com>
2018-12-19 13:30:05 -05:00
mhoffmann1
ae826cddf4 VMware: Update example vmware_deploy_ovf (#49893)
* Update vmware_deploy_ovf.py
Provided more detailed example using additional, often used parameters
Co-Authored-By: mhoffmann1 <marcin.hoffmann@intel.com>

* Replace variable values in example task
Co-Authored-By: mhoffmann1 <marcin.hoffmann@intel.com>
2018-12-19 11:32:32 -06:00
Alan Rominger
b784c7c4ea update openshift inventory plugin docs (#49901) 2018-12-19 11:30:38 -06:00
Brian Coca
b0c28f86de Revert range change (#50155)
* Revert "Fix incorrect examples with random filter (#50137)"

This reverts commit 9a7dbd5213.

The correction is incomplete and also based on a 'fix' that was supposed to have been reverted already

* Revert "Added `+1` to the `end` in `random` filter so that it was inclusive (#27215)"

This reverts commit ea2b89c7ae.

reverted fix as agreed at the time, but missed by maintainers.
2018-12-19 11:12:32 -06:00
Anil Kumar Muraleedharan
eab3b02cb3 Refactoring of cnos_interface module like what followed by other vendors (#49927)
* Refactoring of cnos_interface module like what followed by other vendors

* To remove cnos-interface from E326 validation ignore list

* Effect of default parameters impacted UT
2018-12-19 11:38:19 -05:00
Nathaniel Case
1829a72885
Allow persistent connection plugins to queue messages back to ansible-connection (#49977)
* Connections can queue messages to be returned from ansible-connection

* Provide fallback for invalid display level

* Strip display from plugins

* Route messages through helper method to try to avoid improper appends
2018-12-19 10:54:42 -05:00
Brian Coca
49993a55e5
dont think all files are valid cause libs present (#50103)
verify_file was improperly always returning true if pyvimomi and requests libs were correct
  moved library checking to parse, avoid unneded errors unless the file is actually meant for
  this plugin
2018-12-19 10:46:58 -05:00
Wojciech Wypior
1a9fcd9a10 corrected valid type values in RETURN (#50148) 2018-12-19 14:39:14 +01:00
Jon Bergli Heier
12c37802e8 rabbitmq_binding: Fix using empty routing key (#48597)
* rabbitmq_binding: Fix using empty routing key

If the routing key is an empty string we need to use the special props
value ~ in the URL. Otherwise the last part of the URL will be empty,
which will instead be equivalent to the "list all bindings" API call
which always returns 200 OK (as long as the exchange and queue exists).

* rabbitmq_binding: Move routing_key test outside format

Test the routing_key value and set the props value outside the format
call. We leave the original routing_key untouched since its original
value is later needed in create().
2018-12-19 08:30:41 -05:00
Andrea Tartaglia
65c7424a35 Added organization in the scm_credential get (#49884)
* Added organization in the scm_credential get

* Fallback looking for cred in project org

* Tests project with multi org credential

* Fixed CI issue

* Added changelog fragment
2018-12-19 12:01:12 +00:00
rajaspachipulusu17
afdd4e2343 Pluribus Networks dhcp filter module with unit tests (#49848)
* Pluribus Networks dhcp filter module with unit tests
* Added type which was missing in doc
* Removed unwanted global variable
* Fix return type
2018-12-19 17:16:25 +05:30
rajaspachipulusu17
8ca02d8359 Pluribus Networks admin service module with unit tests (#49854)
* Pluribus Networks admin service module with unit tests
* Documentation fix
* import module changes
* Removed unused imports
* Fix return type
2018-12-19 17:14:48 +05:30
soulofmischief
f43217d520 Fix typo: or -> on (#50123)
"To create a disabled account or Linux systems" should be "To create a disabled account **on** Linux systems"

+label: docsite_pr
2018-12-19 12:12:52 +01:00
mbork
2e63c3432f Update git.py (#50139)
* Update git.py

Mention `accept_hostkey` in the description of `ssh_opts`

+label: docsite_pr

* Small fix to formatting
2018-12-19 12:11:50 +01:00
Ganesh Nalawade
cc8e90395a
Fix mandatory statement error for junos modules (#50074)
* Fix mandatory statement error for junos modules

Fixes #40267

*  Add error regex in junos terminal plugin to error out
   in case of commit fails

*  If commit fails add logic to discard changes before existing
   else next task will result in error

* Add integration test

* Minor update
2018-12-19 14:46:44 +05:30
Jordan Borean
65ce1b727e
win_copy - fix remote dir copy when it contains an empty dir (#50126) 2018-12-19 14:55:09 +10:00
Wojciech Wypior
e9d7c8f328 fixed an issue with parameter breaking idempotency (#50117)
* fixed an issue with parameter breaking idempotency

* Update bigip_pool_member.py
2018-12-18 20:32:06 -08:00
Wojciech Wypior
0a55805ede changed oData filters (#50112)
* changed oData filters

* Update bigip_asm_policy_fetch.py

* Update bigip_asm_policy_import.py
2018-12-18 20:17:21 -08:00
Wojciech Wypior
af19bc95e8 added asm endpoint facts (#50114)
* added asm endpoint facts

* Update bigip_device_facts.py
2018-12-18 20:04:39 -08:00
Wojciech Wypior
59f4871615 added bigip_asm_policy_manage (#50115)
* added bigip_asm_policy_manage

* Update bigip_asm_policy_manage.py
2018-12-18 19:35:51 -08:00
Zim Kalinowski
756ad176cc fixed crash in facts (#50120) 2018-12-18 22:01:45 -05:00
Wojciech Wypior
f761cc4077 added ASM policy server technology module (#50116)
* added ASM policy server technology module

* Update bigip_asm_policy_server_technology.py
2018-12-18 18:38:19 -08:00
Toshio Kuratomi
bd072fe83a
Make the timeout decorator raise an exception out of the function's scope (#49921)
* Revert "allow caller to deal with timeout (#49449)"

This reverts commit 63279823a7.

Flawed on many levels

* Adds poor API to a public function
* Papers over the fact that the public function is doing something bad
  by catching exceptions it cannot handle in the first place
* Papers over the real cause of the issue which is a bug in the timeout
  decorator
* Doesn't reraise properly
* Catches the wrong exception

Fixes #49824
Fixes #49817

* Make the timeout decorator properly raise an exception outside of the function's scope

signal handlers which raise exceptions will never work well because the
exception can be raised anywhere in the called code.  This leads to
exception race conditions where the exceptions could end up being
hanlded by unintended pieces of the called code.

The timeout decorator was using just that idiom.  It was especially bad
because the decorator syntactically occurs outside of the called code
but because of the signal handler, the exception was being raised inside
of the called code.

This change uses a thread instead of a signal to manage the timeout in
parallel to the execution of the decorated function.  Since raising of
the exception happens inside of the decorator, now, instead of inside of
a signal handler, the timeout exception is raised from outside of the
called code as expected which makes reasoning about where exceptions are
to be expected intuitive again.

Fixes #43884

* Add a common case test.

Adding an integration test driven from our unittests.  Most of the time
we'll timeout in run_command which is running things in a subprocess.
Create a test for that specific case in case anything funky comes up
between threading and execve.

* Don't use OSError-based TimeoutError as a base class

Unlike most standard exceptions, OSError has a specific parameter list
with specific meanings.  Instead follow the example of other stdlib
functions, concurrent.futures and multiprocessing and define a separate
TimeoutException.

* Add comment and docstring to point out that this is not hte Python3 TimeoutError
2018-12-18 18:01:46 -08:00
Tom Dietrich
2b48c0187c Warn of standard behavior of 'default' key store (#49903)
* Warn of standard behavior of 'default' key store 

The default key store typically results in the key being stored as user. In instances where we're trying to install a cert to enable SSL binding in IIS, this will result in an unbind-able cert, as the IIS APPPOOL identity will not be able to read the private key, and presents a very cryptic error of 'A specified logon session does not exist'.


+label: docsite_pr

* fix trailing whitespace

* Use C(user) reference

* specify what's required for successful iis import

- store_location's default value is currently 'LocalMachine' but if this changes it could result in the documentation being inaccurate
- key_exportable is not required for a successful IIS import

* remove stray =

dang cat

Co-Authored-By: tdietrich513 <tom.dietrich@gmail.com>
2018-12-19 11:13:31 +10:00
Toshio Kuratomi
947c4300ee Fix return types
We're now stricter on naming the return types.  Replace string with str.
2018-12-18 15:14:08 -08:00
Dag Wieers
05c6ff79f9 Convert to reduced list of known types (#50010) 2018-12-19 07:25:30 +10:00
Toshio Kuratomi
fcd1486b51 VALID_ACTIONS for cli subcommands will now be a frozenset (#50058) 2018-12-19 07:03:22 +10:00
Martin Krizek
545edc9114 facts: detect FreeBSD KVM guests (#50030)
Fixes: #49158
2018-12-19 06:57:53 +10:00
Martin Krizek
29c3bb48e9 facts: correctly detect multiple ipv6 addresses per device (#50020)
Fixes #49473
2018-12-19 06:49:28 +10:00
Yannig Perré
6b41588e93 Fix with_ini example and unittest
* Fix example in ini.py
* Fix unittest in test_ini.py to pass CI as latest ansible returns list in
  different order. To prevent such issues in future results are sorted
* PEP8 E501 styling improvements

Co-Authored-By: Sergii Golovatiuk <sgolovat@redhat.com>
2018-12-18 12:25:02 -08:00
Abhijeet Kasurde
1e4ab5a038 Return correct error message to user
botocore.exceptions.ClientError does not have message, which
fails fail_json.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-18 12:23:18 -08:00
Abhijeet Kasurde
44bd8fc0a8 Update unit tests for configmanager
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-18 12:20:35 -08:00
Jordan Borean
efda3eaf1c
win_lineinfile - fix malformed returned json (#50066) 2018-12-19 05:39:25 +10:00
Michaël de Groot
13f2b29305 Small documentation update: Clarify daemon-reload always executing. (#49889)
* Small documentation update
* shortens and clarifies line
2018-12-18 12:22:57 -06:00
Michael Scherer
2734895c48 Do switch to apt if aptitude is not installed (#30738)
Trying to use the apt module on a freshly install 16.04 Ubuntu VM with
"ansible -m apt -a 'name=* state=latest' all" fail with this backtrace:

  Traceback (most recent call last):
    File \"/tmp/ansible_2inxygge/ansible_module_apt.py\", line 1055, in <module>
      main()
    File \"/tmp/ansible_2inxygge/ansible_module_apt.py\", line 998, in main
      upgrade(module, 'yes', force_yes, p['default_release'], use_apt_get, dpkg_options)
    File \"/tmp/ansible_2inxygge/ansible_module_apt.py\", line 759, in upgrade
      apt_cmd_path = m.get_bin_path(apt_cmd, required=True)
    File \"/tmp/ansible_2inxygge/ansible_modlib.zip/ansible/module_utils/basic.py\", line 2182, in get_bin_path
    File \"/usr/lib/python3.5/posixpath.py\", line 89, in join
      genericpath._check_arg_types('join', a, *p)
    File \"/usr/lib/python3.5/genericpath.py\", line 143, in _check_arg_types
      (funcname, s.__class__.__name__)) from None
    TypeError: join() argument must be str or bytes, not 'NoneType'

It seems that since aptitude is not installed on Xenial, so APTITUDE_CMD is None
and we later hit the bug in the upgrade function since it assume APTITUDE_CMD
is set.
2018-12-18 12:48:11 -05:00
Dag Wieers
ee29ba5d4f plugin_formatter.py: Improve the output when processing docs (#46541)
* Improve the output when processing files

* Update docs/bin/plugin_formatter.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Show progress indicator.

* Don't pp.pformat() huge structures when they aren't used anyway.

This saves ~10 seconds on my machine.

* Only show ASCII spinner if stdout is a TTY.

* Fix: E722 do not use bare 'except'
2018-12-18 11:23:49 -06:00
Toshio Kuratomi
40144c7486 Remove dead code in ansible-inventory
This piece of code is only needed with ansible < 2.3.x (which is now EOL)
2018-12-18 08:58:38 -08:00
Brian Coca
88c87a3583
added handlers_from (#49220)
* added handlers_from

fixes #46769
2018-12-18 11:28:24 -05:00
Xander Madsen
1e415899ad GetManagerNicInventory (#49961)
* Add GetManagerNicInventory command for Manager category, and tweak redfish_utils' get_nic_inventory to accommodate manager nic interfaces

* Remove get_manager_nic_inventory, since it is unnecessary while using get_manager in get_nic_inventory

* Rework get_nic_inventory() to take a resource_type as a string, which will be just the category parameter from redfish_facts, making it clearer

* remove extraneous blank line to conform with pep8

* Add GetManagerNicInventory example task to EXAMPLES docstring
2018-12-18 09:58:17 -06:00
Dag Wieers
15d39f9108 Sanity fixes in various modules (#50080) 2018-12-18 09:53:46 -06:00
Nathaniel Case
6caed0c38b
ios retry config if section filter fails (#49485)
* Attempt to work around devices that don't understand | section

* Fix case of no flags
2018-12-18 10:34:32 -05:00
rajaspachipulusu17
d28e700a22 Pluribus networks admin session timeout module with unit tests (#50012)
* Pluribus networks admin session timeout module with unit tests
* Doc fix
* Removed unused imports
* Removed unwanted global variable
2018-12-18 17:23:45 +05:30
Christian Kotte
f123f894df Improve module vmware_local_role_manager (#47870)
* add check mode support
* improve output
2018-12-18 17:10:10 +05:30
Christian Kotte
e65b721283 VMware: new module vmware_host_ad_auth (#47901) 2018-12-18 16:34:11 +05:30
Ondra Machacek
e733d6e557 Fix activate of the disks in ovirt_vm and ovirt_disk modules (#49762)
* ovirt_disk: Add activate parameter

* ovirt_vm: Fix waiting on lun disks

Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-12-18 05:54:27 -05:00
Christian Kotte
f431e5b0e2 VMware: new module vmware_dvswitch_uplink_pg (#48846) 2018-12-18 16:14:18 +05:30
Felix Fontein
92ef500185 openssl_privatekey: add ECC support (#49416)
* Add cryptography backend for openssl_privatekey.

* Adding ECC support.

No support for X25519 and X449, since they don't support serialization.

* Improve finterprint calculation to work with Python 3.

* Add fingerprint check.

* Fix typo.

* Use separate curve option for elliptic curves, and use type 'ECC'.

* Using curve names as defined in IANA registry.

* Bump minimal supported cryptography version. Older versions might work as well, but I couldn't test them.

* Improve documentation.
2018-12-18 09:07:36 +00:00
Zim Kalinowski
6d952e4124 fixing vm state change when vm created with attached disk (#50071)
* fixing vm state change when vm created with attached disk

* minor fixes

* fixing hanging indent
2018-12-18 03:49:31 -05:00
Dag Wieers
c1ac87794e
ACI: Fix module parameters (#50051)
* Fix parameter type of private_key

* Fix parameters of various ACI modules
2018-12-18 09:30:28 +01:00