Commit graph

3273 commits

Author SHA1 Message Date
Nilashish Chakraborty
ee08b009dd
Make prompt inspection explicit for IOS (#54324)
* Be explicit with prompt inspection

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

* Use regex to evaluate prompt for sub-level config sessions

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

* Add new line at the end of file

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-04-03 10:55:20 +05:30
Jordan Borean
e56fb48873
psrp - auth options (#54705) 2019-04-03 07:53:50 +10:00
Toshio Kuratomi
b03c16fa8b
Paramiko might not come standard everywhere (#54486)
* Paramiko might not come standard everywhere

There is a platform where paramiko isn't shipped but a special version
of paramiko just for our use is shipped.  This code imports paramiko
from that location.
2019-04-02 10:06:51 -07:00
René Moser
8f65c4f8d5
vultr: fix missing encoding header (#54696) 2019-04-02 06:37:13 +02:00
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