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
bump migration
fine tune validation of project allow_override
return highly custom error message
Restore branch after syncs to address bugs
encountered after changing scm_refspec
remove unused code to determine scm_revision
Check Ansible version before project update and
do not install collections if Ansible version too old
Add docs related to project branch override
New file specific to branch override and refspec
Complete docs on collections to reflect current
implementation and give a folder tree example
Update clustering docs related to project syncs
Fix bug where git depth was ignored during the
local clone from project folder to run folder
Fix bug where submodules were not copied
Addresses some cases where
collection requirements do not exist
collection requirements cannot be evaluated
Consolidate logic for roles and collection installs
Add validation around prompted scm_branch requiring
project allow_override field to be true
Updated related process isolation docs
Fix invalid comarision in serializer
from PR review, clarify pre-check logging, minor docs additions
Copy project folder each job run
change cwd to private_data_dir, from proj
do not add cwd to show_paths if it is
a subdirectory of private_data_dir, which
is already shown
Pass the job private_data_dir to the local
project sync, and also add that directory
to the project sync show paths
Add GitPython dep and use for job sync logic
use this to manage shallow clone from desired
commit, and to map branch to commit,
and to assess necessity of project sync
Start on some validation change, but not all
allow arbitrary playbooks with custom branch
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.