Commit Graph

230 Commits (84135ef7add33b4909176e268133d6007cff2dcb)

Author SHA1 Message Date
Allan e246bd10ac Update nsot.py (#19421)
To make this compatible with NSoT v1.x, removing ['data']['devices'].
2017-02-10 19:46:55 +00:00
Damien a995fa43a6 New dynamic inventory for Apstra AOS (#21045)
* Initial release of dynamic inventory for AOS
2017-02-09 13:10:36 -05:00
Ryan S. Brown 9794bd8c35 [cloud][docs] Add more EC2 dynamic inventory stack_filter docs 2017-02-09 09:13:10 -05:00
Ilya Kalinin 259b05dd8e [cloud] Add stack_filters option to EC2 inventory script 2017-02-09 09:13:10 -05:00
Matt Martz 5942de603d Legacy pep8 clean fixes for contrib and hacking (#21081) 2017-02-07 09:49:55 -06:00
Matt Martz 39ea50b731 pep8 fixes for recent packet_net inventory (#21066) 2017-02-06 11:10:58 -05:00
Tomáš Karásek db8fd95d68 Dynamic inventory for Packet host (https://packet.net) (#20635)
* Add dynamic inventory script and config for Packet.net

* The script and config have been shamelessly cargo
  culted from the `ec2.py` and `ec2.ini` dynamic inventory
  script.
* This is an initial version and could very well be
  enhanced and made better.

Examples:

`PACKET_NET_API_KEY=<MY_AUTH_TOKEN> --list` to get inventory for
all hosts in Packet.net in all projects (defaults to `--list`
if no argument provided).

`PACKET_NET_API_KEY=<MY_AUTH_TOKEN> --host HOST` to get variables
for a single host.

* improvements in Packet host dynamic inventory
2017-02-06 09:56:17 +00:00
Matt Clay e401b4e424 PEP 8 fix. 2017-02-01 08:24:31 -08:00
Naoya Nakazawa 31db1bcd34 ec2.py support region auto (#15427) 2017-02-01 09:08:15 -05:00
Will Thames d6ea400efb Improve boto profile handling for EC2 inventory (#20280)
Ensure command line profile argument and AWS_PROFILE environment variable
overrides config file
Remove unnecessary `lambda` function
Fix cache file path construction to be more pythonic (and windows-ready)
2017-01-31 09:35:45 -05:00
Matt Clay f80224f828 PEP 8 E111 cleanup. 2017-01-30 20:18:50 -08:00
Matt Clay cb76200c7d PEP 8 E111 & E114 cleanup. (#20838) 2017-01-30 15:01:47 -08:00
Matt Clay 10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Matt Clay e2c0b375d3 PEP 8 cleanup. (#20790)
* PEP 8 E115 cleanup.
* PEP 8 E131 cleanup.
2017-01-28 01:39:40 -08:00
Matt Clay d0d1158c5e PEP 8 cleanup. (#20789)
* PEP 8 E703 cleanup.
* PEP 8 E701 cleanup.
* PEP 8 E711 cleanup.
* PEP 8 W191 and E101 cleanup.
2017-01-28 00:12:11 -08:00
Matt Clay d913f69ba1 PEP 8 W291 whitespace cleanup. 2017-01-27 17:08:02 -08:00
Matt Clay 95789f3949 PEP 8 whitespace cleanup. (#20783)
* PEP 8 E271 whitespace cleanup.
* PEP 8 W293 whitespace cleanup.
* Fix whitespace issue from recent PR.
2017-01-27 15:45:23 -08:00
Matt Clay 63b1e0c277 Fix infrequent PEP 8 issues. 2017-01-27 14:06:21 -08:00
Peter Hoffmann d70b2c8afd fix typo 2017-01-27 12:17:33 +01:00
Matthew Wedgwood 3ab388f6dd Add account ID grouping and attribute to ease multi-account management 2017-01-23 13:49:02 -05:00
Laurent Mazuel 8b9ded3556 Fix bug 17934 : Azure register failure must not be blocking (#18695)
* Fix bug 17934

* Update link in Azure provider warning log
2017-01-18 14:28:36 -08:00
Loïc Blot a3321d1074 vmware_inventory.py: skip_keys can use a full key path (#20389)
use inkey attribute in _process_object_types recursive loop to generate key name in skip_keys directive.

This permit to ignore nested variables, for example summary.vm to optimize inventory collect
2017-01-18 13:36:11 +00:00
Hugh Ma 541d2e8820 Stacki inventory (#19608)
* adding inventory script for stacki

* clean-up for consistency and error check

* clean up imports and implement StrictVersion for requests
2017-01-17 14:01:58 -05:00
Loïc Blot 35f6fb1383 vmware_inventory: permit to group by custom field & customize skip_keys (#20125)
* vmware_inventory: permit to group by custom field

This permits to create instances, affect some custom fields like EC2 tags and then retrieve groups from custom fields like EC2 inventory

* vmware_inventory: Customize skip_keys & add resourceconfig to skip_keys

Verify if customfield is a str before processing custom fields for a host
2017-01-12 09:37:18 -05:00
TaoBeier 6ec0369c26 fix indent (#20071) 2017-01-10 18:47:03 -08:00
Ner'zhul 78ed9793fe Various VMWare inventory (pyvomi fixes) + ini doc (#19926)
* Fix many points reported by PyCharm as PEP 8 code style
* Improve inventory performance by dropping vim.HostSystem & vim.VirtualMachine collect when depth >= 2
* Declare some class variables properly
* Remove some unused variables
* Add documentation in vmware_inventory.ini for VMWARE_USERNAME & VMWARE_PASSWORD env vars
2017-01-10 09:09:11 -05:00
Art Matsak e4c1eff52e Register host variables for the DigitalOcean dynamic inventory 2017-01-06 12:00:15 -05:00
Andrew Craft 44fb104da3 softlayer inventory include group by tags 2017-01-03 15:26:39 -08:00
Aleksey Shirokih db1c3221a0 fix copy paste error 2016-12-22 17:06:18 -08:00
Andrea Tartaglia 59227d8c31 Removed dict.iteritems() in several other files.
This is for py3 compatibility #18506
2016-12-14 08:01:45 -08:00
Carlos E. Garcia 0b8011436d minor spelling changes 2016-12-13 13:51:13 -05:00
Toshio Kuratomi 51491c9904 Remove itervalues (not available on py3) 2016-12-13 05:40:48 -08:00
Matt Clay 75c281debc Fix compile errors in scripts. 2016-12-08 11:35:20 -05:00
Tom Melendez 9400ba1728 [GCE] inventory script supports paginated API results. (#18554)
The inventory script now supports paginated results.  This means that inventory may exceed 500 instances.
2016-12-08 11:35:19 -05:00
Michael Schuett 21813ed83e Fix auth in collins.py inventory
This forces basic auth to be used. Using the normal HTTPPasswordMgrWithDefaultRealm
password manager from urllib2 fails since collins doesn't send a 401 retry on failure.
More about this can be seen here http://stackoverflow.com/questions/2407126/python-urllib2-basic-auth-problem.
I added a small comment about the format of the host so others don't waste time like i did.
2016-11-23 14:39:25 -05:00
Ryan Groten f12d5b01c7 FreeIPA: Add support for nested hostgroups in FreeIPA (#14695) 2016-11-18 14:41:38 +01:00
Dag Wieers 1ca4add91c Performance improvement using in-operator on dicts
Just a small cleanup for the existing occurrences.

Using the in-operator for hash lookups is faster than using .keys()
http://stackoverflow.com/questions/29314269/why-do-key-in-dict-and-key-in-dict-keys-have-the-same-output
2016-11-17 12:33:04 -05:00
Ondra Machacek 563017f7ec Add dynamic inventory for oVirt version 4 and RHV version 4 (#17910)
* Add dynamic inventory for oVirt version 4 and RHV version 4

* Add affinity labels and groups to output
2016-11-17 09:18:46 -05:00
James Tanner 2d2bb626d4 Port has_key to python3 compatible syntax 2016-11-16 13:02:09 -08:00
David Moreau Simard c53db300b8 Update the link to the os-client-config repository
This is a trivial change -- os-client-config has moved from /stackforge/ to /openstack/ a long time ago.
2016-11-08 10:41:38 -05:00
Toshio Kuratomi 03550caece Move mdt dynamic inventory plugin into contrib/inventory where it
belongs
2016-11-07 12:02:29 -08:00
Tony Kinsley 73da2663a3 Resolves #18312 python3 support for ec2.py 2016-11-03 11:46:50 -07:00
Matt Clay 0d46805979 Clean up shebangs for various files.
- Remove shebangs from:
  - ini files
  - unit tests
  - module_utils
  - plugins
  - module_docs_fragments
  - non-executable Makefiles
- Change non-modules from '/usr/bin/python' to '/usr/bin/env python'.
- Change '/bin/env' to '/usr/bin/env'.

Also removed main functions from unit tests (since they no longer
have a shebang) and fixed a python 3 compatibility issue with
update_bundled.py so it does not need to specify a python 2 shebang.

A script was added to check for unexpected shebangs in files.
This script is run during CI on Shippable.
2016-11-02 17:00:27 -07:00
Toshio Kuratomi f7d9a734d5 Port rax dynamic inventory script to Ansible 2.3 get_config() (#18204)
* Port rax dynamic inventory script to Ansible 2.3 get_config()

Fixes #18203
2016-10-26 14:46:08 -07:00
Matt Davis 6b02d296d7 fix azure_rm.py to work with 2.0.0rc5 or rc6 2016-10-26 11:01:53 -07:00
John M. Carlin a3f88eddad Documented configuration option for url 2016-10-24 20:30:31 -04:00
John M. Carlin ef7fd10b15 Add SSL support to Consul inventory script
Change passes in the scheme argument to python-consul's Consul
initializer. Default scheme is set to http.
2016-10-24 20:30:31 -04:00
Thomas Sjögren b35d4d7a19 add tag grouping
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2016-10-24 20:24:00 -04:00
Thomas Sjögren d24bf49d3f typo, do_tags, do_volume_ids
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2016-10-24 20:23:16 -04:00
Tom Melendez 54caf3c5d5 [GCE] Caching support for inventory script. (#18093)
* [GCE] Caching support for inventory script.

The GCE inventory script now supports reading from a cache rather than making the request each time.  The format of the list and host output have not changed.

On script execution, the cache is checked to see if it older than 'cache_max_age', and if so, it is rebuilt (it can also be explicity rebuilt).

To support this functionality, the following have been added.

* Config file (gce.ini) changes: A new 'cache' section has been added to the config file, with 'cache_path' and 'cache_max_age' options to allow for configuration.  There are intelligent defaults in place if that section and options are not found in the configuration file.

* Command line argument: A new --refresh-cache argument has been added to force the cache to be rebuild.

* A CloudInventoryCache class, contained in the same file has been added.  As a seperate class, it allowed for testing (unit tests not included in this PR) and hopefully could be re-used in the future (it contains borrowed code from other inventory scripts)

* load_inventory_from_cache and do_api_calls_and_update_cache methods (, which were largely lifted from other inventory scripts, in a hope to promote consistency in the future) to determine if the cache is fresh and rebuild if necessary.

* A 'main' check, to support the script being imported and testable.

A new dictionary has been added to the list output, located at ['_meta']['stats'] that informs if the cache was used and how long it took to load the inventory (in 'cache_used' and 'inventory_load_time', respectively).

* fixed default value error; change cache time to 300
2016-10-24 16:32:50 -04:00