Commit Graph

111 Commits

Author SHA1 Message Date
Ryan Petrello
1ad623f253 only support ansible-galaxy collection in 2.9+
see: https://github.com/ansible/awx/issues/7769
2020-07-31 09:42:07 -04:00
AlanCoding
300d54864d Remove project update vars no longer used 2020-07-20 19:45:21 -04:00
AlanCoding
fefab89815 Integrate content caching with existing task logic
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
2020-07-20 19:45:21 -04:00
Bill Nottingham
72848fa097 Remove the cache when delete-on-update is set 2020-07-20 19:45:20 -04:00
Bill Nottingham
85ec3dd5c4 Force install if doing a manual sync.
Requirements may be unversioned.
2020-07-20 19:45:20 -04:00
Bill Nottingham
98de4cb35f Adjust pathing to the proper location. 2020-07-20 19:45:20 -04:00
Bill Nottingham
dab7889715 Don't try and install content if there aren't any requirements expecting it 2020-07-20 19:45:19 -04:00
Bill Nottingham
95e69124af Also download roles/collections during the sync job
Since we're writing into a per-revision cache, we can do this easily now.
2020-07-20 19:45:19 -04:00
Bill Nottingham
d272ee3521 Cache downloaded roles & collections
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.
2020-07-20 19:45:15 -04:00
AlanCoding
751ca57390 Narrow function of task to be strictly role install 2020-05-19 12:30:10 -04:00
Seth Foster
4da0e0dd80 Vendor collections for isolated jobs to work in ansible 2.10
kubectl and synchronize are now part of community.kubernetes
and ansible.posix collections, respectively. This change installs
these collections to a local directory to be used in inventory and
isolated management playbooks.

awx issue #6930
2020-05-13 10:41:01 -04:00
AlanCoding
6d1746f99c yamllint fixes 2020-05-01 11:50:01 -04:00
AlanCoding
fcca0cee37 use include_tasks to make hg dependency optional 2020-05-01 10:37:37 -04:00
Alan Rominger
41014e62b7 Avoid applying galaxy settings if no user settings exist (#4262) 2020-04-27 16:15:11 -04:00
Dominique Quatravaux
5a1599b440 [fix] Use rsync --blocking-io to work around EAGAIN hazard
Fixes #6692
2020-04-16 20:20:21 +02:00
Ryan Petrello
140dbbaa7d disable host key checking when installing galaxy roles/collections
see: https://github.com/ansible/awx/issues/5947
2020-03-30 17:03:14 -04:00
Yanis Guenane
35d36a71c7 ansible playbook: move to modern syntax
Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2019-12-09 09:01:49 +01:00
Yanis Guenane
ca247182df yamllint: Make all files in awx pass yamllint
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>
2019-12-02 15:12:51 +01:00
AlanCoding
f64d0dde5a Use tags to reduce project update output
Handle folder deletion as tag

remove -v use by default

Change meaning of roles_enabled playbook var to
 value of AWX global setting
2019-11-12 12:52:39 -05:00
softwarefactory-project-zuul[bot]
aab8495998 Merge pull request #4939 from AlanCoding/no_warning
Get rid of warning in collections install

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-09 15:19:28 +00:00
AlanCoding
d40ab38745 Get rid of warning in collections install 2019-10-08 14:19:52 -04:00
Yanis Guenane
166635ac79 project_update: Make subversion module honor locale
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>
2019-10-08 17:54:53 +02:00
Shane McDonald
bd5003ca98 Task manager / scheduler Kubernetes integration 2019-10-04 13:21:21 -04:00
Jeff Bradberry
1122d28a1b Quote the playbook passed to runner from the isolated manager 2019-10-02 11:10:19 -04:00
softwarefactory-project-zuul[bot]
2d78534223 Merge pull request #4674 from AlanCoding/clean_galaxy_out
Use project verbosity without color for galaxy commands

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-12 13:54:27 +00:00
AlanCoding
ebc369bfef Use project verbosity without color for galaxy commands 2019-09-06 11:02:20 -04:00
Gabe Muniz
23a7151278 fixed insights api 204 errors 2019-09-06 09:27:17 -04:00
AlanCoding
2f3aafe1bb Add collection setting toggle to UI
Additional API housekeeping, removing unused code

Treat default branch as no branch provided
2019-08-12 22:16:04 -04:00
AlanCoding
270bd19dbd Fix bugs with discovery of collection requirements
Addresses some cases where
  collection requirements do not exist
  collection requirements cannot be evaluated

Consolidate logic for roles and collection installs
2019-08-12 22:14:32 -04:00
chris meyers
4be65a0879 collections/requirements.yml support
* just like we support ansible-galaxy role install, support
ansible-galaxy collection install
2019-08-12 22:14:30 -04:00
AlanCoding
f1f57e45de Add scm_refspec field
Update migration syntax to Django 2

fix status bug where canceled switched to error
2019-08-12 22:13:57 -04:00
AlanCoding
6baba10abe Add scm_revision to project updates and cleanup
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
2019-08-12 11:01:10 -04:00
AlanCoding
ac86dc4fb9 Allow JTs to specify and prompt for SCM branch
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
2019-08-12 11:01:07 -04:00
DanielDisisto
3247983823 Failing requirements update when scm_type != git
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>
2019-07-03 07:51:01 -04:00
Jeff Bradberry
80a855c57a Do some basic slugification of the remediation playbook name 2019-04-22 14:17:47 -04:00
Jeff Bradberry
a97865de0c Refactor HostInsights
for better reuse of the error handling of the Insights API calls.
2019-04-22 14:17:47 -04:00
Jeff Bradberry
63209197dd Iterate over the pages of remediations available 2019-04-22 14:17:47 -04:00
Jeff Bradberry
af2484cd97 Update the Insights API urls to use the new url structure 2019-04-22 14:17:47 -04:00
Jeff Bradberry
04521f5c5c Update the Insights action plugin to make calls against the new API 2019-04-22 14:17:47 -04:00
Ryan Petrello
9d000a76de properly set ansible_python_interpreter for local task execution
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
2019-04-16 21:24:23 -04:00
Ryan Petrello
387682ed8d if runner crashes, attempt to record why
this attempts to surface the underlying runner exception for tracebacks
like this one:

FileNotFoundError: [Errno 2] No such file or directory:
'/tmp/awx_41_93gtgv25/artifacts/41/status'
2019-04-15 13:17:45 -04:00
softwarefactory-project-zuul[bot]
5debfdf5e8 Merge pull request #3545 from chrismeyersfsu/fix-tower_header_on_insights_playbook_fetches
include tower header to insights on plan fetch

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-04 15:51:06 +00:00
Ryan Petrello
52a2ed2786 fix a py3 compat issue in the insights action plugin 2019-04-01 17:07:37 -04:00
chris meyers
71fcb1a82c process host facts for iso runs
* Move isolated clean to our final run hook
* ISO and non-iso code path now share the post-fact-processing code
2019-03-29 16:16:22 -04:00
Ryan Petrello
8f089c02a5 fix some faulty logic in isolated syncs that caused SSH keys to not work 2019-03-29 10:32:24 -04:00
chris meyers
926d6a6525 include tower header to insights on plan fetch
* 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)
2019-03-28 10:56:56 -04:00
Ryan Petrello
495dc2202f more iso cleanup and bug fixes 2019-03-25 17:47:58 -04:00
Ryan Petrello
602ef9750f update isolated task execution for ansible-runner 2019-03-18 14:21:47 -04:00
Bill Nottingham
5df384edd6 Fix project updates to properly pull in role requirements.
"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.
2019-02-06 13:20:09 -05:00
Ryan Petrello
18f6f68540 Merge remote-tracking branch 'tower/release_3.3.0' into devel 2018-08-10 11:54:34 -04:00