Commit Graph
100 Commits
Author SHA1 Message Date
AlanCoding 454f76c066 Copy git submodules as-is to avoid auth and path errors 2019-09-27 09:03:47 -04:00
AlanCoding e3c1189f56 bump migration 2019-09-16 14:51:57 -04:00
AlanCoding fdf9dd733b bump migration 2019-09-16 14:51:56 -04:00
AlanCoding 01bb32ebb0 Deal with limit prompting in factory 2019-09-16 14:51:56 -04:00
AlanCoding 711c240baf Consistently give WJ extra_vars as text 2019-09-16 14:51:56 -04:00
AlanCoding 291528d823 adjust UI unit tests again
bump migration

bump migration again
2019-09-16 14:51:56 -04:00
AlanCoding 1406ea3026 Fix missing places for ask_limit and ask_scm_branch 2019-09-16 14:51:55 -04:00
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
AlanCoding ebc369bfef Use project verbosity without color for galaxy commands 2019-09-06 11:02:20 -04:00
AlanCoding c65b77a20a fix project sync revision bug 2019-09-05 08:49:52 -04:00
AlanCoding 11146a071f Fix collection precedence bug, add new to left of list 2019-09-04 15:32:03 -04:00
AlanCoding a4f04cd534 remove deprecated credential logic from create factory 2019-08-21 10:40:38 -04:00
AlanCoding 85b351a0c8 Allow gce host and public IP hostvars to be null 2019-08-20 14:44:56 -04:00
AlanCoding 4e99ad3e27 minor doc update 2019-08-20 10:37:41 -04:00
AlanCoding f230da5437 update tests for credential removal 2019-08-20 10:37:41 -04:00
AlanCoding b660800c5d remove deprecated WFJT node credential field 2019-08-20 10:37:41 -04:00
AlanCoding d302f134ac Kill off all can_read access methods 2019-08-16 10:12:46 -04:00
AlanCoding 4831cde39f fix bug where cred org permission was not checked 2019-08-14 12:07:28 -04:00
AlanCoding be21a8bcb4 Fix logic for turning off override behavior 2019-08-12 22:17:19 -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 dc5d696238 avoid unnecessary checkout, more docs content 2019-08-12 22:16:03 -04:00
AlanCoding 03d72dd18a JT-branch docs and code cleanup
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
2019-08-12 22:16:02 -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
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 3a5e609a11 Fix error due to randint inclusivity 2019-08-12 13:36:53 -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
AlanCoding 63978f7d10 remove setting not actually customizable 2019-08-06 13:40:52 -04:00
AlanCoding 4399d9287d Always provide gce token_uri 2019-08-01 14:18:44 -04:00
AlanCoding b3651ecf30 Update docs to reflect field removals 2019-07-31 08:58:39 -04:00
AlanCoding 2c533edb3c remove duplicates from IG list 2019-07-25 10:20:25 -04:00
AlanCoding a0c7471110 Re-create lost data in Azure_rm imports 2019-07-22 15:32:24 -04:00
AlanCoding 2439aa409d Adjust inventory update env test to allow duplicate references
change gce injectors to not duplicate the credentials file
2019-07-17 12:30:13 -07:00
AlanCoding 612205d56d Ignore Azure templating errors 2019-07-12 08:11:27 -04:00
AlanCoding 287159296a remove unused migration methods 2019-07-11 16:09:38 -04:00
AlanCoding 196b6572b2 remove code used defunct jobs list POST 2019-06-14 13:13:37 -04:00
AlanCoding 76ebcf914b upgrade pip and setuptools 2019-06-13 09:45:18 -04:00
AlanCoding f8c69aadcb Correctly manage current apps for the action_node addition 2019-06-12 10:13:45 -04:00
AlanCoding 05aab5da4c cache smart inventory memberships to avoid slow query 2019-06-11 11:06:35 -04:00
AlanCoding fedd1cf22f Replace JobOrigin with ActivityStream.action_node 2019-05-31 07:10:07 -04:00
AlanCoding dbc65baa43 apply optimizations via standard method
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.
2019-05-24 13:09:55 -04:00
AlanCoding b11995e638 Remove duplicated type methods and old Django logic 2019-05-23 08:24:24 -04:00
AlanCoding 40f9d0b512 More precise handling of schedule computed fields no-ops
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
2019-05-23 08:13:37 -04:00
AlanCoding d3f047d731 Move dynamic log level logic to filter 2019-05-22 14:00:39 -04:00
AlanCoding 06be3a29b9 fix Django debug toolbar after its upgrade 2019-05-20 12:17:57 -04:00
AlanCoding f4c18843a3 Resolve default ordering warnings from tests 2019-05-20 10:58:36 -04:00
AlanCoding bda838f723 Add note for docutils, unpin runner dependency 2019-05-20 10:24:43 -04:00
AlanCoding 2bec5ddb41 General upgrade of dependencies
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
2019-05-20 10:24:39 -04:00
AlanCoding 74643520c7 GCE contract update, do not use token_uri in job runs 2019-05-20 09:27:45 -04:00
AlanCoding 1223148116 Avoid unnecessary user get expiring session memberships 2019-05-17 14:05:17 -04:00
AlanCoding 677a8b34ba Fix bug in dev supervisor reparenting processes 2019-05-10 07:46:53 -04:00
AlanCoding 2585c5030b move outlier gce cache logic to standard place 2019-05-09 08:24:57 -04:00
AlanCoding 7e6a73f892 fix bug with null credential 2019-05-08 21:18:34 -04:00
AlanCoding 1874e8bb4c Reduce passing around of passwords dictionary 2019-05-08 21:18:34 -04:00
AlanCoding 231abf865b put variable data permission in its own class 2019-05-08 13:43:13 -04:00
AlanCoding d2e67aea19 Fix server error for in-flight migration 2019-05-03 10:20:31 -04:00
AlanCoding 7d692d08f9 include playbook as a default search field 2019-05-01 16:15:00 -04:00
AlanCoding 5f1aeb0f4e remove ask_vars from job_start endpoint 2019-05-01 13:39:25 -04:00
AlanCoding 530a7ba51d populate event children list via parent_uuid 2019-05-01 11:55:53 -04:00
AlanCoding 4191b21052 make test_tasks.py durable to changing Ansible versions 2019-04-30 14:00:51 -04:00
AlanCoding 81f0662161 remove job ask_ fields that reference JT 2019-04-30 13:35:58 -04:00
AlanCoding d204f12184 remove unneeded update_model call 2019-04-30 10:15:08 -04:00
AlanCoding 42dd3c5cf5 Remove unused output_replacements logic 2019-04-30 10:11:03 -04:00
AlanCoding 5720601a2e allow relaunching other user jobs with public vars 2019-04-30 08:07:45 -04: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
AlanCoding 8c2b3e9b84 Fix Django 2.0 deprecation warnings 2019-04-22 14:17:14 -04:00
AlanCoding 1ddb675fa2 Use querset special case to let org members see teams 2019-04-17 07:05:25 -04:00
AlanCoding 941009bf6d Apply critical dependency upgrades
fix PyYAML warnings in unit tests
update paramiko source file for license
2019-04-16 16:00:09 -04:00
AlanCoding 9c71204435 show activity stream entry for system auditor association 2019-04-16 15:59:04 -04:00
AlanCoding e40c6da552 Apply same pip and setuptools to AWX and Ansible venv 2019-04-15 13:54:25 -04:00
AlanCoding 5dbc269de1 Revert "Merge pull request #3697 from AlanCoding/conservative_upgrades"
This reverts commit 890de400e2, reversing
changes made to e8de7bc845.
2019-04-15 10:39:56 -04:00
AlanCoding 569cd3b34e update paramiko source file 2019-04-12 15:52:35 -04:00
AlanCoding 2c67bec3cb fix PyYAML warnings in unit tests 2019-04-12 15:48:08 -04:00
AlanCoding 235011f5e9 Apply critical dependency upgrades 2019-04-12 15:26:48 -04:00
AlanCoding 4eab362318 fix RBAC bugs with notification attachment
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
2019-04-10 10:29:54 -04:00
AlanCoding 988438f119 Remove stdout wrapper classes that moved to runner 2019-04-09 16:28:30 -04:00
AlanCoding 809fcac738 fix 403 bug using write PAT and view.always_allow_superuser=True 2019-04-09 09:54:52 -04:00
AlanCoding c4b41a174b add instance_id for gce imported hosts 2019-04-09 08:20:26 -04:00
AlanCoding 47a3ee7d76 backport fix to run cloudforms script in py3 2019-04-08 13:40:44 -04:00
AlanCoding cca9de9a3e set default slice ct for special cases 2019-04-05 16:12:40 -04:00
AlanCoding 880341ac05 avoid slicing if the inventory only has 1 host 2019-04-05 15:28:29 -04:00
AlanCoding 750c8d8a6d Set ansible-inventory verbosity for Ansible 2.8 2019-04-01 13:39:20 -04:00
AlanCoding ea355f6f8f change default to allow empty groups from custom sources 2019-04-01 10:53:06 -04:00
AlanCoding 6f150f0362 Set inv src custom virtualenv directly on model 2019-03-29 14:37:28 -04: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
AlanCoding e097f5a021 implement playbook-dir option in ansible-inventory calls 2019-03-26 14:09:08 -04: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
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
AlanCoding 5cbcfbe0c6 Port inventory source injector tests to functional tests
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.
2019-03-26 10:29:38 -04:00
AlanCoding 43eff55fd4 fix bugs related to python3 2019-03-26 10:29:37 -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