Commit Graph

251 Commits

Author SHA1 Message Date
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
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