Commit Graph

3319 Commits (9d5b5d7ddd161e7996baf0b5bb48a22153a8a7e8)

Author SHA1 Message Date
Vitalii Kostenko 2176b53a55 Add latest updates from FTD Ansible downstream repository. (#53638)
* Add latest updates from FTD Ansible downstream repository.
 - add a better implementation of the upsert operation;
 - add API version lookup functionality;
 - add filter which remove duplicated references from the list of references;
 - fix minor bugs.

* fix issues outlined by ansibot

* fix argument name for _check_enum_method
2019-04-01 18:08:01 +05:30
zhongjun2 5599b0484f cloud: huawei: Add new module hwc_network_vpc (#54102) 2019-03-30 17:20:54 +01:00
Alan Rominger 889f423a22 document specifying openstack clouds path via env var (#54532) 2019-03-29 09:45:19 -05:00
Matt Davis f86345f777
Collection content loading (#52194)
* basic plugin loading working (with many hacks)

* task collections working

* play/block-level collection module/action working

* implement PEP302 loader

* implicit package support (no need for __init.py__ in collections)
* provides future options for secure loading of content that shouldn't execute inside controller (eg, actively ignore __init__.py on content/module paths)
* provide hook for synthetic collection setup (eg ansible.core pseudo-collection for specifying built-in plugins without legacy path, etc)

* synthetic package support

* ansible.core.plugins mapping works, others don't

* synthetic collections working for modules/actions

* fix direct-load legacy

* change base package name to ansible_collections

* note

* collection role loading

* expand paths from installed content root vars

* feature complete?

* rename ansible.core to ansible.builtin

* and various sanity fixes

* sanity tweaks

* unittest fixes

* less grabby error handler on has_plugin

* probably need to replace with a or harden callers

* fix win_ping test

* disable module test with explicit file extension; might be able to support in some scenarios, but can't see any other tests that verify that behavior...

* fix unicode conversion issues on py2

* attempt to keep things working-ish on py2.6

* python2.6 test fun round 2

* rename dirs/configs to "collections"

* add wrapper dir for content-adjacent

* fix pythoncheck to use localhost

* unicode tweaks, native/bytes string prefixing

* rename COLLECTION_PATHS to COLLECTIONS_PATHS

* switch to pathspec

* path handling cleanup

* change expensive `all` back to or chain

* unused import cleanup

* quotes tweak

* use wrapped iter/len in Jinja proxy

* var name expansion

* comment seemingly overcomplicated playbook_paths resolution

* drop unnecessary conditional nesting

* eliminate extraneous local

* zap superfluous validation function

* use slice for rolespec NS assembly

* misc naming/unicode fixes

* collection callback loader asks if valid FQ name instead of just '.'
* switch collection role resolution behavior to be internally `text` as much as possible

* misc fixmes

* to_native in exception constructor
* (slightly) detangle tuple accumulation mess in module_utils __init__ walker

* more misc fixmes

* tighten up action dispatch, add unqualified action test

* rename Collection mixin to CollectionSearch

* (attempt to) avoid potential confusion/conflict with builtin collections, etc

* stale fixmes

* tighten up pluginloader collections determination

* sanity test fixes

* ditch regex escape

* clarify comment

* update default collections paths config entry

* use PATH format instead of list

* skip integration tests on Python 2.6

ci_complete
2019-03-28 10:41:39 -07:00
James Cassell bc4ef99533 standardize TLS connection properties (#54315)
* openstack: standardize tls params

* tower: tower_verify_ssl->validate_certs

* docker: use standard tls config params

- cacert_path -> ca_cert
- cert_path -> client_cert
- key_path -> client_key
- tls_verify -> validate_certs

* k8s: standardize tls connection params

- verify_ssl -> validate_certs
- ssl_ca_cert -> ca_cert
- cert_file -> client_cert
- key_file -> client_key

* ingate: verify_ssl -> validate_certs

* manageiq: standardize tls params

- verify_ssl -> validate_certs
- ca_bundle_path -> ca_cert

* mysql: standardize tls params

- ssl_ca -> ca_cert
- ssl_cert -> client_cert
- ssl_key -> client_key

* nios: ssl_verify -> validate_certs

* postgresql: ssl_rootcert -> ca_cert

* rabbitmq: standardize tls params

- cacert -> ca_cert
- cert -> client_cert
- key -> client_key

* rackspace: verify_ssl -> validate_certs

* vca: verify_certs -> validate_certs

* kubevirt_cdi_upload: upload_host_verify_ssl -> upload_host_validate_certs

* lxd: standardize tls params

- key_file -> client_key
- cert_file -> client_cert

* get_certificate: ca_certs -> ca_cert

* get_certificate.py: clarify one or more certs in a file

Co-Authored-By: jamescassell <code@james.cassell.me>

* zabbix: tls_issuer -> ca_cert

* bigip_device_auth_ldap: standardize tls params

- ssl_check_peer -> validate_certs
- ssl_client_cert -> client_cert
- ssl_client_key -> client_key
- ssl_ca_cert -> ca_cert

* vdirect: vdirect_validate_certs -> validate_certs

* mqtt: standardize tls params

- ca_certs -> ca_cert
- certfile -> client_cert
- keyfile -> client_key

* pulp_repo: standardize tls params

remove `importer_ssl` prefix

* rhn_register: sslcacert -> ca_cert

* yum_repository: standardize tls params

The fix for yum_repository is not straightforward since this module is
only a thin wrapper for the underlying commands and config.  In this
case, we add the new values as aliases, keeping the old as primary,
only due to the internal structure of the module.

Aliases added:
- sslcacert -> ca_cert
- sslclientcert -> client_cert
- sslclientkey -> client_key
- sslverify -> validate_certs

* gitlab_hook: enable_ssl_verification -> hook_validate_certs

* Adjust arguments for docker_swarm inventory plugin.

* foreman callback: standardize tls params

- ssl_cert -> client_cert
- ssl_key -> client_key

* grafana_annotations: validate_grafana_certs -> validate_certs

* nrdp callback: validate_nrdp_certs -> validate_certs

* kubectl connection: standardize tls params

- kubectl_cert_file -> client_cert
- kubectl_key_file -> client_key
- kubectl_ssl_ca_cert -> ca_cert
- kubectl_verify_ssl -> validate_certs

* oc connection: standardize tls params

- oc_cert_file -> client_cert
- oc_key_file -> client_key
- oc_ssl_ca_cert -> ca_cert
- oc_verify_ssl -> validate_certs

* psrp connection: cert_trust_path -> ca_cert

TODO: cert_validation -> validate_certs (multi-valued vs bool)

* k8s inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* openshift inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* tower inventory: verify_ssl -> validate_certs

* hashi_vault lookup: cacert -> ca_cert

* k8s lookup: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* laps_passord lookup: cacert_file -> ca_cert

* changelog for TLS parameter standardization
2019-03-28 00:19:28 -05:00
Simon Westphahl a44dfed570 Catch all request timeouts for winrm connection (#54104)
* Catch all request timeouts for winrm connection

The current implementation only catches 'ConnectTimeout' exceptions.
Instead we should catch 'Timout' which also catches ReadTimeout
exceptions.

Improves on: #51744

Co-Authored-By: westphahl <westphahl@gmail.com>

* Changelog for winrm error handling improvement
2019-03-28 13:44:49 +10:00
Brian Coca 3637ce4538
Handle gracefully a bad module 'results' key (#53973)
* Handle gracefully a bad module 'results' key

  fixes #53962
2019-03-27 18:41:32 -04:00
Adam Miller 75d733afd2 Bugfix/52688 gcp compute missing image (#54468)
* adding (optionally) image information to inventory var
* add boot image mapping to gcp_compute instance data for all disk
image data in the configured zones

Signed-off-by: Adam Miller <admiller@redhat.com>
2019-03-27 17:14:20 -04:00
Brian Coca ba50c6e06e restored configurabilty of scopes (#54485) 2019-03-27 15:59:56 -05:00
Derrick Johnson 62d3ed0e2f ACI Private_Key String to Allow for Vaulting (#54251)
* Allows the use of Private_Keys to be entered as a string instead of just a file. Making it possible to use VAULT to encrypt the key

* Fixed Issues auto check found

* Provide helpful information while avoiding credential exposure

* Restore original variable name :-)

* Fix a few other things

* Influence the default certificate_name in both cases

* Update documentation

* Add contributed docs

* Fix CI issue
2019-03-27 17:19:50 +01:00
Brian Coca f9876f3450 fixing gcp inv plugin (#54426)
* start fixing gcp inv plugin

* minor fixes

* added clog

* ajust comments

* link indv zone/project

* separate specific zone/project from other params

* restoring zones query per project

* also work when zones given

* fixed scopes, removed incorrect docs as not option
2019-03-27 11:13:39 -05:00
Adam Miller 5ed9d819ab qradar httpapi plugin (#52690)
* qradar httpapi plugin

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

* remove no longer used get_session_uid method

Signed-off-by: Adam Miller <admiller@redhat.com>
2019-03-27 11:18:13 -04:00
Ujwal Komarla 9384773e1e Exos httpapi (#54405)
* Modify EXOS module utils to utilize 'httpapi' or 'network-cli' connection

* Changes to cliconf plugin to support 'json' or 'text' output for compatibility between network-cli and httpapi

* Add HTTPAPI plugin supportng JSONRPC and RESTCONF for EXOS

* exos_facts modify commands with run script cli2json.py to command dictionary specifying 'json' output
Load appropriate fixtures

* Update exos_config module to utilize the get_diff and get_default_flag functionality.
JSONRPC doesn't work well with pipes, regex MULTILINE

* Support for NOS agnostic 'cli_config' module by implementing 'get_default_flag' and 'get_diff' functionality

* Update Ansible Documentation regarding the connections available for EXOS
2019-03-27 14:44:04 +01:00
Kyryl Galanov 4a5b9bd8eb New lookup module: manifold (#50435)
* New lookup module: manifold

Add Manifold.co integration. The plugin fetches resource credentials
from Manifold service.

* module manifold: fix ansible lint warnings

* module manifold: fix false warning - split test assertion

* manifold module: fix unittest import

* manifold module: fix unittest patch

* manifold module: fix python3 requests getheader error
2019-03-27 07:20:15 -04:00
Tom Cooper 2b6413558b hashi_vault: Use mount_point kwarg for ldap/userpass login (#54358)
Fixes: #54249
2019-03-27 09:41:09 +05:30
James Cassell 51f2065df5 use ANSIBLE_ prefix on all ansible-defined env vars (#54272)
mark old version deprecated in all places referenced via docs
2019-03-26 17:43:48 -04:00
Mariusz Mazur 53b56825cd kubevirt: cleanup module docs (#54119) 2019-03-26 22:22:50 +01:00
morph027 3a0ec3c960 Gitlab runner inventory plugin (#53897) 2019-03-26 20:34:32 +01:00
Alan Rominger 461737e2da Allow using Azure rm legacy hostnames (#54060) 2019-03-26 15:28:21 -04:00
Anton Roman 1e3428a766 fix issue in random_mac filter with short prefixes (#53928) 2019-03-26 13:49:23 -04:00
Ondra Machacek bfc6a2a8d6 ovirt: Require SDK v4.3.0 (#54385) 2019-03-26 14:00:27 +00:00
Sloane Hertel a93154c57f
Update inventory caching to remove deprecation warnings (#53976) 2019-03-26 08:15:12 -05:00
Albert Siersema 1a5732807f Fixes #53277 (#53285)
* Fixes 53277

* Still fixes #53277 , now with dressed up except (PEP8 E722)
2019-03-26 18:10:45 +05:30
Ganesh Nalawade ac07c6b5e6
Fix netconf plugin dispatch response (#54326)
Fixes #53236

*  If dispatch() rpc response has data element
   return the xml string from `<data>` element
   else return the complete xml string from
   `<rpc-reply>`.
2019-03-26 10:23:26 +05:30
Felix Fontein 8106502424 docker_swarm inventory: add aliases (#54355)
* Implement option type checking. Add support for aliases..

Add same aliases as for docker_* modules.

* Linting.
2019-03-25 17:58:23 -04:00
Alan Rominger f2f11341a3 Avoid erroring on host group confusion in keyed groups (#54099) 2019-03-25 16:57:46 -04:00
Sloane Hertel 54be769e8d fix AWS plugin credential precedence for environment variables (#52945)
* fix AWS plugin credential precedence for environment variables

* Allow aliases in direct plugins options

Consolidate precedence fix just in the doc fragment using aliases for mismatched options

* Access options with the option name rather than alias

* fix indentation

* update unit tests

* Improve readability
2019-03-25 16:53:11 -04:00
Martin Nečas 0f199ef58a add suboptions in ovirt docs (#53934)
* add suboptions in doc_fragments/ovirt

* update ovirt doc fragment module docs

* add ovirt docs_fragment to BOTMETA.yml
2019-03-25 10:43:08 -05:00
Matt Williams e02524dd58 Fix for type error introduced by #51034 (#54333)
* Fix for type error

The empty type here should be a dict, not a list as is has a `get` done
on it next.

* Return dict directly to avoid failing key lookup
2019-03-25 16:29:29 +01:00
Piotr Wojciechowski 0ec2d71b4a docker_swarm inventory plugin: New group `non-leader` (#54266)
* New group `non-leader` to contain all nodes (workers and managers) except the swarm leader

* New group name change, documentation section updates

* New group name change, documentation section more updates
2019-03-24 09:57:16 -04:00
Matt Clay fa82188147 Fix name and default for become plugin config.
Also add version_added.
2019-03-22 17:05:51 -07:00
Abhijeet Kasurde 9aa1360867 virtualbox: fix regression byte-string (#54244)
All paths in get_bin_path are string type and vboxmanage was byte-string type.
So os.path.join was failing to join these two.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-22 11:36:32 -04:00
Garfield Lee Freeman 4056427411 Adding additional doc fragments to panos.py (#54193)
* Adding additional doc fragments to panos.py

* updates as per review comments
2019-03-22 06:59:30 +00:00
Vlad Romanenko e216aafc14 Fix syntax highlighting (#53945)
* Fix syntax highlighting

This fixes broken syntax highlighting for \' inside a single quoted string.

* Update lib/ansible/plugins/lookup/aws_ssm.py

Co-Authored-By: vlad-ro <vlad-ro@users.noreply.github.com>
2019-03-21 17:08:23 +00:00
Peter Oliver d1d859f3f0 Note that `az login` works for Ansible, too. (#52835)
* Note that `az login` works for Ansible, too.

Co-Authored-By: mavit <github.com@mavit.org.uk>
2019-03-21 11:20:49 -05:00
Sloane Hertel 2d172ee8ca
[aws_ec2 inventory] Add documentation about how to use IAM roles (#53957)
* Add documentation about how to use IAM roles

* Reformat long descriptions
2019-03-21 09:40:13 -05:00
Sam Doran ff88bd82b5
Move type checking methods out of basic.py and add unit tests (#53687)
* Move check_type_str() out of basic.py

* Move check_type_list() out of basic.py

* Move safe_eval() out of basic.py

* Move check_type_dict() out of basic.py

* Move json importing code to common location

* Move check_type_bool() out of basic.py

* Move _check_type_int() out of basic.py

* Move _check_type_float() out of basic.py

* Move _check_type_path() out of basic.py

* Move _check_type_raw() out of basic.py

* Move _check_type_bytes() out of basic.py

* Move _check_type_bits() out of basic.py

* Create text.formatters.py

Move human_to_bytes, bytes_to_human, and _lenient_lowercase out of basic.py into text.formatters.py
Change references in modules to point to function at new location

* Move _check_type_jsonarg() out of basic.py

* Rename json related functions and put them in common.text.converters

Move formatters.py to common.text.formatters.py and update references in modules.

* Rework check_type_str()

Add allow_conversion option to make the function more self-contained.
Move the messaging back to basic.py since those error messages are more relevant to using this function in the context of AnsibleModule and not when using the function in isolation.

* Add unit tests for type checking functions

* Change _lenient_lowercase to lenient_lowercase per feedback
2019-03-21 09:40:19 -04:00
Yunge Zhu 710b05fae7 fix azure_rm.py not showing nic info for vmss (#53496)
* fix vmss nic

* resolve comments
2019-03-20 16:01:50 -07:00
Felix Fontein 4ced1c693c Docker: mention Docker SDK for Python instead of docker/docker-py (#53917)
* Mention Docker SDK for Python instead of docker-py / docker.

* Docs fixes.

* Add myself as docker_container author.

* Use array syntax for running command.

* Break long lines.

* Avoid failure when docker_version is None.

* Improve docker-py vs. docker note in requirements.

* Canonicalize Docker SDK for Python upgrade instructions.

* Split long line.

* Make it clearer which hostnames are meant.
2019-03-20 13:27:44 -04:00
René Moser f329f35efd
inventory: hcloud: implement constructed (#54097) 2019-03-20 16:04:21 +01:00
Martin Krizek 0e28ab4528
Template run_once for handlers (#54030)
Fixes #27237
2019-03-20 14:46:19 +01:00
René Moser ab238071e3
inventory: vultr: implement keyed groups and filter (#53869) 2019-03-19 07:26:34 +01:00
Matt Martz 231f3e138a
Close files before opening new ones (#53961) 2019-03-18 10:21:49 -05:00
Abhijeet Kasurde 73e171fd94 loader: Avoid loading autosave files (#53856)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-18 10:40:56 -04:00
Vlad Romanenko fc2ad0e9de [aws_ssm lookup plugin] Add example of using explicit aws credentials (#53956) 2019-03-18 09:38:08 -05:00
Sloane Hertel 7da565b3ae
parse botocore.endpoint logs into a list of AWS actions (#49312)
* Add an option to parse botocore.endpoint logs for the AWS actions performed during a task

Add a callback to consolidate all AWS actions used by modules

Added some documentation to the AWS guidelines

* Enable aws_resource_actions callback only for AWS tests

* Add script to help generate policies

* Set debug_botocore_endpoint_logs via environment variable for all AWS integration tests

Ensure AWS tests inherit environment

(also remove AWS CLI in aws_rds inventory tests and use the module)
2019-03-18 08:29:03 -05:00
Mike Wiebe 4c2a3bfed5 Fix nxos action plugin for nxos_install_os (#53768)
* Fix nxos action plugin for nxos_install_os

* Update module docs
2019-03-18 09:14:40 +05:30
Felix Fontein 29d6418822 docker: improve TLS config (#53906)
* Stop repeating names of common config arguments in docker_container.

* Prefer tls_verify over tls for docker modules and docker_swarm inventory plugin.

* tls and tls_verify are no longer mutually exclusive.

* Share setup code between docker_* modules and docker_swarm inventory plugin.

* Add support for more parameters.

* PEP8.

* Fix typo.

* Rename host -> docker_host.
2019-03-17 17:10:40 -04:00
Piotr Wojciechowski 955da2a095 docker_swarm inventory plugin - new attribute with parsed node URI (#53894)
* * Adding new attribute that contains an URI which may be used in other docker swarm modules

* Change host_uri to include_host_uri parameter name

* Adding port detection/override

* Small fixes

* Some general PEP8 adjustments for better code readability

* Changing the parameter type description for clearance
2019-03-17 05:42:33 -04:00
Felix Fontein 6852186235 Fix path. (#53904) 2019-03-16 16:06:37 -04:00
Felix Fontein 1b1c7e252f Fix metadata field. (#53903) 2019-03-16 18:13:38 +01:00
Piotr Wojciechowski c89b799939 docker_swarm inventory plugin - Leader address Docker bug workaround (#53893)
* * Workaround for Docker bug moby/moby#35437 when in some cases the Leader IP address is 0.0.0.0 instead of correct address
* Changes in docs port 2375 to 2376 to avoid confusion wherever the TLS is mentioned as this is default port for TLS connections in docker
* Imports optimization

* Adjust documentation section to match ansibot parsing

* Add comment why the workaround is required
2019-03-16 12:55:52 -04:00
Abhijeet Kasurde b0306f51d7
inventory: find required binary for plugin to work (#53052)
Use existing "get_bin_path" API to find the binary path
required for inventory plugins to work.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-16 10:51:42 +05:30
abirami-n 1e5b8b3028 Fix_dellos6_minor_issues (#52981)
* Fix_dellos6_minor_issues

* Fix_changes
2019-03-15 13:53:30 +05:30
rajaspachipulusu17 e2d92e82c4 Pluribus Networks network cli terminal and cliconf plugins (#53735)
* Pluribus Networks network cli terminal and cliconf plugins

* Changes in Unit tests and modules according to network_cli connection

* Changes in Unit tests and modules according to network_cli connection
2019-03-15 13:51:50 +05:30
morph027 fe95624caa add inventory plugin for Docker swarm nodes (#53058) 2019-03-14 18:34:27 -04:00
Sloane Hertel 8b80a71f9f
aws_ec2 inventory - update hosts with additional vars (#53645)
* Update host with additional host vars from the reservation details

* Add toggle for additional API calls and incorporate strict_permissions

* version_added
2019-03-14 17:16:15 -05:00
Heath Brown 53b5dff23e Fix netbox url with string concat (#49943)
* Fix netbox url with string concat

* Add logic to trim extra / at the end of api_endpoint

See PR#49943

* Add in strip of any trailing '/'

* Update logic to look at the self.get_option of api_endpoint

* Update to move to remove if logic and just strip the api_endpoint
2019-03-14 17:05:47 -04:00
Sloane Hertel 87ebc56de6 Allow parent groups to be variables or literal (#53649)
* Allow parent groups to be variables or literal, requires {{ }}
* Check strict before failing on templating errors
* Don't add a group if an invalid parent group was provided
2019-03-14 14:22:18 -04:00
Alan Rominger 8c2037aaa9 do not error in case of empty list constructed group (#53748) 2019-03-14 12:27:56 -04:00
Matt Martz 97161ed2ab
Strip None values from mod_args in gather_facts action (#53758) 2019-03-14 10:19:04 -05:00
Alan Rominger db3a2686ed Fix bug with keyed_group group name transformation (#53714) 2019-03-14 11:07:57 -04:00
Matt Clay 7f0e09aa31
Keep existing to_yaml behavior with pyyaml >= 5.1. (#53772)
In pyyaml versions before 5.1 the default_flow_style for yaml.dump
was None. Starting with 5.1 it is now False. This change explicitly
sets the value to None to maintain the original to_yaml behavior.

The change to pyyaml was made in the following commit:

507a464ce6
2019-03-13 16:43:26 -07:00
Alex Stephen 08918c6c2b GCP IAM Role (#53490)
* GCP IAM Role

* module util file

* test fix

* unit tests

* test fixes

* doc fragment fixes

* test fixes

* test fix
2019-03-13 13:28:01 -04:00
Jordan Borean 3d23e47c53
win_reboot - Fix rc validation when using psrp and add extra docs (#53711)
* win_reboot - Fix rc validation when using psrp and add extra docs

* Revert boot time command and fix docs
2019-03-13 10:43:02 +10:00
Brian Coca b793f08a92
fixes for stripping (#52930)
function changed to do in place replacement, should be less expensive even with copy as it avoids 'sub copies', can compose with module_args_copy to create replacement for old behavior

  attempt to fix #52910

* handle lists and subdicts correctly
* added  missing exception case, which was not noticed since 'cleaning' was not working
* added comments to clarify exceptions
2019-03-12 18:18:38 -04:00
Brian Coca a8eb25ac14
clear all loader caches with new dir for plugin (#53413)
* clear all loader caches with new dir for plugin

  fixes #17078

* added toggle to revert behaviour
2019-03-12 16:19:56 -04:00
Brian Coca 3e52a6a693
Overridable safety (#53458)
* create overridable sanitation function
* now used in aws, gce and azure plugins
* added new option to these plugins to work in conjunction with general toggle to make it easier
  to emulate inventory script behavior.
2019-03-12 12:03:20 -04:00
Matt Martz e9f9bcae6a
Don't raise AnsibleConnectionFailure if the ssh process has already died. (#53534)
* Don't raise AnsibleConnectionFailure if the ssh_process has already died. Fixes #53487

* Better support for file not found messages

* Add changelog fragment
2019-03-12 10:41:30 -05:00
Theron Savery de2531e275 nso documentation fixes (#53478) 2019-03-11 14:23:19 -05:00
Brian Coca 9b67219096
Fine tune sanity (#53544)
* modify regex to use implicit charsets this should solve issues in py3 and unicode names
* fix issue with subgroups in yaml inventory
* clarify deprecation message
* separated per name warning from deprecation
* move noise to verbosity, simplify warnings
* fix docs to reflect actual 'good' practice
* change toggle to choice list to give users more options
2019-03-11 15:12:14 -04:00
Sloane Hertel 4172d68dc3 use composed vars in constructed groups (#53152)
* changelog

* combine provided variables and host vars inside of constructing groups to take into account composed variables

let composed variables "win"

* fix whitespace

* Allow user to control hash behavior
2019-03-11 12:43:31 -04:00
Ondra Machacek 272fa9ead4 kubevirt: Simplify VM parameters (#53340) 2019-03-11 14:33:14 +00:00
Trishna Guha a41028244d
Add platform facts in network facts modules (#51434)
* Add platform facts in network facts modules

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

* Add nxos

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

* Add vyos

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

* Add iosxr

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

* Add junos

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

* fix pep8

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

* update unit test

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

* fix vyos_facts unittest

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

* fix ios_facts unittest

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

* fix iosxr unittests

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

* fix CI failure

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

* fix junos test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-03-11 10:56:39 +05:30
Bojan Vitnik e775434a52 XenServer: Documentation improvements and fixes for XenServer related modules (#53498)
- More info added to module docs.
 - Fixed errors and typos in module docs.
 - Added parameter types to module docs.
 - Some error messages are fixed and/or changed to be more helpful.
 - Some code comments changed and added.
 - Updated unit tests that test changed error messages.
 - Improved module examples.
 - Improved docs for custom_params xenserver_guest module parameter
2019-03-11 08:56:17 +05:30
Matt Martz 414440e323
Allow dict2items to work with hostvars (#53538) 2019-03-08 14:36:53 -06:00
ndswartz 26d87a912b Added eseries base with tests (#49269) 2019-03-08 18:13:45 +00:00
Brian Coca 8940732b58
Configurable and parallel gather facts (#49399)
* Configurable list of facts modules (#31783)

 - allow for args dict for specific modules
 - add way to pass parameters
 - avoid facts poluting test
 - move to 'facts gathered' flag
 - add 'gathering' setting tests
 - allow parallel option in case serialization is too slow
 - added support to automatically map network facts
   uses "smart" connection mapping
2019-03-08 13:08:37 -05:00
Brian Coca 90bcff3d92
allow nontype configdata (#53365) 2019-03-08 13:03:46 -05:00
Shivam Singhal f08a26d77b Fixes typo of dicionaries to dictionaries (#53505) 2019-03-08 07:28:39 +01:00
Abhijeet Kasurde a5d3647eca
include_vars: include main.yml (#51926)
Enhance the conditional check to include main.yml if it is not
from 'role/vars/'

Fixes: #29135

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-08 10:03:01 +05:30
Jordan Borean 8ef2e6da05 Add support for Windows hosts in the SSH connection plugin (#47732)
* Add support for Windows hosts in the SSH connection plugin

* fix Python 2.6 unit test and sanity issues

* fix up connection tests in CI, disable SCP for now

* ensure we don't pollute the existing environment during the test

* Add connection_windows_ssh to classifier

* use test dir for inventory file

* Required powershell as default shell and fix tests

* Remove exlicit become_methods on connection

* clarify console encoding comment

* ignore recent SCP errors in integration tests

* Add cmd shell type and added more tests

* Fix some doc issues

* revises windows faq

* add anchors for windows links

* revises windows setup page

* Update changelogs/fragments/windows-ssh.yaml

Co-Authored-By: jborean93 <jborean93@gmail.com>
2019-03-07 16:38:02 -08:00
Brian Coca efd5222c17
fix locals not getting updated (#41798)
* fix locals not getting updated

switched to updating the args/assignments as locals doesn't work

* add missing import
2019-03-07 13:38:07 -05:00
Matt Martz 728970232e
Properly quote the username to support usernames with spaces (#53420) 2019-03-07 11:47:33 -06:00
James Cassell e55e8fe2c4 regex_escape: support POSIX basic regex (#50327) 2019-03-07 08:51:19 -05:00
Chris Van Heuveln 874fd70d10 httpapi/nxos_facts: raise ConnectionError is missing `code` (#53406)
* `nxos_facts` crashes with certain nxos images; e.g. `7.0(3)I7(3)` as a result of this call:
  ```
        data = self.run('show lldp neighbors', output='json')
  ```
  ...which returns `ERROR: No neighbour information` when the device has no neighbors.

* This response causes httpapi's `handle_reponse()` to raise a ConnectionError, which is caught by `utils/jsonrpc.py` which is expecting `code` in the exception data:

  ```
             except ConnectionError as exc:
                 display.vvv(traceback.format_exc())
                 error = self.error(code=exc.code, message=to_text(exc))
  ```

* Found by: `nxos_facts/tests/common/not_hardware.yaml:7`
2019-03-07 08:16:28 -05:00
Ganesh Nalawade 7a36c7ae2e
Fix junos terminal regex for cluster srx devices (#53006)
* Fix junos terminal regex for cluster srx devices

Fixes #50726

*  Modify junos terminal regex to match for
   string `{primary:node0}` which is also part of the
   prompt.
*  Modify network_cli connection plugin to ignore
   multiple prompt matched lines.

* Fix review comment
2019-03-07 13:52:36 +05:30
Alan Rominger 00ba4525e3 allow using env for foreman options (#52693) 2019-03-06 16:50:32 -05:00
Abhijeet Kasurde be2a349970 become: Add missing documentation for pfexec, dzdo and machinectl (#53314)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-06 14:35:15 -05:00
Yunge Zhu 71042e1a79 add missing hostvars properties in azure_rm.py inventory (#53046)
* add missing hostvars properties

* fix lint

* fix lint

* add security group

* fix lint
2019-03-06 10:55:43 -08:00
Mike Wiebe b090b57eac Module nxos logging fixes (#52883)
* nxos_logging fixes
2019-03-06 13:55:03 -05:00
Rémi REY c6aecf4704 Update aws_secret.py (#53390)
Update the version_added variable that should be 2.8
2019-03-06 13:31:55 -05:00
Sloane Hertel 9687879840
Fix inventory cache interface (#50446)
* Replace InventoryFileCacheModule with a better developer-interface

Use new interface for inventory plugins with backwards compatibility

Auto-update the backing cache-plugin if the cache has changed after parsing the inventory plugin

* Update CacheModules to use the config system and add a deprecation warning if they are being imported directly rather than using cache_loader

* Fix foreman inventory caching

* Add tests

* Add integration test to check that fact caching works normally with cache plugins using ansible.constants and inventory caching provides a helpful error for non-compatible cache plugins

* Add some developer documentation for inventory and cache plugins

* Add user documentation for inventory caching

* Add deprecation docs

* Apply suggestions from docs review

* Add changelog
2019-03-06 12:12:35 -06:00
Nathaniel Case 3fe2013b3f
Change handle_httperror in httpapi plugins (#53391)
* Change return of handle_httperror

* Fix restconf for handle_httperror changes
2019-03-06 12:13:58 -05:00
Brian Coca d241794daa
Add toggle to control invalid character substitution in group names (#52748)
* make add_group return proper name
* ensure central transform/check
* added 'silent' option to avoid spamming current users
  those already using the plugins were used to the transformations, so no need to alert them
* centralized valid var names
* dont display dupes
* comment on regex
* added regex tests
  ini and script will now warn about deprecation
* more complete errormsg
2019-03-06 11:49:40 -05:00
Alan Rominger e21ca4a00d Add option for tower inventory to give general metadata (#52747) 2019-03-06 15:32:05 +00:00
Brian Coca 853a65eead
made chroot exe configurable (#53147)
* made chroot exe configurable

 fixes #53146

* added default for executable
2019-03-05 15:48:31 -05:00
Alan Rominger 56e3597856 Add keyed_groups feature (#52045)
This implements:
- Allow creating keyed group parents
2019-03-05 12:34:34 -06:00
Lukas Kämmerling 66beeaf032 Add hcloud server module (#53062) 2019-03-05 07:30:24 +01:00
Abhijeet Kasurde d39f35c1d6
assert: allow list of strings in msg or failed_msg (#50531)
Added check for assert module for msg and failed_msg as a list or string types.

Fixes: #48547

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-05 11:12:17 +05:30