Commit graph

19357 commits

Author SHA1 Message Date
Baptiste Fontaine
571f878817 file: Mention that src supports state=hard (#31697) 2017-12-15 17:17:34 -06:00
nathaniel gentile
441dc369ba py3 compatibility: convert bytes to str (#33206)
Fixes #31723
In python3, ansible's fetch_url utility function wraps urllib.request.urlopen.
For HTTP and HTTPS URLs, this function returns a http.client.HTTPResponse object slightly modified.
Calling .read() on an HTTPResponse object returns bytes (note the docstring fix).

Here, to_native is used to convert the bytestrings returned by fetch_url into unicode strings.
This is necessary because:
  1. Pre python3.6, json.loads requires passing a string, not a bytestring, as its argument
  2. In python3 generally, testing if a string is a substring of a bytestring
     using the 'in' operator will raise a TypeError

see:
- https://docs.python.org/3/library/urllib.request.html#urllib.request.urlopen
- https://docs.python.org/3/library/http.client.html#http.client.HTTPResponse.read
- https://docs.python.org/3/library/json.html#json.loads
2017-12-15 16:17:15 -06:00
André Nähring
b9bc64c7f9 Adding param "rule_num" for insert action to iptables module (#33708)
* Added rule_num parameter for insert action in iptables module
2017-12-15 16:08:40 -06:00
Pilou
85871da03d consul_acl: fix broken import (#33729) 2017-12-15 16:06:11 -06:00
Brian Coca
87c75b19dd
dont warn on not matching 'all' (#32806)
* dont warn on not matching 'all'

the implicit localhost warning shoudl be enough

* centralized no hosts handling

also extended info on implicit only
2017-12-15 15:43:51 -05:00
Brian Coca
2b7799f817
added flatten filter (#33102)
* added flatten filter
2017-12-15 14:40:02 -05:00
Maxime de Roucy
c2ac9d0831 fix file attributes changed detection
https://docs.python.org/2/library/stdtypes.html#str.split
str.split([sep[, maxsplit]])
If sep is given, consecutive delimiters are not grouped together and are deemed
to delimit empty strings.

>>> "85563      ----------------C-- /var/lib/libvirt/images".split(' ')[0:2]
['85563', '']
>>> "85563      ----------------C-- /var/lib/libvirt/images".split()[0:2]
['85563', '----------------C--']
2017-12-15 09:48:18 -08:00
Matthew Staebler
82cd5ffa1d [aws modules] use ec2_url in a few places it was missing (#33954) 2017-12-15 12:06:24 -05:00
bdowling
d59bba4652 Fixes prompt doubling issue that impacted missing ios enable password prompts. (#33794)
* Fixes a prompt doubling issue that impacted missing ios enable password prompts.

Due to get_prompt sending a '\n' the prompts became doubled and out-of-sync with what
was expected.  This caused the enable command prompts to be missed.
Also added verification that on_become succeeded to reach enable prompt.

* Moved prompt doubling comment per shippable
2017-12-15 11:31:28 -05:00
Konstantin Shalygin
3c0a84349b [module] find: Add ability to exclude results by pattern. (#18949) 2017-12-15 09:27:34 -07:00
Nathaniel Case
f71bbdfed5
Fix vyos sending 'None' to device (#33889)
* Fix vyos sending `'None'` to device

* Move bytes handling into common cliconf code
2017-12-15 11:20:53 -05:00
Claes Nästén
5fdb39c4d1 nso_verify for Cisco NSO (#33945)
Module for verifying that configuration is as expected in Cisco NSO.
2017-12-15 13:43:07 +00:00
Abhijeet Kasurde
b5318e2c34
VMware: Add NIC configuration option (#33851)
This fix adds following configurable parameters to virtual network card
of virtual machine.
* WakeOnLanEnabled
* StartConnected
* AllowGuestControl

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-15 17:54:52 +05:30
Claes Nästén
b2bc98c161 nso_action for Cisco NSO (#32781)
nso_action module for execution actions/RPCs in NSO.
2017-12-15 11:29:04 +00:00
Abhijeet Kasurde
29d3505cb4
VMware: check for ESXi server while creating user (#33061)
This fix check for ESXi server instance before proceeding
with managing local user. Also, adds integration tests for
this change.

Fixes: #32465

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-15 16:26:19 +05:30
Abhijeet Kasurde
31510259f6 VMware: Refactor vmware_portgroup (#33703)
Fix adds following:
* Documentation update
* Idempotency
* Remove Portgroup functionality

Fixes: #33666

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-15 05:14:05 -05:00
Ganesh Nalawade
2f932d8767
Add parent pid to persistent connection socket path hash (#33518)
* Add parent pid to persistent connection socket path hash

Fixes #33192

*  Add parent pid in persistent connection socket path hash
   to avoid using same socket path for multiple simultaneous
   connection to same remote host.

* Ensure unique persistent socket path for each ansible-playbook run

* Fix CI failures
2017-12-15 10:21:56 +05:30
Abhijeet Kasurde
08a2338277
Add idempotency in snapshot creation (#28466)
Fix adds idempotent behavior while creating snapshot

Fixes: #24511

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-15 08:34:39 +05:30
Jordan Borean
0ca828ebab
win_iis_webapppool: stop any passwords from being returned (#33931) 2017-12-15 09:50:44 +10:00
Sloane Hertel
cae14e16ac Port ec2_vpc_net to boto3 and add support to expand existing VPCs - fixes #31216 (#33105)
* Port ec2_vpc_net to boto3 and add support to expand existing VPCs

* Add s-hertel as an author for ec2_vpc_net

* Update ec2_vpc_net test for new error triggered by lack of credentials

Fix backwards compatibility

Document new return value

* Fix pep8 and return documentation
2017-12-15 09:41:03 +10:00
Brian Coca
465ace4c14 else was wrong 2017-12-14 17:38:39 -05:00
Haridas N
0eb426bb9e HipChat API v2 support for ansible callback plugin (#33882)
* hipchat API v2 support for callback plugin.

* hipchat API v2 support for callback plugin.

* Migrated to new way of handling plugin config.
2017-12-14 17:30:31 -05:00
Tim Rupp
22059cbe67
Adds bigip_device_httpd module (#33924)
this module can be used to adjust the details of the server that
hosts the BIG-IP web ui.
2017-12-14 14:16:28 -08:00
Matt Martz
0b9f1f7982
Handle vault filenames with nonascii chars when displaying messages. Fixes #33879 (#33926) 2017-12-14 16:02:25 -06:00
Ted Timmons
ff4eb94a04 accept variants of returned json mime type (#33894) 2017-12-14 15:54:59 -06:00
Will Thames
ddc3465408 [cloud] Remove repeated error handling and region checking, both now in boto3_conn (#32774)
* Remove boto usage from boto3 modules

* Remove region checking

boto3_conn now takes care of region checking and handles NoRegionError
exceptions with a standard message

boto3_conn also takes care of other connection exceptions too.

* Document boto3 as a requirement for ec2_eni_facts
2017-12-14 16:16:59 -05:00
Mamad Purbo
c52964a6f4 [cloud] support encryption on create S3 folder (#33854) 2017-12-14 16:10:42 -05:00
Brian Coca
54e8e122bf
fix doc fragments (#33892)
* fix doc fragments

fixes #33864

* pop it
2017-12-14 16:06:47 -05:00
Stefan Horning
c421878523 [cloud] Return id of ENI in addition to network_interface_id for ec2_eni_facts (#33814)
* Return id of ENI in addition to network_interface_id. To be compatible to ec2_eni.

* Added documentation for the return values of the ec2_eni_facts module

* Fix typo in docs for ec2_eni_facts
2017-12-14 15:02:06 -05:00
Gaël Lambert
82949f6e6f lookup hashi_vault: Add Vault App role in auth_method (#22403)
Provide Vault App role method to the lookup.

https://www.vaultproject.io/docs/auth/approle.html

Usage :

`{{ lookup('hashi_vault', 'secret=secret/hello:value auth_method=approle role_id=myroleid secret_id=mysecretid url=http://myvault:8200')}}`

You can skip `role_id` and `secret_id` if you set `VAULT_ROLE_ID` and `VAULT_SECRET_ID` environment variables.
2017-12-14 13:25:05 -06:00
Adam Miller
6cb388a98a New Module: package_facts (#33195)
* new package_facts module

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>

* remove package_facts pkg manager aliases, they are misleading

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>

* fix package_facts tests now that aliases are dropped

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-12-14 13:47:47 -05:00
David Soper
d1cf9cfeb6 Connection and MAC pool module for Cisco UCS (#31151)
* Initial commit for UcsConnection and ucs_macpool module.
Configures MAC address pools on UCS Manager.

* ansible-doc fixes

* PEP8 fixes

* pep8, pylint, and validate-modules fixes

* Correct indent issue introduced during pycodestyle cleanup

* Simplified module arugment setup.
Placed all code in main to avoid multiple calls and arg passing.

* module_utils/ucs changed to UCSModule which now handles login/logout directly
login_handle removed from module.params
doc updates on mac_list params and change to first_addr/last_addr for mac blocks
checking of all mac params

* Move module_utils to remote_management/ucs
Fix validate-modules issue with docs

* UCS MAC pool integration tests
Fixed issues with MAC pool descr and address range params
2017-12-14 19:38:35 +01:00
Brian Coca
67c83823f2 Add q/query aliases to lookup (#33466)
* Add L alias to lookup, defaults to real list
* renamed to q/query as per core meeting
* also force wantlist=true
2017-12-14 11:53:00 -06:00
John R Barker
f127e5d535
Fix a few docs build issues (#33685)
Noticed when doing `make webdocs`
2017-12-14 17:33:27 +00:00
Prasad Katti
6995985a52 Pass in '**results' to exit_json only if results is a dict (#33910) 2017-12-14 10:59:56 -05:00
Brian Coca
11063dabaf fixed version_added, update clog 2017-12-14 10:41:46 -05:00
Brian Coca
1a7c096954
new redis lookup (#33883)
* new redis lookup

deprecated redis_kv

* typo fix
2017-12-14 10:35:46 -05:00
Nathaniel Case
67a8ff47aa
Promote get_prompt to live in network_cli instead of cliconf (#33880)
This removes the immediate need for a cliconf plugin to use network_cli
2017-12-14 09:51:41 -05:00
rhpvorderman
5578193ae4 Block markers in blockinfile no longer hard coded (#31787)
* Block markers in blockinfile no longer hard coded
2017-12-14 08:24:14 -06:00
Kairo Araujo
7a5ea9cae4 Included ansible_distribution_major_version #29561 (#31754)
Included ansible_distribution_major_version according with
issue #29561
2017-12-14 08:22:48 -06:00
Abhijeet Kasurde
4391f5c094
VMware: Handle No Permission exception while clone (#33806)
This fix adds exception handling for No Permission exception
raised while clone operation.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-14 19:13:23 +05:30
tchernomax
a09fd80bba VMware: fix vmPathName on VM creation (#33315)
* VMware: fix vmPathName on VM creation
* vmware_guest: enable unit tests disk_type_d1_c1_f0
2017-12-14 18:41:09 +05:30
Katerina Koukiou
137498bff1 cloud:ovirt:ovirt_storage_domains.py: Allow not passing dc_name parameter (#33377)
When state == absent we can skpi dc_name parameter.
This patch introduces same functionality for other states.
2017-12-14 07:53:42 -05:00
pmargara
5a4fd97955 Added 'quota' parameter and 'description' parameter to ovirt_disk module (#33860)
* Added 'quota' field and 'description' field to ovirt_disk module

* ovirt_disk: fixed example

* quota => quota_id and other improvement
2017-12-14 07:53:16 -05:00
James Mighion
f8e3cfe9e2 Aruba indenting (#33884)
* Fixing aruba's inconsitent indenting.

* Adding config with different children indentation and unit test to confirm the different spacing does not matter.

* Fixing pylint check. Missed an r prefix.
2017-12-14 14:37:34 +05:30
Jurgen Brand
7bb55bdc2b Added icinga2_host module (#31720)
* Added icinga2_host module

* Fix build error

* trailing spaces and other errors from ansible build process

* Formating

* docu errors

* last spacing; import module

* fix imports

*  Removed request lib for ansible.module_utils.urls

* small whitespace fixes

* Remove typo

* Fix docu

* icinga2_hosts to icinga2_host in naming

* Update example
Fix Dewotine error when delete a none existing host

* Fixes docu problems

* White spaces

* small text improvements

* Remove force argument from module and docu

* Set author correct ( and hopefull the maintainer )

* Minor formatting changes
2017-12-14 07:38:22 +01:00
Gurchet Rai
490dc40203 Fix DO_API_KEY environment variable check (#33512)
`os.environ['DO_API_TOKEN']` raised a `KeyError` preventing the check
for `os.environ['DO_API_KEY]` from being executed. Fix this by failing
only if the api token isn't set.
2017-12-14 00:07:45 -05:00
Brian Coca
be5d68f3ad
add support for other scms to pull (#33152)
* add support for other scms to pull

* show choices for scms module in help
2017-12-13 22:16:54 -05:00
Jacob McGill
3b941802ac ACI ENCAP POOL RANGES: Add new module to support encap ranges (#33758)
* ACI ENCAP POOL RANGES: Add new module to support encap ranges

* fix module name

* remove extra format string
2017-12-14 00:35:50 +01:00
Brian Coca
afa82be019 make become prompt method agnostic (#33789)
fixes #33747
2017-12-13 17:57:06 -05:00
Brian Coca
ad94a3a6a2 fix reconcile to ensure 'ungrouped'
also removed redundant 'hosts to all' as all groups already ensure that inheritance
2017-12-13 17:29:01 -05:00
David Kretch
98260f9884 Fix pamd error when inserting a new rule at the end. Fixes #28487 (#28488)
* When inserting a new rule in `insert_after_rule`, check if the old rule is
the last rule, to avoid a list index out of range error when attempting to
access the next rule.
* Add a test for inserting a new rule after the last rule.
2017-12-13 15:31:20 -06:00
Russell Parks
158b32cd7a user: Fix add for SuSE Linux Enterprise 11 (#27015) 2017-12-13 15:30:51 -06:00
XuXinkun
7229eba569 use docker exec in case docker cp failed. (#26571) 2017-12-13 15:30:30 -06:00
Anil Kumar Muraleedharan
890b97a38f Lenovo enos bugfixes (#33857)
* Bug Fixes to issues foubd during testing

* Removing blank line

* undefined-variable Undefined variable 'run_commands' and training new line

* Reverting and Modifying changes with both Unit test and Integrated test with Devices passing
2017-12-13 20:57:51 +00:00
Will Thames
15a58d498d [cloud] Improve snake <-> camel conversion for AWS utils (#31400)
Allow CamelCase version of snake_dict_to_camel_dict
(currently only dromedaryCase is supported)

Add reversible option to camel_dict_to_snake_dict

Add tests for both of these options
2017-12-13 15:13:26 -05:00
Nathaniel Case
2425374fdd
Actually move vyos tests to network_cli (#33710)
* Fix vyos on network_cli on python3

bytes do not have format() in Python3

* Push connection to tasks, with bonus connection=local test

* Run tests without explicit connection set

* Add/update START messages where appropriate
2017-12-13 14:30:24 -05:00
John R Barker
cfb15b0272 Revert "YAML inventory unit test: fix test inventory format (#33828)" (#33869)
This reverts commit dfb2f346d8.

https://github.com/ansible/ansible/pull/33828
2017-12-13 14:19:19 -05:00
Alex
2f67d3a4f3 facts: Fix duplicate IPs in ipv4_secondaries (#32040) 2017-12-13 14:05:20 -05:00
Adam Miller
ae92426e72 fix ci, duplicate exception checking was merged in wait_for (my fault)
Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-12-13 09:53:39 -08:00
Mans Matulewicz
beef269d46 Update mount.py (#23906)
added noauto to dvd mount example, simply copy pasting + removed (virtual) optical disc will result in a non booting system (centos7)
2017-12-13 11:37:01 -06:00
Austin S. Hemmelgarn
50ceb8d7d8 wait_for: change file check to handle directories and sockets (#20979)
open(path) throws an error when called on a directory or UNIX socket,
and therefore a check to ensure that the path is absent will always
succeed when there is a directory or file located there.

This updates the check to use os.access(path, os.F_OK) instead, which
instead just checks that the path exists instead of trying to open it as
a file, and therefore properly handles directories and sockets.

This causes a slight semantic change in how permissions are handled.
The existing code will fail to work correctly if the user running the
module on the managed host has no read access to the path specified.
The new code will work correctly in that situation.
Both versions fail if the user can't traverse the parent directory.

I've also added a check to the try block to catch OSError. I've seen
this call fail with an OSError on rare occasion in the face of odd
extended permissions (usually MAC configuration) in cases where it
should technically return False. In such cases, the file is functionally
inaccessible to the user making the call, so it's essentially not there,
but it can't be created by them either. I've documented this, as well as
the fact that the bug this change fixes exists, and a rather nasty
inconsistency involving symbloic handling that I stumbled across while
testing this change.

Fixes: #20870
2017-12-13 11:10:19 -06:00
tchernomax
29bed12cdd vmware_host: add reconnect and add_or_reconnect states (#30582)
* vmware_host: add reconnect and add_or_reconnect states

Add "reconnect" and "add_or_reconnect" choices for "state".

* reconnect: reconnect an esxi to a vcenter (imply it is present).
* add_or_reconnect: do the same but add the esxi if absent.

Also:
* tag the cluster_name as required (because it is).
* tag esxi_username and esxi_password as not required because
    they aren't when the esxi isn't added.

* vmware_host: add + prepare/document integration tests

vmware_host module

Add integration test for the add part of "add_or_reconnect" state.

Prepare and document integration tests for the reconnect part
of "add_or_reconnect" state and "reconnect" and "absent" states.

Currently we can't test those states as ReconnectHost_Task (for
"reconnect") and EnterMaintenanceMode_Task (for "absent") aren't
implemented yet in vcsim (from vmware/govmomi)
2017-12-13 11:13:12 -05:00
cyrill
d08179593f Add a new option firstmatch to lineinfile module. (#33825)
* Add a new option firstmatch to lineinfile module.

* Add firstmatch option in DOCUMENTATION

* Fix indent

* Add version_added "2.5"
2017-12-13 09:49:44 -06:00
Stefan Horning
e55efc547c [cloud] Bring return parameters for name/arn and subnet ID back to ec2_asg module (#33775)
* Readded vital return parameters to the ec2_asg that have been spared for no obvious reason

* Fix typo in ec2_asg docs

* Fixing another typo in ec2_asg docs.
2017-12-13 10:45:34 -05:00
Pilou
dfb2f346d8 YAML inventory unit test: fix test inventory format (#33828)
* Fix YAML inventory unit test

* YAML inventory unit test: add checks

* YAML: add hosts without any group to ungrouped
2017-12-13 15:30:59 +00:00
James Mighion
3a9083cf48 ios_config save (#33791)
* Fixing save so it still works. Adding changed as an option for save_when.

* Updating unit tests.

* Updating description to state that changed was added in 2.5.
2017-12-13 07:36:43 -07:00
Pilou
492d777ad7 imc_rest: fail when requirement is missing (#33750) 2017-12-13 13:54:38 +00:00
Pilou
02e965ba20 maven_artifact: fix broken import (#33749)
* Fail when lxml isn't available

* whole project requires Python >= 2.6
2017-12-13 13:54:05 +00:00
Will Weber
99abe24d74 remove unused import and unused variable disk_size (#33741) 2017-12-13 13:49:55 +00:00
René Moser
5bcc9cd1c3
influxdb: fix missing arg specs (#33859)
* influxdb: fix missing arg specs

* influxdb: doc: move database_name spec to doc fragments

* influxdb: cleanup unused import
2017-12-13 12:41:57 +01:00
Haidara Mohamed El Mouctar
20ce0bde30 Fix a typo in the readme of the skeleton used by ansible-galaxy. (#33807)
`ansible-container init` instead of `ansible-contiainer init`
2017-12-13 11:35:05 +01:00
Ganesh Nalawade
ea18b9021a
Revert "Deprecate Entity, EntityCollection and use subspec in network modules (#33575)" (#33849)
This reverts commit 4349b56643.
2017-12-13 13:07:52 +05:30
Pilou
b6528ea19f ovirt_disk: fix Python 3 compatibility (use six) (#33730) 2017-12-13 07:51:34 +01:00
Will Thames
1f8f394de3 Remove deprecated restart: parameter from win_feature examples (#33848)
`restart` is a deprecated parameter. Show how to use `reboot_required`
in examples instead
2017-12-13 16:48:45 +10:00
Gianluca
1d10a2867c Fixes #33771 - win_iis_webapppool bugfix (#33777)
* Fixes #33771

* Fixes #33771 - mod 1

* removed some unneeded whitespace
2017-12-13 16:34:44 +10:00
Jordan Borean
5b666a5074
added documentation info regarding win_unzip and recurse (#33846) 2017-12-13 16:34:05 +10:00
Abhijeet Kasurde
70f5e091f1
VMware: Handle version restriction error (#33805)
This fix handles RestrictedVersion error raised by server
due to restricted license.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-13 11:47:48 +05:30
Tim Rupp
9a807e6316
Adds bigip_security_port_list module (#33845)
This module can be used to manage port lists in an AFM configuration.
2017-12-12 21:13:06 -08:00
Zim Kalinowski
eb5ffa0d4e [new module] Added Azure SQL Servers support - cloud/azure/azure_rm_sql_servers (#33077)
* Added new module: Azure RM SQL Servers

* fixed sanity issues

* enabled integration test

* disabling test as Microsoft.Sql namespace not available

* renamed servers -> server

* updates as requested in the review

* udpates to sql server

* renamed module

* replaced has_key by in

* flattened results

* final updates to sql server

* updates as requested in the review

* added more tests

* deleting unexisting instance up front

* more tests

* another round of test changes

* removed uneeded test
2017-12-13 14:31:00 +10:00
Tim Rupp
cb026bb660
Adds bigip_profile_client_ssl module (#33844)
This module can be used to manage client ssl profiles on a BIG-IP
2017-12-12 19:54:43 -08:00
Toshio Kuratomi
155f36bbd8
Rekey on member (#33836)
* Change cast_list_to_dict to more generic rekey_on_member

cast_list_to_dict was taking an arbitrary data format in and returning
an arbitrary data format out.  Rework this to be a more generic function
which creates a dict of dicts based on a member of the dict.

Remove cast_dict_to_list since rekey_on_member handles the use cases we
know about and cast_dict_to_list suffers from the same problems as
cast_list_to_dict.  If this is still needed we could think about filters
we could add to do this in a short jinja2 pipeline.

* Fix bare excepts (bare excepts even catch sys.exit())
2017-12-12 19:02:15 -08:00
bdowling
5b6ba8cbfd Minor spelling fix (#33822) 2017-12-12 23:13:27 +01:00
yungez
392b55b70b add Azure user agent for Visual Studio Code extension (#33366) 2017-12-13 06:57:37 +10:00
Brian Coca
8d78a829c6
always preserve certain keys (#33637)
* always preserve certain keys

fixes #33433

* results
2017-12-12 13:01:52 -05:00
Adam Miller
7bc7c347dd remove unnecessary extra conditional (thanks bcoca)
Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-12-12 12:52:46 -05:00
Adam Miller
4df610f961 order agnostic child group definition in inventory
Previously if a child's group vars section was defined before the
child group itself, an edge case would be hit where the state of the
pending declaration would process as var and therefore drop the
child pending declaration context. This would result in the group
vars defined for the parent group being out of scope for the child
group.

Example:

    [web:children]
    appnodes
    proxies

    [web:vars]
    deployment_type=prod

    [appnodes:vars]
    foo_var=true

    [appnodes]
    appnodes[1:3].example.com

    [proxies:vars]
    bar_var=true

    [proxies]
    proxies[1:3].example.com

Previously the deployment_type variable would be out of scope for
both the appnodes and proxies groups. This patch fixes that.

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-12-12 12:52:46 -05:00
Ryan S. Brown
bd769bf79a Add iam_role_facts to changelog 2017-12-12 12:21:20 -05:00
Will Thames
c27ded6bbc [cloud] New iam_role_facts module (#32874)
* Add iam_role_facts module

Provide information about IAM roles

* Improve path prefix handling

Add preceding or trailing `/` if not already present
2017-12-12 12:19:53 -05:00
Martin Krizek
5a5f4b7fcd
Fix included task's name in handler (#33821) 2017-12-12 17:52:01 +01:00
Abhijeet Kasurde
73abde399c
VMware: Fix SSL Context checking for Python <2.7.9 (#33683)
Fixes: #33602

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-12 22:02:36 +05:30
Nathaniel Case
a2650cbe05
Fix last eos issue in net_* tests (#33726)
This should finally fix it.
2017-12-12 10:06:06 -05:00
MarkusTeufelberger
9ea1b18ff7 Allow multiple values per key in name fields in openssl_certificate/csr (#30338)
* allow multiple values per key in name fields in openssl_certificate

* check correct side of comparison

* trigger only on lists

* add subject parameter to openssl_csr

* fix key: value mapping not skipping None elements

* temporary fix for undefined "subject" field

* fix iteration over subject entries

* fix docs

* quote sample string

* allow csr with only subject defined

* fix integration test

* look up NIDs before comparing, add hidden _strict params

* deal with empty issuer/subject fields

* adapt integration tests

* also normalize output from pyopenssl

* fix issue with _sanitize_inputs

* don't convert empty lists

* workaround for pyopenssl limitations

* properly encode the input to the txt2nid function

* another to_bytes fix

* make subject, commonname and subjecAltName completely optional

* don't compare hashes of keys in openssl_csr integration tests

* add integration test for old API in openssl_csr

* compare keys directly in certificate and publickey integration tests

* fix typo
2017-12-12 12:35:22 +00:00
Alex Ratner
7dac82e2e2 typo fix (#33810)
typo fix in description
2017-12-12 12:25:53 +00:00
Abhijeet Kasurde
ff525ab3d1
VMware: Refactor vmware_vmkernel (#33664)
This fix adds following:
* Documentation update
* Add support for DHCP
* Refactor code to use PyVmomi class

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-12 14:49:16 +05:30
pari-
dd2ea8ae1d files/file.py: Raise an IOError when trying to touch a file with missing intermediate directories within it's path (#33765)
Fixes #33744

Signed-off-by: Patrick Ringl <patrick_@freenet.de>
2017-12-12 09:48:55 +01:00
Adam Miller
3abc2cc968 locahost -> localhost typo in inventory/data.py (#33790)
Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-12-12 09:46:18 +01:00
Felix Kaechele
8475171f67 firewalld: Implement zone operations (#32845)
* firewalld: Implement zone operations

Zones are removed or added when no other operations are used in
conjunction with the keywords 'present' or 'absent'.

This leads to a logical and natural syntax of:

- firewalld:
    zone: foo
    state: present

for adding or removing zones.

Signed-off-by: Felix Kaechele <felix@kaechele.ca>

* firewalld: zone ops: addressed review concerns

- Added more documentation on the peculiarities of the zone operations
- Output meaningful error messages when trying to use zones incorrectly

Signed-off-by: Felix Kaechele <felix@kaechele.ca>
2017-12-12 09:34:41 +01:00
Jacob McGill
9ff5c15f57 ACI Encap pool: New module for support layer2 encap pools (#33219)
* ACI Encap Pool: Add new module to support VLAN, VXLAN, and VSAN Pools

* update logic for allocation_mode

* update docstring and tests

* Update filter_target since url method has been updated
2017-12-12 07:51:19 +00:00
Abhijeet Kasurde
1d53fbeb59 Add ssl, validate_certs in InfluxDB modules (#33327)
This fix adds ssl and validate_certs argument spec for InfluxDB
modules. Also, refactors code.
Add BSD License.

Fixes: #31923

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-12 07:56:24 +01:00
jglf
74a7cc7130 vmware_guest: option to enable nested virtualization (#28149)
Signed-off-by: Julien Le Foll <jlefoll@percallgroup.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-12 11:02:56 +05:30
Abhijeet Kasurde
80fb836ce5 VMware: set extra configs for virtual machine (#33454)
This fixes implementation of extra config for virtual machine.

Fixes: #32004

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-12 00:19:04 -05:00
Jordan Borean
6e4c690a37
Fix fetch when retrieving a file with a multiple of the buffer size (#33697)
* Fix fetch when retrieving a file with a multiple of the buffer size

* fixed sanity issue
2017-12-12 14:56:21 +10:00
Jordan Borean
e3f44b74bd
win_stat: better support for links (#33005) 2017-12-12 14:07:56 +10:00
Abhijeet Kasurde
bbe976113d Remove deprecated option CREATEUSER (#32504)
This fix removes a deprecated Postgresql User role attribute
called 'CREATEUSER' and 'NOCREATEUSER'. Also, updated documentation
for deprecation.

Fixes: #24928

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-11 21:39:27 -05:00
Abhijeet Kasurde
8d61583c02
VMware: add trailing / in case of nested folders (#33479)
This fix adds a trailing / in case of nested folders.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-12 07:57:34 +05:30
Michael Scherer
38b8d62e68 Add autodetection of atomic as a package manager
On Fedora Atomic Host, there is no yum or dnf, but the module ot use to
install package should be atomic_container. We verify that this is
a Fedora Atomic Host with rpm-ostree, not atomic since atomic
can be used on a regular non ostree distribution.
2017-12-11 21:20:19 -05:00
Martin Krizek
7170751703 redhat_subscription: remove python2.4 compat (#33762)
* Replace get_exception with native error handling.
2017-12-12 07:19:08 +05:30
Brian Coca
0d35a69f0e normalize names 2017-12-11 18:20:04 -05:00
Adrian Likins
a57d6a4206 Use pop in cb clean results (#33779)
* Fix _clean_result for debug callback with 1 char var names

The check in _clean_results was removing any keys that happened
to be one of the chars in ('invocation') instead of the string
'invocation'. This was meant to be a tuple but there was no comma
so the for iterated the string instead of the tuple.

Introduced in 9dba580204

Update unit test to catch this.

Fixes #33723

* Use .pop() to remove invocation from results dict

In base callback _clean_results, simplify the way the
'invocation' item is removed.

Add some more unit tests.
2017-12-11 17:41:12 -05:00
Sloane Hertel
5e24f5c701 [cloud] Ec2 module warning when IP assignment is changed on existing instances (#33783) 2017-12-11 15:21:56 -05:00
Tal Zur
a1c0b4336d module/spotinst: Add Spotinst as a new cloud provider (#26388)
* module/spotinst: Add Spotinst as a new cloud provider to manage Elastigroups
2017-12-11 15:08:37 -05:00
Jacob McGill
c26a528b21 ACI Module: Update modules to provide match criteria; allows more complex matching (#33756) 2017-12-11 18:43:11 +00:00
Trishna Guha
c2b4fd7f1e
Convert non-DI module to DI nxos_user (#33770) 2017-12-11 20:55:05 +05:30
Ganesh Nalawade
4349b56643
Deprecate Entity, EntityCollection and use subspec in network modules (#33575)
* Deprecate Entity, EntityCollection and use subspec in network modules

*  As per proposal https://github.com/ansible/proposals/issues/76
   deprecate use of Entity, EntityCollection, ComplexDict, ComplexList
   and use subspec instead.
*  Refactor ios modules
*  Refactor eos modules
*  Refactor vyos modules
*  Refactor nxos modules
*  Refactor iosxr modules
*  Add support for key in suboptions handling

* Fix CI issues
2017-12-11 20:31:25 +05:30
Gaudenz Steinlin
a23da23491 cloudscale_floating_ip module (#33181)
* Refactor cloudscale API code

Move code common to all cloudscale cloud modules into a common base
class.

This is needed as a prepartion of the cloudscale_floating_ip module.

* cloudscale_floating_ip module

New cloud module to manage floating IPs on the cloudscale.ch IaaS
service.
2017-12-11 14:48:35 +00:00
Eike Frost
bf8439e2a0 Zabbix host ipmi (#33718)
* Update zabbix_host documentation (extend ipmi_-documentation, and update style to be consistent on the rest while we are at it)

* Remove ipmi_parameters being added to the API call when not required

* remove optional parameters from add_host, as well
2017-12-11 08:41:35 -05:00
Christopher Brown
145c6f953d add oVirt provider to ManageIQ module (#33751)
This commit adds oVirt/RHEV capability to the ManageIQ remote
management module.
2017-12-11 04:52:33 -05:00
Abhijeet Kasurde
dbc6963617
mount: Add option to backup fstab file (#33734)
This fix adds option to create a backup of fstab file
before making any changes to it.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-11 10:09:07 +05:30
Tim Rightnour
51475cd623 Add a vmware_datastore_facts module (#30815)
Fix a bunch of things mentioned in the review.

Delete commented code from module.  Add fix for vcsim not returning
uncommitted.
Add integration test.

Add changes suggested
2017-12-10 10:55:55 -05:00
Pilou
326b208b19 osx_say: add espeak support, rename module to say (#33071)
* Rename osx_say module into say

* say: remove undocumented default value for voice parameter

* say: add support for espeak command

* say: handle check_mode

* say: handle GNUstep tool
2017-12-09 13:45:31 +00:00
QijunPan
50dc1f09ad fix ce.py provider param issue (#27876)
* Update ce.py

* Update ce.py

fix CloudEngine host failed #27903
2017-12-09 19:03:31 +05:30
René Moser
d307dee4db
letsencrypt: add new param account_key_content (#32948)
* letsencrypt: add new param account_key_content

* rename account_key_path to account_key_src

* fix error in removing temp keyfile
2017-12-09 08:48:15 +01:00
Abhijeet Kasurde
2caddf0212
Refactor Digital Ocean Domain (#29179)
* Remove dopy dependency
* Use DigitalOceanHelper class
* Incorportated BondAnthony's changes

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-09 11:24:20 +05:30
Tim Rupp
11580947f8
Adds token cleanup to some f5 modules (#33728)
The tokens can build up over time and if too many accumulate, it
prevents you from logging in. This adds cleanup
2017-12-08 15:39:04 -08:00
Tim Rupp
e4abb0de33
A first pass at moving libs to new dir structure (#33727)
* A first pass at moving libs to new dir structure

The network modules changed their module_utils dir structure.
This first patch establishes mod utils for F5 in this new structure.

Module use will be limited until things are more fleshed out

* Fixing upstream errors

* Fixing more issues
2017-12-08 15:28:23 -08:00
Tim Rupp
7b76124c07
Fixes for gtm wide ip (#33725)
Adds pools argument. Refactors code to support new conventions.
Adds more unit tests
2017-12-08 14:17:30 -08:00
Will Thames
3283f46ffa Create common waf module for use by future waf modules (#33003)
Move waf common code into waf module_utils.
This will be used by future waf modules
2017-12-08 15:50:26 -05:00
mikedlr
a95894dfcb ec2_vpc_route_table - unmask exceptions during route create/delete (#32256) 2017-12-08 15:48:09 -05:00
Justin Menga
fa313c58c0 [cloud] Delete stack using CloudFormation role ARN if available 2017-12-08 15:45:27 -05:00
Sloane Hertel
cc802624a6 [cloud] document return values for ec2_lc (#32592) 2017-12-08 15:41:25 -05:00
Matt Doller
bcb19b9d3a [cloud] Enable redshift enhanced vpc routing, dc2.8xlarge type (#33674)
- Adds Enhanced VPC Routing as a configurable option when creating a
  new cluster.  Defaults to 'false'
- Adds the new dc2.8xlarge node type
2017-12-08 15:35:53 -05:00
Prasad Katti
5d579e1e66 [cloud] Port ec2_key module to boto3 (#33075)
* port ec2_key to boto3

* update tests for ec2_key
2017-12-08 15:34:46 -05:00
Toshio Kuratomi
824ec37a4f Fix Command module documentation
The command module docs were unclear.  They talked about ignoring the user's environment which lead people to believe the user's environment variables were not used.  In actual fact, the user's environment variables are used.  They just are not expanded in the command.
2017-12-08 10:07:00 -08:00
Katerina Koukiou
e3d99e35d3 cloud:ovirt:ovirt_storage_domains.py: Raise Exception in case no host is up for SD removal (#33662) 2017-12-08 10:22:53 -05:00
Sloane Hertel
7bb35e8781
Fix using loops with environment and add tests (#32796) 2017-12-08 10:13:22 -05:00
Reza Jelveh
aa74434815 allow smartos vmadm to create docker vms (#32819) 2017-12-08 15:02:11 +00:00
Toshio Kuratomi
b455901904
Fix shebang. shebang and interpreter path weren't being templated (#33698)
* Fix shebang.  shebang and interpreter path weren't being templated

Fixes #18665
Fixes #33696
2017-12-08 06:59:24 -08:00
Claes Nästén
c8a5e689e3 Fix issue with setting values in choices (#33574) 2017-12-08 08:10:25 -05:00
Abhijeet Kasurde
882065b9b4
VMware: Refactor vmware_guest_find module (#33412)
This fix refactors vmware_guest_find module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-08 13:27:23 +05:30
Prasad Katti
fb0343cd12 Remove default value for 'value' option in route53 module (#32297)
* [route53] Remove default value for 'value' option. Fixes #32296.

* assign value_in the default value after the required_if check
2017-12-08 14:15:41 +10:00
John R Barker
18529a275b Bulk pep8 fixes - hand crafted (#33690)
* Bulk pep8 fixes - hand crafted

Fix by hand the remaining issues that autopep8 couldn't

* Next batch of hand crafted pep8 fixes

* Ignore W503

https://github.com/PyCQA/pycodestyle/pull/499

* Revert more of W503
2017-12-07 19:29:21 -08:00
Eric Citaire
bcd189509e Fixes #33521, remove temp file. (#33522) 2017-12-08 11:25:02 +10:00
bverschueren
3a634058f3 python3 support for letsencrypt module (fixes #30690) (#32734)
*   python3 support for letsencrypt module (fixes #30690)
  * initialize result to a dict in some methods to prevent 'NoneType is not iterable' TypeError
  * use dict.get() to retrieve values from info dict to prevent KeyError
  * convert to/from text/bytes using _text methods for PY3 support
2017-12-07 17:21:37 -08:00
John Barker
10cd2cd1b7 Manually fix issues that autopep8 introduced
* iam.py 161 -> 160 chars
* lamba -> single line function -> multiline function

Avoid redefining key

iam line length

iam.py now clean
2017-12-07 20:25:55 +00:00
John Barker
c57a7f05e1 Bulk autopep8 (modules)
As agreed in 2017-12-07 Core meeting bulk fix pep8 issues

Generated using:
autopep8 1.3.3 (pycodestyle: 2.3.1)
autopep8 -r  --max-line-length 160 --in-place --ignore E305,E402,E722,E741 lib/ansible/modules

Manually fix issues that autopep8 has introduced
2017-12-07 20:25:55 +00:00
Will Thames
d13d7e9404 Fail when attempting to modify unmodifiable target group parameters (#33246)
* Fail when attempting to modify unmodifiable target group parameters

As you can't modify Port, Protocol or VPC id for a target group, fail
when this happens rather than pretending to do it.

One could argue that the target group could be recreated rather than
failing, but this has massive knock on implications to other resources
that depend on the TG (all ASGs would need to be updated, the ELB
listener would need to be updated, etc)

* Use `.get()` instead of direct dictionary access
2017-12-07 15:17:45 -05:00
Brad Macpherson
a12cbc3dde [cloud] ec2_placement_group module to create/delete EC2 Placement Groups. (#33139)
* Added modules to create, delete, and describe EC2 Placement Groups.

* Remove unnecessary print statement

* Update to use boto3.

* De-linting

* Remove facts from this PR

* Update to newer method of handling Boto3 connections and exceptions.

* Futzing around with imports and HAS_BOTO3

* Fix up exception imports.

* Remove redundant default.

* Handle DryRunOperation errors appropriately.

* Remove redundant BOTO3 check.

* Use shorter licence declaration.

* Remove redundant HAS_BOTO3 import.

* Add AWSRetry decorators to API calls.

* Add new 'strategy' parameter to allow for cluster and spread PGs.
2017-12-07 14:44:09 -05:00
Kirill German
4e9aa8bea2 Adding ipmi settings for zabbix host (#33435)
* adding ipmi settings zabbix host

* adding ipmi settings zabbix host

* adding ipmi settings zabbix host

fix misspelling

* ipmi settings for zabbix host

add newline at eof

* update documentation and example section

* fix documentation

* fix documentation

delete 'choises'

* delete whitespaces

* fix default ipmi settings
2017-12-07 18:47:33 +00:00
Andreas Olsson
b78ab37a94 Only expose rekey options to ansible-vault command
`ansible-vault` is the only cli command which knows how to handle the
rekey options `--new-vault-id` and `--new-vault-password-file`. No
point in exposing those rekey options to any of the other ansible
commands.

On a practical level I think this matters most in ensuring that
`--help` doesn't produce any false/unhelpful output.
2017-12-07 11:48:20 -05:00