Commit Graph

166 Commits (e5a245de94e7d695938ebfbcd9102ce4fd39addc)

Author SHA1 Message Date
Johann Queuniet 74ce8ce935 Add API pagination support to Scaleway inventory (#46117)
* Add Scaleway API pagination to server inventory call

* Move Link parsing to helper module

* Correct some PEP8 errors

* Replace AnsibleError with ScalewayException in module_utils since the former doesn't work

* Simplify the regexes to match the intended purpose

* Cleanup helper to conform to review

* Cleanup Scaleway inventory to conform to review

* Flatten the conditional branches structure

* fix a regexp typo
2018-10-24 17:53:46 +01:00
FragmentedPacket f83fa2ac93 Netbox inventory: Fix NoneType issue if query_filters is not in netbox_inventory.yml (#46793)
* Added if state to refresh_url to avoid failure at NoneType when guesry_filters is undefined in netbox_inventory.yml
2018-10-24 16:52:20 +01:00
Jonathan Oddy 7ba09adee1 Fix AWS EC2 inventory plugin caching of groups (#46961)
* Fix AWS EC2 inventory plugin caching of groups

* Added changelog fragment for aws_ec2 caching fix

* Store the AWS query results

The underlying inventory object contains inventory from other sources,
so caching it as ours would be wrong.
It seems easiest and safest to just cache the boto query results
instead.

* Remove unused functions
2018-10-22 09:15:27 -04:00
nikkytub 539f0fee09 Fixed the ssl-certs in netbox plugin (#46543)
* Fixed the ssl-certs in netbox plugin

* Added validate_certs parameter and updated the example
2018-10-17 21:30:47 +01:00
Rémy Léone 8a7a819040 Add support for platform grouping (#45733) 2018-10-17 21:28:20 +01:00
Brian Coca 9e0c2a658f
better information for user from inventory plugins (#46766)
* better information for user from inventory plugins

 - use foreman as example
2018-10-12 11:27:29 -04:00
Rémy Léone faf262977e Add virtualization devices in the inventory (#45728) 2018-10-11 18:09:01 +01:00
Rémy Léone a8925484c9 Use constructable with NetBox dynamic inventory (#45913) 2018-10-11 18:01:29 +01:00
Sloane Hertel f3d5ebb355 add more consistent extension matching for inventory plugins (#46786)
* Add consistent extension matching for inventory plugins that support YAML configuration files

* Document extension matching expectations
2018-10-11 11:06:52 -05:00
lwm 8d0f823de0 Add a Linode v4 dynamic inventory plugin. (#45902)
* Add a Linode v4 dynamic inventory plugin.

Closes https://github.com/ansible/ansible/issues/44721.

* Use the latest API for accessing host variables.

References:

  * https://github.com/linode/linode_api4-python/issues/141

* Minor docs formating
2018-10-09 12:54:31 +01:00
Matt Clay a11f631ee4 Python 3.8 collections compatibility fixes.
Includes a new pylint blacklist plugin to prevent regressions.
2018-10-08 11:26:37 -07:00
Rémy Léone 9ff25c1383 Add tags grouping (#45741) 2018-10-06 11:06:39 -04:00
Pilou 15d46ce428 k8s/oc plugins: fix 'ResourceField' is not JSON serializable (#46145)
Fixes #44408
2018-09-27 18:43:29 -04:00
Abhijeet Kasurde 8ecc6be85c Misc typo fix (#46199)
jinaj2 to jinja2

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-09-27 12:51:48 +02:00
Pilou 2fd18c77ae openshift inventory plugin: fix exception when auth fails (#45826)
* openshift inventory: fix exception when auth fails

Fix 'ForbiddenError' object has no attribute 'message':

    [WARNING]:  * Failed to parse test.yml with openshift plugin: 'ForbiddenError' object has no attribute 'message'
     File "ansible/lib/ansible/inventory/manager.py", line 270, in parse_source
       plugin.parse(self._inventory, self._loader, source, cache=cache)
     File "ansible/lib/ansible/plugins/inventory/openshift.py", line 122, in parse
       self.setup(config_data, cache, cache_key)
     File "ansible/lib/ansible/module_utils/k8s/inventory.py", line 58, in setup
       self.fetch_objects(connections)
     File "ansible/lib/ansible/module_utils/k8s/inventory.py", line 250, in fetch_objects
       super(OpenShiftInventoryHelper, self).fetch_objects(connections)
     File "ansible/lib/ansible/module_utils/k8s/inventory.py", line 81, in fetch_objects
       namespaces = self.get_available_namespaces(client)
     File "ansible/lib/ansible/module_utils/k8s/inventory.py", line 95, in get_available_namespaces
       raise K8sInventoryException('Error fetching Namespace list: {0}'.format(exc.message))

Don't try to get 'message' attribute from:
- K8sInventoryException instances
- Exception instances
- KubernetesException instances (because KubernetesException can be
  Exception)

* move k8s/OpenShift inventory plugin dedicated code

inventory plugin specific code should not be located in
lib/ansible/module_utils directory. Then ansible.utils methods can be
reused (for example Display).

* Remove unused class variables 'helper'

unused since 4d77878654.
2018-09-26 18:16:54 -04:00
Anthony Ruhier 5803d73400 Bugfixes in Netbox inventory (#45731)
* Fix headers and params in netbox queries

Fix token authentication
Remove unused variables regarding api params and headers

* Fix python 3 incompatibility in netbox inventory

* Cleaning BOTMETA entry
2018-09-26 11:52:24 +01:00
Rémy Léone f6154bb2e3 Refactor attribute lookup to make it multithreaded (#45786) 2018-09-24 10:23:23 -04:00
Brian Coca a47671aad1 allow openstack invetnory to work cacheless
fixes #45431
2018-09-21 12:33:24 -04:00
Rémy Léone 574ed8dc7f Add documentation about the query filters (#45835) 2018-09-21 12:09:35 -04:00
Yanis Guenane a7bf505474 inventory/tower: authors -< author so Doc can pick it up (#45936) 2018-09-20 16:44:22 -05:00
Rémy Léone 66f03827d6 Add a netbox dynamic inventory plugin (#45347) 2018-09-16 15:13:56 +01:00
Matt Martz 263b9fade8
Don't pass file_name to DataLoader.load in script inventory plugin (#45428)
* Don't pass file_name to DataLoader.load in script inventory plugin. Fixes #34164

* Add changelog fragment
2018-09-10 14:37:18 -05:00
Bob Lee 9a1191cbe5 Update documentation for gcp_compute (#43791)
Added examples on how to use "keyed_groups", "hostnames", and "compose"

The compose example shows how to set the ansible_host var for a host to either the public or private ip. This is necessary when you set your hostname by name instead of ip
2018-09-05 13:45:56 -05:00
Rémy Léone f465a251e1 Add a dynamic inventory plugin for Online (#44720) 2018-09-03 02:33:15 -04:00
Matt Davis 2822fd8d9b
initial commit of azure_rm inventory plugin (#44944)
* crusty refactor of azure_rm to support auth from non-modules
2018-08-31 01:33:23 -07:00
Pilou c07ba82d3e Scaleway inventory: allows to connect via private IP (#44342)
* scaleway inventory: remove useless duplicate

* scaleway inventory: allows to connect using private ip

ansible_host was hardcoded and it was not possible to connect using
private addresses.
This allows to define multiple host variables, values are templates
which can use hosts details send by API. For example this config file
use private address and defines two variables:

    plugin: scaleway
    hostnames:
      - hostname
    variables:
      ansible_host: private_ip
      state: state
      image: image.name
    regions:
      - ams1

inventory will looks like:

    {
        "_meta": {
            "hostvars": {
                "testhost": {
                    "ansible_host": "10.1.1.1",
                    "arch": "x86_64",
                    "commercial_type": "START1-M",
                    "hostname": "testhost",
                    "id": "af669464-0c74-4c89-8573-9fe763028448",
                    "image": "CentOS 7.4",
                    "organization": "2cc9a115-380d-4ac0-ba4b-8947eee71325",
                    "public_ipv4": "163.172.1.1",
                    "public_ipv6": "2001:bc8::1",
                    "state": "running",
                    "tags": [
                        "testtag"
                    ]
                }
            }
        },
        [...]
    }
2018-08-29 12:14:12 -04:00
Rémy Léone 70adbb87d9 Added private_ipv4 to the hostvars in Scaleway dynamic inventory (#44122) 2018-08-28 16:35:38 -04:00
Rémy Léone ea0f722d74 Fix verify_file check in Scaleway dynamic inventory (#44384) 2018-08-28 16:34:13 -04:00
Yanis Guenane 9869f378fd inventory/vultr: Few minor improvements (#44622) 2018-08-24 15:35:29 +02:00
Sloane Hertel b152515fcb RDS inventory plugin (#41919)
Comments out uses of rds_instance in the integration tests and replace with AWS CLI until rds_instance has been merged
2018-08-23 19:42:32 -04:00
Yanis Guenane 72d4880b85 Vultr: Introduce the Vultr inventory plugin (#44400)
This commit introduce the Vultr inventory plugin.
2018-08-23 23:14:26 +02:00
Yunfan Zhang 18f361ecdd Added Ansible Tower inventory plugin. (#41816)
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-08-21 14:41:26 -04:00
Monty Taylor e89e4c991c Fix openstack inventory plugin for API changes (#43580)
The inventory plugin api grew a self.cache that wasn't there when we
first wrote it. There's also a need to pull in the documentation
fragments so that we have the cache parameters.
2018-08-17 07:03:08 -04:00
Zhikang Zhang cda3b53035
make doc templates not case sensitive for the default value (#41158) 2018-08-13 16:47:12 -04:00
Abhijeet Kasurde ce7eecd782 Misc typo fixes in function docs (#43779)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-08-07 20:13:51 +02:00
Bill Nottingham 572a2187ab Add some requirements to the plugin docstrings. 2018-08-02 00:10:48 -04:00
Joren Vrancken b954917761 Surround top-level function and class definitions with two blank lines. 2018-07-31 12:06:56 -07:00
Artem Goncharov 6667ec4474 fixes #42042 (#42939)
Do not create group with empty name when region (optional argument) is 
not given in the openstack connection
2018-07-27 10:02:34 -04:00
Abhijeet Kasurde 9a561b53fa
VMware: Dynamic Inventory plugin (#37456)
* Disable warnings on validate_certs=False
* Required requests version
* Add testcase for inventory plugin
* Include review comments from mattclay
* remove pyvmomi installation
* remove config file at exit
* Add cache in vmware_inventory inventory plugin
* shertel review comments
* Rename vmware_inventory to vmware_vm_inventory
* bcoca's review comments
* Export username and password for failing testcase

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 15:38:19 +05:30
Rémy Léone 3113c68053 Fix author name in the documentation 2018-07-24 12:01:37 -04:00
Mo Balaa 3c0a3a1de1 Add debug messasge to aws_ec2 inventory plugin (#43112) 2018-07-23 12:55:28 -04:00
Rémy Léone 267c7667f6 Fix archived machine bu (#43017) 2018-07-19 14:03:34 -04:00
Hossein Zolfi e756ef8265 Fix example of nmap plugin (#42925) 2018-07-18 10:07:21 -04:00
Rémy Léone 2177d37d5a Use IP address instead of server id to index servers (#41658) 2018-07-17 04:10:17 -04:00
Brian Coca 8e1d223301
complete plugin docs (#42355)
* complete plugin docs

  * add missing 'plugin' option
  * user and password are now 'correctly' required
  * added  inventory source example and extension information for user
2018-07-09 11:50:50 -04:00
Brian Coca 2496fd35fb added required missing field for common yaml fmt 2018-07-09 11:43:21 -04:00
Brian Coca 475abc0af7
inventory plugin docs (#42022)
* inventory plugin docs
* added set options
* minor wording and formatting fixes
* changed headers to std as per #35520, also added to main readme
* unified inventory plugin devel, referenced from generic plugin dev
* fixed typos and update as per feedback
2018-07-05 17:30:46 -04:00
Sloane Hertel 44e5886385 Fix setting required options for inventory plugins (#42049)
* Fix setting required options for inventory plugins

* call set_options for yaml and script plugin
2018-06-29 11:48:35 -04:00
Sloane Hertel ba7d3dab5c Document compose for aws_ec2 inventory plugin (#40621)
* Document compose for aws_ec2 inventory plugin

* split up examples into several parts with some additional comments
2018-06-21 13:15:07 -04:00
Mark Phillips 355b56ef00 [docs] Change 'tag' to 'tags' in aws_ec2 inventory examples (#41438) 2018-06-21 10:23:20 -04:00