350 Commits

Author SHA1 Message Date
Brian Coca
9d48ba4243 better error message on missing runner 2019-09-04 13:16:55 -04:00
Ryan Petrello
2608e8d47d
fix a bug which can cause isolated artifact cleanup to fail
see: https://github.com/ansible/awx/issues/4376
2019-07-25 15:52:04 -04:00
Ryan Kraus
468e79a754 Updated ovirt4 dynamic inventory script.
Pulling in the new ovirt4 dynamic inventory script that will be pulled in ansible/ansible#57824

Signed-off-by: Ryan Kraus <rmkraus@gmail.com>
2019-06-16 11:55:46 -04:00
Ryan Petrello
c6c14d4fb9
properly record Instance.cpu and Instance.memory for isolated nodes 2019-05-03 15:30:41 -04:00
Ryan Petrello
17a803f49c
remove the old callback plugin import paths and callback-specific tests 2019-04-12 16:11:23 -04:00
AlanCoding
47a3ee7d76
backport fix to run cloudforms script in py3 2019-04-08 13:40:44 -04:00
Ryan Petrello
79d580d5b9
update periodic isolated cleanup to match the new paths post-runner 2019-04-05 09:43:27 -04:00
Ryan Petrello
78cd1abbb2
fix a bug in isolated OpenSSH key syncing
OpenSSH keys _must_ end with a \n to be accepted by ssh-add; enforce
a newline if there isn't one
2019-04-03 11:53:45 -04:00
AlanCoding
bc5881ad21
Primary development of inventory plugins, partial compat layer
Initialize some inventory plugin test data files
Implement openstack inventory plugin

This may be removed later:
- port non-JSON line strip method from core

Dupliate effort with AWX mainline devel
- Produce ansible_version related to venv

Refactor some of injector management, moving more
  of this overhead into tasks.py, when it comes to
  managing injector kwargs

Upgrade and move openstack inventory script
  sync up parameters

Add extremely detailed logic to inventory file creation
for ec2, Azure, and gce so that they are closer to a
genuine superset of what the contrib script used to give.
2019-03-26 10:29:39 -04:00
Ryan Petrello
602ef9750f update isolated task execution for ansible-runner 2019-03-18 14:21:47 -04:00
Yanis Guenane
3a4f56bb2b plugins/tower.py: Use urllib.parse rather than urlparse
urlparse does not exist in python3, it has been replaced by urllib.parse

Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2019-03-18 09:43:24 +01:00
Ryan Petrello
9bebf3217e
remove usage of import * and enforce F405 in our linter
import * is a scourge upon the earth
2019-02-13 17:10:33 -05:00
AlanCoding
28822d891c
remove unneeded steps in inventory import
Delete some cases that directly loads scripts due
to ansible-inventory group_vars problem (now fixed)

Delete intermediate method that was a go-between the
command and the loader class

Change return type of loader from MemInventory to
a simple python dict

remove backport script and star imports
2019-01-17 08:44:55 -05:00
softwarefactory-project-zuul[bot]
aa8cda0001
Merge pull request #2801 from ryanpetrello/more-robust-isolated-capacity
collect isolated capacity using a cache plugin, not stdout parsing

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-20 20:01:00 +00:00
Bill Nottingham
f1b1224a27 Update foreman.py from Ansible devel, primarily for unicode fixes. 2018-12-03 10:23:28 -05:00
Ryan Petrello
fc0a039097
collect isolated capacity using a cache plugin, not stdout parsing
reading capacity values using the jsonfile cache plugin is more robust
in scenarios where ansible-playbook may print non-JSON output (such as
-vvv or when a custom callback plugin like timer is enabled)
2018-11-26 17:08:42 -05:00
Adam Edwards
21877b3378
update to latest vmware_inventory.py with support for groupby_custom_field_excludes
e364d717cb/contrib/inventory/vmware_inventory.py

Signed-off-by: Adam Edwards <adam@middleware360.com>
2018-11-07 15:43:15 -05:00
Ryan Petrello
c695ba2e10
fix flake8 2018-10-24 10:11:53 -04:00
Ryan Petrello
10c76e2337
update Azure inventory script to latest from Ansible
rebased version of https://github.com/ansible/awx/pull/2234
2018-10-11 11:47:55 -04:00
Ryan Petrello
7df027f826
fix to handle nonexistent system_id 2018-08-03 16:08:40 -04:00
AlanCoding
415f91dca0
cherry pick only openstack critical fix for empty group 2018-07-30 11:35:21 -04:00
AlanCoding
34e2d9b47c
fix regression: include error message from remote server 2018-07-09 09:04:14 -04:00
Bill Nottingham
427ea6752e Fix syntax error 2018-06-01 22:25:46 -04:00
Ryan Petrello
354b076956 clean up Tower inventory error handling
related: https://github.com/ansible/tower/pull/1697
related: https://github.com/ansible/tower-qa/pull/1746
2018-05-30 13:34:14 -04:00
AlanCoding
b275d13da2
fix error-handling bug for tower inventory source 2018-05-07 08:38:44 -04:00
Matthew Jones
18b41791ab
Updating vmware_inventory from upstream 2018-04-23 12:59:41 -04:00
Bill Nottingham
17f8ec64ce Set raw=True when reading passwords from ConfigParser files.
Cherry-pick of https://github.com/ansible/ansible/pull/35582
2018-04-05 10:32:50 -04:00
Matthew Jones
d685815478
Merge pull request #1607 from AlanCoding/tower_verify_field
Sync tower verify_ssl parameter with tower-cli
2018-03-26 12:12:45 -07:00
AlanCoding
9db0fdfc0b
sync tower verify_ssl parameter with tower-cli
Add new input for the tower type credential
elsewhere, tests are being added for verify_ssl in modules
tower-cli also updating to use the original tower.py var
2018-03-26 13:42:52 -04:00
Bill Nottingham
531e5b5137 Cherry-pick fix for WinRM listenr to AzureRM inventory script.
(ref: https://github.com/ansible/ansible/pull/37499/)
2018-03-21 10:46:30 -04:00
AlanCoding
b878a844d0
Update inventory scripts
ec2
- added support for tags and instance attributes
- allow filtering RDS instances by tags
- add option to group by platform
- set missing defaults
- make cache unique to script ran
- bug fixes
- implement AND'd filters
azure_rm
- minor python 3 upgrades
cloudforms
- minor regex fix
foreman
- several new configurables
- changes to caching
gce
- python 3 upgrades
- added gce_subnetwork param
openstack
- added `--cloud` parameter
ovirt4
- obtain defaults from env vars
vmware_inventory
- changed imports
- allow for custom filters
- changed host_filters
- error handling
- python 3 upgrades
2018-02-26 13:46:21 -05:00
Matthew Jones
0d2daecf49
Merge pull request #1243 from matburt/fix_clustering_isolated
Fix isolated instance clustering implementation
2018-02-14 08:32:24 -05:00
Matthew Jones
ffe5a92eb9
Update isolated instance capacity calculaltion 2018-02-13 21:51:50 -05:00
cclauss
260aec543e Misc Python 3 changes: execfile(), file(), reduce(), StandardError 2018-02-09 17:17:05 +01:00
cclauss
e18838a4b7 Modernize Python 2 code to get ready for Python 3 2018-02-08 17:26:22 +01:00
Richard Bywater
a737663dde Add ability to select to prefer IPv4 addresses for ansible_ssh_host
Currently Cloudforms can return a mix of IPv4 and IPv6 addresses in the
ipaddresses field and this mix comes in a "random" order (that is the
first entry may be IPv4 sometimes but IPv6 other times). If you wish to
always use IPv4 for the ansible_ssh_host value then this is problematic.

This change adds a new prefer_ipv4 flag which will look for the first
IPv4 address in the ipaddresses list and uses that instead of just the
first entry.
2018-02-05 08:55:10 +13:00
Ryan Petrello
18f254fc28
Merge pull request #769 from rbywater/feature/cloudformssuffix
Add ability to append suffix to host names for Cloudforms Inventory
2018-01-17 11:43:10 -05:00
Richard Bywater
b8c76301de Add validation to ensure leading fullstop for suffix 2018-01-17 13:20:59 +13:00
Richard Bywater
b5db652050 Clarify that leading fullstop needed 2018-01-14 14:05:34 +13:00
Ryan Petrello
2691e1d707
make the fact caching plugin fail more gracefully for large payloads
related: https://github.com/ansible/ansible/pull/34424
2018-01-04 11:33:47 -05:00
Matthew Jones
9dbcc5934e
Merge remote-tracking branch 'tower/release_3.2.2' into devel 2017-12-13 12:25:47 -05:00
Richard Bywater
9b05a41eec Add ability to append suffix to host names for Cloudforms Inventory
Allows for use of a suffix that will be appended to host names returned
from Cloudforms API if that suffix is not present.

For example with a suffix of 'example.org', the following results would
be shown for a particular Cloudforms host name:
someexample -> someexample.example.org
someexample.example.org -> someexample.example.org

The main use-case for this is, when one Inventory Source is returning
names that have a FQDN name whilst others are returning a shortname, to
ensure that the hosts in an inventory aren't effectively duplicated.
2017-12-05 14:47:33 +13:00
AlanCoding
67867cf0c8
flake8: comply with new E722 rule 2017-12-01 12:16:44 -05:00
Matthew Jones
8a65c6e1c8
Present the tower inventory sync failure in a better way
This allows it to be handled better by ansible 2.4+
2017-11-16 12:59:12 -05:00
Matthew Jones
89a05e9bbc
Handle json decoder errors from tower inventory source 2017-11-06 14:15:53 -05:00
Matthew Jones
85be3c7692
Align inventory variables with Ansible modules 2017-10-27 08:12:14 -04:00
Matthew Jones
5f3ebc26e0
Adding license checks for Tower inventory source
* For Tower the license must match between the source and destination
* For AWX the check is disabled
* Hosts imported from another Tower don't count against your license
  in the local Tower
* Fix up some issues with enablement
* Prevent slashes from being used in the instance filter
* Add &all=1 filter to make sure we pick up all hosts
2017-10-27 08:12:14 -04:00
Matthew Jones
d282966aa1
Use towervars to enable turning on remote tracking vars on Tower src
* This allows the local Tower to track enabled state and unique
  instance id for each host imported from the remote Tower
2017-10-27 08:12:14 -04:00
Matthew Jones
fdc7f58bb4
Support passing instance filters to tower inventory src
* Switch ignore ssl errors to default on
* Application inventory source defaults for Tower src
2017-10-26 13:51:05 -04:00
Matthew Jones
6c597ad165
Adding initial credential and invsrc for Tower
* New credential type for Tower
* Inventory source definitions and migrations for Tower
* Initial Tower inventory source script
2017-10-26 13:51:05 -04:00