Commit Graph

472 Commits

Author SHA1 Message Date
a0e6bf366e Use context manager for file handling in misc files. (#65372)
The file handles are left open in those files.
2019-12-21 13:01:38 +01:00
db709488bd Update foreman inventory to use foreman's inventory report (#62438) 2019-12-03 15:11:40 -07:00
712abfd1a1 cloudstack: exoscale: fix boilerplate (#63532) 2019-10-19 09:37:23 +02:00
3290b8343c docker: fix sanity errors (#60047)
* Remove sanity check errors.

* More linting.

* Forgot to update places.

* Remove choices which aren't provided in argspec.
2019-08-09 23:50:11 +02:00
06c7b87613 vmware_inventory: do not ignore validate_certs
Python 2.7.9 < does not have the `ssl.SSLContext` attribute. If
`validate_certs` is `True`, we cannot validate the SSL connection,
and we need to raise an error.
2019-07-26 10:35:12 +02:00
4b152235ff Typo fixes (#59227)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-07-19 18:18:14 +05:30
982a36c915 Update contrib script documentation (#58883)
* Update contrib script documentation - new inventory solutions should be plugins, not scripts
2019-07-10 13:38:31 -05:00
2401154fc4 VMware: rename VMWare to VMware (#58535)
Follow the nomenclature convention decided in https://github.com/ansible/ansible/pull/56814
2019-06-30 19:30:42 +05:30
lju
60378e991b Fix ec2.py dynamic inventory script when pulling down RDS cluster information (#48075)
* Fixes #26481

* Pass lint tests
2019-06-25 20:48:26 +10:00
896b84bfbe VMware: Python3 migrations for vmware_inventory.py (#47538)
* Sort and pretty print json output and cache file
* Enable Python3 test for vmware_inventory.py

Fixes: #46727

Signed-off-by: Rowin Andruscavage <8740187+MTN-RowinAndruscavage@users.noreply.github.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-06-25 15:40:13 +05:30
7d4e3af11e Add Python 3 support to ovirt4 inventory script. (#57824)
Python 3 only allows strings through the config parser. This is fine for 
the URL, Username, and Password since these values are required. The CA 
File is optional so an empty string is used in leiu of None in the 
config dictionary.
2019-06-21 12:05:45 -04:00
6b240433b6 Update vagrant.py (#56568)
`inventory_file` has been renamed to `inventory_path`.
2019-05-20 14:30:57 -05:00
c3e50db1d5 Renamed SafeConfigParser to ConfigParser in gce inventory script (#54974) 2019-04-10 09:52:26 -04:00
3cd98a9fcc Use ansible.module_utils.six in inventory scripts (#55000)
* Use six from ansible.module_utils for inventory scripts

Remove skips from sanity test

* Change all imports of ConfigParser to use module_utils.six.moves

* Remove commented out lines

* Fix six imports
2019-04-09 13:17:59 -04:00
d930eaf7d8 Use six.moves to import configparser in cloudforms script (#54465) 2019-04-08 13:15:17 -04:00
eebebb1a83 Fix ovirt4.py inventory file for oVirt 4.3 (#54338)
ovirt4.py inventory file fails with oVirt 4.3 with the following error:
Traceback (most recent call last):
  File "inventory/ovirt", line 259, in <module>
    main()
  File "inventory/ovirt", line 250, in main
    vm_name=args.host,
  File "inventory/ovirt", line 209, in get_data
    vms[name] = get_dict_of_struct(connection, vm)
  File "inventory/ovirt", line 178, in get_dict_of_struct
    (stat.name, stat.values[0].datum) for stat in stats
  File "inventory/ovirt", line 178, in <genexpr>
    (stat.name, stat.values[0].datum) for stat in stats
IndexError: list index out of range
2019-03-28 20:55:40 +00:00
c2fb581414 Fix various sonarcloud issues
This fixes various reported bugs through sonarcloud at:
https://sonarcloud.io/project/issues?id=Rodney-Reis_ansible&resolved=false&types=BUG
2019-02-15 07:19:04 -08:00
3e778d3f8f Fix pycodestyle E117 issues. 2019-02-13 23:35:39 -08:00
28284c23a9 VMware: debug property values (#45410)
This fix adds additional information about VM properties

Fixes: #43618

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-04 15:12:48 +00:00
468588d3f8 inventory: vagrant: rename deprectated ansible_ssh_* (#50694) 2019-01-09 10:44:15 +01:00
3ada56e2b1 Skip non-management Packet IP addresses (#48168)
Non-management (elastic) IP addresses require manual configuration on
the host as described in https://help.packet.net/article/54-elastic-ips.
Skip those so that only the automatically configured management
addresses are used. Otherwise, a non-routable address may be returned in
the inventory.
2018-12-20 12:06:11 +00:00
4d0f2e632c Docker inventory service/stack groups for docker swarm (#48021)
* Adding service and stack grouping to docker inventory

* Updating documentation

* Adding changelog fragment for docker.py inventory script
2018-12-17 11:58:26 +00:00
175f3b51e5 Ensure that current uses of BaseException are required
* In some cases, it appears that Exception should have been used instead
  as there's no need to catch sys.exit KeyboardInterrupt and similar.
* In a few cases, it appears that BaseException is used because
  a library we depend on calls sys.exit() contrary to good coding
  design.  Comment those so that we know that those have been audited
  and found to be correct and change to use (Exception, SystemExit)
  instead.
2018-12-16 15:03:19 -08:00
3fba006207 Update bare exceptions to specify Exception.
This will keep us from accidentally catching program-exiting exceptions
like KeyboardInterupt and SystemExit.
2018-12-16 15:03:19 -08:00
9dc36fcaf0 Fix AWS STS session detection (#49536)
If CLI has already assumed a IAM Role, then the cli environment has an additional variable: AWS_SESSION_TOKEN
This needs to be forwarded to boto to successfully reuse the AWS session in boto.
2018-12-06 09:53:53 +10:00
bd1050dfc7 cloudstack: inventory: consider more keys optional (#49364) 2018-12-01 02:00:41 +01:00
238786c0d3 zabbix inventory: options to read per each host and set ansible_ssh_host (#44107) 2018-12-01 01:49:57 +01:00
43affc661b add want_ssh_ansible_host flag to foreman dynamic inventory (#34169) 2018-11-15 15:58:34 -05:00
3793bcf481 update doc in contrib\inventory\azure_rm.py (#46939)
* add inventory note

* typo
2018-11-14 15:42:38 -08:00
6c94c28a12 Ansible Vault and Azure Key Vault vault password script (#44544)
* added new vault password files that can be used with Azure Key Vault

* fixed pylint errors

* fixed pep 8 violations
2018-11-06 15:07:28 -05:00
77d73808e6 fix setting config with DOCKER_CONFIG_FILE (#23096)
Fixes #23095

Fixed issue preventing a caller from setting a docker
configuration file (e.g. docker.yml) by specifing the
config file path in the `DOCKER_CONFIG_FILE` environment
variable. Previously, the cli argument parser set a default value for
the `--config-file` argument which would prevent ever checking the
environment variable, regardless of whether or not the `--config-file`
argument even specified a valid file.

This commit adds a global `DEFAULT_DOCKER_CONFIG_FILE` variable, which
points to the current default `docker.yml` config in the
contrib/inventory directory. Now, when this script is called from the
command line, the config file passed with the cli `--config-file` arg
will be given the highest precedence; if it is absent, this script will
then check if the `DOCKER_CONFIG_FILE` env var is set, and load the
config file specified if possible. If neither the environment variable
or cli argument are specified, then the script will attempt to parse the
config file `docker.yml` in this script's directory (if present).

If either the `DOCKER_CONFIG_FILE` environment variable or the
`--config-file` argument are given but point to a nonexistant file, then
the script will print an error message and exit with an error code.

It is *not* an error condition if the fallback `docker.yml` does not
exist.
2018-10-30 15:39:32 -04:00
1ded3f9890 Handle non-ascii characters in foreman.py (#46779)
* Handle non-ascii characters in foreman.py

* Add test to validate non-ascii results
2018-10-15 21:40:51 -04:00
a11f631ee4 Python 3.8 collections compatibility fixes.
Includes a new pylint blacklist plugin to prevent regressions.
2018-10-08 11:26:37 -07:00
aaa3b2dc2d fix digitalocean inventory tags endpoint (#46192) 2018-10-06 22:20:11 -04:00
0ecbd50c3b Misc typo fixes (#45969)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-09-21 14:43:22 +01:00
17ca0a9bd9 The keyword 'cloud' has been deprecated in favor of the 'profile' keyword by os-client-config. (#31389) 2018-09-20 11:31:19 -05:00
6711c9524e Add environmental variables to allow for the script to be run without consul_io.ini. This allows it to run dynamically without any prerequisite config file (#30900) 2018-09-19 18:19:35 -04:00
caf658b420 Fix bugs in softlayer dynamic inventory (#28178)
* --host hostname did not work due to calling wrong function

* softlayer api returns a bunch of extra stuff in the tagReference dict that
  makes --list output crazy long, like over a terminal buffer for just one server
  this culls out the extranneous information and only inserts the actual user
  provided tags to each server.
2018-09-19 18:10:15 -04:00
65c9090714 DigitalOcean inventory deprecation warning (#45054)
Handle DeprecationWarning for ConfigParser in python3

Fixes #45053
2018-09-05 07:16:03 +05:30
505ce6ccf6 ec2 inventory: python 3.7 compatibility (#43716)
ec2 inventory script was throwing errors when using Python 3.7:

TypeError: option values must be strings

This changes the None ConfigParser options to empty strings instead.
2018-09-05 09:27:35 +10:00
cf1006179d Fixes ec2.py assume_role. (#37357)
* Fixes ec2.py assume_role

Previously when connect_to_aws was called it updated the credentials in place.  "connect_to_aws" is called multiple times: on the second run it tries to assume the same role it is already using, and potentially failing depending on your iam policies.
2018-09-04 09:43:58 -04:00
2f9a5a75a8 Update vault-keyring to ConfigManager internals (#41967)
Fix failure since ConfigManager changes
2018-08-22 13:09:22 -04:00
fa8154db40 Fix #43917 (#43929)
Support upper/lower case resource groups
2018-08-13 12:24:13 +08:00
c1c229c6d4 Remove use of simplejson throughout code base (#43548)
* Remove use of simplejson throughout code base. Fixes #42761

* Address failing tests

* Remove simplejson from contrib and other outlying files

* Add changelog fragment for simplejson removal
2018-08-10 11:13:29 -05:00
379fb87b44 add group_by_os_family in azure dynamic inventory (#40702) 2018-08-09 17:00:17 +08:00
e364d717cb VMware: remove unused imports (#43804)
Idea taken from https://github.com/ansible/ansible/pull/43402

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-08-09 10:34:55 +05:30
b954917761 Surround top-level function and class definitions with two blank lines. 2018-07-31 12:06:56 -07:00
fa45c44026 Update openstack inventory script to keep basic functionality (#43432)
re-applies commit 6667ec4474 which
fixed the plugin to the script so that it will work with current
ansible-inventory.

Also redirect stdout before dumping the ouptput, because not doing
so will cause JSON parse errors in some cases.
2018-07-30 16:38:05 -07:00
bc9a40b32d scaleway: initialise auth_token to none (#43183)
Fixes: #43132
2018-07-24 12:40:17 +05:30
1a0330488f VMware: blacklist custom fields in vmware_inventory.py (#36877)
* Provide the ability to blacklist custom fields from having groups created for them.

* Updated configuration parameter name
2018-07-18 21:39:16 +05:30