Commit graph

20207 commits

Author SHA1 Message Date
kiorky
9001a8794f FIX: multiple nested tasks include levels (#35165)
* Test for include_tasks & include_role bug

Related to ansible/ansible:#21890

* Fix nested include_tasks called from role

This fixes the path of included files when you want
to call include_task inside a role's task file and this
role is itself called from multiple level of playbook include_tasks

Related to ansible/ansible:#21890
This fixes ansible/ansible:#35109
2018-01-31 07:35:06 -06:00
Eike Frost
984edacd2a New module: keycloak_clienttemplate (#33419)
* keycloak_clienttemplate

* BOTMETA maintainership for identity/keycloak namespace

* fix superfluous blank line

* catch ValueError when trying to decode JSON

* further documentation for protocol mappers and some checks

* whitespace fixes, YAML fixes

* remove state: dump, update argument_spec and documentation with suboptions

* add documentation for realm option

* document aliases for auth_keycloak_url, auth_username, and auth_password (i.e. url, username, and password)

* remove bearer_only, consent_required, standard_flow_enabled, implicit_flow_enabled, direct_access_grants_enabled, service_accounts_enabled, public_client, and frontchannel_logout from module options.
2018-01-31 13:12:53 +00:00
Ganesh Nalawade
9aadd8704a
Handle multiple sub prompts for network_cli connection (#35361)
* Handle multiple sub prompts for network_cli connection

Fixes #35349

*  Check if the same prompt is repeated in consecutive window
   if it is repeated it indicates there is problem with answer
   provided
*  In that case report error to user

* Fix CI failure

* Fixes #35349

*  Add prompt_retry count to control max number of times
   to expect the same prompt before it error's out

*  Make required changes in ios and eos terminal plugin to handle
   wrong enable password correctly and return proper error
   message to user.

*  Check if the same prompt is repeated in consecutive window
   if it is repeated it indicates there is the problem with an answer
   provided

*  In that case report error to user
2018-01-31 18:33:23 +05:30
Katerina Koukiou
19ac188e86 ovirt_storage_domains: docs: override_luns parameter is applicable also to fcp (#35506) 2018-01-31 07:47:37 -05:00
Ondra Machacek
f4c68868ee ovirt_auth: Fix checking of auth paramters (#35512) 2018-01-31 07:47:25 -05:00
Anil Kumar Muraleedharan
766f7c0577 Fixing Bug for Embedded Switches in Parsing data (#35541) 2018-01-31 12:05:43 +00:00
Anil Kumar Muraleedharan
4e7e7042cc Changing order of load and loadfp (#34793)
* Changing order of load and loadfp

* Removing exception as per Ganesh Review comments
2018-01-31 14:04:43 +05:30
Felix Fontein
2c482847ce letsencrypt: fix account key detection for keys created by openssl_privatekey (#35534)
* Fixing key detection if key was generated with openssl_privatekey.

* Fixing error formatting.
2018-01-31 02:24:08 -05:00
Ganesh Nalawade
311918828f
Fix double prompt issue in network_cli (#35439)
Fixes #33993

In current implementation while trying to fetch the
current cli prompt terminal plugin executes `\r` on remote host.

This causes if command execution results in a prompt for
example executing `enable` command results in `Password:` prompt
there by executing `\r` on password prompt which is not intended.

To fix it while fetching current prompt from terminal plugin use `get_prompt()`
api in network_cli that returns the latest matched prompt instead of
unnecessary executing `\r` on remote host.
2018-01-31 11:43:08 +05:30
saichint
dc35baa8db fix nxos_pim_interface issues (#35405)
* fix nxos_pim_interface issues

* add absent test for pim_interface
2018-01-31 10:51:11 +05:30
Shinichi TAMURA
fec85a42a6 timezone module: Enhanced update command for Debian/Ubuntu (#34390)
* timezone module: Symlink to /etc/localtime before dpkg-reconfigure in Debian/Ubuntu

* timezone module: Symlink rather than hard link
2018-01-30 18:34:45 -05:00
Colins-Git
ac7e62ec08 open_iscsi fails to login when discovery returns multiple portals #29309 (#35262) 2018-01-31 00:03:35 +01:00
Chris St. Pierre
c24e092865 Add jenkins_job_facts module (#35346)
* Add jenkins_job_facts module

* Fix docs

* Fix connection error handling

* Add support for filtering by color

* Miscellaneous code cleanup

* Spell out "underscore" in comment

* Update required state in docs
2018-01-30 23:42:33 +01:00
Felix Fontein
2ebb611b50 Changing letsencrypt module to use ACME v2 protocol (update) (#35283)
* Adding warnings.

* Forgot choices for acme_version in code.

* Removed 'errors' support again.

* For DNS challenges, also return complete record to simplify wildcard generation (see #35283).

* Also returning order URI and account URI. This is mainly for debugging purposes.

* Adding more clear separation between the two calls. Avoids problems where code during second call thinks it is during first call and doesn't stop with error, but doesn't obtain a new certificate either.

* Added validate_certs parameter.

* Actively discouraging from setting validate_certs to false.

* Fixing DNS challenge example.

* Adding new output challenge_data_dns, which simplifies DNS challenges.
2018-01-30 17:39:58 -05:00
Ryan S. Brown
05f765bda0 New module: aws_batch_job_definition 2018-01-30 17:28:45 -05:00
Jonathan Meran
8578b3c1c5 [cloud] new module aws_batch_job_queue: support for AWS Batch Job Queues (#26701)
1. Removed redundant default values in argument_spec
2. Enclosed non standard python libraries in Try Except ImportError block
3. Added region as a mandatory element in argument_spec
4. Updated the typo in api_params while accessing job queue. Changed it from job_queue to jobQueue
5. Updated the set_api_params() method to use snake_dict_to_camel_dict()
6. Updated the ANSIBLE_METADATA version from 1.0 to 1.1
7. Updated the version_added in Documentation from 2.4 to 2.5
8. Initialized response value to None
9. Updated the RETUN documentation
10. Updated the return from manage_state() method to not embed batch_job_queue_action in ansible_facts
11. Updated the module.exit_json()  in main() to convert any keys back to snake_dict format using camel_dict_to_snake_dict to maintain consistency throughout the module
12. Changed the filename from batch_job_queue.py to aws_batch_job_queue.py
2018-01-30 17:22:06 -05:00
Clement Trebuchet
287f3a609e Fixes #35468: ADD max_results to the nios api (#35473)
* Fixes #35468: ADD max_results to the nios api

* Fixes #35468: fix nios unittest

* Fixes #35468: document the module docs fragments for nios
2018-01-30 22:21:45 +00:00
Matt Martz
c282e4e00f
Replace LooseVersion comparison with int/float comparison. Fixes #35435 (#35519) 2018-01-30 15:27:22 -06:00
Sloane Hertel
fda09a75d3 elasticache: default zone to None - fixes #31779 (#31785)
* elasticache: default zone to None.

* Only add PreferredAvailabilityZone to kwargs if self.zone is not None
2018-01-30 16:12:22 -05:00
Sloane Hertel
2c4f52d404 [cloud] iam_role: allow retention of existing policies (#28513)
* module_iam_role: add_remove_policies_option

* Update 24080 with requested changes.

* Fix whitespace and rename the option remove_unlisted_policies to purge_policies.

Update version_added

* Fix exception handling in iam_role module

* Fix line length
2018-01-30 15:13:45 -05:00
Harri Tuominen
234a877ea5 Netact cm command2 (#34873) 2018-01-30 19:00:29 +00:00
Matt Martz
f659cc5963
Guard against assignments that are not ast.Name in docs parsing (#35513) 2018-01-30 12:56:16 -06:00
Jonathan Meran
9e68ac9d86 Initial support for AWS Batch Compute Environment (#26699)
* Add AWS Batch Compute Environment module

* Move common code for AWS batch modules in module_utils/aws/batch
2018-01-30 13:24:38 -05:00
Peter Sprygada
58d54799b8
exposes rpc method to plugin (#35507)
The rpc method should be exposed to the modules over the connection rpc
mechanism.  This fix will expose the rpc method to call generalized rpc
endpoints on remote devices
2018-01-30 12:27:48 -05:00
Adrian Likins
bf5770dec4
Fix virt role detection for kvm if no other match (#35403)
This fixes an indention bug introduced in
45a9f96774
that was causing the virtualization_role to be set to 'host'
for many cases incorrectly.

Fixes https://github.com/ansible/ansible/pull/21621
(the issue mentioned in the pr)
2018-01-30 11:42:13 -05:00
Adam Miller
6cc5e4c9df
galaxy remove incorrect check for role path before extraction (#35259)
* galaxy remove incorrect check for role path before extraction

Fixes #35217

Currently lib/ansible/galaxy/role.py checks roles_path and will
ignore paths that don't currently exist which it should not because
the path will attempt to be created by the role extraction process
(which is valid and expected behavior) and if unable to write at the
time of role extraction into the role_path, that error will be
handled properly at that point in the process.

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

* add test case for galaxy install with rolefile and rolepath

Verify we don't regress GitHub Issue #35217

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

* fix the integration test

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

* double quote for shellcheck glob warning

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

* fix galaxy install tests to not need remote resources

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

* make shellcheck sanity tests happy

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

* prep git global conf for running the galaxy install tests in docker

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

* move ansible-galaxy tests into their own target, make git conf non-global

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

* fix up tests based on feedback

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

* remove extra newline from aliases file

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-01-30 10:40:25 -06:00
Nathaniel Case
4a79112e5c
Fix ios_facts return values (#35239)
* Revert model and serialnum to older version

* Add stacked versions of model and serialnum as separate facts

* Add unit test to check stacked output

* Alter model regex to address #34768
2018-01-30 11:17:14 -05:00
David Soper
f5022de5d6 Add support for primary and secondary redundancy types. Require cdn name for user-defined names. (#35505) 2018-01-30 16:50:16 +01:00
Toshio Kuratomi
3d614bfe84 Clarify lookup plugin TypeError recovery
Change the code and comments around recovering from a TypeError in
handling the return value from lookup plugins to make it clearer what
we're recovering from.
2018-01-30 07:21:36 -08:00
John R Barker
a23c95023b
Module deprecation: docs, scheme and tests (#34100)
Enforce module deprecation.
After module has reached the end of it's deprecation cycle we will replace it with a docs stub.

* Replace deprecated modules with docs-only sub
* Use of deprecated past deprecation cycle gives meaningful message (see examples below)
* Enforce documentation.deprecation dict via `schema.py`
* Update `ansible-doc` and web docs to display documentation.deprecation
* Document that structure in `dev_guide`
* Ensure that all modules starting with `_` have a `deprecation:` block
* Ensure `deprecation:` block is only used on modules that start with `_`
* `removed_in` A string which represents when this module needs **deleting**
* CHANGELOG.md and porting_guide_2.5.rst list removed modules as well as alternatives
* CHANGELOG.md links to porting guide index

To ensure that meaningful messages are given to the user if they try to use a module at the end of it's deprecation cycle we enforce the module to contain:
```python
if __name__ == '__main__':
    removed_module()
```
2018-01-30 12:23:52 +00:00
Martin Krizek
7c83f006c0
Fix triggering parent's always with run_once set (#35464) 2018-01-30 13:16:19 +01:00
Chip Gwyn
2293252e52 bug-35431 fixed removing encryption from user on subsequent runs of the task (#35433) 2018-01-30 11:26:54 +05:30
Peter Sprygada
2f7d207d7a
fixes error in dict_merge when merging list value (#35461) 2018-01-29 21:45:35 -05:00
Stephen Granger
7fa09390b0 Elasticbeanstalk app (#31079)
* New AWS elasticbeanstalk app module

* Integration tests for elasticbeanstalk_app
2018-01-29 18:38:32 -05:00
Abhijeet Kasurde
becb31f34c nmcli: Allow setting ipv4.dhcp-client-id parameter (#34268)
Signed-off-by: Orion Poplawski <orion@cora.nwra.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-29 17:02:46 -06:00
Sloane Hertel
6dda001a8c [cloud] new module - AWS Direct Connect virtual interface (#33211)
* Add an AWS Direct Connect virtual interface module

Fix DirectConnectError exception wrapper to be compatible with fail_json_aws()

* Fix documentation and handle BotoCoreErrors as well

* Add the aws and ec2 documentation fragments
2018-01-29 17:23:03 -05:00
Matt Clay
e98e757ec4 Fix win_regedit module and tests. (#35478) 2018-01-30 07:57:03 +10:00
Sloane Hertel
fed4217fd7 [cloud] ec2_eni: Add a purge option for secondary ip addresses - fixes #26575 (#26596)
* add purge option for secondary ip addresses and fix changed to reflect when addresses are modified

* Improve option documentation and make the secondary_private_ip_addresses option required if purging secondary private ip addresses.

* ec2_eni: update version_added to 2.5 for purge_secondary_private_ip_addresses option.
2018-01-29 16:31:21 -05:00
John R Barker
923174a856
Infoblox should be run locally (#35390)
* Infoblox should be run locally

* use connection: local
2018-01-29 20:38:36 +00:00
Ed Costello
d16bc1c3f4 New aws_ses_identity module to manage AWS Simple Email Service Identity (#31140)
* Add aws_ses_identity module

* Update CI alias, add BotoCoreError exception handling.

* Add SES and SNS permissions to hacking/aws_config to run aws_ses_identity integration tests
2018-01-29 15:35:49 -05:00
Abhijeet Kasurde
8606bfde4f
VMware: vmware_guest template find (#35088)
This fix adds logic to find unique virtual machine template using name.

Fixes: #26669

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-29 21:39:50 +05:30
Ondra Machacek
2b0ad2c88a ovirt_vms: Add high_availability_priority to ovirt_vms (#35289) 2018-01-29 08:18:38 -05:00
Ondra Machacek
e39156196c ovirt: Fix vms BIOS boot_menu attr compare (#35454) 2018-01-29 08:17:57 -05:00
Abhijeet Kasurde
cb96f8a250 VMware: refactor vmware_dvs_host (#35440)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-29 07:56:39 -05:00
Ricardo Carrillo Cruz
d178df8f01
Fix edit_config multiline commands on IOS (#35375)
* Fix edit_config multiline commands on IOS

The current code for multiline commands in IOS is broken: If you
pass a dict containing a command, prompt and answer it is seen
later as unicode string, but if you do a json.loads it fails
as the keys/values are enclosed in single quotes but JSON requires
double quotes.

Fixes #23539

* Fix pep8

* Use ast literal_eval

It's safe to use, as it is just for types and wont execute arbitrary code.
2018-01-29 12:03:25 +01:00
Jean-Philippe Evrard
5f1254697d New module etcd3 (#35053)
This module uses etcd3 python library to do k/v manipulation on
an etcd3 cluster using version3 api.
2018-01-29 11:49:30 +01:00
Abhijeet Kasurde
aa736c6944
VMware: add new module: vmware_host_acceptance (#35040)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-29 14:30:57 +05:30
Abhijeet Kasurde
aac6d282e5
VMware: Add new module - vmware_vm_vm_drs_rule (#34177)
This adds a new module called vmware_vm_vm_drs_rule. This module add
affinity/antiaffinity rule for VM-VM in given cluster.

Fixes: #32109

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-29 09:36:57 +05:30
Abhijeet Kasurde
8549482482
VMware: add new module: vmware_host_package_facts (#35036)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-29 09:21:34 +05:30
Abhijeet Kasurde
3605c19377 VMware: return facts depending upon type of VM (#35419)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-28 16:29:40 -05:00
Abhijeet Kasurde
857d0fd62e
VMware: add new module: vmware_host_vmnic_facts (#34984)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-28 21:34:45 +05:30
Abhijeet Kasurde
19da03c485 Add random password generation logic in host_add (#30380)
Fix adds ipa host_add functionality of generating random
passwords for host enrollement. This fix also preserves the
idempotency of host_add and host_mod IPA APIs.

Fixes: #30328

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-28 09:42:58 -05:00
cakepietoast
85091e7a8e Add runasusercategory and runasgroupcategory parameters for ipa_sudo_rule module (#30421)
* Add runasusercategory and runasgroupcategory parameters

* Add "version_added" to docstring

* Remove redundant "required=False" argument specifications
2018-01-28 01:10:27 -05:00
Dag Wieers
ee2a8ff324
Fix small typo in documentation 2018-01-28 03:43:43 +01:00
pmargara
96dda702f7 cloud:ovirt:ovirt_vms.py: Added 'quota_id','sso', 'boot_menu', 'usb_support', 'serial_console' fields to ovirt_vms module (#34048)
* Added 'quota_id','sso', 'boot_menu', 'usb_support', 'serial_console' fields to ovirt_vms module

* always run ansible-test first

* always run ansible-test first 2

* suggested changes applied
2018-01-27 15:18:09 -05:00
Peter Sprygada
c2d3b9cbd5
refactors nios api shared code to handle provider better (#35393)
* refactors nios api shared code to handle provider better

This change refactors the shared code to be easily shared between
modules, plugins and dynamic inventory scripts.  All parts now implement
the provider arguments uniformly.

This also provides a centralized fix to suppress urllib3 warnings coming
from the requests library implemented by infoblox_client

* fix up pep8 errors

* fix missing var name
2018-01-27 08:03:06 -05:00
Eike Frost
eeeea1406b zabbix_host: add interface definition error checking / defaults (#35366)
* add checking of interfaces, providing defaults or errors if required keys are not defined

* fix so that iteration of interfaces only happens if defined
2018-01-27 05:06:13 -05:00
Toshio Kuratomi
763ecec1b3 Add boilderplate to remove a module but keep documentation. 2018-01-26 15:20:36 -08:00
Fernando Alexandre
5f3b546180 [cloud][AWS] permit tagging of lambda functions (#24889)
* permit tagging of lambda functions

Signed-off-by: fernandoalex <jfernandoalex@gmail.com>

* changed iteritems for items and test for identity to is not

* fixed task name in example

* module object was not being passed to the function

Module object was not being passed to the funtions whitch was causing error in the error handling.

* Use compare_aws_tags

Check for attribute and fail if botocore needs to be updated

Update version_added

* Fix examples

* pep8

* Remove unnecessary var

Handle BotoCoreError
2018-01-26 16:24:38 -05:00
Abhijeet Kasurde
c96bad461f VMware: Fix dvs idempotency issue (#35389)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-26 16:23:47 -05:00
Will Thames
56196e66bf [cloud] Improve results from ecs_taskdefinition_facts (#34337)
ecs_taskdefinition_facts should not populate ansible_facts with
so much information.

Better to just return the contents of the dict directly.

Reduce line lengths, use AnsibleAWSModule, don't reimplement
camel_dict_to_snake_dict.
2018-01-26 16:13:22 -05:00
Will Thames
2fac647955 [cloud] ec2_asg should wait for ASG to delete (#35327)
`wait_for_instances: no` means do not wait for instances to become
InService/Healthy before terminating them. It does not mean don't
wait for the ASG to delete.

Not waiting for the ASG to delete can cause problems when recreating it.
Ensure that waiting for the ASG to delete respects `wait_timeout`.
2018-01-26 16:12:21 -05:00
Jeff Li
346063795d Add identity_api_version opt in OpenStack modules (#26103)
Fix #26092 : OpenStack modules does not work with identity v3
2018-01-26 15:08:13 -06:00
Michael Tharp
6dcb41b40f rabbitmq_policy: fix IndexError when no policies exist yet (#33556)
If the list of existing policies is empty, an IndexError would be raised
since stdout was blank.
2018-01-26 22:00:53 +01:00
Sloane Hertel
1454cafd14 [cloud] snake_case hostvars in aws_ec2 inventory plugin (#35306)
* snake_case hostvars in aws_ec2 inventory plugin for improved compatibility with AWS modules

* Format tags with boto3_tag_list_to_ansible_dict
2018-01-26 15:10:45 -05:00
Josh Souza
4af454ed4e [cloud] New AWS module iam_user with check mode support (#27588)
Add `iam_user` module that supports check mode

Based entirely on `iam_group` with check mode support added.
Does not support management of groups, so as not to interfere with the
`iam_group` module.

* Update the copyright

* Remove e.message from exception handling since it is not available on python 3
2018-01-26 14:55:42 -05:00
Henrique Rodrigues
73176d2a1d [cloud] New module aws_az_facts (#20690)
New aws_az_facts module to be able to get facts from AWS availability zones
2018-01-26 14:52:42 -05:00
Henrique Rodrigues
c3a5c075c8 [cloud] New module aws_region_facts (#20689)
* New aws_region_facts module to be able to get facts from AWS regions

* Fix copyright

Handle BotoCoreError too

Remove exception handling around around boto3_conn

Fix docs

Fix version_added

* Update metadata_version

Fix return doc
2018-01-26 14:48:50 -05:00
Ghilli3
60d2a8b6a1 Fortinet FortiManager Scripting Module (#34518)
* Adding new code for new module and new module_utils with the pip pyfmg package

* Changed login and logout functionality and renamed mod_utils file as well as cleaned up PEP8 syntax

* Removing extra Ansible parameters and fixing more syntax issues

* Fixing more syntax issues and comparing against previous FTNT script module

* Changing import location to pass syntax checks

* Fixing pylint errors

* Removing test files

* Add unit tests and enabling a login session check within main in order to throw error if network connection exception

* Fixing syntax issues for adding unit tests

* Changing case for pip package requirements

* adding comments

* adding version restriction on pip package for testing

* adding version restriction on pip package for testing

* More comments

* Fixing documentation errors and add the ability to skip a test if it isn't present

* Fixing Pep8 error with whitespace (tab) in the row
2018-01-26 18:40:12 +00:00
Reto Gantenbein
d32c4ab62e Fix task description of thinpool examples (#35402) 2018-01-26 18:36:10 +00:00
Ryan Groten
34d6f5168f Add -F to usermod -p to force user password update (#26258)
If changing root password, usermod will fail with error "Login root is currently in use\n".  -F avoids this
2018-01-26 12:30:32 -06:00
Ivan Kurnosov
ea2b89c7ae Added +1 to the end in random filter so that it was inclusive (#27215) 2018-01-26 11:36:44 -06:00
Thomas Quinot
101e983f07 Remove incorrect assumption on exception constructors (#35271)
Do not assume that all exception constructors accept a single string
argument. For example UnicodeError's __init__ takes 5 parameters:
encoding, object, start, end, reason.

Also, if e.message is present but empty, fall back on stringifying
the exception occurrence.

Fixes #35270
2018-01-26 11:07:58 -06:00
Matt Martz
7404dc6767 Recursively remove args with omit as as their value, to match suboptions in argument_spec (#35299)
* Recursively remove args with omit as as their value, to match suboptions in argument_spec

* Add test for the new remove_omit function
2018-01-26 11:07:04 -06:00
Carl Buchmann
1a4efca83c fix when using vrf option (#35118)
ping did not include "vrf" keyword in command and would fail.
2018-01-26 22:22:23 +05:30
Sloane Hertel
44171b70c2 [ec2] return instances sorted by id (#35359) 2018-01-26 10:51:17 -06:00
Matt Martz
de2427beaf Add transfer checksum verification in copy module (#35367)
* Add transfer checksum verification in copy module, to ensure that the file was transferred to the remote successfully. Fixes #35029

* Guard on no checksum

* Add version_added
2018-01-26 10:48:08 -06:00
Amol Kahat
e8633b7a22 Added VLAN configuration. (#35343)
Fixes GH 22147

Signed-off-by: Amol Kahat <akahat@redhat.com>
2018-01-26 10:21:59 -06:00
Nathaniel Case
1f1e5c11a9
ios_command: Whitelist some commands starting with configure (#35363)
* Whitelist some commands starting with `configure`

* Add tests for conditional `configure` rejection
2018-01-26 10:55:50 -05:00
Dag Wieers
4fa02d581d Remove 'attempts' from non-looped tasks (#35316)
* Remove 'attempts' from non-looped tasks

* Use self._task.until to determine if we're in a loop

* Undo recent changes to Windows tests
2018-01-26 09:06:03 -06:00
Daniel Shepherd
892fc41190 [cloud] New module: Amazon Egress-Only Internet Gateway (ec2_vpc_egress_igw) (#23941)
* New module: ec2_vpc_egress_igw

* minor pep8 fix and doc update

* add test dir and files

* add tests for gateway module

* fix up return documentation per review

* remove HAS_BOTO3 stuff as it is handled in AnsibleAWSModule per review

* fix an error with failure message and add custom handler for non-existent vpc ID

* add additional tests and update tests per review

* ignore errors on clean up tasks

* update module copyright to newer format

* fix exception handling since BotoCoreError doesnt have response attribute

* actually fix exception handling this time so it works with Py3 as well
2018-01-26 09:22:30 -05:00
Peter Sprygada
f849dc9cad
add extattrs as an option when using nios lookup (#35371) 2018-01-26 06:33:44 -05:00
Christopher Brown
d2d825ccd3 Add ManageIQ OpenStack provider (#34932)
Adds the capability to create OpenStack providers. Because one
of the parameters, keystone_v3_domain_id, is not currently
exposed, it is added as an alias of azure_tenant_id which currently
maps to uid_ems. Work is in progress to fix this.

ManageIQ/manageiq#16802
ManageIQ/manageiq-api#279
ManageIQ/manageiq-providers-openstack#196
2018-01-26 04:56:06 -05:00
Dag Wieers
1c8a872648 win_disk_facts: Prefix facts with ansible_ and use raw values (#35326)
* win_disk_facts: Prefix facts with ansible_

* Return raw values in bytes rather than formatted strings

* Fix Fail-Json message

* Improve examples
2018-01-26 19:46:53 +10:00
Reto Gantenbein
466e1b289b Add thin pool / volume managment to lvol (#19312)
* add functionality to create thin pool / volume on Linux LVM to lvol module

add `thinpool' parameter.
change `lv' parameter to not required.

To create thin poll, specify `thinpool'(, `vg' and `size') parameter and omit `lv' parameter.
It will create thin pool, nameed by `thinpool' parameter.

To create thin volume, specify both `thinpool' and `lv' parameter (also `vg' and `size' paramter is need).
It will create thin volume on `thinpool' pool, named by `lv' parameter.

Thin volume and pool can delete whith 'state=absent' parameter.
Thin volume is resizable like normal volume.
Thin pool can extend, but not reduce. This limitation is in Linux's LVM.

* Add thin volume support

- Based on f816618

- Indicate that either lv or thinpool are required parameters using
AnsibleModule's required_one_of.

- Resolve conflict with snapshot functionality

* Fix typo in documentation

* Fix and simplify logical volume check

* Rebase fixes

* Convert examples to native YAML syntax

* Fix failure with snapshot creation

* Properly fail when trying to snapshot a thinpool volume

* Don't fail when no size given for thin volume snapshot

Fixes ansible/ansible-modules-extras#2478

* Convert old style required property sneaked in through rebase

* Fix 'too many leading #' syntax check
2018-01-26 08:49:51 +00:00
Thom Wiggers
e2af5dfae0 Module to generate Diffie-Hellman parameters (#32620)
* Module to generate Diffie-Hellman parameters

Implements #32577

* Add integration tests for openssl_dhparam

* Slightly refactor check to prevent unnecessary regeneration

* Fix code smell in tests

Highly annoying to have to do this again and again and again as the rules change during the game

* Using module.run_command() and module.atomic_move() from a tempfile.

* Remove underscore variable

Ansible prefers dummy
2018-01-26 08:08:29 +00:00
Felix Fontein
a69445e218 Allowing to write intermediate certificate into file. (#34328)
* Allowing to write intermediate certificate into file.

* Fixing merge errors introduced in 25b1db5 (#34916).
2018-01-26 01:48:13 -05:00
Peter Sprygada
3f556f2e37
adds infoblox dynamic inventory script (#35328)
* adds infoblox dynamic inventory script

* fix up issues from sanity testing

* fix pep8 issues
2018-01-25 14:29:11 -05:00
Ondra Machacek
88c48d1437 ovirt: Support to search entity with additional parameters (#35285) 2018-01-25 14:19:25 -05:00
Pilou
0ce8d389a4 azure_rm_dnsrecordset: fix broken import and minor updates (#34983)
* fix broken import

Error was:
lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py:223:0: NameError: name 'ARecord' is not defined

* doc: use formatting functions

* remove unused dict
2018-01-25 09:39:49 -08:00
Trishna Guha
f8a89f120f
update nxos_interface doc (#35350)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-01-25 20:02:02 +05:30
Felix Fontein
e75055923b Changing behavior of new fullchain argument. (#34916) 2018-01-25 08:32:45 -05:00
Trishna Guha
cff4a2d26e
fix *os_config module backward diff (#35332)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-01-25 18:49:20 +05:30
Senthil Kumar Ganesan
2f46f8f944 Added support for new Ansible Infra (network_cli plugin, cliconf, module utils cleanup and test) for dellos10 Support t (#34915)
* Support for network_cli plugin and tests

* Fixed ansible-test * issues

* Fixed Pylint warning

* Fixed the sanity test errors

* Fix YAMLlinter issue - removed blank spaces

* Fixed Python 3 failures

* Fixed the PEP8 issue

* Fix sanity --test validate-modules

* Reverted the changes to the doc fragments
2018-01-25 12:37:27 +00:00
Abhijeet Kasurde
1f544ed6cc
VMware: Add new module : vmware_drs_rule_facts (#35337)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-25 16:38:07 +05:30
Felix Fontein
b50ab8eebd Letsencrypt: cleaning up tempfile code (2) (#35278)
* Cleaning up another tempfile opening.

* Avoid exception.
2018-01-25 03:58:24 -05:00
Felix Fontein
5959b93248 Removing underscore variables in letsencrypt module (#35282)
* Changing all _ variables to dummy (except one which will go away in #35278).

* dummy? -> dummy
2018-01-25 17:18:38 +10:00
Ganesh Nalawade
c216473c82
Fix ios integration test failures (#35333) 2018-01-25 12:26:17 +05:30
Yuwei Zhou
bec4dcd66c subnet should in the virtual network resource group (#35038) 2018-01-25 12:53:28 +10:00
Yuwei Zhou
7c201fc9bc delete subnet should be idempotent (#35037) 2018-01-25 10:59:14 +10:00
Ricardo Carrillo Cruz
d462a425f2
Remove all config from interface if absent on eos_l2_interface (#35318)
If the module is set to absent, read all possible configurations and remove them.
i.e. not just do a 'no switchport', as leaving around other options make
the logic handling harder.
If the user wants to remove switchport, remove all config for the interface
and finally push a 'no switchport'.
Also, I needed to map all possible params from interface regardless if state
is absent or present, so I can later detect what I need to remove in case of absent.
2018-01-24 23:16:33 +01:00
Ganesh Nalawade
90cd87f950
Fix debug logs failing with persistent connection (#33049)
* Fix debug logs failing with persistent connection

Fixes #33047

*  As debug logs are written on stdout, it interrupts
   the communication between ansible-connection(background)
   process and main process. To avoid this add a string similar
   to exactly identify the response string.

*  Remove unwanted code in ansible-connection

*  Fix review comments

* Fix spurious log emitted on ansible-connection stdout issue

*  ansible-connection which runs as a background process sends a
   json string (contains response received from remote device)
   to foreground ansible-playbook process over stdout.

*  If in case debug flag is enabled the connection_loader api
   invoked from ansible-connection `ssh = connection_loader.get('ssh', class_only=True)`
   results in emitting debug logs on stdout. This  spurious log
   interfere with the actual response and results in failure while
   reading json string in ansible-playbook process

* To avoid this save stdout of ansible-connection and redirect it string
  buffer to accumulate all the logs emitted by core API's

* Add these logs in `result['messages']` which is send a json string after reinstating saved stdout

*  Remove unwanted code in ansible-connection

* Fix review comment
2018-01-25 02:48:45 +05:30
cprh
d7f71ce6ae Support for Services in the IPA module (#35175)
* adding support to manage ipa services
* IPA Services does not have a description
* fixes from code review
* Cosmetic changes (indentation) + documentation
2018-01-24 23:08:42 +05:30
Anil Kumar Muraleedharan
636c5eda23 Changing BSD to GPL (#34909)
* Update License Information
2018-01-24 11:55:33 -05:00
Peter Sprygada
b4fa68555d adds support for using connection=netconf (#33400)
* adds support for using connection=netconf

This change updates the module to provide support for using
connection=netconf instead of connection=local.  If connection=netconf
is used, then the various connection arguments will be silently ignored.

* adds netconf plugin default

This adds a default implementation for netconf plugins if the network_os
is not specified.  The default plugin will implement only the standard
netconf rpcs

* fix up pep8 issues
2018-01-24 21:48:41 +05:30
Tim Rupp
bd09e67438
More bug fixes before 2.5 (#35260)
This patch includes more fixes for bugs that were identified in
the upcoming 2.5 release.
2018-01-24 08:15:37 -08:00
Matt Martz
1ac04ba52e
Don't skip an inventory source just because it has a comma (#35002)
* Don't skip an inventory source just because it has a comma, make sure it's also doesn't exist as a path. Fixes #34931

* Add integration test for inventory path with commas
2018-01-24 09:44:55 -06:00
Artem Zinenko
005a8278c6 influxdb: fix 'database_name' not optional (#35280)
follup up of 168fb07cba
2018-01-24 16:25:12 +01:00
Anil Kumar Muraleedharan
5a8c73ad1b Adding enos_config.py action plugin to create backup properly (#34789)
* Adding enos_config.py action plugin to create backup properly

* Changing BSD to GPL

* Changing License file to GPL

* Updating enos_config.py

* Updated copy right year to 2017
2018-01-24 15:22:44 +00:00
kbreit
3b669b8700 Clarify AWS autoscaling group documentation for load balancers (#35250)
Specified that `target_group_arns` is for application load balancers and `load_balancers` is for classic load balancers.
2018-01-24 10:18:08 -05:00
Elad Alfassa
01ae1790d2 Add ManageIQ alerts module (#32136)
* Add ManageIQ alert policies module

* rename manageiq_alert_policies to manageiq_alerts

* manageiq_alerts: address review feedback
2018-01-24 07:35:39 -07:00
bdowling
3b98a2981c Fix enable subprompt (#34723)
* Look for password prompts at the beginning of the line only

* Adds secondary checks for the supplied sub-prompts

Handles the case for enable prompts where enable_pass may be incorrect
and the deivce is still prompting for the password
2018-01-24 07:24:22 -07:00
Kedar Kekan
56eeaf1b2f
Changes to enable network_cli and netconf on iosxr integration tests. (#35269)
* * Changes to enable network_cli and netconf on modules.
* limits connection local for single TC per playbook.

* * adds a note on why only 1 TC is executed with connection: local
2018-01-24 19:46:27 +05:30
bdowling
f49a782099 Fix terminal prompt re in ios and iosxr to match newline (#34585) 2018-01-24 19:21:04 +05:30
Felix Fontein
8095815b32 Changing letsencrypt module to use ACME v2 protocol (#34541)
* Adding support for ACME v2 protocol to Let's Encrypt module.

* Retry if nonce is invalid. (https://github.com/letsencrypt/Pebble#invalid-anti-replay-nonce-errors)

* Add support for errors list (also see letsencrypt/boulder#3339).
2018-01-24 08:38:36 -05:00
Peter Sprygada
21169b2228 adds two new infoblox lookup plugins (#35189)
* adds two new infoblox lookup plugins

* nios - lookup plugin to return nios objects to the playbook
* nios_next_ip - lookup plugin to return the next avaiable ip address

* adds some additional examples to nios lookup

* fix up pep8 failures

* updates in response to review comments
2018-01-24 13:28:21 +00:00
Felix Fontein
0f17d74f0f tempfile.mkstemp() actually returns a file descriptor which should be closed. (#35263) 2018-01-24 12:06:10 +00:00
Will Weber
6d67abdeb0 spelling (#35258) 2018-01-24 11:36:40 +00:00
Claes Nästén
0582521f96 NSO: handle types for leaf-lists in nso_config (ValueBuilder) (#34986)
Fixes: #34985
2018-01-24 11:21:17 +00:00
Claes Nästén
b7f815ba89 nso_config handle data.not_found in exists for nested lists (#35267)
Recent NSO can return data.not_found error on exists when parent list
entries does not exist. Handle this and return as false.

Fixes: #35264
2018-01-24 11:21:05 +00:00
Christopher Brown
b8e8fb48a8 Add OpenStack Director provider (#35043)
Adds the ability to create an OpenStack Director provider in
ManageIQ.
2018-01-24 03:15:40 -05:00
Ken Celenza
669a86174f Update docs for telnet module (#35257) 2018-01-24 07:33:47 +00:00
saichint
0b30c42902 fix pim rp_address issues (#35248) 2018-01-24 11:48:49 +05:30
Colins-Git
7fac5cd7d2 Support for creation and modification of bridge and bridge slaves for nmcli (#34071)
Fixes: #31737
2018-01-24 11:00:09 +05:30
Zim Kalinowski
b2ea28f1ad [new module] azure_rm_sqldatabase (#34611)
* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase

* updates to azure_rm_sqldatabase
2018-01-24 15:17:31 +10:00
Trishna Guha
fd4fdbf01f
ios_logging handling platform difference (#35232)
* ios_logging handling platform difference

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* fix unit test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-01-24 10:39:31 +05:30
Yuwei Zhou
6f67d68f5a azure_rm_networkinterface: support the multiple ip configuration (#32882)
* support the mutilple ip configuration

* Update azure_rm_networkinterface.py

* add test

* fix spell

* make the virtual network name more flexiable

* add test

* fix

* fix lint

* add test

* fix parameter

* deprecate the flatten ip configuration

* fix lint

* fix encoding

* fix mirror

* fix

* load model from common
2018-01-24 14:57:08 +10:00
Deiwin Sarjas
e970ae102c ecs_ecr: Fix AWS ECR repository creation (#34798)
* ecs_ecr: Remove registry ID from create repository call

[Boto3 documentation][1] specifies 'repositoryName' as the only expected
argument. The `**build_kwargs(registry_id)` part also adds 'registryId' which,
when executed, fails with: 'Unknown parameter in input: “registryId”, must be
one of: repositoryName'.

[AWS API documentation][2] also lists only the 'repositoryName' parameter. I.e.
this is not a problem with the boto3 library.

The default registry ID for the account that's making the request will be used
when creating the rpository. This means that if the `registry_id` specified by
the user is different from the default registry ID, then the policy changes
following the repository creation would fail, because the repository will have
been created in one repository but subsequent calls try to modify it in
another. Added a safeguard against this scenario.

[1]: https://boto3.readthedocs.io/en/latest/reference/services/ecr.html#ECR.Client.create_repository
[2]: https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_CreateRepository.html

* Fix concurrent ECR integration tests

If the `ecr_name` is the same in multiple concurrent test runs, then they can
interfere with one another causing both to fail. The `resource_prefix` is
guaranteed to be unique for different jobs running in CI an so avoids this
issue while also making it easier to identify the test which created the
resource.
2018-01-24 10:42:41 +10:00
Sloane Hertel
ff2ad89081
Fix aws_account_attribute lookup credentials bug for access keys (#35242) 2018-01-23 18:55:56 -05:00
Ondra Machacek
542cd37f6e ovirt_disk: Fix fail state condition of disk creation (#35093) 2018-01-23 15:31:57 -05:00
Gaurav Rastogi
8e965c5986 New module to setup WAF profile. (#34363)
* New module to setup WAF profile.

* Update copyright notice.

* updated required fields
2018-01-23 20:22:54 +00:00
Michael Scherer
060001b08d Remove deprecated code (#34828)
* Remove compat code for to_unicode, to_str and to_bytes

Code was marked as deprecated and to be removed after 2.4

* Remove is_encrypted and is_encrypted_file

Code was marked as deprecated after 2.4 release.
2018-01-23 12:02:09 -06:00
Robin Roth
ec80f8ad80 Add identifier option to apache2_module (#33748)
* Add identifier option to apache2_module

There is a convention connecting the name passed to a2enmod and the one
appearing in apache2ctl -M. Not all modules follow this convention and
we have added a growing list of implicit conversions.
As a better long-term solution this adds an "identifier" option to be
able to set both strings explicitly.

* Run debian-specific tests only there

* Improve cleanup after apache2 tests

This is a follow-up/extension of https://github.com/ansible/ansible/pull/33630

* Add example for the new identifier option

* Put all debian tests in a block
2018-01-23 18:56:59 +01:00
Gaurav Rastogi
0d06d7caa0 New module to setup cluster cloud details settings for clouds like Az… (#34366)
* New module to setup cluster cloud details settings for clouds like Azure.

* Update copyright notice.
2018-01-23 17:09:46 +00:00
Dustin Spicuzza
b2dcc9c587 Better error message when file lookup fails (#30894)
* Alert user which debug level will show them useful details
2018-01-23 10:48:35 -06:00
René Moser
a8b9d7f8be iam_role: fix docs, managed_policy not required (#35229) 2018-01-23 11:28:39 -05:00
tomo
ef6b478d2a add rstrip and lstrip bool flags to file lookup plugin (#31738) 2018-01-23 10:14:19 -06:00
Jason Vanderhoof
7c8e365dff Conjur Lookup Plugin (#34280)
* Imported lookup plugin from Role

* Plugin cleanup, including:
* Use existing Python YAML parsing
* Remove environment variables as connection options
* Added initial debugging information

* Reworked the lookup plugin using the Python Request library.  As it's available through Ansible, it makes communication with Conjur much more straight forward.

* Removed un-used libraries

* Fixed linting issues

* Standardized output on `format` and insure it works for 2.6, 2.7, and 3.x.

* Use quote_plus from the six library for improved python 2/3 behavior.

* Refactored identity & configuration to prefer user's file. This also includes a refactor to remove an un-needed dictionary merge method.

* Removed `requests` in favor of `ansible.module_utils.urls`.

* Refactored netrc loading to warn if host is not present.

* Tests and a refactor to support easier testing.

* Added reference to website

* Fixed two linting errors

* Fixed an extra line found by linting

* Updated file write to use binary to insure config files are written correctly

* Resolved linting issues

* Refactored config & identity loading to take advantage of plugin options

* Cleanup a bunch of small items caught by linting

* Removed extra line caught by linting

* Swapped in pytest and added some tests with mocked network responses

* Pushing to see if this approach works better...

* Refactored be open_url mocking based on feedback

* Fixed a couple linting issues & refactored mocking into each method to attempt to resolve a failing test

* Use a generic MagicMock for python 2.6

* Fixes doc typo

require -> required

* Use `type: path` in identity_file and config_file

Also removes `expanduser` calls below (which will now be called automatically on
paths.)

* Defines maintainers for conjur_variable plugin

* BOTMETA.yml:
** defines $team_cyberark_conjur as maintainers of Conjur Variable plugin
** adds myself and @jvanderhoof to that team

* Adds URLs to relevant documentation for Conjur Variable lookup plugin

* Clarifies "the server," "the machine" -> "controlling host"

The machine identity used is that of the Ansible controlling host, not any
server being provisioned or instructed. This documentation change aims to make
that relationship clear.

* Adds response code to exception message on authentication failure

* Enhances exception messages to specify the controlling host

These error messages are less likely to confuse a user as to which machine is
associated with the files, identities, and configurations being described.

* Adds ANSIBLE_METADATA for Conjur variable lookup plugin
2018-01-23 10:04:57 -06:00
David Soper
9c9e692165 Ucs vlans and integration tests (#35071)
* UCS VLANs module and integration tests

* UCS VLANs and integration tests
2018-01-23 16:32:32 +01:00
Abhijeet Kasurde
013190c27b VMware: Add support for datastore cluster (#35230)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-23 10:25:38 -05:00
Abhijeet Kasurde
ca31e59b79 VMware: Add teaming policy for DVS Portgroup. (#35215)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-23 09:51:50 -05:00
Michael
75130b4a4d Support domainname in docker_containers (#32292) 2018-01-23 08:24:37 -06:00
Charl van Niekerk
30ed29ed46 Implement the reduce_on_network method to filter a list of IP addresses on a given range. (#34929) (#34930) 2018-01-23 08:14:56 -06:00
Dhivyap
19ff2f4e8c Ansible 2.5 feature support for dellos9 (#34880)
* Add ansible-2.5 support for dellos9

* Fix ansible-test issues and update copyright

* fix ansible-test errors in dellos9_config

* fix izip attribute error in python3

* fix python3 dict.keys() issue

* Remove waitfor aliases in dellos9_command
2018-01-23 13:59:27 +00:00
Ondra Machacek
9f84a12adf ovirt_vms: Add cpu_threads parameters (#35221) 2018-01-23 08:46:37 -05:00
David Soper
7aa0c929bf Ucs lan connectivity and integration tests (#35137)
* UCS LAN Connectivity Policies and integration tests

* Docs updated

* UCS LAN Connectivity Policy and integration tests

* Fix use of description in docs and argument_spec so validate-modules passes
2018-01-23 14:45:44 +01:00
David Soper
9945d9a720 Ucs vnic template and integration tests (#35136)
* UCS vNIC templates and integration tests

* docs updated

* UCS vNIC template and integration test

* Update docs and argument_spec for description, mtu, and target.
2018-01-23 14:45:31 +01:00
Jordan Borean
9e48cf875f Azure: added auth_source to override the source of the credentials (#35213)
* Azure: added auth_source to override the source of the credentials

* removed broken cli auth and fix some review changes

* missed some more cli auth stuff that isn't required

* Added cli auth back in

* Added docs around cli auth

* fix azure CLI auth issues

* tweak error messages
* fix auto fallback to cli
* fix import issues when azure-cli not installed
2018-01-22 23:38:05 -08:00
Toshio Kuratomi
32eef49062 Make AnsibleActionDone a private exception
We're going to remove this in the future so mark it private so people
are less likely to use it.
2018-01-22 23:36:34 -08:00
Toshio Kuratomi
ca8e4c806a Pass tempdir via module args instead of the environment 2018-01-22 23:36:34 -08:00
Matt Davis
06dc840b51
implement gather_subset on Windows setup (#35212) 2018-01-22 21:10:25 -08:00
Trishna Guha
4083c8e048
Fix nxos terminal plugin regex to support certain commands (#35186)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-01-23 09:04:13 +05:30
Abhijeet Kasurde
c0df05c028
github_release: Fix state returned from module (#33735)
This fix corrects the module state returned by github_module.
Now,
* When the release already exists, state is "ok"
* When the release is created, state is "changed"

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-23 08:37:41 +05:30
Toshio Kuratomi
b151f5d942 Move module_set_locale and module_lang back to global
These config settings are being deprecated so we don't want people to
think they need to implement them for their new shell plugin.
2018-01-22 18:38:15 -08:00
Toshio Kuratomi
62bc714dae Move setting for world-readable-tempfiles back to global config.
The code that depends on this is all in the action plugins so we should
leave it there until we either move that action plugin code over
(fixup_perms2) or we give action plugins the ability to register new
config.
2018-01-22 18:38:15 -08:00
Dag Wieers
64df1a7566
aci_aaa_user_certificate: Rename user parameter to aaa_user (#35207) 2018-01-23 02:23:06 +01:00
Toshio Kuratomi
f94fe61b6b Documentation and changelog for the plugin_filtering config option 2018-01-22 17:13:41 -08:00
Toshio Kuratomi
340a7be7c3 Implement plugin filtering 2018-01-22 16:54:53 -08:00
Toshio Kuratomi
14c3b4d8e5 Move yaml loading functions from DataLoader into a utility module. 2018-01-22 16:54:53 -08:00
Dag Wieers
2a4b3ef0c1 win_product_facts: New module to get Windows product information (#35206)
* win_setup: Add Product ID and Product Key in facts

So this is actually a very nice way to get product key information from
systems collected centrally.

Especially with systems that have been upgraded from Windows 7 or
Windows 8 to Windows 10 may not have a valid Windows 10 product
license key printed anywhere, it was a digital license.

If you ever have to reinstall the system, you may recover the system
from the recovery partition, or the original media, but cannot upgrade
to Windows 10 for free. By collecting the product key, one can always
reinstall your free Windows upgrade.

My only question is, do we want this to be part of the default facts, as
it may be considered important information. Or should we make a special
**win_product_key_facts** ?

* Add ACPI product key support

* Add integration test

* Remove Get-ProductKey function, move inline
2018-01-23 10:44:55 +10:00
Sloane Hertel
4a1cc661c4 add inventory caching & use in virtualbox inventory plugin (#34510)
* Inventory caching

* Add inventory caching for virtualbox

* Don't populate cache for virtualbox with stdout, use a dict of inventory instead

* Fix error creating the cache dir if it doesn't exist

* Keep cache default False and set to True in VariableManager __init__

* Check all groups before determining if a host is ungrouped.
2018-01-22 19:33:14 -05:00
Ben
9fdaa86c9f Fixes issue #34956 (#35149) 2018-01-23 10:25:08 +10:00
René Moser
390f65bd6a [cloud] iam_role: fix docs & default state to present (#35184)
* iam_role: default state to present

* fix yaml
2018-01-22 18:51:11 -05:00
Sloane Hertel
b94198f9de [cloud] New inventory plugin: aws_ec2 (#34416)
aws_ec2 is an inventory plugin intended to replace uses of the `contrib/inventory/ec2.py`
inventory script. 

For advanced grouping, please use the `constructed` inventory plugin.
2018-01-22 18:49:57 -05:00
Adrian Likins
6e585bdf24
Fact collector ordering deps (#31362)
Add deps/requires for fact collectors

Fact collectors can now set a required_facts
class attribute that will be a set of the names
of fact collectors they require to be run first.

ie, if a collector needs to know the ansible_distribution,
it should set it's required_facts to include 'distribution'

        required_facts = set(['distribution'])

If a collector requires another collector, it gets added
to the selected collector names.

We then topological sort the ordering of the collectors
so that deps work out (ie, 'distribution' will run before
'service_mgr')

required_facts were added to the collectors for:

        - network (requires 'distribution', 'platform')
        - hardware (requires 'platform')
        - service_mgr (requires 'distribution', 'platform')

Fix name references for facts (need 'ansible_' prefix)
is service_mgr

Fixes #30753
2018-01-22 18:23:40 -05:00
Marek
5fa29201a7 Port sts_assume_role to boto3 (#32569)
* Ported sts_assume_role to boto3

* Added integration tests
2018-01-22 17:46:08 -05:00
Adrian Likins
ffe0ddea96
add a vault --encrypt-vault-to specify vault id to use for encrypt (#31067)
Enforce that there can be only one --new-vault-id or
--new-vault-password-file and use this instead of
--encrypt-vault-id

* Add a config option for default vault encrypt id
2018-01-22 17:12:10 -05:00
Rob
866239e01a [cloud] Add support for using IP addresses in target groups (#34266)
* Add support for IP based ELB target groups. Fixes #30962

* Add support for using IP addresses in target groups
2018-01-22 16:47:41 -05:00
Aidan Feldman
de60328d94 add documentation around commonly-used Facts for Conditionals (#34263)
* add documentation around commonly-used Facts for Conditionals

There are a few Facts that are often used for Conditionals, so
documenting them on the Conditionals page with their possible values.

* Edit
2018-01-22 13:37:19 -08:00
Dag Wieers
7f6feca82f
Revert "win_setup: Add Product ID and Product Key in facts" (#35200)
* Revert "win_setup: Add Product ID and Product Key in facts (#34097)"

This reverts commit cf1f7b53df.
2018-01-22 22:32:23 +01:00
Peter Sprygada
dd5256f3df adds restart_if_needed argument to nios_zone (#35191)
* adds restart_if_needed argument to nios_zone

* minor updates to the documentation strings
2018-01-22 21:21:07 +00:00
Dag Wieers
d6004852a2
ACI: Move to 'host' parameter instead of 'hostname' (#35161)
* ACI: Move to 'host' parameter instead of 'hostname'

* Update host parameter in documentation fragment too
2018-01-22 22:06:56 +01:00
Dag Wieers
cf1f7b53df win_setup: Add Product ID and Product Key in facts (#34097)
* win_setup: Add Product ID and Product Key in facts

So this is actually a very nice way to get product key information from
systems collected centrally.

Especially with systems that have been upgraded from Windows 7 or
Windows 8 to Windows 10 may not have a valid Windows 10 product
license key printed anywhere, it was a digital license.

If you ever have to reinstall the system, you may recover the system
from the recovery partition, or the original media, but cannot upgrade
to Windows 10 for free. By collecting the product key, one can always
reinstall your free Windows upgrade.

My only question is, do we want this to be part of the default facts, as
it may be considered important information. Or should we make a special
**win_product_key_facts** ?

* Add ACPI product key support
2018-01-22 16:00:45 -05:00
Kairo Araujo
bcd883ce5e Included ansible_devices for AIX facts/hardware (#31546)
* Included ansible_devices for AIX
2018-01-22 14:37:45 -05:00
Toshaan Bharvani
87e82be09f added new IBM Power KVM guest recognisation (#35169)
Signed-off-by: Toshaan Bharvani <tab@toshaan.com>
2018-01-22 14:29:44 -05:00
Josh Souza
1ac715987b Update iam_group to add check mode support (#27589) 2018-01-22 14:29:22 -05:00
Ricardo Carrillo Cruz
b7f4504a36
Add eos_l2_interface module and integration tests (#35162)
* Add eos_l2_interface module and integration tests

* Address PR review comments

* Fix pylint issues
2018-01-22 20:00:39 +01:00
Will Thames
142cacfec3 [cloud] ECS Service load balancer modification graceful fail (#32876)
It is not possible to modify the load balancer configuration
for ECS Service.

As it is possible to detect this, it's nicer to fail gracefully
than return AWS's less meaningful failure message.

Fix PEP8 compliance
2018-01-22 13:37:09 -05:00
Abhijeet Kasurde
b24d502682 VMware: Refactor vmware_dvs_portgroup (#35193)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-22 13:15:18 -05:00
Giovanni Sciortino
b4736a8741 Add rhsm_repository module (#28292)
Add rhsm_repository module
2018-01-22 12:42:29 -05:00
Abhijeet Kasurde
c65842b9d8
Add check mode support in vmware_guest (#32858)
This fix adds check mode support in vmware_guest

Fixes: #32439

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-22 21:16:19 +05:30
Ganesh Nalawade
e8dd01fa5b
Add junos_l2_interface module (#35123)
* Add junos_l2_interface module

*  Implementation for junos_l2_interface module
*  Integration test

* Fix CI issues

* Fix review comments
2018-01-22 20:38:07 +05:30
Abhijeet Kasurde
912729b6a7
VMware: Check if VM is poweredoff before destroy (#35151)
This fix checks if VM is poweredoff before it can be destroyed.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-22 20:17:11 +05:30
Peter Sprygada
8d775a332e Add support for Infoblox NIOS (#35097)
* WIP: initial commit

* update documentation in modules

* fix up sanity check issues

* add unit tests for nios api

* fix up sanity check failures

* fix up EXAMPLES in modules

* mock infoblox_client.connector

* remove unsupported assert statement
2018-01-22 14:25:13 +00:00
abirami-n
775118aae2 2.5 Plugin Environment support and Testcases for dellos6 modules (#34890)
* Dellos6_2.5_support

* cleanup

* Fix pep8

* fix waitfor

* fix_facts

* fix_assert
2018-01-22 12:34:21 +00:00
Alberto Murillo
2018a61489 archive: Add support for xz (#34110)
* Add support for xz format on archive module

Fixes #34037
Fixes #34119

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>
2018-01-22 07:33:07 -05:00
Dag Wieers
39aad91c5c
ACI: Introduce port parameter (#35168)
* ACI: Introduce port parameter

* Add port parameter to documentation
2018-01-22 12:44:02 +01:00
Dag Wieers
46e53f90a7
ACI: Rename aci_intf_policy_* to aci_interface_policy_* (#35170)
* ACI: Rename aci_intf_policy_* to aci_interface_policy_*

* Modify documentation accordingly

* Fix validity ignore file
2018-01-22 12:40:15 +01:00
René Moser
8fdfda76e9
cloudstack: cs_network: implement subdomain_access (#34741) 2018-01-22 12:15:39 +01:00
saichint
4bc22be614 Fix for nxos_pim issues (#35103)
* fix nxos_pim issues

* unused line removed

* unused line removed

* remove unnecessary files
2018-01-22 11:30:52 +05:30
Chetan-CSI
d0a257efad aws-describe-subnets-rate-limit (#35044) 2018-01-22 09:14:22 +10:00
Michael Scherer
8071cc0529 Add support for adding the intermediate cert (#35144)
acme-tiny generate certificate without adding add the LE intermediate
certificate, which make several browsers and curl complain.
2018-01-21 15:39:22 -05:00
Tim Rupp
bff862b05d
Fixes bigip_asm_policy (#35154)
This module had been unable to successfully create policies
on different partitions. This appears to be fixed now
2018-01-21 10:11:27 -08:00
Michael Scherer
347b5d1e50 write need bytes object on python 3 (#35143)
Otherwise, it fail with:

    Traceback (most recent call last):
      File \"/tmp/ansible_c1zmq3i9/ansible_module_openssl_certificate.py\", line 808, in <module>
        main()
      File \"/tmp/ansible_c1zmq3i9/ansible_module_openssl_certificate.py\", line 787, in main
        certificate.generate(module)
      File \"/tmp/ansible_c1zmq3i9/ansible_module_openssl_certificate.py\", line 692, in generate
        certfile.write(str(crt))
    TypeError: a bytes-like object is required, not 'str'
2018-01-21 06:26:32 -05:00
Michael Scherer
f23f277e46 Verify that acme-tiny is present (#35145)
* Verify that acme-tiny is present

* Use run_command rather than subprocess for acme-tiny

Besides consistency with the rest of the code base, this also
add 2 bug fixes:
- ansible should no longer show "warning, junk after json" when using the module
- it also verify the return code of acme-tiny, and so fail when the
verification fail. The previous code didn't check rc, so it would continue
with a empty file
2018-01-21 06:26:18 -05:00
Dag Wieers
fa5adabcbf
aci_rest: Additional notes and simplify examples (#35091)
Add additional notes, improve examples
2018-01-21 10:59:08 +01:00
Dag Wieers
4b8e76747e
aci_config_snapshot: Fix bug with filter_target (#35141) 2018-01-20 22:49:59 +01:00
Dag Wieers
192c0dc9d1
ACI: Fix recently introduced bug (#35139)
This fixes #35135
2018-01-20 22:32:45 +01:00
Adrian Likins
08f92a9f0f
Fix fact deps when 'filter=ansible_fact' is used. (#33441)
The accumulated collected_facts was being update
with new facts _after_ filtering them. So only
facts that pass the filter would ever be passed
to other fact collectors.

For 'filter=ansible_service_mgr', even though it requires
the platform and distribution facts and even collects them,
they would get filtered out and never passed to the other
collectors that need them (service_mgr for ex).

Fix is just to add the unfiltered facts to collected_facts.

Adds unit tests for fact filter and collected_facts.

Fixes #32286
2018-01-20 15:07:27 -05:00
Adrian Likins
ec9769c82f
Facts distribution clear linux 31501 (#32453)
The search string used to look for Clear Linux
was changed in 45a9f96774 to
be more specific, but was too specific. Now finding
a substring match for 'Clear Linux' in /usr/lib/os-release
is enough to consider a match.

Since the details of the full name in os-release varies
('Clear Linux Software for Intel Architecture',
 'Clear Linux OS for Intel Architecture', etc) the
search string match was failing and would fall back to the
'first word in the release file' method resulting in
ansible_distribution='NAME="Clear'

Also add a meta fact indicating which search string
was matched.

Test case info from:
        https://github.com/ansible/ansible/issues/31501#issuecomment-340861535

Fixes #31501
2018-01-20 15:05:53 -05:00
Adrian Likins
fc180a378a
Support using vault password files that are themselves vault encrypted (#27668)
Extract vault related bits of DataLoader._get_file_contents to DataLoader._decrypt_if_vault_data

When loading vault password files, detect if they are vault encrypted, and if so, try to decrypt with any already known vault secrets.

This implements the 'Allow vault password files to be vault encrypted'  (#31002) feature card from
the 2.5.0 project at https://github.com/ansible/ansible/projects/9

Fixes #31002
2018-01-20 14:56:18 -05:00
Tim Rupp
ca8982f96c
Fixes some bugs and things (#35122)
Removes deprecations and fixes bugs.
2018-01-20 10:40:20 -08:00
Chris Houseknecht
a0bb193598
Add K8s inventory plugin (#34920) 2018-01-20 08:50:01 -05:00
Abhijeet Kasurde
04bee050ac
VMware: minor correction in documentation. (#35124)
Fixes: #27176

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-20 16:39:55 +05:30
Tim Rupp
90f0c411e4
Adds module for bigip_device_group_member (#35121)
Module allows for members to be managed in a device group
2018-01-19 20:57:41 -08:00
Tim Rupp
585d8cf4c7
Adds bigip_ucs_fetch module (#35113)
This module can be used to download UCS files from a BIG-IP
2018-01-19 20:25:47 -08:00
Dag Wieers
2cd8a3a9a3
ACI: Make network testing work out-of-the-box (#35116) 2018-01-20 02:47:28 +01:00
Dag Wieers
064aad817d
ACI: Add ACI version information to VMM domain docs (#35114) 2018-01-20 01:15:59 +01:00
Nathaniel Case
bf1580a333
ios_l2_interface (#35054)
* Fix sending 'None' to device on ios

* Add ios_l2_interface module & tests

* Skip l2 tests on non-l2 images

* Allow test to continue on non-L2 hosts
2018-01-19 17:14:32 -05:00
Will Thames
4d58d16793 Add aws_s3 action plugin to find source files as expected (#35028)
People expect to be able to upload files to s3 using standard
locations for files.

Providing an action plugin that effectively rewrites the `src`
key to the result of finding such a file is a great help.

Tests added, and IAM permissions corrected
2018-01-19 17:11:42 -05:00
Jordan Borean
d0e6889f93 win_become: another option to support become flags for runas (#34551)
* win_become: another option to support become flags for runas

* removed uneeded entries

* fixed up whitespace issue

* Copy edit
2018-01-19 13:58:10 -08:00
Bruno
04f1b140d9 added aci_interface_policy_leaf_policy_group module (#34968)
* added aci_interface_policy_leaf_policy_group module

* fixing documentation errors

* fixed argument_spec function and fixing documentation errors

* added documentation extends..

* removed unnecessary aliases, improved notes, improved examples to show optional description

* fixing sanity checks

* fixed proposed changes by dag

* Fix one more leftover
2018-01-19 21:31:25 +01:00
Ganesh Nalawade
b3b3c0ec54
Add regex to catch ios error prompt (#35007)
*  Move the error checking from ios_l3_module
   to ios termianl plugin by adding additional
   regex to catch error prompt.
2018-01-19 23:50:02 +05:30
Dag Wieers
585862e4d0
ACI: Added more VMM providers, doc improvements (#34879)
* Added more VMM providers, doc improvements

This fixes #34211 and others

* Add all VMM providers to other domain-related modules
2018-01-19 18:04:30 +01:00
Christian Giese
2697c0e237 junos scp module (#31950)
* junos_scp module

This module transfers files via SCP from or to remote devices running Junos.

* fix version

* add return documentation

* updated return documentation

* docu, renamed args and exceptions
+ update docu
+ rename arg download to remote_src (simitlar to copy module)
+ exception handling for transfer errors

* add tests

* add test_junos_scp_all

* update to reorganized module utils

* fix unit tests
2018-01-19 11:07:47 -05:00
Xavier Cambar
cea681a5c0 npm module compatible with npm5 (#26582)
* npm module compatible with npm5

Uses the `--long` flag in `npm list` to get the `missing` key back.

* npm: add integration tests

* npm: test the module with npm 4 as well

* Remove debug tasks, use variables

* Use tests instead of filters

* Adds xcambar as a maintainer of the npm module
2018-01-19 15:47:43 +01:00
René Moser
386c6b4051
influxdb: add login aliases (#34599)
influxdb_user module has user_name, user_password which may confuse with existing
login arg username and password. Added aliases prefixed ith login_ to
help distinguish.
2018-01-19 14:54:42 +01:00
Kedar Kekan
719feef2e0
* Fix DCI issues and changes to action plugin & utils (#35083)
* * Fix DCI issues and changes to action plugin & utils

* * Additional check to handle cli only modules for platforms that
support netconf
2018-01-19 16:22:31 +05:30
Felix Fontein
784853da35 Accepting SANs marked as critical (fixes #32767). (#35057) 2018-01-19 04:14:33 -05:00
Felix Fontein
39a7e0a975 Extending documentation (#35077)
- Adding Let's Encrypt production ACME directory URL
- Marking examples as one big example with several alternatives for the first step
- Adding another example which uses aliases for options, and uses DNS-01 challenges
2018-01-19 03:42:44 -05:00
René Moser
1a8bbcf146
vultr: new module vr_dns_record (#34423) 2018-01-19 09:34:23 +01:00
Abhijeet Kasurde
87f2893481
VMware: Get virtual machine object using property (#33525)
This fixes get_vm method to use propertyCollector which
can efficiently find the virtual machine from given VMware
infrastructure using only name.

* VMware: Refactor vmware_guest module
* Add nested paths of datacenter
* Add tchernomax suggestions

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-19 09:50:20 +05:30
Jordan Borean
e5c6708d39 win_updates: added blacklist and whitelist filtering of updates (#34907)
* win_updates: added blacklist and whitelist filtering of updates

* fixed sanity issue with docs

* fix docs typos
2018-01-18 16:29:46 -08:00
nwsparks
beb0fd9b8b win_iis_webbinding: Fix bug with ipaddress * returning multiple bindings (#34721)
* win_iis_webbinding: Fix bug with ipaddress * returning multiple bindings
instead of only the ones defined as *. Address possible future issues around
hostheader * by just disallowing it. Resolves 25473. Added new test for
this case.

Removed all validation for https binding collisions due to difficulty in
validating all cases in which they could or could not collide. As a
result, also removed return values relating to certificate data.

Updated testing and docs appropriately

* win_iis_webbinding: added break to remove binding loops
2018-01-19 10:00:35 +10:00
Jordan Borean
389f4ef1fb
template: change to pass along the correct template path (#35027)
* template: change to pass along the correct template path

* standardise tmp path behaviour

* removed if condition as it should not be needed
2018-01-19 09:51:42 +10:00
tdtrask
676ce74cbf apk: Fix package dependency bugs (#34419)
Fixes: #34325, #35062
2018-01-18 17:20:14 -05:00
Matt Martz
a451613dd1
Make sure we don't try to inspect DOCUMENTATION, if the plugin doesn't have any (#35017) 2018-01-18 15:30:40 -06:00
Felix Fontein
3a4b69096f Clarifying documentation about account key being different from certificate's private key. (#35059) 2018-01-18 16:08:34 -05:00
Matt Martz
d8329e530c
failed, skipped, and unreachable all seem to be needed for various callbacks. Fixes #34716 (#34724) 2018-01-18 14:42:40 -06:00
Abhijeet Kasurde
0a86287a92 Handle facts for HP-UX 9000/785 architecture (#33333)
This fix adds support for HP-UX '9000/785' architecture.

Fixes: #31976

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-18 13:26:42 -05:00
Dag Wieers
2fd5a99989
ACI: Fix validate-module tests E322 and E323 (#35052) 2018-01-18 19:18:43 +01:00
Matt Martz
29c1d5cb5d Ensure that the become password is written on py3 in the ssh connection plugin. Fixes #34727 2018-01-18 09:32:22 -08:00
Ulf Tigerstedt
fb18338cdc Change documentation for path: in openssl_csr to match reality (#35045) 2018-01-18 09:43:05 -05:00
Seuf
9b07746ff1 New module: monitoring/grafana_datasource (#29006)
* Add monitoring/grafana_datasource module

added ds type mysql and postgres + check of parameters

* Added option max_concurrent_shard_requests for es_version >= 5.6
2018-01-18 14:02:21 +00:00
Yanis Guenane
a2b00e9b52 openssl_certificate: Ensure issuer field is set (#34982)
Ensure the Issuer field of the certificate is set when using the
selfsigned backend.

Fixes: https://github.com/ansible/ansible/issues/34963
2018-01-18 13:35:05 +00:00
Abhijeet Kasurde
cf88bfdbbf VMware: Refactor vmware_maintenancemode module (#35000)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-18 04:40:16 -05:00
Trishna Guha
8a6d699198
Enable nxapi nxos_banner test (#35033)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-01-18 11:50:15 +05:30
Abhijeet Kasurde
bf2ce55ca6
VMware: Add new module: vmware_host_config_manager (#34627)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-18 10:00:22 +05:30
Aron Szekely
943730b70c Update pamd.py to allow module path with slashes (#32197) 2018-01-18 09:57:12 +05:30
Jordan Borean
630ae01f91
win_wait_for: fix tests after attempts change (#35026) 2018-01-18 14:15:54 +10:00
Jordan Borean
f0134079e3
win_script: work when argument exceeds stdin buffer size (#33855)
* win_script: work when argument exceeds stdin buffer size

* Added test for large argument being passed
2018-01-18 11:28:33 +10:00
Christopher Warner
e6d01ff7e3 fix for ec2 module terminating instances outside of inventory -- Fixes #19427 (#26621)
* Proposed fix for issue 19427

* Use string_types and to_text for evaluation, if not on empty dict.

* if int, to_text and continue on
2018-01-17 20:15:10 -05:00
Prasad Katti
5a9562a101 Add option to toggle describe_image_attribute lookups (#34977) 2018-01-18 10:20:10 +10:00
Tim Rupp
8cc0e74448
Adds better error handling to f5 api connections (#35020)
Previously, the failure of the API connection would result
in a stack trace. This patch makes the failure capable of exiting
with fail_json
2018-01-17 16:14:35 -08:00
Matt Davis
3371b5eb03
restore format arg to azure_rm_common errmsg 2018-01-17 16:10:17 -08:00
Matt Davis
3e56883c44
zap extra format args from azure_rm_common errmsg 2018-01-17 16:00:45 -08:00
Matt Davis
68ccd5fc00
fix minimum client version checking (#35018)
* bump minimum client versions to match requirements file
* improve prescriptive error messaging to match current recommendations
2018-01-17 15:26:07 -08:00
Elad Alfassa
ea1361a927 modules/na_cdot_lun: properly compare LUN size (#34846)
current_size is returned from the API as string, while self.size
(the requested size) is an integer. This caused the comparison
to always be False, and a resize request to always be sent.
2018-01-17 16:32:54 -05:00
John R Barker
9a32f5c889 Add missing extends_documentation_fragment (#35013)
NXOS modules need more work, though that will all be in
module_docs_fragments/nxos.py
2018-01-17 16:31:53 -05:00
Matt Martz
b20df1be02
Make template action respect local_tmp. Fixes #34941 (#35005) 2018-01-17 14:14:46 -06:00
Jordan Borean
8edd1cf182
changed to enable windows temp path override (#34967) 2018-01-18 05:54:10 +10:00
Matt Clay
f9f6080630 Improve handling of ansible-doc sanity errors. 2018-01-17 11:41:01 -08:00
clarkst
e4f294822f [cloud] kinesis stream server side encryption - fixes #30269 (#30689)
* Moved the encryption to its own action method.

* removed silly default value for encryption type.

* Code formatting issues from pull request ANSIBOT.

* changed version_added to  "2.5"
because of new new options available

* changed version_added to  "2.5"
because of new new options available

* changed version_added to  "2.5"
because of new new options available
2018-01-17 13:23:27 -05:00
Matt Martz
2cb810544c Address missing extends_documentation_fragment (#35008)
* Address missing extends_documentation_fragment

* Document purge_aliases
2018-01-17 13:17:15 -05:00
kokel
66f654cb64 filter ipaddr: add custom delimiter option to ip4_hex(); fix format (#26862) 2018-01-17 12:49:49 -05:00
Tim Rupp
529404adc4
Removes redundant docs (#35006)
bigip_routedomain included docs that are already part of the f5
documentation fragment. This removes the redundant ones.
2018-01-17 09:42:36 -08:00
Tim Rupp
acb26758ef
Adds better cli detection for bigip_command (#34975)
The new detection includes things like provider spec. The action
plugin for bigip generally was changed, so this is a required change
2018-01-17 09:33:20 -08:00
Matt Martz
a352d43824
Compare arg+aliases between docs and argument_spec (#34809)
* compare arg+aliases between docs and argument_spec

* Add some special handling for the network modules provider options that also appear in the top level arg spec

* Fix error code for bigip_hostname

* Address merge conflicts due to changes in f5 modules

* Update validate-modules ignore based off a clean execution

* Address merge conflicts

* Address renamed module

* Address recent changes to modules

* Add ignore for ucs_ip_pool

* Update aci modules to get more reliable documentation comparison, but not mutating the module_utils aci_argument_spec

* Update ignore.txt after recent aci updates

* Add extra guard to ensure we handle provider special only for network modules

* Address additional changes to modules
2018-01-17 10:11:30 -06:00
Will Thames
8d733dbdf0 [cloud] New module cloudfront_distribution (#31284)
* added cloudfont.py, modified cloudfront_facts.py class name and fixed a minor bug

* Improvements to cloudfront_distribution

* Reduce the scope of the cloudfront_distribution module
    * Remove presigning
    * Remove streaming distribution functionality
* Add full test suite for cloudfront distribution
* Meet Ansible AWS guidelines

* Make requested changes

Fix tests

Use built-in waiter

Update copyright
2018-01-17 11:03:23 -05:00
RobReus
53266e31df Work-around for empty changesets with status FAILED being created (#34933)
* Added check to prevent failed empty changesets from being left behind

* Fixing comments from PR 34933, prevent infinte loop and stricter exception catching
2018-01-17 11:00:28 -05:00
Gert Goet
9d4d86237d Logger-process is not considered for pid and state (#34905)
Fixes #34899
2018-01-17 10:50:28 -05:00
Pilou
217ff4498c ansible-config: add simple tests (#34900)
* Revert "Fix ansible-config with python3 (#34673)"

This reverts commit 2a9daaa45b.

* ansible-config: add simple tests

* Fix ansible-config with python3

* ansible-test: don't quote "unusual" characters
2018-01-17 06:33:33 -08:00
Kedar Kekan
93acd7c651 refactor iosxr_system for cliconf and netconf (#34749)
* * refactor iosxr_system for cliconf and netconf

* * Fix unit tests and sanity issues
2018-01-17 07:29:28 -07:00
Kedar Kekan
0f692f1fe7 iosxr_user refactor for cliconf and netconf (#34892)
* * refactor iosxr_user for cliconf and netconf

(cherry picked from commit 5d0994ef598f1601fca00a0c1eff4ebb05ebbf1b)

* * Purge and units test changes
2018-01-17 07:28:58 -07:00
John R Barker
db61f8f967
Clarify which ping module to use (#34935)
* Clarify which ping module to use

Ensure each of the ping modules link to each other

ping - Requires Python on remote-node
nxos_ping - Only on Cisco NXOS
ios_ping - Only on Cisco IOS
net_ping - For network devices
win_ping - only for Windows
2018-01-17 14:02:06 +00:00
Abhijeet Kasurde
4ba7b005f5
VMware: add new module: vmware_host_ntp (#34730)
This module manages NTP configuration for given ESXi server.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-17 18:53:13 +05:30
Abhijeet Kasurde
082654894a VMware: Add ESXi hostname in fact details (#34981)
Fixes: #33972

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-17 06:57:22 -05:00
Felix Fontein
80361ce4da Making letsencrypt module work with Python 3. (#34324) 2018-01-17 05:27:12 -05:00
maorlipchuk
7190b18616 Add missing storage domain properties (#34904)
* Add additional properties to storage domains

* add warn low space for additional storage properties

* Fixing comments

1. Fixing documentation
2. Use default None
3. Remove redundant if condition
4. remove added discard since it was already added

* Apply comments #2

Fix default value to None
Use percentages instead of GB
2018-01-17 04:48:27 -05:00
Felix Fontein
1d26686b09 Secure letsencrypt account_key_content better (#34979)
* Ensure temp account key file cleanup even when module fails.

* Adding warning to documentation on pitfalls of using account_key_content.
2018-01-17 03:02:06 -05:00
saichint
3a144b290d fix for nxos_vxlan_vtep_vni issues (#34946)
* fix vxlan_vtep_vni issues

* pep8 errors
2018-01-17 11:07:29 +05:30
Matt Davis
d7fbc94758
add custom_action support to azure_rm_virtualmachine (#34970)
* Adds custom_data parameter to azure virtual machine resource

Invoke custom_data in an integration test: This invocation of
custom_data should not cause any side effects.

* Bugfix: String encoding now works in both python2 and 3

* Fix pep8 violations

* Use nginx to serve a text file created via custom_data and verify that
that custom_data is working

* fix up azure_rm_virtualmachine custom_data

* tweaks #25924 
* simplify string encoding fun
* don't rely on external packages
2018-01-16 21:05:35 -08:00
Tim Rupp
e9b52aca64
Minor bigip fixes (#34971)
Updating docs in modules. fixing imports
2018-01-16 21:02:33 -08:00
Stéphane Travassac
8f80e6a302 VMware: basic files operations networkless (#33261)
This module adds ability manage file operations with vmware guest using vmware tools.
2018-01-17 09:48:12 +05:30
Jordan Borean
6f9f337a67
standardise the powershell FileUtils (#34969) 2018-01-17 14:16:34 +10:00
Tim Rupp
944ae47701
Detects errors in bigip_config (#34965)
There are changes that the merge config can fail, but the module
will still report success. This adds a blob of code to start
collecting those failures and bubbling up a module failure
accordingly.
2018-01-16 20:10:36 -08:00
Zim Kalinowski
b0625caa5a adding azure_rm_mysqldatabase (#33567)
* adding azure_rm_mysqldatabase

* updates to azure_rm_mysqldatabase

* updates to azure_rm_mysqldatabase

* updates to azure_rm_mysqldatabase

* updates to azure_rm_mysqldatabase

* updates to azure_rm_mysqldatabase

* updates to azure_rm_mysqldatabase

* Updated docs around force_update
2018-01-17 13:17:13 +10:00
Zim Kalinowski
eee29be115 adding azure_rm_postgresqldatabase (#33568)
* adding azure_rm_postgresqldatabase

* updates to azure_rm_postgresqldatabase

* updates to azure_rm_postgresqldatabase

* updates to azure_rm_postgresqldatabase

* updates to azure_rm_postgresqldatabase

* updates to azure_rm_postgresqldatabase

* updates to azure_rm_postgresqldatabase

* Updated docs around force_update
2018-01-17 13:16:27 +10:00
Will Thames
8e48793654 Speed up ec2_ami_facts and handle permissions issue (#34385)
* describe_images is very slow if not filtered to owner accounts
  *or* if the Owners parameter is passed (unless the Owners parameter
  is `self`). Convert Owners parameters to `owner-id` and `owner-alias`
  filters where possible. Tests with CLI show that `--owners self` is
  fast, `--owners 123456789012` is slow (with or without owner-id filter).

* describe_image_attributes fails against accounts other than your
  own. Launch permissions are useful information, but not critical.
2018-01-16 21:33:33 -05:00
Zim Kalinowski
7d05a86bbc [new module] Add Azure Container Instance support - cloud/azure/azure_rm_containerinstance (#32025)
* first dirty container instance

* added my name ;-)

* more updates

* more updates

* removed unnecessary stuff

* container instance updates

* several fixes

* undo changes in common

* removed unnecessary references, fixed delete

* added / updated parameters

* updated samples & comments

* updated docs, comments, samples and added registry credentials

* added ip address and port

* query existing container instance (but result not used yet)

* some major changes to the module

* more fixes

* added requirement for containerinstance module

* adding integration test

* fixes for pull request

* updated version

* updated version to 2.5

* updated version

* updated integration.cloud.azure.txt as requested by test framework

* removed due to merge reasons

* updated requirements-azure.txt

* undone azure-rm-common

* lf

* properly update test requirements

* first dirty container instance

* container instance updates

* several fixes

* review related updates

* review related fixes

* undo changes in common

* added / updated parameters

* query existing container instance (but result not used yet)

* updated version to 2.5

* updated version

* removed due to merge reasons

* updated requirements-azure.txt

* undone azure-rm-common

* properly update test requirements

* minor fix - sanity

* fix one issue after rebasing

* removed files accidentally added while rebasing

* removed checking for changes

* several fixes

* fixed sanity

* updates as requested by reviewers

* removed ci as it doesn't work

* reenabled ci

* renamed container instance, removed required: false

* removed default: null

* final updates according to the review

* one more fix

* first dirty container instance

* added my name ;-)

* more updates

* more updates

* removed unnecessary stuff

* container instance updates

* several fixes

* undo changes in common

* removed unnecessary references, fixed delete

* added / updated parameters

* updated samples & comments

* updated docs, comments, samples and added registry credentials

* added ip address and port

* query existing container instance (but result not used yet)

* some major changes to the module

* more fixes

* adding integration test

* fixes for pull request

* updated version

* updated version to 2.5

* updated version

* updated integration.cloud.azure.txt as requested by test framework

* removed due to merge reasons

* updated requirements-azure.txt

* undone azure-rm-common

* lf

* properly update test requirements

* review related updates

* first dirty container instance

* container instance updates

* several fixes

* review related fixes

* undo changes in common

* added / updated parameters

* query existing container instance (but result not used yet)

* updated version to 2.5

* updated version

* removed due to merge reasons

* updated requirements-azure.txt

* undone azure-rm-common

* properly update test requirements

* minor fix - sanity

* fix one issue after rebasing

* removed files accidentally added while rebasing

* removed checking for changes

* several fixes

* fixed sanity

* updates as requested by reviewers

* removed ci as it doesn't work

* reenabled ci

* renamed container instance, removed required: false

* removed default: null

* final updates according to the review

* one more fix

* changed location as default from resource group can't handle containers

* updates to container instance

* fixed mistakes during merge

* one more fix

* another mistake

* container instance fixes

* several fixes to container instance

* return value fix

* minor update

* just one api version right now

* fixed api version

* container instance does not suppurt api version

* removed unnecessary try blocks

* removed tags related things

* fixed pep8

* final fixes?

* final updates to the module

* more fixes
2018-01-17 10:05:45 +10:00
Tim Rupp
17d9ba304e
Adds module for bigip device group (#34958)
This module can be used to manage a device group on a bigip
2018-01-16 15:29:37 -08:00
Matt Clay
227ff61f9d
Add module support to yamllint sanity test. (#34964)
* Add module support to yamllint sanity test.
* Fix duplicate keys in module RETURN docs.
* Fix syntax in return_common docs fragment.
* Fix duplicate keys in module EXAMPLES docs.
2018-01-16 15:08:56 -08:00
Brandon Davidson
240024ea4a Fix ec2_vpc_net tags (#34725)
* Fix ec2_vpc_net tags

PR #33105 broke the tags returned by ec2_vpc_net - it was returning the raw boto3 list instead of a dict as expected.

* Add a test for tags
2018-01-16 17:47:58 -05:00
Dag Wieers
ac4b031cc0
ACI: Fix parameters and aliases in documentation (#34959) 2018-01-16 23:03:29 +01:00
René Moser
3b7136c5ab
cs_vpn_connection: fix wrong connection used (#34937)
* cs_vpn_connection: fix wrong connection used

* fix vpn_customer_gateway is required

* fix tests as we have a new required param

* code styling
2018-01-16 22:56:24 +01:00
Dag Wieers
6351eff74e
ACI: Add missing documentation_fragments (#34955) 2018-01-16 22:51:02 +01:00
Tim Rupp
835dd30d50
Fixes, and updates, bigip action plugin and module utils (#34947)
These fixes make provider work across more things. Adds a timeout
value, and makes the action plugin look similar to other network
action plugins
2018-01-16 13:36:49 -08:00
Jordan Borean
d43cb0a438
win_security_policy: Add link to the win_user_right module (#34953) 2018-01-17 06:50:47 +10:00
Felix Fontein
c42c0f0cb3 letsencrypt: Add support for Elliptic Curve account keys (#34852) 2018-01-16 20:49:34 +01:00
Felix Fontein
8d69eb4488 letsencrypt: fix fullchain is False by default. (#34912) 2018-01-16 20:33:16 +01:00
Matt Davis
9cf217a151
allow cert validation to be disabled for Azure modules (#34906)
* `validate` or `ignore` values may be set by module, credential profile, or env. Module has highest precedence, followed by credential profile, then environment, and defaults to `validate` if not otherwise specified.
* fixes #33455
2018-01-16 10:14:08 -08:00
David Soper
5044813c4c UCS IP address pool module and integration tests (#34748)
* IP address pool module and integration tests

* Examples corrected and imports moved to beginning of module.

* Revert ucsmsdk import lines to avoid import sanity test failures.

* Add comment around imports for ucsmsdk.
2018-01-16 16:57:52 +01:00
Tristan de Cacqueray
576335e53d Add GALAXY_TOKEN config option (#34621)
This change lets user store token in configuration file or environment to
prevent exposing the secret on the command line.
2018-01-16 07:37:50 -08:00
kwerey
92b3d79283 [cloudtrail] Only pass extra create_trail options if set in module params (#34745)
* Fixes #34700, only passes extra create_trail options when explicitly set
2018-01-16 08:45:01 -05:00
Trishna Guha
a727930f07
Remove deprecated params from module argspec nxos modules (#34911)
* Remove deprecated param from module argspec nxos modules

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* fix nxos_vrrp syntaxerror

* Add choices for version _nxos_ip_interface

* remove check_args function

* remove include_defaults
2018-01-16 18:23:58 +05:30
Abhijeet Kasurde
0196b6bb69
ce_engine: Refactor check_ip_addr (#34126)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-16 18:04:37 +05:30
John R Barker
195beebcb4
Module DOCUMENTATION should match argspec (#34895)
* Module DOCUMENTATION should match argspec

Large update of many modules so that DOCUMENTATION option name and
aliases match those defined in the argspec.

Issues identified by https://github.com/ansible/ansible/pull/34809

In addition to many typos and missing aliases, the following notable
changes were made:

* Create `module_docs_fragments/url.py` for `url_argument_spec`
* `dellos*_command` shouldn't have ever had `waitfor` (was incorrectly copied)
* `ce_aaa_server_host.py` `s/raduis_server_type/radius_server_type/g`
* `Junos_lldp` enable should be part of `state`.
2018-01-16 12:18:51 +00:00
Ganesh Nalawade
c386ae9498
Fix eos_vrf and eos_vlan interfaces param idempotent issue (#34921)
Fixes # 34917

*  Remove spaces from in between interface name
*  Convert interface name to lower case as interface name
   is case insensitive wrt configuring on remote device.
2018-01-16 17:46:14 +05:30
maorlipchuk
6fe0215c8f Add additional mapping attributes for VM/Template registration (#32835)
* Add VnicProfileMapping to register VM

Add vnic profile mappings to be supported in vm registration

* Add VnicProfileMapping to register template

Add vnic profile mappings to be supported in template registration

* Add reassign bad macs to register VM

Add reassign bad macs to be supported in vm registration.

* Add additional mappings params for VM registration

As part of the effort to support DR with oVirt
the "Register" operation is being added with a new mapping parameter
that describes the configuration of the registration.

The idea of supporting DR site to site in oVirt is to have 2 active
setups using storage replication between the primary setup and the
secondary setup.
Both setups will have active DCs, clusters, and hosts, although those
will not be identical.
The user can define a mapping which will be used to recover its setup.

Each mapping can be used to map any VM's attribute stored in the OVF
with its correlated entity.
For example, there could be a primary setup with a VM configured on cluster A.
We also keep an active secondary setup which only have cluster B.
Cluster B is compatible for that VM and in case of a DR scenario theoretically
the storage domain can be imported to the secondary setup and the use can
register the VM to cluster B.

In that case, we can automate the recovery process by defining a cluster mapping,
so once the entity will be registered its OVF will indicate it belongs to
cluster A but the mapping which will be sent will indicate that cluster B should
be valid for every thing that is configured on cluster A.
The engine should do the switch, and register the VM to cluster B in the secondary site.

Cluster mapping is just one example.
The following list describes the different mappings which were
introduced:
  LUN mapping
  Role mapping
  Permissions mapping
  Affinity group mapping
  Affinity label mapping

Each mapping will be used for its specific OVF's data once the register operation
will take place in the engine.

* Add additional mappings params for Template registration

As part of the effort to support DR with oVirt
the "Register" operation is being added with a new mapping parameter
that describes the configuration of the registration.

The idea of supporting DR site to site in oVirt is to have 2 active
setups using storage replication between the primary setup and the
secondary setup.
Both setups will have active DCs, clusters, and hosts, although those
will not be identical.
The user can define a mapping which will be used to recover its setup.

Each mapping can be used to map any Template's attribute stored in the OVF
with its correlated entity.
For example, there could be a primary setup with a Template configured on cluster A.
We also keep an active secondary setup which only have cluster B.
Cluster B is compatible for that Template and in case of a DR scenario theoretically
the storage domain can be imported to the secondary setup and the use can
register the Template to cluster B.

In that case, we can automate the recovery process by defining a cluster mapping,
so once the entity will be registered its OVF will indicate it belongs to
cluster A but the mapping which will be sent will indicate that cluster B should
be valid for every thing that is configured on cluster A.
The engine should do the switch, and register the Template to cluster B in the
secondary site.

Cluster mapping is just one example.
The following list describes the different mappings which were
introduced:
  Role mapping
  Permissions mapping

Each mapping will be used for its specific OVF's data once the register operation
will take place in the engine.

* Add support for update OVF store

Add support for task of update OVF store in a storage domain.
2018-01-16 07:14:29 -05:00
Simone Tiraboschi
41ce1eaea9 ovirt_disk: support sparse parameter (#34091) (#34894)
Support sparse parameter as an explicit
value to allow creating raw-sparse disks.

This commit fixes #34091
2018-01-16 07:04:03 -05:00