Commit Graph

276 Commits (dfaa72297ccec757aed0c6eeaadaa0188e8ec34f)

Author SHA1 Message Date
Matt Williams cf00883c9d Return results even when the cache is disabled (#55505)
* Return results even when the cache is disabled

By default the cache is disabled and so the results of the API call
are not placed in there for the return statement to fetch.

* Always update self._cache to return
2019-05-28 13:44:00 -04:00
Brian Coca 27dcf8aaab
Not native, but text (#55676)
* use to_text instead of to_native
* cleaned up some imports and other pyflakisms
* fix missing lib messages
2019-05-24 14:49:04 -04:00
Kevyn Pérez 96d2dd3241 Adding example for add host to groups (#56756)
updates the documentation for the virtualbox plugin
2019-05-22 14:50:14 -05:00
Martin Krizek 34e9d6781b Templar: encapsulate _available_variables (#55435)
Ensure variables are reset between iterations
2019-05-20 11:49:54 -04:00
Patrick Marques 1eb5fb9541 Add os_profile to VM facts, allow to filter by OS (#48040) 2019-05-17 14:44:44 +08:00
Abhijeet Kasurde 8ce09a0057 VMware: fix inventory plugin (#56431)
* Fixed regression introduced in #56071
* Added test to check if hostvars are populated
* Fix toml installation logic

Fixes: #56413

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-15 10:15:49 -04:00
René Moser 5b4cd227d7
Revert "inventory: virtualbox: fix typo in examples (#56328)" (#56374)
This reverts commit 099917ddc8.
2019-05-14 07:08:17 +02:00
Gonéri Le Bouder cf78759f5b vmware_vm_facts: fix the support with regular ESXi
Ensure the module still work with the ESXi where CustomFieldsManager
does not exist.

From: https://www.vmware.com/support/developer/converter-sdk/conv60_apireference/vim.CustomFieldsManager.html

    The CustomFieldsManager object is used to add and remove custom fields to
    managed entities.
    The custom fields values set on managed entities are available through the
    customValue property and through the summary objects for VirtualMachine
    and HostSystem. They are not available directly through this managed object.
    This functionality is only available through VirtualCenter.

Fixes: #56071
2019-05-13 17:25:16 -04:00
Yurii Fisakov 099917ddc8 inventory: virtualbox: fix typo in examples (#56328)
Typo fix in 'windows' word
2019-05-11 21:47:51 +02:00
Abhijeet Kasurde 499355fc13 VMware: Cleanup vCloud references (#56268)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-09 12:55:02 -07:00
Abhijeet Kasurde 7505550500 VMware: Handle VMs with no configurations
Sometime VMs does not return any configurations which leads
to failing the inventory plugin.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-01 11:47:28 -04:00
Jiri Tyr 720f62bf85 Improving documentation of the aws_ec2 inventory plugin (#55255) 2019-04-15 15:16:21 -05:00
Chris Collins e90df4b566 DOCS: Update "connections" data type (#55290)
The k8s plugin expects the "connections" field to be a list - current docs examples trigger:
 [WARNING]:  * Failed to parse {...}/inventory.yml with k8s plugin: Expecting connections to be a list.

Updated examples for `host` and  `namespaces` to reflect this.
2019-04-15 10:18:09 -05:00
s-hertel 44a07cfe71 Use standard _sanitize_group_name method 2019-04-10 17:34:13 -04:00
Ondra Machacek af528bed80 inventory_plugins: Add kubevirt inventory plugin
Signed-off-by: Ondra Machacek <omachace@redhat.com>
2019-04-10 17:34:13 -04:00
Gaudenz Steinlin a290cb4a35 Add cloudscale.ch API inventory plugin (#53517) 2019-04-10 20:01:13 +02:00
咚咔 72fc11ff13 Fix read vaulted toml inventory (#54226) (#54235) 2019-04-10 09:10:48 -05:00
Alex Stephen 5215d00462 return actual error from module logic on gcp_compute (#55055)
* return actual error from module logic on gcp_compute

* changing how the error is presented

* sanity
2019-04-09 18:35:05 -04:00
Brian Coca 5f69ab7f46 Better test for cache method availability (#54740)
* Better test for cache method availability

  fixes #54737

* try and ignore missing method

* avoid plugin cross contamination

* ammend clog
2019-04-09 09:32:11 -07:00
Felix Fontein 4503426f32 Fix some formatting. (#54952) 2019-04-08 02:17:36 -04:00
Alan Rominger aa3f010e62 optionally get service account file path from env var (#54407) 2019-04-04 13:02:11 -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
René Moser 8f65c4f8d5
vultr: fix missing encoding header (#54696) 2019-04-02 06:37:13 +02:00
Alan Rominger 889f423a22 document specifying openstack clouds path via env var (#54532) 2019-03-29 09:45:19 -05: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
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
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
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
Sloane Hertel a93154c57f
Update inventory caching to remove deprecation warnings (#53976) 2019-03-26 08:15:12 -05:00
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
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
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
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
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
René Moser ab238071e3
inventory: vultr: implement keyed groups and filter (#53869) 2019-03-19 07:26:34 +01:00
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 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
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