Revert the --force flags
use the update id as metric for role caching
Shift the movement of cache to job folder from rsync task to python
Only install roles and collections if needed
Deal with roles and collections for jobs without sync
Skip local copy if roles or collections turned off
update docs for content caching
Design pivot - use empty cache dir to indicate lack of content
Do not cache content if we did not install content
Test changes to allay concerns about reliability of local_path
Do not blow away cache for SCM inventory updates
Populate the cache the first time the job is run for a revision
that needs them, and for future runs for that revision just
copy it into the private directory.
Delete the cache on project deletion.
This commit updates all files that weren't passing yamllint for them to
pass.
A new yamllint target has been added. One can run `tox -e yamllint` or
`yamllint -s .` locally to ensure yaml files are still passing.
This check will be enabled in the CI so it can get on every new
contributions, and prevent merging non-compliant code.
Signed-off-by: Yanis Guenane <yguenane@redhat.com>
Currently the subversion module does not honor system configured locale
as the module itself overrides them to `C`.
This commit enforces the module to honor the `LANG` locale for
deployment. Allowing project update with repo that contains UTF-8
characters.
Closes: https://github.com/ansible/awx/issues/4936
Signed-off-by: Yanis Guenane <yguenane@redhat.com>
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
The `git_result` variable is incorrectly checked as being `defined` vs. `not skipped`. This causes SVN (or any non-GIT) project update to fail consistently when `doesRequirementsExist.stat.exists` is true
Signed-off-by: DanielDisisto <daniel.disisto@didata.com.au>
this works a limitation in ansible for connection: local and makes it so
that you can run connection: local playbooks with a /usr/bin/python that
is Python3 and an Ansible virtualenv that is Python2
see: https://github.com/ansible/awx/issues/3267
* We include a special header value in the user agent when tower proxies
requests to get per-host rules.
* This extends that header logic to when we fetch plans (playbooks)
"check" runs check out the version that is saved in the database,
so for git repos, any subsequent "checkout" run on the same node
would always report that we have the proper version, and we would
not properly force a role update when requiremets.yml changes.
Also, don't use `scm_result` for all SCMs, as the skipped tasks will
overwrite earlier `scm_result` variables.
* Gone are the days of playbook abuse.
* Our project update can now call a single Insight Ansible module to
loop over the set of maintenance plans to download and save playbooks
for use by job templates.
* During insights project updates, if the etag from insights matches the
last etag (scm_revision) then don't get all the maintenance playbooks.
Otherwise, get all the maintenance playbooks and update scm_revision
with the etag.
Newer ansible versions don't allow with_items to reference undefined
variables so we'll provide a default.
We'll also update some conditionals to deal with naming requirements
changes on insights api endpoints
This fixes an issue where a user was trying to use an exclamation mark
in the password. Historically we've used the quote filter but more and
more we're seeing conflicts with special characters