Commit Graph

2483 Commits

Author SHA1 Message Date
Ryan Petrello
42f4956a7f enforce required credential fields at job start time rather than on save
this is necessary for credential plugins support so that you can (in two
requests):

1.  Save a Credential with _no_ input values defined
2.  Create/associate one (or more) CredentialInputSource records to the
    new Credential
2019-04-02 11:21:29 -04:00
Ryan Petrello
011d7eb892 clean up access to various CredentialInputSource fields (#3336) 2019-04-02 11:21:21 -04:00
Ryan Petrello
368d933799 remove association behavior from /api/v2/credentials/input_sources/ 2019-04-02 11:21:14 -04:00
Ryan Petrello
b911f8bf77 allow creation at /api/v2/credential_input_sources 2019-04-02 11:21:06 -04:00
Ryan Petrello
35cca68f04 add RBAC definitions for CredentialInputSource 2019-04-02 11:20:51 -04:00
Ryan Petrello
69368d874e move path parameterization to the CredentialInputSource model 2019-04-02 11:20:36 -04:00
Ryan Petrello
7a43f00a5d add support for HashiCorp signed SSH certificates 2019-04-02 11:20:29 -04:00
Ryan Petrello
9036ba492c switch CredentialInput creation to use the associate/disassociate view 2019-04-02 11:20:10 -04:00
Jake McDermott
d87144c4a7 add api for managing credential input sources 2019-04-02 11:19:56 -04:00
Jake McDermott
c209955400 add credential plugin system and minimal working hashivault 2019-04-02 11:19:26 -04:00
softwarefactory-project-zuul[bot]
eab9ee5128 Merge pull request #3514 from AlanCoding/azure_huzzah
Enable azure_rm inventory plugin

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 16:41:16 +00:00
softwarefactory-project-zuul[bot]
2ab290ff2d Merge pull request #3534 from ryanpetrello/iso-pexpect-cleanup
replace our usage of pexpect in IsolatedManager with ansible-runner

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 13:17:05 +00:00
softwarefactory-project-zuul[bot]
ef88507d23 Merge pull request #3543 from AlanCoding/do_not_transform
Set Ansible name transform setting for built-in sources

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-28 23:47:56 +00:00
softwarefactory-project-zuul[bot]
df9a012013 Merge pull request #3284 from ansible/analytics
Analytics

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-28 22:40:18 +00:00
Ryan Petrello
ea30547754 remove main.expect tests (this functionality exists in runner now) 2019-03-28 16:13:14 -04:00
Christian Adams
4a0778a3d5 exclude implicit project updates 2019-03-28 16:12:30 -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
Ryan Petrello
99478f5d25 replace our usage of pexpect in IsolatedManager with ansible-runner 2019-03-28 12:40:21 -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
Christian Adams
9a4439e731 collect jt table for analytics 2019-03-28 00:58:18 -04:00
Christian Adams
c481919a49 check for open license 2019-03-27 19:54:25 -04:00
Christian Adams
58f0e42bd6 update setting wording & add instance-enabled field 2019-03-27 19:54:25 -04:00
Christian Adams
a7368cec43 add copy events table and remove events queries
add copy unifiedjob table, futher optimization, rm since from job_instance queries
2019-03-27 19:53:00 -04:00
Christian Adams
ae9377e0e4 add basic job & JT analytics 2019-03-27 19:53:00 -04:00
Ryan Petrello
c586fa9821 add a minimal framework for generating analytics/metrics
annotate queries & add license analytics
2019-03-27 19:53:00 -04:00
AlanCoding
73f16b2bee Enable azure_rm inventory plugin 2019-03-27 09:27:10 -04:00
softwarefactory-project-zuul[bot]
23185ca22f Merge pull request #3232 from AlanCoding/truly_empty_groups
Surface empty groups as children of all group

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-26 19:17:36 +00:00
Vismay Golwala
ec390b049d Feature: custom virtual environment directories
Currently, users are allowed to define virtual environments in
`settings.BASE_VENV_PATH` only, because that's the only place
Tower looks for virtual environments. This feature allows users
to custom define the directory paths, using API or UI, to look
for virtual environments. Tower aggregates virtual environments
from all these paths, except environments with special name `awx`.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-03-26 12:04:17 -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
Ryan Petrello
8e4a87d0af fix tests for add /etc/ssh in bind mounted folder 2019-03-26 08:04:16 -04:00
Yanis Guenane
fd50feb258 bwrap/runner: Add /etc/ssh in bind mounted folder
/etc/ssh is currently not bound when run into bwrap, this leads to
error like "Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf"
since it cannot access this file.

https://github.com/ansible/awx/pull/3391 was done pre runner
integration.

Fixes: https://github.com/ansible/awx/issues/3392

Signed-off-by: Yanis Guenane <yanis@guenane.org>
2019-03-26 12:43:59 +01:00
AlanCoding
f749a5d44d Surface empty groups as children of all group 2019-03-26 07:18:52 -04:00
Ryan Petrello
af8e071840 remove old callback plugin code and tests 2019-03-25 12:26:51 -04:00
softwarefactory-project-zuul[bot]
8b2fc26219 Merge pull request #3041 from chrismeyersfsu/runnerpy3
ansible-runner integration

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-21 22:21:50 +00:00
softwarefactory-project-zuul[bot]
e3bbd436b4 Merge pull request #3215 from vismay-golwala/survey_allow_empty_defaults
Allow empty default values for numerical survey answers.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-21 16:37:02 +00:00
chris meyers
60ef160e85 flake8 fix 2019-03-20 16:12:45 -04:00
chris meyers
2c52a7d9a8 fix more unit tests for runner
* isolated will be fixed in the future so pytest skip those
* fact cache moved one directory level up, account for that
2019-03-20 14:32:52 -04:00
chris meyers
b006510035 do not save sensitive env vars
* job_env gets exposed via the api. Sensitive env variables should be
redacted before saved into job_env.
2019-03-20 14:00:22 -04:00
chris meyers
060585434a update tests 2019-03-20 09:44:38 -04:00
chris meyers
5135b8a969 fixup unit tests for tasks 2019-03-18 14:21:47 -04:00
chris meyers
f7842cf283 refactor and fix unit tests
* fixup task TestGenericRun
* make runner callback functions accessable to testing
* reduce isintance() usage in run() by using build_ pattern
* move process_isolation param building to build_ function so it can be
tested
2019-03-18 14:21:47 -04:00
chris meyers
827ad0fa75 remove safe_args and add status_handler
* safe_args no longer makes sense. We have moved extra_vars to a file
and thus do not pass sensitive content on the cmdline
2019-03-18 14:21:47 -04:00
Shane McDonald
e09684462c Working out some python3 kinks 2019-03-12 11:27:50 -04:00
Jeff Bradberry
97cc467ae1 Restrict edit permissions on the Organization.max_hosts field to superusers 2019-02-28 15:54:09 -05:00