Commit Graph

3278 Commits (6380a6c1dffd7f82b94a3bfe301bbd7610bb0e24)

Author SHA1 Message Date
Adam Miller 0235e3d664 splunk httpapi plugin (#52761)
* splunk httpapi

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

* use he correct var to send the payload to the request

Signed-off-by: Adam Miller <admiller@redhat.com>
2019-04-04 10:46:27 +05:30
Sam Doran 6ce9cf7741
Change default smart connection to ssh on macOS and remove paramiko from requirements.txt (#54738)
* Remove default use of paramiko connection plugin on macOS
    This fix was originally to work around a bug that caused a kernel panic on macOS
    that has since been fixed.
* Remove paramiko from requirements.txt
* Move paramiko checking to common place
* Drop the warnings obfiscation code
* Update pip installation instructions to reflect upstream instructions
* Fix tests on CentOS 6 (Python 2.6) that now show Python deprecation warnings
* Add changelog fragment
2019-04-03 22:35:59 -04:00
Kris Amundson f9dfb78d3c Netbox Inventory: Group By Platforms (#52780)
Fixes the functionality to group_by 'platforms'. Adds the call to self.refresh_platforms_lookup
back and fixes square brackets to return a list instead of a string.
2019-04-04 00:09:00 +05:30
Daniel Hagan c11af3dbef correct openssl rsa to genrsa in acme doc fragment (#54744)
* correct openssl rsa to genrsa in acme doc fragment

* acme_certificate.py - updated route53 example to include wait: yes
2019-04-03 19:38:28 +01:00
Martin Krizek d15812fabf
Fix copy module to reset filesystem acls (#51868)
The controller's fixup_perms2 uses filesystem acls to make the temporary
file for copy readable by an unprivileged become user. On Python3, the
acls are then copied to the destination filename so we have to remove
them from there.

We can't remove them prior to the copy because we may not have
permission to read the file if the acls are not present. We can't
remove them in atomic_move() because the move function shouldn't know
anything about controller features. We may want to generalize this into
a helper function, though.

Fixes #44412

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2019-04-03 18:37:59 +02:00
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