Commit Graph

367 Commits

Author SHA1 Message Date
AlanCoding
e8581f6892 Implement WFJT prompting for limit & scm_branch
add feature to UI and awxkit

restructure some details of create_unified_job
  for workflows to allow use of char_prompts
  hidden field
avoid conflict with sliced jobs in char_prompts copy logic

update developer docs

update migration reference

bump migration
2019-09-16 14:51:53 -04:00
Ryan Petrello
f22adca6f7 improve parsing of JSON inputs
see: https://github.com/ansible/awx/issues/4573
see: https://github.com/ansible/awx/issues/2371
2019-08-27 12:47:27 -04:00
AlanCoding
85b351a0c8 Allow gce host and public IP hostvars to be null 2019-08-20 14:44:56 -04:00
Ryan Petrello
98e7ae5f9f optimize a slow query in inventory script generation
see: https://github.com/ansible/awx/issues/4461
2019-08-14 15:03:53 -04:00
AlanCoding
a0c7471110 Re-create lost data in Azure_rm imports 2019-07-22 15:32:24 -04:00
Jeff Bradberry
6737bd4c19 Replace {} as field default values with the callable dict 2019-07-12 15:11:22 -04:00
AlanCoding
612205d56d Ignore Azure templating errors 2019-07-12 08:11:27 -04:00
beeankha
c6f1806a23 Removing references to 'any' state notifications 2019-06-17 10:47:58 -04:00
beeankha
8ec97235e3 Add feature for notifications to trigger on job start 2019-06-17 10:47:57 -04:00
AlanCoding
f4c18843a3 Resolve default ordering warnings from tests 2019-05-20 10:58:36 -04:00
softwarefactory-project-zuul[bot]
8725d3e539 Merge pull request #3842 from ryanpetrello/instance-group-order
enforce a stable list order when attaching/detaching instance groups

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-09 21:04:29 +00:00
AlanCoding
2585c5030b move outlier gce cache logic to standard place 2019-05-09 08:24:57 -04:00
Ryan Petrello
e4a50f3595 enforce a stable list order when attaching/detaching instance groups 2019-05-07 14:53:00 -04:00
softwarefactory-project-zuul[bot]
f60857013e Merge pull request #3754 from AlanCoding/gce_env_var
Simplify gce inventory plugin injector

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-24 16:25:09 +00:00
AlanCoding
c36dbb3448 Simplify gce inventory plugin injector
This consumes the change made in Ansible core
https://github.com/ansible/ansible/pull/54407
which is in Ansible 2.8, allowing the plugin
injection logic to share the script logic and
to be simplified
2019-04-23 09:33:17 -04:00
AlanCoding
adfce6edf1 Unify openstack inventory injection logic
Remove logic specific to job runs to create a "clouds" file
  for openstack credential type

Move that logic into the collection of managed_by_tower
  injector methods, so it will be used by all job types

Modify inventory openstack injector logic to use this
  data as a base for its logic building the clouds file
2019-04-23 07:59:47 -04:00
AlanCoding
140394fe1f Change credential pattern for openstack inventory plugin
See upstream docs https://github.com/ansible/ansible/pull/54532
Previously it was thought that the entry in the inventory config
file was necessary, but the upstream docs change allows us to
use the same pattern that we used to for the script.
2019-04-22 14:32:00 -04:00
Bill Nottingham
6adf4ca2c1 Deprecate a bunch of inventory computed fields.
Cribbed from https://github.com/ansible/awx/pull/3281/
2019-04-18 12:12:50 -04:00
AlanCoding
880341ac05 avoid slicing if the inventory only has 1 host 2019-04-05 15:28:29 -04:00
AlanCoding
6f150f0362 Set inv src custom virtualenv directly on model 2019-03-29 14:37:28 -04:00
softwarefactory-project-zuul[bot]
eab9ee5128 Merge pull request #3514 from AlanCoding/azure_huzzah
Enable azure_rm inventory plugin

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 16:41:16 +00:00
softwarefactory-project-zuul[bot]
ef88507d23 Merge pull request #3543 from AlanCoding/do_not_transform
Set Ansible name transform setting for built-in sources

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-28 23:47:56 +00:00
AlanCoding
180396b5df Use option to add back in gce_image hostvar
construct groups from this gce image hostvar
2019-03-28 14:14:44 -04:00
AlanCoding
e84642b4a1 Set Ansible name transform setting for built-in sources
This is the current default but will change in the future
for these sources, we do not want behavior change
2019-03-28 10:37:36 -04:00
AlanCoding
73f16b2bee Enable azure_rm inventory plugin 2019-03-27 09:27:10 -04:00
softwarefactory-project-zuul[bot]
23185ca22f Merge pull request #3232 from AlanCoding/truly_empty_groups
Surface empty groups as children of all group

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-26 19:17:36 +00:00
AlanCoding
d39b3b3165 Remove compatibility_mode field, simplify jinja2 syntax
fix minor bug where credential not shown in API
2019-03-26 10:29:39 -04:00
AlanCoding
19ad7d3983 Inventory plugins data tweaks and finalization
Disable use of azure_rm inventory plugin
Disable use of ec2 inventory plugin
due to compatibility issues that are unresolved

Fix conflicts with ansible runner integration

Add additional content enabled by Ansible core changes
2019-03-26 10:29:39 -04:00
AlanCoding
cd7e358b73 Inventory plugins transition dev finishing work
Bump keystone auth to resolve problem with openstack script

Clarify code path, routing to template vs. managed injector
  behavior is also now reflected in test data files

Refactor test data layout for inventory injector logic

Add developer docs for inventory plugins transition

Memoize only get_ansible_version with no parameters

Make inventory plugin injector enablement a separate
  concept from the initial_version
  switch tests to look for plugin_name as well

Add plugin injectors for tower and foreman.

Add jinja2 native types compat feature

move tower source license compare logic to management command

introduce inventory source compat mode

pin jinja2 for native Ansible types

Add parent group keys, and additional translations

manual dash sanitization for un-region-like ec2 groups

nest zones under regions using Ansible core feature just merged
  implement conditionally only with BOTH group_by options

Make compat mode default be true
  in API models, UI add and edit controllers

Add several additional hostvars to translation
Add Azure tags null case translation

Make Azure group_by key off source_vars
  to be consistent with the script

support top-level ec2 boto_profile setting
2019-03-26 10:29:39 -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
Jim Ladd
dd854baba2 Add support for Azure inventory plugin 2019-03-26 10:29:39 -04:00
Jim Ladd
7cce3cad06 Add support for ec2 inventory plugin 2019-03-26 10:29:38 -04:00
AlanCoding
622fbc116b move script injection logic to inventory file 2019-03-26 10:29:38 -04:00
AlanCoding
b9d489c788 Use randomized file names for injector credential files 2019-03-26 10:29:38 -04:00
Jim Ladd
d46a403a49 GCE plugin should not set any regions when 'all' specified 2019-03-26 10:29:38 -04:00
AlanCoding
6c130fa6c3 Build-in inventory plugin code structure with gce working
supporting and related changes
 - Fix inconsistency between can_update / can_start
 - Avoid creating inventory file twice unnecessarily
 - Non-functional consolidation in Azure injection logic
 - Inject GCE creds as indented JSON for readability
 - Create new injector class structure, add gce
 - Reduce management command overrides of runtime environment
2019-03-26 10:29:35 -04:00
AlanCoding
f749a5d44d Surface empty groups as children of all group 2019-03-26 07:18:52 -04:00
Jeff Bradberry
6d70651611 Update the inventory_import management command
to respect the new Organization.max_hosts limit.
2019-02-28 15:51:50 -05:00
AlanCoding
fbf6315a8c remove star imports in tasks and non-base models 2019-02-12 19:50:30 -05:00
Ryan Petrello
e245e50ee4 optimize a slow query in inventory script generation
if we don't preload this column, Django needs it, and so it generates
one query per-host (!!!) to get it.  For large (10k+ host) inventories,
this is incredibly slow.

see: https://github.com/ansible/awx/issues/3214
2019-02-12 12:55:38 -05:00
Bram Verschueren
016fc7f6bf use source_project custom_virtualenv if configured
Signed-off-by: Bram Verschueren <verschueren.bram@gmail.com>
2019-02-06 10:51:52 +01:00
Ryan Petrello
daeeaf413a clean up unnecessary usage of the six library (awx only supports py3) 2019-01-25 00:19:48 -05:00
Ryan Petrello
f7bc8fb662 record the virtualenv used when a job or inventory sync runs
see: https://github.com/ansible/awx/issues/2264
2019-01-23 11:48:06 -05:00
AlanCoding
99288a5e18 Use custom virtual environment in inventory updates 2019-01-21 06:45:55 -05:00
Ryan Petrello
f223df303f convert py2 -> py3 2019-01-15 14:09:01 -05:00
AlanCoding
cccc038600 Updates to logging, specifically for unit tests 2019-01-15 11:34:54 -05:00
Rick Stokkingreef
7dbb862673 Fixed test cases 2018-11-08 12:07:07 +01:00
Rick Stokkingreef
f916bd7994 Fixed bug when all group vars are not included 2018-11-06 14:26:36 +01:00
AlanCoding
47fc0a759f fix bug where grandparent groups were excluded 2018-11-02 10:10:38 -04:00
AlanCoding
37f9024940 fix slicing task_impact and script gen bugs 2018-10-31 11:04:13 -04:00