This addresses the top-level resources in the v2
root view, focusing in order of priority,
reflecting use by the UI.
In several cases get_queryset logic from the view
is moved into the access class.
Most other cases involve adding a straightforward
select_related or prefetch_related entry.
All additional confirmed to be effective with the
django debug toolbar.
Do not set a next_run value for disabled schedules
Bail if no fields are changed
Do not update related template if its fields did not change
Change call pattern to schedule.update_computed_fields()
in doing so, fix bug where template does not pick up schedule
due to schedules next_run not being saved
Handle the case (also a bug) where template was not updated
when schedule was deleted
Update licenses for new versions after dependency upgrades
pin pycurl to version that does not break on install
implement new workflow for py2/3 requirements management
require twisted tls extras, resolve service-identity version
Upgrade celery to resolve importlib DeprecationWarning
use flags to resolve the unsafe and cache problems
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
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
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.
Allow notification_admin_role users to attach
NTs from that organization
Require either read_role or auditor_role to the
object which the NT is being attached to
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
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
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.
This new batch of tests assures that the injector logic
for inventory source in their old script version remains
untouched with the refactoring underway.
Plugins are also tested by the same means of comparing
to reference files, these will be used to assure that
all parameters that used to be respected are still
respected in the plugin system.
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