Commit Graph

240 Commits (89a022b6a0ca0ec8a81712ee534827a3438e1c53)

Author SHA1 Message Date
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
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
Alan Rominger db3a2686ed Fix bug with keyed_group group name transformation (#53714) 2019-03-14 11:07:57 -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
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
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
Alan Rominger 00ba4525e3 allow using env for foreman options (#52693) 2019-03-06 16:50:32 -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
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
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
Alan Rominger 56e3597856 Add keyed_groups feature (#52045)
This implements:
- Allow creating keyed group parents
2019-03-05 12:34:34 -06:00
Brian Coca b8799ef84e
improved nmap fix, updated as per fb (#53280)
(cherry picked from commit 5280ae917c4a49df1bb4ff354885bc046e7ee397)
2019-03-04 14:47:38 -05:00
Brian Coca 55dc63be3a
properly convert inputs to handle bytes/unicode (#53072)
* properly convert inputs to handle bytes/unicode

  fixes #52186

* Update changelogs/fragments/nmap_bytes_fix.yml

Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
2019-02-28 11:51:15 -05:00
Lukas Kämmerling 861b7742fd Add Hetzner Cloud Inventory Plugin (#52553)
* Add hcloud Inventory Plugin

* Rename hcloudAPIException to APIException

* Apply changes from hcloud-python 1.0.0
Some source cleanup

* Add handling for server.image is None

* Fix some small things.

* Fix some small things.

* Remove some golang-ish code

* Apply review results

* Fix ci tests
2019-02-22 09:18:30 +00:00
Abhijeet Kasurde e41b98ffb5
VMware: Refactor guest inventory plugin (#52642)
* VMware: Refactor guest inventory plugin
* Review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-22 09:55:57 +05:30
Matt Clay 3e778d3f8f Fix pycodestyle E117 issues. 2019-02-13 23:35:39 -08:00
Alan Rominger af9ff07c74 Send openstack inventory logs to stderr (#51827) 2019-02-13 13:36:37 +00:00
Akira Yokochi 51061f8a5f fix a little typo in ini inventory doc (#52025) 2019-02-11 15:34:01 +00:00
Karsten Jakobsen e6ae688e47 netbox: inventory: Fix VMs do not have device_roles, but instead use roles (#50761)
This makes sure that roles show up as device_role when using VMs
2019-02-11 06:40:24 +01:00
Sloane Hertel bcefd61437 Allow default regions list to use flexible credential types (#51451) 2019-02-09 00:22:56 -05:00
rabin-io a682a0292d Update yaml.py example to include A colon for single host in a group (#51830)
* Update yaml.py exmaple to include A colon

took me some time to find that out, you can have a single host under a group without the A colon, but if you add another host also w/o A colon, they will be parsed as a single line.

* Update yaml.py
2019-02-07 14:15:40 -05:00
nikkytub 7dcacc1ce8 Added config-context as an opt-in (#50343)
* Added config-context as opt-in

* Added config-context description in the documentation
2019-01-31 22:01:16 +00:00
Brian Coca 50b40c47df aws_ec2 Implement the missing 'region discovery' (#51333)
* aws_ec2 Implement the missing 'region discovery'

  fixes #45288

  tries to use api as documented (which seems to fail in latest boto3 versions)
  and fallback to boto3 'hardcoded' list of regions

* fixes and cleanup, add error for worst case scenario

* fix tests, remove more unused code

* add load_name

* acually load the plugin

* set plugin as required

* reverted test changes, removed options tests

* fixes as per feedback and cleanup
2019-01-29 14:59:38 -06:00
Matt Williams 919abe17f3 Fix Foreman returning host parameters (#51034)
Foreman (1.20) returns the `all_parameters` key as a list of dicts, not a dict of key-value pairs.
2019-01-18 15:56:57 -05:00
Alan Rominger baf59ccaac Put in documented default for gcp_compute filters (#50025) 2019-01-18 11:39:24 +00:00
Yunge Zhu 0f846f39ca fix new inventory azure_rm.py (#50006)
* fix new inventory

* fix lint

* resolve comments

* resolve comments

* add defensive code

* fix response not match handler

* remove useless import

* fix lint

* add changelog
2019-01-16 14:16:18 -08:00
Ids van der Molen f97abc095b gcp_compute: Add vars_prefix to prefix host_vars (#49601)
* Add vars_prefix to prefix host_vars

* Set vars_prefix default to empty string
2019-01-15 13:24:52 -05:00
Abhijeet Kasurde 4817dcd0fc Minor typos (#50371)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-15 11:37:00 +00:00
Fabian von Feilitzsch 09bfe42a5c Bubble up import exception content for k8s module (#50657)
* Bubble up import exception content for k8s module

Signed-off-by: Fabian von Feilitzsch <fabian@fabianism.us>

* Track down other places import exception is reported

* Add changelog fragment
2019-01-15 10:44:59 +10:00
Alan Rominger be5b7889f9 Do not load user kube config if path specified (#49952) 2019-01-11 17:26:53 +00:00
Abhijeet Kasurde af914695e6
VMware: Fix vmware_vm_inventory (#50592)
* Added documentation around using vmware dynamic inventory plugin
* Fixed bug for populating host_ip in hostvars for given inventory host
* VMware: Add properties in vmware_vm_inventory

Fixes: #50249

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-11 21:33:14 +05:30
Alan Rominger b784c7c4ea update openshift inventory plugin docs (#49901) 2018-12-19 11:30:38 -06:00
Brian Coca 49993a55e5
dont think all files are valid cause libs present (#50103)
verify_file was improperly always returning true if pyvimomi and requests libs were correct
  moved library checking to parse, avoid unneded errors unless the file is actually meant for
  this plugin
2018-12-19 10:46:58 -05:00