Commit Graph

161 Commits (5c7f876d0dd95fb37e4b90d4925f58cdbdca2130)

Author SHA1 Message Date
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
Brian Coca 05a49d6eb6
handle groups correctly when they are 'null' (#41698)
* handle groups correctly when they are 'null'

 - even if defined as mapping but having no keys, objects shoudl still be processed correctly
 - also add ansilbe_verbosity to vars not to display in ansible-inventory

fixes #41692
2018-06-20 11:26:46 -04:00
Abhijeet Kasurde 37293dec3d Raise Exception in virtualbox inventory plugin
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-06-19 14:33:52 -04:00
Pilou 3e6c76fc2e Scaleway inventory plugin: small improvements (#41642)
* scaleway inventory: token is mandatory

* scaleway inventory: mention exception in error

* scaleway inventory: remove print statement

* scaleway inventory: options don't need to be attr

* scaleway inventory: remove unused attr
2018-06-18 13:54:38 -04:00
Sloane Hertel 8047d97ffc
read scaleway option after the options have been set (#41259) 2018-06-18 07:59:52 -04:00
Alex Stephen 77b54a3267 GCP Inventory Plugin scopes fix 2018-06-08 13:04:37 -07:00