Commit graph

570 commits

Author SHA1 Message Date
Miguel Duarte Barroso
4951e5a5b7 os_security_group_rule proper module exit (#50076)
When the security group the rule belongs to does not exist and
the state is absent, the module is not properly exited, leading
to a playbook execution failure.

Fixes issue #50057
2018-12-20 11:49:52 +00:00
Michael Rose
bcae7f24cb influxdb_user: Fixed unhandled exception on invalid login credentials (#50134) 2018-12-20 11:47:39 +00:00
Andrea Tartaglia
65c7424a35 Added organization in the scm_credential get (#49884)
* Added organization in the scm_credential get

* Fallback looking for cred in project org

* Tests project with multi org credential

* Fixed CI issue

* Added changelog fragment
2018-12-19 12:01:12 +00:00
Jordan Borean
65ce1b727e
win_copy - fix remote dir copy when it contains an empty dir (#50126) 2018-12-19 14:55:09 +10:00
Martin Krizek
545edc9114 facts: detect FreeBSD KVM guests (#50030)
Fixes: #49158
2018-12-19 06:57:53 +10:00
Martin Krizek
29c3bb48e9 facts: correctly detect multiple ipv6 addresses per device (#50020)
Fixes #49473
2018-12-19 06:49:28 +10:00
Jordan Borean
efda3eaf1c
win_lineinfile - fix malformed returned json (#50066) 2018-12-19 05:39:25 +10:00
Brian Coca
88c87a3583
added handlers_from (#49220)
* added handlers_from

fixes #46769
2018-12-18 11:28:24 -05:00
Jérémy Lecour
2fb9b46752 Lineinfile must not insert lines multiples times with insertbefore/insertafter (#49409)
* Change test suite to fit expected behaviour

This reverts some changes from ansible/ansible@723daf3
If a line is found in the file, exactly or via regexp matching, it must 
not be added again.
insertafter/insertbefore options are used only when a line is to be 
inserted, to specify where it must be added.

* Implement the change in behaviour mentioned in the previous commit

* Fix comment to reflect what the code does

* Set the correct return message.

In these cases, the lines are added, not replaced.

* Add a changelog
2018-12-17 16:42:24 -05:00
Matt Martz
7eb1ab45a7
Allow tags to be templated from a variable (#49833)
* Allow tags to be templated from a variable. Fixes #49825

* Restore _load_tags to ensure we do csv tag splitting

* Add tests for csv tags and templated tags

* evaluate_tags doesn't need to accept strings, because _load_tags handles this
2018-12-17 15:40:26 -06:00
Matt Martz
a0d71e7735
Fix reverse_inventory order to work on python3 (#49895) 2018-12-17 15:39:29 -06:00
Aleksander Kovtunenko
ba562043e1 changed if logic Type to boolean (#49628)
* changed Type to boolean

* fix after review

* created fragment
2018-12-17 16:21:36 -05:00
Toshio Kuratomi
61b1daa65f Port from plaform.dist to ansible.module_utils.distro.linux_distribution
ci_complete
2018-12-17 11:01:01 -08:00
Eric Miller
4d0f2e632c Docker inventory service/stack groups for docker swarm (#48021)
* Adding service and stack grouping to docker inventory

* Updating documentation

* Adding changelog fragment for docker.py inventory script
2018-12-17 11:58:26 +00:00
Adam Miller
16f48bb4be
add changelog for pr #49912 (#49962)
Signed-off-by: Adam Miller <admiller@redhat.com>
2018-12-14 14:07:52 -06:00
Dave Bendit
d62d7176b0 [docker_container] Failing on non-string env values (#49843)
* [docker_container] Failing on non-string env values

Fixes #49802

* Clarify failure message

Co-Authored-By: DBendit <David@ibendit.com>

* Fixup from review
2018-12-14 13:21:54 -06:00
Dave Bendit
c67f4290e6 [docker_volume] Checking option minimal versions (#49839)
Fixes #38833
2018-12-14 13:20:48 -06:00
Akshay Gaikwad
1e0363ec7d Support for cache_from parameter in docker_image module (#49787)
* Support for cache_from parameter in docker_image module

Fixes #21704

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Minimum docker version check for cache_from option

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Add changelog fragment

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* cache_from fix when docker-py is older

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
2018-12-14 13:19:40 -06:00
Jordan Borean
4019d4f6d1
Windows Privileges - moved util code to it's own C# util (#48897)
* Windows Privileges - moved util code to it's own C# util

* Rename Enabler class to PrivilegeEnabler to remove ambiguity

* rename Utils to PrivilegeUtil

* fix missing util name changes
2018-12-14 12:00:46 +10:00
Jordan Borean
190d1ed7f1 win become: refactor and add support for passwordless become (#48082)
* win become: refactor and add support for passwordless become

* make tests more stable

* fix up dep message for Load-CommandUtils

* Add further check for System impersonation token

* re-add support for become with accounts that have no password

* doc fixes and slight code improvements

* fix doc sanity issue
2018-12-12 17:15:25 -08:00
Michael Rose
b422c59ada Amends #47040 - influxdb_user - Prevents potential accidental password changes to blank (#49084)
* Amends #47040 - Prevents potential accidental password changes to blank

* Added changelog fragment
2018-12-12 12:43:37 -05:00
Pierre-Louis Bonicoli
7e278b23b4 inventory plugin order: update doc
add doc for #44428:
- add changelog fragment
- update porting guide
also:
- update auto inventory plugin doc
- mention toml plugin in examples
2018-12-12 09:35:13 -08:00
WhyIsThisOpen
7bdca72713 rhn_register fixes for username and password when unregistering
- Require username and password for unregistering and avoid "cannot marshal None unless allow_none is enabled" error when using an activation key and no channels specified.
- Update test fixtures and add changelog


Co-authored-by: WhyIsThisOpen <WhyIsThisOpen@users.noreply.github.com>
2018-12-12 11:32:48 -05:00
Dave Bendit
8fcf9e1a28 [docker_container] Fixes idempotency checks for network_mode (#49797)
Fixes #49794
2018-12-12 09:04:24 +00:00
Abhijeet Kasurde
d36922064b Add support for hex color in slack module (#49804)
Fixes: #11935

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-12 08:41:49 +00:00
Andrea Scarpino
06099bd116 win_uri: fix body with one item in list (#49484) 2018-12-12 14:06:54 +10:00
Brian Coca
daaca1abd5
fix vbox inventory to correclty unset pwfile (#49774) 2018-12-11 17:45:25 -05:00
Sam Doran
7c8af3d684 Reboot - Fix VMware ESXi not working by adding appropriate commands (#49637)
* Add commands for VMware ESXi

* Add changelog
2018-12-11 15:30:11 -05:00
Sam Doran
c1589c33c4
Reboot - Fix command not found, add Apline support, fix Solaris command (#49272)
* Fix various bugs related in reboot

- Use format strings for consistency and improve debug log messages
- Use local variables instead of class attributes in order to be thread safe
- Run setup module to get distribution and version
- Run find module to get full path of shutdown command
- Use ansible_os_family and ansible_distribution to find commands and args
- Use same command for all Solaris/SunOS distributions
- Move delay calculations to properties
- Reliably check for module run failure
- Fix bug in run_test_command() that accidentally made the method work properly
- Use better exceptions rather than Exception
- Use dict literals rather than constructors
- Correct _check_delay() so it always returns a value, not None
- Don't store and return result in run_test_command() because it's not used anywhere
- add test for post reboot command that fails
- test negative values for delay parameters
2018-12-11 11:05:10 -05:00
Matt Martz
c9040d7579
Don't just raise AnsibleError with the exception message (#49654)
* Don't just raise AnsibleError with the exception message. Fixes #49252

* Add changelog fragment
2018-12-11 09:27:10 -06:00
Brian Coca
8ce4720f44
pear: More info if failure occurs (#49735)
* added cli errors to error msg for pear
2018-12-11 09:38:06 -05:00
Steven Tobias
260512459d stop requiring description. this is not a mandated jira field for all screens (#46023) 2018-12-11 14:24:24 +00:00
Matt Davis
30c611a9cf
add changelog for 46608 2018-12-10 17:12:18 -08:00
Brian Coca
b924476d63 updated clog with cve 2018-12-10 14:18:29 -05:00
Abhijeet Kasurde
be21140384
VMware: update docs and return docs for vmware_host_service_facts (#49736)
Follow up of 45155

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-10 23:57:39 +05:30
Dag Wieers
7b01725bb5 mail: Fix new breakage on python 2.7 (#49197)
* mail: Fix new breakage on python 2.7

* Add changelog fragment

* Add basic SMTP testing

* Add SMTP integration tests using starttls and TLS
2018-12-10 10:25:33 -08:00
Brian Coca
758ac1846b
match interpreter on stdout also (#49446)
fixes #46980
2018-12-10 11:43:30 -05:00
Brian Coca
e53a7856f6
simplify vm_guest detection code (#49378)
- remove a lot of repetition
  - change lists to tuples since they are faster to assign
2018-12-10 11:42:51 -05:00
Brian Coca
42a13d15f1
add path info to role list (#49346)
* add path info to role list

 - use same display format for both listing all and specific roles


Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
2018-12-10 11:41:22 -05:00
Brian Coca
0c1f62065c
make adhoc include_role/task work again! (#49247)
* adhoc include_role/task work again!
  - fix task, pass if set
2018-12-10 11:40:44 -05:00
Brian Coca
70ba960f6d
More specificity in errors for cfg mgr (#48995)
* More specificity in errors for cfg mgr
2018-12-10 11:38:42 -05:00
Brian Coca
20270680fc
fixes to ansible-doc (#47682)
fixes to ansible-doc
 - change json to always be type dependent
 - change changelog generation to loop over the options
 - warn about ignoring module path
2018-12-10 11:37:15 -05:00
Brian Coca
ba4c2ebeac
ensure ssh retry respects no log (#49569) 2018-12-10 09:55:18 -05:00
Dag Wieers
37820be05b
aci_rest: Fix ignoring custom port (#49715) 2018-12-10 15:08:06 +01:00
Dario Zanzico
b183eb4464 docker_swarm_service: ensure idempotency when the user parameter is None (#49235)
* ensure idempotency for user set to None

* Update `user` documentation and add changelog fragment

* clarify changelog fragments and parameters documentation

* use restructuredtext syntax in changelog fragment
2018-12-10 14:09:13 +05:30
Abhijeet Kasurde
c9325ca247
Override help string version (#49545)
This fix adds additional help message to version command options

Fixes: #20488

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-10 10:40:19 +05:30
Matt Martz
9007dbec2f
Add info about loop based on jinja2 loop var (#42134)
* Add info about loop based on jinja2 loop var

* ansible_loop

* Update test count

* Add extended loop_control that defines whether ansible_loop should be added

* Extended needs to be defaulted

* Revert "Update test count"

This reverts commit f1e93ee469825f4cdcd90fb28667d29aa088275c.

* Add docs about loop_control.extended

* Add revindex and revindex0

* Document ansible_loop in special vars

* Add changelog fragment

* Add tests, change items to allitems so that dot notation works, fix logic error with previtem
2018-12-07 13:49:50 -06:00
Brian Coca
597c258e0e
explain 'bare variables' (#49577) 2018-12-07 14:47:56 -05:00
Matt Martz
3a4d476512
Add now() jinja2 global func for getting the date/time (#43792)
* Add now() jinja2 global func for getting the date/time

* Docs and changelog

* now isn't a lookup, it doesn't need disabled
2018-12-07 11:25:53 -06:00
Dave Bendit
73640a4190 [docker_network] Adding scope and attachable flags (#49562)
Incorporating the abandoned work from PRs #35288 and #45552. Also adding in
the version checking from `docker_container.py`, which should be abstracted
out to `docker_common.py`.
2018-12-06 18:50:45 +00:00
Matt Martz
69d230f4bf Make squash deprecation messages less misleading (#49551) 2018-12-06 10:49:01 -05:00
Thomas Picariello
c8ecac8dc2 Fix google auth scoping for unscoped credentials (#46740)
* Fix google auth scoping for unscoped credentials

* Add changelog fragment
2018-12-06 11:29:57 +00:00
Adam Miller
6f90d62be3 fix py3 scope for unique filter errors, enable filters integration tests on rhel8 beta (#48961)
* fix py3 scope for unique filter errors, enable filters integration tests on rhel8 beta

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

* add changelog

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-12-06 16:13:26 +10:00
uberjew666
b72187cd2c Fixed win_route module (#46395)
* Changed $IpAddress to $Gateway

* Tweaked win_route unit tests

Checks to see if new static route has the correct gateway

* Create win_route.yaml

* Fixed incorrect variable name
2018-12-05 22:39:06 -05:00
Toshio Kuratomi
33f0c1ce22 FactCache changes
* Fix FactCache to conform to the dict API
  * update needs to take a dict rather than a key and a value
  * __init__ needs to allow for setting the intial dictionary
* Remove unneeded _display and _cache attributes
* Move ansible.plugins.cache.FactCache to
  ansible.vars.fact_cache.FactCache because this isn't part of the cache
  plugin API.
* Add backwards compatibility when calling update on the new FactCache
* Remove code for calling old FactCache. There's no way to call the old
  FactCache so there's no need for backwards compatible code for calling
  code.  Backwards compatibility is handling things which are calling
  the new FactCache.
* Port our code to the new FactCache location.
2018-12-05 12:33:27 -08:00
Brian Coca
6096f57880 fix cache 'update' method to be 'mapping' compatible
- also simplify the update functions
 - fix methods and allwow backwards compat with plugins overriding 'update'
2018-12-05 12:33:27 -08:00
Matt Martz
77de219836
Support version 3 of the redis python library (#49445)
* Support version 3 of the redis python library. Fixes #49341

* Document 2.4.5 minimum redis-py version
2018-12-05 12:08:53 -06:00
Ryan Conway
aacd22acc6 Fix an issue retrieving some types of 1Password items. (#47213)
* Some types of 1Password items have a 'password' field alongside the 'fields' attribute, not inside it, so we need to search there as well.

* Add changelog fragement for onepassword_facts PR #47213.
2018-12-05 11:49:26 -05:00
Josue David Hernandez
6d42c5020a Fix for changes in clearlinux (#49344)
* Fix for changes in clearlinux

clearlinux is now providing /etc/os-release file and ansible is identifying as NA
then this change allow ansible to find it

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>

* Add changelog fragment for clearlinux changes

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>
2018-12-05 13:13:40 +00:00
chris93111
7c8b5a407d VMware: Add option to modify disk type while cloning template (#47859)
* Add parameters to module vmware_guest for conversion of disk to thin or thick when vm is cloned or deployed with template

* unit test for convert clone vm

Co-Authored-By: chris93111 <christopheferreira@ymail.com>
2018-12-05 15:50:23 +05:30
Toshio Kuratomi
c817bef3ae Fix for callback plugins on Python3 when a module returns dictionary keys that aren't strings
This fixes one of the problems reported in https://github.com/ansible/ansible/issues/49343

Upstream Python3 bug for the json traceback:
https://bugs.python.org/issue25457

and PR that may fix it:
https://github.com/python/cpython/pull/8011
2018-12-04 23:03:48 -08:00
mattandes
15c5dbcc20 Fix win_nssm credentials quoting (#48761)
* Fix win_nssm credentials quoting

Fix credential quoting for win_nssm after changes to the way nssm command is invoked in Ansible 2.7.1.

* Updating nssm command to update credentials to use Argv-ToString to properly escape password variable.

* Adding changelog fragment for fix of #48728.
2018-12-05 10:38:28 +10:00
Toshio Kuratomi
d06cd869b8 Revert "fix cache 'update' method to be 'mapping' compatible"
This reverts commit 68301f890a.
2018-12-04 14:04:13 -08:00
Sloane Hertel
a3e8917b73 [s3_bucket] Handle error paginating object versions when bucket does not exist (#49396) 2018-12-04 15:42:14 -05:00
Toshio Kuratomi
a8fbfe1844 Warn if empty string is present in synchronize's rsync_opts 2018-12-04 12:05:45 -08:00
Sam Doran
6200d32c0d Use IndexError in exception (#49488) 2018-12-04 14:12:00 -05:00
Sam Doran
40a5f7bfdf Add better error when k=v syntax is used with YAML in tasks (#41754)
* Add error message for k=v and YAML in a single task

Find the correct line, column, and position for k=v errors since they are different than the position reported initially.

Document bug in quoting syntax check.

* Change tense or error message

Since the error still exists, switch to present tense rather than past tense.

* Remove double spaces after periods in error messages.

http://www.slate.com/articles/technology/technology/2011/01/space_invaders.html

* Add changelog fragment

* Add tests for new error message

* Fix tests

* Add clarifying comments to unit test
2018-12-04 12:32:02 -05:00
Richard Levenberg
5cb39d0d57 Use System.Xml.XmlDocument.Load rather than Get-Content to avoid (#49206)
encoding errors when writing out XML

removing executable bit

refactor tests to handle sanity checking
2018-12-04 15:19:38 +00:00
Jon Bergli Heier
9c02ade536 rabbitmq_binding: Add support for state=absent (#48599)
* rabbitmq_binding: Add support for state=absent

* Add integration tests for rabbitmq_binding

* Update testcases

* Add changelog fragment
2018-12-04 12:42:18 +00:00
Abhijeet Kasurde
1b04571ea0
VMware: Fix module usages in module_utils (#49421)
* VMware: Fix module usages in module_utils
* Skip test for Python 2.6 as SSL context is not available in Python 2.6

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-04 10:11:29 +05:30
sdirbach
e2f85b3f6c Implement test case prefix to filter test cases (#40174)
* Implement test case prefix to filter test cases

* Cut line to not exceed 160 chars

* Replace tabs with spaces

* Add version_added field

* Include changelog file
2018-12-03 18:41:44 +00:00
Akshay Gaikwad
597e449afe Support for pids_limit parameter in docker_container module (#49319)
* Support for pids_limit parameter in docker_container module

This add pids_limit parameter support in docker_container module

Fixes #43337

Signed-off-by: Akshay <akshay@localhost.localdomain>

* Add changelog for pids_limit parameter

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Remove unnecessary lines of code

The map is needed if the names are different.

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Update pids_limit option tests

It also run for docker-py < 1.10.0

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
2018-12-03 11:22:43 +00:00
sdirbach
840ab706ee Implement hide task arguments feature (#40176)
* Implement hide task arguments feature

* Add version_added field

* Include changelog file
2018-12-03 09:22:51 +00:00
Felix Fontein
b0c7efcc6b ACME: add diff to acme_account, account_public_key to acme_account_facts, and general refactoring (#49410)
* Only one exit point.

* Refactoring account handling.

* Add diff support for acme_account.

* Insert public_account_key into acme_account_facts result and into acme_account diff.

* Add changelog.
2018-12-02 18:40:14 +01:00
Brian Coca
fc71cde7d3
Yaml inventory more tolerant (#48883)
* make yaml inv more tolerant to comments
* add tests for bad inventory processing

fixes #47254
2018-11-30 22:04:39 -05:00
Filippo125
238786c0d3 zabbix inventory: options to read per each host and set ansible_ssh_host (#44107) 2018-12-01 01:49:57 +01:00
Brian Coca
8c43ce491e unsafe cleanup 2018-11-30 13:07:00 -08:00
Adam Miller
378cc9668c dnf module load/init dnf pkg mgr plugins properly (#49278)
* dnf module load/init dnf pkg mgr plugins properly

Fixes #45940

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-30 10:00:33 -08:00
Martin Krizek
c78c8d389f
Last loaded handler with the same name wins (#49249)
* Last loaded handler with the same name wins

* Add comment explaining reversed
2018-11-30 16:30:27 +01:00
Martin Surovcak
87a9ada188 fix module argument to be boolean (#47134) 2018-11-30 10:43:29 +00:00
Lex Rivera
aa484c0835 Fix GCE and scaleway VM detection (#47193)
* Fix Google cloud engine & Scaleway VM detection
2018-11-30 10:38:43 +00:00
Matt Martz
77befcf5d7
Do not allow addressing an import from handlers via notify. Fixes #48936 (#49317) 2018-11-29 13:50:07 -06:00
Dusan Matejka
a9aa1053a8 zabbix_template: fixed idempotency issues (#49188) 2018-11-29 20:38:32 +01:00
Ryan Brown
af6427bf40 VPC peer module unhandled exception on bad peering ID (#45306)
* Improve error handling for VPC peer module when a bad peering-id is specified

* changelog
2018-11-29 08:54:16 -05:00
Ryan Brown
7f7c059a04 ec2_asg: Retry Autoscaling Group delete calls when scaling activity is in progress (#46124)
* Retry delete calls when scaling activity is in progress

* changelog
2018-11-29 08:42:55 -05:00
Felix Fontein
b842b1b97e ACME: improve error handling (#49266)
* Improve error handling: when parse_json_result is False, still return the error message.

* Remove content body from info dict.

* Add changelog.
2018-11-29 09:00:39 +01:00
Adam Miller
81540bd754 require git when trying to use it in ansible-galaxy cli (#49212)
* require git when trying to use it in ansible-galaxy cli

Previously we weren't setting `required=True` when calling
`get_bin_path` and the path would return `None`, this would cause
a traceback when attempting to ' '.join() to create a string
representation of the failed command for error output

Fixes #49200

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

* add changelog

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-28 13:28:21 -05:00
Brian Coca
ae2467ddbc Merge pull request #49080 from bcoca/better_invp_skip
more precise pluing skip msg and now in higher verbosity level
2018-11-27 15:30:14 -08:00
Martin Krizek
d4568d97d4 Fix using vault encrypted data with jinja2_native (#49025)
Fixes #48950
2018-11-27 16:44:22 -05:00
Martin Krizek
abdf46803b
Warn about falling back to jinja2_native=false (#49063) 2018-11-27 18:11:42 +01:00
Matt Davis
8c1f701e6e
split PS wrapper and payload (CVE-2018-16859) (#49142)
* prevent scriptblock logging from logging payload contents
* added tests to verify no payload contents in PS Operational event log
* fix script action to send split-aware wrapper
* fix CLIXML error parser (return to -EncodedCommand exposed problems with it)
2018-11-26 15:28:21 -08:00
Brian Coca
89b7e10436 updated var docs (#48957)
* updates var docs, fixes #48949

Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
2018-11-26 16:08:39 -06:00
Martin Krizek
48ffd8789f
Properly handle FieldAttribute.default if callable (#48992)
* Properly handle FieldAttribute.default if callable

Fixes #48673

* Add changelog...

* Add integration test

* Add aliases file
2018-11-26 18:14:46 +01:00
Felix Fontein
9caaf7b109 docker_container: fix init option idempotency with old docker-py versions (#49078)
* Don't check options for idempotency which are not supported.

This check should be superfluous if every option would adhere to
the convention that options not specified should have value None.
Unfortunately, some options (such as init) which correspond to
container properties have an explicit default set.
2018-11-26 13:53:01 +00:00
Will Thames
31ccb3c29d Diff mode returns yaml diffs in yaml callback plugin (#48794)
* Diff mode returns yaml diffs in yaml callback plugin

* Add changelog for yaml diff mode
2018-11-22 18:03:25 +00:00
Will Thames
960ebd981f k8s append_hash (#48830)
* Add append_hash functionality to k8s module

append_hash adds a hash based on the contents of a ConfigMap
or Secret to the name - this enables immutable ConfigMaps and
Secrets.

* Provide k8s_config_resource_name plugin

The k8s_config_resource_name filter plugin provides a means of determining
the name of ConfigMaps and Secrets created with append_hash

* Add changelog fragment

* fix failing tests

* Update openshift version needed for append_hash
2018-11-22 08:14:43 +00:00
Jordan Borean
a568bbed3c
win_mapped_drive - refactor module and docs (#48642)
* win_mapped_drive - refactor module and docs

* Updated code to work with become and split tokens

* use win_credential_manager instead of cmdkey

* updated credential manager module name

* harden the system token impersonation process
2018-11-22 08:12:41 +10:00
Rémy Léone
959395f4b4 Fix getheaders regression with open_url in Scaleway dynamic inventory (#48671)
* Fix regression

* Improve changelog fragment
2018-11-21 09:06:21 -06:00
Matt Martz
9773a1f289
Add a Singleton metaclass, use it with Display (#48935)
* Add a Singleton class, use it with Display

* update six import

* Move remaining failes to display singleton

* Fix rebase issues

* Singleton improvements

* Add code-smell for 'from __main__ import display'. ci_complete

* s/self/cls/g

* Add docs for no-main-display

* Address linting issues

* Add changelog fragment. ci_complete

* Implement reentrant lock for class instantiation in Singleton

* Add Display singleton porting guide
2018-11-20 17:06:51 -06:00
Matt Martz
64bb54dab4 Catch per loop label templating exceptions. Fixes #48879 (#48896) 2018-11-20 15:29:44 -05:00
Michael Rose
0886c20d19 influxdb_user - Allows updates to user privileges (#46667)
* influxdb_user - Allows updates to user privileges

* influxdb_user - Updated documentation for admin roles
2018-11-20 20:08:39 +01:00
Jordan Borean
9b0dd5224b
win_security_policy - add warning when using this module ot edit rights (#48850) 2018-11-20 09:21:28 +10:00
Brian Coca
68301f890a fix cache 'update' method to be 'mapping' compatible
- also simplify the update functions
 - fix methods and allwow backwards compat with plugins overriding 'update'
2018-11-19 14:18:18 -05:00
Adam Miller
4a06e95671 dnf to support modularity module appstream specs
Fixes #48743

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-19 10:13:07 -08:00
Brian Coca
652da82558 fix bug in config mgr
- use function that creates config slots as needed
2018-11-19 11:46:17 -05:00
Brian Coca
87e44a7ed1
better handling of bad type in config (#48821)
* better handling of bad type in config

 fixes #22468, fixes #22476
2018-11-19 11:45:45 -05:00
Felix Fontein
891687284f docker_* modules: improve diff (#48546)
* Add difference tracking tool

* Improve --diff mode for docker_container.

* Improve diffs of sets by ordering the sets.

* Rewrite imports, get rid of HAS_DOCKER_PY_x variables and use docker_version instead.

* Rename container -> active (more generic).

* Add --diff for docker_volume. Change old diff output.

* Add --diff for docker_network. Change old diff output.

* Add --diff for docker_swarm_service.

* Add changelog.

* Add entry for porting guide on docker_network and docker_volume.
2018-11-19 09:59:54 +00:00
jhawkesworth
361acd3547 win_say: Port to use CSharpUtil AnsibleBasic (#48361)
* port win-say to use CSharpUtil AnsibleBasic and add warning when requested voice not found

* win_say: fixes following code review: use C# style properties consistently; prefix changelog fragments

* fix invalid yaml in change log fragment

* win_say: fixes following code review: use generic module parameter validation where possible

* remove redundant setting of Result.changed to false, simplified some logic for readability.

* fix serialisation issue when message text is drawn from a file; allows tests to be run not in check mode and fix up some test descriptions
2018-11-19 07:07:12 +10:00
Will Thames
aaf29c785f Provide Kubernetes resource validation to k8s module (#43352)
* Provide Kubernetes resource validation to k8s module

Use kubernetes-validate to validate Kubernetes resource
definitions against the published schema

* Additional tests for kubernetes-validate

* Improve k8s error messages on exceptions

Parse the response body for the message rather than returning
a JSON blob

If we've validated and there are warnings, return those too - they
can be more helpful

```
"msg": "Failed to patch object: {\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},
       \"status\":\"Failure\",\"message\":\"[pos 334]: json: decNum: got first char 'h'\",\"code\":500}\n",
```
vs
```
"msg": "Failed to patch object: [pos 334]: json: decNum: got first char 'h'\nresource
        validation error at spec.replicas: 'hello' is not of type u'integer'",
```

* Update versions used

In particular openshift/origin:3.9.0

* Add changelog for k8s validate change
2018-11-16 12:44:59 +00:00
Xaroth
87d10b9b78 Include dependency role names in role_names. (#46483)
* -Change: Include dependency role names in `role_names`.
-Add: `play_role_names` magic variable to include only explicitly named roles (formerly `role_names`).
-Add: `dependent_role_names` magic variable to include all dependency names for all roles.

* -Change: use the ansible_ prefix for new magic variables.
-Change: keep `role_names` as a deprecated variable, using the old functionality.

* -Add: changelog fragment for the role_names rework.

* -Add: Tests for the role_names (and ansible_*role_names) special variables

* -Fix: resolve erroneous documentation snippet that was introduced after rebasing.

* -Fix: explicitly sort to ensure list comparison works in test.
2018-11-15 10:01:29 -05:00
René Moser
c7c3ca1c41 cs_template: fix KeyError on state=extracted (#48675)
* cs_template: fix KeyError on state=extracted

* add changelog
2018-11-15 13:38:42 +00:00
Martin Krizek
907ff2f26c Add new meta task end_host (#47194)
* Add new meta task  end_host
2018-11-14 09:46:25 -05:00
Brian Coca
24593f2ffb avoid spurious warnigns on unique filter
fixes #46189
2018-11-14 09:33:43 -05:00
Jordan Borean
9ac89af355
win_chocolatey - move over to AnsibleModule and add allow_multiple (#48370) 2018-11-14 16:18:34 +10:00
Jordan Borean
6898f02431
win_shortcut: add run as admin and fix shell folder idempotency (#48584) 2018-11-14 12:15:04 +10:00
Adam Miller
34fc66185e make yum update_only option actually work (#47942)
* make yum update_only option actually work

Fixes #40615

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

* fix changlog fragment for sanity check

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

* only attempt an update when there are packages to update

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

* fix logic to properly handle the precedent of operations

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

* remove q debug statements

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-13 15:04:19 -05:00
Felix Fontein
b1acabcd03 docker_container: fix tests and idempotency for init and shm_size (#48551)
* Fix tests: use same command if not testing command option.

* Fix idempotency of init option.

* Fix shm_size idempotency (it is included in inspect results from docker API version 1.22 on).

* Add changelog.
2018-11-13 13:07:36 +00:00
Will Thames
4e1e9589b5 Add wait functionality to k8s module (#47493)
Provide wait and wait_timeout parameters and wait for certain
resource kinds to become available.
2018-11-13 12:50:15 +00:00
Martin Krizek
1465f70eb5 Add ansible_play_name magic var (#48562) 2018-11-12 11:18:49 -05:00
Tzur Eliyahu
616ba5d807 IBM storage: fix domain issue by adding more keywords to pyxcli avail… (#48345)
IBM storage: fix domain issue by adding more keywords to pyxcli available fields
2018-11-12 10:47:38 -05:00
Dario Zanzico
89bcd3ff1e clarify port.mode paramter requiremets, fail if unmet (#47938)
* clarify port.mode paramter requiremets, fail if unmet

* changelog fragment

* shorten too long line

* remove unnecessary indentation

* test version on docker_version for better maintainability

* normalize imports

* changelog fragment: minor_changes -> bugfixes

* rollback e96a7e57dfefd566fa47cf465a759637affd4795

* typo

Co-Authored-By: dariko <dariko@users.noreply.github.com>
2018-11-12 11:36:02 +00:00
Felix Fontein
feb60b947c Docker volume fix labels (#48536)
* Add integration test for labels (which fails).

* Changing labels from list to dict.

* Add changelog.
2018-11-12 11:24:07 +00:00
Eric Matysek
880762e07e Fix consistency issue in grafana_dashboard module. (#47459)
* Move check for 'dashboard' key to before the create/update if statement.
* Add changelog fragment for PR #47459
2018-11-09 17:27:11 -05:00
Brian Coca
b047591dee fix tagged implicit gathering (#48294)
* fix tagged implicit gathering

 - None is not tHe default anymore, its an empty list

* Update changelogs/fragments/fix_taggged_gather.yml

Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
2018-11-09 13:41:07 +00:00
René Moser
9050c7abeb
vultr_server_facts: add tests and changelog for firewall group fix in #48342 (#48411) 2018-11-09 14:06:34 +01:00
Christopher Gadd
f75a84e382 make password locking in user module idempotent (#43671)
* Simplify logic and add FreeBSD & NetBSD

* Remove incorrect flag for lock and unlock on FreeBSD

* Add tests and changelog


Co-authored-by: Chris Gadd <gaddman@email.com>
2018-11-08 21:29:38 -05:00
Simon Dodsley
d7975462da Update and correct iSCSI facts collection (#44644)
Co-authored-by: Simon Dodsley <simon@purestorage.com>
2018-11-08 21:24:51 -05:00
Strahinja Kustudic
b89b688d52 Fix pip idempotence in check mode
PIP package names must be case insensitive, and must consider hyphens
and underscores to be equivalent
(https://www.python.org/dev/peps/pep-0426/#name), because of this the
module didn't work correctly in check mode. For example if the passed
package name had a different case or an underscore instead of a hyphen
(or the other way around) compared to the installed package, check mode
reported as changed, even though packages were installed. Now the module
ignores case and hyphens/underscores in package names, so check mode
works correctly.
2018-11-08 17:09:34 -08:00
James Cassell
c13fa503a1 os_server_facts: support all_projects (#44800)
* os_server_facts: support all_projects

* os_server_facts: openstacksdk expects True or False, not None
2018-11-08 17:05:12 -05:00
Jack Haden-Enneking
15e77ebfe8 ipaddr filter - return a network address when given an address with /32 subnet (#47539)
* fix #17872

* add changelog fragment and enable unit test
2018-11-08 11:49:42 -05:00
Jimmy McCrory
d2969884b4 Add run_once as a valid TaskInclude keyword (#48068)
* Add run_once as a valid TaskInclude keyword

* Add changelog fragment

* Add integration test that documents run_once behavior
2018-11-08 10:29:24 -05:00
Stefan Siegel
ae7b9ea8cd Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux (#47017)
* Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux

/proc/sys/kernel/random/boot_id is available since kernel 2.3.16 and
should be safe to rely on.

The previously used method by checking the system boot time using who -b
turned out to be unreliable: Some systems lacking an RTC report the Unix
epoch as boot time, but the code trying to detect that did't always
work.

Closes #46562

* Change DEFAULT_BOOT_TIME_COMMAND

- change to usinsg /proc by default
- add BOOT_TIME_COMMANDS for BSD, Solaris, and macOS
2018-11-08 09:54:58 -05:00
Daniel Shepherd
e212861443 add changelog fragment for changes merged in #47695 (#48305) 2018-11-08 11:34:28 +10:00
Sam Doran
1e3b704ff1
Prevent duplicate entries in rhsm_repository module (#48107)
* Complie regular expressions for better performance

* Skip on empty lines

This fixes a bug where the previous repo would be inserted in the result twice since an empty line did not match any of the conditions that would exit the loop iteration.
2018-11-07 17:49:12 -05:00
Martin Krizek
41dfc5162f user: fix removing the expiry time when it's 0 (#47115)
* user: fix removing the expiry time when it's 0

* Improve tests and add changelog

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2018-11-07 16:44:34 -05:00
Matt Martz
f728f2bff0
Add a new "contains" jinja2 test (#45798)
* Add contains jinja2 test

* backticks
2018-11-07 14:49:00 -06:00
Matt Martz
0d068f1e3a
Support list of dicts with omit. Fixes #45907 (#45923) 2018-11-07 13:41:22 -06:00
Michael Cassaniti
a2f3f16930 win_updates: Add post search category matching to support product matching (#45708)
* win_update: Add post search category matching to support product matching

* win_updates: Return categories of each update

* win_updates: Documentation fix-up

* win_updates: Adjusted documentation to reflect regex vs sub-string match of post-cat strings

* win_updates: Sped up post-category checking

* win_updates: Updated documentation to suggest querying post-category strings

* win_updates: Simplified saving and checking post-categories

* fixed some issues and added filtered categories to return value

* win_updates: Moved all category matching to occur after initial search

* win_updates: Adjustments to satisfy PowerShell lint checks

* win_updates: Dropped category validation from action plugin

* win_updates: Documentation updates

* win_updates: Fixed plugin unit tests
2018-11-07 19:32:07 +10:00
Jordan Borean
501acae5ab
Added basic equivalent to PowerShell modules (#44705)
* Added basic equivalent to PowerShell modules

* changes based on latest review

* Added tests

* ignore sanity test due to how tests are set up

* Changes to work with PSCore

* Added documentation and change updated more modules

* Add some speed optimisations to AddType

* fix some issues in the doc changes

* doc changes
2018-11-07 10:53:17 +10:00
Adam Miller
091fb1dc3f yum also parse obsolete package output (#45365)
* yum also parse obsolete package output

This is a rebase of the patch originally proposed in
https://github.com/ansible/ansible/pull/40001 by machacekondra

Fixes #39978

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

* properly parse the obsoletes, provide a new output entry, add changelog

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

* make pep8 happy

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

* remove q debugging output

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-06 16:07:50 -05:00
Brian Coca
4ec2423a04
make fact gathering obey play tags (#44717)
fixes #44251
2018-11-06 13:19:44 -05:00
Matt Martz
9949629e5a
Add toml inventory plugin (#41593)
* First pass at a toml inventory

* Make EXAMPLES yaml

* Remove unnecessary comment

* Small formatting changes

* Add ansible-inventory option to list as TOML

* TOML inventory improvements, to allow a more simple inventory, specifically related to children

* changelog

* Simplify logic

* Dedupe _expand_hostpattern, making it available to all inventory plugins

* Don't make the TOML inventory dependent on the YAML inventory

* Quote IP address values

* Add more TOML examples

* Further cleanups

* Enable the toml inventory to run by default

* Create toml specific dumper

* 2.8

* Clean up imports

* No toml pygments lexer

* Don't raise an exception early when toml isn't present, and move toml to the end, since it requires an external dep

* Require toml>=0.10.0

* Further clean up of empty data

* Don't require toml>=0.10.0, but prefer it, add code for fallback in older versions

* Ensure we actually pass an encoder to toml.dumps

* Simplify recursive data converter

* Appease tests, since we haven't limited controller testing to 2.7+

* Update docstring for convert_yaml_objects_to_native

* remove outdated catching of AttributeError

* We don't need to catch ImportError when import ansible.plugins.inventory.toml

* Add note about what self.dump_funcs.update is doing

* Address some things

* A little extra comment

* Fix toml availability check

* Don't create an intermediate list

* Require toml file extension

* Add metadata

* Remove TOML docs from intro_inventory to prevent people from getting the wrong idea

* It's in defaults, remove note

* core supported, indicate very clearly that this is preview status
2018-11-06 10:02:36 -06:00
Dave Bendit
d7686e1bc0 [docker_network] Add handling for Python booleans in driver_options (#48105)
Fixes #26708
2018-11-06 14:39:45 +00:00
Mariusz Mazur
a5c8e952e8 k8s_facts: fix handling of unknown resource types (#47857) 2018-11-06 14:43:55 +01:00
Jordan Borean
8a9d7b3695
win_uri: stop output from mixing with module result (#48140) 2018-11-06 11:10:03 +10:00
Sam Doran
066af3b6ca
User module - allow bang and exclamation in password field without warning (#46498)
* Allow bang and exclamation without warning

Allow the password field to be ! or * without warning when using this feature to create accounts that are locked.

Add documentation  and tests to cover this.

* Use set() rather than braces for Python 2.6
2018-11-05 16:35:10 -05:00
Adam Miller
1c777976c5 Correct yum and dnf autoremove behavior (#47902)
* Correct yum and dnf autoremove behavior

Sanity check args passed to autoremove

Fixes #47184

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

* fix docs

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-05 16:00:42 -05:00
Matt Martz
cb5626cc09
Fix return statement where we short circuit _get_delegated_vars (#48102) 2018-11-05 12:28:34 -06:00
Dag Wieers
df6b0b0e9e aci_aptiplp: Support missing policy_group (#48000)
* aci_aptiplp: Support missing policy_group

* Adapt integration tests to fix

* Add changelog fragment

* Fix

Co-Authored-By: dagwieers <dag@wieers.com>
2018-11-05 18:21:01 +00:00
Dag Wieers
d1f6ff646a aci_iplpg: Support missing aep (#48001)
* aci_iplpg: Support missing aep
2018-11-05 18:20:23 +00:00