Compare commits

...

5026 Commits
2.1.2 ... 9.3.0

Author SHA1 Message Date
softwarefactory-project-zuul[bot]
beb8021580 Merge pull request #6263 from ryanpetrello/930-release-branch
bump version to 9.3.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-11 22:57:45 +00:00
Ryan Petrello
36078651d3 bump version to 9.3.0 2020-03-11 14:34:27 -04:00
softwarefactory-project-zuul[bot]
8b768bcb01 Merge pull request #6174 from AlanCoding/collection_single_loop
Make demo data in tests, further refine templating loop

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-11 18:19:31 +00:00
softwarefactory-project-zuul[bot]
16d9e1cfc7 Merge pull request #5968 from mabashian/jobs-list-sockets
Changes ui-side behavior in response to websocket job status updates on several lists

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-11 18:13:06 +00:00
softwarefactory-project-zuul[bot]
0fd9153cf7 Merge pull request #6254 from ryanpetrello/redact-faster
optimize the awx.main.redact SCM URL sanitizer regex

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-11 14:56:02 +00:00
Ryan Petrello
c95624e27f optimize the SCM URL sanitizer regex
\w+ is too greedy for large strings that don't contain URLs
2020-03-11 10:10:35 -04:00
softwarefactory-project-zuul[bot]
5cf33f57a4 Merge pull request #6253 from AlanCoding/smart_error
Fix server error creating smart inventories

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-11 13:08:00 +00:00
AlanCoding
5c331934e2 Fix server error creating smart inventories 2020-03-10 22:00:31 -04:00
softwarefactory-project-zuul[bot]
7ac21b4922 Merge pull request #6252 from gamuniz/fix_typo_meta
removed extra quotes in example

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-11 00:14:46 +00:00
softwarefactory-project-zuul[bot]
04fe18d840 Merge pull request #6239 from marshmalien/check-host-inventory-id
Check for top-level inventory and host inventory match 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-10 23:13:16 +00:00
Gabe Muniz
b9829e2bde removed extra quotes in example 2020-03-10 23:08:38 +00:00
softwarefactory-project-zuul[bot]
a99d4a8419 Merge pull request #6248 from marshmalien/side-nav-dark-theme
Use dark theme in side navigation 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-10 21:53:22 +00:00
Marliana Lara
676b29346c Switch side nav to dark theme 2020-03-10 16:40:34 -04:00
softwarefactory-project-zuul[bot]
208dbc1f92 Merge pull request #6237 from beeankha/fix_user_module
Fix Username Idempotency in tower_user Module

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-10 20:06:05 +00:00
Marliana Lara
2cb5046ec6 Throw an error when host inventory doesn't match parent inventory 2020-03-10 15:33:39 -04:00
softwarefactory-project-zuul[bot]
356b674a49 Merge pull request #6241 from mabashian/4085-cred-edit
Fixes bug where users without read access on a creds org cannot edit the cred

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-10 19:19:28 +00:00
beeankha
185c581007 Remove len() check
Remove comment

Remove quote marks from default values
2020-03-10 15:18:34 -04:00
softwarefactory-project-zuul[bot]
789397d56c Merge pull request #6240 from ryanpetrello/schedule-rbac-tests
add RBAC tests for schedules on inventory and project updates

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-10 18:44:18 +00:00
Marliana Lara
e816f73ecf Show content error when the top-level inventory and host inventory do not match 2020-03-10 14:24:59 -04:00
softwarefactory-project-zuul[bot]
bbe5789e70 Merge pull request #6235 from marshmalien/6142-inv-group-add-host-form
Add Inventory Group Host Add form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-10 17:48:27 +00:00
Ryan Petrello
ad1a7fc9c9 add RBAC tests for schedules on inventory and project updates 2020-03-10 13:45:57 -04:00
mabashian
dd5f25186b Fixes bug where user with edit permissions on a credential but no permissions on the credentials org would be denied access to the form in the UI. 2020-03-10 13:31:55 -04:00
softwarefactory-project-zuul[bot]
ecb7147614 Merge pull request #6229 from AlexSCorey/5895-SurveyListToolbar
Adds SurveyList tool bar

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-10 17:13:46 +00:00
Marliana Lara
87396f968c Use variables for inventory breadcrumb path segments 2020-03-10 13:02:14 -04:00
softwarefactory-project-zuul[bot]
87bfb82907 Merge pull request #6238 from jakemcdermott/awaiting-for-godot
Remove some rogue awaits

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-10 16:53:30 +00:00
Alex Corey
65e988b44c Impoves test and removes uncessary condition 2020-03-10 12:20:48 -04:00
Jake McDermott
4381a7d75c Remove some rogue awaits 2020-03-10 11:59:37 -04:00
Alex Corey
3a6528dc0d Adds toolbar 2020-03-10 10:08:40 -04:00
beeankha
c113c2db52 Fix username/name issue in tower_user module, update test playbook 2020-03-10 10:06:38 -04:00
Marliana Lara
b7d2d6ad89 Add Inventory Group Host Add form 2020-03-09 19:58:31 -04:00
softwarefactory-project-zuul[bot]
01d77d5407 Merge pull request #6221 from marshmalien/6150-disassociate-modal
Add disassociate inventory group host button 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-09 23:47:16 +00:00
softwarefactory-project-zuul[bot]
87c6ed52cd Merge pull request #6234 from wenottingham/found-a-mole--lets-whack-it
Remove SCL python from awx-python

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-09 20:59:30 +00:00
softwarefactory-project-zuul[bot]
0d5a46a6e1 Merge pull request #6233 from marshmalien/6210-user-teams-form-btn-layout
Fix form action button layout

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-09 20:41:22 +00:00
softwarefactory-project-zuul[bot]
f3ab3de1be Merge pull request #6228 from jakemcdermott/6191-fix-unnecessary-panel-reload-02
Fix unnecessary panel reload and refactor top-level host and inventory routing components

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-09 20:03:44 +00:00
Bill Nottingham
871695ea5e Remove SCL python from awx-python
This really should be created at build time.
2020-03-09 15:51:56 -04:00
Marliana Lara
0f5b694514 Fix form action button layout 2020-03-09 14:56:39 -04:00
softwarefactory-project-zuul[bot]
9567dc9e17 Merge pull request #6231 from jakemcdermott/6230-fix-double-schedules
Remove duplicate schedule tab

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-09 18:46:12 +00:00
Jake McDermott
24d35e9593 Remove duplicate schedule tab 2020-03-09 13:39:40 -04:00
softwarefactory-project-zuul[bot]
b6be8ca445 Merge pull request #6212 from marshmalien/6210-fix-cred-form-button-layout
Fix credential form action button layout

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-09 17:32:34 +00:00
Jake McDermott
beb10feb0c Refactor top-level host and inv routing components
* Remove route render props
* Remove unneeded load checks
* Make PageSection component placement consistent with other screens
* Fix issues causing complete panel reload on tab change
2020-03-09 12:12:49 -04:00
Jake McDermott
6ec9c45341 Fix screen reload on host tab change 2020-03-09 11:35:26 -04:00
softwarefactory-project-zuul[bot]
9a394a5726 Merge pull request #6219 from dsesami/host-detail-labels
Host detail labels

Reviewed-by: Daniel Sami
             https://github.com/dsesami
2020-03-09 13:37:50 +00:00
Marliana Lara
25f4aa19b7 Add disassociate inventory group host modal 2020-03-06 17:48:12 -05:00
softwarefactory-project-zuul[bot]
7ff5bacce5 Merge pull request #6185 from jlmitch5/addWFJTNotAccTabs
add notification and access tabs to wfjt

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-06 22:05:05 +00:00
softwarefactory-project-zuul[bot]
3e820a88e1 Merge pull request #6216 from pilou-/doc_extract_credentials
[doc] Explain how to extract credentials or encrypted settings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-06 21:54:51 +00:00
John Mitchell
c1ab118481 remove unnecessary org rest calls for notifcation tabs on proj wfjt 2020-03-06 16:04:16 -05:00
John Mitchell
3952be9429 add notification and access tabs to wfjt 2020-03-06 16:04:16 -05:00
Ryan Petrello
35f414ccf2 clarify how AWX stores cerdentials 2020-03-06 16:00:41 -05:00
softwarefactory-project-zuul[bot]
304bf6805b Merge pull request #6217 from ryanpetrello/workflow-approval
record a start time for WorkflowApproval jobs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-06 20:54:39 +00:00
Daniel Sami
e733506477 Merge branch 'devel' into host-detail-labels 2020-03-06 15:50:58 -05:00
softwarefactory-project-zuul[bot]
f4366be419 Merge pull request #6170 from mabashian/5859-jt-schedule-details
Adds generic schedule detail component and applies it to JT/WFJT/Proj schedules

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-06 20:44:11 +00:00
Daniel Sami
64018a71bb used lint 2020-03-06 15:41:10 -05:00
softwarefactory-project-zuul[bot]
0c9c349fb9 Merge pull request #6211 from marshmalien/6141-inv-host-components
Remove screen -> screen imports in Inventories and Hosts

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-06 20:02:36 +00:00
mabashian
6dd4d04bf5 Move label out to styled component. Removes dependency on internal pf classes. 2020-03-06 14:56:17 -05:00
mabashian
21b4455ee6 Change nestedResource to schedule in setBreadcrumbConfig. As it currently stands the only nested resource that could be passed here is a schedule. 2020-03-06 14:36:35 -05:00
mabashian
314e345825 Tweak Schedules props to include the options request callback needed to load the list after rebasing. 2020-03-06 14:36:35 -05:00
mabashian
90e047821d Makes entire hierarchy of schedule components generic 2020-03-06 14:36:34 -05:00
mabashian
01fe89e43c Moves request to generate preview down into the ScheduleDetail component 2020-03-06 14:32:09 -05:00
mabashian
1f2edd81ab Adds generic schedule detail component and applies it to JT schedules 2020-03-06 14:32:09 -05:00
Ryan Petrello
862de0b6f3 record a start time for WorkflowApproval jobs
see: https://github.com/ansible/awx/issues/6202
2020-03-06 14:16:27 -05:00
Pierre-Louis Bonicoli
d75c2d9b44 Explain how to extract credentials/settings 2020-03-06 18:18:20 +01:00
softwarefactory-project-zuul[bot]
1b8ff1f846 Merge pull request #6194 from jakemcdermott/6191-fix-unnecessary-panel-reload
Fix panel loading and clean up unneeded code

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-06 17:14:27 +00:00
softwarefactory-project-zuul[bot]
a93b1aa339 Merge pull request #6169 from AlexSCorey/5895-SurveyList
Adds the list of the survey questions.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-06 16:57:41 +00:00
Marliana Lara
4c6191041c Fix credential form action button layout 2020-03-06 11:12:09 -05:00
Alex Corey
edb3f6df55 Adds the list of the survey questions.
TODO:  Add delete functionality.  Add sort functionality.
Add preview functionality.
Toolbar will be built out with the other functionalities.
2020-03-06 11:10:18 -05:00
softwarefactory-project-zuul[bot]
7a3ece7fd2 Merge pull request #6197 from jbradberry/choice-field-metadata
Show API choice field metadata more correctly for null vs ''

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-06 15:30:21 +00:00
softwarefactory-project-zuul[bot]
73e867b6f5 Merge pull request #6205 from ryanpetrello/proj-inv-sched
fix global schedule creation for project and inventory updates too

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-06 14:36:22 +00:00
Ryan Petrello
acc34c1393 fix global schedule creation for project and inventory updates too
related: https://github.com/ansible/awx/pull/6193
2020-03-06 08:55:13 -05:00
Marliana Lara
3d5a002676 Remove all inventory route logic from Host screens 2020-03-06 01:36:38 -05:00
Marliana Lara
bb6d9af90b Create nested inventory host route files and components 2020-03-06 01:35:58 -05:00
Marliana Lara
da94b2dc9e Add InventoryHostAdd route file 2020-03-06 01:25:07 -05:00
softwarefactory-project-zuul[bot]
a1c2db3db5 Merge pull request #6190 from mabashian/5864-jt-schedule-add
Adds Add button to schedules list along with rbac restrictions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-05 23:26:49 +00:00
Jeff Bradberry
d849e81891 Show API choice field metadata more correctly for null vs '' 2020-03-05 17:10:59 -05:00
Jake McDermott
a5afac62ca Fix panel reloading and clean up unneeded code 2020-03-05 15:36:25 -05:00
softwarefactory-project-zuul[bot]
66c98ca9bc Merge pull request #6193 from ryanpetrello/awx-cli-schedules-options
fix a bug in OPTIONS /api/v2/schedules/

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-05 20:25:47 +00:00
softwarefactory-project-zuul[bot]
a00e7c7050 Merge pull request #6192 from squidboylan/fix_typo
Fix a typo in the collection README

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-05 20:22:51 +00:00
Ryan Petrello
cd1ff6b16a fix a bug in OPTIONS /api/v2/schedules/
a side effect of this bug is that `awx schedules create` doesn't work
properly for non-admin users (i.e., users who have execute access for
a JT)

see: https://github.com/ansible/awx/issues/5717
2020-03-05 14:43:54 -05:00
softwarefactory-project-zuul[bot]
b560a21ca3 Merge pull request #6187 from marshmalien/fix-inv-host-add-save
Fix bug where Inventory Host Add form doesn't save

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-05 19:02:32 +00:00
Caleb Boylan
63fa367e9d Fix a typo in the collection README 2020-03-05 10:23:39 -08:00
mabashian
d33daeee91 Adds Add button to schedules list along with rbac restrictions 2020-03-05 12:34:29 -05:00
Marliana Lara
9d449c419b Fix bug where Inv Host Add form doesn't save due to form error 2020-03-05 10:58:06 -05:00
softwarefactory-project-zuul[bot]
e34e88549f Merge pull request #6152 from ryanpetrello/venv-realpath
respect home directory symlinks for BASE_VENV_PATH

Reviewed-by: Bill Nottingham
             https://github.com/wenottingham
2020-03-05 15:23:38 +00:00
AlanCoding
c073e39c69 Simplify build loop, make demo data in tests 2020-03-05 08:48:48 -05:00
softwarefactory-project-zuul[bot]
4fcd2c594c Merge pull request #6161 from jakemcdermott/6151-missing-cred-types
Fix potentially missing credential type options in multicredential select

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-04 23:16:33 +00:00
Rebeccah
457dc956f1 added a check for the field of finished making sure it's not none, and then breaking the DateTime function 2020-03-04 15:56:46 -05:00
softwarefactory-project-zuul[bot]
3e5428131c Merge pull request #6156 from AlanCoding/collection_install
Unify collection targets for install and ansible-test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-04 19:10:47 +00:00
softwarefactory-project-zuul[bot]
d08f59272e Merge pull request #6038 from gamuniz/honor_thy_precedence
fixed precedence on ansible.cfg

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-04 18:58:12 +00:00
softwarefactory-project-zuul[bot]
8b95d7be94 Merge pull request #6154 from keithjgrant/6107-column-alignment
fix column widths when action buttons hidden due to permissions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-04 17:54:14 +00:00
softwarefactory-project-zuul[bot]
6c22ddf608 Merge pull request #5841 from AlexSCorey/5813-WorkflowJTForm
Adds WorkflowJobTemplate Add and Edit form and functionality.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-04 16:24:49 +00:00
Alex Corey
8227054d11 Adds WorkflowJobTemplate Add and Edit form and functionality.
Fields work and forms save

Adds Webhook form fields and tooltip to VariablesField component

Alpha order

Fixes contentLoading issue in PR and enables Launch on JT List

Adds page section to fix render issue

Adds subform restore functionality and addresses PR issues

Adds pageSection to jt add form and fixes other PR issues

-Fixes spelling error on WFJTDetail
-Adds page section to JT Add Form to fix styling issue
-Adds spacing between functions
-Fixes form submission error by allowing state to handle the lookups while formik
only handles their ids.

Fixes styling issues, navigation, props, and adds useRequest hook
-Add functionality to remove chips from look up fields
-Removes uncessary custome styling from
-Removes uncessary Form Group wrappers
-Adds internationalization to webhook key string.
-Adds field level error handling
-updates tests
-Adds initial null value to form submit error

Adds error handling to submit labels, prevents uncessary api call

The unecessary api call is for the webhook credential id.  If there is no
webhook service we do not want the api to make a call for get the webhook credential
type id.

Adds error handling test to add and edit form. Updates Form component

Updates tests to a real error.

Fixes extra vars bug
2020-03-04 10:36:30 -05:00
softwarefactory-project-zuul[bot]
73b33e1435 Merge pull request #6116 from AlanCoding/early_error
Fail on launch for scenario where job cannot run

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-04 15:19:22 +00:00
Jake McDermott
deaf2028ad Request all types for multicred lookup 2020-03-04 09:08:46 -05:00
Jake McDermott
d812972d3c Wrap credential help text at 110 chars 2020-03-04 09:08:01 -05:00
AlanCoding
54b553b78c Simplify syntax for loop labels 2020-03-04 08:07:10 -05:00
AlanCoding
3e08bbeb93 Make wording on running less perscriptive and more general 2020-03-04 07:42:52 -05:00
AlanCoding
22524589e3 Employ the collection_package var in a few missing places 2020-03-03 22:19:38 -05:00
AlanCoding
85ec73bf4b Unify collection targets for install and ansible-test 2020-03-03 20:19:41 -05:00
softwarefactory-project-zuul[bot]
ccd36b9560 Merge pull request #6155 from jakemcdermott/job-inventory-links
Fix job->inventory links

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-04 00:27:01 +00:00
softwarefactory-project-zuul[bot]
61755e2838 Merge pull request #6149 from jlmitch5/fixMultiSelectCred
update multi select credential logic vault credential logic, add notice, and update multicred tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 23:51:30 +00:00
Jake McDermott
be56a1d3df Fix job->inventory links 2020-03-03 18:42:49 -05:00
softwarefactory-project-zuul[bot]
46c86ea6c0 Merge pull request #6144 from marshmalien/6049-inv-group-nested-hosts
Add Inventory Group Host list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 22:31:51 +00:00
softwarefactory-project-zuul[bot]
401c7c3da2 Merge pull request #6148 from ryanpetrello/fact-data-error
make fact saving code more robust to unexpected fact data

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 22:20:42 +00:00
Keith Grant
f1120d39db fix column widths when action buttons hidden due to permissions 2020-03-03 14:19:49 -08:00
Michael Abashian
80617df22d Merge branch 'devel' into 5813-WorkflowJTForm 2020-03-03 17:10:48 -05:00
Ryan Petrello
b5e5fea117 respect home directory symlinks for BASE_VENV_PATH 2020-03-03 16:47:38 -05:00
softwarefactory-project-zuul[bot]
e3ec63e8e5 Merge pull request #6147 from ryanpetrello/job-host-summary-notification
properly support job host summary data in custom notification templates (and remove a few fields that don't work)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 21:47:24 +00:00
Ryan Petrello
e232cd392c make fact saving code more robust to unexpected fact data
see: https://github.com/ansible/awx/issues/5935
2020-03-03 16:38:33 -05:00
Daniel Sami
8301254f57 further tags 2020-03-03 16:03:16 -05:00
softwarefactory-project-zuul[bot]
9cdfc19215 Merge pull request #6146 from mabashian/upgrade-react-3-2
Upgrade react and react-dom to latest

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 20:59:58 +00:00
Daniel Sami
c50705a2dc initial labels for host tests 2020-03-03 15:39:38 -05:00
softwarefactory-project-zuul[bot]
9f948e90d9 Merge pull request #6129 from squidboylan/collection_integration_tests
Add collection integration tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 20:23:22 +00:00
Ryan Petrello
e7f36eb2ea remove a few custom notification fields that don't work
these aren't top-level serializer fields; they're summary fields
if we want to support these properly, we should treat them as
enhancements, and write support, tests, and documentation
2020-03-03 15:20:41 -05:00
John Mitchell
c261d6acf0 update multi select credential logic vault credential logic, add notice, and update multicred tests 2020-03-03 15:16:57 -05:00
Ryan Petrello
32ef805e23 properly support job host summary data in custom notification templates
see: https://github.com/ansible/tower/issues/4148
2020-03-03 15:00:41 -05:00
softwarefactory-project-zuul[bot]
d009ce49f5 Merge pull request #6145 from ryanpetrello/fix-grafana
fix broken grafana notifications

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 19:28:22 +00:00
Caleb Boylan
d14bf00f6c Add collection integration test instructions to the README 2020-03-03 10:59:33 -08:00
softwarefactory-project-zuul[bot]
5dc4e30820 Merge pull request #6130 from mabashian/general-toggle-component
Refactors YamlJsonToggle component into a generic Toggle component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 18:46:05 +00:00
Caleb Boylan
afbeacf499 Fix up the collection integration tests 2020-03-03 10:44:48 -08:00
Caleb Boylan
fc80cf5241 Replace randstr with password plugin in collection tests 2020-03-03 10:44:48 -08:00
Caleb Boylan
4a6db13daa Copy collection integration tests in 2020-03-03 10:44:48 -08:00
mabashian
d5372dae36 Upgrade react and react-dom to latest 2020-03-03 13:07:50 -05:00
softwarefactory-project-zuul[bot]
0b702ede4e Merge pull request #6133 from mabashian/upgrade-pf-deps-3-2
Updates our four patternfly deps to latest

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 18:04:59 +00:00
mabashian
3c7f596288 Change currentValue prop to simply value. Adds basic unit test coverage to MultiButtonToggle component. 2020-03-03 12:57:12 -05:00
Ryan Petrello
6207dad226 fix broken grafana notifications
since the custom notification template refactor, grafana notification
support has been broken; this is largely because grafana functions more
like the webhooks, and needs to send JSON in its notification body

see: https://github.com/ansible/awx/issues/6137
2020-03-03 12:44:28 -05:00
Marliana Lara
2b48e43946 Add Inventory Group Host list 2020-03-03 12:01:25 -05:00
Alex Corey
4709f57f46 Updates tests to a real error. 2020-03-03 11:57:36 -05:00
Alex Corey
b055aad641 Adds error handling test to add and edit form. Updates Form component 2020-03-03 11:57:36 -05:00
Alex Corey
acfa6d056f Adds error handling to submit labels, prevents uncessary api call
The unecessary api call is for the webhook credential id.  If there is no
webhook service we do not want the api to make a call for get the webhook credential
type id.
2020-03-03 11:57:36 -05:00
Alex Corey
51a069fcc4 Fixes styling issues, navigation, props, and adds useRequest hook
-Add functionality to remove chips from look up fields
-Removes uncessary custome styling from
-Removes uncessary Form Group wrappers
-Adds internationalization to webhook key string.
-Adds field level error handling
-updates tests
-Adds initial null value to form submit error
2020-03-03 11:57:36 -05:00
Alex Corey
fc89b627d7 Adds pageSection to jt add form and fixes other PR issues
-Fixes spelling error on WFJTDetail
-Adds page section to JT Add Form to fix styling issue
-Adds spacing between functions
-Fixes form submission error by allowing state to handle the lookups while formik
only handles their ids.
2020-03-03 11:57:36 -05:00
Alex Corey
e90ee5113d Adds subform restore functionality and addresses PR issues 2020-03-03 11:57:36 -05:00
Alex Corey
4ccca08cda Adds page section to fix render issue 2020-03-03 11:57:36 -05:00
Alex Corey
b757fdebf8 Fixes contentLoading issue in PR and enables Launch on JT List 2020-03-03 11:57:36 -05:00
Alex Corey
3ee6f1f3c7 Alpha order 2020-03-03 11:57:36 -05:00
Alex Corey
d4ba32d0c5 Adds Webhook form fields and tooltip to VariablesField component 2020-03-03 11:57:36 -05:00
Alex Corey
d97f516c3a Fields work and forms save 2020-03-03 11:57:36 -05:00
Alex Corey
52a8935b20 Adds WorkflowJobTemplate Add and Edit form and functionality. 2020-03-03 11:57:36 -05:00
Rebeccah
07752f48f6 formatted finished time to match microsecond expected output as is in the API. 2020-03-03 11:05:28 -05:00
mabashian
10b5a10728 Jobs that error should trigger us to to update the Recent Jobs list along with successful/failed/canceled 2020-03-03 11:05:28 -05:00
Rebeccah
e11ff69f3e Added in check for the unified_job_template_id attribute to be present and populated in the object.
For anyone reading this later, know that AdHocCommands still have unified_job_template and unified_job_template_id fields, they are just nonetypes because they don't get used by the AdHocCommand objects. Which means you have to actually get the object, not just check that it's there, to use it the way I am in this change.
2020-03-03 11:05:28 -05:00
mabashian
d3fa34c665 Remove tooltip update when job finishes. This will be handled later down the line by buildTooltips(). 2020-03-03 11:05:28 -05:00
mabashian
48a615231b Fix jshint errors 2020-03-03 11:05:28 -05:00
mabashian
b09ac71647 Trims down GET requests made on the dashboard in response to websocket messages 2020-03-03 11:05:28 -05:00
mabashian
d5dd3c521f Consume finished timestamp on org templates list when available via websocket message 2020-03-03 11:05:28 -05:00
mabashian
db43341f96 Consume finished timestamp from websocket message and update the relevant job row. Also adds logic to attempt to re-order the list when the sort order is -finished since we have enough information client-side to do that. 2020-03-03 11:05:28 -05:00
mabashian
3234f246db Consume finished timestamp from websocket message when it's available to update the relevant row in the templates list. 2020-03-03 11:05:28 -05:00
Rebeccah
6d6d99bcf8 fixed the spelling of cancelled to be canceled, note to us later -> we need to stick with a single spelling of the word 2020-03-03 11:05:28 -05:00
mabashian
a6cd32522f Removes GET requests in response to websocket messages on the org job templates list. List is solely updated based on data from the websocket messages. 2020-03-03 11:05:28 -05:00
Rebeccah
1fe28463da added finished job timestamp to websocket emit 2020-03-03 11:05:28 -05:00
mabashian
51a6194b8d Removes logic performing GET requests on api/v2/templates whenever a job status update message comes across the websocket. We now use data exclusively from the websocket to update the UI. 2020-03-03 11:05:28 -05:00
mabashian
e75f7b0beb Stop making rest calls for inventory source sync updates on inventory sources list 2020-03-03 11:05:28 -05:00
mabashian
179c62e2f3 Stop making rest calls for project sync updates on projects list 2020-03-03 11:05:28 -05:00
Rebeccah
98f5525d28 added unified job template ID to websocket emits 2020-03-03 11:05:28 -05:00
mabashian
60a137225a Changes how the jobs list reacts to socket messages. We now only make targeted GET requests for new rows. We use the available information in the socket message to update the relevant row (if visible in the list). 2020-03-03 11:05:28 -05:00
softwarefactory-project-zuul[bot]
c1bfcd73fb Merge pull request #5972 from jainnikhil30/fix_smartinv_duplicate_hosts
fix smart inventory duplicate hosts

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-03 16:03:13 +00:00
mabashian
322b4ee1e4 Updates our four patternfly deps to latest 2020-03-02 13:43:15 -05:00
softwarefactory-project-zuul[bot]
98dc6179f5 Merge pull request #5919 from AlanCoding/good_projects
Fail early processing project factory

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-02 18:41:47 +00:00
AlanCoding
07807c2dec Fail on launch for scenario where job cannot run 2020-03-02 13:14:03 -05:00
softwarefactory-project-zuul[bot]
16ecf17c69 Merge pull request #6115 from jlmitch5/scheduleListInDetailViews
add schedule list to detail views

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-02 16:31:03 +00:00
mabashian
1f0acef844 Changes Toggle to MultiButtonToggle in an attempt to differentiate it from an upstream PF component. Altered props to be a bit more concise as well as support more than two buttons. 2020-03-02 11:22:18 -05:00
softwarefactory-project-zuul[bot]
5a164cae15 Merge pull request #6093 from ryanpetrello/remove-beat-thread
switch the periodic scheduler to a background process (instead of a thread) to avoid a cpython bug

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-03-02 15:46:27 +00:00
John Mitchell
b57405b696 assorted schedule list fixes:
- remove pagesection and card from component...move to where called for root list
- remove unnecessary placeholder schedule tab on job template detail
2020-03-02 10:00:27 -05:00
John Mitchell
5fdf6cf60f simplify conditional checking if schedules tab should be shown on proj detail 2020-03-02 09:35:34 -05:00
John Mitchell
c1c382a941 update ScheduleList api read to single prop 2020-03-02 09:22:32 -05:00
mabashian
a997b40852 Refactors YamlJsonToggle component into something a little more generic so that it can be used to toggle between local and utc times in the schedule details view. 2020-02-28 17:25:31 -05:00
softwarefactory-project-zuul[bot]
99cd2e601d Merge pull request #6127 from benthomasson/bump_config_json
Bumps the version of config.json to 1.1

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-28 21:09:48 +00:00
Ben Thomasson
fc402aff29 Bumps the version of config.json to 1.1 2020-02-28 15:28:31 -05:00
softwarefactory-project-zuul[bot]
2ec035f918 Merge pull request #6124 from ryanpetrello/awx-login-token-description
cli: add the ability to specify a token description w/ `awx login`

Reviewed-by: Jeff Bradberry
             https://github.com/jbradberry
2020-02-28 20:02:19 +00:00
softwarefactory-project-zuul[bot]
fe046b47b5 Merge pull request #6110 from keithjgrant/qs-empty-strings
Remove "Manual" option from search filters

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-28 17:19:30 +00:00
Ryan Petrello
3e0e4b6c8f cli: add the ability to specify a token description w/ awx login
see: https://github.com/ansible/awx/issues/6122
2020-02-28 11:12:26 -05:00
softwarefactory-project-zuul[bot]
7fe57268f6 Merge pull request #6121 from rooftopcellist/add_total_instances
Add total licensed instances to analytics

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-28 13:56:19 +00:00
Nikhil Jain
9eecb24c32 fix smart inventory duplicate hosts 2020-02-28 09:46:44 +05:30
softwarefactory-project-zuul[bot]
a8a45fca84 Merge pull request #6117 from keithjgrant/6095-redirect-after-host-delete
Fix redirect after host delete

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-28 00:45:05 +00:00
softwarefactory-project-zuul[bot]
33df6f8ad2 Merge pull request #6109 from marshmalien/inventory-host-toggle
Use HostToggle component in InventoryHostList

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-27 23:53:50 +00:00
softwarefactory-project-zuul[bot]
44223003aa Merge pull request #6112 from AlanCoding/the_canceled_dead
Cancel jobs if they were deleted in the database

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-27 22:17:16 +00:00
Keith Grant
a60e7a7855 fix redirect url after host delete 2020-02-27 13:39:56 -08:00
softwarefactory-project-zuul[bot]
e971ec993b Merge pull request #6114 from squidboylan/fix_collection
Fix job_list all_pages next value

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-27 20:58:43 +00:00
John Mitchell
989ef3538e add test for conditional show/hide of schedules tab for project detail view 2020-02-27 15:20:50 -05:00
John Mitchell
4db3e823bf add schedule list to proj, jt and wfjt 2020-02-27 15:05:46 -05:00
Caleb Boylan
c374316648 Collection: Fix job_list all_pages next value 2020-02-27 11:42:33 -08:00
AlanCoding
5dba49a7bc Lower level of log about skipped project update 2020-02-27 14:20:36 -05:00
AlanCoding
7b880c6552 Cancel jobs if they were deleted in the database 2020-02-27 14:12:47 -05:00
Keith Grant
5574cf0595 remove Manual option from project, inventory filters 2020-02-27 11:01:36 -08:00
John Mitchell
e706e0a2e2 update directory structure of schedule list files 2020-02-27 12:37:37 -05:00
Ryan Petrello
5364e78397 switch the periodic scheduler to a child process (instead of a thread)
I have a hunch that our usage of a daemon thread is causing import lock
contention related to https://github.com/ansible/awx/issues/5617
We've encountered similar issues before with threads across dispatcher
processes at fork time, and cpython has had bugs like this in recent
history:

https://bugs.python.org/issue38884

My gut tells me this might be related.

The prior implementation - based on celerybeat - ran its code in
a process (not a thread), and the timing of that merge matches the
period of time we started noticing issues.

Currently testing it to see if it resolves some of the issues we're
seeing.
2020-02-27 12:15:15 -05:00
Christian Adams
f93ca814ac Add total licensed instances to analytics 2020-02-27 10:42:25 -05:00
Marliana Lara
3bf1ad3028 Move HostToggle into shared components directory 2020-02-27 09:56:21 -05:00
softwarefactory-project-zuul[bot]
e096ad18cb Merge pull request #6001 from mabashian/4967-jt-prompt-on-launch
Adds prompt on launch support to the rest of the relevant jt fields

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-27 09:13:29 +00:00
softwarefactory-project-zuul[bot]
5ca73f1101 Merge pull request #6058 from marshmalien/5890-jt-completed-jobs-list
Add Completed Job list tab to multiple resources

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
             https://github.com/AlexSCorey
2020-02-27 09:13:22 +00:00
Keith Grant
7e8fb29658 update qs utils to allow empty string params 2020-02-26 16:38:52 -08:00
softwarefactory-project-zuul[bot]
258689a9ed Merge pull request #6090 from marshmalien/6085-hostListItem-remove-duplicates
HostListItem - Remove duplicate action items

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-26 22:39:43 +00:00
mabashian
e80e3f7410 Reapply prompt on launch for job template fields after rebasing. 2020-02-26 16:59:45 -05:00
softwarefactory-project-zuul[bot]
154b9c36ac Merge pull request #5747 from john-westcott-iv/collections
Porting Collections Off of Tower CLI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-26 20:35:00 +00:00
Marliana Lara
deced917cf Refactor HostListItem into functional component and add test for host toggle 2020-02-26 15:27:19 -05:00
softwarefactory-project-zuul[bot]
88b7256e96 Merge pull request #6087 from jakemcdermott/fix-6054
Fix several ui_next bugs related to unexpected data types

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-02-26 20:21:06 +00:00
Marliana Lara
033848a605 Refactor Hosts into functional component 2020-02-26 15:10:17 -05:00
mabashian
0e663921d6 Removes rogue comment and marks JT inventory validation string for translation. 2020-02-26 14:47:28 -05:00
mabashian
0582079606 Adds prompt on launch support to the rest of the relevant fields in the Job template form. Adds extra variables field to the job template form. Removes the advanced section in favor of a straight form. 2020-02-26 14:47:28 -05:00
Jake McDermott
6536f5a453 Delete falsey project creds before POST|PATCH
Depending on the permissions of the user submitting the form, the API
might throw an unexpected error if our creation request has a
zero-length string as its credential field. As a work-around,
normalize falsey credential fields by deleting them.
2020-02-26 14:22:58 -05:00
AlanCoding
c5079607aa Fail early processing project factory 2020-02-26 14:21:38 -05:00
softwarefactory-project-zuul[bot]
26dcb000f6 Merge pull request #6081 from ryanpetrello/launch-monitor-rc
cli: make launch with --monitor return code respect the final job status

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-26 19:18:10 +00:00
softwarefactory-project-zuul[bot]
8ba4f728c0 Merge pull request #6083 from dsesami/fix-wf-title-id
Fixed workflow viz title ID

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-26 19:08:29 +00:00
softwarefactory-project-zuul[bot]
ee090d34fa Merge pull request #6071 from ryanpetrello/task-manager-hang-detection
add code for detecting (and killing) a hung task manager task

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-26 19:05:36 +00:00
Jake McDermott
bd30951a4f Pass empty array instead of null to rbac list
The DataListToolbar component expects an array for additional controls
in all cases. When there's no controls to pass into the toolbar,
provide an empty array to avoid type-related errors.
2020-02-26 13:22:22 -05:00
Jake McDermott
43cce83ba1 Handle api error 'detail' key as generic form error 2020-02-26 12:44:20 -05:00
Ryan Petrello
946d643795 cli: make launch with --monitor return code respect the final job status
see: https://github.com/ansible/awx/issues/5920
see: https://github.com/ansible/awx/issues/6079
2020-02-26 12:27:06 -05:00
Daniel Sami
1a6ea99d37 fixed workflow viz title id
prettier fix
2020-02-26 11:50:36 -05:00
gamuniz
350046d495 changed syntax as insert isn't required 2020-02-26 14:28:22 +00:00
beeankha
b532012748 Make non-required params actually optional, fix idempotency issues 2020-02-26 09:26:55 -05:00
beeankha
1c4042340c Update documentation for modules, add deprecation warning for role, send and receive modules
Update variables in tower_inventory to be in dict format
2020-02-26 09:27:02 -05:00
beeankha
787c4af222 Change default values for dict parameter
Removing default of empty dict from variables param on group and host modules

Make modules comply with updated sanity tests
2020-02-26 09:26:58 -05:00
Alan Rominger
768280c9ba [last PR stuff] + Add warning if configs specified in 2 params (#5)
* Lean on API validation for tower_inventory_source arg errors

used for
 - validating needed credential is given
 - missing source_project for scm sources

* Add warning when config is specified in 2 places

Fix up unit tests, address multiple comments re: backwards compatibility, redundant methods, etc.

Update new_name and variables parameters, update unit tests
2020-02-26 09:26:55 -05:00
Alan Rominger
2e4e687d69 Optional tower cli (#3)
* Allow running tests without tower_cli

* patch up test mutability

* Fix test import error, warning mock

* flake8 error

Update documentation for non-converted modules
2020-02-26 09:26:22 -05:00
John Westcott IV
d8513a4e86 Making variables work for hosts
Clear up sanity test and remove redundant import statement
2020-02-26 09:15:04 -05:00
John Westcott IV
badd667efa Removing manual and file source types and correcting default for custom_virtualenv 2020-02-26 09:15:04 -05:00
John Westcott IV
7908f25747 Remove reference to default check mode 2020-02-26 09:15:04 -05:00
John Westcott IV
0eef67713f Only try an ID lookup if we can convert the field name_or_id to an integer
Fix linting issues, update tower_project unit test
2020-02-26 09:15:04 -05:00
John Westcott IV
6591efc160 Fixed issue that caused warning message to always display
Because scm_update_cache_timeout has a default and thus will always be != None
2020-02-26 09:15:04 -05:00
beeankha
fcc679489e Update inventory_source module source_script parameter to be optional
Unitied comment

Fix up inventory_source example, misc comment edits
2020-02-26 09:15:04 -05:00
Caleb Boylan
94df58a55b Fix strtobool casting 2020-02-26 09:15:04 -05:00
John Westcott IV
0685b2fa35 Updates to config file loading
Now supports json or yaml

Depricated multiple k=v on a single line

Remove assert statement and unused import from module_util
2020-02-26 09:15:04 -05:00
beeankha
232ea1e50c Properly cast verify_ssl type to a bool 2020-02-26 09:15:04 -05:00
beeankha
3423db6ed0 Attempt to make validate_certs work in Python2 2020-02-26 09:15:04 -05:00
beeankha
c32452d6b6 Fix Python2 config incompatibility issue 2020-02-26 09:15:04 -05:00
John Westcott IV
018dd4c1c3 Fixing config loading issues when the config has no [general] section
Fixed typo in help documentation

Fix up sanity errors and update converted modules

Remove unnecessary test playbook file
2020-02-26 09:15:04 -05:00
John Westcott IV
4fc2c58ae7 Converted tower_job_cancel 2020-02-26 09:15:04 -05:00
John Westcott IV
b4014ebabf Converted tower_job_launch.py 2020-02-26 09:15:04 -05:00
John Westcott IV
9955ee6548 Converting tower_inventory_source
Fix up inventory_source module changes, fix import yaml sanity error, change inventory_source unit tests to comply with new structure.
2020-02-26 09:15:04 -05:00
John Westcott IV
c08d402e66 Adding mutually exclusive if functionality to support tower_inventory_source 2020-02-26 09:15:04 -05:00
John Westcott IV
1c505beba6 Converted tower_group
Splitting out tower_inventory_source from tower_group

Copy/Paste typo fix and README update for breaking backwards compatability

Update credential_type module and unit tests
2020-02-26 09:15:04 -05:00
beeankha
8a0432efb7 Change config file loading function, add py2 and py3 compatibility 2020-02-26 09:14:01 -05:00
beeankha
320276f8ca Remove JSONDecodeError exception, fix tower_host variable issue 2020-02-26 09:14:01 -05:00
John Westcott IV
f89061da41 Updating tower_org to use the new tower_api format
Pass sanity and unit tests, update tests

Remove placeholder test function, convert tower_host module, fix misc typos
2020-02-26 09:14:01 -05:00
John Westcott IV
c23d605a7a Modified modules to use new tower_api format
Fixed variable name typo
2020-02-26 09:14:01 -05:00
John Westcott IV
6d90cac3f9 Bug fixes for username and delete data 2020-02-26 09:14:01 -05:00
John Westcott IV
89e92bd337 Updating call to create_or_update_if_needed 2020-02-26 09:14:00 -05:00
John Westcott IV
9271127c53 Standardizing CRUD methods
Fixing linting and conversion issues
2020-02-26 09:14:00 -05:00
beeankha
9fa5942791 Fix superclass syntax for < Python3 2020-02-26 09:14:00 -05:00
John Westcott IV
e028ed878e More tower-cli-ish parsing of config files
Clear up test failures/linting errors, update unit test

Update module_utils for linter, add wait time to project module
2020-02-26 09:14:00 -05:00
John Westcott IV
838b2b7d1e Converted tower_project 2020-02-26 09:14:00 -05:00
beeankha
7c0ad461a5 Further module conversion changes, unit test changes
Multiple module changes

Added on_change callback

Added head_endpoint

Added additional error returns

Respond with a try an ID message if multiple assets found by name via return_none_on_404 kwarg

Diferentiated between login and logout token errors

Added is_job_done method
2020-02-26 09:14:00 -05:00
John Westcott IV
68926dad27 Adding team_fields
Convert job_list and inventory modules, other changes to make sanity tests pass
2020-02-26 09:14:00 -05:00
John Westcott IV
ceb6f6c47d Converted tower_settings
Changed comments
2020-02-26 09:14:00 -05:00
John Westcott IV
167e99fce9 Converted tower_user 2020-02-26 09:14:00 -05:00
John Westcott IV
c930011616 Removing default_check_mode 2020-02-26 09:14:00 -05:00
John Westcott IV
aaaca63f83 Converted tower_organization 2020-02-26 09:14:00 -05:00
John Westcott IV
d8a9f663b1 Converted tower_credential_type.py 2020-02-26 09:14:00 -05:00
John Westcott IV
b0d0ccf44f Fix fail_json and remove redundant handle check mode 2020-02-26 09:14:00 -05:00
John Westcott IV
c57754a29b Logout is now handled by exit_json 2020-02-26 09:14:00 -05:00
John Westcott IV
65057c1fb7 Auto-handle check_mode on post, patch, delete and update_if_needed methods 2020-02-26 09:14:00 -05:00
John Westcott IV
d8be6490c2 Only warn if we can't release a tower token 2020-02-26 09:14:00 -05:00
John Westcott IV
b34208d1b6 Attempting to fix logout loop 2020-02-26 09:14:00 -05:00
John Westcott IV
0d5a9e9c8c Initial implementation of Pull #5337 2020-02-26 09:14:00 -05:00
softwarefactory-project-zuul[bot]
22d4e60028 Merge pull request #6080 from ryanpetrello/django-upgrade
update Django to address a few open CVEs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-26 14:09:12 +00:00
Ryan Petrello
eaa766df77 update Django to address a few open CVEs
https://github.com/advisories/GHSA-hmr4-m2h5-33qx
https://github.com/advisories/GHSA-vfq6-hq5r-27r6
2020-02-26 08:18:14 -05:00
softwarefactory-project-zuul[bot]
7e5776c66f Merge pull request #6077 from Spredzy/fix_linting
awx-api-lint: Fix setup.cfg syntax for linter test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-26 13:10:21 +00:00
Ryan Petrello
8b1806d4ca add code for detecting (and killing) a hung task manager task 2020-02-26 07:53:04 -05:00
Yanis Guenane
07232f3694 awx-api-lint: Fix setup.cfg syntax for linter test
Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2020-02-26 11:07:46 +01:00
Marliana Lara
37a33f931a Add completed jobs subtab to all resources
* Resources include: Host, InventoryHost, Inventory, SmartInventory, Template, and
WFTemplate
* Move JobList into top-level shared component directory
2020-02-25 21:50:31 -05:00
softwarefactory-project-zuul[bot]
4912cbd2da Merge pull request #6046 from rooftopcellist/update_translations_awx
add translations from memsource

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-25 23:19:07 +00:00
softwarefactory-project-zuul[bot]
4c40819791 Merge pull request #5965 from benthomasson/improve_awx_kit_error_message
Works around bad error message when authentication fails

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-25 23:16:58 +00:00
softwarefactory-project-zuul[bot]
a65fd497c6 Merge pull request #6060 from wenottingham/todo-or-todont
Remove the rax support specified in the linked TODO

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-25 23:11:23 +00:00
softwarefactory-project-zuul[bot]
d824209485 Merge pull request #6063 from philipsd6/setuid-brwap-dev
Set setuid bit on bwrap in development Dockerfile

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-25 21:07:44 +00:00
Philip Douglass
7ae1c7c3d2 Set setuid bit on bwrap in development Dockerfile
Related: #5224

Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-02-25 15:20:01 -05:00
Bill Nottingham
341c6ae767 Also remove some dangling rax from awxkit and collection modules. 2020-02-25 15:18:26 -05:00
softwarefactory-project-zuul[bot]
e6a94ed0cf Merge pull request #6053 from marshmalien/5866-left-align-modal-buttons
Left align modal buttons

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-25 20:13:07 +00:00
Bill Nottingham
3e6b6c05a6 Remove the rax support specified in the linked TODO 2020-02-25 15:03:05 -05:00
Ryan Petrello
544d4cd3b0 add translations from memsource 2020-02-25 12:24:24 -05:00
softwarefactory-project-zuul[bot]
e0df2f511e Merge pull request #5536 from jbradberry/null-options
Adjust the logic that renders fields with choices on an API Options call

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-25 16:47:02 +00:00
Marliana Lara
255fd0a9cb Align modal buttons to the left 2020-02-25 10:12:58 -05:00
softwarefactory-project-zuul[bot]
f31adf8a85 Merge pull request #6015 from AlexSCorey/5777-JTTabOnProjectsAndTemplateListRefactor
Fixes navigation bug

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-25 14:48:36 +00:00
softwarefactory-project-zuul[bot]
a2b169626a Merge pull request #6035 from keithjgrant/lists-to-hooks
Refactor remaining lists to hooks

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-25 14:05:28 +00:00
Keith Grant
6ffc78bcb0 add missing i18n; fix test names 2020-02-24 14:09:56 -08:00
Keith Grant
8e9fc550f6 convert InventoryList to hooks 2020-02-24 14:09:55 -08:00
Keith Grant
779d190855 convert ProjectList to hooks 2020-02-24 14:09:28 -08:00
Keith Grant
89a4b03d45 convert TeamList to hooks 2020-02-24 14:08:51 -08:00
softwarefactory-project-zuul[bot]
ccd4cdd71a Merge pull request #6044 from fosterseth/fix-4418-failing_successful_updates
Do not fail a successful project update if inventory update fails

Reviewed-by: Seth Foster
             https://github.com/fosterseth
2020-02-24 18:12:52 +00:00
Seth Foster
31dbf38a35 Prevent failing a successful project update if inventory update fails
Scenario - job is launched and spawns inventory update and project update.
If the inventory update fails, then it will fail the job and the project update.
It will fail the project update even if that update already ran and was successful.

This code change will not fail the project update if it has already ran successfully.

In cases where other jobs depend on that project update (but not the failed inventory
update), then we don't want those jobs to fail.
2020-02-24 11:35:57 -05:00
Jeff Bradberry
d0bec97bbb Adjust the logic that renders fields with choices on an API Options call
accounting for the case where blank or null is allowed.

Refs #5099
2020-02-24 10:17:38 -05:00
softwarefactory-project-zuul[bot]
22307bba97 Merge pull request #6026 from marshmalien/5866-remove-custom-tabs-buttons
Remove action button and tab style overrides

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-24 15:17:35 +00:00
softwarefactory-project-zuul[bot]
b4f5d44f65 Merge pull request #6040 from ryanpetrello/i18n-cancel-license
translate a missing string in the license UI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-24 15:02:34 +00:00
softwarefactory-project-zuul[bot]
d469870686 Merge pull request #5937 from mabashian/5857-all-schedules
Adds the All Schedules list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-24 14:40:06 +00:00
Alex Corey
f561bf5754 prettier 2020-02-24 09:19:02 -05:00
Ryan Petrello
2e3547d5cf translate a missing string in the license UI
see: https://github.com/ansible/tower/issues/3949
2020-02-24 09:00:07 -05:00
Alex Corey
ce8897d3e8 Fixes naviation bug by create ProjectTemplateList and ProjectTemplateListItem
Adds tests for those new files and removes uncessary test from TemplateListItem
2020-02-23 11:16:44 -05:00
Alex Corey
df77147d65 WIP 2020-02-23 10:23:43 -05:00
Alex Corey
9b11df04b3 Fixes navigation bug 2020-02-23 10:23:43 -05:00
root
58c06d5aea fixed precedence on ansible.cfg 2020-02-23 14:58:47 +00:00
softwarefactory-project-zuul[bot]
1d3bb97b07 Merge pull request #6018 from wenottingham/your-workflow-is-running--you-should-catch-it
Tweak labels for workflow pending approval message

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-22 12:57:07 +00:00
softwarefactory-project-zuul[bot]
ba3253e2e2 Merge pull request #6033 from AlanCoding/job_batch
Make job batch size configurable, fix _by fields

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-21 21:22:58 +00:00
mabashian
e6f0c01aa6 Schedule list now uses useRequest hooks for fetching and deleting. Also rolled a component for schedule toggles that can be used throughout the tree. 2020-02-21 16:14:22 -05:00
Marliana Lara
9310d59e0a Use PF color variables in HostStatus bar 2020-02-21 15:33:13 -05:00
Marliana Lara
f2e1e71302 Remove tab and button style overrides 2020-02-21 15:33:11 -05:00
mabashian
e6e31a9fc6 Updates after removing PF overrides to list components. 2020-02-21 15:30:09 -05:00
mabashian
801aaf9323 Adds the All Schedules list 2020-02-21 15:30:09 -05:00
softwarefactory-project-zuul[bot]
2a8679234a Merge pull request #6014 from keithjgrant/host-list-hooks
Host list hooks

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-21 20:28:41 +00:00
softwarefactory-project-zuul[bot]
54ab671512 Merge pull request #5933 from jlmitch5/credForm
Update form layout, Formik Field use to useField, and add credential form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-21 20:05:31 +00:00
AlanCoding
866dd6b259 Make job batch size configurable, fix _by fields 2020-02-21 14:49:45 -05:00
Keith Grant
eba893c99b syntax fix after merge 2020-02-21 11:05:59 -08:00
John Mitchell
fd3f410cc6 fix conflict 2020-02-21 13:43:09 -05:00
Keith Grant
03aaf93cef update HostList tests for hooks 2020-02-21 10:36:17 -08:00
Keith Grant
9aef57003a use HostToggle in HostDetail; update tests 2020-02-21 10:36:17 -08:00
Keith Grant
6065eb0e65 Convert HostList to hooks
use useRequest and useDeleteItems
add HostToggle component
2020-02-21 10:31:49 -08:00
softwarefactory-project-zuul[bot]
7e4634c81f Merge pull request #6027 from AlanCoding/jt_shakeup
Randomize JT for each job batch

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-21 17:32:55 +00:00
softwarefactory-project-zuul[bot]
a03d73776f Merge pull request #6016 from AlanCoding/collection_metadata_update
Update metadata for the AWX collection

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-21 17:16:58 +00:00
John Mitchell
f14eb4327d remove unnecessary imports 2020-02-21 10:50:13 -05:00
John Mitchell
4ebd721cc5 remove card padding overrides to project add form 2020-02-21 10:50:13 -05:00
John Mitchell
21a92176b9 Update NodeTypeStep form to new FormLayout components 2020-02-21 10:50:13 -05:00
John Mitchell
ad04b02e24 update project edit test to make sure there is a local_path value set 2020-02-21 10:50:13 -05:00
John Mitchell
bc0511fe66 fix user form non submission error 2020-02-21 10:50:13 -05:00
John Mitchell
1accb9f939 fix warnings by correctly clearing out cred input values 2020-02-21 10:50:13 -05:00
John Mitchell
9253f16e36 update prettyier 2020-02-21 10:50:13 -05:00
John Mitchell
42387166bf update encrypted value display on detail and form views 2020-02-21 10:50:13 -05:00
John Mitchell
0b5f892193 update FormLayout styling 2020-02-21 10:50:13 -05:00
John Mitchell
1a0d36a6fd migrate FormFullWidthLayout from var field to calling forms 2020-02-21 10:50:13 -05:00
John Mitchell
cf3ed0dc88 update prettyier 2020-02-21 10:50:13 -05:00
John Mitchell
8d26d7861e add credential form and add edit routes 2020-02-21 10:50:13 -05:00
John Mitchell
8e0ad2ef6e add cred access tab and update credentials routing 2020-02-21 10:50:13 -05:00
John Mitchell
0aba4c36af move FormField label proptype check to FormField component 2020-02-21 10:50:13 -05:00
John Mitchell
44cd199078 add text area option to FormField component 2020-02-21 10:50:13 -05:00
John Mitchell
ce909093c0 update expanding container to trigger height check when any child changes 2020-02-21 10:50:13 -05:00
John Mitchell
df13a8fea9 update forms from FormRow to using FormLayout components 2020-02-21 10:50:13 -05:00
John Mitchell
ff823c9fdb update forms to useField fomik hook 2020-02-21 10:49:19 -05:00
softwarefactory-project-zuul[bot]
a42ff9865b Merge pull request #6022 from wenottingham/get-a-handle
Tweak workflow error message for clarity

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-21 15:37:57 +00:00
softwarefactory-project-zuul[bot]
7e13f78567 Merge pull request #6017 from ansible/no-screen-screen-imports2
Add section for patterns

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-21 15:21:49 +00:00
Bill Nottingham
e2fb83db98 Tweak workflow error message 2020-02-21 02:37:03 -05:00
AlanCoding
06eb1b6683 Randomize JT for each job batch
Populate some more fields just to have them populated

Include some missing ForeignKey links for data integrity

Add some more to fields from JT set
2020-02-20 22:49:11 -05:00
AlanCoding
d62994ec02 Update metadata for the AWX collection 2020-02-20 22:36:55 -05:00
Bill Nottingham
f20859c85f Tweak labels for workflow pending approval message 2020-02-20 22:19:34 -05:00
softwarefactory-project-zuul[bot]
b5b8adb451 Merge pull request #6025 from rooftopcellist/update_translations
UI translation strings for AWX

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-20 23:23:18 +00:00
softwarefactory-project-zuul[bot]
70b287490b Merge pull request #5982 from marshmalien/5866-remove-datalist-alert-modal
Remove DataList component overrides

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-20 23:17:05 +00:00
Christian Adams
0976e9e569 UI translation strings for AWX 2020-02-20 17:33:35 -05:00
Jake McDermott
83a96757db Add section for patterns 2020-02-20 15:57:08 -05:00
Marliana Lara
9013dcfea7 Move status icon into separate directory
* Remove ButtonGroup export
2020-02-20 15:29:47 -05:00
Marliana Lara
4ebc2573a3 Remove DataList component overrides 2020-02-20 15:21:34 -05:00
Marliana Lara
fe9b03a189 Move ButtonGroup into CodeMirrorInput directory 2020-02-20 15:19:10 -05:00
Marliana Lara
d2f6c367f0 Remove alert modal styles 2020-02-20 15:19:08 -05:00
Marliana Lara
34b717d00c Remove vertical separator 2020-02-20 15:16:14 -05:00
softwarefactory-project-zuul[bot]
0d31b05f98 Merge pull request #6012 from mabashian/workflow-action-ids-2
Expose id's on workflow action items

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-20 19:28:07 +00:00
softwarefactory-project-zuul[bot]
87a0e40331 Merge pull request #5938 from keithjgrant/4239-pagination-on-delete-followup
Pagination on delete (followup)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-20 19:28:02 +00:00
mabashian
764c0b2e15 Fix unit test failures where we were using workflow action toooltip item id's 2020-02-20 12:57:38 -05:00
mabashian
23677b4963 Explicitly pass id through to the action item 2020-02-20 10:38:01 -05:00
mabashian
96d9d41f19 Expose id's on workflow action items 2020-02-20 10:24:37 -05:00
softwarefactory-project-zuul[bot]
a737f35653 Merge pull request #6007 from donomur/sa-annotations
Add functionality for kubernetes Service Account annotations

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-20 13:56:05 +00:00
Donovan Murphy
ed8133be2d add Service Account annotation
Signed-off-by: Donovan Murphy <dono@dono.email>
2020-02-19 20:29:42 -06:00
softwarefactory-project-zuul[bot]
7c8c6b5333 Merge pull request #6003 from ryanpetrello/more-firehoseyness
scope counter/start/end line updates to the current job for firehose.py

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-19 21:58:35 +00:00
Ryan Petrello
46fceb03a5 scope counter/start/end line updates to the current job for firehose.py 2020-02-19 16:15:33 -05:00
softwarefactory-project-zuul[bot]
4dee5eddeb Merge pull request #5989 from egmar/support-for-imagePullSecrets
Added support for K8S imagePullSecrets

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-19 19:45:12 +00:00
softwarefactory-project-zuul[bot]
709482bdac Merge pull request #5980 from shanemcd/downstream_oc_changes
properly configure AWX loggers for openshift installs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-19 19:35:12 +00:00
softwarefactory-project-zuul[bot]
62ef1baace Merge pull request #5927 from AlanCoding/null_inventory
Handle case of deleted inventory

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-19 19:30:07 +00:00
softwarefactory-project-zuul[bot]
1fc3d2e914 Merge pull request #5986 from donomur/fix-indent-5949
Fixing kubernetes deployment indentation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-19 19:12:26 +00:00
softwarefactory-project-zuul[bot]
d271a8c9fa Merge pull request #5978 from ryanpetrello/firehose-start-end-fix
fix start/end line incrementing behavior

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-19 18:54:41 +00:00
Shane McDonald
3bd7b3b0f8 Merge pull request #5999 from wenottingham/reinventing-the-whl
Remove requirements_setup_requires and related handling.
2020-02-19 12:11:31 -05:00
softwarefactory-project-zuul[bot]
8075cda34c Merge pull request #5932 from nixocio/add_test_awxkit
Add test method to Credential and CredentialType - awxkit 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-19 16:22:56 +00:00
softwarefactory-project-zuul[bot]
09d6da117a Merge pull request #5979 from AlexSCorey/5814-WFJTDetailsView
Adds WFJT Details view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-19 16:22:51 +00:00
Alex Corey
8f6b679c85 Fixes navigation issue and address ps issues. 2020-02-19 09:40:40 -05:00
Alex Corey
32e017bd03 Adds WFJT Details view
Adds Launch Functinality for WFJT.
2020-02-19 09:36:21 -05:00
Egor Margineanu
74a31224e0 Moved imagePullSecrets into ServiceAccount definition 2020-02-19 10:45:07 +02:00
Egor Margineanu
667b27fe78 Added support for K8S imagePullSecrets 2020-02-19 10:11:34 +02:00
Bill Nottingham
4c8a4013cc Remove requirements_setup_requires and related handling.
Adjust requirements to keep docutils in awx requirements; these
are downstream packaging adjustments. Override azure wheel
dependency to a version that can install bcrypt properly.
2020-02-18 22:34:59 -05:00
Donovan Murphy
5e4d73b6a3 fix indent 2020-02-18 20:27:57 -06:00
nixocio
da486d7788 Add test method to Credential and CredentialType - awxkit
Add test method to Credential and CredentialTypei - awxkit.

The inclusion of this one was discovered when testing the following
issue. https://github.com/ansible/awx/issues/5141
2020-02-18 14:44:16 -05:00
Keith Grant
30d97e2fa8 delete commented code 2020-02-18 10:10:18 -08:00
Ryan Petrello
3a95114c3a properly configure AWX loggers for openshift installs
see: https://github.com/ansible/tower/issues/3793
2020-02-18 12:50:46 -05:00
Keith Grant
1f3ad85403 de-lint 2020-02-18 09:25:15 -08:00
Ryan Petrello
90cb02e0bf fix start/end line incrementing behavior 2020-02-18 11:31:05 -05:00
softwarefactory-project-zuul[bot]
6e2bd828a1 Merge pull request #5973 from ryanpetrello/job-firehose
add the ability to load lots of jobs with firehose.py

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-18 16:30:12 +00:00
softwarefactory-project-zuul[bot]
fbbf5046ac Merge pull request #5949 from jdorel/patch-2
Add openshift label `app`

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-18 16:22:09 +00:00
softwarefactory-project-zuul[bot]
47abb6f85f Merge pull request #5975 from shanemcd/sans-virtualenv
Fix downstream builds

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-18 16:03:52 +00:00
Ryan Petrello
717698b659 properly inherit JT fields when creating many jobs with firehose.py 2020-02-18 10:34:51 -05:00
Shane McDonald
6a29a0898a Pin shellingham
Was seeing:

Collecting shellingham<2.0,>=1.1 (from poetry==0.12.17->-r tower/requirements/requirements_setup_requires.txt (line 12))
  File was already downloaded /ansible-tower/tower/requirements/vendor/shellingham-1.3.2.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/lib64/python3.6/tokenize.py", line 452, in open
        buffer = _builtin_open(filename, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-build-jixdv7cx/shellingham/setup.py'
2020-02-18 09:32:24 -05:00
Shane McDonald
1833872be9 Drop virtualenv from requirements_setup_requires.txt 2020-02-18 09:17:53 -05:00
Ryan Petrello
4d06c812e6 add the ability to load lots of jobs with firehose.py
$ awx-python tools/scripts/firehose.py --jobs 5000000 --events 100000000
2020-02-18 08:55:06 -05:00
Keith Grant
3b71d2a37b convert JobList to function comp w/ hooks 2020-02-17 16:11:48 -08:00
Ben Thomasson
0c0cacb0d6 Works around bad error message when authentication fails
related #5964
2020-02-17 15:59:05 -05:00
softwarefactory-project-zuul[bot]
f57fff732e Merge pull request #5712 from mabashian/ui-next-workflows-4
UI Next workflow graph edit/results

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-17 19:03:21 +00:00
Keith Grant
54ddeaf046 Flush out useDeleteItems hook
refactor TemplateList to use useRequest, useDeleteItems hooks
refactor CredentialList and OrganizationList to use useDeleteItems hook
2020-02-17 10:56:50 -08:00
Keith Grant
69a1a02c70 build useDeleteItems hook 2020-02-17 10:56:50 -08:00
Keith Grant
c824f0d590 create updateUrlAfterDelete util 2020-02-17 10:56:50 -08:00
Keith Grant
c336c989e7 convert CredentialList to useRequest 2020-02-17 10:56:50 -08:00
mabashian
f6523ab5a0 Adds id's to the node name and the node type letter 2020-02-17 12:41:24 -05:00
mabashian
47c783da37 Remove Workflow Visualizer text from visualizer toolbar 2020-02-17 12:41:24 -05:00
mabashian
74afc7b424 Run prettier to fix failures 2020-02-17 12:41:24 -05:00
John Hill
4ac5a1e15a Add IDs for nodes badge and template name 2020-02-17 12:41:24 -05:00
mabashian
48eeeea7f3 Disable tools/legend buttons when the workflow has no nodes and is displaying the start screen. 2020-02-17 12:41:24 -05:00
mabashian
aa6857fd38 Hide message stating that the resource has been deleted if the output node is an approval node 2020-02-17 12:41:24 -05:00
mabashian
25fe2a2ce6 Adds tests for the node type step components in the node modal 2020-02-17 12:41:24 -05:00
mabashian
3d1e3741cd Run prettier 2020-02-17 12:41:24 -05:00
mabashian
2ef57e0221 Adds id to workflow visualizer start screen button 2020-02-17 12:41:24 -05:00
mabashian
bc08c02b89 Adds ID's to toolbar(s) and action buttons within visualizer/output toolbars. 2020-02-17 12:41:24 -05:00
mabashian
50c74a2ec8 Adds test coverage for node modal components 2020-02-17 12:41:24 -05:00
mabashian
887469d73e Adds test for link add/edit/delete modals 2020-02-17 12:41:23 -05:00
mabashian
f9debb8f94 Adds tests for delete all nodes and unsaved changes modals 2020-02-17 12:41:23 -05:00
mabashian
b3929d1177 Remove HorizontalSeparator component. Patternfly now has a Divider component that we can use if we need something like this. 2020-02-17 12:41:23 -05:00
mabashian
e3cfdb74ba Adds basic unit test coverage to visualizer components (not including modals). 2020-02-17 12:41:23 -05:00
mabashian
1d0e752989 Adds unit test coverage for workflow reducer 2020-02-17 12:41:23 -05:00
mabashian
05a3bb0622 Removes unnecessary 'type' field on nodes and links 2020-02-17 12:41:23 -05:00
mabashian
bc7fd26af6 Fixes bug where navigating from one output route to another was breaking 2020-02-17 12:41:23 -05:00
mabashian
048d4dbd95 Fixes bug where viewing the workflow output, clicking a node to view the details of that job and then hitting the back button would result in an error and no output graph. 2020-02-17 12:41:23 -05:00
mabashian
c70e5357d3 Mark min/sec labels for translation 2020-02-17 12:41:23 -05:00
mabashian
7576ba2ade Swap history.push for history.replace to alleviate console warning dealing with pushing to the same path. 2020-02-17 12:41:23 -05:00
mabashian
877e630a90 Replace withRouter with useHistory hook 2020-02-17 12:41:23 -05:00
mabashian
ef854aabb7 Adds test coverage to the workflow output and workflow output graph components 2020-02-17 12:41:23 -05:00
mabashian
fc3f19bd2b Fix some styling discrepancies between Chrome and Firefox in the workflow viz/output graphs.
Cleans up deleted job/job template use cases.  Show message indicating that the ujt associated with a node has been deleted.
2020-02-17 12:41:23 -05:00
mabashian
2bbcd2d663 Move visualizer/workflow output state logic out to reducer and refactor some of the larger functions. Introduces contexts for state/dispatch that can be used by descendent components of both the visualizer and the workflow output components. 2020-02-17 12:41:23 -05:00
mabashian
a786118415 Removes reference to the node unified job template name in the view modal for now. This component is really just a placeholder and this change fixes an error that is thrown when the node's unified job template is deleted. 2020-02-17 12:41:23 -05:00
mabashian
65429e581a Properly bookend @constants alias so that it doesn't inadvertently match something we don't want it to match 2020-02-17 12:41:23 -05:00
mabashian
eb6f4dca55 Run prettier 2020-02-17 12:41:22 -05:00
mabashian
ce09c4b3cd Changes "Key" references to "Legend" 2020-02-17 12:41:22 -05:00
mabashian
c971e9d61c Turns all the workflow tool buttons in to pf button components. 2020-02-17 12:41:22 -05:00
mabashian
e34bf90ca7 Vertically center the pause icon in the node type letter component 2020-02-17 12:41:22 -05:00
mabashian
700296a558 Change Exit button text to Exit Without Saving in the unsaved changes modal. 2020-02-17 12:41:22 -05:00
mabashian
492ea0616e Moves util/workflow.jsx to components/Workflow/WorkflowUtils.jsx and updates imports 2020-02-17 12:41:22 -05:00
mabashian
eddb6e1faf Combines the two start node components into one. Removes use of document.getElementById in workflow components in favor of refs. 2020-02-17 12:41:22 -05:00
mabashian
f98b274177 Adds default search and sort columns to the four lists in the workflow node wizard 2020-02-17 12:41:22 -05:00
mabashian
662ff41fe9 Moves inline css to styled component in WorkflowOutputToolbar 2020-02-17 12:41:22 -05:00
mabashian
fd146dde30 Adds unit test coverage to some of the workflow output components. Also adds support for hovering on workflow results links to see the edge type (success/fail/always). 2020-02-17 12:41:22 -05:00
mabashian
e394d0a6f6 Add close button to workflow tools/key 2020-02-17 12:41:22 -05:00
mabashian
5a1a47b7aa Default '---' not needed due to changes to how the prop is passed to CodeMirrorInput 2020-02-17 12:41:22 -05:00
mabashian
3d5c32c354 Update function/callback props passed into workflow components to start with "on" 2020-02-17 12:41:22 -05:00
mabashian
01cc0ac8f1 Adds unit test coverage for shared workflow components 2020-02-17 12:41:22 -05:00
mabashian
5a9248e619 Prettier 2020-02-17 12:41:22 -05:00
mabashian
1d84d03566 Stabilized workflow visualizer and output point. Workflow jobs can be viewed and workflows can be built (without jt prompting). 2020-02-17 12:41:22 -05:00
mabashian
50ba4f9759 Halfway implemented node details. Still need to handle cases where the user has edited the node and cases where the node is brand new. 2020-02-17 12:41:21 -05:00
mabashian
de55af6ae6 Fully functioning workflow editor without read-only view modal and without prompting. 2020-02-17 12:41:21 -05:00
mabashian
ca478ac880 Render workflow results. Extensive refactors of workflow components in general. 2020-02-17 12:41:21 -05:00
softwarefactory-project-zuul[bot]
78ea643460 Merge pull request #5956 from chrismeyersfsu/fix-new_postgres
allow external pg connections

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-17 15:56:25 +00:00
chris meyers
0db0f81e53 allow external pg connections
* Postgres containers now, by default, do not allow passwordless users
to connect remotely. This change explicitly allows that case.
2020-02-17 10:16:20 -05:00
Jonas DOREL
c94680eaba Add openshift label app 2020-02-15 14:49:05 +01:00
softwarefactory-project-zuul[bot]
5b4ed6dd59 Merge pull request #5923 from mabashian/4967-prompt-on-launch-checkboxes
[POC] Adds FieldWithPrompt component to handle fields that are also promptable

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-14 18:51:07 +00:00
mabashian
4e811c744a Use FieldTooltip instead of Tooltip component. Remove promptValidate prop from FieldWithPrompt. This checkbox shouldn't ever need a custom validator function. 2020-02-14 10:56:11 -05:00
softwarefactory-project-zuul[bot]
cd6d2299a9 Merge pull request #5914 from marshmalien/5866-remove-custom-list-btns
Remove Switch, ListActionButton, and ActionButtonCell components

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-13 21:14:31 +00:00
Marliana Lara
590199baff Remove ListActionButton component 2020-02-13 15:36:17 -05:00
Marliana Lara
3b9dd3ba8c Remove ActionButtonCell component 2020-02-13 15:25:25 -05:00
Marliana Lara
446021cf22 Remove Switch component 2020-02-13 15:25:22 -05:00
softwarefactory-project-zuul[bot]
ef3ab29649 Merge pull request #5897 from marshmalien/remove-card-style-overrides
Remove PF style overrides Pt. 1

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-13 20:03:36 +00:00
softwarefactory-project-zuul[bot]
f4e09eee80 Merge pull request #5918 from ryanpetrello/real-event-firehose-values
set actual counter/start/end values in the event generation script

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-13 19:47:42 +00:00
softwarefactory-project-zuul[bot]
af4e4b4064 Merge pull request #5922 from jakemcdermott/fix-4095
Use pod uid as instance uuid

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-13 16:11:35 +00:00
mabashian
10c6297706 Adds basic unit test coverage for the FieldWithPrompt component 2020-02-13 09:42:09 -05:00
softwarefactory-project-zuul[bot]
73a9541e39 Merge pull request #5928 from anxstj/cleanup_docs
Remove docker_remove_local_images from documentation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-13 14:15:18 +00:00
mabashian
3a2a61af82 Adds tooltip to run type that was previously removed. Fixes unit test failures by adding ask_job_type_on_launch to mock data. 2020-02-13 09:06:35 -05:00
Stefan Jakobs
774e7fb248 Remove docker_remove_local_images from documentation
docker_remove_local_images was removed with commit 28994d4b0b (diff-c12c21a2e99296acf472dc226bc19da8)
(version 9.0.0). This PR removes it from INSTALL and inventory documentation.

Signed-off-by: Stefan Jakobs <sjakobs@anexia-it.com>
2020-02-13 14:34:45 +01:00
AlanCoding
a5e3d9558f Handle case of deleted inventory 2020-02-13 08:29:52 -05:00
softwarefactory-project-zuul[bot]
1ae86ae752 Merge pull request #5912 from keithjgrant/4239-pagination-on-delete
Adjust pagination when deleting final page of items

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-12 21:48:16 +00:00
softwarefactory-project-zuul[bot]
1a30a0e397 Merge pull request #5921 from beeankha/fix_flake8_errors
Fix Misc. flake8 Errors

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-12 21:36:28 +00:00
Keith Grant
490b76b141 fix TemplateList name in tests 2020-02-12 13:10:14 -08:00
Jake McDermott
3831efb3be Use pod uid as instance uuid
Inject the pod uid as an environment variable and use it for the
SYSTEM_UUID in the settings file defined by the configmap.
2020-02-12 13:52:09 -05:00
mabashian
a8fa816165 Adds FieldWithPrompt component to handle fields that are also promptable 2020-02-12 13:50:54 -05:00
beeankha
11ccfd8449 Fix misc. linting errors 2020-02-12 12:34:15 -05:00
Keith Grant
c33cc82d53 go back one page when deleting all items off last page (orgs/creds) 2020-02-12 08:53:34 -08:00
softwarefactory-project-zuul[bot]
c7516ec50e Merge pull request #5917 from ansible/jakemcdermott-order-by-start-line
Order job_event requests by `start_line`

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-02-12 16:07:06 +00:00
Ryan Petrello
92cc597e84 set actual counter/start/end values in the event generation script 2020-02-12 10:22:31 -05:00
Jake McDermott
7402ac29a8 Order job_event requests by start_line
Ordering job_event requests by `start_line` accomplishes the same thing
as ordering by `counter`. The `start_line` field is more performant
because we have indexed it in the database.
2020-02-12 10:11:28 -05:00
softwarefactory-project-zuul[bot]
4a455c7bf7 Merge pull request #5877 from AlanCoding/control_log
Add wording for control message log

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-11 21:41:45 +00:00
softwarefactory-project-zuul[bot]
10167eea8d Merge pull request #5894 from ryanpetrello/version-920
bump version to 9.2.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-11 21:32:24 +00:00
softwarefactory-project-zuul[bot]
46ddc84d2a Merge pull request #5898 from AlanCoding/exception_detail
By default, give status code in exception representation

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2020-02-11 21:18:15 +00:00
Keith Grant
5c3fe51982 fix credential list page number after deleting 2020-02-11 12:09:13 -08:00
Ryan Petrello
b8ec3104a9 bump version to 9.2.0 2020-02-11 14:07:02 -05:00
softwarefactory-project-zuul[bot]
b098127961 Merge pull request #5876 from AlanCoding/public_400
Fix bug where setting toggle did not raise error it needed to

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-11 18:55:16 +00:00
Keith Grant
f61af39f08 fix Template(s)List naming discrepancies 2020-02-11 10:24:08 -08:00
softwarefactory-project-zuul[bot]
1f0294d389 Merge pull request #5847 from marshmalien/4221-job-output-header
Add job event summary toolbar

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-11 18:16:48 +00:00
Keith Grant
1ad7e663a1 fix org list page on delete 2020-02-11 10:11:27 -08:00
AlanCoding
3172176940 By default, give status code in exception representation 2020-02-11 13:08:20 -05:00
Marliana Lara
ca85020b26 Use PF Chip and ChipGroup components 2020-02-11 12:50:25 -05:00
Marliana Lara
5d2912605f Remove PF style overrides from card, breadcrumb, sidenav, tooltip, and modal components 2020-02-11 12:50:12 -05:00
softwarefactory-project-zuul[bot]
b38ec3599b Merge pull request #5887 from ryanpetrello/webhook-cred-summary-field
include credential type details in the webhook credential summary field

Reviewed-by: Jeff Bradberry
             https://github.com/jbradberry
2020-02-11 16:37:57 +00:00
Ryan Petrello
487343a022 include credential type details in the webhook credential summary field
see: https://github.com/ansible/awx/issues/5882
2020-02-11 10:51:07 -05:00
Marliana Lara
69049a4427 Convert elapsed days into hours and add unit test 2020-02-11 10:19:23 -05:00
softwarefactory-project-zuul[bot]
be6b42561f Merge pull request #5848 from marshmalien/5785-form-field-tooltip
Max host form field tooltip should not enable field

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-11 15:12:41 +00:00
AlanCoding
e59cb07064 Add wording for control message log 2020-02-11 10:01:25 -05:00
AlanCoding
0234df055d Raise errors with public galaxy setting early 2020-02-11 09:46:07 -05:00
softwarefactory-project-zuul[bot]
b54c036398 Merge pull request #5875 from AlanCoding/computed_fields_param
Remove argument no longer accepted by computed fields task

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-11 14:32:27 +00:00
softwarefactory-project-zuul[bot]
eafd40291e Merge pull request #5874 from chrismeyersfsu/fix-pin_virtualenv_awx
pin virtualenv < 20 for awx_web builds

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-11 14:16:14 +00:00
AlanCoding
519956f779 Remove argument no longer accepted by computed fields task 2020-02-11 08:55:56 -05:00
chris meyers
0b3e2cc7e3 pin virtualenv < 20 for awx_web builds 2020-02-11 08:43:26 -05:00
softwarefactory-project-zuul[bot]
efa9c84806 Merge pull request #5870 from mabashian/4227-jobs-list-sort
Adds missing job list search fields

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-11 03:06:13 +00:00
softwarefactory-project-zuul[bot]
5ed623d682 Merge pull request #5842 from keithjgrant/4240-form-error-handling
Form error handling

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-11 01:16:47 +00:00
Keith Grant
8f77d15a31 fix errors being logged during tests; de-lint 2020-02-10 16:16:38 -08:00
Keith Grant
d06d4d5a8c update tests for form submit errors 2020-02-10 16:16:38 -08:00
Keith Grant
352c8c3cb1 add FormSubmitError to existing forms 2020-02-10 16:16:38 -08:00
Keith Grant
94f21a3464 add submit error support to Project form 2020-02-10 16:16:38 -08:00
Keith Grant
ac376f9c87 handle __all__ error message from server in FormSubmitError 2020-02-10 16:16:38 -08:00
Keith Grant
44e4263bee add FormActionGroup error message test 2020-02-10 16:16:38 -08:00
Keith Grant
b7f3852ef9 move FormSubmitError to inline beside form buttons; add tests 2020-02-10 16:16:38 -08:00
Keith Grant
a934e146ee add FormSubmitError component 2020-02-10 16:16:38 -08:00
Keith Grant
cab25656eb add JT form error feedback from API errors 2020-02-10 16:16:38 -08:00
Keith Grant
0f9c906a22 add more robust handling of errors thrown by api 2020-02-10 16:16:38 -08:00
Keith Grant
b8226109a7 use optional chaining 2020-02-10 16:16:38 -08:00
Keith Grant
b26de8b922 pass Host form API errors back into Formik for display 2020-02-10 16:16:38 -08:00
Keith Grant
67d8c1a4b5 delete unused/redundant component 2020-02-10 16:16:38 -08:00
softwarefactory-project-zuul[bot]
0ef7ef22eb Merge pull request #5838 from jainnikhil30/fix_slicejob_relaunch
fix the sliced job relaunch

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-10 23:40:06 +00:00
softwarefactory-project-zuul[bot]
47383e05d6 Merge pull request #5837 from ryanpetrello/celery-tastes-gross
get rid of celerybeat (and celery + billiard dependency)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-10 23:26:20 +00:00
softwarefactory-project-zuul[bot]
3dd97feaa6 Merge pull request #5869 from mabashian/4220-templates-list-sort
Add missing template list sort fields

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-10 23:06:06 +00:00
Nikhil Jain
e530adde67 fix the sliced job relaunch 2020-02-10 17:35:50 -05:00
Ryan Petrello
38a08d163c get rid of celery/celerybeat
alternative to https://github.com/ansible/awx/pull/2530 which makes use
of https://pypi.org/project/schedule/

this doesn't have support for any persistence (like how celery beat uses
a shelve file), because all of our periodic jobs run at most every few
minutes
2020-02-10 17:32:02 -05:00
softwarefactory-project-zuul[bot]
7b4adfcc15 Merge pull request #5868 from ryanpetrello/python-packaging-is-a-disaster
pin virtualenv < 20 for ansible venv builds

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-02-10 22:31:26 +00:00
mabashian
5d6e1284e3 Adds missing job list search fields 2020-02-10 17:00:44 -05:00
mabashian
a0ba125ea9 Brings template list sort fields into parity with the existing UI 2020-02-10 16:34:37 -05:00
Ryan Petrello
ad5d0b92db pin virtualenv < 20 for ansible venv builds
virtualenv version 20 just got released and broken a bunch of stuff
(like the --system-site-packages flag)
2020-02-10 16:31:34 -05:00
Marliana Lara
debbac5c78 Use date object to format elapsed time 2020-02-10 14:25:34 -05:00
softwarefactory-project-zuul[bot]
f4f4a7caec Merge pull request #5851 from xelgand/devel
k8s installer: fix warning when applying deployment

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-10 18:20:36 +00:00
Marliana Lara
b00249b515 Add job event summary toolbar 2020-02-10 12:47:23 -05:00
softwarefactory-project-zuul[bot]
cd49213924 Merge pull request #5846 from wenottingham/proxy-env-y
Use AWX_TASK_ENV when connecting to Red Hat services

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-10 16:31:19 +00:00
softwarefactory-project-zuul[bot]
9a47a28b80 Merge pull request #5850 from ryanpetrello/changelogly
update the changelog in anticipation of a forthcoming AWX release

Reviewed-by: Seth Foster
             https://github.com/fosterseth
2020-02-10 15:31:12 +00:00
xelgand
7b9ad1d69a k8s installer: fix warning when applying deployment 2020-02-09 16:35:10 +01:00
softwarefactory-project-zuul[bot]
6df00e1e4c Merge pull request #5776 from bhundven/5371-Upgrade_to_helm_3_x
Make AWX compatible with Helm 3.x

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-09 14:13:11 +00:00
Bryan Hundven
7d2ed7b763 Bump stable/postgresql to 8.3.0
https://hub.helm.sh/charts/stable/postgresql/8.3.0

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2020-02-07 15:07:44 -08:00
Ryan Petrello
b08e5db267 update the changelog in anticipation of a forthcoming AWX release 2020-02-07 17:12:38 -05:00
softwarefactory-project-zuul[bot]
8991396d23 Merge pull request #5828 from AlanCoding/openstack_bump
Bump openstacksdk version

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-07 20:09:59 +00:00
Bryan Hundven
76a6f84c70 Remove tempfile after running helm
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2020-02-07 12:04:11 -08:00
Bryan Hundven
a984e5df7a Have helm stable repo before running help repo update
It would be nice if the `helm` ansible module allowed you to just manage
helm repos, or maybe a `helm_repo` module... but shell with it ;)

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2020-02-07 11:58:18 -08:00
Bryan Hundven
282d705c43 Remove tiller_namespace from default inventory
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2020-02-07 11:57:34 -08:00
Marliana Lara
43e1b4a7db Max host form field tooltip should not enable field 2020-02-07 14:30:33 -05:00
Bill Nottingham
71ef7cdec1 Use AWX_TASK_ENV when connecting to Red Hat services 2020-02-07 14:29:42 -05:00
softwarefactory-project-zuul[bot]
5decde3f70 Merge pull request #5845 from shanemcd/missing-base-image-deps
Add packages missing from base images

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-07 18:54:46 +00:00
Shane McDonald
3f57061509 Add packages missing from base images
Related:

- https://github.com/ansible/awx/issues/5770
- https://github.com/ansible/awx/issues/5724
2020-02-07 13:06:42 -05:00
softwarefactory-project-zuul[bot]
6395d64681 Merge pull request #5843 from wenottingham/intentionally-adding-database-queries
Bypass memcached to get last gather time to avoid reading cached values.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-07 13:57:54 +00:00
Bill Nottingham
f3e2caeaa7 Bypass memcached to get last gather time to avoid reading cached values. 2020-02-06 21:41:41 -05:00
softwarefactory-project-zuul[bot]
ce5c4359ee Merge pull request #5787 from fosterseth/tm_processed_field
Improve task manager performance for task dependencies

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-06 21:30:48 +00:00
softwarefactory-project-zuul[bot]
c4ddf50cad Merge pull request #5832 from marshmalien/output-status-bar
Add host status bar

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-06 21:22:23 +00:00
Marliana Lara
d250dd0cd6 Adjust ansi colors to complement the host status bar 2020-02-06 14:12:49 -05:00
softwarefactory-project-zuul[bot]
96bbbdd5c9 Merge pull request #5836 from ryanpetrello/migrate-error
fix scary error message on initial (install time) awx-manage migrate

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-06 17:31:40 +00:00
Seth Foster
9b4b2167b3 TaskManager process dependencies only once
This adds a boolean "dependencies_processed" field to UnifiedJob
model. The default value is False. Once the task manager generates
dependencies for this task, it will not generate them again on
subsequent runs.

The changes also remove .process_dependencies(), as this method repeats
the same code as .process_pending_tasks(), and is not needed. Once
dependencies are generated, they are handled at .process_pending_tasks().

Adds a unit test that should catch regressions for this fix.
2020-02-06 11:47:33 -05:00
Marliana Lara
028a0a9279 Adjust host status colors 2020-02-06 11:21:14 -05:00
softwarefactory-project-zuul[bot]
30354dbcd0 Merge pull request #5621 from rebeccahhh/workflow-convergence
Any/All boolean added in workflow convergence

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-06 15:30:40 +00:00
Ryan Petrello
543a87ac88 fix error message on initial awx-manage migrate 2020-02-06 06:37:05 -05:00
Marliana Lara
4be7cf66ec Add host status bar 2020-02-05 19:57:55 -05:00
softwarefactory-project-zuul[bot]
fd027f87a9 Merge pull request #5810 from keithjgrant/use-endpoint
Add useRequest hook

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-05 23:26:42 +00:00
softwarefactory-project-zuul[bot]
dac6e115c1 Merge pull request #5829 from marshmalien/job-output-navigation
Style job output pagination control bar

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-05 23:17:16 +00:00
Rebeccah
eca516f8ce removed 'self' from positional arguemnt of workflow attribute 'all_parents_must_converge' per Alans suggestion, since django takes it to be verbose_name, which is not needed 2020-02-05 17:38:36 -05:00
Jake McDermott
b06645e125 Show any/all convergence option on root node 2020-02-05 15:51:38 -05:00
Rebeccah
fd60cd1a35 fixed copy functionality to include convergence as is instead of reseting ALL nodes to be default ANY nodes 2020-02-05 15:34:54 -05:00
Rebeccah
ad8bcd0de2 moved migration dependency from 0106 to 0107 2020-02-05 14:28:35 -05:00
Rebeccah
fdc29eebb7 expanded unit test to include 3 root nodes meeting on a convergence node and successfully marking that to node. 2020-02-05 14:28:35 -05:00
Rebeccah
63ae2cac38 Jake McDermott found some behavior that revealed a logical bug that would have caused issues later with ALL convergence nodes in sequential order via the API, although not the UI, and was causing existing issues with Root Nodes spawning repeatedly. To fix this I refactored the code from marking DNR nodes into it's own function that checks parents convergence criteria and leveraged that in bfs_nodes_to_run so that root nodes and convergence nodes can be differentiated but both can be correctly processed, also so that children of convergence nodes can be properly traversed by the function 2020-02-05 14:28:35 -05:00
Rebeccah
4e787cc079 made marking nodes as DNR more 'eager', added more unit tests, and added convergence check to bfs_nodes_to_run with new changes to the eagerness of DNR marking since it needs it to prevent convergence nodes from running too quickly 2020-02-05 14:28:35 -05:00
Apurva Bakshi
2de37ce5df add convergence attribute to awxkit 2020-02-05 14:28:35 -05:00
Rebeccah
a419547731 redid some formatting and syntax per personal preferences, comments on PR, and suggestions from @jrb 2020-02-05 14:28:35 -05:00
Jake McDermott
04844aa44f Add 'ALL' indicator to 'ALL' nodes 2020-02-05 14:28:35 -05:00
Rebeccah
1b3fbee38d workflow convergence toggle migration 2020-02-05 14:28:35 -05:00
Rebeccah
6d2a2ab714 drastically improved performance by removing unnecessary iteration over children of parent nodes, additionally added an extra check that the node didn't already have a job so that it wasn't cycling over nodes that had already run when running through all_nodes 2020-02-05 14:28:35 -05:00
Rebeccah
82dd4a3884 remove node_object comparison and use the full dict to eliminate issues comparing obj and compare instead the whole node object with the node objects in the list 2020-02-05 14:28:35 -05:00
Jake McDermott
4fe9e5da14 Use select for any/all convergence choice 2020-02-05 14:28:35 -05:00
Jake McDermott
bbb4701fa9 Don't show any/all convergence option on root node 2020-02-05 14:28:35 -05:00
Rebeccah
86a39938fe fixed issue where successful convergence wasn't being met due to the not quite correct leveraging of get_children 2020-02-05 14:28:35 -05:00
Jake McDermott
987fc26537 Add any/all option for workflow node convergence 2020-02-05 14:28:34 -05:00
Rebeccah
70cf4cf5d4 added in handling for a parent being DNR so status is only checked if the parent isn't a DNR parent (in which case the parent has no status, which was breaking the logic) also edited a comment and added in a DNR check that @alancoding suggested to cut out duplicates in the DAG list 2020-02-05 14:28:34 -05:00
Rebeccah
2d3172f648 added in support for existing workflow unit tests 2020-02-05 14:28:34 -05:00
Rebeccah
b2c33e3204 redid migration dependency 2020-02-05 14:28:34 -05:00
Rebeccah
f7f648b956 included all_parents_must_converge in the get_workflow_job_fieldnames so that the true/false is copied into the job node and not just in the template node. Also added in the migration for the DB, also relocated logic from bfs_nodes_to_run down into mark_dnr_nodes to prevent nodes not being marked as DNR but not being marked to run, causing them to run anyways 2020-02-05 14:28:34 -05:00
Rebeccah
780f104ab2 shifted from dependants/dependencies to children/parents for clarity in function names, also added in toggle logic 2020-02-05 14:28:34 -05:00
Rebeccah
4c35adad6c added logic to include workflow convergence nodes to nodes to run or not run based on their parents successful statuses 2020-02-05 14:28:34 -05:00
Rebeccah
cf24c81b3e updated syntax from python2 to 3 2020-02-05 14:28:34 -05:00
Marliana Lara
6d792a8234 Style job output navigation control bar 2020-02-05 12:33:30 -05:00
AlanCoding
1558c6f942 Bump openstacksdk version 2020-02-05 11:31:24 -05:00
softwarefactory-project-zuul[bot]
2f75b48c63 Merge pull request #5423 from AlanCoding/pycurl
Add pycurl to container images

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-05 16:21:25 +00:00
softwarefactory-project-zuul[bot]
979418620c Merge pull request #5823 from chrismeyersfsu/fix-instance_migration2
fix instance migration is_isolated() issue

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-05 14:52:18 +00:00
softwarefactory-project-zuul[bot]
482e0ac311 Merge pull request #5768 from AlanCoding/fewer_computed_fields
Remove computed fields artifacts no longer valid

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-05 14:25:10 +00:00
chris meyers
a36bf4af64 fix instance migration is_isolated() issue
* Older versions of Instance model code may not contain the
is_isolated() method. This change accounts for that fact.
2020-02-05 09:16:31 -05:00
AlanCoding
3bbce18173 Remove computed fields artifacts no longer used
Remove deleted field from notification payload
2020-02-04 20:23:37 -05:00
softwarefactory-project-zuul[bot]
e54fd19bca Merge pull request #5817 from chrismeyersfsu/fix-instance_migration
use existing version of Instance

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-05 00:00:06 +00:00
AlanCoding
d2289fe9c6 add pycurl to container images 2020-02-04 14:41:51 -05:00
Bryan Hundven
1c50b8427a Put postgresql values in a tempfile, to be loaded by helm cli
Helm 3.x does not support passing values via stdin:
https://github.com/helm/helm/issues/7002

So setup a tempfile and write the template to the tempfile to be loaded
by helm ... --values <tempfile>

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2020-02-04 09:26:49 -08:00
Bryan Hundven
34d01f02cc Upgrade stable/postgresql to helm chart to 8.1.5
This updated chart supports Helm 3.x

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2020-02-04 09:26:49 -08:00
Bryan Hundven
d182c96c2e Make AWX compatible with Helm 3.x
In issue #5371, AWX has issues with using Helm 3.x.
This commit removes the usage tiller.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2020-02-04 09:26:49 -08:00
softwarefactory-project-zuul[bot]
e59f3982ae Merge pull request #5796 from rascasoft/devel
Make possible to not start containers on compose

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-04 13:18:30 +00:00
softwarefactory-project-zuul[bot]
5435c6ec73 Merge pull request #5806 from AlexSCorey/5777-JTTabOnProjectsAndTemplateListRefactor
5777 Projects JobTemplateList and template list refactor

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
             https://github.com/AlexSCorey
2020-02-04 03:11:42 +00:00
Alex Corey
5f96aee871 Fixes spelling error 2020-02-03 20:09:49 -05:00
Keith Grant
eceeeea22d remove unneeded default value 2020-02-03 12:55:53 -08:00
softwarefactory-project-zuul[bot]
a1a864b27b Merge pull request #5804 from ryanpetrello/iso-healthcheck-failure-capacity
properly handle import errors in the isolated capacity healthcheck

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-03 20:37:18 +00:00
chris meyers
0291c476d4 use existing version of Instance
* Without this change, future modifications to the Instance object may
result in migration fails (i.e. adding a field to the Instance model)
2020-02-03 14:25:06 -05:00
Keith Grant
638e8c7add delete dead code/comments & add useRequest docstring 2020-02-03 09:43:06 -08:00
softwarefactory-project-zuul[bot]
6389ec50a1 Merge pull request #5812 from ryanpetrello/busted-project-update-events
fix broken project update secret filtering for external logging

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-03 17:37:01 +00:00
softwarefactory-project-zuul[bot]
ad53f4f5f6 Merge pull request #5815 from ryanpetrello/fix-cli-settings-py2
fix a py2/py3 compat bug in the settings CLI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-03 17:24:33 +00:00
softwarefactory-project-zuul[bot]
9718aa711f Merge pull request #5808 from marshmalien/pf-upgrade-react-core-130
Upgrade PatternFly dependencies

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-03 17:24:29 +00:00
softwarefactory-project-zuul[bot]
cacd2c3392 Merge pull request #5805 from fantashley/support-proxy-venv
Add proxy support in custom venv container fixes #5756

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-03 16:40:41 +00:00
Ryan Petrello
1800b49822 fix a py2/py3 compat bug in the settings CLI 2020-02-03 11:37:39 -05:00
Raoul Scarazzini
1e97bb71db Make possible to not start containers on compose
When upgrading from releases it could happen that you need to do some
manual steps (i.e. upgrading from postgres 9.6 to 10). In these cases
you'd want to check the docker-compose.yml and then launch it by
yourself.
Today we don't have any method to get just the files that will be used
while installing via compose, without starting the containers. This
commit adds a variable named "compose_start_containers" (true by
default) that, if false, will make the playbook just generate the files
in the compose directory and not start the containers.
2020-02-03 16:46:52 +01:00
Ryan Petrello
7055460c4c fix broken project update secret filtering for external logging 2020-02-03 10:27:31 -05:00
softwarefactory-project-zuul[bot]
864767d74a Merge pull request #5809 from AlexSCorey/5799-TeamEditUpdate
Fixes update failure on TeamEdit

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-03 14:43:49 +00:00
Alex Corey
5170948241 Fix error naming issue 2020-01-31 15:03:13 -05:00
Keith Grant
370a7f9b25 move useRequest to util folder, add tests 2020-01-31 11:39:23 -08:00
Alex Corey
1368835a29 Fixes update failure on TeamEdit 2020-01-31 14:07:24 -05:00
Marliana Lara
48fa5bb2cd Upgrade PatternFly dependencies 2020-01-31 12:10:06 -05:00
Alex Corey
25105d813d Refactors TemplateLiost into a functional component 2020-01-31 12:09:38 -05:00
Alex Corey
bbea43b1fe Addresses needed styling changes to Card and Page Section
These changes were necessary to remove an additional page section
to ProjectJobTemplateList.
2020-01-31 11:28:33 -05:00
Alex Corey
5790aa9780 Adds TemplateList of Project 2020-01-31 11:20:53 -05:00
Ashley Nelson
bc97d11270 Add support for no_proxy 2020-01-31 10:05:32 -06:00
Ryan Petrello
326ed22efe properly handle import errors in the isolated capacity healthcheck
if the awx_capacity module runs on an isolated node with missing
libraries (i.e., psutil) or bad permissions, then the runner status will
be "failed"

in this scenario, we *still* want to react by recording a capacity=0
2020-01-31 10:17:20 -05:00
softwarefactory-project-zuul[bot]
b942411dcc Merge pull request #5598 from jainnikhil30/sat6_want_ssh_host
add ability to read ansible_want_ssh_host, rich_params and want_facts to source vars for satellite dynamic inventory

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-31 13:51:20 +00:00
Nikhil Jain
374c17751f add ansible_want_ssh_host, rich_params and want_facts to be read from source vars 2020-01-31 08:18:01 -05:00
Keith Grant
ef2fa26126 rename useFetch to useRequest 2020-01-30 16:13:19 -08:00
softwarefactory-project-zuul[bot]
b611164422 Merge pull request #5801 from ryanpetrello/tower-url-base-ctint
when a license is installed, only set TOWER_URL_BASE if necessary

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-30 21:55:19 +00:00
Ryan Petrello
c7c899375b when a license is installed, only set TOWER_URL_BASE if necessary
it's possible for users to set this manually in /etc/tower/conf.d
prior to license application
2020-01-30 16:23:25 -05:00
Ashley Nelson
ab3a728032 Add custom venv support for proxies 2020-01-29 18:08:38 -06:00
Keith Grant
aaf371ee23 add useFetch demo 2020-01-29 12:04:52 -08:00
softwarefactory-project-zuul[bot]
d6c70e8d3a Merge pull request #5793 from squidboylan/fix_py3_k_v_config
Open collection config 'r' for py3 compatibility

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-29 19:33:09 +00:00
Caleb Boylan
79e65e3e84 Open collection config 'r' for py3 compatibility 2020-01-29 08:17:07 -08:00
softwarefactory-project-zuul[bot]
42c45367a0 Merge pull request #5585 from AlanCoding/blank_galaxy
Do not allow state where no Galaxy servers are enabled

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-28 21:53:12 +00:00
AlanCoding
d759aff4e9 Do not allow state where no Galaxy servers are enabled 2020-01-28 16:01:55 -05:00
softwarefactory-project-zuul[bot]
6b63f0ac9e Merge pull request #5788 from marshmalien/5693-inv-host-sparkline
Fix host details and list sparkline links

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-28 20:53:26 +00:00
softwarefactory-project-zuul[bot]
2df6eab472 Merge pull request #5786 from marshmalien/4951-org-team-links
Fix organization team links

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-28 20:26:04 +00:00
Marliana Lara
1c7afb66f7 Fix host job sparkline links 2020-01-28 15:09:01 -05:00
softwarefactory-project-zuul[bot]
1fbb714cbc Merge pull request #5784 from ryanpetrello/issue/5528
Fix to handle Str and JSON mix-in data correctly with settings API

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-28 17:35:40 +00:00
Marliana Lara
de75592f2a Refactor Teams and Team components 2020-01-28 12:26:40 -05:00
Marliana Lara
9cb7b0902a Fix org team link url 2020-01-28 12:26:21 -05:00
Hideki Saito
437d9843d1 Fix to handle Str and JSON mix-in data correctly with settings API
- Fixed issue #5528

Signed-off-by: Hideki Saito <saito@fgrep.org>
2020-01-28 11:51:35 -05:00
softwarefactory-project-zuul[bot]
490492e505 Merge pull request #5782 from Spredzy/top_limit_wheel
requirements_setup_requires: Top limit wheel to less than 42.0.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-28 15:18:05 +00:00
softwarefactory-project-zuul[bot]
3dd8e490c6 Merge pull request #5781 from AlanCoding/settings_stack
Reduce logging complexity with setting DB errors

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-28 13:18:06 +00:00
Yanis Guenane
75c9702caa requirements_setup_requires: Top limit wheel to less than 42.0.0
Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2020-01-28 13:24:31 +01:00
softwarefactory-project-zuul[bot]
accf000bdf Merge pull request #5779 from ryanpetrello/callback-fine-tuning
some more minor callback cleanup and development tweaks

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-28 03:57:06 +00:00
AlanCoding
a94b30be9f Reduce logging complexity with setting DB errors 2020-01-27 18:08:09 -05:00
Ryan Petrello
3c31e0ed16 some more minor callback cleanup and development tweaks 2020-01-27 17:18:09 -05:00
softwarefactory-project-zuul[bot]
7d74999851 Merge pull request #5772 from AlexSCorey/4515-MultiSelectGenerateLabels
JT Form Generate Labels

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-27 21:19:09 +00:00
softwarefactory-project-zuul[bot]
b7ca369356 Merge pull request #5742 from marshmalien/babel-upgrade
Upgrade babel in ui_next

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-27 19:56:18 +00:00
Keith Grant
d15f7b76fa add useEndpoint hook 2020-01-27 10:20:47 -08:00
softwarefactory-project-zuul[bot]
4e4a535178 Merge pull request #5773 from ryanpetrello/callback-profiling
add the ability to enable profiling for the callback receiver workers

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-27 17:44:14 +00:00
Ryan Petrello
78b00652bd add the ability to enable profiling for the callback receiver workers 2020-01-27 12:03:53 -05:00
softwarefactory-project-zuul[bot]
473ab7c01c Merge pull request #5754 from marshmalien/delete-btn-user-team-details
Add delete button to User and Team details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-27 15:15:44 +00:00
softwarefactory-project-zuul[bot]
ae82ba53e7 Merge pull request #5752 from marshmalien/details-delete-job-template
Add delete button to Job Template details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-27 15:08:54 +00:00
Alex Corey
d69174b1a6 Removes unnecessary and dead code.
Generate Label was not being called so I removed it in favor of associate
label.  Plus: less code in JT Add and JT Edit and can remove a promise.
Minus: Now when we generate/associate a label we always send a long the orgId.
OrgId is not necessary when associating a label.
2020-01-27 09:50:49 -05:00
Alex Corey
570f549cf4 Allows user to generate a label on the JTForm 2020-01-27 09:27:27 -05:00
softwarefactory-project-zuul[bot]
55e720e25d Merge pull request #5762 from ryanpetrello/even-more-callback-optimization
remove another expensive logging lookup in the parent callback process

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-01-24 22:27:08 +00:00
Ryan Petrello
8f33f1a6c2 remove another expensive logging lookup in the parent callback process 2020-01-24 16:46:32 -05:00
softwarefactory-project-zuul[bot]
7be924d155 Merge pull request #5751 from keithjgrant/5502-inventory-group-refresh
Inventory details refresh

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-24 19:24:25 +00:00
softwarefactory-project-zuul[bot]
65f226960f Merge pull request #5750 from gamuniz/license_errors_begone
made licensing a warning and not trigger on periodic scheduler

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-24 14:49:55 +00:00
Marliana Lara
84f056294d Fix unit test error in HostAdd 2020-01-23 17:54:06 -05:00
Marliana Lara
b906f8d757 Add delete button to user details 2020-01-23 17:53:34 -05:00
Marliana Lara
2fae523fd4 Add delete button to team details 2020-01-23 17:53:08 -05:00
softwarefactory-project-zuul[bot]
4d519155bc Merge pull request #5753 from wenottingham/a-good-help-message-is-hard-to-find
Fix help for new analytics gather interval

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-23 22:20:56 +00:00
Bill Nottingham
ea8a91893a Fix help for new analytics gather interval 2020-01-23 16:26:15 -05:00
softwarefactory-project-zuul[bot]
145476c7d9 Merge pull request #5748 from marshmalien/delete-org-proj-details
Add delete button to Organization and Project Details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-23 20:40:36 +00:00
softwarefactory-project-zuul[bot]
c6595786f5 Merge pull request #5734 from marshmalien/5264-inv-host-edit-form
Add inventory host edit form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-23 20:10:36 +00:00
Keith Grant
c6159a7c3e add more VariablesDetail tests 2020-01-23 11:15:33 -08:00
softwarefactory-project-zuul[bot]
52638c709a Merge pull request #5749 from ryanpetrello/search-distinct
fix a bug that causes __search filters to not properly call .distinct()

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-23 19:09:52 +00:00
Gabe Muniz
a264b1db1f made licensing a warning and not trigger on periodic scheduler 2020-01-23 14:08:23 -05:00
Keith Grant
49907e337a prevent inventory updates after unmount 2020-01-23 11:02:29 -08:00
Marliana Lara
afc1f85668 Update job template detail unit tests 2020-01-23 13:59:20 -05:00
Marliana Lara
6efa751157 Add DeleteButton component to job template details 2020-01-23 13:58:49 -05:00
Marliana Lara
10131432b5 Refactor job template detail into functional component 2020-01-23 13:52:29 -05:00
softwarefactory-project-zuul[bot]
0d365068ff Merge pull request #5740 from AlexSCorey/5257-WFJTMissingResource
Fixes InvGroup Form submission error and TemplateList Missing Resource Bug

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-23 18:43:44 +00:00
Ryan Petrello
256404ba03 fix a bug that causes __search filters to not properly call .distinct() 2020-01-23 13:40:22 -05:00
Marliana Lara
3b430c8bdf Add delete to project details 2020-01-23 12:13:12 -05:00
Marliana Lara
627dae6580 Add delete button to organization details 2020-01-23 12:12:15 -05:00
Alex Corey
44db9ad033 Moves TemplateListItem to a functional component 2020-01-23 11:22:05 -05:00
Alex Corey
21890efca6 Ensures no missingResourceIcon for WFJT on JTList
Adds a test to ensure that missingResourceIcon is not shown for WFJTs.
2020-01-23 11:21:57 -05:00
Alex Corey
0a8fe4d812 Fixes InvGroupForm submission bug.
The inventory id now comes through useParams instead of through props.
Also updates tests to reflect those changes
2020-01-23 11:14:41 -05:00
Keith Grant
a1d7beca83 update VariablesDetail properly if value prop changes (preserving current mode) 2020-01-22 15:42:28 -08:00
softwarefactory-project-zuul[bot]
c35c80b06c Merge pull request #5732 from ryanpetrello/callback-stats-faster
optimize awx-manage callback_stats for larger datasets

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-22 22:34:38 +00:00
softwarefactory-project-zuul[bot]
3c5e9da9a1 Merge pull request #5739 from ryanpetrello/optimize-callback-with-logging
further optimize conf.settings access when logging is enabled

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-22 21:53:04 +00:00
Ryan Petrello
f9af5e8959 optimize awx-manage callback_stats for larger datasets
to monitor this historically, we'd probably need to introduce a new
index on the modified column of all our event types
2020-01-22 16:52:38 -05:00
softwarefactory-project-zuul[bot]
c983b6a755 Merge pull request #5729 from ryanpetrello/you-get-to-drink-from-the-firehose
add a script for quickly inserting lots of events

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-22 21:43:52 +00:00
Ryan Petrello
e18639b26b further optimize conf.settings access when logging is enabled
the callback receiver is still fairly slow when logging is enabled due
to constant setting lookups; this speeds things up considerably

related: https://github.com/ansible/awx/pull/5618
2020-01-22 16:17:33 -05:00
Marliana Lara
6d8b843ad0 Upgrade to babel 7.8.0 2020-01-22 15:03:02 -05:00
Marliana Lara
00a9e42001 Wrap floating loading text in a card 2020-01-22 13:36:15 -05:00
Marliana Lara
fc5363a140 Replace loadHost with an IIFE 2020-01-22 12:25:43 -05:00
Ryan Petrello
d8d1ccf810 add a script for quickly inserting lots of events 2020-01-22 11:57:47 -05:00
softwarefactory-project-zuul[bot]
046518ab8f Merge pull request #5699 from keithjgrant/5235-variables-field
Make VariablesField detect correct mode on mount

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-22 16:54:52 +00:00
Marliana Lara
d33bbdd4f6 Add inventory host edit form 2020-01-22 11:06:45 -05:00
softwarefactory-project-zuul[bot]
46e530ceeb Merge pull request #5733 from kdelee/fix_my_mistake
Fix overzealous cleanup in awxkit

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-22 15:56:42 +00:00
Elijah DeLee
2a77b8b4b9 Fix overzealous cleanup in awxkit
Introduced this problem with 1e796076f5
2020-01-22 10:23:40 -05:00
softwarefactory-project-zuul[bot]
23b2b136d6 Merge pull request #5707 from AlanCoding/bulk_create_logs
Allow CTiT log level to log bulk_create lines

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-22 15:04:17 +00:00
softwarefactory-project-zuul[bot]
d83a786c12 Merge pull request #5714 from mabashian/mount-with-contexts-import
Use directory alias for imports instead of relative path in our test files

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-22 14:39:18 +00:00
mabashian
5d162b739b Fix import order to address linting error 2020-01-22 09:01:35 -05:00
softwarefactory-project-zuul[bot]
55e37b4eaa Merge pull request #5728 from wenottingham/i-waited-for-days
Fix timedelta comparison to account for large intervals

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-21 21:47:13 +00:00
Bill Nottingham
b2a0b3fc29 Fix timedelta comparison to account for large intervals
It would fail if you set the interval to > 1 day.
2020-01-21 16:14:33 -05:00
softwarefactory-project-zuul[bot]
d1e1bc7108 Merge pull request #5721 from wenottingham/a-thundering-herd-is-only-good-if-you-are-marshall
Change how analytics is gathered to only gather once per interval

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-21 20:31:39 +00:00
softwarefactory-project-zuul[bot]
cb88ea8fd1 Merge pull request #5718 from AlanCoding/pin_pin
Pin zipp to avoid setuptools upgrade

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-21 19:13:35 +00:00
softwarefactory-project-zuul[bot]
c2fe3fcf13 Merge pull request #5706 from appuk/apurva-new-ids
Add data-cy attributes for Inventory and Inventory Hosts

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-01-21 17:57:41 +00:00
softwarefactory-project-zuul[bot]
6654a116d0 Merge pull request #5715 from marshmalien/routed-tabs-remove-history
RoutedTabs component - Replace router HOC with hooks

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-21 17:55:00 +00:00
softwarefactory-project-zuul[bot]
b77ab8a6ca Merge pull request #5723 from kdelee/scan_job_cleanup
Scan jobs have been removed, clean up old refs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-21 17:54:14 +00:00
Elijah DeLee
1e796076f5 Scan jobs have been removed, clean up old refs
see https://github.com/ansible/awx/issues/5603
2020-01-21 12:11:53 -05:00
Apurva Bakshi
8fa38d1a2e Add data-cy attributes for Inventory and Inventory Hosts 2020-01-21 12:05:27 -05:00
Bill Nottingham
44e176dde8 Change how analytics is gathered to only gather once per interval 2020-01-21 11:40:51 -05:00
softwarefactory-project-zuul[bot]
1ce197041f Merge pull request #5710 from ryanpetrello/job-event-api-perf
drastically speed up /api/v2/jobs/N/job_events/ with large counts

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-21 15:54:02 +00:00
Marliana Lara
0952bae09f Replace withRouter with react-router hooks in RoutedTabs 2020-01-21 10:06:46 -05:00
softwarefactory-project-zuul[bot]
12509cd652 Merge pull request #5713 from wenottingham/devel
Fix some lint

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-20 23:50:03 +00:00
mabashian
b094c063ae Use directory alias for imports instead of relative path in our test files 2020-01-20 17:32:05 -05:00
Bill Nottingham
4e46d5d7cd Fix some lint 2020-01-20 17:15:27 -05:00
softwarefactory-project-zuul[bot]
8b10da9589 Merge pull request #5709 from benthomasson/fix_gather_analytics_crontab
Fixes crontab for gather_analytics to run once every 4 hours

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2020-01-20 19:21:27 +00:00
softwarefactory-project-zuul[bot]
99ce277b06 Merge pull request #5705 from AlexSCorey/5599-VariableDetailsAbsent
Ensures Variables Details renders even when no value.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-20 18:40:04 +00:00
AlanCoding
5db6906212 pin zipp to avoid setuptools upgrade 2020-01-20 13:39:48 -05:00
Ben Thomasson
652a428438 Fixes crontab for gather_analytics to run once every 4 hours 2020-01-20 13:30:10 -05:00
Ryan Petrello
dfc769b8fe drastically speed up /api/v2/jobs/N/job_events/ with large counts 2020-01-20 13:24:39 -05:00
Alex Corey
c45b1ffca6 Ensures Variables Details renders even when no value.
When there is no value VariablesDetails will show ---.
2020-01-20 12:58:58 -05:00
AlanCoding
ceed6f8d9b Allow CTiT log level to log bulk_create lines 2020-01-20 12:41:10 -05:00
softwarefactory-project-zuul[bot]
03cfb7bf9a Merge pull request #5669 from AlanCoding/no_parent_or_host
Remove two unused parent relationships from JobEvent model

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-20 16:58:46 +00:00
softwarefactory-project-zuul[bot]
49d1fa82d3 Merge pull request #5678 from marshmalien/5657-update-inventory-detail
Fetch new inventory when location changes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-20 13:58:18 +00:00
softwarefactory-project-zuul[bot]
08a195ba08 Merge pull request #5694 from beeankha/tower_job_launch_module_exception
Fail Gracefully on tower_job_launch Module When JT is Not Found

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-17 23:46:49 +00:00
softwarefactory-project-zuul[bot]
77d1c711bf Merge pull request #5695 from jlmitch5/redirectToLogin
add redirect to login on 401

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-17 23:31:38 +00:00
softwarefactory-project-zuul[bot]
ad73174029 Merge pull request #5696 from jakemcdermott/fix-5138-2
Use the default cloud name if one isn't passed to azure plugin

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-17 22:38:55 +00:00
softwarefactory-project-zuul[bot]
a6539d66d4 Merge pull request #5654 from AlexSCorey/5619-BranchFieldMissing
Fixes navigation bug in InventoryAdd Adds SCM Branch field on JTForm

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-17 21:46:45 +00:00
Keith Grant
cb3ab67361 make VariablesField detect correct mode on mount 2020-01-17 13:39:18 -08:00
Alex Corey
078dc666c1 Removes code from serializer in favor to api call of Project.readDetails
Adds necessary tests.
2020-01-17 15:57:14 -05:00
softwarefactory-project-zuul[bot]
e806da25c1 Merge pull request #5697 from ryanpetrello/some-settings-cleanup
remove an unnecessary settings optimzation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-17 20:43:28 +00:00
beeankha
ef36b4fffd Reduce number of requests running in the try/except block 2020-01-17 15:08:05 -05:00
Ryan Petrello
cc2ba09d3a remove an unnecessary settings optimzation 2020-01-17 14:59:56 -05:00
Alex Corey
790942c0f2 Fixes navigation bug in InventoryAdd Adds SCM Branch field on JTForm 2020-01-17 14:44:56 -05:00
Alex Corey
fd1e574fcb Resets playbook and scm-branch fields when project is changed
The playbook field becomes undefined and the scm-branch
field becomes ''.  This ensures that the user has to assign
a playbook to the template that is associated with the project
and suggests to the user to review their scm-branch.
TODO: when the user updates project with scm-branch override
allow the user to type in playbook in dropdown. Then, check if
playbook is present in list of playbooks.  If no, add it to the
list of playbooks.
2020-01-17 14:44:56 -05:00
Alex Corey
2daefcd94e Removes code from serializer in favor to api call of Project.readDetails
Adds necessary tests.
2020-01-17 14:44:28 -05:00
Alex Corey
46a7ca4dc3 Fixes navigation bug in InventoryAdd Adds SCM Branch field on JTForm 2020-01-17 14:44:28 -05:00
softwarefactory-project-zuul[bot]
5e4c997c41 Merge pull request #5688 from keithjgrant/5235-variables-field-json
Upgrade to Formik 2.1.2

Reviewed-by: John Mitchell
             https://github.com/jlmitch5
2020-01-17 19:35:27 +00:00
John Mitchell
8d4d718f7d add redirect to login on 401 2020-01-17 13:41:06 -05:00
softwarefactory-project-zuul[bot]
cf34a81af7 Merge pull request #5622 from keithjgrant/4613-pf-select-component
PatternFly select component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-17 17:53:31 +00:00
Jake McDermott
11af21972d Use default cloud name if one isn't passed to azure plugin 2020-01-17 12:36:04 -05:00
Keith Grant
8850687d1b rename usePFSelect to useSyncedSelectValue 2020-01-17 08:47:31 -08:00
beeankha
792f68eaec When Job Template is not found, fail more gracefully 2020-01-17 11:40:41 -05:00
Keith Grant
113aa2e11e fix lint errors 2020-01-17 08:34:42 -08:00
softwarefactory-project-zuul[bot]
1bf0bc8203 Merge pull request #5600 from AlexSCorey/5266-InventoryHostDetails
Adds Toggle, Variables, User Link and Delete to Inventory Host/Host Details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-17 15:03:23 +00:00
softwarefactory-project-zuul[bot]
03cd7472af Merge pull request #5677 from ryanpetrello/less-distinct
do not apply distinct for series of only static fields

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-17 13:28:27 +00:00
Marliana Lara
d549c217bb Fetch new inventory on location change 2020-01-16 22:55:47 -05:00
Keith Grant
e7fead0f2c update Formik formatting to remove warnings 2020-01-16 16:46:13 -08:00
Keith Grant
14990f7e98 finish updating tests for Formik 2.x 2020-01-16 16:21:35 -08:00
softwarefactory-project-zuul[bot]
d35eba8afb Merge pull request #5681 from marshmalien/remove-form-close-buttons
Remove form card header close button

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
             https://github.com/marshmalien
2020-01-16 21:25:00 +00:00
AlanCoding
b0722311e8 dDo not apply distinct for series of only static fields 2020-01-16 14:36:38 -05:00
Marliana Lara
946c16916f Remove form card header close button 2020-01-16 13:47:02 -05:00
Keith Grant
8ef5a6b0e1 upgrade Formik to 2.x; fix some tests with upgrade 2020-01-16 10:13:19 -08:00
softwarefactory-project-zuul[bot]
6fa4d6462d Merge pull request #5664 from marshmalien/5276-credential-details
Add Credential Detail view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-16 16:37:51 +00:00
softwarefactory-project-zuul[bot]
525fd889e9 Merge pull request #5584 from AlanCoding/vault_credential_test
[AWX collection] Add test for deprecated vault_credential

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-16 14:53:35 +00:00
softwarefactory-project-zuul[bot]
93a4e5ef05 Merge pull request #5661 from beeankha/extra_vars_warn_louder_at_launch
Warn Louder When ask_extra_vars Should be Set to True But is Not

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-16 14:19:30 +00:00
Marliana Lara
06ce5a16ce Show credential type link if it's managed by tower 2020-01-16 09:14:37 -05:00
Marliana Lara
15c665ea52 Add Credential Detail view
* Add Credential and CredentialDetail unit tests
* Add credential_type mock data
2020-01-16 09:14:30 -05:00
AlanCoding
9a420820eb Remove event hosts relationship
and parent event-event ForeignKey relationship
2020-01-16 08:44:36 -05:00
beeankha
fa043100bd Add info to changelog 2020-01-16 08:35:56 -05:00
beeankha
db0d748302 Also check for survey_enabled parameter 2020-01-16 08:35:56 -05:00
beeankha
e8a95a1dac Fail the task if extra_vars is set on launch but ask_extra_vars is not set to True on the Job Template 2020-01-16 08:35:56 -05:00
softwarefactory-project-zuul[bot]
f911fb2046 Merge pull request #5674 from jakemcdermott/fix-5142-2
Set reasonable default for MAX_FORKS

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-16 00:12:43 +00:00
softwarefactory-project-zuul[bot]
a0304eeb16 Merge pull request #5597 from shanemcd/kube-oc-specific-server-version-logic
Add kubectl / oc-specific API server version logic

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-15 22:49:07 +00:00
Jake McDermott
a6f063b199 Set default MAX_FORKS to 200 2020-01-15 17:26:15 -05:00
Shane McDonald
3977ec42e1 Add kubectl / oc-specific API server version logic 2020-01-15 17:12:53 -05:00
softwarefactory-project-zuul[bot]
b7a064b05d Merge pull request #5671 from ryanpetrello/bye-bye-scan
remove JobTemplate.job_type = 'scan'

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-15 21:06:20 +00:00
softwarefactory-project-zuul[bot]
aa5532f7b5 Merge pull request #5665 from wenottingham/warn-only
Only warn when license is exceeded non-fatally

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-15 20:16:13 +00:00
Ryan Petrello
f79b6d3708 remove JobTemplate.job_type = 'scan'
see: https://github.com/ansible/awx/issues/5603
2020-01-15 15:05:01 -05:00
softwarefactory-project-zuul[bot]
6d075b8874 Merge pull request #5448 from ryanpetrello/remove-computed-group-and-host-fields
remove computed inventory fields from Host and Group

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-15 19:53:30 +00:00
softwarefactory-project-zuul[bot]
3040a25932 Merge pull request #5604 from jakemcdermott/fix-5142
Add configurable MAX_FORKS for jobs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-15 19:35:10 +00:00
Ryan Petrello
0f0d9ba00d send inv computed tasks *after* commit to avoid a race condition 2020-01-15 14:14:26 -05:00
softwarefactory-project-zuul[bot]
053897042f Merge pull request #5668 from ryanpetrello/vmware-inv-script-update
update to latest vmware_inventory.py

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-15 19:09:38 +00:00
softwarefactory-project-zuul[bot]
64186e881e Merge pull request #5602 from jakemcdermott/fix-5138
Support AzureCloud choices for azure keyvault

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-15 19:07:19 +00:00
Jake McDermott
0d98a1980e Add a configurable limit for job forks 2020-01-15 13:51:59 -05:00
Jake McDermott
2b02b1affd Support AzureCloud choices for azure keyvault 2020-01-15 13:13:10 -05:00
softwarefactory-project-zuul[bot]
bf3042e85a Merge pull request #5666 from ryanpetrello/inv-sync-wf
fix a bug that breaks inv sync stdout within workflows

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-15 17:03:01 +00:00
softwarefactory-project-zuul[bot]
bdc25c14f6 Merge pull request #5663 from ryanpetrello/how-to-upgrade
update data migration instructions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-15 16:48:21 +00:00
Ryan Petrello
6e5028587a update to latest vmware_inventory.py
63737ec0f8/contrib/inventory/vmware_inventory.py

see: https://github.com/ansible/awx/issues/5648
2020-01-15 10:40:01 -05:00
Ryan Petrello
8c8713885b fix a bug that breaks inv sync stdout within workflows
see: https://github.com/ansible/tower/issues/4068
2020-01-15 10:12:27 -05:00
Bill Nottingham
bc5ef7f1c8 Only warn when license is exceeded non-fatally 2020-01-15 10:05:20 -05:00
AlanCoding
b9b6dad0b3 Add test for deprecated vault_credential 2020-01-15 09:44:28 -05:00
Ryan Petrello
829e9054d6 update data migration instructions 2020-01-15 09:03:36 -05:00
Ryan Petrello
be68a199ec reorder migrations after a rebase 2020-01-14 16:58:33 -05:00
Jake McDermott
44c0eb867b Remove group status cols
Remove the status col from any group list that used the now-removed
computed fields.
2020-01-14 16:37:20 -05:00
Jake McDermott
773b976f8a Remove dead code 2020-01-14 16:37:20 -05:00
Jake McDermott
1220847c27 Remove unused host status service 2020-01-14 16:37:20 -05:00
Jake McDermott
ec1c2a8391 Remove status icons from group nested groups 2020-01-14 16:37:19 -05:00
Jake McDermott
2bc6521eee Use related hosts and group counts for delete modal 2020-01-14 16:37:19 -05:00
Jake McDermott
107d2da845 Remove status icons from host nested groups 2020-01-14 16:37:19 -05:00
Ryan Petrello
568606d2c8 remove computed inventory fields from Host and Group 2020-01-14 16:37:16 -05:00
softwarefactory-project-zuul[bot]
78e2cd7084 Merge pull request #5610 from thedoubl3j/canceled_jobs
Added canceled_on field to unified_jobs model

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-14 21:35:11 +00:00
Ryan Petrello
79b8e6b6f0 renumber migrations correctly 2020-01-14 16:00:33 -05:00
Jake Jackson
d72896f9a6 Added canceled_on field to unified_jobs model
- When a job is canceled, the canceled_on field will populate with date/time
2020-01-14 15:56:30 -05:00
softwarefactory-project-zuul[bot]
7b3d36ba53 Merge pull request #5639 from jlmitch5/searchLabelImprovement
update select-based search items to utilize labels, not just the api value

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-14 20:39:09 +00:00
softwarefactory-project-zuul[bot]
df5231f527 Merge pull request #5656 from ryanpetrello/pygments-minus-minus
remove some unnecessary callback receiver debugging code

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-14 19:55:01 +00:00
Ryan Petrello
8bd9233d2c remove some unnecessary callback receiver debugging code 2020-01-14 14:21:53 -05:00
softwarefactory-project-zuul[bot]
4dfda92c69 Merge pull request #5655 from ryanpetrello/9-1-1-changes
update the CHANGELOG for 9.1.1

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-14 19:21:32 +00:00
John Mitchell
9ecb704e10 fix prettier issues 2020-01-14 13:28:53 -05:00
John Mitchell
1b726a1b2f fix malformed search key column array on project lookup 2020-01-14 13:28:44 -05:00
Ryan Petrello
0d2ae47238 update the CHANGELOG for 9.1.1 2020-01-14 12:39:13 -05:00
softwarefactory-project-zuul[bot]
b12c2a142d Merge pull request #5618 from ryanpetrello/callback-write-speed
heavily optimize the write speed of the callback receiver

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-14 17:37:19 +00:00
Ryan Petrello
306f504fb7 optimize the callback receiver to buffer writes on high throughput
additionaly, optimize away several per-event host lookups and
changed/failed propagation lookups

we've always performed these (fairly expensive) queries *on every event
save* - if you're processing tens of thousands of events in short
bursts, this is way too slow

this commit also introduces a new command for profiling the insertion
rate of events, `awx-manage callback_stats`

see: https://github.com/ansible/awx/issues/5514
2020-01-14 12:04:26 -05:00
Shane McDonald
862fafab86 Merge pull request #5637 from ansible/9-1-1
Bump version to 9.1.1
2020-01-13 18:48:14 -05:00
Keith Grant
1cc4e302f9 update tests to check for PF Select 2020-01-13 14:41:43 -08:00
Keith Grant
1289ca9103 update TagMultiSelect to use PF <Select> 2020-01-13 14:41:43 -08:00
Keith Grant
b18ca5ac1f begin converting TagMultiSelect to usePFSelect 2020-01-13 14:41:43 -08:00
Keith Grant
193a041ef9 finish usePFSelect hook 2020-01-13 14:41:43 -08:00
Keith Grant
7219c17d30 start usePFSelect hook 2020-01-13 14:41:43 -08:00
Keith Grant
79f0f1940f update LabelSelect to use PF Select component 2020-01-13 14:41:43 -08:00
softwarefactory-project-zuul[bot]
f923f07b79 Merge pull request #5645 from ryanpetrello/cha-cha-cha-cha-changes
update the CHANGELOG w/ historical notes from the mailing list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-13 22:39:41 +00:00
softwarefactory-project-zuul[bot]
4112b20f1a Merge pull request #5644 from ryanpetrello/lint-trap
fix linting failures

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-13 21:46:51 +00:00
Ryan Petrello
18e7b6ce04 update the CHANGELOG w/ historical notes from the mailing list 2020-01-13 16:40:55 -05:00
softwarefactory-project-zuul[bot]
ebc540a460 Merge pull request #5643 from wenottingham/we-underscored-the-importance-of-this
Fix collection of free_instances from /api/v2/config

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-13 21:37:44 +00:00
John Mitchell
edc65cdc36 update breakpoint for mobile-ifying search 2020-01-13 16:05:01 -05:00
John Mitchell
3684975ef9 remove todo label-ify search dropdown note 2020-01-13 16:04:15 -05:00
Ryan Petrello
b1f56df930 fix linting failures 2020-01-13 15:58:19 -05:00
Bill Nottingham
95960c8c14 Fix collection of free_instances from /api/v2/config 2020-01-13 15:31:21 -05:00
softwarefactory-project-zuul[bot]
488f52b82b Merge pull request #5641 from shanemcd/pin-setuptools-in-setup-requires
Pin setuptools in requirements_setup_requires.txt

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-13 19:51:21 +00:00
Shane McDonald
b4a7cdbb60 Pin setuptools in requirements_setup_requires.txt
This is a file we use downstream to ensure that things under our dependencies'
`setup_requires` are available when we build offline.
2020-01-13 14:01:37 -05:00
Alex Corey
8bfcef01df Fixes Breaedcrumb 2020-01-13 12:24:15 -05:00
John Mitchell
bbf9c13952 update select-based items to utilize labels 2020-01-13 12:10:36 -05:00
softwarefactory-project-zuul[bot]
04576af6a5 Merge pull request #5630 from jakemcdermott/fix-5586
Use summary `object_roles` to lookup admin role id

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-13 17:05:02 +00:00
Alex Corey
dfa578fcde Utilizes React Router Hooks and removes No-op function 2020-01-13 11:28:31 -05:00
Alex Corey
33bc9e63c4 Addresses Console Errors related to functions and test data
Also Adds speecificity to link URLs by add /details for urls that should
redireect to details pages instead of them ending in /:id
2020-01-13 11:28:31 -05:00
Alex Corey
919475a4c7 Improves NestedTabs, Refactors PR, Adds Delete/DeleteError Functionality to HostDetail 2020-01-13 11:28:31 -05:00
Alex Corey
1db88fe4f6 Adds Toggle, Variables, user Link and Delete to Inventory Host and Host Details
If the user comes to Host details through Inventory Host they will get a
Return To Host tab in addition to the others.  This PR allows Inventory Host
to share many of the same components with Host but does add some complexity
to the routing files in Host.jsx
2020-01-13 11:28:31 -05:00
Jake McDermott
cf9f00ab86 Use summary object_roles to lookup admin role id
To find the id of an org's admin role, use the `object_role` names
in the organization's summary_fields instead of filtering on
potentially translated role names.
2020-01-13 11:28:14 -05:00
softwarefactory-project-zuul[bot]
200be3297a Merge pull request #5287 from jlmitch5/searchPlanning
update simple search

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-13 16:11:20 +00:00
Shane McDonald
6da5205d73 Bump version to 9.1.1 2020-01-13 10:30:08 -05:00
John Mitchell
15cb92d58e update sort iconography 2020-01-10 16:27:13 -05:00
John Mitchell
78cc2742b2 fix prettier 2020-01-10 16:27:13 -05:00
John Mitchell
959d5058fc add limit search key to jobs list 2020-01-10 16:27:13 -05:00
John Mitchell
acf54e6102 remove created by/modified by search keys from ig lookup 2020-01-10 16:27:13 -05:00
John Mitchell
4a9979e2db fix issue with checkbox state of select based search key 2020-01-10 16:27:13 -05:00
John Mitchell
1e344bdf8a more ui_next search pr feedback:
- updae .filter().length calls to .find()
- fix ProjectList errors
2020-01-10 16:27:13 -05:00
John Mitchell
3cdf274bdb update search based on pr feedback:
- fix InventoryHost list inadverdent breakage due to merge conflict
- update label__name search key to labels__name
- always snap to page 1 when a search happens
- udpate capitalization of keys to be consistent
- remove isDefault from sort col items in tests
2020-01-10 16:27:13 -05:00
John Mitchell
068de221c1 second pass double checking all keys show up in the lists they should 2020-01-10 16:27:13 -05:00
John Mitchell
30b6e318cc swap column types use of shape for exact and fix warnings it found 2020-01-10 16:27:13 -05:00
John Mitchell
2c1648f9c9 fix issues with unit tests based on search changes 2020-01-10 16:27:13 -05:00
John Mitchell
2c953ed7d0 add keys to search on lookups 2020-01-10 16:27:13 -05:00
John Mitchell
2d00623c16 update search keys for various lists in the mvp 2020-01-10 16:27:13 -05:00
John Mitchell
51a6ba14f1 support 1 item in sortColumns 2020-01-10 16:27:13 -05:00
John Mitchell
6edd879a43 add support for number, boolean, and option-based searches 2020-01-10 16:27:13 -05:00
John Mitchell
a31661ce08 utilize new DataToolbar experimental patternfly components 2020-01-10 16:27:13 -05:00
John Mitchell
c69d497093 remove debugger statement 2020-01-10 16:27:13 -05:00
John Mitchell
8b9810e466 update search and sort column configuration 2020-01-10 16:27:13 -05:00
John Mitchell
16f9411914 update simple search doumentation and plan 2020-01-10 16:27:13 -05:00
Shane McDonald
f7ba706ec2 Merge pull request #5635 from shanemcd/ch-ch-ch-changelog
Introduce CHANGELOG.md
2020-01-10 16:26:40 -05:00
Shane McDonald
5455fe3c10 Introduce CHANGELOG.md 2020-01-10 16:08:17 -05:00
Shane McDonald
8ac8bc8df2 Merge pull request #5609 from shanemcd/downstream-k8s-changes
Pull in downstream k8s installer changes
2020-01-10 13:56:49 -05:00
softwarefactory-project-zuul[bot]
ed474df744 Merge pull request #5407 from AlanCoding/depgrades_2019_party
General dependency upgrades (awx venv only for now)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-10 18:44:21 +00:00
softwarefactory-project-zuul[bot]
c33d2a1e00 Merge pull request #5503 from beeankha/refactor_inventory_plugin
Refactor Inventory Plugin Module to Import from module_utils

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-09 21:52:54 +00:00
softwarefactory-project-zuul[bot]
3e58ee068c Merge pull request #5616 from marshmalien/5541-reuse-ActionButtonWrapper
Update Detail views to use CardActionsRow

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-09 21:52:29 +00:00
beeankha
b19e5aab28 Raise AnsibleParserError via a custom exception 2020-01-09 15:30:23 -05:00
Marliana Lara
6ec96a8f4f Update detail components to use ActionButtonWrapper 2020-01-09 10:53:17 -05:00
softwarefactory-project-zuul[bot]
4db2df9691 Merge pull request #5613 from AlanCoding/log_dup_uuid
Log case of duplicate UUIDs

Reviewed-by: Matthew Jones <mat@matburt.net>
             https://github.com/matburt
2020-01-09 15:13:03 +00:00
beeankha
0c696bfd96 Add new CollectionsParserError class for exceptions 2020-01-09 09:14:47 -05:00
beeankha
63ffff3b76 Import request into module_utils instead 2020-01-09 09:14:47 -05:00
beeankha
c532c6fe61 Update parameters, add whitespace 2020-01-09 09:14:47 -05:00
beeankha
61c2968a7c Fix module-specific lint errors 2020-01-09 09:14:47 -05:00
beeankha
d9e41547a1 Refactor Inventory Plugin module to import from module_utils 2020-01-09 09:14:47 -05:00
AlanCoding
eec08fdcca Log case of duplicate UUIDs 2020-01-09 07:31:32 -05:00
softwarefactory-project-zuul[bot]
b74f7f6c26 Merge pull request #5562 from beeankha/job_launch_extra_vars_example
Add extra_vars Example to Job Launch Module

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-08 20:28:58 +00:00
beeankha
f37ac1dcc9 Add extra_vars example to Job Launch module, update extra_vars type to dict,
update unit test, add details to Collections release notes.
2020-01-08 14:50:41 -05:00
softwarefactory-project-zuul[bot]
1c09114abd Merge pull request #5611 from kdelee/awxkit-better-timeout-error
[awxkit] Raise a more informative error when timeout

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-08 18:47:16 +00:00
softwarefactory-project-zuul[bot]
c0e1c8aa77 Merge pull request #5589 from jakemcdermott/fix-4056
Generate new uuid for newly registered iso nodes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-08 18:37:52 +00:00
Elijah DeLee
d82180605c Raise a more informative error when timeout
Right now we are often left with very little info if we do get a timeout on something that HasStatus.

Take advantage of the assert_status function that is also available on items using the HasStatus mixin to show
more info.
2020-01-08 12:47:17 -05:00
Shane McDonald
d3b7829e69 Pull in downstream k8s installer changes 2020-01-08 11:04:12 -05:00
softwarefactory-project-zuul[bot]
4a214a7770 Merge pull request #5607 from exicx/exicx-patch-context
change set-context to use-context

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2020-01-08 14:27:08 +00:00
AlanCoding
18bb910e33 Fallback to globals for these tests 2020-01-07 17:14:34 -06:00
AlanCoding
ca8dcced8b update paramiko source 2020-01-07 17:14:34 -06:00
AlanCoding
0b9b8832a8 Get rid of hacks to simplify process
Remove poetry and wheel from bootstrap installs

Cleanup some docs around them
2020-01-07 17:14:34 -06:00
AlanCoding
271b3f00b7 Attempts to simplify build environment
Remove build isolation flag

Do not use --ignore-installed for any pip install commands

Add Makefile comments

do not use system site packages for awx venv

Consolidate bootstrap pins

Do another upgrade, properly document wheel
2020-01-07 17:14:33 -06:00
AlanCoding
477f566da0 Bump Django version which recently updated 2020-01-07 17:14:33 -06:00
Shane McDonald
cf55b6a0ba Bootstrap venv creation with flit and poetry
this is in addition to pip and setuptools installs

add in --ignore-installed and --no-build-isolation flags
reasoning is that we are not installing needed packages
for building
2020-01-07 17:14:33 -06:00
AlanCoding
a2acf4d61f Back off setuptools version due to allow_hosts option error 2020-01-07 17:14:33 -06:00
AlanCoding
3dc8c789fb Avoid system site packages and add more setup things 2020-01-07 17:14:33 -06:00
Seth Foster
7873d08311 Update pip and setuptools in requirements txt
Versions selected to be pre-19 pip
due to unresolved issues with the build systems

Upgrade everything, party on

document new process

rotate license files

fix Swagger schema generation target

Remove --ignore-installed flag
2020-01-07 17:14:32 -06:00
James Smith
c4df5f64c1 change set-context to use-context
set-context allows setting configuration within a provided context, to change contexts we need "use-context"

$ kubectl config
...
  set-context     Sets a context entry in kubeconfig
  use-context     Sets the current-context in a kubeconfig file
2020-01-07 16:01:54 -06:00
softwarefactory-project-zuul[bot]
679d531930 Merge pull request #5605 from AlexSCorey/5494-IncorrectInvGroupDetailDeleteModal
Adds Promote Delete Modal To InventoryGroupDetails

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-07 16:25:25 +00:00
Alex Corey
7d0d000180 Adds Promote Delete Modal To InventoryGroupDetails
It also removes a comment/reminder to remove some code after CredentialsLookUp
refactor was completed.  Now that it has been completed that code has been removed.
2020-01-06 16:53:15 -05:00
softwarefactory-project-zuul[bot]
f0882aba7d Merge pull request #5580 from mabashian/upgrade-pf-deps
Upgrades pf deps to latest

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-06 14:39:28 +00:00
softwarefactory-project-zuul[bot]
5c1713460b Merge pull request #5553 from keithjgrant/inventory-add-save
Inventory Add form fixes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-06 14:29:19 +00:00
softwarefactory-project-zuul[bot]
67d19b20ef Merge pull request #5593 from ryanpetrello/dot-dot-dot
add the ability to generate dot graphs for per-request profiling

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-06 04:13:33 +00:00
Ryan Petrello
4a6147d4c2 add the ability to generate dot graphs for per-request profiling 2020-01-04 07:09:42 -05:00
Jake McDermott
d91e72c23f Generate new uuid for newly registered iso nodes
When provisioning a new isolated node, generate a new uuid instead of
reusing the SYSTEM_UUID of the controller node.
2020-01-03 12:59:57 -05:00
softwarefactory-project-zuul[bot]
8c99321ec8 Merge pull request #5577 from loitho/devel
Add a uwsgi param to prevent SAML error

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-03 15:27:25 +00:00
softwarefactory-project-zuul[bot]
18e9121db4 Merge pull request #5497 from jainnikhil30/devel
fix the saml_admin_attr not working

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-01-03 14:25:59 +00:00
softwarefactory-project-zuul[bot]
0809c27bd1 Merge pull request #5581 from AlanCoding/hush_managed_types
Remove incorrect activity stream entries related to managed types

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-02 18:31:49 +00:00
AlanCoding
807f4ea757 Remove incorrect activity stream entries related to managed types 2020-01-02 11:37:33 -05:00
mabashian
ef3f98a399 Upgrades pf deps to latest. Adds ability to click on row items in order to select them rather than having to click on checkboxes/radio buttons. 2020-01-02 11:10:15 -05:00
softwarefactory-project-zuul[bot]
0bbf5e4faf Merge pull request #5579 from AlanCoding/revert_migration_flag
Revert migration flag

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-02 15:07:32 +00:00
softwarefactory-project-zuul[bot]
da440469cf Merge pull request #5499 from ryanpetrello/more-oauth-tinkering
only restrict OAuth2 tokens for external accounts *at creation time*

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-01-02 14:09:30 +00:00
AlanCoding
8d4425f056 Revert "Reduce API response times by caching migration flag"
This reverts commit 5433af6716.
2020-01-02 09:08:51 -05:00
AlanCoding
1f46878652 Revert "Apply migration flag check to task manager"
This reverts commit a0910eb6de.
2020-01-02 09:08:17 -05:00
loitho
930b46810f Add a uwsgi param to prevent SAML error
Add the uwsgi_param 'HTTP_X_FORWARDED_PORT' to nginx configuration,
This prevents the python-saml "invalid_response" error

related issue : #5570 and #1016

Signed-off-by: loitho
2019-12-31 03:45:35 +01:00
softwarefactory-project-zuul[bot]
c6dc69c68b Merge pull request #5563 from beeankha/update_makefile
Edit Makefile for Easier Collections Building/Playbook Testing

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-20 21:33:36 +00:00
beeankha
f00344f8b4 Enable easier building of playbooks for local Collections module testing 2019-12-20 15:24:06 -05:00
softwarefactory-project-zuul[bot]
f9e0600263 Merge pull request #5560 from wenottingham/bad-request-bad-naughty-evil-request
Fix survey validation to always retun an error code if erroring

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-20 18:38:27 +00:00
Bill Nottingham
3ba1ba1c9d Fix survey validation to always retun an error code if erroring 2019-12-20 11:38:22 -05:00
Keith Grant
ecf1d79ca5 fix form validation for Organization select in Inventory form 2019-12-19 14:55:48 -08:00
softwarefactory-project-zuul[bot]
82fd245ca9 Merge pull request #5542 from marshmalien/cred-list
Add Credential List 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-19 21:21:12 +00:00
softwarefactory-project-zuul[bot]
df5aa8a47d Merge pull request #5520 from keithjgrant/5261-inventory-detail-b
Inventory Detail

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-19 20:03:22 +00:00
Keith Grant
f3c5cb5a2e fix inventory saving without insights credential specified 2019-12-19 10:59:16 -08:00
Keith Grant
b794fdbefd de-lint 2019-12-19 10:52:23 -08:00
softwarefactory-project-zuul[bot]
497f46041c Merge pull request #5519 from fosterseth/fix-inv-source-blocking
Remove inventory source update blocking

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-19 18:43:28 +00:00
Keith Grant
e688ed813a update tests for detail view changes 2019-12-19 10:41:59 -08:00
Marliana Lara
6c3e42a1ac Reset selected list after successful delete 2019-12-19 13:41:40 -05:00
Keith Grant
bfedbe561c add delete button to InventoryDetail 2019-12-19 09:55:04 -08:00
Keith Grant
6c439bb9ae Add Inventory detail edit button 2019-12-19 09:03:32 -08:00
Marliana Lara
f461a46155 Use credential_types from credential.summary_fields to display "Type" column 2019-12-19 10:36:38 -05:00
Marliana Lara
eee84b1af7 Fetch credential types and options only on initial render 2019-12-19 10:36:38 -05:00
Marliana Lara
c4ff27cedb Add Credential List and unit tests 2019-12-19 10:36:36 -05:00
softwarefactory-project-zuul[bot]
cf57d596a3 Merge pull request #5538 from jakemcdermott/ui-next-test-utils-test-coverage
Measure unit test coverage of test utils

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-19 15:23:39 +00:00
softwarefactory-project-zuul[bot]
a68cd6f0ae Merge pull request #5543 from jakemcdermott/cred-type-as-summarizable-fk-field
Add credential_type summarizable fk field

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-12-19 13:56:17 +00:00
Keith Grant
7ff4d821ce switch to our CardBody component on all screens, for consistent padding/spacing 2019-12-18 16:10:23 -08:00
Jake McDermott
23914182c4 Add credential_type summarizable fk field 2019-12-18 18:31:24 -05:00
softwarefactory-project-zuul[bot]
979328baa4 Merge pull request #5540 from ghjm/login_redirect_null_issue_again
Don't complain if LOGIN_REDIRECT_URL is null

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-18 20:45:45 +00:00
Graham Mainwaring
055c02072f Default LOGIN_REDIRECT_URL should be blank, not null 2019-12-18 15:13:46 -05:00
Keith Grant
8ff0902177 Fix UserDateDetail translation
Add UserDateDetail to Org detail & InventoryGroupDetail
Add VariablesDetail to InventoryGroupDetail
2019-12-18 11:52:19 -08:00
Keith Grant
3d510c5064 InventoryDetail: handle content loading state & errors better 2019-12-18 11:50:49 -08:00
Keith Grant
df47186c43 use UserDateDetail in OrganizationDetail 2019-12-18 11:50:25 -08:00
Keith Grant
2f7607a080 use VariablesDetail for displaying variables field in details views 2019-12-18 11:46:43 -08:00
Keith Grant
cde39413c9 switch all tabbed screens to use TabbedCardHeader 2019-12-18 11:46:43 -08:00
Keith Grant
41c9ea3c07 add tests for VariablesDetail & InventoryDetail 2019-12-18 11:46:43 -08:00
Keith Grant
3d45f27502 finish InventoryDetail 2019-12-18 11:46:43 -08:00
Keith Grant
0ab61fd3cb Start inventory detail
* Create VariablesDetail for read-only variables view
* Sketch out InventoryDetail
* Create CardBody and TabbedCardHeader for common custom styling
2019-12-18 11:46:43 -08:00
softwarefactory-project-zuul[bot]
d0c891764f Merge pull request #5537 from jakemcdermott/ui-next-org-form-functional-component
Move organization form to functional component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-18 18:13:37 +00:00
Jake McDermott
057320aed3 Move organization form to functional component 2019-12-18 12:35:01 -05:00
softwarefactory-project-zuul[bot]
6340f9147c Merge pull request #5532 from jakemcdermott/ui-next-fix-warning-resize
Fix inconsistent warning icon sizes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-18 17:23:55 +00:00
Jake McDermott
b8d6991e9d Measure unit test coverage of test utils 2019-12-18 11:55:50 -05:00
softwarefactory-project-zuul[bot]
2f9742e9de Merge pull request #5467 from thedoubl3j/fix_collection_sanity
Fix collection sanity

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2019-12-18 16:17:49 +00:00
softwarefactory-project-zuul[bot]
e4c3454b98 Merge pull request #5517 from jakemcdermott/ui-next-org-functional-components
Move routed organization views to functional components

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-18 16:15:57 +00:00
Jake McDermott
7cc3a7c39d Replace withRouter HOC with route hooks 2019-12-18 10:05:03 -05:00
Jake McDermott
9c291c2b50 Move routed org views to functional components 2019-12-18 10:04:54 -05:00
Jake Jackson
caad204cbb Merge branch 'devel' of github.com:ansible/awx into fix_collection_sanity 2019-12-18 09:52:24 -05:00
Jake McDermott
86eb541b3f Keep warning icon size consistent 2019-12-17 16:12:53 -05:00
softwarefactory-project-zuul[bot]
05e2386fac Merge pull request #5531 from ghjm/login_redirect_null_issue
Set a default value for LOGIN_REDIRECT_URL

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-17 20:20:29 +00:00
Graham Mainwaring
3c0fd37a4d Set a default value for LOGIN_REDIRECT_URL 2019-12-17 14:39:35 -05:00
softwarefactory-project-zuul[bot]
b23ccf7ee1 Merge pull request #5529 from shanemcd/set_default_var
Set default value for create_preload_data in image_build role

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-17 19:18:50 +00:00
Shane McDonald
bd8643d599 Set default value for create_preload_data in image_build role
This caused our AWX release workflow to blow up
2019-12-17 13:40:37 -05:00
Shane McDonald
b23856f126 Bump VERSION to 9.1.0 2019-12-17 11:38:32 -05:00
softwarefactory-project-zuul[bot]
c062728359 Merge pull request #5512 from jakemcdermott/ui-next-fix-template-tab-unload
Don't reload template panel on tab change

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-17 00:16:25 +00:00
softwarefactory-project-zuul[bot]
85d185cc8b Merge pull request #5505 from jakemcdermott/fix-5485
Use job details status to test status

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-16 23:45:45 +00:00
softwarefactory-project-zuul[bot]
77b8f345ae Merge pull request #5511 from jakemcdermott/ui-next-fix-inv-list-select-all-state
Initialize inventory list with none selected

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-16 23:14:37 +00:00
Seth Foster
b26b8e7097 Prevent running jobs from blocking inventory updates
A running job that has an inventory source will block
that inventory update from running. This fix removes
the block.

The test creates a job in running state, and an inventory
update in pending state. The test asserts that the
task manager and dependency graph .is_job_blocked method
returns False for the inventory update (i.e. update can
run).

issue #4809
2019-12-16 15:15:23 -05:00
softwarefactory-project-zuul[bot]
0052967aee Merge pull request #5489 from fosterseth/fix-proj-update-blocking
Remove project update blocking

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-16 19:51:51 +00:00
Seth Foster
63e9aed601 Prevent running jobs from blocking project updates
A running job that has a project update will block
that update from running. This fix removes
the block.
Adds a functional test that sets up a job in "running" state, and
starts a project update that is in "pending" state. Assert that
the task manager and dependency graph .is_job_blocked methods both
return False.

issue #5153
2019-12-16 13:43:42 -05:00
softwarefactory-project-zuul[bot]
d4be8c8168 Merge pull request #5516 from shanemcd/downstream-changes
A few downstream changes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-16 17:49:03 +00:00
softwarefactory-project-zuul[bot]
cdf4b0d1ed Merge pull request #5510 from jakemcdermott/ui-next-fix-user-link-in
Fix access list and navigation user link-ins

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-16 17:48:58 +00:00
softwarefactory-project-zuul[bot]
c43a59e475 Merge pull request #5391 from wenottingham/really-we-would-remove-the-drummer-before-slash
Don't error on a trailing slash, just fix it up

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-16 17:19:34 +00:00
Jake McDermott
014520ee2b Initialize list with none selected 2019-12-16 11:46:53 -05:00
Shane McDonald
c1abc56753 Merge remote-tracking branch 'downstream/release_3.6.2' into downstream-changes 2019-12-16 11:13:10 -05:00
softwarefactory-project-zuul[bot]
c5b4681bf4 Merge pull request #5491 from marshmalien/inv-host-add
Add Inventory Host Add form 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-16 16:06:24 +00:00
softwarefactory-project-zuul[bot]
00b7d6571a Merge pull request #5509 from jakemcdermott/ui-next-webpack-4.41.2
Update webpack to 4.41.2

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-16 15:55:29 +00:00
Jake McDermott
9ed2534ac5 Don't reload panel on tab change 2019-12-16 09:25:12 -05:00
Jake McDermott
a3bc3986bb Fix resource access list user links 2019-12-16 08:51:10 -05:00
Jake McDermott
230933744c Fix nav user links 2019-12-16 08:50:59 -05:00
Jake McDermott
227a90006e Update webpack to 4.41.2 2019-12-16 08:36:24 -05:00
softwarefactory-project-zuul[bot]
112f89660b Merge pull request #5239 from AlanCoding/migration_cache
Reduce API response times by 30% by using memcache migration flag

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-16 04:33:29 +00:00
AlanCoding
a0910eb6de Apply migration flag check to task manager 2019-12-15 22:56:57 -05:00
AlanCoding
5433af6716 Reduce API response times by caching migration flag 2019-12-15 22:56:57 -05:00
Jake McDermott
9744b89737 Use job details status to test status 2019-12-13 17:32:23 -05:00
softwarefactory-project-zuul[bot]
04c535e3f9 Merge pull request #5424 from AlexSCorey/InventoryGroupAdd/Edit
Adds Inventory Groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-13 22:23:14 +00:00
Alex Corey
259e53f59d Fixes failing zuul test 2019-12-13 16:38:59 -05:00
Bill Nottingham
ac9bf1afcf Don't error on a trailing slash, just fix it up 2019-12-13 15:59:40 -05:00
Alex Corey
4b62d77015 Moves inventoryGroupForm into shared directory
Updates InventoryGroups tests
Adds ContentError functionalist to catch a case where a use might navigate to an Inventory
that isn't associated to the shown inventoryGroup.
2019-12-13 14:20:56 -05:00
Alex Corey
ef5ce0b082 Flattens Inventory File Structure Remove 2019-12-13 14:20:56 -05:00
Alex Corey
1942be7dc3 Checks for modified and create in Inv Group Deets
Also includes refactoring for css over style prop and removed some
unnecessary loading checks
2019-12-13 14:20:56 -05:00
Alex Corey
210f9577b0 Fixed filename typo 2019-12-13 14:20:56 -05:00
Alex Corey
87a05a5b2e Testing Improvements and Refactoring 2019-12-13 14:20:56 -05:00
Alex Corey
f8a754cf44 Adds Alert Modal, Breadcrumb, Nested Tabs and Refactors PR. 2019-12-13 14:20:56 -05:00
Alex Corey
3ea37e1c79 Addresses PR issues
Adds Delete Modal for deleting from Details view
Adds test for delete modal
Addresses styling for Variables label
Removes X close button from form
2019-12-13 14:20:56 -05:00
Alex Corey
c997fcfc2c Adds Inventory Groups routing --sort of
Adds Inventory Groups Add
Adds Inventory Groups Edit
Adds Inventory Groups Form
Adds api module for Groups
Adds placeholder file for InventoryGroupsList.  This was added to refine routing.  Tgere are no tests for this file yet.
2019-12-13 14:20:56 -05:00
Ryan Petrello
a7a3609e48 only restrict OAuth2 tokens for external accounts *at creation time*
related: https://github.com/ansible/awx/pull/5477
2019-12-13 10:30:41 -05:00
softwarefactory-project-zuul[bot]
4dd4928aab Merge pull request #5495 from shanemcd/less-is-more-secure
Remove some unused stuff from k8s secret

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-13 14:06:50 +00:00
Nikhil Jain
93dda04fd0 fix the saml_admin_attr not working 2019-12-13 15:11:23 +05:30
softwarefactory-project-zuul[bot]
5aeaabaceb Merge pull request #5438 from jainnikhil30/devel
adding instance consumed and remaining capacity to metrics

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-13 08:27:38 +00:00
Nikhil Jain
0d4e6d7e0b do the sum once and store it in a variable which will be reused 2019-12-13 13:21:49 +05:30
Nikhil Jain
9ae038868c adding instance consumed and remaining capacity to metrics 2019-12-13 13:21:49 +05:30
Shane McDonald
0b4ae74698 Remove some unused stuff from k8s secret 2019-12-12 19:36:56 -05:00
softwarefactory-project-zuul[bot]
0d248a12bc Merge pull request #5493 from ryanpetrello/rekey-command
add an awx-manage command for re-generating SECRET_KEY

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-12 22:07:23 +00:00
Ryan Petrello
7396e2e7ac add an awx-manage command for re-generating SECRET_KEY 2019-12-12 16:19:20 -05:00
Ryan Petrello
cac3bece56 Merge pull request #4032 from ghjm/configurable_login_3.6.2
[3.6.2] Configurable login redirect
2019-12-12 15:43:58 -05:00
Ryan Petrello
e4145b580c fix a flake8 nit 2019-12-12 15:43:23 -05:00
Ryan Petrello
74076b99d6 Merge pull request #3998 from ryanpetrello/rekey-secret-key
[3.6.2] add an awx-manage command for re-generating SECRET_KEY
2019-12-12 15:25:15 -05:00
Marliana Lara
5d35506b0c Add Inventory Host Add form 2019-12-12 13:58:22 -05:00
softwarefactory-project-zuul[bot]
e646b46a2c Merge pull request #5479 from ghjm/configurable_login
Configurable login redirect

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-12 14:50:19 +00:00
mabashian
475e2605d4 Changes redirect logic slightly to lean on a global var to store the config response rather than a constant on the awApp module. This should allow us to avoid test changes. 2019-12-11 21:12:38 -05:00
mabashian
c16ad89ff9 Fix linting error (unused var) 2019-12-11 21:12:33 -05:00
mabashian
425d1168b9 Adds trailing slash to /api request 2019-12-11 21:12:26 -05:00
mabashian
7ceaa9ec4a Changes redirect logic slightly to lean on a global var to store the config response rather than a constant on the awApp module. This should allow us to avoid test changes. 2019-12-11 17:21:02 -05:00
mabashian
4b3d3537b4 Fix linting error (unused var) 2019-12-11 17:21:02 -05:00
mabashian
efbff24528 Adds trailing slash to /api request 2019-12-11 17:21:02 -05:00
mabashian
1d9ce6cc15 Moves config request out to block of code that gets executed before the app is bootstrapped. This should allow us to redirect to the override url before the app begins to render, improving the UX. 2019-12-11 17:21:02 -05:00
mabashian
794ce96b17 Reverts changes to logout logic. We don't want to redirect to an override url if the user explicitly logs out. 2019-12-11 17:21:02 -05:00
mabashian
181421a2ee Adds logic to redirect unauthenticated user if LOGIN_REDIRECT_OVERRIDE is set as long as the user is not navigating to /login or /#/login. Also redirects on logout if LOGIN_REDIRECT_OVERRIDE is set. 2019-12-11 17:21:02 -05:00
Graham Mainwaring
9c9496a683 Expose login redirect URL in unauthenticated /api view 2019-12-11 17:21:02 -05:00
Graham Mainwaring
2b111c81df Add /login convenience URL 2019-12-11 17:21:02 -05:00
mabashian
f467e26842 Adds login redirect override field to the System (Misc System) Settings interface 2019-12-11 17:21:02 -05:00
Graham Mainwaring
7700050d10 Add default for LOGIN_REDIRECT_OVERRIDE 2019-12-11 17:21:02 -05:00
Graham Mainwaring
a8d34b46fb Add setting for configurable login redirect URL 2019-12-11 17:21:02 -05:00
mabashian
bf6c16197c Moves config request out to block of code that gets executed before the app is bootstrapped. This should allow us to redirect to the override url before the app begins to render, improving the UX. 2019-12-11 11:39:11 -05:00
mabashian
25cc341888 Reverts changes to logout logic. We don't want to redirect to an override url if the user explicitly logs out. 2019-12-11 11:39:02 -05:00
mabashian
d899e75ad7 Adds logic to redirect unauthenticated user if LOGIN_REDIRECT_OVERRIDE is set as long as the user is not navigating to /login or /#/login. Also redirects on logout if LOGIN_REDIRECT_OVERRIDE is set. 2019-12-11 11:38:55 -05:00
Graham Mainwaring
732da52239 Expose login redirect URL in unauthenticated /api view 2019-12-11 11:38:45 -05:00
Graham Mainwaring
ab2f212b04 Add /login convenience URL 2019-12-11 11:38:36 -05:00
mabashian
f94438cf9b Adds login redirect override field to the System (Misc System) Settings interface 2019-12-11 11:38:31 -05:00
Graham Mainwaring
2569ec4f4f Add default for LOGIN_REDIRECT_OVERRIDE 2019-12-11 11:38:21 -05:00
Graham Mainwaring
b58bff4686 Add setting for configurable login redirect URL 2019-12-11 11:38:07 -05:00
softwarefactory-project-zuul[bot]
6fab3590ae Merge pull request #5408 from keithjgrant/5065-lookup-c
Lookup refactor

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-12-10 22:01:50 +00:00
Keith Grant
846fd67618 de-lint 2019-12-10 12:13:22 -08:00
Ryan Petrello
6254129f0d Merge pull request #4021 from beeankha/custom_email_approve_deny_fix
[3.6.2 Backport] Enable Approval-Related Email Notifications to Send Properly
2019-12-10 14:31:58 -05:00
Keith Grant
3409d39150 fix ProjectLookup re-renders 2019-12-10 11:09:11 -08:00
Keith Grant
9de165a676 revert MultiCredentialLookup loading jank fix 2019-12-10 11:09:11 -08:00
Keith Grant
f54616912d de-lint 2019-12-10 11:09:11 -08:00
Keith Grant
c003e89ea9 fix loading jank in MultiCredentialLookup 2019-12-10 11:09:11 -08:00
Keith Grant
6e64b5c070 clean up act() errors in form tests after Lookup changes 2019-12-10 11:09:11 -08:00
softwarefactory-project-zuul[bot]
fcfc34fef1 Merge pull request #5413 from beeankha/custom_email_approve_deny_fix
Enable Approval-Related Email Notifications to Send Properly

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-10 19:04:41 +00:00
Keith Grant
75b7d74f91 Lookup tweaks/bug fixes 2019-12-10 10:58:33 -08:00
Keith Grant
569b5bc533 clean up multiple test 'act()' warnings 2019-12-10 10:58:33 -08:00
Keith Grant
9ab9c6961b update Lookup tests, add OptionsList tests 2019-12-10 10:58:33 -08:00
Keith Grant
2e525f8922 update tests for CredentialLookup, OrgLookup, ProjectLookup 2019-12-10 10:58:33 -08:00
Keith Grant
9c6300c2de update MultiCredentialsLookup tests 2019-12-10 10:58:33 -08:00
Keith Grant
f8153393b1 fix minor lookup bugs 2019-12-10 10:58:33 -08:00
Keith Grant
cb07e9c757 convert all lookups to use new Lookup component 2019-12-10 10:58:33 -08:00
Keith Grant
639b297027 fix credential chips in SelectedList, MultiCredential cleanup 2019-12-10 10:58:32 -08:00
Keith Grant
4341d67fb0 add MultiCredentialsLookup select/deselect logic 2019-12-10 10:58:32 -08:00
Keith Grant
6260633974 flushing out new approach to MultiCredentialsLookup 2019-12-10 10:58:32 -08:00
Keith Grant
8ec856f3b6 start Lookup reducer 2019-12-10 10:58:32 -08:00
Keith Grant
5a207f155e WIP split Lookup into Lookup & CategoryLookup 2019-12-10 10:58:32 -08:00
Alex Corey
2a722ba8d0 Refactors Lookup 2019-12-10 10:58:32 -08:00
softwarefactory-project-zuul[bot]
efbd2177a5 Merge pull request #5449 from marshmalien/inv-groups-list
Add Inventory Groups and Groups Delete Modal

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-10 18:12:47 +00:00
softwarefactory-project-zuul[bot]
989e1ca5d6 Merge pull request #5477 from ryanpetrello/oauth-500
provide better HTTP responses for certain OAuth2 error scenarios

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-10 17:41:12 +00:00
Marliana Lara
4c89568d71 Apply radio selection to ALL selected groups in modal
* Use semantic html to describe modal list
* Move nested try/catch block
* Remove deprecated type fields
* If delete fails, keep selected list checked
2019-12-10 12:29:33 -05:00
softwarefactory-project-zuul[bot]
a9688ac805 Merge pull request #5471 from mabashian/5349-upgrade-angular-scheduler
Pull in latest version of our angular-scheduler fork to fix Tueday/Tuesday typo

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-10 17:25:35 +00:00
Ryan Petrello
12a8793ddb provide a better error for OAuth2 logins for external accounts
attempting to use an OAuth2 token as an externally authenticated user throws an HTTP 500 error when external oauth is disabled - this change improves that so it's a 401 Unauthorized instead.
2019-12-10 11:52:25 -05:00
softwarefactory-project-zuul[bot]
7bbf640389 Merge pull request #5450 from beeankha/tower_job_template_extra_vars
Add extra_vars Parameter to tower_job_template.py Module

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-10 16:32:24 +00:00
softwarefactory-project-zuul[bot]
cb6688c685 Merge pull request #5412 from appuk/apurva-new-ids
Add dataCy attribute

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-09 20:22:08 +00:00
Alan Rominger
266a4e71c5 Merge pull request #4027 from AlanCoding/ryan_hosts_36
[alan] use a computed inventory field for task impact math
2019-12-09 14:51:02 -05:00
softwarefactory-project-zuul[bot]
c29afce54d Merge pull request #5472 from AlanCoding/ryan_hosts
Use total_hosts for task impact for performance

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-09 18:07:58 +00:00
Jake Jackson
15041e57b2 sqaushed and fixed sanity test issues 2019-12-09 12:22:46 -05:00
Apurva Bakshi
eddee456b3 Add dataCy attribute to select-user-role and select-team-role buttons 2019-12-09 12:16:27 -05:00
AlanCoding
be5a12a318 Compute fields in smart task_impact tests 2019-12-09 11:46:12 -05:00
softwarefactory-project-zuul[bot]
e131e8c151 Merge pull request #5466 from jakemcdermott/hooks-organization-add
Migrate organization add to functional component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-09 16:07:50 +00:00
softwarefactory-project-zuul[bot]
d30ecaa7e3 Merge pull request #5468 from Spredzy/playbook_modern_syntax
ansible playbook: move to modern syntax

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-09 16:07:46 +00:00
AlanCoding
dfc4a0c0e0 Compute fields in smart task_impact tests 2019-12-09 10:59:59 -05:00
mabashian
86ba1639c3 Pull in latest version of our angular-scheduler fork to fix Tueday/Tuesday typo 2019-12-09 10:43:15 -05:00
Ryan Petrello
f1b4e24833 use a computed inventory field for task impact math
see: https://github.com/ansible/tower/issues/4022
2019-12-09 09:38:24 -05: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
Apurva Bakshi
eadcbe1ce9 Add the data-Cy attribute for having better selector for tests 2019-12-06 16:14:01 -05:00
softwarefactory-project-zuul[bot]
f0198105c4 Merge pull request #5460 from AlanCoding/fix_detached
Fix project sync errors when project branch is commit

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-06 20:04:21 +00:00
Jake McDermott
e34c7acdc4 Migrate organization add to functional component 2019-12-06 14:54:29 -05:00
Ryan Petrello
001d469bd0 Merge pull request #4026 from AlanCoding/fix_detached_36
[3.6.2] Fix project sync errors when project branch is commit
2019-12-06 14:33:10 -05:00
softwarefactory-project-zuul[bot]
a9e5981cfe Merge pull request #5464 from ryanpetrello/iso-check-timeout
fix a bug in isolated check timeout handling

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-06 19:21:08 +00:00
Ryan Petrello
b36b6978fb Merge pull request #4024 from ryanpetrello/iso-check-timeout-362
fix a bug in isolated check timeout handling
2019-12-06 14:00:05 -05:00
AlanCoding
55a19ffe6a Fix project sync errors when project branch is commit 2019-12-06 13:04:04 -05:00
Ryan Petrello
c4d358b870 use a computed inventory field for task impact math
see: https://github.com/ansible/tower/issues/4022
2019-12-06 12:56:18 -05:00
Ryan Petrello
5ae7df7757 fix a bug in isolated check timeout handling 2019-12-06 12:51:24 -05:00
Ryan Petrello
220168f5ee fix a bug in isolated check timeout handling 2019-12-06 12:44:50 -05:00
beeankha
3cc9139c6d Add a more specific assertion statement 2019-12-05 16:49:23 -05:00
softwarefactory-project-zuul[bot]
01161c7afd Merge pull request #5447 from jakemcdermott/fix-job-tab-placement
Update job redirects and tab placement

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-05 21:24:06 +00:00
beeankha
6d595cbda6 Add extra_vars parameter to tower_job_template module 2019-12-05 15:37:00 -05:00
AlanCoding
419d32d3e3 Fix project sync errors when project branch is commit 2019-12-05 14:26:24 -05:00
beeankha
334c63388b Revert original quotation mark configuration for non-approval default msg and body 2019-12-05 12:11:56 -05:00
beeankha
32f6f87463 Change quotation mark format for sconsistency and also to comply with qa tests 2019-12-05 12:11:50 -05:00
beeankha
0d92b2e703 Enable approval-related email notifications to send properly 2019-12-05 12:11:43 -05:00
Jake McDermott
bc6d879976 Merge pull request #4015 from mabashian/4013-backport-angular-upgrade
[3.6.2 backport] Upgrades angular and auxiliary deps to 1.7.9
2019-12-05 11:34:28 -05:00
Ryan Petrello
9bae9d32c7 Merge pull request #4020 from ryanpetrello/always_release_lock-3-6-2
fix situation were error happened before lock was released
2019-12-05 11:32:38 -05:00
Ryan Petrello
b5724adae5 fix situation were error happened before lock was released 2019-12-05 11:30:12 -05:00
softwarefactory-project-zuul[bot]
1048baa98c Merge pull request #5457 from AlanCoding/always_release_lock
Fix situation were error happened before lock was released

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-05 16:17:28 +00:00
AlanCoding
922ea67541 Fix situation were error happened before lock was released 2019-12-05 10:41:23 -05:00
softwarefactory-project-zuul[bot]
3d105e3b7a Merge pull request #5442 from rooftopcellist/translations
Remove outdated Zanata script as part of migration to Memsource

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-05 15:06:45 +00:00
softwarefactory-project-zuul[bot]
aceef98601 Merge pull request #5444 from dsesami/add-crypto-akit
Added cryptography to awxkit deps

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-05 14:46:49 +00:00
Christian Adams
d41322c63c Remove outdated Zanata translation script as part of migration to Memsource
- adds requirement for gettext to dev container for use by Memsource automation
2019-12-05 09:29:33 -05:00
beeankha
d6e5eb356b Revert original quotation mark configuration for non-approval default msg and body 2019-12-05 09:25:32 -05:00
beeankha
b46a2b43b0 Change quotation mark format for sconsistency and also to comply with qa tests 2019-12-05 09:25:23 -05:00
beeankha
6f54044cc6 Enable approval-related email notifications to send properly 2019-12-05 09:25:10 -05:00
Marliana Lara
5d1f322cd1 Add Inventory Groups list 2019-12-05 08:55:50 -05:00
Daniel Sami
c11a8b8ae1 added cryptography as optional awxkit dep
added cryptography as optional dep
2019-12-05 08:52:59 -05:00
mabashian
2d4df3d50e Fixes bug where permissions checkboxes had inverse effect after upgrading angular to 1.7.x. 2019-12-05 07:34:14 -05:00
softwarefactory-project-zuul[bot]
715483c669 Merge pull request #5379 from mabashian/ui-next-workflows
Workflows pt 1: The Rendering

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-04 23:52:06 +00:00
softwarefactory-project-zuul[bot]
30f65f38a7 Merge pull request #5436 from mabashian/upgrade-angular-1.7.9
Upgrades angular and auxiliary deps to 1.7.9

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-04 23:33:58 +00:00
softwarefactory-project-zuul[bot]
aaf093b0e0 Merge pull request #5451 from shanemcd/fix-project-dir-perms
Fix permissions on projects directory by pre-creating it

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-04 23:20:57 +00:00
mabashian
bd7248d21c Properly show template add button and options based on OPTIONS response on both job_templates and workflow_job_templates endpoints. 2019-12-04 17:58:56 -05:00
mabashian
9bdd49bec5 Adds translations for missing strings in Toolbar.jsx 2019-12-04 17:58:56 -05:00
mabashian
2506db88f2 Ellipsis workflow node names that are too long to fit on the node 2019-12-04 17:58:56 -05:00
mabashian
61c38eabf8 Revert inadvertent variable name changes in old ui app 2019-12-04 17:58:56 -05:00
mabashian
37a1e5d9b0 First pass workflow viz 2019-12-04 17:58:56 -05:00
Shane McDonald
c439a1ec8f Fix permissions on projects directory by pre-creating it
This broke after
f78c9f357d
but people seem to like this functionality so instead of reverting it we can do this.
2019-12-04 17:39:38 -05:00
softwarefactory-project-zuul[bot]
a1d110aac7 Merge pull request #5249 from wenottingham/BSD-stands-for-berkeley-system-d
Move to using systemd for service management.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-04 21:53:31 +00:00
Jake McDermott
c5e22f9aa3 Update job redirects and tab placement
Change display order of the output tab so that it is second and make
it the default for redirects and job launches.
2019-12-04 14:37:15 -05:00
softwarefactory-project-zuul[bot]
6dc5f91a0f Merge pull request #5445 from Spredzy/test_new_linter
Linters: test new linter job

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-04 19:31:15 +00:00
mabashian
8a9ebe2086 Fixes bug where permissions checkboxes had inverse effect after upgrading angular to 1.7.x. 2019-12-04 13:54:02 -05:00
mabashian
a859ecfbde Upgrades angular and auxiliary deps to 1.7.9 2019-12-04 13:54:02 -05:00
Bill Nottingham
02fd26520d Move to using systemd for service management. 2019-12-04 13:40:21 -05:00
Yanis Guenane
f8b2bcbae7 Linters: test new linter job
Depends-On: https://github.com/ansible/zuul-jobs/pull/40
2019-12-04 19:05:17 +01:00
softwarefactory-project-zuul[bot]
f5157784c4 Merge pull request #5440 from routenull0/inventory_misspelling
'install' was misspelled as 'isntall'

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-04 16:04:22 +00:00
mabashian
93b49f314d Upgrades angular and auxiliary deps to 1.7.9 2019-12-04 11:03:24 -05:00
Ryan Petrello
55d81cf74d Merge pull request #4012 from ryanpetrello/monkey-patch-oauth2-side-effect-362
fix an nuanced bug which can cause OAuth2 migrations to fail
2019-12-04 10:59:18 -05:00
softwarefactory-project-zuul[bot]
f629822596 Merge pull request #5437 from ryanpetrello/monkey-patch-oauth2-side-effect
fix an nuanced bug which can cause OAuth2 migrations to fail

Reviewed-by: Seth Foster
             https://github.com/fosterseth
2019-12-04 15:32:39 +00:00
routenull0
bf2a4d1a2c 'install' was misspelled as 'isntall' 2019-12-04 09:09:24 -06:00
Ryan Petrello
afadfa939d fix an nuanced bug which can cause OAuth2 migrations to fail 2019-12-04 09:55:55 -05:00
softwarefactory-project-zuul[bot]
02c3e1c32f Merge pull request #5420 from Spredzy/yamllint
yamllint: Make all files in awx pass yamllint

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-04 13:42:56 +00:00
Ryan Petrello
a0d20a5d50 fix an nuanced bug which can cause OAuth2 migrations to fail 2019-12-04 08:38:22 -05:00
softwarefactory-project-zuul[bot]
b8d27d53b8 Merge pull request #4988 from sjha4/inventory_foreman
Update foreman inventory to use foreman's inventory report

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-04 01:11:23 +00:00
softwarefactory-project-zuul[bot]
878659cded Merge pull request #5434 from jakemcdermott/fix-3882-3
Only show cred type test button to superusers.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-03 21:19:52 +00:00
softwarefactory-project-zuul[bot]
027ce7fbdb Merge pull request #5431 from chrismeyersfsu/revive-updater.sh
keep *-devel package in the dev container

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-03 20:38:21 +00:00
Jake McDermott
540f8ab7d6 Only show cred type test button to superusers.
Without a credential instance, plugin tests go through the credential
type (not credential) api. Since this endpoint is for superusers only,
we hide the test button when non-superusers are adding a new external
credential.
2019-12-03 15:23:02 -05:00
softwarefactory-project-zuul[bot]
0362c88e48 Merge pull request #5095 from jakemcdermott/fix-3882-cred-test-perms
Allow some non-superusers to test credential plugins

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-03 19:56:44 +00:00
chris meyers
129374a1c2 keep *-devel package in the dev container
* requirements/updater.sh does pip magic. In doing this magic, devel
system packages are required to download/install/build. This change
ensures those dev packages are available.
2019-12-03 14:31:09 -05:00
Jake McDermott
63fd546f44 Let cred admins and users test credential plugins 2019-12-03 13:36:18 -05:00
Ryan Petrello
9856c9154e Merge pull request #3999 from ryanpetrello/fix-system-jobs-362
fix a few bugs with the session and oauth2 cleanup scheduled jobs
2019-12-03 12:08:03 -05:00
Michael Abashian
e7a712394a Merge pull request #4001 from mabashian/backport-awx-5411
[3.6.2] Backport WFJT inventory rbac fix
2019-12-03 10:23:30 -05:00
Ryan Petrello
208e36f83b add an awx-manage command for re-generating SECRET_KEY 2019-12-02 18:07:22 -05:00
Shane McDonald
68a6984fcd Merge pull request #5422 from shanemcd/oc-ugh
Generic method of detecting k8s api version
2019-12-02 12:49:40 -05:00
Shane McDonald
a90e0e8834 Merge pull request #5425 from shanemcd/memcached-hostname
Fix memcached_hostname bug in k8s installs
2019-12-02 12:45:04 -05:00
Shane McDonald
8ab6a79b37 Fix memcached_hostname bug in k8s installs
Fallout from https://github.com/ansible/awx/pull/5340.
2019-12-02 12:36:57 -05:00
Shane McDonald
e68d576fd2 Generic method of detecting k8s api version
Related: https://github.com/ansible/awx/issues/5388
2019-12-02 11:45:20 -05: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
softwarefactory-project-zuul[bot]
1f628778bb Merge pull request #5418 from shanemcd/downstream-k8s-changes
Pull in downstream changes to k8s installer

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-12-02 13:44:29 +00:00
Shane McDonald
dcbb2813b5 Pull in downstream changes to k8s installer 2019-12-02 08:12:51 -05:00
Marliana Lara
9cdb281f06 Check inventory use permissions to disable workflow inventory lookup 2019-11-27 16:42:57 -05:00
softwarefactory-project-zuul[bot]
8116ec8e1f Merge pull request #5411 from marshmalien/5338-wf-inventory-lookup-permissions
Check inventory use permissions to disable workflow inventory lookup

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-27 19:18:55 +00:00
Ryan Petrello
c373420982 fix incorrect SystemJob.job_type choices 2019-11-27 12:37:24 -05:00
mabashian
93a9a0354f Adds missing semicolons to make linter happy 2019-11-27 12:37:21 -05:00
mabashian
ee6e28e066 Only show the days to keep input on the scheduler for system jobs that require it. Hides this field for cleaning up tokens and sessions. 2019-11-27 12:37:16 -05:00
Ryan Petrello
ea5d429399 fix a few bugs with the session and oauth2 cleanup scheduled jobs
see: https://github.com/ansible/tower/issues/3940
2019-11-27 12:37:10 -05:00
softwarefactory-project-zuul[bot]
3b49dd78bf Merge pull request #5392 from ryanpetrello/fix-system-jobs
fix a few bugs with the session and oauth2 cleanup scheduled jobs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-27 17:25:56 +00:00
Marliana Lara
42b019d8c8 Check inventory use permissions to disable workflow inventory lookup 2019-11-27 11:36:51 -05:00
Ryan Petrello
a1af4e1808 Merge pull request #3997 from ryanpetrello/fix-busted-tests-362
fix busted tests for 3.6.2
2019-11-27 09:22:39 -05:00
Ryan Petrello
ffdcb2f8eb fix busted tests 2019-11-27 08:37:30 -05:00
Ryan Petrello
7b5f4f51fb Merge pull request #3990 from AlanCoding/sanity_fixes_36
Fix duplicate exception sanity error
2019-11-27 08:35:52 -05:00
Ryan Petrello
25c2b9610a Merge pull request #3993 from ryanpetrello/fix-asgi-bug-362
bump asgi-amqp dependency
2019-11-27 08:03:05 -05:00
softwarefactory-project-zuul[bot]
5935583c4c Merge pull request #5409 from ryanpetrello/bump-asgi-amqp
bump asgi-amqp dependency

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-27 10:09:05 +00:00
Ryan Petrello
68f17eb370 bump asgi-amqp dependency 2019-11-26 23:33:24 -05:00
Ryan Petrello
1ad8a49155 bump asgi-amqp dependency 2019-11-26 23:29:50 -05:00
Ryan Petrello
47ed5ef848 fix incorrect SystemJob.job_type choices 2019-11-26 23:13:39 -05:00
mabashian
a56686ca77 Adds missing semicolons to make linter happy 2019-11-26 15:59:19 -05:00
softwarefactory-project-zuul[bot]
211786976d Merge pull request #5403 from AlanCoding/duplicate_except
Fix duplicate exception sanity error (and a few others)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-26 20:14:36 +00:00
mabashian
7e82f0fad7 Only show the days to keep input on the scheduler for system jobs that require it. Hides this field for cleaning up tokens and sessions. 2019-11-26 15:05:45 -05:00
softwarefactory-project-zuul[bot]
8612bf79e8 Merge pull request #5295 from rooftopcellist/analytics_user_agent
Add User-Agent to analytics upload POST

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-26 20:04:17 +00:00
softwarefactory-project-zuul[bot]
78edf51803 Merge pull request #5397 from rooftopcellist/consolidate_canceled
Make spelling of canceled consistent

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-26 19:55:53 +00:00
Ryan Petrello
632810f3a8 fix a few bugs with the session and oauth2 cleanup scheduled jobs
see: https://github.com/ansible/tower/issues/3940
2019-11-26 13:17:46 -05:00
AlanCoding
695eab1fdd fix duplicate exception sanity error 2019-11-26 09:47:07 -05:00
AlanCoding
081a0fc04e fix other assorted sanity failures 2019-11-26 09:45:54 -05:00
AlanCoding
48f10669d6 fix duplicate exception sanity error 2019-11-26 09:39:05 -05:00
Christian Adams
4f8b624b96 Make spelling of canceled consistent 2019-11-26 00:31:15 -05:00
softwarefactory-project-zuul[bot]
c87c0aa712 Merge pull request #5395 from AlanCoding/you_are_migrating
Raise specific exception if migration in progress

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-26 03:40:43 +00:00
Christian Adams
05e6f4ab3c Add User-Agent to analytics upload POST 2019-11-25 22:22:05 -05:00
AlanCoding
1a85874964 Raise specific exception if migration in progress 2019-11-25 21:48:05 -05:00
softwarefactory-project-zuul[bot]
6f2224c8e5 Merge pull request #5393 from shanemcd/fix-version-in-dev
Fix VERSION reported in dev container

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-25 22:36:22 +00:00
softwarefactory-project-zuul[bot]
57e155f0f9 Merge pull request #5396 from wenottingham/even-cleaner
Clean up some stuff in awxkit with `make clean`

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-25 21:40:50 +00:00
softwarefactory-project-zuul[bot]
a6924c1bcf Merge pull request #5394 from beeankha/fix_error
Make Integration Tests Pass w/ Manual SCM Type

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-25 21:10:42 +00:00
Bill Nottingham
4acb28f6f5 Clean up some stuff in awxkit with make clean 2019-11-25 15:55:22 -05:00
beeankha
3ed5d6ec65 Make integrations pass even with manual SCM type 2019-11-25 15:16:41 -05:00
Shane McDonald
15bcea7301 Fix VERSION reported in dev container 2019-11-25 12:56:49 -05:00
Shane McDonald
ce8c0066d0 Fix downstream tests
I backported how we do the VERSION detection in 3.5.something. This should
already be fixed upstream.
2019-11-25 12:55:18 -05:00
softwarefactory-project-zuul[bot]
bdd63f36a8 Merge pull request #5366 from marshmalien/inv-hosts-list
Inventory Host List

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-25 17:39:33 +00:00
Shane McDonald
24abc1462f Merge pull request #3985 from shanemcd/fix-cache
Fix Docker build caching
2019-11-25 11:41:33 -05:00
Shane McDonald
12363ae175 Fix Docker build caching
The flow will need to be:

- Pre-pull image you want to use
- Re-tag as image:$(COMPOSE_TAG)
- COMPOSE_TAG=mytag make docker-compose-build
2019-11-25 11:32:41 -05:00
Marliana Lara
1b50895738 Use short circuit operator in favor of ternary conditional 2019-11-25 11:17:37 -05:00
Ryan Petrello
1fbae00e37 Merge pull request #3983 from ryanpetrello/fix-3980
Remove usage of idle_timeout when checking status of isolated / containerized jobs
2019-11-25 11:15:35 -05:00
Samir Jha
b10a71786b Update foreman inventory to use foreman's inventory report 2019-11-25 10:48:54 -05:00
Ryan Petrello
0d659b0111 Merge pull request #3984 from ryanpetrello/fix-3978
Adds link to docs on container groups add/edit forms
2019-11-25 10:42:59 -05:00
softwarefactory-project-zuul[bot]
deb8714987 Merge pull request #5390 from ryanpetrello/downstream-security
merge in a few downstream fixes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-25 15:38:25 +00:00
mabashian
ee8775a08d Adds link to docs on container groups add/edit forms to match instance groups. Updates instance groups link. 2019-11-25 10:35:23 -05:00
Shane McDonald
31650bb0bd Remove usage of idle_timeout when checking status of isolated / containerized jobs 2019-11-25 10:31:33 -05:00
Ryan Petrello
cbf085ab43 move migrations to accomdate a downstream migration 2019-11-25 10:06:12 -05:00
Ryan Petrello
78d715efed merge downstream branch 2019-11-25 10:05:05 -05:00
softwarefactory-project-zuul[bot]
2cb5b0563b Merge pull request #5377 from dsesami/new-ids
Updated some selector attributes for E2E

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-25 14:00:50 +00:00
Daniel Sami
0eb55f5038 Updated contributing doc with notes about E2E 2019-11-22 15:24:35 -05:00
Daniel Sami
daf3bbc7ef Added E2E-friendly selectors to nav and jt details
lint

updated snapshot
2019-11-22 15:12:43 -05:00
softwarefactory-project-zuul[bot]
caa6d0c4d3 Merge pull request #5382 from shanemcd/take-your-time
Remove usage of idle_timeout when checking status of isolated / containerized jobs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-22 18:37:14 +00:00
softwarefactory-project-zuul[bot]
bc7ae4ca46 Merge pull request #5173 from AlanCoding/collection_credentials
Finish JT.credentials functionality, add test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-22 18:07:14 +00:00
Shane McDonald
db2316b791 Remove usage of idle_timeout when checking status of isolated / containerized jobs 2019-11-22 11:41:00 -05:00
softwarefactory-project-zuul[bot]
b7efd5a9ab Merge pull request #5332 from AlexSCorey/InventoryAdd/EditForm
Adds Add/Edit Inventory and Inventory Form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-22 16:00:35 +00:00
Alex Corey
83caf99c58 Improves Tests and addresses other PR Issues 2019-11-22 10:22:05 -05:00
softwarefactory-project-zuul[bot]
285fb2582e Merge pull request #5378 from AlanCoding/run_notes
Add notes for ./upgrade.sh

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-22 00:49:40 +00:00
Alex Corey
19180a1bc4 Adds Add/Edit Inventory and Inventory Form 2019-11-21 17:40:28 -05:00
AlanCoding
9c86f521e9 Add notes for ./upgrade.sh 2019-11-21 15:52:47 -05:00
David Moreau Simard
2171823846 Finish JT.credentials functionality, add test
Original commit:

commit 3ec6196477135230c4b90b175310bdc2eaff36ed
Author: David Moreau Simard <dmsimard@redhat.com>
Date:   Tue Oct 23 22:21:33 2018 -0400

    Add support for "credentials" in the tower_job_template module

    Job templates might require more than one credential.
    There's credential, vault_credential, machine_credential, etc.
    "credentials" is a thing, let's support it.
2019-11-21 14:30:08 -05:00
softwarefactory-project-zuul[bot]
c4143b0111 Merge pull request #5373 from rooftopcellist/rm_analytics_values
Set default values for analytics settings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-21 18:21:40 +00:00
Christian Adams
94fa4deab3 Set default values for analytics settings 2019-11-21 12:29:15 -05:00
softwarefactory-project-zuul[bot]
53aadd3b96 Merge pull request #5372 from mabashian/ig-docs-links
Instance groups links to docs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-21 17:08:21 +00:00
Marliana Lara
faa0802d97 Update breadcrumb and fetch new hosts when url changes 2019-11-21 11:36:18 -05:00
Marliana Lara
fa144aa98f Add Inventory Host list and unit tests
* Add Inventory Host Add route
* Fix host disabled loading switch bug
2019-11-21 11:36:17 -05:00
Marliana Lara
ea4e98c52a Move Switch into shared component directory and update tests 2019-11-21 11:36:12 -05:00
mabashian
8ff413efc0 Adds link to docs on container groups add/edit forms to match instance groups. Updates instance groups link. 2019-11-21 11:05:06 -05:00
softwarefactory-project-zuul[bot]
804a3c17bf Merge pull request #5354 from wenottingham/isolation-desolation--let-it-go
Remove obsolete requirements file.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-21 13:35:09 +00:00
softwarefactory-project-zuul[bot]
da5eb710cd Merge pull request #5358 from ilijamt/patch-1
Allow deployments on Kubernetes version 1.16

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-21 13:27:15 +00:00
softwarefactory-project-zuul[bot]
57f9b31b2b Merge pull request #5163 from AlanCoding/custom_venv
Add custom virtualenv param to various modules

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-21 11:45:19 +00:00
softwarefactory-project-zuul[bot]
34ba858e3b Merge pull request #5191 from AlanCoding/tower_group_id
Make tower_group idempotent

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-21 04:26:16 +00:00
AlanCoding
5e24cee0ae Add custom_virtualenv param to inventory source and tests 2019-11-20 22:39:12 -05:00
Mathieu Mallet
a026838f77 ansible_tower: Add custom_virtualenv attribute when applicable (#60200)
In Ansible Tower/AWX, there are three kinds of objects that can be tied
to custom python virtual environment:
  - job template
  - project
  - organization

This patch updates the three ansible modules that creates those objects
so that the 'custom_virtualenv' attribute can be set if specified.

Testing Done: via a playbook, test organization, projet then template creation
without any 'custom_virtualenv' attribute specified. Check that the
resources get created and that their python env is set to default. Then
re-do the same test but this time with the 'custom_virtualenv' attribute
specified. Ensure in AWX UI that those resources have the right
'custom_virtualenv' set.
2019-11-20 22:35:25 -05:00
Ilija Matoski
e2cd86089b Allow deployments on Kubernetes version 1.16 2019-11-20 23:54:10 +01:00
softwarefactory-project-zuul[bot]
85d5387f31 Merge pull request #5350 from svenstaro/patch-1
Use more modern version of OpenShift client

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-20 21:56:42 +00:00
softwarefactory-project-zuul[bot]
cf13a1b70a Merge pull request #5359 from martin-adema/devel
Configurable image registry and service account for Postgres deployment.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-20 21:25:19 +00:00
softwarefactory-project-zuul[bot]
fed6a86170 Merge pull request #5194 from AlanCoding/inventory_organization
Add organization parameter to tower_inventory_source (and add test logging)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-20 18:23:27 +00:00
softwarefactory-project-zuul[bot]
c8907fb39d Merge pull request #5362 from beeankha/fix_typo
Fix Typo for Project Option

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-20 16:48:00 +00:00
softwarefactory-project-zuul[bot]
162e4aeec4 Merge pull request #5361 from mabashian/logout-id
Adds id attribute to logout button

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-20 16:15:53 +00:00
beeankha
c6d2fa86c7 Fix typo under 'options' 2019-11-20 11:15:18 -05:00
mabashian
f89db3586b Adds id attribute to logout button 2019-11-20 10:42:37 -05:00
softwarefactory-project-zuul[bot]
19742859b6 Merge pull request #5343 from beeankha/wait_for_project_sync
Make tower_project.py Wait for Project Sync

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-20 15:22:56 +00:00
beeankha
eff46dbc71 Make playbook wait for project sync...
...*before* running the associated job template.

Set "wait" default to True so CI doesn't time out

Change default back to "False", put in new "if"...

...block, explicitly set "wait" to "False" in test file.

Change if block

Update README

Update 'wait' option description
2019-11-20 08:43:19 -05:00
Martin Adema
80b75a163a Configurable image registry and service account for Postgres deployment. 2019-11-20 14:15:59 +01:00
Bill Nottingham
fe65073f3e Remove obsolete requirements file. 2019-11-19 16:44:55 -05:00
softwarefactory-project-zuul[bot]
6f2b10daf5 Merge pull request #5344 from AlanCoding/remove_git
Remove forks no longer needed from dependencies

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-19 21:31:24 +00:00
softwarefactory-project-zuul[bot]
ad3d89afd3 Merge pull request #5340 from eb4x/memcached_hostname
Consistent naming scheme; memcached_host -> memcached_hostname

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-19 16:43:20 +00:00
softwarefactory-project-zuul[bot]
e3c2c310ef Merge pull request #5352 from ryanpetrello/more-downstream-fixes
merge in a few downstream fixes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-19 15:19:36 +00:00
Ryan Petrello
c574cdc7dc fix busted tests 2019-11-19 09:21:04 -05:00
Ryan Petrello
097b59e74a fix a bug that broken custom approval notification messages 2019-11-19 08:55:26 -05:00
Alan Rominger
8e7d607a47 Only turn off Galaxy cert verification via toggle (#3933) 2019-11-19 08:54:40 -05:00
Sven-Hendrik Haase
4c32faa448 Use more modern version of OpenShift client
3.9 is pretty old by now.
2019-11-19 13:29:06 +01:00
Ryan Petrello
17509d560d Merge pull request #3955 from AlanCoding/lets_release
Backport collection fixes
2019-11-18 16:25:04 -05:00
AlanCoding
7b1b656455 Remove forks no longer needed from dependencies 2019-11-18 15:39:39 -05:00
Ryan Petrello
268b22c550 Merge pull request #3953 from ryanpetrello/more-container-group-fixes
[3.6.1] fix a few bugs related to container group execution
2019-11-18 14:27:18 -05:00
Ryan Petrello
b525d0a6f4 Merge pull request #3967 from ryanpetrello/fix-cli-doc-typos
fix a typo in the CLI usage docs
2019-11-18 11:26:24 -05:00
softwarefactory-project-zuul[bot]
c7cabfa785 Merge pull request #5206 from keithjgrant/4966-project-auto-select
make ProjectLookup auto-select project if only one found

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-18 16:23:38 +00:00
Ryan Petrello
9c2797b34c fix a typo in the CLI usage docs 2019-11-18 11:21:34 -05:00
Ryan Petrello
732f7d2292 Merge pull request #3962 from ryanpetrello/license-pass
don't set rh_username and rh_password in the license upload
2019-11-18 11:03:36 -05:00
Erik Berg
f5fc0871fc Consistent naming scheme; memcached_host -> memcached_hostname
environment.sh uses hostname for everything, and both environment and
credentials provide a default of 'memcached', so this should also be one less
variable to care about.
2019-11-18 15:22:12 +00:00
Ryan Petrello
9458741b72 don't set rh_username and rh_password in the license upload 2019-11-18 10:02:31 -05:00
softwarefactory-project-zuul[bot]
a1f7f967e3 Merge pull request #5339 from eb4x/rabbitmq_hostname
Consistent naming scheme; rabbitmq_host -> rabbitmq_hostname

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-18 14:38:25 +00:00
Erik Berg
91c78d7137 Consistent naming scheme; rabbitmq_host -> rabbitmq_hostname
environment.sh uses hostname for everything, and both environment and
credentials provide a default of 'rabbitmq', so this should be one less
variable to care about.
2019-11-18 13:46:43 +00:00
softwarefactory-project-zuul[bot]
b88f4ce27c Merge pull request #5325 from AlanCoding/inputs_inputs
Delay inputs comparision to after field validation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-16 01:30:36 +00:00
softwarefactory-project-zuul[bot]
e8606d9478 Merge pull request #5301 from AlanCoding/galaxy_ignore
Add ignore list for Ansible 2.10

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-16 01:22:53 +00:00
softwarefactory-project-zuul[bot]
90d38a50de Merge pull request #5313 from fosterseth/fix-5044-azureinventory
Fix filtering azure inventory based on user-specified tags

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-15 21:51:09 +00:00
softwarefactory-project-zuul[bot]
a83164cca6 Merge pull request #5336 from shanemcd/note-on-upgrading
Add note on upgrading to install.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-15 20:58:05 +00:00
Seth Foster
e1e7e9047d Fix filtering azure inventory based on user-specified tags
Users can specify a list of keys, or a list of key:value pairs under
source variables. e.g. tags: Creator, peanutbutter or tags:
Creator:jmarshall, peanutbutter:jelly. If provided, only hosts that have
all keys or key:value pairs in the list will be returned.

inventory.py sets up the azure_rm.yml that provides
exclude_host_filters. This code adds a line for each key in the list, as
well as an additional line in the case of a key:value pair.

e.g.

exclude_host_filters:
- "'Creator' not in tags.keys()"
- tags['Creator'] != 'jmarshall'

Each line is a conditional, and if any conditionals is true, then the
host is filtered out.

fix for issue # 5044
2019-11-15 14:18:20 -05:00
Shane McDonald
094eef635d Fix typo 2019-11-15 14:17:08 -05:00
Shane McDonald
56bb82e303 Fix ordering 2019-11-15 14:14:54 -05:00
Shane McDonald
0290dd3246 Regenerate table of contents 2019-11-15 14:11:10 -05:00
Shane McDonald
de8c46cab0 Remove obsolote docker-compose instructions 2019-11-15 14:04:05 -05:00
Shane McDonald
9028a48ab2 Add a note on upgrading 2019-11-15 14:03:46 -05:00
Shane McDonald
709fa74070 Fix verbiage in INSTALL.md 2019-11-15 14:01:28 -05:00
softwarefactory-project-zuul[bot]
5342faa997 Merge pull request #5333 from m33k/JoeR/docker_module_update
CHANGED: docker_service to docker_compose

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-11-15 17:31:16 +00:00
Joe
f0865d69f0 CHANGED: docker_service to docker_compose
Signed-off-by: Joe <11597133+m33k@users.noreply.github.com>
2019-11-15 16:28:05 +00:00
AlanCoding
ddf9fd581e Run and fix all sanity tests 2019-11-14 20:56:06 -05:00
James Vornhagen
b6745db4b8 update documentation example
missing k in workflow.

- Docs Pull Request

+label: docsite_pr
2019-11-14 20:56:05 -05:00
AlanCoding
35a565d09f In tower_job_wait intentionally fail module for failure 2019-11-14 20:56:05 -05:00
AlanCoding
b878aed400 Add test coverage for launch with multiple prompted creds 2019-11-14 20:56:04 -05:00
AlanCoding
1961a8ba15 Fix and test for warning when creating project 2019-11-14 20:56:04 -05:00
Hideki Saito
b76018d6e0 Fix multibyte character handling issue for tower_job_wait #55585
Add multibyte hostname handling test as an integration test

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-11-14 20:56:04 -05:00
AlanCoding
a40398e6a1 Remove sanity exceptions no longer needed 2019-11-14 20:56:03 -05:00
AlanCoding
97e2fbbe27 Add collection test coverage for creating vault credential 2019-11-14 20:56:03 -05:00
Mathieu Mallet
bcbad06c10 tower_credential: Missing 'kind' attribute (#61324)
In the 'tower_credential' module, when the credential 'kind' is set to
'vault', the code expects the other parameter 'vault_id' to be set.
Unfortunately, in the module 'credential_type_for_v1_kind' method, the
'kind' parameter is popped, i.e. remove from the module dict of
parameters leading to the following error:

> Parameter 'vault_id' is only valid if parameter 'kind' is specified as
'vault'

Fixes: #45644, #61324

Testing Done: Manually create a playbook with a task as follow
  - name: Create vault with ID 'bar' exists
    tower_credential:
      name: Foobar vault
      organization: Foobar
      kind: vault
      vault_id: bar
      vault_password: foobar
2019-11-14 20:55:59 -05:00
AlanCoding
1c74773eac Delay inputs comparision to after field validation 2019-11-14 20:28:33 -05:00
softwarefactory-project-zuul[bot]
9701ac1804 Merge pull request #5329 from AlanCoding/rm_another_ignore
Run and fix all sanity tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-14 21:25:44 +00:00
softwarefactory-project-zuul[bot]
3d90c6dfcf Merge pull request #5319 from AlanCoding/just_one_letter
Update documentation example

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-14 19:48:26 +00:00
AlanCoding
1402a2c8a5 Run and fix all sanity tests 2019-11-14 14:45:16 -05:00
softwarefactory-project-zuul[bot]
6567ad612c Merge pull request #5170 from AlanCoding/py2_fix2
Fix multibyte character handling issue for tower_job_wait #55585

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-14 19:33:50 +00:00
Ryan Petrello
a15bf9ee41 fix a few bugs related to container group execution
see: https://github.com/ansible/awx/issues/5326
2019-11-14 14:00:48 -05:00
softwarefactory-project-zuul[bot]
da448f6a0b Merge pull request #5327 from ryanpetrello/more-container-group-fixes
fix a few bugs related to container group execution

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-14 18:59:06 +00:00
Ryan Petrello
513f54a422 fix a few bugs related to container group execution
see: https://github.com/ansible/awx/issues/5326
2019-11-14 13:23:38 -05:00
softwarefactory-project-zuul[bot]
05d9220b21 Merge pull request #5312 from ryanpetrello/322-migration-cleanup
remove a number of now-unnecessary 3.2 migrations

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-14 17:34:28 +00:00
softwarefactory-project-zuul[bot]
9bb9bc682f Merge pull request #5320 from shanemcd/rabbitmq-bump
Bump RabbitMQ version in k8s/openshift installs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-14 13:43:23 +00:00
Shane McDonald
1d6f116687 Bump RabbitMQ version in k8s/openshift installs
See https://github.com/ansible/awx-rabbitmq/pull/13
2019-11-14 08:01:35 -05:00
James Vornhagen
9a9d53d17a update documentation example
missing k in workflow.

- Docs Pull Request

+label: docsite_pr
2019-11-13 22:00:18 -05:00
softwarefactory-project-zuul[bot]
755ffc9844 Merge pull request #5309 from marshmalien/remove-awx-pf-chip
Swap our Chip & ChipGroup components out for PatternFly components

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-13 21:04:30 +00:00
softwarefactory-project-zuul[bot]
0ffbb06427 Merge pull request #5315 from ryanpetrello/hostname-prevent-jinja
prevent the creation of Host names that contain Jinja

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-13 19:08:08 +00:00
Marliana Lara
c13c5b6c13 Hide overflow chip in filter tags component 2019-11-13 13:45:50 -05:00
Ryan Petrello
70979df36a prevent the creation of Host names that contain Jinja 2019-11-13 13:15:36 -05:00
Ryan Petrello
83ee39cabd remove a number of unnecessary 3.2 migrations 2019-11-13 11:46:24 -05:00
softwarefactory-project-zuul[bot]
b0d31a64aa Merge pull request #5288 from AlexSCorey/5270-InventoryAddLinks
Adds AddDropDownButton removes TemplateAddButton

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-12 21:08:56 +00:00
softwarefactory-project-zuul[bot]
06c53c14be Merge pull request #5233 from rebeccahhh/devel
Set policy variables to defaults when an instance group is containerized

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-12 19:55:41 +00:00
softwarefactory-project-zuul[bot]
a63778e40e Merge pull request #5212 from AlanCoding/project_tags
Use tags to reduce project update output

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-12 19:15:11 +00:00
Rebeccah
6f38edf9a3 add in testing to see that when an instance group is containerized that the policy field values are set to default 2019-11-12 13:13:34 -05:00
Rebeccah
1f05372ac9 change the logic to not break existing policy_instance testing 2019-11-12 13:13:34 -05:00
Rebeccah
d0327fc044 added onto the when saved function for instance groups that sets policy variables to their default. 2019-11-12 13:13:34 -05:00
Jake McDermott
068dab14d4 Increase async test timeout
When our CI system is overloaded, tests start running slower.
2019-11-12 13:04:00 -05: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
Marliana Lara
7cc0041aa8 Remove our implementation of Chip and ChipGroup in favor of PatternFly's component 2019-11-12 12:44:56 -05:00
Shane McDonald
f66f24eb83 Merge pull request #4107 from gizero/docker-compose-fix-create_preload_data
ensure "create_preload_data" is honored in docker-compose deployments
2019-11-12 11:44:15 -05:00
Alex Corey
e3ee3c5a00 Fixes failing tests 2019-11-12 11:11:17 -05:00
Andrea Galbusera
1198c067b2 ensure "create_preload_data" is honored in docker-compose deployments
Use a templated version of launch_awx_task.sh which conditionally preloads
sample data according to create_preload_data value.
2019-11-12 10:44:27 -05:00
softwarefactory-project-zuul[bot]
d3ea09d60c Merge pull request #4819 from dgiorgio/devel
Fix docker-compose - Use variables to set docker postgres tag

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-12 15:34:46 +00:00
softwarefactory-project-zuul[bot]
c0abb063f9 Merge pull request #5001 from khawaga/kubernetes_ingress_tls
Kubernetes Ingress TLS support

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-12 15:34:40 +00:00
Alex Corey
95cdddd670 Adds Proptypes to AddDropDownButton Component
Also refactors to use the url that is passed in as the key for the link.
This means that we don't have to pass in a key value.
2019-11-12 10:21:10 -05:00
Alex Corey
d91aa8c6cf Allows AddDropDownButton components to accept array of dropdownItems 2019-11-12 10:21:10 -05:00
Alex Corey
052f101a70 Adds AddDropDownButton removes TemplateDropDown Button
Both Inventory List and Template List use the same add button that has a drop down.
I decided to make a component that both can use.
This also addresses a typo in a InventoryList test.
2019-11-12 10:21:10 -05:00
AlanCoding
c96e88877f Add ignore list for Ansible 2.10 2019-11-11 22:07:22 -05:00
softwarefactory-project-zuul[bot]
1564dfc80f Merge pull request #5272 from marshmalien/project-manual-subform
Add project manual subform

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-11 21:43:58 +00:00
softwarefactory-project-zuul[bot]
b0cb3ca9da Merge pull request #5297 from mabashian/eslint-plugin-react-hooks
Adds eslint-plugin-react-hooks as a dev dep

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-11 21:05:27 +00:00
softwarefactory-project-zuul[bot]
84b5fb89a3 Merge pull request #5296 from rayterrill/patch-1
Update custom_virtualenvs.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-11 20:59:09 +00:00
Marliana Lara
5319659d58 Address PR feedback
* Set local_path default value to empty string
* Make playbook directory required
* Update unit tests
2019-11-11 15:38:52 -05:00
softwarefactory-project-zuul[bot]
5d27c28b47 Merge pull request #5255 from mabashian/ui-next-users-list
Adds Users list, forms and details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-11 20:04:05 +00:00
mabashian
68a6315626 Adds react-hooks eslint rules and fixes a few warnings 2019-11-11 14:56:25 -05:00
mabashian
8bfbd85cf9 Adds eslint-plugin-react-hooks as a dev dep 2019-11-11 14:25:04 -05:00
Ray Terrill
f7b6d9fdff Update custom_virtualenvs.md
Adding trailing slashes to API calls + directories. This caused me a ton of wasted time as the API call silently returns but does nothing without the trailing slash.
2019-11-11 11:05:16 -08:00
mabashian
ab4fba7ce9 Address PR feedback. Refactors a bit of unit test coverage to move away from testing state. Re-organized some of the structure of the user list tests to be slightly more efficient. 2019-11-11 11:57:39 -05:00
mabashian
deb6e58397 Adds Users list, forms and details. Adds password form field. 2019-11-11 10:43:56 -05:00
softwarefactory-project-zuul[bot]
4746bc7c09 Merge pull request #5119 from mabashian/ui-next-teams
Adds basic teams list and add/edit forms

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-08 21:28:04 +00:00
mabashian
823a74c98b Prettier 2019-11-08 14:18:44 -05:00
mabashian
c294a63f32 Updates a couple of team list checkbox tests to test the UI rather than state/props internals. Fixes bug where select all was selected on load. 2019-11-08 12:44:45 -05:00
mabashian
84bce530dc Adds organization field to team form. Adds edit button to team list items. 2019-11-08 12:44:45 -05:00
mabashian
6acd3c98b7 Updates stale copy pasta. Org -> Team 2019-11-08 12:44:45 -05:00
mabashian
1e80b2e295 Adds basic teams list and add/edit forms. The edit button on the list rows and the org lookup in the form are both missing and will be added in a later commit. 2019-11-08 12:44:45 -05:00
Marliana Lara
e4721d7722 Add project manual scm type subform 2019-11-07 13:30:30 -05:00
softwarefactory-project-zuul[bot]
0cea8121bb Merge pull request #5204 from AlexSCorey/5106-MissingOrDeletedFields
Adds `Deleted` text to missing resources in JT Details View

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-07 15:41:35 +00:00
Shane McDonald
eaac54040c Merge pull request #5192 from shanemcd/local-projects
Mount local projects directory inside of dev container.
2019-11-07 07:35:45 -05:00
Shane McDonald
763ac25b2e Merge pull request #5253 from shanemcd/stop-requiring-pg-admin-when-we-dont-need-it
Dont require pg_admin_password unless we're using it.
2019-11-06 14:20:55 -05:00
Shane McDonald
922723cf39 Merge pull request #5220 from JensPfeifle/patch-1
Update required Ansible version to 2.8+
2019-11-06 11:36:37 -05:00
softwarefactory-project-zuul[bot]
f216c8f90f Merge pull request #5180 from mabashian/ui-next-hosts
Add host list, add/edit forms, and details

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-11-06 15:23:06 +00:00
mabashian
4e31bdd2d2 Removes changes to serializer that added type to host recent jobs. Addresses Switch styling issues on host list items. 2019-11-06 09:35:45 -05:00
mabashian
d5e9716ceb Move CardHeader styled component(s) outside of render functions. Refactors host options calls out to it's own function. 2019-11-06 09:35:45 -05:00
mabashian
01963b0ee7 Add host list, add/edit forms, and details 2019-11-06 09:35:45 -05:00
softwarefactory-project-zuul[bot]
a353f2a807 Merge pull request #5250 from jakemcdermott/fix-5234
fix flakey test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-06 14:29:33 +00:00
Jake McDermott
69205c5f6b try a higher timeout ¯\_(ツ)_/¯
https://github.com/ansible/awx/issues/5234
https://github.com/ansible/awx/pull/5250
2019-11-06 08:24:35 -05:00
softwarefactory-project-zuul[bot]
941bba2ae0 Merge pull request #5252 from marshmalien/4299-fix-twbs-right-margin
Fix right side <body> spacing bug

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-05 23:06:08 +00:00
Ryan Petrello
ddccfaa6fe Merge pull request #5251 from ryanpetrello/py-tee-zee
update pytz to the latest version
2019-11-05 16:54:01 -05:00
Shane McDonald
24da2b78b8 Dont require pg_admin_password unless we're using it. 2019-11-05 15:26:48 -05:00
Marliana Lara
6fee0db17b Fix right margin and padding to 0px on body el 2019-11-05 14:48:04 -05:00
Ryan Petrello
b25fbc5266 update pytz to the latest version 2019-11-05 13:53:28 -05:00
softwarefactory-project-zuul[bot]
e6235a4046 Merge pull request #5225 from marshmalien/project-edit
Add Project Edit form

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
             https://github.com/marshmalien
2019-11-05 18:21:55 +00:00
Marliana Lara
0f32161df0 Pull credential api request outside of ProjectEdit 2019-11-05 12:40:34 -05:00
Alex Corey
b570c8ad2a Fixes linting issues 2019-11-04 16:26:01 -05:00
Alex Corey
9170aa184a Removes missingDetail prop and addresses a typo.
This removes `missingDetail` prop in favor of using styledComponent's className prop.
2019-11-04 14:42:00 -05:00
softwarefactory-project-zuul[bot]
68c26014cc Merge pull request #5226 from ryanpetrello/sphinx-busted
fix broken sphinx docs build

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-04 18:28:03 +00:00
Ryan Petrello
f049b61460 Merge pull request #3937 from ryanpetrello/approval-notification-bug
fix a bug that broken custom approval notification messages
2019-11-04 13:02:37 -05:00
Ryan Petrello
458ca69405 fix a bug that broken custom approval notification messages 2019-11-04 13:01:50 -05:00
Shane McDonald
8a4c85e473 Merge pull request #5231 from shanemcd/bump-version-9.0.1
Bump version to 9.0.1
2019-11-04 11:23:13 -05:00
Shane McDonald
09d883f94a Bump version to 9.0.1 2019-11-04 11:20:42 -05:00
Shane McDonald
9ef57ec510 Merge pull request #5227 from shanemcd/more-downstream-k8s-fallout-sorry-folks
More downstream k8s fallout, sorry folks
2019-11-04 11:19:15 -05:00
Shane McDonald
5be006f9d3 Merge pull request #5229 from shanemcd/setuid-bwrap
Set setuid bit on bwrap
2019-11-04 11:18:57 -05:00
Shane McDonald
089bafa5d4 Set setuid bit on bwrap
Related: https://github.com/ansible/awx/issues/5224
2019-11-04 11:10:09 -05:00
Shane McDonald
fa278f83ad Fix k8s installs using external db 2019-11-04 09:35:11 -05:00
Shane McDonald
0d68ca8f14 Allow for overriding container groups image from k8s installer 2019-11-04 09:35:03 -05:00
Ryan Petrello
2ec90f17d0 fix broken sphinx docs build 2019-11-04 09:32:04 -05:00
Marliana Lara
ecf340f722 Add Project Edit test coverage 2019-11-04 09:16:31 -05:00
Shane McDonald
713079bd70 Merge pull request #5218 from shanemcd/fix-k8s-nginx
Fix broken k8s installs
2019-11-04 08:57:48 -05:00
Marliana Lara
d77040a7a9 Add Project Edit form and refactor how the form handles credentials 2019-11-03 21:28:10 -05:00
Shane McDonald
d3b137fbc4 Fix broken k8s installs
Related: https://github.com/ansible/awx/issues/5205

The following commit introduced this bug:
712b07c136 (diff-a2ef2d6347894a92a6b882e3793fb06c)
2019-11-03 16:03:19 -05:00
JensPfeifle
857faf570d Update required Ansible version to 2.8+
Attempting to build the docker image with Ansible 2.5.1 results in the following error:
```
TASK [image_build : Build sdist builder image] *******************************************************************************************
fatal: [localhost -> localhost]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (docker_image) module: build, force_source, source Supported parameters include: api_version, archive_path, buildargs, cacert_path, cert_path, container_limits, debug, docker_host, dockerfile, filter_logger, force, http_timeout, key_path, load_path, name, nocache, path, pull, push, repository, rm, ssl_version, state, tag, timeout, tls, tls_hostname, tls_verify, use_tls"}                                                                                 
```
The `force_source` parameter was added to docker_image in Ansible 2.8 (![source](https://docs.ansible.com/ansible/latest/modules/docker_image_module.html)).
2019-11-03 19:03:40 +01:00
softwarefactory-project-zuul[bot]
5246c842b2 Merge pull request #5203 from keithjgrant/warnings-cleanup
Cleanup console warnings/refactor

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-01 19:29:22 +00:00
softwarefactory-project-zuul[bot]
1dca4c9098 Merge pull request #5198 from AlanCoding/no_symlink
Remove venv symlink hack no longer needed

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2019-11-01 15:36:39 +00:00
softwarefactory-project-zuul[bot]
8cb32045f0 Merge pull request #5127 from marshmalien/project-add-form
Project add form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-01 15:13:51 +00:00
softwarefactory-project-zuul[bot]
4962b729de Merge pull request #5199 from ryanpetrello/uuid-not-unique
make the callback receiver more robust to duplicate UUIDs from ansible

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-01 15:11:22 +00:00
softwarefactory-project-zuul[bot]
ed39a127e7 Merge pull request #5200 from ryanpetrello/quiet-celery
get rid of a loud celery error in the dev environment

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-01 15:06:00 +00:00
AlanCoding
c4b4a4c21a Remove venv symlink hack no longer needed 2019-11-01 09:46:27 -04:00
Ryan Petrello
bd81fda05c get rid of a loud celery error in the dev environment 2019-11-01 09:25:41 -04:00
Ryan Petrello
83550eeba0 make the callback receiver more robust to duplicate UUIDs from ansible 2019-11-01 09:24:52 -04:00
softwarefactory-project-zuul[bot]
4540cb653e Merge pull request #5208 from shanemcd/locale-fix
Install missing locales in dev container image.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-01 13:24:11 +00:00
Shane McDonald
69597c5654 Sync Dockerfiles 2019-11-01 08:38:37 -04:00
Shane McDonald
fa61aef194 Install missing locales in dev container image. 2019-11-01 08:29:11 -04:00
Alan Rominger
871d87374b Only turn off Galaxy cert verification via toggle (#3933) 2019-10-31 22:56:48 -04:00
softwarefactory-project-zuul[bot]
e35f6b2acb Merge pull request #5202 from shanemcd/fix-docker-cache
Fix docker cache

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-31 23:32:11 +00:00
Keith Grant
b3e056fe55 make ProjectLookup auto-select project if only one found 2019-10-31 16:01:33 -07:00
Marliana Lara
a8140e86d7 Encapsulate each scm type subform in its own component 2019-10-31 19:00:55 -04:00
Alex Corey
e5b76c6427 Adds Deleted text to missing resources in JT Detials View
The usecase of this change is if a user deletes an Inventory, or a Project
that is used by a JT they need to know that those resources are missing.

The only time that `Deleted` won't be shown for a missing resource is for
Inventory if it has been marked Prompt on Launch then nothing is shown. in that field.

Also adds icon to indicate that a JT is missing resources on the JT List.
2019-10-31 18:02:13 -04:00
Shane McDonald
4d4ae84e32 Fix docker cache
This was causing the cache to miss on some docker versions, in addition to
throwing a warning that says it will break soon.
2019-10-31 16:57:17 -04:00
Marliana Lara
ae349addfe Resolve credential type id and retrieve scm_type choices from OPTIONS 2019-10-31 16:38:32 -04:00
Marliana Lara
31fdd5e85c Add scm refspec to project detail and remove org id from top level shared component 2019-10-31 16:38:32 -04:00
Marliana Lara
e4bde24f38 Add project add form and tests 2019-10-31 16:38:32 -04:00
Marliana Lara
9c019e1cc0 Add organization and credential lookups 2019-10-31 16:38:31 -04:00
softwarefactory-project-zuul[bot]
b3d298269b Merge pull request #5197 from wenottingham/tune-into-a-different-key
chmod the nginx cert/key/etc

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-31 18:53:40 +00:00
Keith Grant
21f7ca21e0 refactor dupe code to new TemplateAddButton component 2019-10-31 11:34:37 -07:00
softwarefactory-project-zuul[bot]
43bf370f8c Merge pull request #5195 from AlanCoding/job_fail_json
In tower_job_wait intentionally fail module for failure

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-31 17:53:53 +00:00
Bill Nottingham
6057921e34 chmod the nginx cert/key/etc
EL8 OpenSSL defaults to 0600 for the key, which will not work in the
dev environment.
2019-10-31 13:53:13 -04:00
Shane McDonald
d645d0894a Merge pull request #5196 from ansible/9.0.0-for-real
Bump VERSION to 9.0.0
2019-10-31 13:48:01 -04:00
Shane McDonald
4575cae458 Bump VERSION to 9.0.0 2019-10-31 13:39:42 -04:00
softwarefactory-project-zuul[bot]
6982a8aee7 Merge pull request #5176 from AlanCoding/collection_project_create
Fix and test for warning when creating project

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-31 16:50:59 +00:00
softwarefactory-project-zuul[bot]
fa1091d089 Merge pull request #5175 from AlanCoding/multi_cred_launch
Add test coverage for launch with multiple prompted creds

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-31 16:46:31 +00:00
AlanCoding
5095816762 In tower_job_wait intentionally fail module for failure 2019-10-31 12:41:53 -04:00
softwarefactory-project-zuul[bot]
c605705b39 Merge pull request #5182 from wenottingham/for-this-to-actually-be-useful-we-would-need-a-sendmail.cf-and-lol-not-doing-that
[RFC] Remove admin alerts, there are better mechanisms for this

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-10-31 14:52:37 +00:00
AlanCoding
24eae09ed9 Make tower_inventory_source org optional, add tests 2019-10-31 09:46:49 -04:00
Hampus Lundqvist
a2fee252f9 fix tests and typos 2019-10-31 08:09:37 -04:00
Hampus Lundqvist
ab80c2276d support organization specific tower_inventory_source. Inventories can exists with same name across multiple organizations so we need to be able to select correct inventory, credential, project etc for the inventory_source 2019-10-31 08:09:20 -04:00
Shane McDonald
f78c9f357d Mount local projects directory inside of dev container.
Yesterday I noticed that we have awx/projects in our .gitignore. I am assuming
this pre-dates our containerized development environment. With this commit, any
project under awx/projects/ will be made available in the dev environment for
selection when creating a Manual project. This comes in super handy when
testing changes to playbooks locally.
2019-10-31 08:01:54 -04:00
AlanCoding
da1e43dc12 Make tower_group idempotent 2019-10-31 07:53:43 -04:00
softwarefactory-project-zuul[bot]
ccc2a616c1 Merge pull request #5186 from wenottingham/another-driveby
Remove extraneous leftover conditional import

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-31 01:21:34 +00:00
softwarefactory-project-zuul[bot]
51184ba20d Merge pull request #5129 from mabashian/resource-access-tabs
Configures access tabs for job template, project, inventory and smart inventory details

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-10-31 00:42:37 +00:00
AlanCoding
db33c0e4fa Add test coverage for launch with multiple prompted creds 2019-10-30 20:41:14 -04:00
mabashian
e9728f2a78 Update snapshot after rebase 2019-10-30 20:11:11 -04:00
Bill Nottingham
5cdf2f88da Remove admin alerts, there are better mechanisms for this 2019-10-30 19:35:45 -04:00
Bill Nottingham
93e940adfc Remove extraneous leftover conditional import 2019-10-30 19:21:02 -04:00
mabashian
64776f97cf Prettier formatting 2019-10-30 19:13:35 -04:00
mabashian
fc080732d4 Add breadcrumb for template access tab 2019-10-30 19:13:35 -04:00
mabashian
d02364a833 Configures access tabs for job template, project, inventory and smart inventory details views. 2019-10-30 19:13:34 -04:00
softwarefactory-project-zuul[bot]
176da040d9 Merge pull request #5185 from ansible/jakemcdermott-patch-wfjt-webhook-wording
Make WFJT webhook credential help text more helpful

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-30 22:51:33 +00:00
softwarefactory-project-zuul[bot]
f2b4d87152 Merge pull request #5184 from shanemcd/remove-dead-code
Deleting unused unit-tests directory

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-30 22:38:00 +00:00
softwarefactory-project-zuul[bot]
17798edbc4 Merge pull request #5174 from shanemcd/centos-8-upstream
Update AWX images to CentOS 8

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-30 22:31:26 +00:00
Keith Grant
c1da74cbc0 fix PF switch styling 2019-10-30 15:06:42 -07:00
Jake McDermott
5e6ee4a371 Improve WFJT webhook credential wording 2019-10-30 17:52:30 -04:00
Shane McDonald
288fea8960 Deleting unused unit-tests directory
Same as https://github.com/ansible/awx/pull/5179 except I wont accidentally
close it.
2019-10-30 17:35:19 -04:00
softwarefactory-project-zuul[bot]
dca9daf719 Merge pull request #5178 from rebeccahhh/devel
Test policy_instance_ variable validation in instance group

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-30 21:31:40 +00:00
softwarefactory-project-zuul[bot]
634504c7a1 Merge pull request #5131 from mabashian/5010-close-button
Removes close button from footer of host details modal

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-30 21:04:04 +00:00
Shane McDonald
c019d873b9 Update AWX images to CentOS 8 2019-10-30 16:43:23 -04:00
Rebeccah
e4a21b67c7 remove u markers in assertion statements, they are unnecessary in python3 2019-10-30 15:52:14 -04:00
Rebeccah
2e6c484a50 added in testing for updating(or not allowing updates of) policy_instance variables in instance and container groups 2019-10-30 15:51:55 -04:00
AlanCoding
f8b64f2222 Fix and test for warning when creating project 2019-10-30 15:40:49 -04:00
softwarefactory-project-zuul[bot]
6060b62acd Merge pull request #5172 from wenottingham/sweet-but-psycopg
Re-add psycopg2 for bootstrap_development.sh

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-30 19:35:23 +00:00
Ryan Petrello
0dcf6a2b1f Merge pull request #5156 from ryanpetrello/cli-launch-args
properly parse CLI arguments for launch endpoints
2019-10-30 14:52:32 -04:00
Bill Nottingham
452c1b53f7 Re-add psycopg2 for bootstrap_development.sh 2019-10-30 14:23:33 -04:00
Hideki Saito
cb354c2ef1 Fix multibyte character handling issue for tower_job_wait #55585
Add multibyte hostname handling test as an integration test

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-10-30 14:11:49 -04:00
softwarefactory-project-zuul[bot]
42d2f72683 Merge pull request #5159 from wenottingham/delete-delete-delete
Trim the list of things installed during build of the dev environment

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2019-10-30 18:11:39 +00:00
softwarefactory-project-zuul[bot]
57e8ba7f3c Merge pull request #5168 from AlanCoding/more_sane
Remove sanity exceptions no longer needed

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-30 18:09:01 +00:00
Ryan Petrello
c882cda586 properly parse CLI arguments for launch endpoints
see: https://github.com/ansible/awx/issues/5093
2019-10-30 13:49:37 -04:00
softwarefactory-project-zuul[bot]
784d18705c Merge pull request #5164 from shanemcd/fix-container-groups-upstream
Fix container groups in AWX image

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-30 17:44:38 +00:00
Bill Nottingham
36996584f9 Re-add dependencies needed by UI tests to the dev env 2019-10-30 13:06:48 -04:00
AlanCoding
0160dbe8bc Remove sanity exceptions no longer needed 2019-10-30 12:56:36 -04:00
Shane McDonald
28994d4b0b Install oc and kubectl in upstream task image 2019-10-30 12:15:51 -04:00
softwarefactory-project-zuul[bot]
9b09344bae Merge pull request #5015 from AlanCoding/awx_awx_cp1
tower_credential: Missing 'kind' attribute (#61324)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-30 13:16:32 +00:00
Bill Nottingham
84ba383199 Trim the list of things installed during build
Swap git & vim for more minimal installs.
2019-10-29 23:19:00 -04:00
softwarefactory-project-zuul[bot]
6dcd87afec Merge pull request #5148 from keithjgrant/pf-upgrade
Reduce test warnings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-29 23:56:02 +00:00
softwarefactory-project-zuul[bot]
243ab58902 Merge pull request #5152 from shanemcd/centos-8-dev-env
Update dev env to centos:8

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-29 22:09:00 +00:00
Shane McDonald
6c877a15e3 Update dev env to centos:8 2019-10-29 17:09:45 -04:00
softwarefactory-project-zuul[bot]
2ccf0a0004 Merge pull request #5143 from AlanCoding/getinline
Apply username ordering to more views

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-29 20:42:49 +00:00
softwarefactory-project-zuul[bot]
c69db02762 Merge pull request #5102 from mabashian/edit-buttons
Adds edit buttons to Templates, Inventories, Organizations, and Projects list items

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-29 20:42:45 +00:00
AlanCoding
59e1c6d492 Add collection test coverage for creating vault credential 2019-10-29 15:34:32 -04:00
mabashian
35c27c8b16 Tweak ActionButtonCell definition and export 2019-10-29 14:45:05 -04:00
Keith Grant
91edac0d84 remove prop type warnings 2019-10-29 11:41:14 -07:00
Mathieu Mallet
ae1bd9d1e9 tower_credential: Missing 'kind' attribute (#61324)
In the 'tower_credential' module, when the credential 'kind' is set to
'vault', the code expects the other parameter 'vault_id' to be set.
Unfortunately, in the module 'credential_type_for_v1_kind' method, the
'kind' parameter is popped, i.e. remove from the module dict of
parameters leading to the following error:

> Parameter 'vault_id' is only valid if parameter 'kind' is specified as
'vault'

Fixes: #45644, #61324

Testing Done: Manually create a playbook with a task as follow
  - name: Create vault with ID 'bar' exists
    tower_credential:
      name: Foobar vault
      organization: Foobar
      kind: vault
      vault_id: bar
      vault_password: foobar
2019-10-29 14:21:21 -04:00
AlanCoding
cf168b27d2 apply username ordering to more views 2019-10-29 14:20:33 -04:00
softwarefactory-project-zuul[bot]
8cb7b388dc Merge pull request #5140 from ryanpetrello/downstream-hardening
merge a variety of downstream bug fixes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-29 18:19:10 +00:00
Ryan Petrello
171f0d6340 Merge branch 'downstream' into devel 2019-10-29 13:02:17 -04:00
Jeff Bradberry
aff31ac02f Add the no_truncate parameter to the job and adhoc event sublist views
which are the ones that the CLI actually uses.
2019-10-29 11:24:17 -04:00
Jake McDermott
a23754897e Improve accuracy of code comment 2019-10-29 11:24:17 -04:00
Ryan Petrello
3094b67664 work around a bug in the k8s client that leaves trash in /tmp 2019-10-29 11:24:17 -04:00
Alan Rominger
98d3f3dc8a Add tests for AWX collection credential fixes (#3893) 2019-10-29 11:24:16 -04:00
Jake McDermott
6f2a07a7df Scrape tag input state from dom and put it in vm
The tag input state lives somewhere in the associated select2 widgetry
and isn't directly tied to the vm like it is for the other inputs.
2019-10-29 11:24:16 -04:00
Rebeccah
54ac1905b3 pinning pytest-mock to version 1.11.1 2019-10-29 11:24:16 -04:00
AlanCoding
1bdae2d1f7 Fully rely on error ignoring for sanity rel imports 2019-10-29 11:24:16 -04:00
AlanCoding
2bc2e26cc7 Ignore import errors due to bugs in Ansible core 2019-10-29 11:24:16 -04:00
AlanCoding
5010602e6b add release note 2019-10-29 11:24:16 -04:00
AlanCoding
c103a813bf declare types in Ansible Tower module options 2019-10-29 11:24:16 -04:00
AlanCoding
e097bc61c8 New target for sanity testing of the collection
Do not run in Zuul
2019-10-29 11:24:15 -04:00
Ryan Petrello
2ea63eeca0 pin to runner==1.4.4 2019-10-29 11:24:15 -04:00
Ryan Petrello
52336c0fe8 fix a syntax error
whoopsie
2019-10-29 11:24:15 -04:00
Rebeccah
220354241b added in check to see if the the current check has an instance or not to prevent nonetype errors 2019-10-29 11:24:15 -04:00
Rebeccah
1ae8fdc15c moved filterint out policy instance values in the api browser input box into the instanceGroupDetail class where I overrode the update_raw_data function to parse out the unneeded data. Additionally added the fix for checking the value in the serializer. 2019-10-29 11:24:15 -04:00
Rebeccah
4bbdce3478 removed policy_instance variables from container groups default values in the API put/patch view 2019-10-29 11:24:15 -04:00
Rebeccah
d25e6249fd Added in validation for each of the 3 fields that should not be changed if the instance is a container group, defaults in the textarea persist with these 3 options 2019-10-29 11:24:15 -04:00
Jim Ladd
71d7bac261 Rename job_summary_dict to job_metadata
* Clarifies purpose of notification template variable
2019-10-29 11:24:14 -04:00
Alan Rominger
acba5306c6 Fix bug where SCM inventory did not have a collections destination (#3795)
* update inventory path to be in tmp project clone

* copy project folder for inventory scm launch type

* Optionally accept inventory collection paths from ansible.cfg
2019-10-29 11:24:14 -04:00
Jim Ladd
fca9245536 Update unit tests 2019-10-29 11:24:14 -04:00
Jim Ladd
47031da65b Return full webhook dict when serializing notif. 2019-10-29 11:24:14 -04:00
Jim Ladd
b024d91c66 Use correct notif. bodies when sending test notifs
* Notification backends now handle body of notifications differently
* .. depending on their type (webhook, email, and pagerduty) are
  currently the only three notification types that use body
* email and pagerduty expect a string
* webhooks expects a dict in string format
2019-10-29 11:24:14 -04:00
Jim Ladd
da7002cf0c Don't use i18n for NT body string 2019-10-29 11:24:14 -04:00
Keith Grant
f4f1762805 fix lint errors 2019-10-29 11:24:13 -04:00
Keith Grant
ad5857e06b Add notification custom message fields for workflow pause/approval 2019-10-29 11:24:13 -04:00
Jim Ladd
12d735ec8f NotificationSerializer should gracefully handle webhook/pagerduty bodies 2019-10-29 11:24:13 -04:00
Jim Ladd
1e9173e8ef In awxkit, add support for wf approval notification templates 2019-10-29 11:24:13 -04:00
Jim Ladd
4809c40f3c Render WF approval notifications w/ custom templates 2019-10-29 11:24:13 -04:00
Jim Ladd
4e9ec271c5 Refactor notification backends to use CustomNotificationBase 2019-10-29 11:24:13 -04:00
Jim Ladd
6cd6a42e20 Render default notifications using Jinja templates 2019-10-29 11:24:13 -04:00
Jim Ladd
f234c0f771 Remove unused build_notification_message method 2019-10-29 11:24:12 -04:00
Alan Rominger
3f49d2c455 RBAC relaunch 403 updates (#3835)
* RBAC relaunch 403 updates

Addresses 2 things

1. If WFJ relaunch is attempted, and relaunch is denied
  because the WFJ had encrypted survey answers,
  a generic message was shown, this changes it to show
  a specific error message

2. Org admins are banned from relaunching a job
  if the job has encrypted survey answers

* update tests to raises access pattern

* catch PermissionDenied for user_capabilities
2019-10-29 11:24:12 -04:00
Alan Rominger
a0fb9bef3a Disable activity stream and speed up host group bulk deletion (#3817) 2019-10-29 11:24:12 -04:00
Ryan Petrello
ccaaee61f0 improve cleanup of anonymous kubeconfig files 2019-10-29 11:24:12 -04:00
Alan Rominger
70269d9a0d Add support for credential_type in tower_credential module (#3820)
* Add support for credential_type

* Finish up credential_type parameter with tests

* make inputs mutually exclusive with other params

* Test credential type with dict input
2019-10-29 11:24:12 -04:00
Ryan Petrello
ab6322a8f7 fix a bug that breaks webhook launches when a survey is in use
see: https://github.com/ansible/awx/issues/5062
2019-10-29 11:24:12 -04:00
Ryan Petrello
8bc6367e1e fix a bug introduced upstream with settings.LOG_AGGREGATOR_AUDIT 2019-10-29 11:24:12 -04:00
Alex Corey
b74bf9f266 Instance Groups Instances List styling fixes (#3846)
* Instance Groups Instances slider renders properly, and that list wraps properly.

* Instance Groups responds properly

* assorted container groups ui fixes
updated responsiveness of instance groups and instances list
fix layout of container group form
update help text for container group form elements
update text for tech preview top bar

* update container group doclink

* list styling updates based on feedback
2019-10-29 11:24:11 -04:00
Martin Juhl
321aa3b01d Update handlers.py
The setFormatter tries to create the external.log file.. So we should check if LOG_AGGREGATOR_AUDIT is active here as well
2019-10-29 11:24:11 -04:00
Ryan Petrello
7f1096f711 reap k8s-based jobs when the dispatcher restarts 2019-10-29 11:24:11 -04:00
Marliana Lara
2b6cfd7b3d Handle undefined schedule value in job detail component 2019-10-29 11:24:11 -04:00
Graham Mainwaring
b2b33605cc Add UI toggle to disable public Galaxy (#3867) 2019-10-29 11:24:11 -04:00
mabashian
d06b0de74b Revert 6282b5bacb 2019-10-29 11:24:11 -04:00
Ryan Petrello
6dfc714c75 when isolated or container jobs fail to launch, set job status to error
a status of error makes more sense, because failed generally points to
an issue with the playbook itself, while error is more generally used
for reporting issues internal to Tower

see: https://github.com/ansible/awx/issues/4909
2019-10-29 11:24:10 -04:00
Jake McDermott
cf5d3d55f0 Set omitted runner event line lengths to 0
runner_on_start events have zero-length strings for their stdout
fields. We don't want to display these in the ui so we omit them.
Although the stdout field is an empty string, it still has a recorded
line length of 1 that we must account for. Since we're not rendering
the blank line, we must also go back and set the event record's line
length to 0 in order to avoid deleting too many lines when we pop or
shift events off of the view while scrolling.
2019-10-29 11:24:10 -04:00
Jake McDermott
e91d383165 Fix off-by-one errors 2019-10-29 11:24:10 -04:00
mabashian
72d19b93a0 Prettier formatting 2019-10-29 11:01:04 -04:00
softwarefactory-project-zuul[bot]
ff1c96b0e0 Merge pull request #5132 from mabashian/4980-job-details-delete
Hide delete button on job details from users without proper permissions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-29 01:18:50 +00:00
softwarefactory-project-zuul[bot]
6aaf906594 Merge pull request #5130 from mabashian/4948-empty-list
Fix org teams empty list text

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-29 01:13:08 +00:00
Keith Grant
da7baced50 upgrade patternfly to latest, update tests 2019-10-28 15:59:47 -07:00
softwarefactory-project-zuul[bot]
2b10c0f3f2 Merge pull request #5042 from craph/devel
Improve usage of ssl_certificate in local_docker

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-28 22:09:20 +00:00
mabashian
01788263e2 Hide delete button on job details from users without proper permissions 2019-10-28 17:50:32 -04:00
mabashian
8daceabd26 Removes close button from footer of host details modal 2019-10-28 17:38:28 -04:00
Raphaël COMBEAU
712b07c136 Improve usage of ssl_certificate in local_docker
Remove nginx.conf from container

Move nginx outside ssl_certificate block
2019-10-28 17:37:14 -04:00
mabashian
8fbfed5c55 Fix org teams empty list text 2019-10-28 17:21:14 -04:00
softwarefactory-project-zuul[bot]
c4a3c0aac1 Merge pull request #5128 from fosterseth/fix-5081-towerbaseurl400
Fix URLField to allow numbers in top level domain

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-28 21:09:26 +00:00
Ryan Petrello
4d0c567d73 Merge pull request #3911 from jbradberry/truncate-fix
Add the no_truncate parameter to the job and adhoc event sublist views
2019-10-28 16:08:29 -04:00
softwarefactory-project-zuul[bot]
365f897059 Merge pull request #5103 from mabashian/proj-notifs
Hook up notifications tab on projects

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-28 19:38:15 +00:00
mabashian
7b1158ee8e Fix failing unit tests due to missing scm_revision key 2019-10-28 15:31:03 -04:00
mabashian
d8814b7162 Add displayName so that ActionButtonCell can be referenced in tests 2019-10-28 15:11:58 -04:00
mabashian
9af3fa557b Fix merge conflict fallout. Remove stale edit click handler. 2019-10-28 15:11:58 -04:00
mabashian
e0d8d35090 Adds edit buttons to Templates, Inventories, Organizations, and Projects list items when the user has edit capabilities. 2019-10-28 15:04:02 -04:00
Seth Foster
7e83ddc968 Fix URLField to allow numbers in top level domain
Add a custom regex to URLField that allows numbers to be present in the
top level domain, e.g. https://towerhost.org42

Set by variable allow_numbers_in_top_level_domain in URLField __init__,
and is set to True by default. If set to False, it will use the regex
specified in the built-in django URLValidator class.

This solution was originally implemented in LDAPServerURIField, but is
now implemented in URLField to support this behavior more generally. The
changes in LDAPServerURIField are longer needed and have been removed in
this commit.

Adds unit testing to make sure URLField changes handle regex input
and settings correctly.
2019-10-28 13:47:01 -04:00
Jeff Bradberry
b48815d2bb Add the no_truncate parameter to the job and adhoc event sublist views
which are the ones that the CLI actually uses.
2019-10-28 12:51:14 -04:00
Jake McDermott
ad383cdb44 Merge pull request #3909 from jakemcdermott/fix-3578-comment
Improve code comment regarding handling of omitted events
2019-10-28 11:52:11 -04:00
softwarefactory-project-zuul[bot]
bbbacd62ae Merge pull request #5125 from gmarsay/bugfix-slack-notification
Bugfix - Slack notification with name and avatar

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-28 15:37:39 +00:00
Jake McDermott
91afa88b44 Improve accuracy of code comment 2019-10-28 11:28:57 -04:00
softwarefactory-project-zuul[bot]
a6fd3d0c09 Merge pull request #5115 from AlanCoding/string_explosion
Fix bug: WFJT-type node YAML vars broke task manager

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-28 15:15:06 +00:00
Ryan Petrello
b575fa4243 Merge pull request #3898 from ryanpetrello/k8s-messy-client
attempt to clean up cacert trash the k8s python client leaves behind
2019-10-28 11:09:24 -04:00
softwarefactory-project-zuul[bot]
edf0d4bf85 Merge pull request #5120 from AlanCoding/var_lib
Move development PROJECTS_ROOT

Reviewed-by: Matthew Jones <mat@matburt.net>
             https://github.com/matburt
2019-10-28 15:08:00 +00:00
Alan Rominger
3cab73c574 Add tests for AWX collection credential fixes (#3893) 2019-10-28 09:58:00 -04:00
Ryan Petrello
b3af64d66f work around a bug in the k8s client that leaves trash in /tmp 2019-10-28 09:43:32 -04:00
Jake McDermott
1869b73826 Merge pull request #3906 from jakemcdermott/fix-5110
Fix job / skip tags not getting used on launch prompt
2019-10-28 09:15:08 -04:00
softwarefactory-project-zuul[bot]
5ab09686c9 Merge pull request #5043 from EStork09/devel
Added custom_venv_dir to local docker install,

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-27 23:42:35 +00:00
softwarefactory-project-zuul[bot]
4ed4d85b91 Merge pull request #5123 from r-daneel/devel
Add quote filter to shell variables

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-27 15:35:47 +00:00
Ryan Petrello
cc47afa856 Merge pull request #3904 from rebeccahhh/release_3.6.0
pinning pytest-mock to version 1.11.1
2019-10-27 10:33:32 -04:00
softwarefactory-project-zuul[bot]
e066b688fc Merge pull request #5117 from ryanpetrello/runner-1-4-4
pin to runner==1.4.4

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-27 14:03:25 +00:00
Ryan Petrello
15111dd24a pin to runner==1.4.4 2019-10-27 09:17:10 -04:00
Jake McDermott
841975d72b Scrape tag input state from dom and put it in vm
The tag input state lives somewhere in the associated select2 widgetry
and isn't directly tied to the vm like it is for the other inputs.
2019-10-26 20:02:41 -04:00
Guillaume Marsay
31a96d20ab Update slack_backend.py 2019-10-26 22:07:31 +02:00
softwarefactory-project-zuul[bot]
9a70ac88c0 Merge pull request #5075 from AlexSCorey/credentialsLookUp
Credentials look up

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
             https://github.com/AlexSCorey
2019-10-25 20:51:13 +00:00
Ahmed RAHAL
2ec5dda1d8 Add quotes to shell variables with user input
The last update of this file added default values for passwords
but removed the 'quote' filter.
This is extremely problematic for database passwords that should always
be complex and contain special characters that the shell may interpret
wrongly.
As a sanity measure, adding the quote filter to all fields.
2019-10-25 16:44:59 -04:00
Alex Corey
dab80fb842 Adds Proptypes 2019-10-25 16:16:04 -04:00
AlanCoding
a6404bdd0d Move development PROJECTS_ROOT 2019-10-25 15:48:07 -04:00
softwarefactory-project-zuul[bot]
ee5199f77a Merge pull request #5090 from lopf/5089-fix-psql-user-specification
Fix psql: local user with ID 1001 does not exist

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-25 19:32:13 +00:00
Alex Corey
7f409c6487 Moves JT CredentialsList Manipulation Back to CredentialsLookup
Rename CredentialsLookup to MultiCredentialLookup
Removes unnecessary functions in Lookup.
Puts CredentialsList manipulation on CredsLookup and removes that work from JTForm.
Upates tests for CredentialsLookup and JTForm to reflect changes above.
2019-10-25 15:13:11 -04:00
Rebeccah
678ce81487 pinning pytest-mock to version 1.11.1 2019-10-25 14:14:41 -04:00
Ryan Petrello
69e0f858bc Merge pull request #3819 from AlanCoding/collection_sanity_36
Make AWX collection "pass" sanity tests
2019-10-25 13:06:13 -04:00
Ryan Petrello
2b12e26b98 Merge pull request #3903 from ryanpetrello/runner-1-4-4
pin to runner==1.4.4
2019-10-25 12:51:53 -04:00
Ryan Petrello
634550fb0b pin to runner==1.4.4 2019-10-25 12:50:53 -04:00
softwarefactory-project-zuul[bot]
491e4c709e Merge pull request #5116 from jakemcdermott/remove-jdetails-close
Remove close button from job details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-25 16:43:21 +00:00
softwarefactory-project-zuul[bot]
480c8516ab Merge pull request #5086 from keithjgrant/4614-fix-template-edit-border
Fix border/padding while loading jt edit form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-25 16:31:53 +00:00
softwarefactory-project-zuul[bot]
9eda4efb74 Merge pull request #5114 from jakemcdermott/hide-revision-copy-button-sometimes
Hide revision copy button when there's no revision

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-25 16:21:14 +00:00
Jake McDermott
a517b15c26 Remove close button from job details 2019-10-25 11:59:40 -04:00
AlanCoding
609528e8a3 Fix bug: WFJT-type node YAML vars broke task manager 2019-10-25 11:41:58 -04:00
Jake McDermott
e17ee4b58f Hide revision copy button when there's no revision 2019-10-25 11:40:06 -04:00
softwarefactory-project-zuul[bot]
3dc8a10e85 Merge pull request #5104 from mabashian/4985-close-button-details
Remove close button from Project and Job Template details views

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-25 14:43:07 +00:00
Shane McDonald
dc89479b4c Merge pull request #3901 from ryanpetrello/syntax
fix a syntax error
2019-10-25 10:21:30 -04:00
softwarefactory-project-zuul[bot]
e893017e00 Merge pull request #5105 from mabashian/4956-template-details-links
Link to project and inventory from job template details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-25 14:21:14 +00:00
Ryan Petrello
b51b1a959f fix a syntax error
whoopsie
2019-10-25 10:20:18 -04:00
softwarefactory-project-zuul[bot]
4a1c121792 Merge pull request #5084 from fosterseth/fix-4147-schedule500error
Fix 500 error when creating a job schedule

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-25 13:35:57 +00:00
Rebeccah Hunter
8de92b152c Merge pull request #3899 from rebeccahhh/release_3.6.0
fix serializer validation when instance not present
2019-10-25 09:27:03 -04:00
Rebeccah
95ab5327c3 added in check to see if the the current check has an instance or not to prevent nonetype errors 2019-10-25 09:20:44 -04:00
softwarefactory-project-zuul[bot]
d39ad9d9ce Merge pull request #5085 from mabashian/5054-revision-column
Adds revision to project list row items

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-25 13:05:17 +00:00
mabashian
07a5e17284 Link to project and inventory from job template details 2019-10-24 16:36:19 -04:00
mabashian
583d1390d2 Remove close button from Project and Job Template details views 2019-10-24 16:17:37 -04:00
mabashian
638f8eae21 Hook up notifications tab on projects 2019-10-24 15:48:12 -04:00
AlanCoding
e40f29092b Fully rely on error ignoring for sanity rel imports 2019-10-24 15:10:38 -04:00
AlanCoding
b394862210 Ignore import errors due to bugs in Ansible core 2019-10-24 14:58:55 -04:00
AlanCoding
0434c611f0 add release note 2019-10-24 14:50:45 -04:00
AlanCoding
201ae5f948 declare types in Ansible Tower module options 2019-10-24 14:50:45 -04:00
AlanCoding
9d93b78296 New target for sanity testing of the collection
Do not run in Zuul
2019-10-24 14:50:44 -04:00
Keith Grant
1d7bd835e6 remove unused imports 2019-10-24 10:29:04 -07:00
Keith Grant
4f90406e91 fix border/padding while loading jt edit form 2019-10-24 10:29:03 -07:00
Alex Corey
53b4dd5dbf Fixes linting errors 2019-10-24 12:35:30 -04:00
Alex Corey
491f4824b0 Addresses PR Issues
Improves credential ID variable in JT model.
Removes unused prop from Lookup ComponentDidMount.
Removed unused function call from Credentials ComponentDidMount.
Streamlines toggleCredential function and moves it to JobTemplateForm.  This was done because the
JobTemplateForm should handle the credential values passed to the CredentialsLookup.
Adds tests for JobTemplateForm to ensure toggleCredentialSelection function is putting proper values
in state.
Removed withRouter wrapper on CredentialsLookup export.
Improved CredentialsLookup test to ensure that onChange is called when user removes
a credential from the input.
2019-10-24 12:32:50 -04:00
Alex Corey
91721e09df Adds tests 2019-10-24 12:32:50 -04:00
Alex Corey
2828d31141 Adds CredentialLookUp to JT Form 2019-10-24 12:32:50 -04:00
Alex Corey
d10e727b3c Adds CredentialLookUp to JT Form 2019-10-24 12:32:50 -04:00
softwarefactory-project-zuul[bot]
f57cf03f4b Merge pull request #5017 from kimausloos/update-docs-openshift-scc
[docs] Update OpenShift doc section to clarify #3116

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-24 15:47:21 +00:00
Rebeccah Hunter
8669e87454 Merge pull request #3868 from rebeccahhh/release_3.6.0
Add api validation for policy rules in container groups
2019-10-24 11:29:10 -04:00
mabashian
b319f47048 Adds revision to project list row items. Adds ClipboardCopyButton component to allow the user to copy the full revision to the clipboard. 2019-10-24 09:11:05 -04:00
lopf
432daa6139 fix 5089 2019-10-24 14:44:36 +02:00
Kim Ausloos
835c26f6cb [docs] Update OpenShift doc section to clarify #3116
Signed-off-by: Kim Ausloos <kim.ausloos@cegeka.be>
2019-10-24 08:55:40 +02:00
Jim Ladd
b2557c6fd8 Rename job_summary_dict to job_metadata
* Clarifies purpose of notification template variable
2019-10-23 17:11:05 -07:00
softwarefactory-project-zuul[bot]
f1c2a95f0d Merge pull request #5053 from fosterseth/fix-4797-copycredential
Fix secret lookup links when credentials are copied

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-23 23:46:52 +00:00
Alan Rominger
8f5d25a5df Fix bug where SCM inventory did not have a collections destination (#3795)
* update inventory path to be in tmp project clone

* copy project folder for inventory scm launch type

* Optionally accept inventory collection paths from ansible.cfg
2019-10-23 19:26:10 -04:00
Rebeccah
4c199b0ab2 moved filterint out policy instance values in the api browser input box into the instanceGroupDetail class where I overrode the update_raw_data function to parse out the unneeded data. Additionally added the fix for checking the value in the serializer. 2019-10-23 17:18:21 -04:00
Rebeccah
ef7b3fec94 removed policy_instance variables from container groups default values in the API put/patch view 2019-10-23 17:15:56 -04:00
Rebeccah
93bd1e6705 Added in validation for each of the 3 fields that should not be changed if the instance is a container group, defaults in the textarea persist with these 3 options 2019-10-23 17:15:56 -04:00
Seth Foster
58e84a40e5 Fix 500 error when creating a job schedule
- 500 error occurs when a non-admin user attempts to add an invalid
  credential during schedule creation
- This change checks that the user can add the object to
  serializer.validated_data, instead of serializer.initial_data
- The invalid credential field is purged in .validated_data, so the
  request passes through cleanly
- Fix for awx issue #4147
2019-10-23 14:22:07 -04:00
Jim Ladd
b13009b9a3 Update unit tests 2019-10-23 10:57:18 -07:00
Jim Ladd
fc941eda98 Return full webhook dict when serializing notif. 2019-10-23 10:57:18 -07:00
Jim Ladd
32deca2e92 Use correct notif. bodies when sending test notifs
* Notification backends now handle body of notifications differently
* .. depending on their type (webhook, email, and pagerduty) are
  currently the only three notification types that use body
* email and pagerduty expect a string
* webhooks expects a dict in string format
2019-10-23 10:57:18 -07:00
Jim Ladd
ff1a618a93 Don't use i18n for NT body string 2019-10-23 10:57:18 -07:00
Keith Grant
0af79b729e fix lint errors 2019-10-23 10:57:18 -07:00
Keith Grant
76711febd1 Add notification custom message fields for workflow pause/approval 2019-10-23 10:57:18 -07:00
Jim Ladd
81e545b720 NotificationSerializer should gracefully handle webhook/pagerduty bodies 2019-10-23 10:57:18 -07:00
Jim Ladd
d985b1215a In awxkit, add support for wf approval notification templates 2019-10-23 10:57:18 -07:00
Jim Ladd
157bec1777 Render WF approval notifications w/ custom templates 2019-10-23 10:57:18 -07:00
Jim Ladd
1754076a56 Refactor notification backends to use CustomNotificationBase 2019-10-23 10:57:18 -07:00
Jim Ladd
d3132820a5 Render default notifications using Jinja templates 2019-10-23 10:57:18 -07:00
Jim Ladd
9f4d65891c Remove unused build_notification_message method 2019-10-23 10:57:18 -07:00
Alan Rominger
653ec0ffab RBAC relaunch 403 updates (#3835)
* RBAC relaunch 403 updates

Addresses 2 things

1. If WFJ relaunch is attempted, and relaunch is denied
  because the WFJ had encrypted survey answers,
  a generic message was shown, this changes it to show
  a specific error message

2. Org admins are banned from relaunching a job
  if the job has encrypted survey answers

* update tests to raises access pattern

* catch PermissionDenied for user_capabilities
2019-10-23 10:59:35 -04:00
Alan Rominger
28228a3b57 Disable activity stream and speed up host group bulk deletion (#3817) 2019-10-23 08:25:00 -04:00
Ryan Petrello
e2470200da Merge pull request #3881 from ansible/k8s-cleanup
improve cleanup of anonymous kubeconfig files
2019-10-22 18:12:52 -04:00
Seth Foster
9c04e08b4d Fix secret lookup links when credentials are copied
- When a credential that contains secret lookups (e.g. HashiCorp Vault
  Secret Lookup) is copied, the lookup fields are not properly copied
- This change adds the necessary fields to FIELDS_TO_PRESERVE_AT_COPY
  for both Credential and CredentialInputSource classes to ensure a
  proper copy
2019-10-22 17:49:10 -04:00
Ryan Petrello
cfd7946097 improve cleanup of anonymous kubeconfig files 2019-10-22 17:47:09 -04:00
softwarefactory-project-zuul[bot]
bda1abab8d Merge pull request #5074 from shanemcd/devel
Downstream k8s installer changes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-22 20:34:20 +00:00
Shane McDonald
8356327c2b Downstream k8s installer changes 2019-10-22 15:57:40 -04:00
Alan Rominger
fb67b8edf9 Add support for credential_type in tower_credential module (#3820)
* Add support for credential_type

* Finish up credential_type parameter with tests

* make inputs mutually exclusive with other params

* Test credential type with dict input
2019-10-22 14:39:27 -04:00
Ryan Petrello
7af2bcc9b0 Merge pull request #3878 from ansible/fix-5062
fix a bug that breaks webhook launches when a survey is in use
2019-10-22 13:35:30 -04:00
Ryan Petrello
8e83c86d88 Merge pull request #3879 from ansible/whoopsie
fix a bug introduced upstream with settings.LOG_AGGREGATOR_AUDIT
2019-10-22 13:34:37 -04:00
Alex Corey
53cf6cf17c Instance Groups Instances List styling fixes (#3846)
* Instance Groups Instances slider renders properly, and that list wraps properly.

* Instance Groups responds properly

* assorted container groups ui fixes
updated responsiveness of instance groups and instances list
fix layout of container group form
update help text for container group form elements
update text for tech preview top bar

* update container group doclink

* list styling updates based on feedback
2019-10-22 13:31:53 -04:00
Ryan Petrello
8701f83922 fix a bug introduced upstream with settings.LOG_AGGREGATOR_AUDIT 2019-10-22 12:17:20 -04:00
softwarefactory-project-zuul[bot]
cafac2338d Merge pull request #5063 from HunterNyan/devel
Fixed bug with python check

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2019-10-22 13:37:37 +00:00
Ryan Petrello
7344ee23ef fix a bug that breaks webhook launches when a survey is in use
see: https://github.com/ansible/awx/issues/5062
2019-10-22 09:08:14 -04:00
Alice Hunter
e5dfc62dce Fixed bug with python check 2019-10-22 23:06:06 +11:00
Ryan Petrello
a0bf3459eb Merge pull request #3877 from ansible/backport-external-log-fix
backport a fix to external logging aggregation
2019-10-22 07:43:35 -04:00
Martin Juhl
facec0fe76 Update handlers.py
The setFormatter tries to create the external.log file.. So we should check if LOG_AGGREGATOR_AUDIT is active here as well
2019-10-22 07:25:01 -04:00
softwarefactory-project-zuul[bot]
11edd43af3 Merge pull request #5058 from MrMEEE/patch-1
Only create /var/log/tower/external.log when LOG_AGGREGATOR_AUDIT is enabled

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-22 11:16:15 +00:00
Ryan Petrello
6fb09d73b1 Merge pull request #3801 from ansible/fix-jinja-host-name
[3.6.0] fix jinja host name
2019-10-22 06:54:01 -04:00
Martin Juhl
27d0111a27 Update handlers.py 2019-10-22 01:25:27 +02:00
Martin Juhl
58367811a0 Update handlers.py
The setFormatter tries to create the external.log file.. So we should check if LOG_AGGREGATOR_AUDIT is active here as well
2019-10-22 01:02:31 +02:00
Ryan Petrello
a3519ce1df Merge pull request #3866 from ansible/reap-k8s-jobs
reap k8s-based jobs when the dispatcher restarts
2019-10-21 17:50:59 -04:00
Ryan Petrello
812d00f490 reap k8s-based jobs when the dispatcher restarts 2019-10-21 16:32:59 -04:00
Marliana Lara
5ac2211ef4 Merge pull request #3875 from marshmalien/5048-missing-job-details
Handle undefined schedule value in job detail component
2019-10-21 16:23:19 -04:00
Marliana Lara
9c9bf0ed84 Handle undefined schedule value in job detail component 2019-10-21 16:13:52 -04:00
Graham Mainwaring
c013d656c8 Add UI toggle to disable public Galaxy (#3867) 2019-10-21 16:10:25 -04:00
softwarefactory-project-zuul[bot]
3277d3afe0 Merge pull request #5050 from ryanpetrello/release-8.0.0
Bump VERSION to 8.0.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-21 17:26:33 +00:00
Ryan Petrello
45136b6503 Bump VERSION to 8.0.0 2019-10-21 12:29:24 -04:00
Ryan Petrello
e9af6af97c Merge pull request #5047 from ryanpetrello/devel
merge a variety of downstream bug fixes
2019-10-21 12:27:54 -04:00
Ryan Petrello
f86d647571 Merge branch 'hardening' into devel 2019-10-21 12:09:27 -04:00
Ryan Petrello
f02357ca16 Merge pull request #3871 from mabashian/3865-add-buttons
Revert 6282b5bacb
2019-10-21 12:08:52 -04:00
mabashian
e64b087e9f Revert 6282b5bacb 2019-10-21 11:55:12 -04:00
Ryan Petrello
5bb7e69a4d Merge pull request #3864 from ansible/container-launch-error
when isolated or container jobs fail to launch, set job status to error
2019-10-21 11:18:04 -04:00
Ryan Petrello
a8aed53c10 when isolated or container jobs fail to launch, set job status to error
a status of error makes more sense, because failed generally points to
an issue with the playbook itself, while error is more generally used
for reporting issues internal to Tower

see: https://github.com/ansible/awx/issues/4909
2019-10-21 11:02:31 -04:00
Jake McDermott
b19539069c Merge pull request #3863 from jakemcdermott/fix-3578-part-3
Set omitted runner_on_start event line lengths to 0
2019-10-21 10:37:09 -04:00
Evan Stork
0c0e172caf Added custom_venv_dir to local docker install,
Signed-off-by: Evan Stork <estork@live.com>
2019-10-19 20:45:02 -04:00
Jake McDermott
312cf13777 Set omitted runner event line lengths to 0
runner_on_start events have zero-length strings for their stdout
fields. We don't want to display these in the ui so we omit them.
Although the stdout field is an empty string, it still has a recorded
line length of 1 that we must account for. Since we're not rendering
the blank line, we must also go back and set the event record's line
length to 0 in order to avoid deleting too many lines when we pop or
shift events off of the view while scrolling.
2019-10-19 19:18:45 -04:00
Jake McDermott
c6033399d0 Fix off-by-one errors 2019-10-19 18:58:42 -04:00
Ryan Petrello
85f118c17d Merge pull request #3852 from ansible/pod-reaper
implement a simple periodic pod reaper for container groups
2019-10-18 16:50:30 -04:00
softwarefactory-project-zuul[bot]
0de805ac67 Merge pull request #5035 from keithjgrant/4617-inventory-lookup-error-message
Add error messages for InventorySelect

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-18 19:46:29 +00:00
Ryan Petrello
c7426fbff4 Merge pull request #3861 from wenottingham/where-did-you-come-from
Log the remote IP for logged in users
2019-10-18 15:16:34 -04:00
softwarefactory-project-zuul[bot]
3cbd52a56e Merge pull request #5040 from keithjgrant/4976-job-list-status-icons
Add status icon to job list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-18 19:12:14 +00:00
Jake McDermott
97a635ef49 Merge pull request #3844 from jakemcdermott/fix-3578-part-1
Always disable search when processing events
2019-10-18 15:07:41 -04:00
Keith Grant
155ed75f15 update jt Inventory field error message 2019-10-18 11:38:01 -07:00
Bill Nottingham
a664c5eabe Log the remote IP for logged in users 2019-10-18 14:28:10 -04:00
Keith Grant
8b23c6e19a add job id to jobs list 2019-10-18 10:44:39 -07:00
Keith Grant
a5d9bbb1e6 add status icon to job list 2019-10-18 10:08:59 -07:00
softwarefactory-project-zuul[bot]
c262df0dfe Merge pull request #5009 from wanderboessenkool/rabbit-healthcheck-cpu-usage
Change 'rabbitmqctl status' to a wget | grep to save CPU

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-18 16:48:39 +00:00
Jake McDermott
3f113129a9 Merge pull request #3851 from jakemcdermott/fix-3578-part-2
Get the last two pages of events on page load
2019-10-18 12:46:19 -04:00
Keith Grant
df7e034b96 fix blur behavior/error messages in JT form 2019-10-18 08:40:48 -07:00
Ryan Petrello
bd8b3a4f74 Merge pull request #3856 from ansible/revert-3842-callback-receiver-status
Revert "add support for `awx-manage run_callback_receiver --status`"
2019-10-18 10:10:58 -04:00
Ryan Petrello
d01088d33e Revert "add support for awx-manage run_callback_receiver --status" 2019-10-18 09:49:02 -04:00
Ryan Petrello
0012602b30 Merge pull request #3853 from ansible/fix-upgrades
properly migrate the CyberArk AIM type to its new name
2019-10-18 07:55:20 -04:00
Wander Boessenkool
8ecc1f37f0 Move python healthcheck script from probes to configMap 2019-10-18 10:15:21 +02:00
Ryan Petrello
0ab44e70f9 properly migrate the CyberArk AIM type to its new name 2019-10-17 22:40:33 -04:00
Jake McDermott
95c9e8e068 Always disable search when processing events
When jobs are still processing events, the UI uses numerical ranges
based on job_event.counter instead of page numbers. We can't apply
search filters in this state because then there would be no way to
distinguish between events that are missing due to being filtered out
by search and events that are missing because they're still being
processed.

The UI must be able to distinguish between the two types of missing
events because their absence is presented differently. Events that are
filtered out by a search query have no visual representation, while
events that are missing due to event processing or other causes are
displayed as clickable "..." segments.
2019-10-17 18:37:33 -04:00
Wander Boessenkool
c49e64e62c Make HTTPConnection import python 2,3 agnostic 2019-10-17 23:36:33 +02:00
Wander Boessenkool
00c9d756e8 Move installtime hardcoded rabbitmq credentials to environment variables for healthcheck 2019-10-17 23:23:29 +02:00
Ryan Petrello
16812542f8 implement a simple periodic pod reaper for container groups
see: https://github.com/ansible/awx/issues/4911
2019-10-17 17:06:36 -04:00
Ryan Petrello
0bcd1db239 Merge pull request #3850 from ansible/container-groups-cleanup-adhoc
clean up pods for all k8s execution, not just playbook runs
2019-10-17 16:53:23 -04:00
Bill Nottingham
9edbcdc7b0 Merge pull request #3848 from wenottingham/have-never-read-or-watched-the-help
Adjust description/help text for profiling features.
2019-10-17 16:48:12 -04:00
Wander Boessenkool
9ab58e9757 Change healthcheck from wget and grep to python with httplib 2019-10-17 22:25:20 +02:00
Jake McDermott
1fae3534a1 Get the last two pages of events on page load
When the page loads, we want to retrieve and initially display enough
content for the scrollbar to show. If the very last page doesn't
have enough content for the scrollbar to show, the user won't be able
to scroll up to see more job history. To avoid this scenario, we always
fetch the last _two_ pages when loading the view.
2019-10-17 16:19:19 -04:00
Graham Mainwaring
a038f9fd78 Merge pull request #3845 from ghjm/gather_analytics_dry_run
Add a --dry-run option to gather analytics locally, even if analytics is disabled in settings.
2019-10-17 16:17:18 -04:00
Ryan Petrello
ff1e1b2010 Merge pull request #3849 from ansible/k8s-native-execution-node
properly set execution_node for project and inv updates run "in k8s"
2019-10-17 16:06:16 -04:00
Wander Boessenkool
d6134fb194 Change /bin/ash to /bin/sh as requested by @shanecmd 2019-10-17 21:37:51 +02:00
Ryan Petrello
570ffad52b clean up pods for all k8s execution, not just playbook runs
see: https://github.com/ansible/awx/issues/4908
2019-10-17 15:29:44 -04:00
Ryan Petrello
1cf02e1e17 properly set execution_node for project and inv updates run "in k8s"
see: https://github.com/ansible/awx/issues/4907
2019-10-17 15:15:24 -04:00
Bill Nottingham
2f350cfda7 Adjust description/help text for profiling features.
Note that data is merely for sosreport collection for now, and
warn against increasing collection frequency.
2019-10-17 15:04:21 -04:00
Keith Grant
8e2622d117 add error messages for InventorySelect 2019-10-17 10:55:37 -07:00
Graham Mainwaring
7dd241fcff Add a --dry-run option to gather analytics locally, even if analytics is disabled in settings. 2019-10-17 13:54:13 -04:00
Ryan Petrello
c6a28756f2 Merge pull request #3841 from ansible/fix-5028
fix a 500 error when creating/editing notification templates
2019-10-17 12:06:36 -04:00
Ryan Petrello
94eb1aacb8 Merge pull request #3842 from ansible/callback-receiver-status
add support for `awx-manage run_callback_receiver --status`
2019-10-17 11:46:27 -04:00
Ryan Petrello
ffb1707e74 add support for awx-manage run_callback_receiver --status 2019-10-17 11:10:27 -04:00
Ryan Petrello
5e797a5ad5 Merge pull request #3840 from ansible/fix-5029
fix a minor bug in the notification templates UI
2019-10-17 10:33:34 -04:00
Ryan Petrello
4c92e0af77 fix a 500 error when creating/editing notification templates
see: https://github.com/ansible/awx/issues/5028
2019-10-17 08:53:01 -04:00
Ryan Petrello
24b9a6a38d fix a minor bug in the notification templates UI
see: https://github.com/ansible/awx/issues/5029
2019-10-17 08:43:04 -04:00
softwarefactory-project-zuul[bot]
857683e548 Merge pull request #4917 from jakemcdermott/ui-next-ci
Tune webpack config and add Dockerfile

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-16 22:29:58 +00:00
softwarefactory-project-zuul[bot]
4bf96362cc Merge pull request #5018 from ryanpetrello/cli-deprecation-warnings
warn about endpoint deprecation in the CLI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-16 20:37:29 +00:00
Ryan Petrello
5001d3158d Merge pull request #3837 from ansible/rename-cyberark-aim
rename the CyberArk AIM credential type
2019-10-16 16:12:58 -04:00
Ryan Petrello
ce5bb9197e rename the CyberArk AIM credential type
see: https://github.com/ansible/awx/issues/4400
2019-10-16 15:58:35 -04:00
Ryan Petrello
309e89e0f0 Merge pull request #3813 from matburt/fix_smart_inventory_impact
Change host counting for task impact
2019-10-16 15:56:50 -04:00
Ryan Petrello
e27dbfcc0b Merge pull request #3836 from wenottingham/eeeeeeeeEEEEEEEEEEEEEEEEeeeeeeeeeenum
Remove removal requirement that isn't actually in the requirements
2019-10-16 15:35:31 -04:00
Bill Nottingham
7df448a348 Remove removal requirement that isn't actually in the requirements 2019-10-16 15:34:33 -04:00
Bill Nottingham
e220e9d8d7 Merge pull request #3834 from wenottingham/seriously-cut-it-out-google
Blacklist rsa even more.
2019-10-16 15:30:01 -04:00
Ryan Petrello
c8a29bac66 warn about endpoint deprecation in the CLI 2019-10-16 15:26:59 -04:00
Bill Nottingham
11d39bd8cc Blacklist rsa even more. 2019-10-16 15:17:19 -04:00
softwarefactory-project-zuul[bot]
1376b8a149 Merge pull request #5020 from ryanpetrello/devel
merge a variety of downstream bug fixes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-16 18:13:02 +00:00
Ryan Petrello
750208b2da Merge pull request #3831 from rooftopcellist/use_system_ca_for_collection
Make Analytics collections verify with system trusted CA
2019-10-16 13:55:07 -04:00
Christian Adams
9d81b00772 have analytics collections verify with system trusted CA list 2019-10-16 13:32:06 -04:00
Ryan Petrello
c7be94c2f2 Merge branch 'hardening' into devel 2019-10-16 13:15:20 -04:00
Ryan Petrello
1adf5ee51d Merge pull request #3805 from beeankha/cli_approval_notification_support
Enable Approval Notification Support for CLI
2019-10-16 13:09:22 -04:00
Ryan Petrello
da998fb196 Merge pull request #3828 from AlanCoding/deprecate_script
API deprecation of inventory script views
2019-10-16 11:27:41 -04:00
Ryan Petrello
b559860c78 Merge pull request #3804 from jbradberry/cli-no-truncate
Do not truncate job event list stdout when called from the CLI
2019-10-16 10:36:29 -04:00
Ryan Petrello
a31e2bdac1 Merge pull request #3829 from ansible/tz-fix
fix a tz parsing bug
2019-10-16 10:31:44 -04:00
beeankha
62e4ebb85d Minor change to README, plus a rebase. 2019-10-16 09:50:00 -04:00
beeankha
aa4f5ccca9 Add blank line (flake8) 2019-10-16 09:50:00 -04:00
beeankha
fdddba18be Update code to be compatible with py2 2019-10-16 09:50:00 -04:00
beeankha
ad89c5eea7 Enable approval notification support for CLI 2019-10-16 09:50:00 -04:00
Jake McDermott
e15bb4de44 Merge pull request #3827 from jakemcdermott/fix_flake8_error
Fix flake8 error
2019-10-16 09:47:57 -04:00
Ryan Petrello
5f2e1c9705 fix a tz parsing bug 2019-10-16 09:46:18 -04:00
Jake McDermott
8c5b0cbd57 Merge pull request #3815 from jakemcdermott/fix-3790
Allow navigation to previous launch prompt tabs
2019-10-16 09:36:54 -04:00
Jake McDermott
73272e338b Merge pull request #3809 from AlexSCorey/4944-4943-TOCBugs
Sys Aud can see CG forms, Adds correct CG form link, Disables CodeMirror
2019-10-16 09:35:02 -04:00
AlanCoding
86ef81cebf API deprecation of inventory script views 2019-10-16 09:34:21 -04:00
Jake McDermott
cd18ec408c Remove unused variable 2019-10-16 09:30:43 -04:00
Ryan Petrello
90c5efa336 Merge pull request #3824 from AlanCoding/one_less_redirect
Avoid unnecessary OPTIONS redirect
2019-10-16 09:17:03 -04:00
Alex Corey
4134d0b516 Updates PR and Addresses Console Error
THis commit imroves conditional rendering of the container groups form for
System Auditors.  It also removes a ng-class condition in the IG list that was unused.
2019-10-16 09:15:44 -04:00
AlanCoding
2123092bdc Avoid unnecessary OPTIONS redirect 2019-10-16 09:08:22 -04:00
softwarefactory-project-zuul[bot]
ba7b53b38e Merge pull request #4992 from keithjgrant/4817-react-router-upgrade
4817 react router upgrade

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-15 20:29:16 +00:00
Keith Grant
cac5417916 delete commented code 2019-10-15 12:56:39 -07:00
Keith Grant
b318f24490 don't skip JobDetail test now that async act works 2019-10-15 12:55:26 -07:00
Bill Nottingham
c2743d8678 Merge pull request #3802 from wenottingham/oh-noes-not-again
Check the user's ansible.cfg for role/collection paths.
2019-10-15 14:21:18 -04:00
Bill Nottingham
60ca843b71 Use logger.exception instead of logger.warning. 2019-10-15 14:20:09 -04:00
Keith Grant
766f863655 update ProjectDetails tests with memoryHistory 2019-10-15 11:11:44 -07:00
Seth Foster
e85fe6a3b7 Merge pull request #3807 from fosterseth/release_3.6.0
Allow oauth2 settings to be set in the ui and api
2019-10-15 13:40:25 -04:00
Keith Grant
0b190c2d0d fix login/logout redirect behavior 2019-10-15 10:25:40 -07:00
Keith Grant
c7d73c4583 lint fixes 2019-10-15 10:25:40 -07:00
Keith Grant
7ad2c03480 clean up 'act()' warnings in tests 2019-10-15 10:25:40 -07:00
Keith Grant
9e44fea7b5 bump react to lastest patch version 2019-10-15 10:25:40 -07:00
Keith Grant
baf5bbc53a finish updating tests for upgraded react-router 2019-10-15 10:25:40 -07:00
Keith Grant
20c24eb275 WIP upgrade react & react-router 2019-10-15 10:25:40 -07:00
Alex Corey
5cf84ddb60 Sys Aud can see CG forms, Adds correct CG form link, Disables CodeMirror
This allows the System Auditor to see the container groups form in a disabled state.
If the pod_spec_override has been changed that field will be open when the page renders
but it will be disabled. It also greys out all code mirror text area fields for System Auditor.
It adds the correct url for the Container Groups message bar to inform users of possible
pitfalls associated with that feature.
2019-10-15 10:47:04 -04:00
Jake McDermott
85781d0bc1 Allow navigation to previous launch prompt tabs 2019-10-14 17:07:50 -04:00
softwarefactory-project-zuul[bot]
cbed525547 Merge pull request #4965 from marshmalien/project-detail
Add project detail and unit tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-14 18:30:30 +00:00
Michael Abashian
31c14b005c Merge pull request #3816 from ansible/4945-wfjt-responsivity-styles
Fix workflow results detail panel responsive style
2019-10-14 14:28:38 -04:00
Michael Abashian
7574541037 Merge pull request #3814 from ansible/4846-wfjt-notifications-placeholder
Style empty list placeholder text inline
2019-10-14 14:28:03 -04:00
Marliana Lara
e5184e0ed1 Fix workflow results detail panel responsive style 2019-10-14 13:50:59 -04:00
Marliana Lara
6282b5bacb Style empty list placeholder text inline 2019-10-14 13:11:31 -04:00
Wander Boessenkool
038fd9271d Properly escape quotes 2019-10-14 17:53:28 +02:00
Seth Foster
8e26e4edd5 Allow oauth2 settings to be set in the ui and api
Oauth2 settings were initialized early in the awx import stage, and
those settings were not modifiable. This change allows oauth2 to check
for settings in django.conf settings, which are dynamically updated
through api calls at runtime. As a result, oauth2 settings will match
the values in django.conf settings at any point in time.
2019-10-14 11:38:20 -04:00
softwarefactory-project-zuul[bot]
027e79b7f5 Merge pull request #5006 from keithjgrant/4550-searchbar-no-results
Retain search bar when zero results found

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-14 15:31:55 +00:00
Jeff Bradberry
cf89108edf Force the CLI to use no_truncate for the monitor calls 2019-10-14 11:21:11 -04:00
Matthew
e06bf9f87e Change host counting for task impact
Go through the job -> inventory module linkage to calculate the hosts for a more accurate view
of the number of hosts that could be impacted. This also creates a bailout that will set count
hosts to the forks rather than assuming some crazy low number in the case where we can't determine
the actual number of hosts because we are missing the inventory
2019-10-14 10:41:21 -04:00
Wander Boessenkool
e87055095c Change 'rabbitmqctl status' to a wget | grep
- This reduces CPU usage from 250 millis on idle to 25 millis on idle
- Default rabbitmq user needs administrator privileges
2019-10-14 14:53:53 +02:00
Jeff Bradberry
e672e68a02 Allow the job event list views to take a no_truncate GET param 2019-10-11 17:18:36 -04:00
Graham Mainwaring
263c44a09b Merge pull request #3808 from ghjm/workflow_approved_by
Add approved_by field to workflow approvals
2019-10-11 17:00:54 -04:00
Graham Mainwaring
08839e1381 Add approved_by field to workflow approvals 2019-10-11 16:57:13 -04:00
Keith Grant
faffbc3e65 retain search bar when zero results found 2019-10-11 12:11:41 -07:00
Alan Rominger
8e296bbf8c Merge pull request #3796 from AlanCoding/inventory_fq_36
use fully qualified inventory plugin name
2019-10-11 06:56:13 -04:00
Khaled Elkhawaga
e38ed6574c update comments for kubernetes ingress
Signed-off-by: Khaled Elkhawaga <k.elkhawaga@gmail.com>
2019-10-11 01:51:38 +02:00
Khaled Elkhawaga
267e297eca add variable to set tls secret for kubernetes ingress
Signed-off-by: Khaled Elkhawaga <k.elkhawaga@gmail.com>
2019-10-11 00:52:24 +02:00
Jake McDermott
03d59e1616 Tune webpack config and add Dockerfile
Add Dockerfile for running containerized dev server. Update webpack
config to make dev server available over exposed docker port.
2019-10-10 17:37:27 -04:00
Jeff Bradberry
9efa7b84df Depend on a serializer context variable no_truncate
to decide whether to turn off the ANSI control sequence-aware
truncation, instead of needing inappropriate awareness of the details
of the view that invoked the serializer.  This will also allow us to
have views that can more flexibly turn off the truncation under other
circumstances.
2019-10-10 16:08:17 -04:00
Ryan Petrello
8e1f7695b1 Merge pull request #3803 from ansible/back-to-pending
Prevent pods from failing if the reason is because of a resource quota
2019-10-10 16:08:08 -04:00
Ryan Petrello
d6adab576f Merge pull request #3800 from ansible/update-vmware-inv-script
update to latest vmware_inventory.py
2019-10-10 16:07:31 -04:00
Jeff Bradberry
a803cedd7c Break out a new reusable truncate_stdout utility function 2019-10-10 16:07:08 -04:00
Ryan Petrello
d5bdf554f1 fix a programming error when k8s pods fail to launch 2019-10-10 15:54:00 -04:00
Shane McDonald
8f75382b81 Implement retry logic for container group pod launches 2019-10-10 15:53:56 -04:00
Shane McDonald
b93164e1ed Prevent pods from failing if the reason is because of a resource quota
Signed-off-by: Shane McDonald <me@shanemcd.com>
2019-10-10 15:53:50 -04:00
Bill Nottingham
31bdde00c9 Check the user's ansible.cfg for role/collection paths.
There's no other way to add our new paths reliably without breaking things.
2019-10-10 15:09:26 -04:00
Ryan Petrello
a733a59b8d prevent the creation of Host names that contain Jinja 2019-10-10 14:46:03 -04:00
Ryan Petrello
ed52e8348b Merge pull request #3799 from ansible/log-audit-note
add a note about settings.LOG_AGGREGATOR_AUDIT usage
2019-10-10 11:32:34 -04:00
Ryan Petrello
008fe42b4d update to latest vmware_inventory.py
06c7b87613/contrib/inventory/vmware_inventory.py
2019-10-10 10:49:15 -04:00
Ryan Petrello
d9dbbe6748 add a note about settings.LOG_AGGREGATOR_AUDIT usage
see: https://github.com/ansible/awx/pull/4872#issuecomment-540133448
2019-10-10 10:44:23 -04:00
AlanCoding
16ebfe3a63 use fully qualified inventory plugin name 2019-10-10 08:51:18 -04:00
softwarefactory-project-zuul[bot]
08df2cad68 Merge pull request #4974 from jakemcdermott/switch-default-job-panel
Switch default job panel to output

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-10-10 04:24:04 +00:00
softwarefactory-project-zuul[bot]
ca039f5338 Merge pull request #4957 from jakemcdermott/webhooks-labels
Use consistent wording for JT options

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-10 02:44:16 +00:00
Marliana Lara
4b83bda306 Wrap phrase for translation and update test 2019-10-09 22:24:50 -04:00
Marliana Lara
7fc4e8d20a Add project detail and unit tests 2019-10-09 22:24:49 -04:00
softwarefactory-project-zuul[bot]
4c697ae477 Merge pull request #4905 from rooftopcellist/collection_frequency
Update Frequency of Collection for Automation Analytics

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-10 02:22:51 +00:00
Christian Adams
844b8a803f update frequency of collection for automation analytics 2019-10-09 21:10:48 -04:00
Ryan Petrello
7fe32ab607 Merge pull request #4868 from rebeccahhh/survey-spec-default
Sanitize newlines out of survey option inputs
2019-10-09 21:09:33 -04:00
Ryan Petrello
cc27c95187 Merge pull request #4872 from ryanpetrello/log-aggregration-auditing
add a settings flag for writing all external logs to disk
2019-10-09 21:09:19 -04:00
softwarefactory-project-zuul[bot]
9745bfbdb4 Merge pull request #4931 from austlane/devel
Requirements.txt: Upgrade bundled pyvmomi to 6.7.3

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-10 00:20:50 +00:00
Austin
d6708b2b59 Upgrade bundled pyvmomi to 6.7.3
Fixes issues with vmware_guest_facts expecting version 6.7.1 or greater (JSON support)
2019-10-09 14:45:00 -04:00
Jake McDermott
c202574ae3 Switch default job panel to output 2019-10-09 14:31:44 -04:00
Rebeccah
7efacb69aa added in parsing for multiple choice and multiselect, which either takes a string, splits it up, and then eliminates any extra newlines, or just accepts alist. Extra newlines are sanitized out.
Signed-off-by: Rebeccah <rhunter@redhat.com>
2019-10-09 13:59:32 -04:00
Ryan Petrello
a076e84a33 add a settings flag for writing all external logs to disk 2019-10-09 13:54:54 -04:00
Jake McDermott
bc6648b518 Use consistent wording for JT options 2019-10-09 13:22:40 -04:00
dgiorgio
1f76a88656 Fix postgres docker-compose, add postgresql_image var 2019-10-09 12:43:29 -04:00
softwarefactory-project-zuul[bot]
ff67d65065 Merge pull request #4932 from jakemcdermott/combine-lint-and-test
Add targets for combined lint and test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-09 15:50:22 +00: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
softwarefactory-project-zuul[bot]
0f1a92bd51 Merge pull request #4589 from AlanCoding/mah_galaxy
Allow use of user-specified private galaxy server with fallback

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-09 15:01:12 +00:00
softwarefactory-project-zuul[bot]
f10dc16014 Merge pull request #4921 from ryanpetrello/ryan-broke-it
fix a bug that breaks inventory update stdout when used in a workflow

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-09 14:50:52 +00:00
softwarefactory-project-zuul[bot]
bbc4ec48b9 Merge pull request #4933 from beeankha/org_notification_fix
Org-Level Notification Fix + Show URL 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-09 14:25:43 +00:00
softwarefactory-project-zuul[bot]
fff8664219 Merge pull request #4941 from mabashian/3727-output-scroll
Removes restriction on scrolling for output fewer than 50 lines

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-09 13:46:46 +00:00
softwarefactory-project-zuul[bot]
bc8f5ad015 Merge pull request #4929 from mabashian/ui-next-inventories
Adds basic inventory list and scaffolding for inv/smart inv details and related tabs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-09 13:46:43 +00:00
softwarefactory-project-zuul[bot]
9fade47bbf Merge pull request #4937 from Spredzy/fix_svn_project_sync
project_update: Make subversion module honor locale

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-09 13:40:26 +00:00
softwarefactory-project-zuul[bot]
5ad922a861 Merge pull request #4938 from jakemcdermott/fix-missing-iso
Use summary_fields.controller_id to tell if job is isolated

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-08 20:18:03 +00:00
mabashian
f34bd632d8 Adds unit test coverage for add button rbac on several lists 2019-10-08 16:10:55 -04:00
mabashian
d239d55d2a Failed delete string pluralization 2019-10-08 15:15:13 -04:00
mabashian
d9ad906167 Adds basic inventory list and scaffolding for inv/smart inv details+related tabs 2019-10-08 15:09:32 -04:00
AlanCoding
d40ab38745 Get rid of warning in collections install 2019-10-08 14:19:52 -04:00
mabashian
8acd4376d9 Removes restriction on scrolling for output fewer than 50 lines 2019-10-08 14:15:25 -04:00
Jake McDermott
a7a194296c Use summary_fields.controller_id to tell if job is isolated 2019-10-08 12:08:23 -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
AlanCoding
f10296b1b7 Revert "bump required version to 2.10"
This reverts commit e0e9c8321b.
2019-10-08 11:20:57 -04:00
AlanCoding
e0e9c8321b bump required version to 2.10 2019-10-08 11:00:57 -04:00
softwarefactory-project-zuul[bot]
52b145dbf6 Merge pull request #4930 from mabashian/4889-number-input-scroll
Prevent usage of mousewheel on spinner elements

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-08 14:25:07 +00:00
AlanCoding
0594bdf650 Add more galaxy server param validation 2019-10-07 20:03:40 -04:00
softwarefactory-project-zuul[bot]
ba9758ccc7 Merge pull request #4915 from jakemcdermott/fix-template-load-error
Gracefully handle missing template summary fields 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-07 19:35:40 +00:00
beeankha
02b13fd4ae Enable notifications to send at org level, ...
... and list the URL in body of approval notification messages.
2019-10-07 15:34:09 -04:00
AlanCoding
06c62c4861 update docs for galaxy auth URL material 2019-10-07 14:52:10 -04:00
Jake McDermott
132555485c Add targets for combined lint and test
Reduce the total number of simultaneous zuul jobs.
2019-10-07 14:49:18 -04:00
softwarefactory-project-zuul[bot]
f1a9e68985 Merge pull request #4928 from saito-hideki/issue/4749
Fixed missing user-id in URL links when adding users to Team and Org …

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-07 18:32:19 +00:00
AlanCoding
c09039e963 Add setting for auth_url
Also adjust public galaxy URL setting to
allow using only the primary Galaxy server

Include auth_url in token exclusivity validation
2019-10-07 14:02:43 -04:00
AlanCoding
85c99cc38a Redact env vars for Galaxy token or password 2019-10-07 14:02:43 -04:00
AlanCoding
576ff1007e Describe usage of primary galaxy server in docs 2019-10-07 14:02:43 -04:00
AlanCoding
922e779a86 Rename private to primary in galaxy settings
use a setting for the public galaxy URL
2019-10-07 14:02:43 -04:00
AlanCoding
8bda048e6d validate galaxy server settings
involves some changes to the redact code
2019-10-07 14:02:42 -04:00
AlanCoding
093bf6877b Finish adding settings to UI 2019-10-07 14:02:42 -04:00
AlanCoding
d59d8562db Avoid redacting Galaxy URLs 2019-10-07 14:02:42 -04:00
AlanCoding
c566c332f9 Initial env var implementation of private galaxy server 2019-10-07 14:02:42 -04:00
mabashian
cb4a3a799e Prevent usage of mousewheel on spinner elements 2019-10-07 11:28:51 -04:00
softwarefactory-project-zuul[bot]
5a5b46aea0 Merge pull request #4903 from jakemcdermott/add-output-for-all-job-types
Make job output panel work with all job types

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-07 15:17:53 +00:00
Jake McDermott
85909c4264 Gracefully handle missing summary fields
Not all templates have `modified_by`, `created_by` fields or
other summary_fields. Avoid page load error by only referencing these
fields if they exist.
2019-10-07 10:57:56 -04:00
softwarefactory-project-zuul[bot]
9d2c877143 Merge pull request #4913 from jakemcdermott/list-item-date-formatting
Add basic date formatter

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-07 14:27:39 +00:00
Hideki Saito
8e94c0686a Fixed missing user-id in URL links when adding users to Team and Org in modal
- Fixed issue #4749

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-10-07 09:47:29 +00:00
softwarefactory-project-zuul[bot]
52447f59c1 Merge pull request #4924 from ryanpetrello/runner-1-4-2
pin to runner==1.4.2

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-05 18:55:36 +00:00
Ryan Petrello
04eed02428 pin to runner==1.4.2 2019-10-04 17:11:34 -04:00
Ryan Petrello
b45b9333e1 Merge pull request #4716 from jladdjr/perf_stats
Enable collection of performance stats
2019-10-04 17:09:30 -04:00
softwarefactory-project-zuul[bot]
62659aefc2 Merge pull request #4189 from shanemcd/toc
Container Groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-04 20:19:12 +00:00
softwarefactory-project-zuul[bot]
a52ccd1086 Merge pull request #4859 from mabashian/ui-next-projects
Add projects list and scaffolding for project details+tabs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-04 19:54:15 +00:00
Jim Ladd
bd9a196ef9 bump ansible-runner to 1.4.1 2019-10-04 12:48:29 -07:00
Ryan Petrello
64b04e6347 bump ansible-runner to 1.4.0 2019-10-04 12:48:29 -07:00
Jim Ladd
15e70d2173 Add tests for resource profiling 2019-10-04 12:48:29 -07:00
Keith Grant
b981f3eed6 add resource profiling toggle in jobs settings 2019-10-04 12:48:29 -07:00
Jim Ladd
2c1c2f452d Add libcgroup-tools to dev env (provides cgcreate, cgexec, etc) 2019-10-04 12:48:29 -07:00
Jim Ladd
cf1c9a0559 Add awx settings for resource profiling 2019-10-04 12:48:29 -07:00
Jim Ladd
ed3f49a69d Add support for calling runner with perf stats 2019-10-04 12:48:29 -07:00
Alex Corey
74b398f920 Add Tech Preview notice to Container Group UI
and some refactoring
2019-10-04 15:17:57 -04:00
Ryan Petrello
ae0c9ead40 fix a bug that breaks inventory update stdout when used in a workflow
see: https://github.com/ansible/awx/issues/4920
related: https://github.com/ansible/awx/pull/4731
2019-10-04 15:17:39 -04:00
mabashian
d6a0f929a8 Fix merge conflict fallout 2019-10-04 15:10:02 -04:00
softwarefactory-project-zuul[bot]
f5358f748e Merge pull request #4919 from ryanpetrello/jupyter-minus-minus
remove jupyter from supervisor in the dev env

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-04 19:07:47 +00:00
mabashian
c9e889ca82 Removes residual references to org from project list components. Assign IDs to project and jt related tabs after array has been finalized. 2019-10-04 15:06:06 -04:00
mabashian
f502fbfad6 Put project related tabs in the correct order 2019-10-04 15:06:06 -04:00
mabashian
b8fe3f648e Add projects list and scaffolding for project details+tabs 2019-10-04 15:06:06 -04:00
softwarefactory-project-zuul[bot]
8d3ecf708b Merge pull request #4856 from AlexSCorey/4247-ResponsveTemplateList
Makes template list Responsive

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
             https://github.com/AlexSCorey
2019-10-04 18:50:24 +00:00
Alex Corey
9289ade1ec IG List responsiveness 2019-10-04 13:21:28 -04:00
Alex Corey
958c8a4177 Fixes Credential Type Issue, ExtraVars Toggle Issue, Job Results Inert Link 2019-10-04 13:21:28 -04:00
Shane McDonald
59413e0a8f Change default pod spec in OPTIONS request to json 2019-10-04 13:21:28 -04:00
Mat Wilson
ad1e7c46c3 add k8s cred type to awxkit 2019-10-04 13:21:28 -04:00
Alex Corey
8fabb1f10d Show override toggle as off when pod_spec matches default 2019-10-04 13:21:28 -04:00
Alex Corey
895c71f62c removes instances tab from CGs 2019-10-04 13:21:27 -04:00
Alex Corey
32a57e9a97 add default pod spec to edit 2019-10-04 13:21:27 -04:00
Alex Corey
584777e21e Adds Tabs to CGs 2019-10-04 13:21:27 -04:00
Jake McDermott
61a756c59d add is_containerized to ig serializer 2019-10-04 13:21:27 -04:00
Jake McDermott
b547a8c3ca link to container group from job runs 2019-10-04 13:21:27 -04:00
Alex Corey
007f33c186 Add Container Group Form Render and cred type modal pops up
modal render proper cred

WIP

modal rendering properly

card for edit CG renders, no fields

add code mirror and some list styling

address PR issues
2019-10-04 13:21:27 -04:00
Shane McDonald
aab1cd68b0 Fix InstanceGroup summary fields 2019-10-04 13:21:24 -04:00
Shane McDonald
92cc9a9213 Create separate Make target for cleaning API-related artifacts
My workflow for running tests is now:

```
$ docker exec -ti tools_awx_1 make clean-api awx-link test
```
2019-10-04 13:21:23 -04:00
Shane McDonald
b9c675e3a2 API documentation for container groups 2019-10-04 13:21:23 -04:00
Shane McDonald
bd5003ca98 Task manager / scheduler Kubernetes integration 2019-10-04 13:21:21 -04:00
Jake McDermott
d3b0edf75a Apply date formatter to lists and details 2019-10-04 13:17:15 -04:00
Jake McDermott
9421781cc7 Add basic date formatter 2019-10-04 13:16:42 -04:00
Shane McDonald
a9059edc65 Allow associating a credential with an instance group 2019-10-04 12:54:31 -04:00
Shane McDonald
7850e3a835 Ignore unison and emacs temporary files 2019-10-04 12:54:31 -04:00
Ryan Petrello
34d02011db remove jupyter from supervisor in the dev env
if you use this tool, just run `make jupyter`
2019-10-04 11:53:26 -04:00
softwarefactory-project-zuul[bot]
353692a0ba Merge pull request #4896 from mabashian/ui_next-notifs
Refactor notifications list and add it to JT details

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-10-04 14:50:35 +00:00
mabashian
90451e551d Add notifications to the breadcrumb config for templates 2019-10-04 09:48:38 -04:00
mabashian
2457926f0a Refactor notifications list to be more generic. Hook notifictions tab up on JT details. 2019-10-04 09:48:38 -04:00
softwarefactory-project-zuul[bot]
cf27ac295a Merge pull request #4893 from wenottingham/we-will-not-present-you-for-confirmation
Remove text about confirming launch-time passwords.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-04 10:40:56 +00:00
Jim Ladd
7e40673dd0 Add docs for perf data collection 2019-10-03 23:54:00 -07:00
softwarefactory-project-zuul[bot]
daa6f35d02 Merge pull request #4914 from jladdjr/increase_instance_version_length
Increase instance version length

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-04 05:37:40 +00:00
Jim Ladd
cdcf2fa4c2 Increase instance version length 2019-10-03 21:24:07 -04:00
Jake McDermott
275765b8fc Refactor language utility
Move the language helper out of RootProvider and into a utilities
module so that it can be more easiliy reused where needed. In some
cases we want the full language code so that logic has been moved
into a separate function.
2019-10-03 20:26:47 -04:00
softwarefactory-project-zuul[bot]
2786395808 Merge pull request #4436 from jbradberry/webhook-receivers
Webhook receivers

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 22:23:22 +00:00
Jake McDermott
731982c736 Build correct job_event url for different job types 2019-10-03 16:27:02 -04:00
softwarefactory-project-zuul[bot]
d2214acd6d Merge pull request #4895 from rooftopcellist/rm_cruft
Remove unneeded debug statement

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 20:07:44 +00:00
Bill Nottingham
9d593f0715 Remove text about confirming launch-time passwords.
We haven't done confirmation on these for a long time.
2019-10-03 15:22:15 -04:00
softwarefactory-project-zuul[bot]
9e778b24c7 Merge pull request #4890 from rooftopcellist/refresh_expiry
Add RefreshToken Expiration setting in UI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 19:13:58 +00:00
softwarefactory-project-zuul[bot]
bdd28bcb3b Merge pull request #4899 from ryanpetrello/cli-improved-name-lookups
attempt to properly map more foreign keys to named lookups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 18:52:57 +00:00
Christian Adams
19a6c70858 remove cruft leftover from the postgresql upgrade 2019-10-03 14:43:56 -04:00
softwarefactory-project-zuul[bot]
393474f33d Merge pull request #4701 from AlanCoding/awx_modules_merge
Migrate Ansible tower modules to collection maintained alongside AWX

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 18:25:55 +00:00
softwarefactory-project-zuul[bot]
b41e6394c5 Merge pull request #4898 from mabashian/upgrade-handlebars-uglify
Bumps handlebars and uglify-js deps

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-10-03 17:35:24 +00:00
Christian Adams
f36f10a702 add RefreshToken Expiration setting in UI 2019-10-03 13:13:31 -04:00
Ryan Petrello
fccd6a2286 attempt to properly map more foreign keys to named lookups
this is imperfect, but it's at least an improvement until we can come up
with a better solution

in order to really do this right, the API itself probably needs to grow
some more metadata that allows us to specify *actual* `type`s that
relate to API resources

see: https://github.com/ansible/awx/issues/4874
2019-10-03 12:59:06 -04:00
mabashian
ea2312259f Bumps handlebars and uglify-js deps 2019-10-03 12:54:56 -04:00
softwarefactory-project-zuul[bot]
0e2b7767f5 Merge pull request #4900 from mabashian/fix-snapshot
Fix broken notif list snapshot

Reviewed-by: awxbot
             https://github.com/awxbot
2019-10-03 16:52:56 +00:00
mabashian
82505cd43a Fix broken notif list snapshot 2019-10-03 12:19:50 -04:00
softwarefactory-project-zuul[bot]
5b17ce5729 Merge pull request #4886 from fosterseth/fix-4710-clearexpiredtokens
Set oauth2 refresh token expiration setting

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 16:19:10 +00:00
softwarefactory-project-zuul[bot]
82b313c767 Merge pull request #4871 from rooftopcellist/check_db
Add awx-manage command to check db connection

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 15:16:32 +00:00
softwarefactory-project-zuul[bot]
fec67a3545 Merge pull request #4888 from ryanpetrello/cli-send-receive-note
cli: add a note about send/receive

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 14:17:08 +00:00
softwarefactory-project-zuul[bot]
202af079eb Merge pull request #4849 from mabashian/3779-license-error
Show error body when license application fails

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 12:57:23 +00:00
softwarefactory-project-zuul[bot]
f78d7637a4 Merge pull request #4853 from mabashian/4778-workflow-text-overlap
Prevent text overlap on workflow nodes when an approval node is deleted

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 12:48:56 +00:00
softwarefactory-project-zuul[bot]
71bd257191 Merge pull request #4875 from keithjgrant/4684-jt-form-cleanup
Job Template form cleanup

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-02 22:24:57 +00:00
Keith Grant
82064eb4dc fix prop type error in LabelSelect 2019-10-02 14:17:14 -07:00
Seth Foster
bbd625f3aa update help_text to include information about REFRESH_TOKEN_EXPIRE_SECONDS 2019-10-02 17:16:01 -04:00
softwarefactory-project-zuul[bot]
3725ccb43b Merge pull request #4865 from mabashian/3607-settings
Fix settings page rendering when some fields are set manually in file

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-02 19:43:18 +00:00
Seth Foster
8b22c86b10 Register default settings for OAUTH2_PROVIDER app
Grab AUTHORIZATION_CODE_EXPIRE_SECONDS from oauth2_settings
rather than hard code.

Add REFRESH_TOKEN_EXPIRE_SECONDS to valid_key_names
in OAuth2ProviderField class
2019-10-02 15:29:45 -04:00
softwarefactory-project-zuul[bot]
e6a5d18ebe Merge pull request #4885 from wenottingham/minor-typo
Apply some minor copy edits to awx docs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-02 18:35:32 +00:00
softwarefactory-project-zuul[bot]
eca191f7f5 Merge pull request #4839 from rebeccahhh/devel
added in ability to delete a user if they are part of your organization

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-02 18:35:27 +00:00
Ryan Petrello
35fe127891 cli: add a note about send/receive 2019-10-02 14:06:56 -04:00
Seth Foster
db1ad2de95 Set REFRESH_TOKEN_EXPIRE_SECONDS
- Set OAUTH2 REFRESH_TOKEN_EXPIRE_SECONDS to 1 month
  (2628000 seconds)
- If not set, awx-manage cleartokens, or cleanup_tokens,
  will not work properly
- Once cleartokens is run, this setting is the amount of
  time after an access token expires that we keep its
  refresh token in the database
2019-10-02 13:51:46 -04:00
Bill Nottingham
ac12a9cfe1 Apply some minor copy edits 2019-10-02 13:46:10 -04:00
softwarefactory-project-zuul[bot]
dacda644ac Merge pull request #4882 from jbradberry/isolated-playbooks-with-spaces
Quote the playbook passed to runner from the isolated manager

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-02 17:40:20 +00:00
softwarefactory-project-zuul[bot]
cfa407e001 Merge pull request #4843 from lunarthegrey/patch-1
Fix issue #3705

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-02 17:38:13 +00:00
softwarefactory-project-zuul[bot]
329630ce2a Merge pull request #4869 from mabashian/4192-enter-textarea
Unbind keydown listeners when Alert modals are closed.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-02 15:11:21 +00: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]
a9b299cd98 Merge pull request #4881 from ryanpetrello/cli-ssh-example
cli: warn users if they specify a missing file with @

Reviewed-by: Yanis Guenane
             https://github.com/Spredzy
2019-10-02 15:00:51 +00:00
Ryan Petrello
6c1488ed00 cli: warn users if they specify a missing file with @ 2019-10-02 10:28:04 -04:00
softwarefactory-project-zuul[bot]
1f62d223a2 Merge pull request #4880 from ryanpetrello/cli-install-rst
template CLI install documentation into a separate file

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-02 14:04:05 +00:00
Ryan Petrello
da23c4e949 template CLI install documentation into a separate file 2019-10-02 09:41:11 -04:00
Keith Grant
6d00d43273 prettier 2019-10-01 15:20:51 -07:00
Keith Grant
77b68e0eb7 use getAddedAndRemoved for saving instance groups 2019-10-01 14:37:42 -07:00
softwarefactory-project-zuul[bot]
945d100302 Merge pull request #4836 from fosterseth/fix-4334-active-user-removed
check if User exists before saving UserSessionMembership

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-01 19:59:11 +00:00
Christian Adams
c0fd70f189 add mgmt cmd to check db connection 2019-10-01 15:40:43 -04:00
Keith Grant
ba4e79fd3a update JT form tests 2019-10-01 11:03:36 -07:00
AlanCoding
db0bd471c3 rename playbook vars to have collection_ 2019-10-01 13:45:07 -04:00
mabashian
616fe285fa Unbind keydown listeners when Alert modals are closed.
This fixes a bug where attempting to hit enter in any sort of textarea would be ignored if the user had previously encountered an Alert modal while navigating throughout the application.
2019-10-01 12:38:43 -04:00
Jake McDermott
b4b2cf76f6 Refactor job secondary label assignment 2019-10-01 10:33:47 -04:00
mabashian
4aeda635ff Checks to make sure that OAUTH2_PROVIDER key is returned by api in settings options before attempting to use it. This fixes a bug where setting ACCESS_TOKEN_EXPIRE_SECONDS and AUTHORIZATION_CODE_EXPIRE_SECONDS manually in a file was causing the settings page to render improperly. 2019-10-01 10:17:33 -04:00
softwarefactory-project-zuul[bot]
7e8c00ee24 Merge pull request #4864 from ryanpetrello/dont-stop-the-beat
warn loudly if celerybeat encounters AMQP connection issues

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-01 13:56:54 +00:00
Ryan Petrello
27c4e35ee4 warn loudly if celerybeat encounters AMQP connection issues
related: https://github.com/ansible/awx/pull/4857
2019-10-01 09:32:22 -04:00
softwarefactory-project-zuul[bot]
80a17987ff Merge pull request #4854 from ryanpetrello/cli-login-formatting
cli: make `awx login` respect the -f flag

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-01 01:14:15 +00:00
softwarefactory-project-zuul[bot]
10a6a29a07 Merge pull request #4857 from ryanpetrello/kombu-dns
make kombu DNS failures louder in the logs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-30 21:35:29 +00:00
Ryan Petrello
b80eafe4a1 make kombu DNS failures louder in the logs 2019-09-30 16:48:09 -04:00
Alex Corey
6c443a0a6a fix lint error 2019-09-30 16:38:51 -04:00
Alex Corey
55378c635e Makes template list responive 2019-09-30 16:28:24 -04:00
Ryan Petrello
a4047e414f cli: make awx login respect the -f flag
see: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/awx-project/ZAlhpLMBzVw/fUSqujoWBQAJ
2019-09-30 15:38:08 -04:00
Jeff Bradberry
d549877ebd Check for the existance of a UnifiedJobTemplate with the same webhook GUID
instead of trying (incorrectly) to be specific about the JT/WFJT type.
2019-09-30 15:26:49 -04:00
Rebeccah
28a119ca96 re-worked unit test into 3 seperate unit tests, one for orphans, one for group members, and one for multi-group members 2019-09-30 15:07:19 -04:00
Rebeccah
758529d7dd added in unit test for org admin deleting user 2019-09-30 15:07:19 -04:00
Rebeccah
075d1a2521 removed superuser check since can_admin already checks that, and also added allow orphans so admins can delete orphaned users 2019-09-30 15:07:19 -04:00
Rebeccah
69924c9544 added in ability to delete a user if they are part of your organization 2019-09-30 15:07:19 -04:00
softwarefactory-project-zuul[bot]
b858001c8f Merge pull request #4851 from ryanpetrello/fix-host-key-checking
improve host key checking configurability

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-30 18:38:05 +00:00
Ryan Petrello
82be87566f improve host key checking configurability
see: https://github.com/ansible/tower/issues/3737
2019-09-30 14:13:07 -04:00
mabashian
52b8b7676a Prevent text overlap on workflow nodes when an approval node is deleted 2019-09-30 13:38:46 -04:00
Jeff Bradberry
204c05aa3b Change the webhook post-back payload to use the job UI url 2019-09-30 13:32:23 -04:00
Jeff Bradberry
ac34b24868 Post the job or workflow url to the webhook service as part of the status 2019-09-30 13:32:23 -04:00
Jeff Bradberry
ffe89820e3 Return to using ContentType.kind
which is _not_ the `kind` attribute being deprecated.
2019-09-30 13:32:23 -04:00
Jeff Bradberry
062c4908c9 Modify the webhook debounce logic
to check if we've already previously run a job with the same webhook
GUID plus template id.  This will allow organizations to write
multiple JT/WFJTs to handle the same set of webhook events.
2019-09-30 13:32:23 -04:00
Jeff Bradberry
b6b70e55fb Address a variety of small review issues 2019-09-30 13:32:23 -04:00
Jeff Bradberry
6aa6471b7c Add help_text to the new fields 2019-09-30 13:32:23 -04:00
Jeff Bradberry
e14d4ddec6 Add a doc template to the webhook key API view 2019-09-30 13:32:23 -04:00
Jake McDermott
84dcda0a61 Use job launch_type field to detect webhook jobs
We have a launch type field for categorizing the different ways jobs
can be launched. This updates the UI to use this field when checking
if a job was launched by a webhook.
2019-09-30 13:32:23 -04:00
Jeff Bradberry
df24f5d28f Add a new launch_type of 'webhook' 2019-09-30 13:32:23 -04:00
Jeff Bradberry
fea7f914d2 Avoid the use of CredentialType.kind 2019-09-30 13:32:23 -04:00
Elijah DeLee
d4c8167b1b add arguments to awxkit for webhooks on jt or wfjt 2019-09-30 13:32:22 -04:00
Jeff Bradberry
a4873d97d8 Raise a validation error if a credential is set while the service is not 2019-09-30 13:32:22 -04:00
Jeff Bradberry
efe4ea6575 Fix the webhook receiver url for workflow jobs 2019-09-30 13:32:22 -04:00
Jeff Bradberry
b415c31b4f Fix problems with posting to Gitlab's API 2019-09-30 13:32:22 -04:00
Jeff Bradberry
e91462d085 Update the Webhook Credential help text tooltip
to make it more apparent to the user that this is an optional part of
the feature, and that failure to add a webhook credential will disable
status post-backs.
2019-09-30 13:32:22 -04:00
Jake McDermott
e85ff83be6 Apply 403 alert fixes for Workflows, too 2019-09-30 13:32:22 -04:00
Jake McDermott
d500c1bb40 Don't alert user of 403 errors for webhook key 2019-09-30 13:32:22 -04:00
Jeff Bradberry
885841caea Drop Bitbucket support
since only the Bitbucket Server product supports signed payloads,
bitbucket.org does not.  And we are requiring signed payloads.
2019-09-30 13:32:22 -04:00
Jake McDermott
f7396cf81a Always include selected webhook service in creation requests 2019-09-30 13:32:22 -04:00
Jeff Bradberry
286da3a7eb Posting webhook status now works 2019-09-30 13:32:21 -04:00
Jeff Bradberry
40b03eb6ef Enable the call to update_webhook_status
by calling it directly within send_notification_templates.  Also,
update the context field in the payload to be either 'ansible/awx' or
'ansible/tower', depending on which is being used.
2019-09-30 13:32:21 -04:00
Jeff Bradberry
c76c531b7a Provide a payload for the webhook status post-back 2019-09-30 13:32:21 -04:00
Jake McDermott
75d3359b6f make label consistent with help text 2019-09-30 13:32:21 -04:00
Jeff Bradberry
4ad5054222 Add logic to post the job status for webhooks back to the service
under some circumstances.
2019-09-30 13:32:21 -04:00
Jeff Bradberry
aa34984d7c Fix the git ref extractor for Gitlab pull requests 2019-09-30 13:32:21 -04:00
Jake McDermott
08594682a4 stub options request in workflow add unit test 2019-09-30 13:32:21 -04:00
Jeff Bradberry
d73abda5d1 Update the webhook receiver git ref extractor logic
to deal with the null-ref case, and to deal correctly with Github push events.
2019-09-30 13:32:21 -04:00
Jake McDermott
3bc91f123e add trailing '/' to webhook urls 2019-09-30 13:32:21 -04:00
Jake McDermott
41ba5c0968 add webhook fields to workflow unit test mock 2019-09-30 13:32:21 -04:00
Jeff Bradberry
e8e3a601b2 Pull out a git ref for each event type where we might care 2019-09-30 13:32:21 -04:00
Jake McDermott
b96c03e456 represent webhooks on job lists 2019-09-30 13:32:21 -04:00
Jake McDermott
5e9448a854 always show launched by webhook details if there's a webhook guid 2019-09-30 13:32:21 -04:00
Jake McDermott
6b17e86f30 add launched-by-webhook details to job runs 2019-09-30 13:32:21 -04:00
Jake McDermott
00337990db add webhook fields to workflows 2019-09-30 13:32:21 -04:00
Jake McDermott
1a33ae61a7 use key icon for webhook cred 2019-09-30 13:32:21 -04:00
Jake McDermott
5f7bfaa20a support server-side webhook key generation 2019-09-30 13:32:21 -04:00
Jeff Bradberry
178a2c7c49 Disable the authentication classes for the webhook receivers
One of them was consuming the body of the posts.  We do still need to
have an extraneous `request.body` expression, though now in
WebhookReceiverBase.post, since the `request.data` expression in the
logging also consumes the request body.
2019-09-30 13:32:20 -04:00
Jeff Bradberry
58e5f02129 Expose the new webhook fields in the job and workflow serializers 2019-09-30 13:32:20 -04:00
Jeff Bradberry
dd6c97ed87 Include a message in the webhook response 2019-09-30 13:32:20 -04:00
Jeff Bradberry
7aa424b210 Make sure that the new webhook fields are populated when firing off a job
Also, added a temporary hacky workaround for the fact that something
in our request/response stack for APIView is consuming the request
contents in an unfriendly way, preventing the `.body` @property from
working.
2019-09-30 13:32:20 -04:00
Jake McDermott
e0a363beb8 issue network calls for setting and getting webhook key 2019-09-30 13:32:20 -04:00
Jake McDermott
48eb502161 wip 2019-09-30 13:32:20 -04:00
Jake McDermott
151de89c26 add webhook credential field 2019-09-30 13:32:20 -04:00
Jake McDermott
f5c151d5c4 add webhook url field 2019-09-30 13:32:20 -04:00
Jake McDermott
17b34b1e36 add webhook service field 2019-09-30 13:32:20 -04:00
Jeff Bradberry
ee1d118752 Add the webhook receiver url to the related urls in the serializers 2019-09-30 13:32:20 -04:00
Jeff Bradberry
245931f603 Debounce when multiple copies of the same webhook event come in 2019-09-30 13:26:04 -04:00
Jeff Bradberry
095aa77857 Create a new model mixin for Job and WorkflowJob webhook fields 2019-09-30 13:26:04 -04:00
Jeff Bradberry
bb1397a3d4 Validate the webhook credential
- we should allow a null credential, so that the admin can choose to configure not posting back status changes of the triggered job
- the credential must be of the new 'token' kind
- if we do configure a credential, its type must match the selected SCM service
2019-09-30 13:26:04 -04:00
Jeff Bradberry
5848f0360a Update test_default_cred_types to include the new personal access token types 2019-09-30 13:26:04 -04:00
Jeff Bradberry
83fc2187cc Fix the summary fields for webhook_credential 2019-09-30 13:26:04 -04:00
Jeff Bradberry
4dba9916dc Add a new set of personal access token credential types 2019-09-30 13:26:03 -04:00
Jeff Bradberry
8836ed44ce Construct an ID for Gitlab webhooks
by taking the SHA1 of the body of the webhook request.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
992c414737 Launch a Job or WorkflowJob based on the incoming webhook 2019-09-30 13:26:03 -04:00
Jeff Bradberry
66a8186995 Get the webhook receiver views to work at least minimally 2019-09-30 13:26:03 -04:00
Jeff Bradberry
fa15696ffe Remove some dead comments 2019-09-30 13:26:03 -04:00
Jeff Bradberry
82a0dc0024 Cycle or unset the webhook key if the webhook service changes
Also, tests.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
d4b20b7340 Update tests to use the expect keyword argument for get() and post() 2019-09-30 13:26:03 -04:00
Jeff Bradberry
c0ad5a7768 Expose the webhook_service and webhook_credential fields in the serializer
webhook_credential specifically as a summary field.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
d9ac291115 Add some RBAC oriented tests for the webhook secret key view 2019-09-30 13:26:03 -04:00
Jeff Bradberry
6b86cf6e86 Revert to using the explicit dispatch to the appropriate model
since passing the model class at url include time doesn't work.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
771ef275d4 Include a check for the webhook_key related resource url
in the tests for JTs and WFJTs.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
2310413dc0 Fix problem with the tests by dynamically setting the view model
instead of using a model @property or lookup method.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
edb9d6b16c Add the related link to the webhook secrets view to the serializers 2019-09-30 13:26:03 -04:00
Jeff Bradberry
7973a18103 Switch to using a permission class for the webhook secret key view
This view is now behaving as expected for superuser, org admin, JT
admin, JT exec, and org member roles.
2019-09-30 13:23:27 -04:00
Jeff Bradberry
747a2283d6 Attempt to get the RBAC right on the webhook secret key view 2019-09-30 13:23:27 -04:00
Jeff Bradberry
9d269d59d6 Add an api view for obtaining and rotating the webhook key 2019-09-30 13:23:27 -04:00
Jeff Bradberry
b0c530402f Move the webhook url include from the top level urlconf to the JT/WFJT urlconfs 2019-09-30 13:23:26 -04:00
Jeff Bradberry
50a54c9214 Forbid access to the webhook receiver views if webhook_key is not set 2019-09-30 13:23:26 -04:00
Jeff Bradberry
8f97dbf781 Hook in the webhook receiver views into the urlconf 2019-09-30 13:23:26 -04:00
Jeff Bradberry
a7a99ed141 Beginnings of the API views for the webhook receivers 2019-09-30 13:23:26 -04:00
Jeff Bradberry
d6116490c6 Add the webhook-specific fields to JobTemplate and WorkflowJobTemplate 2019-09-30 13:23:26 -04:00
softwarefactory-project-zuul[bot]
ff8e896b0f Merge pull request #4850 from wenottingham/to-the-cloud!
Adjust help message; we're no longer using the insights client

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-30 16:46:22 +00:00
Bill Nottingham
fc70d8b321 Adjust help message; we're no longer using the insights client 2019-09-30 12:17:46 -04:00
mabashian
a61306580a Show error body when license application fails 2019-09-30 12:09:24 -04:00
Lunar
afe38b8e68 Change to ~/.awx 2019-09-30 10:58:37 -05:00
softwarefactory-project-zuul[bot]
505dcf9dd2 Merge pull request #4657 from beeankha/wf_approval_notification
[WIP] Notification Support for Workflow Approval Nodes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-30 14:54:59 +00:00
softwarefactory-project-zuul[bot]
1d2123a4f9 Merge pull request #4845 from ryanpetrello/cli-fix-ujt-allow
cli: fix `awx unified_job_templates`

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-30 14:10:14 +00:00
Ryan Petrello
4adf9bab67 cli: fix awx unified_job_templates
this endpoint doesn't return an HTTP Allow header at all (because you
can't really do anything other than list templates)
2019-09-30 09:32:58 -04:00
Lunar
adac87adf2 Fix issue #3705
/tmp should not be used, it gets wiped and causes issues as noted in issue #3705.
2019-09-29 23:20:09 -05:00
AlanCoding
7dd8e35e8c Use namespaced doc fragment, cleanup
doc fragment will now be at awx.awx.auth
changed from just tower, which source from core

remove Makefile things no longer needed
2019-09-27 23:09:39 -04:00
Keith Grant
554a63d8fc write LabelSelect tests 2019-09-27 15:30:42 -07:00
Keith Grant
da149d931c rework MultiSelect into controlled input; refactoring 2019-09-27 15:06:15 -07:00
mabashian
3182197287 Makes notification toggles more responsive on smaller screens. 2019-09-27 15:48:00 -04:00
beeankha
9ed4e1682d Remove redundant whitespace 2019-09-27 15:48:00 -04:00
beeankha
5aa6a94710 Enable approval notifications to show up at...
...workflow jobs notifications endpoint
2019-09-27 15:48:00 -04:00
beeankha
96689f45c8 Update approval notification message 2019-09-27 15:48:00 -04:00
beeankha
ce6a276e1f Update migration file 2019-09-27 15:48:00 -04:00
beeankha
8eb1484129 Update migration file, change status syntax 2019-09-27 15:48:00 -04:00
beeankha
1ddf9fd1ed Fix up models, clean up code re: PR comments 2019-09-27 15:48:00 -04:00
beeankha
17a8e08d93 Add unit tests for approval notifications 2019-09-27 15:48:00 -04:00
beeankha
f835c8650b Enable org-level approval notifications to work. 2019-09-27 15:48:00 -04:00
beeankha
aa5a4d42c7 Enable email notifications to work,
...and customize default messages
2019-09-27 15:48:00 -04:00
beeankha
57fd6b7280 Set default messages for approval notifications 2019-09-27 15:48:00 -04:00
mabashian
7eb7aad491 Adds approval toggles to wf and org notif lists 2019-09-27 15:48:00 -04:00
beeankha
e2b8adcd09 Remove notification endpoint from approvals list 2019-09-27 15:48:00 -04:00
beeankha
13450fdbf9 Set up approval notifications to send 2019-09-27 15:48:00 -04:00
beeankha
6be2d84adb Add endpoints for approval node notifications
...and also add a migration file.
2019-09-27 15:48:00 -04:00
softwarefactory-project-zuul[bot]
d2a5af44de Merge pull request #4792 from mabashian/relaunch-jobs
Add relaunch to Jobs list and Job Details views

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-27 19:18:48 +00:00
AlanCoding
75bb7aae14 update references to collection folder 2019-09-27 14:29:04 -04:00
AlanCoding
98619c5e23 rename awx modules folder to collection 2019-09-27 14:29:04 -04:00
AlanCoding
35afa37417 Rename to collection, add license, galaxy build 2019-09-27 14:29:03 -04:00
AlanCoding
2f0f692f4a Integrate Ansible core tower modules content into AWX
This commit includes all the changes involved in
converting the old Ansible Tower modules from commits
in Ansible core into the AWX collection that replaces it.
Also includes work needed to integrate it into the
AWX processes like tests, docs, and the Makefile.

Apply changes from content_collector tool

Add integrated module tests
  operate via run_module fixture
  add makefile target for them

Add flake8 target and fix flake8 errors

Update README

Make consolidated target for testing modules
2019-09-27 14:29:03 -04:00
AlanCoding
5271c993ac Move commit for migration of Ansible core tower modules 2019-09-27 14:29:03 -04:00
AlanCoding
38112bae22 Use to_native for error messages, fix docs typo 2019-09-27 14:29:03 -04:00
Andrey Klychkov
30a6efdb93 fix typos in web_infrastructure modules (#62202) 2019-09-27 14:29:02 -04:00
Alan Rominger
bffc1bfdd4 Allow tower inventory plugin to accept integer inventory_id (#61338) 2019-09-27 14:29:02 -04:00
Alicia Cozine
a7bf31d423 clarifies how ASK works for Tower credentials (#59050)
* clarifies how ASK works for credentials
2019-09-27 14:29:02 -04:00
Pilou
1ae1011ccb tower_role: ensure alias of "validate_certs" parameter is handled (#57518)
* tower_role: ensure alias of validate_certs is handled

* tower modules: remove tower_verify_ssl alias too

Error was:

    Failed to update role: The Tower server claims it was sent a bad request.
    GET https://tower/api/v2/projects/22/object_roles/
    Params: [('tower_verify_ssl', False), ('role_field', 'admin_role')]
    Data: None
    Response: {"detail": "Role has no field named 'tower_verify_ssl'"}

Full traceback:

    File "/tmp/ansible_tower_role_payload_7_2p0X/__main__.py", line 145, in main
      result = role.grant(**params)
    File "/usr/local/lib/python2.7/dist-packages/tower_cli/resources/role.py", line 365, in grant
      return self.role_write(fail_on_found=fail_on_found, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/tower_cli/resources/role.py", line 242, in role_write
      fail_on_multiple_results=True, **data)
    File "/usr/local/lib/python2.7/dist-packages/tower_cli/models/base.py", line 301, in read
      r = client.get(url, params=params)
    File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 546, in get
      return self.request('GET', url, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/tower_cli/api.py", line 299, in request
      kwargs.get('data', None), r.content.decode('utf8'))
2019-09-27 14:29:02 -04:00
Alberto Murillo
83183cd7ce tower_workflow_template: Add missing options (#56891)
The following options can be set on a workflow template but the
functionallity to do so from this module was missing.

inventory
ask_variables_on_launch
ask_inventory_on_launch

Fixes #49728

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>
2019-09-27 14:29:02 -04:00
Pilou
934d7d62ef fix tower_credential example: lookup are run on controller (#57516)
- don't advise to use lookups in order to fetch path on managed nodes
- fix example:
    - use slurp instead 'file' lookup
    - remove extraneous brackets
2019-09-27 14:29:01 -04:00
Hideki Saito
5dce6258e6 tower_user: Fix to create a system auditor properly (#54585)
- Fixed issue #54446: tower_user cannot create an auditor user

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-09-27 14:29:01 -04:00
Pilou
87f6065a05 tower_credential: ssh_key_data isn't a path anymore (#57113) 2019-09-27 14:29:01 -04:00
stoned
4ca0d8c72a Add missing roles to tower_role module (#56182)
* Add missing roles to tower_role module

* Placate 'ansible-test sanity --test pep8'
2019-09-27 14:29:01 -04:00
Hideki Saito
ba8bd25da2 Fixed wrong variable specification format in examples (#55252)
Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-09-27 14:29:00 -04:00
Hideki Saito
df0bd0797c Fix handling of inventory and credential options for tower_job_launch (#54967)
- Fixed issue #25017,#37567
- Add example for prompt on launch
- Add integration test for prompt on launch

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-09-27 14:29:00 -04:00
James Cassell
3aa7ee8d17 standardize TLS connection properties (#54315)
* openstack: standardize tls params

* tower: tower_verify_ssl->validate_certs

* docker: use standard tls config params

- cacert_path -> ca_cert
- cert_path -> client_cert
- key_path -> client_key
- tls_verify -> validate_certs

* k8s: standardize tls connection params

- verify_ssl -> validate_certs
- ssl_ca_cert -> ca_cert
- cert_file -> client_cert
- key_file -> client_key

* ingate: verify_ssl -> validate_certs

* manageiq: standardize tls params

- verify_ssl -> validate_certs
- ca_bundle_path -> ca_cert

* mysql: standardize tls params

- ssl_ca -> ca_cert
- ssl_cert -> client_cert
- ssl_key -> client_key

* nios: ssl_verify -> validate_certs

* postgresql: ssl_rootcert -> ca_cert

* rabbitmq: standardize tls params

- cacert -> ca_cert
- cert -> client_cert
- key -> client_key

* rackspace: verify_ssl -> validate_certs

* vca: verify_certs -> validate_certs

* kubevirt_cdi_upload: upload_host_verify_ssl -> upload_host_validate_certs

* lxd: standardize tls params

- key_file -> client_key
- cert_file -> client_cert

* get_certificate: ca_certs -> ca_cert

* get_certificate.py: clarify one or more certs in a file

Co-Authored-By: jamescassell <code@james.cassell.me>

* zabbix: tls_issuer -> ca_cert

* bigip_device_auth_ldap: standardize tls params

- ssl_check_peer -> validate_certs
- ssl_client_cert -> client_cert
- ssl_client_key -> client_key
- ssl_ca_cert -> ca_cert

* vdirect: vdirect_validate_certs -> validate_certs

* mqtt: standardize tls params

- ca_certs -> ca_cert
- certfile -> client_cert
- keyfile -> client_key

* pulp_repo: standardize tls params

remove `importer_ssl` prefix

* rhn_register: sslcacert -> ca_cert

* yum_repository: standardize tls params

The fix for yum_repository is not straightforward since this module is
only a thin wrapper for the underlying commands and config.  In this
case, we add the new values as aliases, keeping the old as primary,
only due to the internal structure of the module.

Aliases added:
- sslcacert -> ca_cert
- sslclientcert -> client_cert
- sslclientkey -> client_key
- sslverify -> validate_certs

* gitlab_hook: enable_ssl_verification -> hook_validate_certs

* Adjust arguments for docker_swarm inventory plugin.

* foreman callback: standardize tls params

- ssl_cert -> client_cert
- ssl_key -> client_key

* grafana_annotations: validate_grafana_certs -> validate_certs

* nrdp callback: validate_nrdp_certs -> validate_certs

* kubectl connection: standardize tls params

- kubectl_cert_file -> client_cert
- kubectl_key_file -> client_key
- kubectl_ssl_ca_cert -> ca_cert
- kubectl_verify_ssl -> validate_certs

* oc connection: standardize tls params

- oc_cert_file -> client_cert
- oc_key_file -> client_key
- oc_ssl_ca_cert -> ca_cert
- oc_verify_ssl -> validate_certs

* psrp connection: cert_trust_path -> ca_cert

TODO: cert_validation -> validate_certs (multi-valued vs bool)

* k8s inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* openshift inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* tower inventory: verify_ssl -> validate_certs

* hashi_vault lookup: cacert -> ca_cert

* k8s lookup: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* laps_passord lookup: cacert_file -> ca_cert

* changelog for TLS parameter standardization
2019-09-27 14:29:00 -04:00
Pilou
aeaab41120 tower_settings: "get" isn't implemented, "value" parameter is required (#54028)
* tower_settings doc: 'get' isn't implemented

* tower_settings: fix typo in argument_spec
2019-09-27 14:29:00 -04:00
Abhijeet Kasurde
1eb61ba5ce tower_credential: Add parameter vault_id (#53400)
vault_id allows user to specify vault identifier as per Tower UI.

Fixes: #45644

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-27 14:28:59 -04:00
Alan Rominger
91d0c47120 Add option for tower inventory to give general metadata (#52747) 2019-09-27 14:28:59 -04:00
Abhijeet Kasurde
b96b69360f tower: Handle AuthError (#53377)
Handle AuthError raised when user provides incorrect password
for Tower admin user.

Fixes: #50535

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-27 14:28:59 -04:00
David Medberry
b034295c99 Update tower_credential.py (#51469)
misspelled word and poor capitalization (in the same sentence of the doc string)

+label: docsite_pr
2019-09-27 14:28:59 -04:00
Pilou
c6e47a0a16 tower modules: check that 'verify_ssl' defined in ~/.tower_cli.cfg isn't ignored (#50687)
* Check that verify_ssl defined in tower_cli.cfg isn't ignored

* Avoid to override verify_ssl value defined in tower_cli.cfg

By default, tower-cli library enables SSL certificates check. But
verify_ssl false value defined in config files read by default by
tower-cli library (for example /etc/tower/tower_cli.cfg) was ignored
because overriden by the tower_verify_ssl parameter default value.

* fix a typo in comment
2019-09-27 14:28:58 -04:00
Jordan Borean
ca782a495d Final round of moving modules to new import error msg (#51852)
* Final round of moving modules to new import error msg

* readd URL to jenkins install guide

* fix unit tests
2019-09-27 14:28:58 -04:00
Dennis Lerch
71c625bd83 add diff_mode_enabled to documentation
option 'diff_mode_enabled' is not mentioned in documentation

+label: docsite_pr
2019-09-27 14:28:58 -04:00
Samuel Carpentier
5c2bc09f9d New module: tower_notification (#50512)
* New module: tower_notification

* Fix CI check failures

* Add integration tests and extend examples

* Add missing required field for deletion tests and examples

* Add missing required field for deletion tests and examples

* Set port type to int

* Add missing field for Slack notification

* Add missing field types for IRC notification

* Update module documentation

* Correct field name and type for IRC notification

* Uniformize 'targets' field

* Uniformize 'targets' field
2019-09-27 14:28:57 -04:00
jainnikhil30
58c4ae6a00 Add scm_update_cache_timeout, job_timeout and custom_virtualenv to tower_project (#51330)
* adding scm_update_cache_timeout and job_timeout to tower_project module

* add support for cache_timeout, job_timeout and custom_venv for tower_project module

* add the version_added
2019-09-27 14:28:57 -04:00
John Westcott IV
37509af868 Adding TowerCLI receive module (#51023) 2019-09-27 14:28:57 -04:00
John Westcott IV
41f649b5a2 Adding tower_workflow_launch (#42701) 2019-09-27 14:28:57 -04:00
John Westcott IV
5ef995cd7d Adding TowerCLI send module (#37843) 2019-09-27 14:28:56 -04:00
jainnikhil30
a32981242b Fixing exception import for tower modules (#50447)
* fixing the exception import from tower modules

* Adding tests for checking tower modules are failing with correct msg

* fixed failing tests

* fixed failing test in tower_team
2019-09-27 14:28:56 -04:00
Alicia Cozine
c821996051 fix docs for tower modules (#50710) 2019-09-27 14:28:56 -04:00
Andrea Tartaglia
a37a18c0bf Added organization in the scm_credential get (#49884)
* Added organization in the scm_credential get

* Fallback looking for cred in project org

* Tests project with multi org credential

* Fixed CI issue

* Added changelog fragment
2019-09-27 14:28:56 -04:00
Dag Wieers
b11374157d Convert to reduced list of known types (#50010) 2019-09-27 14:28:55 -04:00
Abhijeet Kasurde
2d6743635e E325 Removal - Part II (#49196)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-27 14:28:55 -04:00
seag-rvc
590341ed7d Update tower_host.py (#49186)
<!--- Your description here -->
Current example does not show how to declare variables
+label: docsite_pr
2019-09-27 14:28:55 -04:00
Hugh Ma
ae980b9a82 Add survey_spec parameter to module. (#48182)
* Add survey_spec parameter to module.
Fixes #48011

* Removed trailing white space. Added integration test.
2019-09-27 14:28:55 -04:00
Sean Cavanaugh
94b557d8aa adding additional example and clarification (#47224)
The kind: paramter is missing from the original example (which won't actually work).  The organization needs to be listed as required (if you don't list it, you will get an error).  Also adding additional example using the tower_username and tower_password method.
2019-09-27 14:28:54 -04:00
Sloane Hertel
5dc9ca222f add more consistent extension matching for inventory plugins (#46786)
* Add consistent extension matching for inventory plugins that support YAML configuration files

* Document extension matching expectations
2019-09-27 14:28:54 -04:00
Yanis Guenane
79166209ee inventory/tower: authors -< author so Doc can pick it up (#45936) 2019-09-27 14:28:54 -04:00
Dag Wieers
45a8992254 Docs: Avoid use of 'default: null' (#45795)
Various modules document the default 'null' value, but it causes None to
be shown in the documentation explicitly.
2019-09-27 14:28:54 -04:00
Meecr0b
def043c383 tower_credential: expect ssh_key_data to be a string instead of path (#45158)
* expect ssh_key_data to be a string instead of path

ssh_key_data should be a string filled with the private key
the old behavior can be archived with a lookup

Fixes #45119

* clarifies ssh_key_data description, adds newline
2019-09-27 14:28:53 -04:00
Adrien Fleury
7b6dc13078 New module : tower_credential_type (#37243)
* Add new module *tower_credential_type*

* Add support for credential type creation and/or deletion
* Add test coverage for tower_credential_type
2019-09-27 14:28:53 -04:00
Adrien Fleury
ee2709a898 New module tower_workflow_template. (#37520)
* Add new module *tower_workflow_template*

Manage Tower workflows and their schemas.
2019-09-27 14:28:53 -04:00
jainnikhil30
d9d56b4b50 Add 'tower_settings' module for managing Ansible Tower Settings (#43933)
* add the tower_settings module
2019-09-27 14:28:52 -04:00
Yunfan Zhang
7580f9c2b9 Added Ansible Tower inventory plugin. (#41816)
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2019-09-27 14:28:52 -04:00
curry9999
d4f4983a89 To improve readability, we added a line feed. (#43801)
* 	modified:   google/gcp_compute_backend_bucket.py
	modified:   google/gcp_compute_backend_service.py
	modified:   google/gcp_compute_forwarding_rule.py
	modified:   google/gcp_compute_global_forwarding_rule.py
	modified:   google/gcp_compute_image.py
	modified:   google/gcp_compute_instance.py
	modified:   google/gcp_compute_instance_group.py
	modified:   google/gcp_compute_instance_group_manager.py
	modified:   google/gcp_compute_instance_template.py
	modified:   google/gcp_compute_route.py
	modified:   google/gcp_compute_subnetwork.py
	modified:   google/gcp_compute_target_http_proxy.py
	modified:   google/gcp_compute_target_https_proxy.py
	modified:   google/gcp_compute_target_ssl_proxy.py
	modified:   google/gcp_compute_target_tcp_proxy.py
	modified:   google/gcp_compute_url_map.py
	modified:   google/gcp_container_node_pool.py
	modified:   google/gcp_dns_resource_record_set.py
	modified:   google/gcp_pubsub_subscription.py
	modified:   google/gcp_storage_bucket_access_control.py

* 	modified:   lib/ansible/modules/cloud/amazon/aws_ses_identity.py
	modified:   lib/ansible/modules/cloud/amazon/route53_facts.py
	modified:   lib/ansible/modules/cloud/cloudscale/cloudscale_server.py
	modified:   lib/ansible/modules/network/aos/_aos_logical_device.py
	modified:   lib/ansible/modules/network/aos/_aos_rack_type.py
	modified:   lib/ansible/modules/network/aos/_aos_template.py
	modified:   lib/ansible/modules/network/cumulus/nclu.py
	modified:   lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py
	modified:   lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_wait.py
2019-09-27 14:28:52 -04:00
Will Thames
24cedcc560 Allow tower_inventory_sources params to be False (#43749)
Ensure that params set to False are respected, rather than ignored.
2019-09-27 14:28:52 -04:00
Pilou
64014faf02 Tower modules: move HAS_TOWER_CLI check in module_utils and minor improvements (#39809)
* tower_* modules: move HAS_TOWER_CLI in TowerModule

Besides this change allows to define other common parameters such as
mutually_exclusive.

* tower_*: config file can not be used with auth params

* tower module_utils: remove useless call to expanduser

'path' type: expanduser & expandvars are automatically called
2019-09-27 14:28:51 -04:00
David Moreau Simard
9b228d7d2d Properly detect credentials for tower_project
It seemed like it was mostly the wrong variables been looked at, making
it so a git repository could not be created without a credential.
2019-09-27 14:28:51 -04:00
Pierre-Louis Bonicoli
1349449e1e tower_project: manual projects don't require creds 2019-09-27 14:28:51 -04:00
Abhijeet Kasurde
185e9a09e0 Correct typo from 'Valut' to 'Vault' (#41574)
Correct typo from 'Valut' to 'Vault'

+label: docsite_pr
2019-09-27 14:28:51 -04:00
jaevans
623e0f7cc9 Add support for Tower Smart inventories (#41458)
* Support Smart Inventories

Add kind and host_filter fields and pass through to tower_cli.

* Add documentation for new Smart Inventories options

* Add missing description header for host_filter documentation

* Add version added tags to new options

* Bumped vesion_added to 2.7
2019-09-27 14:28:50 -04:00
Andrew J Huffman
8569bf71af Updating tower_job_template.py (#38821)
* Updating tower_job_template.py

* tower_job_template: Update parameter version_added to 2.7

* Ensure that unset credentials aren't passed

Passing empty strings for unset credentials causes ValueErrors as
the API expects an integer. Don't pass unset credentials
2019-09-27 14:28:50 -04:00
Adrien Fleury
6471481d02 Module: Tower inventory source module (#37110)
* tower_inventory_source: Add support for the inventory source via ansible-tower-cli.

* Add test coverage for tower_inventory_source.

* Update version_added to 2.7
2019-09-27 14:28:50 -04:00
Pierre Roux
139703aafb Fix tower_* modules **params kwargs (#40137)
* Add cleaning function to handle **params

The cleaning function is only added to tower modules which pass a `**params`
argument as an unpacked dictionnary to the tower-cli method calls.

Fix #39745

* Remove previous code added only for tower_role

In 872a7b4, the `update_resources` function was modified so that it would clear unwanted
parameters. However, this behaviour is desired for other modules too, modified in
another commit. (see tower_clean_params).
2019-09-27 14:28:50 -04:00
Ryan Petrello
65aeb2b68a add some Tower module integration tests (and fix a bug or two) (#37421)
* add additional test coverage for tower modules

* add test coverage for the tower_credential module

* add test coverage for the tower_user module

* fix a bug in py3 for tower_credential when ssh_key_data is specified

* add test coverage for tower_host, tower_label, and tower_project

* add test coverage for tower_inventory and tower_job_template

* add more test coverage for tower modules

- tower_job_launch
- tower_job_list
- tower_job_wait
- tower_job_cancel

* add a check mode/version assertion for tower module integration tests

* add test coverage for the tower_role module

* add test coverage for the tower_group module

* add more integration test edge cases for various tower modules

* give the job_wait module more time before failing

* randomize passwords in the tower_user and tower_group tests
2019-09-27 14:28:49 -04:00
Dag Wieers
0b26297177 Clean up module documentation (#36909)
* Clean up module documentation

This PR includes:
- Removal of `default: None` (and variations)
- Removal of `required: false`
- Fixing booleans and `type: bool` where required

* Fix remaining (new) validation issues
2019-09-27 14:28:49 -04:00
Pilou
3e8de196ac ansible_tower modules doc: fix typos, use formatting functions (#37414)
* fix typos

* use formatting functions

* use 'job template' instead of 'job_template'

* acronyms: user uppercase

* become_enabled param is about privilege escalation
2019-09-27 14:28:49 -04:00
Ryan Petrello
b14323c985 properly pass /api/v1/ credential fields for older Towers (#36917) 2019-09-27 14:28:48 -04:00
Ryan Petrello
2e04969f17 properly detect the absence of credential_type in older tower-cli (#36908) 2019-09-27 14:28:48 -04:00
Ryan Petrello
2edca4f357 tower cred: support credential kind/type for /api/v1/ and /api/v2/ (#36662)
older versions of Tower (3.1) don't have a concept of CredentialTypes
(this was introduced in Tower 3.2).  This change detects older versions
of pre-3.2 tower-cli that *only* support the deprecated `kind`
attribute.
2019-09-27 14:28:48 -04:00
Ryan Petrello
d192297987 tower cred: update kind options in documentation 2019-09-27 14:28:48 -04:00
Ryan Petrello
0bb7e06761 tower cred: filter user name lookup by the proper key 2019-09-27 14:28:47 -04:00
Ryan Petrello
4213ca1424 tower cred: implement credential /api/v1/ kind compatability 2019-09-27 14:28:47 -04:00
Thierry Bouvet
3db3430129 Fix credentials for Tower API V2 2019-09-27 14:28:47 -04:00
Toshio Kuratomi
f7592f6ae7 Port arg specs from type='str' to type='path' 2019-09-27 14:28:47 -04:00
Pilou
ac82751dfa ansible_tower: fix broken import, reuse tower_argument_spec and documentation fragment (#29115)
* module_utils/ansible_tower: fix broken import

* tower_*: use tower_argument_spec & doc fragment

* tower doc fragment: Ansible requires Python 2.6+

* tower_job_wait: fix broken import (Py3 compat)
2019-09-27 14:28:46 -04:00
ethackal
f46db65bad Fixes verify_ssl option when False in ansible_tower module util (#30308)
* Fixes verify_ssl option when False in ansible_tower module util

* fixed comparison to None per PEP-8 standards
2019-09-27 14:28:46 -04:00
Toshio Kuratomi
d0ffc3f626 Update metadata to 1.1 2019-09-27 14:28:46 -04:00
Toshio Kuratomi
e9ec80d86b Remove wildcard imports
Made the following changes:

* Removed wildcard imports
* Replaced long form of GPL header with short form
* Removed get_exception usage
* Added from __future__ boilerplate
  * Adjust division operator to // where necessary

For the following files:

* web_infrastructure modules
* system modules
* linode, lxc, lxd, atomic, cloudscale, dimensiondata, ovh, packet,
  profitbricks, pubnub, smartos, softlayer, univention modules
* compat dirs (disabled as its used intentionally)
2019-09-27 14:28:46 -04:00
Christopher Galtenberg
56723c3203 Improve help text for extra-vars requiring @ for filename
(cherry picked from commit 1b34de89ee1d75cb7f616b5a34cd5043bf7dfd2b)
2019-09-27 14:28:45 -04:00
Abhijeet Kasurde
fdbafe42ab Fix spelling mistakes (comments only) (#25564)
Original Author : klemens <ka7@github.com>

Taking over previous PR as per
https://github.com/ansible/ansible/pull/23644#issuecomment-307334525

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-27 14:28:45 -04:00
Bill Nottingham
7c0554bf7b Fix handling of extra_vars_path parameter. (#25272)
tower-cli process_extra_vars takes a list.
2019-09-27 14:28:45 -04:00
Dag Wieers
49df11d478 Collated PEP8 fixes (#25293)
- Make PEP8 compliant
2019-09-27 14:28:45 -04:00
James Labocki
5ef7003395 Fix indentation for register module in example (#25274) 2019-09-27 14:28:44 -04:00
Kevin Clark
640e528fdc adds privilege escalation method for pmrun(Unix Privilege Manager 6.0) 2019-09-27 14:28:44 -04:00
Lee Shakespeare
06e09550af Lookup credential id and pass in credential rather than scm_credential (#24624)
* Lookup credential id and pass in credential rather than scm_credential

* Change the excepting handling to catch missing credentials

* Make error messages for not found lookups more useful
2019-09-27 14:28:44 -04:00
Lee Shakespeare
74c7c7b532 Tower user remove organization (#24544)
* Remove organization field from the tower_user module re: issue #24510

* Fix trailing spaces.

* Fixes for Shippable errors, pep8

* Remove a random inserted space.
2019-09-27 14:28:44 -04:00
Abhijeet Kasurde
62bc1a8662 Pep8 fixes for web_infra/ansible_tower (#24479)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-27 14:28:43 -04:00
Andrea Tartaglia
9469bbc06f fixed RETURN docs for modules (#24011)
* fixed RETURN docs for remaining modules

* updated proxymysql_mysql_users 'sample' to yaml dict

* fixed whitespace errors
2019-09-27 14:28:43 -04:00
Toshio Kuratomi
7cdde96c3c New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2019-09-27 14:28:43 -04:00
John R Barker
bc2a63c415 Fix invalid fields in module DOCUMENATION (#22297)
* fix module doc fields

* More module docs corrections

* More module docs corrections

* More module docs corrections

* More module docs corrections

* correct aliases

* Review comments

* Must quote ':'

* More authors

* Use suboptions:

* restore type: bool

* type should be in the same place

* More tidyups

* authors

* Use suboptions

* revert

* remove duplicate author

* More issues post rebase
2019-09-27 14:28:43 -04:00
Wayne Witzel III
9c6c9c3708 Ansible Tower job_wait module (#22160)
* Ansible Tower job_wait module

* clean up documentation and update code comment
2019-09-27 14:28:42 -04:00
Wayne Witzel III
6a2e3d2915 Ansible Tower job cancel module (#22161)
* Ansible Tower job cancel module

* fix interpreter line
2019-09-27 14:28:42 -04:00
Wayne Witzel III
85977be23c Ansible Tower job list module (#22164) 2019-09-27 14:28:42 -04:00
Wayne Witzel III
3855393cd3 Ansible Tower job_launch module (#22148)
* Ansible Tower job_launch module

* Added RETURN documentation and fixed import locations

* remove superfluos required attributes, make tags a list, and fix some typos

* only join tags if they are actually a list

* use isinstance instead of type, cleanup imports
2019-09-27 14:28:42 -04:00
Wayne Witzel III
bd6e5c2529 add Ansible Tower role module (#21592)
* add Ansible Tower role module

* remove owner as choice from role paramenter
2019-09-27 14:28:41 -04:00
Wayne Witzel III
8a5914affd add Tower JobTemplate module (#21681)
* add Tower JobTemplate module

* add host_config_key and remove defaults from required parameters
2019-09-27 14:28:41 -04:00
Wayne Witzel III
979adfd16c add Ansible Tower team module (#21593) 2019-09-27 14:28:41 -04:00
John R Barker
5f2381e9ad Correct example 2019-09-27 14:28:41 -04:00
Wayne Witzel III
99027e4b30 Add Tower Project module (#21479) 2019-09-27 14:28:40 -04:00
Wayne Witzel III
150c0a9fdc Add Tower Group module (#21480) 2019-09-27 14:28:40 -04:00
Wayne Witzel III
2c825b792f Add Tower Host module (#21482) 2019-09-27 14:28:40 -04:00
Wayne Witzel III
2f9b0733bb Add Tower Inventory module (#21483) 2019-09-27 14:28:40 -04:00
Wayne Witzel III
962668389a Add Tower Label module (#21485) 2019-09-27 14:28:39 -04:00
Wayne Witzel III
0699e44b53 Ansible Tower user and credential module (#21020)
* rename tower config module parameters to avoid conflicts

* add Ansible Tower user module

* add Ansible Tower credential module

* remove errant hash from interpreter line

* friendlier error messages

* Update tower_verify_ssl defaults and module examples

* Update tower_verify_ssl default documentation

* Tower expects satellite6 not foreman
2019-09-27 14:28:39 -04:00
Matt Martz
788a2e5fc8 Update validate-modules (#20932)
* Update validate-modules

* Validates ANSIBLE_METADATA
* Ensures imports happen after documentation vars
* Some pep8 cleanup

* Clean up some left over unneeded code

* Update modules for new module guidelines and validate-modules checks

* Update imports for ec2_vpc_route_table and ec2_vpc_nat_gateway
2019-09-27 14:28:39 -04:00
Brian Coca
16e6b3f148 updated friendlier description 2019-09-27 14:28:39 -04:00
Wayne Witzel III
6140308675 Ansible Tower organization module (#20355)
* add Ansible Tower organization module

* skip Python 2.4 check for ansible_tower module

* make spec and doc match, extract tower auth helper method

* added auth params at module level

* support check mode

* extract check mode check to ansible_tower utils, add utils to 2.4 skip

* update interpreter shebang

* remove colon from docs

* no log for password, verify_ssl default to true
2019-09-27 14:28:35 -04:00
mabashian
518a25430d Adjust unit test after adding conditional render to modals in launch button component 2019-09-27 13:47:13 -04:00
Seth Foster
b6ffde75ef check expired sessions only if User exists
- Indent rest of code into the conditional
  that checks for expired sessions of that User
- If user doesn't exist, no need to check
2019-09-27 12:31:10 -04:00
softwarefactory-project-zuul[bot]
8d44ab55f1 Merge pull request #4837 from ryanpetrello/faster-dev-iso
lower the isolated poll interval in development

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-27 16:21:22 +00:00
Keith Grant
6e9804b713 Rework saving labels 2019-09-27 08:53:52 -07:00
Seth Foster
94fa745859 removed duplicate import of User 2019-09-27 11:47:44 -04:00
softwarefactory-project-zuul[bot]
eacc7b8eb0 Merge pull request #4827 from ryanpetrello/fix-docker-compose-cluster
fix broken `docker-compose-cluster` config

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-27 15:35:18 +00:00
Ryan Petrello
73c3b8849b lower the isolated poll interval in development
(waiting 30s is annoying)
2019-09-27 11:26:10 -04:00
mabashian
bb474b0797 Only render the launch modals if errors are present. This addresses a local unit test failure. 2019-09-27 11:05:23 -04:00
Seth Foster
c94ebba0b3 Saving user session checks if User exists
- Check that model User object exists with id=user_id
  before attempting to save to database
- UserSessionMembership saves to the database using
  foreign key, User
- However, User with matching id might not exist if
  browser sends request with stale cookies
- Change made in regards to issue #4334
2019-09-27 10:52:53 -04:00
mabashian
af90a78df5 Extends LaunchButton component to include support for relaunching. Adds relaunch button to jobs list and job detail view(s). 2019-09-27 10:37:46 -04:00
softwarefactory-project-zuul[bot]
de68de7f9a Merge pull request #4735 from AlanCoding/come_as_you_are
Copy git submodules as-is to avoid auth and path errors

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-27 13:49:16 +00:00
softwarefactory-project-zuul[bot]
04ba7aaf89 Merge pull request #4835 from ryanpetrello/plural-credentials
Update the "Credential" label on JT forms to say "Credentials"

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-27 13:16:50 +00:00
AlanCoding
454f76c066 Copy git submodules as-is to avoid auth and path errors 2019-09-27 09:03:47 -04:00
softwarefactory-project-zuul[bot]
9b281bbc8a Merge pull request #4829 from ryanpetrello/fix-4294
Fix error with rejoining node to cluster after lost connection to postgres

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-27 12:50:25 +00:00
Ryan Petrello
870b76dc59 Update the "Credential" label on JT forms to say "Credentials"
see: https://github.com/ansible/awx/issues/4831
2019-09-27 08:44:04 -04:00
Buymov Ivan
f2676064fd Fix error with rejoining node to cluster after lost connection to postgres 2019-09-27 01:17:27 -04:00
Ryan Petrello
4b62f4845a fix broken docker-compose-cluster config 2019-09-27 00:37:29 -04:00
softwarefactory-project-zuul[bot]
bc6edf7af3 Merge pull request #3583 from kumy/patch-1
Use variables to set rabbitmq host and port

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-27 01:18:20 +00:00
kumy
3dd69a06e7 Use variables to set rabbitmq host and port 2019-09-26 20:53:55 -04:00
softwarefactory-project-zuul[bot]
cb8c9567b0 Merge pull request #4807 from ryanpetrello/cred-plugins-with-promptable-passphrase
fix a bug that prevents launch-time passphrases w/ cred plugins

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-26 21:40:58 +00:00
Ryan Petrello
d30d51d72c fix a bug that prevents launch-time passphrases w/ cred plugins
with the advent of credential plugins there's no way for us to *actually
know* the RSA key value at the time the credential is _created_, because
the order of operations is:

1.  Create the credential with a specified passphrase
2.  Associate a new dynamic inventory source pointed at some third party
    provider (hashi, cyberark, etc...)

this commit removes the code that warns you about an extraneous
passphrase (if you don't specify a private key)

additionally, the code for determining whether or not a credential
_requires_ a password/phrase at launch time has been updated to test
private key validity based on the *actual* value from the third party
provider

see: https://github.com/ansible/awx/issues/4791
2019-09-26 17:14:25 -04:00
softwarefactory-project-zuul[bot]
693e588a25 Merge pull request #4659 from bcoca/nicer_error
better error message on missing runner

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-26 20:52:33 +00:00
softwarefactory-project-zuul[bot]
0f42782feb Merge pull request #4804 from AlexSCorey/4616-4766-JTAddBtn-ToolBarCheckBox
ToolBar checkbox checks, JT Add Button closes and Test Clean up

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-26 20:41:27 +00:00
Alex Corey
90cac2ec35 fix lint errors 2019-09-26 16:11:34 -04:00
softwarefactory-project-zuul[bot]
8343552dfc Merge pull request #4822 from jbradberry/team-grant-permissions-visibility
Change the visibility of the Grant Permission button on the team edit page

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
             https://github.com/marshmalien
2019-09-26 20:02:56 +00:00
softwarefactory-project-zuul[bot]
c229e586da Merge pull request #4825 from jbradberry/prevent-notification-config-search
Prevent search on the NotificationTemplate.notification_configuration field

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-26 19:40:26 +00:00
softwarefactory-project-zuul[bot]
778b306208 Merge pull request #4824 from rooftopcellist/scl_in_containers
Add needed scl enables for community container installs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-26 19:40:21 +00:00
softwarefactory-project-zuul[bot]
415592219c Merge pull request #4823 from ryanpetrello/even-more-pendo
allow *.pendo.io as an img-src in our Content Security Policy

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-26 19:40:16 +00:00
softwarefactory-project-zuul[bot]
3a7756393e Merge pull request #4816 from marshmalien/add-missing-job-detail-fields
Add missing job detail fields

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-26 19:40:10 +00:00
Jeff Bradberry
1a7148dc80 Prevent search on the NotificationTemplate.notification_configuration field 2019-09-26 14:37:04 -04:00
Alex Corey
d42ffd7353 Removes unused fnc and unnecessary props adds dom node to Empty State
This.node was use for the add button for both empty list and list with data.
This was done to reduce complexity in handleAddToggle() and I don't think it
will cause bugs because those two elements are not rendered at the same time.
2019-09-26 13:32:00 -04:00
Christian Adams
9f8d975a19 revert to get needed scl enables for community container installs 2019-09-26 13:24:26 -04:00
Ryan Petrello
955bb4a44c allow *.pendo.io as an img-src in our Content Security Policy 2019-09-26 13:12:54 -04:00
Keith Grant
71511b66ac fix JobTemplate tests 2019-09-26 10:01:34 -07:00
Marliana Lara
e97fc54deb Add class to StatusIcon wrapper and fix merge conflicts 2019-09-26 11:50:38 -04:00
Jeff Bradberry
ee27313b42 Change the visibility of the Grant Permission button on the team edit page
In the case where MANAGE_ORGANIZATION_AUTH = False, an Org admin is
still supposed to have the capability of adding resource roles to a
team.  This was in fact still doable directly in the API, or via the
organization edit page.
2019-09-26 11:28:25 -04:00
Keith Grant
439727f1bd extract new LabelSelect component from JobTemplateForm 2019-09-25 15:18:30 -07:00
Marliana Lara
76325eefd3 Expand job detail tests to verify more fields
* Update job detail tests to use large mock job data source
* Move mock job data source into a shared file
* Update OrgAccess snapshot due to DetailList style change
2019-09-25 16:39:05 -04:00
Marliana Lara
4b8a06801c Add missing job detail fields and status icons 2019-09-25 16:35:29 -04:00
Alex Corey
38b506bb94 Removes isPlain prop from DropdownItem 2019-09-25 10:28:57 -04:00
Keith Grant
61f6e3c4d2 Refactor to PlaybookSelect component 2019-09-24 14:49:15 -07:00
softwarefactory-project-zuul[bot]
640e5391f3 Merge pull request #4783 from AlexSCorey/4222-JobResultsDelete
Adds delete button to job details and handle delete errors

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-24 21:48:22 +00:00
Alex Corey
1316ace475 Fixes translation omissions 2019-09-24 16:34:09 -04:00
softwarefactory-project-zuul[bot]
3282caf629 Merge pull request #4770 from AlexSCorey/Pluralization
Requires individual components to pluralize

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-24 15:55:11 +00:00
Alex Corey
b3b53a8ce4 Pluralized modal titles and empty state strings
All itemNames used in empty state messages, and delete modal titles
need to be plural and capitalized.  Because of this change we no
longer need the ucFirst() in utils/strings.js.
2019-09-24 11:21:54 -04:00
Alex Corey
8dd4379bf2 Adds proper translation. removes ucFirst()> 2019-09-24 11:21:54 -04:00
Alex Corey
b79c686336 requires individual components to pluralize 2019-09-24 11:21:54 -04:00
softwarefactory-project-zuul[bot]
d08c601690 Merge pull request #4803 from ryanpetrello/more-pendo-fixes
correct CSP header to allow all pendo.io traffic

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-24 02:35:13 +00:00
softwarefactory-project-zuul[bot]
86f8d648cc Merge pull request #4787 from keithjgrant/qs-util-cleanup
QS util cleanup

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-23 23:03:22 +00:00
softwarefactory-project-zuul[bot]
34bdb6d1c3 Merge pull request #4808 from rooftopcellist/awxkit_docs_link
add link to awxkit docs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-23 20:08:47 +00:00
Christian Adams
9548c8ae19 add link to awxkit docs 2019-09-23 15:38:51 -04:00
softwarefactory-project-zuul[bot]
e147869d75 Merge pull request #4789 from wenottingham/lacking-in-insights
Rename Automation Insights to Automation Analytics.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-23 18:46:41 +00:00
Keith Grant
362339d89c add FieldTooltip component, some JobTemplateForm cleanup 2019-09-23 11:00:13 -07:00
softwarefactory-project-zuul[bot]
ebbcefd7df Merge pull request #4806 from beeankha/url_update
Update URL

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-23 17:42:01 +00:00
beeankha
6a9940c027 Update URL 2019-09-23 13:17:26 -04:00
softwarefactory-project-zuul[bot]
8c755dd316 Merge pull request #4795 from wenottingham/sanitization
Add some sanitizations

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-23 14:58:41 +00:00
softwarefactory-project-zuul[bot]
fcfd59ebe2 Merge pull request #4767 from beeankha/awx_doc_edits
[WIP] Edit AWX Docs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-23 14:30:12 +00:00
Alex Corey
ce1d9793ce ToolBar checkbox checks and JT Add Button closes and Test Clean up
The Select-All check box in the DataList Toolbar will be checked when the
user clicks on it. Also, the JT Add button closes when the user clicks
elsewhere on the page as well as when the user clicks on the button a second time.
I also cleaned up some tests in the DataListToolBar file.
2019-09-23 09:49:38 -04:00
beeankha
f35ad41e17 Fix misc. errors and typos 2019-09-23 09:46:54 -04:00
Ryan Petrello
d52aa11422 correct CSP header to allow all pendo.io traffic 2019-09-23 09:15:55 -04:00
softwarefactory-project-zuul[bot]
c628a54c79 Merge pull request #4796 from wenottingham/get-our-finest-attributes
Fix SAML login when only certain attributes are set.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-21 15:51:43 +00:00
Keith Grant
5d840af223 fix typo, clarify test names 2019-09-20 13:45:22 -07:00
Keith Grant
1f149bb086 refactor encodeNoneDefaultQueryString 2019-09-20 13:41:30 -07:00
Keith Grant
508535be66 rework removeParams 2019-09-20 13:41:30 -07:00
Keith Grant
cb69cac62d split qs addParams into mergeParams and replaceParams for clarity 2019-09-20 13:41:30 -07:00
Keith Grant
3ea4a32940 qs cleanup, more tests 2019-09-20 13:41:30 -07:00
Keith Grant
d6f93737c4 improve qs test coverage, minor cleanup 2019-09-20 13:41:30 -07:00
Keith Grant
eb0c4fd4d4 refactor parseQueryString 2019-09-20 13:41:30 -07:00
Bill Nottingham
36571a1275 Fix SAML login when only certain attributes are set.
The user may not set all of saml_{attr,admin_attr,auditor_attr},
so don't assume they all exist.
2019-09-20 15:28:38 -04:00
softwarefactory-project-zuul[bot]
b2b475d1a6 Merge pull request #4742 from jlmitch5/searchv2
ui_next search updates

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-20 18:28:52 +00:00
Bill Nottingham
01177f3632 Add some sanitizations (from @jakemcdermott, @mabashian) 2019-09-20 13:58:12 -04:00
John Mitchell
ac530e1328 utilize far instead of function for search type 2019-09-20 13:49:00 -04:00
John Mitchell
9605d8049d rewrite search key type check to be a var instead of a function 2019-09-20 13:49:00 -04:00
John Mitchell
d2e335c7c5 revert restriction on defaultParams 2019-09-20 13:49:00 -04:00
John Mitchell
678fba1ffb fix tests with search updates 2019-09-20 13:48:59 -04:00
John Mitchell
34e1b8be1d make default params only accept page, page_size and order_by 2019-09-20 13:48:59 -04:00
John Mitchell
86029934ad selectively add icontains to only text-based searches 2019-09-20 13:48:59 -04:00
softwarefactory-project-zuul[bot]
ec3edb07e8 Merge pull request #4779 from omgjlk/proper-vault-headers
Use proper headers to auth with Vault

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-20 16:30:56 +00:00
softwarefactory-project-zuul[bot]
fcc61a5752 Merge pull request #4777 from jlmitch5/styleCleanupUiNext
assorted style cleanup in UI next

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-20 16:00:27 +00:00
beeankha
860715d088 More AWX docs edits 2019-09-20 11:32:10 -04:00
beeankha
e2be392f31 Edit AWX docs 2019-09-20 11:32:10 -04:00
mabashian
f49d566f17 Update failed snapshot 2019-09-20 11:05:18 -04:00
mabashian
83e413b0bf Fix prettier failures 2019-09-20 11:05:18 -04:00
John Mitchell
e68349b6b5 assorted style cleanup in UI next
- round all corners of combo fields
- make sure required asterisk is always before help popover ?
- bug: fix ? popover from opening lookups
- fix spacing of detail toggle for http error
2019-09-20 11:05:18 -04:00
softwarefactory-project-zuul[bot]
14cc203945 Merge pull request #4784 from fosterseth/fix-3646-ldapserverfielduri
fix for LDAPServerURIField error if number present in top-level-domain

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-20 15:00:46 +00:00
Seth Foster
ca5de6378a Fix LDAPServerURIField number in domain
- Bug: API error if LDAPServerURIField contains a number in the top level domain
- Add custom regex in LDAPServerURIField class that is passed to django
  URLValidator
- The custom regex allows for numbers to be present in the top level domain
- Unit tests check that valid URIs pass through URLValidator, and that
  invalid URIs raise the correct exception
- Related to issue #3646
2019-09-20 10:36:47 -04:00
Alex Corey
1ebe91cbf7 Adds delete button to job details and handle delete errors
After successful deletion of Job the user is nativated back to Jobs List.
If the job is not successfully deleted a alert modal pops up and on close
the user remains on Job Details page.
2019-09-19 17:34:18 -04:00
softwarefactory-project-zuul[bot]
154cda7501 Merge pull request #4782 from mabashian/inventory-lookup
Changes InventoriesLookup to InventoryLookup

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-19 21:27:50 +00:00
Bill Nottingham
badba581fd Rename Automation Insights to Automation Analytics.
Fix user-facing code, don't worry about settings names.
2019-09-19 17:00:10 -04:00
mabashian
a6a50f0eb1 Changes InventoriesLookup to InventoryLookup and removes pluralization of lookup headers for Inventory and Project since only one can be selected. 2019-09-19 11:13:55 -04:00
softwarefactory-project-zuul[bot]
b00fc29cdc Merge pull request #4762 from shanemcd/devel
Fix cluster dev env

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-19 13:45:43 +00:00
softwarefactory-project-zuul[bot]
13f628f73d Merge pull request #4776 from mabashian/3924-icons
Fix 3rd party auth icon rendering in login modal

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-18 23:39:25 +00:00
Jesse Keating
e1bdbeaa5c Restore new style headers
This leads to having both the new style header and the old compatability
header. Best of both worlds!
2019-09-18 13:27:55 -07:00
Jesse Keating
b3c264bf21 Use proper headers to auth with Vault
Reading examples at
https://learn.hashicorp.com/vault/getting-started/apis show needing to
use `X-Vault-Token` header, instead of `Authorization`. Without this
header, the vault server would return a 400 status with an error message
of "missing client token". With this change AWX is now able to interface
with the Hashicorp backend.
2019-09-18 12:26:47 -07:00
mabashian
53992d41d5 Re-generate fontcustom .woff file. This should fix microsoft and google icon rendering on login modal. 2019-09-18 13:50:15 -04:00
softwarefactory-project-zuul[bot]
686d4fe26f Merge pull request #4769 from mabashian/4554-mgt-jobs-column
Fix management job column width issues

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-09-17 18:35:47 +00:00
mabashian
774a4e32cc Fix management job column width issues 2019-09-17 13:45:20 -04:00
Shane McDonald
22441d280e Fix pg password in cluster dev env 2019-09-17 08:45:19 -04:00
softwarefactory-project-zuul[bot]
fe850c247f Merge pull request #4755 from rooftopcellist/fix_awx_pass
pass correct awx-dev password on startup

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-16 23:28:01 +00:00
softwarefactory-project-zuul[bot]
c651029cdb Merge pull request #4756 from AlexSCorey/4744-JobSchedulers
fixes grid so action buttons stay in view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-16 22:06:58 +00:00
Christian Adams
54d50d71ab pass correct awx-dev password on startup 2019-09-16 17:25:15 -04:00
Alex Corey
ef4f1df9bb fixes grid so action buttons stay in view 2019-09-16 16:27:10 -04:00
softwarefactory-project-zuul[bot]
b5fa1606bd Merge pull request #4369 from AlanCoding/workflow_limit
Implementation of WFJT limit & SCM_branch prompting

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-16 20:17:59 +00:00
softwarefactory-project-zuul[bot]
3139bc9248 Merge pull request #4723 from rebeccahhh/devel
expose schedule name for scheduled workflow node job

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-16 20:17:54 +00:00
softwarefactory-project-zuul[bot]
a6c0793695 Merge pull request #4753 from AlexSCorey/4423-LoggingRevertNoSave
allows user to save form after reverting

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
             https://github.com/AlexSCorey
2019-09-16 19:26:27 +00:00
softwarefactory-project-zuul[bot]
5a24e223b7 Merge pull request #4743 from AlexSCorey/4523-InertWFJTLink
allows all WFJT  tabs to properly route to workflow visualizer

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-16 19:26:20 +00: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
Jake McDermott
9697e1befb comment fixup 2019-09-16 14:51:56 -04:00
Jake McDermott
84a8559ea0 psuedo -> pseudo 2019-09-16 14:51:56 -04:00
Jake McDermott
8ac8fb9016 add more details to workflow limit help text 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
Rebeccah
fbf182de28 removed refernce to workflow job in parent schedule naming as it is unnecessary 2019-09-16 14:22:37 -04:00
Rebeccah
5fab9e418b added functional test to test new schedule functionality 2019-09-16 14:22:37 -04:00
Rebeccah
d39b931377 added in logic to check if the parent workflow has a schedule and onsolidated a couple import statements 2019-09-16 14:22:37 -04:00
Alex Corey
9028afab07 allows user to save form after reverting 2019-09-16 12:55:31 -04:00
softwarefactory-project-zuul[bot]
d3b413c125 Merge pull request #4752 from shanemcd/drop-pg-scl
Stop using PG SCL in dev env

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-16 16:40:11 +00:00
softwarefactory-project-zuul[bot]
ab1db04164 Merge pull request #4734 from rooftopcellist/awx-dev
Revert DB passwords for container installs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-16 16:09:15 +00:00
Shane McDonald
3b89e894db Stop using PG SCL in dev env 2019-09-16 11:41:13 -04:00
Christian Adams
bdbbb2a4a2 Fix authentication bug with container installs
- update awx-dev db password where needed
2019-09-15 19:52:41 -04:00
Alex Corey
9e8d0758c8 allows all WFJT tabs to properly route to workflow visualizer 2019-09-13 15:21:54 -04:00
softwarefactory-project-zuul[bot]
9f0657e19a Merge pull request #4714 from keithjgrant/4521-noti-template-type-switch
fix bugs when switching NTs to Webhook type

Reviewed-by: Keith Grant
             https://github.com/keithjgrant
2019-09-13 18:20:13 +00:00
softwarefactory-project-zuul[bot]
6bc09028ca Merge pull request #4741 from wenottingham/there-are-no-limits
Tweak license partial to properly show 'unlimited' for the value we consider unlimited.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-13 17:36:04 +00:00
softwarefactory-project-zuul[bot]
e1c7cd7e9f Merge pull request #4740 from ryanpetrello/pycharm-port
change the default port range for the sdb debugging tool

Reviewed-by: Seth Foster
             https://github.com/fosterseth
2019-09-13 17:32:15 +00:00
softwarefactory-project-zuul[bot]
806648af89 Merge pull request #4611 from ryanpetrello/license-updates
update trial license enforcement logic

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-13 17:27:01 +00:00
softwarefactory-project-zuul[bot]
3e3940efd5 Merge pull request #4733 from keithjgrant/4612-lookup-param-bugs
Prevent Lookup search filters from affecting other Lookups on page

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-13 17:01:18 +00:00
Ryan Petrello
662033db44 fix some awxkit flake8 failures 2019-09-13 12:14:33 -04:00
Elijah DeLee
eba69142f1 add subscriptions endpoint to awxkit 2019-09-13 12:14:33 -04:00
mabashian
8a29276a7d Fix whitespace 2019-09-13 12:14:32 -04:00
mabashian
611f163289 Make sure that the license page under settings has creds available 2019-09-13 12:14:31 -04:00
mabashian
113622c05e Moves initial system settings rest call out to resolve 2019-09-13 12:14:31 -04:00
mabashian
608567795d Add support for looking up and selecting licenses on license page 2019-09-13 12:14:30 -04:00
Ryan Petrello
29fd399b06 introduce a new API for generating licenses from candlepin creds 2019-09-13 12:14:29 -04:00
mabashian
04f458c007 Cleanup inline styles 2019-09-13 12:14:29 -04:00
mabashian
38a7d62745 Add support for custom error messaging on license page 2019-09-13 12:14:28 -04:00
mabashian
53925f5e98 Tweaks to the ux for saved creds 2019-09-13 12:14:27 -04:00
mabashian
2474a3a2ea Pull creds into license form if available via settings 2019-09-13 12:14:27 -04:00
mabashian
900fcbf87e Add rh username and pass to license form 2019-09-13 12:14:26 -04:00
Ryan Petrello
846e67ee6a update trial license enforcement logic 2019-09-13 12:14:25 -04:00
Bill Nottingham
98daee4823 Show unlimited licenses as unlimited.
Don't show 'hosts remaining' for unlimited licenses.
2019-09-13 12:07:35 -04:00
Ryan Petrello
5ed97e0f65 change the default port range for the sdb debugging tool
the current range conflicts w/ a port used by the pycharm editor
2019-09-13 11:55:43 -04:00
Keith Grant
e854b179e4 add test for Lookup clearing QS params 2019-09-13 08:48:17 -07:00
Keith Grant
26e320582a namespace qs params for each lookup separately 2019-09-13 08:48:17 -07:00
Keith Grant
ee864b2df3 clear Lookup query params when lookup is closed 2019-09-13 08:48:17 -07:00
Keith Grant
e309ad25e4 de-lint 2019-09-13 08:45:19 -07:00
Keith Grant
55244834a3 fix bugs when switching NTs to Webhook type 2019-09-13 08:45:19 -07:00
softwarefactory-project-zuul[bot]
4e1fbb3e91 Merge pull request #4731 from ryanpetrello/job-event-contains-workflow
record the parent workflow ID for job events that originate from a WFJT

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-13 15:40:25 +00:00
softwarefactory-project-zuul[bot]
fe43bab174 Merge pull request #4727 from jakemcdermott/fix-4726
show extra vars on workflow template schedules

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-13 14:33:44 +00:00
softwarefactory-project-zuul[bot]
ed692018cd Merge pull request #4732 from ryanpetrello/cli-migrating
cli: show a better error if AWX is migrating

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-13 13:50:14 +00:00
Jake McDermott
311860e027 show extra vars on workflow template schedules
When the workflow job template prompts for extra vars, we show the
extra vars input field on the scheduler.
2019-09-13 09:12:15 -04:00
Ryan Petrello
b5225bd80d record the parent WFJ ID for job events that originate from a WFJT 2019-09-13 08:28:32 -04:00
softwarefactory-project-zuul[bot]
60fc952716 Merge pull request #4730 from shanemcd/fix-entrypoint-args
Consolidate scl enable calls

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-12 23:10:47 +00:00
Ryan Petrello
9d93cf8021 cli: show a better error if AWX is migrating
see: https://github.com/ansible/awx/issues/4721
2019-09-12 17:16:16 -04:00
Shane McDonald
fe0db4e329 Consolidate scl enable calls 2019-09-12 15:43:09 -04:00
Shane McDonald
3c0a0e1f4a Fix arg parsing in entrypoint 2019-09-12 15:12:04 -04:00
softwarefactory-project-zuul[bot]
70057bc0f2 Merge pull request #4058 from rooftopcellist/pg10
Postgres 10 Upgrade

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-12 18:58:34 +00:00
Shane McDonald
b2e8e3cc3d Add scl enable back to start_tests script
I think we need to specify the entrypoint in the pod definition too
2019-09-12 14:03:08 -04:00
Shane McDonald
804ec0dde9 Handle SCL enable in one place 2019-09-12 13:54:32 -04:00
softwarefactory-project-zuul[bot]
3e6131c509 Merge pull request #4724 from dsesami/flake-fixes
flake fixes for e2e

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-12 17:48:27 +00:00
Shane McDonald
e7bb5ac3e4 Fix tests 2019-09-12 13:41:41 -04:00
Daniel Sami
f2ccce3478 flake fixes for e2e 2019-09-12 13:05:35 -04:00
Shane McDonald
036567817e Implement local docker pg upgrade 2019-09-12 12:52:43 -04:00
Christian Adams
ec1e93cc69 Upgrade to postgres 10.6
- use awx-python in shebang in dev env
  - scl enable where needed for rhel7 & container installs
  - use scram-sha-256 pg user hashing by default
  - ensure psycopg2 is using the correct PG_CONFIG at build time for the right libpq version
2019-09-12 12:52:43 -04:00
Jose OrPa
04ab736f09 #3778 Upgrading postgresql to v10 2019-09-12 12:52:42 -04:00
softwarefactory-project-zuul[bot]
ffc6e2218e Merge pull request #4627 from rooftopcellist/upload_directly
Upload directly

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-12 14:40:53 +00:00
softwarefactory-project-zuul[bot]
253e0765bd Merge pull request #4719 from ryanpetrello/runner-on-start
add metadata for new runner_on_start events

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-12 14:06:07 +00: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
softwarefactory-project-zuul[bot]
34645523fd Merge pull request #4718 from Spredzy/proper-args
e2e/test: NPMRC_FILE is a build-arg not an environment variable

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-12 13:40:50 +00:00
Ryan Petrello
90c7514303 add metadata for new runner_on_start events
see: https://github.com/ansible/awx/issues/4129
2019-09-12 09:05:54 -04:00
Yanis Guenane
3c22f99234 e2e/test: NPMRC_FILE is a build-arg not an environment variable 2019-09-12 14:39:28 +02:00
softwarefactory-project-zuul[bot]
d8fbf1e21a Merge pull request #4706 from ryanpetrello/faster-dashboard
optimize dashboard performance for larger UnifiedJob counts

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-12 10:51:42 +00:00
softwarefactory-project-zuul[bot]
168e03ea0e Merge pull request #4715 from ansible/cli-more-readme
cli: add instructions for using awx -h

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-12 01:37:05 +00:00
Ryan Petrello
3eecda4edc cli: add instructions for using awx -h 2019-09-11 20:43:20 -04:00
Ryan Petrello
c0d9600b66 WIP: optimize dashboard performance for larger UnifiedJob counts 2019-09-11 20:37:27 -04:00
softwarefactory-project-zuul[bot]
087b68aa65 Merge pull request #4713 from ryanpetrello/cli-readme
add a bit more detail to the awx CLI README

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2019-09-11 21:12:45 +00:00
Ryan Petrello
83ee4fb289 add a bit more detail to the awx CLI README 2019-09-11 16:24:13 -04:00
softwarefactory-project-zuul[bot]
51a724451c Merge pull request #4677 from marshmalien/4430-host-details-modal
[ui_next] Add host details modal

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-11 18:09:52 +00:00
Christian Adams
6309c0a426 Upload using RH cred settings 2019-09-11 13:24:09 -04:00
softwarefactory-project-zuul[bot]
14ef06854d Merge pull request #4711 from Spredzy/pass-npmrc
e2e/cluster: Allow one to pass a npmrc config file

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-11 15:49:22 +00:00
Marliana Lara
ad2e58cd43 Align the top of the modal to a fixed distance from the top of the
browser
2019-09-11 11:48:17 -04:00
Yanis Guenane
2ea280bbaf Dockerfile: Allow one to pass a npmrc file 2019-09-11 17:08:33 +02:00
softwarefactory-project-zuul[bot]
788c5d3741 Merge pull request #4709 from dsesami/flake-wait
Added a longer timeout for spinny specifically

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-11 14:39:05 +00:00
Yanis Guenane
0e5abb5fa3 Revert "add npm registry arg"
This reverts commit 844f3fde72.
2019-09-11 16:12:50 +02:00
Daniel Sami
5dbcafc392 Added a longer timeout for spinny specifically 2019-09-11 08:59:20 -04:00
Marliana Lara
e53c979344 Show changed status when the status is both ok and changed 2019-09-10 17:09:25 -04:00
Marliana Lara
2527a78874 Combine host and job status icons into one generic status icon 2019-09-10 17:06:53 -04:00
Marliana Lara
871f2cf9c5 Add host event modal tests and code cleanup 2019-09-10 16:29:25 -04:00
softwarefactory-project-zuul[bot]
f3dc4abe37 Merge pull request #4702 from AlexSCorey/4446-TokenDelete
Tokens Properly reload after successful deletion

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
             https://github.com/AlexSCorey
2019-09-10 20:28:35 +00:00
softwarefactory-project-zuul[bot]
7646185e2c Merge pull request #4704 from keithjgrant/4522-save-nt-after-fixing-form-errors
Fix Notification Template form validation of headers field

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-10 19:56:33 +00:00
softwarefactory-project-zuul[bot]
a9a1c6eb6d Merge pull request #4683 from dsesami/npm-registry-arg
Add npm registry arg

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-10 19:56:25 +00:00
softwarefactory-project-zuul[bot]
4b1706401f Merge pull request #4686 from mabashian/ui_next-ux-improvements
Various UX improvements

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-10 19:44:22 +00:00
Keith Grant
8192b79b1f fix NT validation of headers after saving 2019-09-10 10:45:19 -07:00
softwarefactory-project-zuul[bot]
8868fa6416 Merge pull request #4689 from mabashian/search-tag-key
Display search key along with value in tag

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-10 17:28:03 +00:00
softwarefactory-project-zuul[bot]
71215d3d03 Merge pull request #4690 from mabashian/npm-audit
Upgrades lodash and angular-moment

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-09-10 17:20:05 +00:00
softwarefactory-project-zuul[bot]
5193209ca7 Merge pull request #4699 from mabashian/4549-not-found
Don't render the 404 not found page until the content's finished loading

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-10 17:14:32 +00:00
softwarefactory-project-zuul[bot]
d73dd02e5b Merge pull request #4628 from saito-hideki/issue/4528
Fix condition to show prompt button on the schedule add/edit form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-10 16:59:03 +00:00
Alex Corey
e23c1477da Properly reloads after successful deletion 2019-09-10 12:13:41 -04:00
softwarefactory-project-zuul[bot]
19d6941034 Merge pull request #4697 from ryanpetrello/cli-human-uniqueness
cli: fix a minor bug in uniqueness rule detection

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-10 15:01:34 +00:00
mabashian
d4b2cacb3e Don't render the 404 not found page until the content's finished loading 2019-09-10 10:30:17 -04:00
softwarefactory-project-zuul[bot]
2f7476c804 Merge pull request #4692 from ryanpetrello/cli-detail-options
cli: make "detail" actions actually respect Allow: headers

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-10 14:18:12 +00:00
Ryan Petrello
39ee60a913 cli: fix a minor bug in uniqueness rule detection 2019-09-10 10:17:09 -04:00
mabashian
da43b9b84c Prettify FilterTags 2019-09-10 10:08:42 -04:00
softwarefactory-project-zuul[bot]
eaf3a28d57 Merge pull request #4695 from ryanpetrello/oauth-token-exclusive-lock
move the oauth2 last_used update to the bottom of the request

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-10 12:55:15 +00:00
Ryan Petrello
14f8ef4f44 move the oauth2 last_used update to the bottom of the request
this avoids acquiring a row lock (and holding it for the duration of
transactions which include a very slow query)
2019-09-10 08:15:13 -04:00
Ryan Petrello
ee47e98c50 cli: make "detail" actions actually respect Allow: headers 2019-09-09 21:11:15 -04:00
softwarefactory-project-zuul[bot]
edb7ddb9ae Merge pull request #4687 from AlexSCorey/4685-LookUpPluralization
Adds proper pluralization to Look Up modal empty state

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-09 21:23:32 +00:00
mabashian
f69f43e3ba Upgrades lodash and angular-moment 2019-09-09 16:31:11 -04:00
softwarefactory-project-zuul[bot]
d9a7859a05 Merge pull request #4630 from ryanpetrello/cli-roles
cli: add support for granting and revoking roles from users/teams

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-09 20:19:12 +00:00
softwarefactory-project-zuul[bot]
ff32a5286e Merge pull request #4688 from ryanpetrello/human-format-null
fix a human format bug for settings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-09 20:08:59 +00:00
mabashian
629e2e89b9 Fix linting error 2019-09-09 15:50:41 -04:00
mabashian
ea015190de Display search key along with value in tag 2019-09-09 15:41:39 -04:00
Ryan Petrello
6762702868 cli: add support for granting and revoking roles from users/teams 2019-09-09 15:27:16 -04:00
Ryan Petrello
3e97608914 fix a human format bug for settings 2019-09-09 15:25:04 -04:00
Alex Corey
a95394b135 Adds proper pluralization to Look Up modal empty state 2019-09-09 14:55:39 -04:00
softwarefactory-project-zuul[bot]
276b577103 Merge pull request #4648 from ryanpetrello/format-metrics-human
cli: add special code for formatting metrics and settings with -f human

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-09 18:52:29 +00:00
softwarefactory-project-zuul[bot]
b1666f2692 Merge pull request #4653 from ryanpetrello/attach-detach-by-name
cli: add support for attach/detaching creds/notifications via name

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-09-09 18:52:22 +00:00
mabashian
1f8f4e184b Various UX improvements 2019-09-09 12:54:31 -04:00
Daniel Sami
844f3fde72 add npm registry arg 2019-09-09 11:56:10 -04:00
softwarefactory-project-zuul[bot]
a3a5db1c44 Merge pull request #4678 from wenottingham/cloudy-with-a-chance-of-updates
Update assorted cloud module requirements.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-08 19:42:45 +00:00
softwarefactory-project-zuul[bot]
28630cb7fa Merge pull request #4650 from keithjgrant/4431-jt-form-advanced-fields
4431 jt form advanced fields

Reviewed-by: Keith Grant
             https://github.com/keithjgrant
2019-09-06 23:02:08 +00:00
Keith Grant
820605b0ca fix JT form tests 2019-09-06 14:29:00 -07:00
softwarefactory-project-zuul[bot]
bc79093102 Merge pull request #4679 from ryanpetrello/fix-doc-819
fix up a minor Swagger doc bug

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2019-09-06 21:15:34 +00:00
Ryan Petrello
eb2fc80114 fix up a minor Swagger doc bug 2019-09-06 16:28:06 -04:00
Bill Nottingham
eb2de51f86 add licenses for new azure deps 2019-09-06 15:55:16 -04:00
Bill Nottingham
7aa94a9bb5 Update assorted cloud module requirements.
Update boto3 for ec2_transit_gateway module.
Update Azure requirements to sync with Ansible 2.9 branch.
2019-09-06 15:30:08 -04:00
Keith Grant
be6f5e18ae fixing JT Form tests post-rebase 2019-09-06 11:35:24 -07:00
Keith Grant
9777b79818 hide overflow in ExpandingContainer while opening 2019-09-06 09:59:58 -07:00
Marliana Lara
25aa9bc43e Change empty state text 2019-09-06 12:52:44 -04:00
Marliana Lara
a79de2b4ed Fix existing test failures 2019-09-06 12:44:11 -04:00
Marliana Lara
7480baf256 Add host event modal 2019-09-06 12:43:53 -04:00
Marliana Lara
5babab7af4 Add host status icon and pull status styles into separate file 2019-09-06 12:43:17 -04:00
Keith Grant
4e73f4b778 show all advanced JT fields on edit form 2019-09-06 09:14:19 -07:00
softwarefactory-project-zuul[bot]
4f05955724 Merge pull request #4671 from gamuniz/fix_204_insights_api
fixed insights api 204 errors

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-06 16:03:46 +00:00
AlanCoding
ebc369bfef Use project verbosity without color for galaxy commands 2019-09-06 11:02:20 -04:00
Ben Thomasson
10d53637ad Changes uploader to use the insights api directly 2019-09-06 10:58:35 -04:00
Gabe Muniz
23a7151278 fixed insights api 204 errors 2019-09-06 09:27:17 -04:00
Keith Grant
0254cf3567 wire-in instance groups to JT form 2019-09-05 16:47:34 -07:00
softwarefactory-project-zuul[bot]
f91a02a9e4 Merge pull request #4661 from ansible/apurva_wait_for_job_fix
awxkit: don't suppress error when job does not exist

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-05 21:37:15 +00:00
Keith Grant
93b794eaa7 JT Form fixes after rebase 2019-09-05 13:45:30 -07:00
softwarefactory-project-zuul[bot]
927c99a2f4 Merge pull request #4667 from AlanCoding/update_fix
fix project sync revision bug

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-05 20:29:10 +00:00
softwarefactory-project-zuul[bot]
b4759de30d Merge pull request #4529 from wenottingham/the-pirates-are-bringing-r-bac
Fix display of indirect access permissions.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-05 17:40:44 +00:00
Apurva Bakshi
11a71f5ffa fix attribute error 2019-09-05 13:16:39 -04:00
Ryan Petrello
064f871fff add special code for formatting metrics and settings with -f human
see: https://github.com/ansible/awx/issues/4566
2019-09-05 11:55:23 -04:00
softwarefactory-project-zuul[bot]
ffbce2611a Merge pull request #4656 from wenottingham/collection-fix
Revert 9b95cc27c4.

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2019-09-05 13:50:18 +00:00
softwarefactory-project-zuul[bot]
8b9ddb5922 Merge pull request #4663 from ryanpetrello/fix-3741
fix a 500 error that can occur when a WorkflowApproval's node is deleted

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2019-09-05 13:41:06 +00:00
AlanCoding
c65b77a20a fix project sync revision bug 2019-09-05 08:49:52 -04:00
Ryan Petrello
b7e8044d69 fix a 500 error that can occur when a WorkflowApproval's node is deleted 2019-09-04 21:12:22 -04:00
Keith Grant
8b1ca12d8f update JobTemplateForm tests 2019-09-04 15:54:30 -07:00
Keith Grant
4f546be87a add JT form callback fields 2019-09-04 14:35:39 -07:00
Keith Grant
e6475f21f6 flush out JT form; upgrade enzyme; add CheckboxField 2019-09-04 14:34:57 -07:00
Keith Grant
218348412b creat TagMultiSelect component; cleanup MultiSelect 2019-09-04 14:22:08 -07:00
Bill Nottingham
db64717551 Merge pull request #2 from AlanCoding/collection-fix-fix
Fix collection precedence bug, add new to left of list
2019-09-04 17:01:30 -04:00
Keith Grant
9edc686ab5 add generic onChange prop to MultiSelect 2019-09-04 13:58:32 -07:00
softwarefactory-project-zuul[bot]
c819a78a4b Merge pull request #4647 from rebeccahhh/devel
Added 'rescued' and 'ignored' fields into all_hosts dictionary update

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-04 20:48:04 +00:00
AlanCoding
11146a071f Fix collection precedence bug, add new to left of list 2019-09-04 15:32:03 -04:00
Keith Grant
4d31d83e1e add instance groups to JT form 2019-09-04 11:22:02 -07:00
Keith Grant
3a9a884bbc add omitProps helper 2019-09-04 11:19:05 -07:00
Keith Grant
8a31be6ffe refactor lookup components 2019-09-04 11:19:05 -07:00
Keith Grant
6fd86fed65 add jt advanced fields 2019-09-04 10:45:34 -07:00
softwarefactory-project-zuul[bot]
4edfe7e5fc Merge pull request #4658 from ryanpetrello/7.0.0-release
Bump VERSION to 7.0.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-04 17:27:01 +00:00
Brian Coca
9d48ba4243 better error message on missing runner 2019-09-04 13:16:55 -04:00
Keith Grant
80bdb1a67a add CollapsibleSection & ExpandingContainer components 2019-09-04 09:55:24 -07:00
Ryan Petrello
1fc210d002 Bump VERSION to 7.0.0 2019-09-04 12:48:52 -04:00
softwarefactory-project-zuul[bot]
4bcb941df9 Merge pull request #4655 from ryanpetrello/cli-py2-u-marker
cli: fix a -f human formatting bug in py2

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-04 16:18:58 +00:00
Bill Nottingham
24c16b1c58 Fix to enable system paths along with requirements override, from @alancoding. 2019-09-04 11:43:48 -04:00
Bill Nottingham
0fb7c859f4 Revert 9b95cc27c4.
We do not want to create a new setting for a on-Tower-host global
collection path at this time.
2019-09-04 11:43:33 -04:00
Ryan Petrello
dbfe85da53 cli: fix a -f human formatting bug in py2
if we encounter non-strings in JSON responses, attempt to represent them
as JSON, instead of stringify-ing them (in py2, stringify-ing adds `u`
markers, which is confusing to users)
2019-09-04 11:10:12 -04:00
softwarefactory-project-zuul[bot]
66907151a0 Merge pull request #4651 from ryanpetrello/py2-argparse-alias
cli: add support for deprecated tower-cli aliases in py2

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-04 14:24:15 +00:00
softwarefactory-project-zuul[bot]
8a1a3918f1 Merge pull request #4641 from mabashian/upgrade-react
Ensure react 16.8 or greater is used

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-04 14:18:19 +00:00
softwarefactory-project-zuul[bot]
7418453d6f Merge pull request #4652 from ryanpetrello/cli-file-load-bug
cli: fix a bug introduced in @ file support

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-04 02:30:10 +00:00
Ryan Petrello
1e5bcca0b9 cli: add support for attach/detaching creds/notifications via name 2019-09-03 21:51:39 -04:00
Ryan Petrello
70989ca616 cli: fix a bug introduced in @ file support 2019-09-03 21:33:46 -04:00
Ryan Petrello
b888c4b75a cli: add support for deprecated tower-cli aliases in py2 2019-09-03 21:22:49 -04:00
Rebeccah
daba25f107 added 'ignored' and 'rescued' into all_hosts dictionary update 2019-09-03 18:58:29 -04:00
softwarefactory-project-zuul[bot]
ba8b876dd3 Merge pull request #4640 from ryanpetrello/cli-lookup-by-name
cli: add ability to specify a name instead of primary key

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-03 22:09:10 +00:00
Ryan Petrello
4ec5e82023 cli: add ability to specify a name instead of primary key 2019-09-03 17:27:10 -04:00
softwarefactory-project-zuul[bot]
392fc803fa Merge pull request #4646 from rooftopcellist/rm_mk_dbshell
remove redundant dbshell make target

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-03 19:43:58 +00:00
softwarefactory-project-zuul[bot]
b62c0c57cb Merge pull request #4644 from ryanpetrello/sos-license
include license data/state in the sosreport

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-03 19:41:21 +00:00
Christian Adams
70f9f09fef remove redundant dbshell make target 2019-09-03 14:22:07 -04:00
Ryan Petrello
7a8234bb09 include license data/state in the sosreport 2019-09-03 13:56:02 -04:00
mabashian
120190eb82 Ensure react 16.8 or greater is used 2019-09-03 12:24:13 -04:00
softwarefactory-project-zuul[bot]
f21c6dc330 Merge pull request #4624 from ryanpetrello/cli-association
cli: implement support for credential and notification association

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
             https://github.com/kdelee
2019-09-03 14:53:44 +00:00
softwarefactory-project-zuul[bot]
45f9457abe Merge pull request #4626 from ryanpetrello/more-cli-doc-examples
cli: add support for loading JSON/YAML w/ the ansible-like @ syntax

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-09-03 13:09:29 +00:00
Hideki Saito
9d2441789e Fix condition to show prompt button on the schedule add/edit form
it hides the prompt button on survey form when prompt is extra vars only.

- Fixed issue #4528

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-09-03 02:15:14 +00:00
softwarefactory-project-zuul[bot]
09c105e125 Merge pull request #4631 from wenottingham/stop-me-before-i-touch-javascript-again
Fix fetching of result traceback in job details.

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-08-30 22:01:38 +00:00
Jake McDermott
a7db4cf367 set result traceback state on sync and send it to subscribers 2019-08-30 17:05:33 -04:00
Bill Nottingham
a0671bd36a Fix fetching of result traceback in job details.
Add it to the list of things to subscribe to and fetch at the end.
2019-08-30 17:05:33 -04:00
Bill Nottingham
b4f6b380fd Show a tooltip for indirect permissions to show where they come from. 2019-08-30 16:28:39 -04:00
softwarefactory-project-zuul[bot]
fd32eff281 Merge pull request #4632 from ryanpetrello/adhoc-event-log-agg
send adhoc command events to the external job_event logger

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-30 19:47:12 +00:00
Ryan Petrello
8d251c2f2e send adhoc command events to the external job_event logger
see: https://github.com/ansible/awx/issues/4545
2019-08-30 15:08:25 -04:00
Ryan Petrello
8e58a4a7de cli: add support for loading JSON/YAML w/ the ansible-like @ syntax 2019-08-30 00:51:46 -04:00
softwarefactory-project-zuul[bot]
8dc1737419 Merge pull request #4609 from mabashian/4429-deps
Update Patternfly and Axios deps

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-29 22:30:05 +00:00
softwarefactory-project-zuul[bot]
3c82785eb3 Merge pull request #4625 from beeankha/approval_timeout_websocket
Update Approval Node Count in the Event of a Timeout

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-29 21:15:06 +00:00
mabashian
7ae9e13321 A better fix for the tab bottom border 2019-08-29 16:19:54 -04:00
beeankha
2fc7e93c6a Emit websocket for approval node timeout
...and update timeout_message to be more translation-friendly.
2019-08-29 14:30:33 -04:00
Ryan Petrello
88dfcaa439 cli: implement support for credential and notification association 2019-08-29 13:11:02 -04:00
mabashian
7c81ec0df5 Linting cleanup. Also fixed error thrown to console around passing Link to the DropdownItem component. 2019-08-29 11:18:34 -04:00
softwarefactory-project-zuul[bot]
9571801e9f Merge pull request #4347 from AlanCoding/no_read_role
Kill off all model can_read access methods

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-08-29 14:38:44 +00:00
softwarefactory-project-zuul[bot]
33f2b0bf1a Merge pull request #4610 from ryanpetrello/cli-cleanup-injectors-language
fix a few minor CLI bugs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-29 14:15:48 +00:00
softwarefactory-project-zuul[bot]
226d507013 Merge pull request #4619 from rooftopcellist/cloud_rh_settings
Add Settings for license & automation analytics creds

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-29 14:05:45 +00:00
Christian Adams
eacd356881 fix wording in settings for license & automation analytics creds 2019-08-29 09:32:50 -04:00
Ryan Petrello
a107a17bc9 fix a few minor CLI bugs
see: https://github.com/ansible/awx/issues/4608
2019-08-29 08:54:17 -04:00
softwarefactory-project-zuul[bot]
2918b6c927 Merge pull request #4264 from beeankha/workflow_pause_approve
Workflow Approval Nodes

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-08-28 22:25:39 +00:00
John Mitchell
56c6944049 add ui fields to configure tower in tower for automation analytics fields 2019-08-28 13:54:15 -04:00
Christian Adams
1a78c16adf add settings for license & automation analytics creds 2019-08-28 12:39:28 -04:00
Bianca Henderson
97d9c264f9 Merge pull request #14 from mabashian/workflow_pause_approve_cleanup_5
Styles cleanup
2019-08-28 10:14:43 -04:00
mabashian
f229418ae2 Styles cleanup 2019-08-28 10:00:41 -04:00
beeankha
073f6dbf07 Fix flake8 error 2019-08-28 09:33:15 -04:00
softwarefactory-project-zuul[bot]
3d4cd1b575 Merge pull request #4511 from AlexSCorey/multiSelecBug
Allows user to hit enter to create label, fixes console errors.

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-08-27 22:43:16 +00:00
Jake McDermott
04f7218b4a also make labels work for add view 2019-08-27 17:41:54 -04:00
Alex Corey
fbe6abfb53 Allows user to hit enter to create label, fixes console errors. 2019-08-27 17:37:23 -04:00
softwarefactory-project-zuul[bot]
8be46e43b4 Merge pull request #4600 from ryanpetrello/cli-json-inputs
cli: improve parsing of JSON inputs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-27 20:33:51 +00:00
mabashian
5f1f4bd109 Update Patternfly and Axios deps 2019-08-27 16:21:24 -04:00
Ryan Petrello
23f75cf74a fix a bug introduced in rebase 2019-08-27 15:59:16 -04:00
Ryan Petrello
b9f75ecad7 update migration numbering for WF approval 2019-08-27 15:42:49 -04:00
beeankha
2ac1c3d1e1 Update timeout info on AWX docs. 2019-08-27 15:38:19 -04:00
Ryan Petrello
1eeab7e0d5 add approval timeout to the summary fields for WorkflowJobTemplateNodes 2019-08-27 15:38:18 -04:00
beeankha
459012e879 Fix 500 error on workflow_approvals endpoint 2019-08-27 15:38:17 -04:00
beeankha
2e58a47118 Minor change to fix rebase conflict. 2019-08-27 15:38:16 -04:00
beeankha
b2819793df Set view's permission classes to be more explicit 2019-08-27 15:38:16 -04:00
beeankha
ea509f518e Addressing comments, updating tests, etc. 2019-08-27 15:38:15 -04:00
mabashian
9f0307404e Fix loading pending approval count on login 2019-08-27 15:38:14 -04:00
beeankha
703de8f3c0 Edit minor typo 2019-08-27 15:38:14 -04:00
beeankha
b5c0f58137 Add test for approve node denial 2019-08-27 15:38:13 -04:00
beeankha
8b23ff71b4 Update/add more functional tests 2019-08-27 15:38:12 -04:00
beeankha
582bbda9c4 Fix bug in Activity Stream, add tests. 2019-08-27 15:38:11 -04:00
mabashian
3fa9497e3c Various bug fixes and minor ux enhancements 2019-08-27 15:38:10 -04:00
mabashian
5fc3b2c3f5 Add timed out text to workflow job node. Change timeout to minutes and seconds.
Remove workflow template badge in approvals drawer.
2019-08-27 15:38:09 -04:00
beeankha
9bbc14c5a1 Update AWX docs to include info about wf approvals 2019-08-27 15:38:09 -04:00
beeankha
aab04bcbb1 Fix accidental deletions, update docstrings...
... and update migration file for rebase.
2019-08-27 15:38:08 -04:00
beeankha
667fce5012 Fix flake8 errors, update doc strings, ...
... and return full object details when doing a POST to create new approval nodes.
2019-08-27 15:37:22 -04:00
Ryan Petrello
dd89e46ee6 change up a few activity stream and approval drawer issues 2019-08-27 15:36:32 -04:00
mabashian
aac8c9fb04 Rename workflow approval migration. Add approval option back to workflow node form. 2019-08-27 15:36:32 -04:00
beeankha
cf436eea37 Update RBAC for adding approval nodes 2019-08-27 15:36:31 -04:00
beeankha
f7d6f4538c Emit approve/deny status for websockets, update doc string + a comment 2019-08-27 15:36:30 -04:00
Ryan Petrello
761dad060c allow org/WF admins to create approval templates 2019-08-27 15:36:30 -04:00
mabashian
73485b220e fix jshint errors 2019-08-27 15:36:29 -04:00
Elijah DeLee
bdf4defdbe Add approval node logic to awxkit
Co-authored-by: <Apurva bakshiapurva93@gmail.com>
2019-08-27 15:36:29 -04:00
mabashian
adf621d2cf Timeout, socket and activity stream changes for workflow pause approve 2019-08-27 15:36:28 -04:00
beeankha
9186cb23a6 Update summary field for activity stream 2019-08-27 15:36:27 -04:00
beeankha
f6f6e5883a Update websockets for pending approvals, change timeout expiration to 2019-08-27 15:36:27 -04:00
Ryan Petrello
7814592285 when copying workflows w/ pause nodes, copy the WorkflowApprovalTemplate 2019-08-27 15:36:26 -04:00
Ryan Petrello
4a75edf549 fix a few nits w/ workflow approval activity stream records 2019-08-27 15:36:25 -04:00
beeankha
d9f3fed06f Update UJ/UJT endpoints, update approval RBAC, update approval timeout 2019-08-27 15:36:25 -04:00
beeankha
544a5063f3 Update timeout implementation, placeholder code for possible websocket support 2019-08-27 15:36:24 -04:00
beeankha
8c17990750 Activity stream and timeout
Update activity stream to show approval node info, add meaningful log
message for expired approval nodes in the Task Manager timeout
function.
2019-08-27 15:36:24 -04:00
Ryan Petrello
0522d45ab0 fixed a few issues related to approval role RBAC for normal users 2019-08-27 15:36:23 -04:00
beeankha
28289e85c1 Add timeout for workflow approval nodes 2019-08-27 15:36:22 -04:00
beeankha
5f82754a3f Clean up RBAC code 2019-08-27 15:36:22 -04:00
beeankha
296b4e830b Add more RBAC for approval nodes 2019-08-27 15:36:21 -04:00
mabashian
630f428d77 Cleanup a few jshint errors 2019-08-27 15:36:20 -04:00
mabashian
013792f0f8 Prompt bug cleanup. Filter workflow_approval jobs out of jobs list. Add initial support for timeout. 2019-08-27 15:36:20 -04:00
beeankha
3357c96774 Enable deletion of orphaned approval nodes
Update serializer to include workflow approval for activity stream
2019-08-27 15:36:19 -04:00
beeankha
64c94d478d Add more RBAC, filter out AJT/AJs from unified jobs lists
Comment out placeholder in serializer
2019-08-27 15:36:17 -04:00
beeankha
453e142635 Fix UJT-related error, add notification placeholders 2019-08-27 15:35:43 -04:00
beeankha
24c5404c25 Fix error related to workflow_approval_templates/N endpoint 2019-08-27 15:30:50 -04:00
mabashian
4a801c60b9 Cleanup and changes to the way approval templates are created 2019-08-27 15:30:49 -04:00
beeankha
294d6551b9 Polishing up work on new endpoint 2019-08-27 15:30:48 -04:00
beeankha
320284267c Add new endpoint for creation of approval nodes 2019-08-27 15:30:47 -04:00
mabashian
83f9681941 Fix jshint errors 2019-08-27 15:30:47 -04:00
mabashian
e0cdc4ff80 Approval drawer cleanup and workflow node form UX cleanup 2019-08-27 15:30:46 -04:00
mabashian
1d814beca1 Fix linting error 2019-08-27 15:30:45 -04:00
mabashian
0720857022 Add initial support for workflow pause approve 2019-08-27 15:30:44 -04:00
beeankha
82e0b2121b Add approve/deny endpoints, fix some typos 2019-08-27 15:30:43 -04:00
beeankha
d76e9125e8 Clean up redundancies 2019-08-27 15:30:42 -04:00
beeankha
9024a514a6 Add API endpoints for workflow approvals 2019-08-27 15:30:39 -04:00
beeankha
72a65f74fd Add migration file 2019-08-27 15:29:34 -04:00
beeankha
b88b1111bd Add workflow pause/approve node 2019-08-27 15:29:30 -04:00
Ryan Petrello
f22adca6f7 improve parsing of JSON inputs
see: https://github.com/ansible/awx/issues/4573
see: https://github.com/ansible/awx/issues/2371
2019-08-27 12:47:27 -04:00
softwarefactory-project-zuul[bot]
534c4e776a Merge pull request #4291 from jladdjr/templated_messages
Templated notifications

Reviewed-by: Jim Ladd
             https://github.com/jladdjr
2019-08-27 16:29:21 +00:00
softwarefactory-project-zuul[bot]
187360a8ad Merge pull request #4605 from ryanpetrello/cli-inventory-alias
cli: add an alias for `awx inventories`

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-27 15:40:18 +00:00
softwarefactory-project-zuul[bot]
8ae93848db Merge pull request #4564 from rooftopcellist/manifest_destiny
add collection version tracker & query info

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-27 15:09:17 +00:00
Ryan Petrello
036a04c918 cli: add an alias for awx inventories 2019-08-27 10:38:28 -04:00
softwarefactory-project-zuul[bot]
92b9176455 Merge pull request #4517 from jakemcdermott/fix-akit-shell-init
fix akit shell init when no credential config is provided

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-27 14:36:34 +00:00
softwarefactory-project-zuul[bot]
1a01fdb02d Merge pull request #4604 from ryanpetrello/host-not-hosts
cli: fix an awx CLI alias typo

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2019-08-27 14:36:30 +00:00
Christian Adams
78c0d531bc Adds versions to analytics collectors and manifest file.
- adds 'query_info.json' to contain collection metadata
  - adds 'manifest.json' to contain collection file version info
2019-08-27 10:14:14 -04:00
Ryan Petrello
5bd61823ab cli: fix an awx CLI alias typo
see: https://github.com/ansible/awx/issues/4603
2019-08-27 09:24:04 -04:00
softwarefactory-project-zuul[bot]
9e849ad3e6 Merge pull request #4596 from ryanpetrello/fix-cli-required-args
cli: fix a few bugs related to required OPTIONS

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-26 21:47:46 +00:00
softwarefactory-project-zuul[bot]
073c4322a3 Merge pull request #4582 from marshmalien/4233-playbook-field
Add playbook select and project field validation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-26 21:20:13 +00:00
softwarefactory-project-zuul[bot]
38a5355574 Merge pull request #4591 from ryanpetrello/cli-command-help
cli: make --help work properly for custom commands

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-26 20:11:43 +00:00
softwarefactory-project-zuul[bot]
0bebc0febc Merge pull request #4594 from ryanpetrello/fix4565
cli: print a newline after HTTP JSON errors

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-26 20:05:07 +00:00
softwarefactory-project-zuul[bot]
c74f826e29 Merge pull request #4472 from rooftopcellist/collection_org_job_info
Send job & org data

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2019-08-26 19:44:08 +00:00
softwarefactory-project-zuul[bot]
5f02906b28 Merge pull request #4590 from ryanpetrello/workflow-job-creation
prevent POST on /api/v2/workflow_jobs/

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-26 19:44:04 +00:00
softwarefactory-project-zuul[bot]
0d8abba613 Merge pull request #4597 from rooftopcellist/fix_encryption_typo
fix typo in comment about encryption

Reviewed-by: awxbot
             https://github.com/awxbot
2019-08-26 19:37:22 +00:00
Ryan Petrello
ea36be3a0e cli: fix a few bugs related to required OPTIONS
see: https://github.com/ansible/awx/issues/4581
see: https://github.com/ansible/awx/issues/4583
see: https://github.com/ansible/awx/issues/4560
2019-08-26 15:25:28 -04:00
softwarefactory-project-zuul[bot]
7dd6306221 Merge pull request #4593 from ryanpetrello/fix-4567
cli: fix a bug when printing complex data structures w/ -f human

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
             https://github.com/kdelee
2019-08-26 19:10:56 +00:00
softwarefactory-project-zuul[bot]
fbf19de993 Merge pull request #4592 from ryanpetrello/fix-4563
cli: remove --id flag from awx <resource> list

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
             https://github.com/kdelee
2019-08-26 19:10:52 +00:00
Marliana Lara
b77160f575 Fix broken tests due to JobTemplateForm changes 2019-08-26 15:01:06 -04:00
Marliana Lara
156d03fa45 Add playbook select and project field validation 2019-08-26 15:00:59 -04:00
Ryan Petrello
6999d779a8 make --help work properly for custom commands
see: https://github.com/ansible/awx/issues/4559
2019-08-26 15:00:16 -04:00
Christian Adams
cf464c7cb1 fix typo in comment about encryption 2019-08-26 14:20:39 -04:00
Ryan Petrello
ce6905d54a cli: print a newline after HTTP JSON errors
see: https://github.com/ansible/awx/issues/4565
2019-08-26 12:44:00 -04:00
Ryan Petrello
1d2edc1d81 cli: fix a bug when printing complex data structures w/ -f human
see: https://github.com/ansible/awx/issues/4567
2019-08-26 12:41:35 -04:00
Ryan Petrello
f9230d9879 cli: remove --id flag from awx <resource> list
see: https://github.com/ansible/awx/issues/4563
2019-08-26 12:25:18 -04:00
Ryan Petrello
a89324defa prevent POST on /api/v2/workflow_jobs/ 2019-08-26 11:47:19 -04:00
softwarefactory-project-zuul[bot]
e19035079e Merge pull request #4557 from jlmitch5/fixPopoverClick
fix regression where clicking inside popover closed it

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-26 15:26:39 +00:00
Christian Adams
cd3645eb4d Send job & org data 2019-08-26 10:22:07 -04:00
softwarefactory-project-zuul[bot]
9baa9eee96 Merge pull request #4585 from ryanpetrello/system-job-creation
prevent POST on /api/v2/system_jobs/

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-26 13:50:45 +00:00
Keith Grant
901d41e261 show error for disallowed new lines in code mirror 2019-08-25 23:11:25 -07:00
Jim Ladd
a10ad58c75 Use custom webhook bodies as is (instead of as a sub-field in webhook) 2019-08-25 23:11:25 -07:00
Jim Ladd
774a310e10 Don't collect job_host_summaries if job is running 2019-08-25 23:11:25 -07:00
Jim Ladd
c8805cc55b No need to merge old/new notification messages if messages field is null 2019-08-25 23:11:25 -07:00
Jim Ladd
24a383c7c1 Set default messages (for each message type) to null 2019-08-25 23:11:25 -07:00
Jim Ladd
487276613f Fix issue where only one NT attached to UJT would be used to send notifications 2019-08-25 23:11:25 -07:00
Keith Grant
7a6e62c022 update e2e tests for disabled toggle switches 2019-08-25 23:11:24 -07:00
Jake McDermott
d068fef767 handle message validation errors 2019-08-25 23:11:24 -07:00
Jim Ladd
2b792573f8 set messages default 2019-08-25 23:11:24 -07:00
Jim Ladd
ec20081d74 bump migration 2019-08-25 23:11:24 -07:00
Jim Ladd
8158632344 render notification templates 2019-08-25 23:11:24 -07:00
Jim Ladd
1a1eab4dab create jinja context based on job serialization 2019-08-25 23:11:24 -07:00
Jim Ladd
13b9679496 save/validate messages 2019-08-25 23:11:24 -07:00
Jim Ladd
3bb0aa4eec serialize notification body 2019-08-25 23:11:23 -07:00
Jim Ladd
24c3903c30 add debug info for failed slack notification 2019-08-24 20:37:59 -07:00
Jim Ladd
7bf250ecfa show default messages in options 2019-08-24 20:37:59 -07:00
Jim Ladd
0ddc32a6dc sort notification_type 2019-08-24 20:37:58 -07:00
Jim Ladd
8ca79e3579 job notification data omits new host summary fields 2019-08-24 20:37:58 -07:00
Jim Ladd
ccdbd0510f Add support for grafana, rocketchat in awxkit 2019-08-24 20:37:58 -07:00
Jim Ladd
616db6bc51 Add support for messages field in awxkit 2019-08-24 20:37:58 -07:00
Jim Ladd
cb411cc3be Add messages field 2019-08-24 20:37:35 -07:00
Jim Ladd
efbaf46179 Docs update for notification templates 2019-08-23 17:43:20 -07:00
Keith Grant
5468624df5 fix ui lint errors 2019-08-23 17:43:20 -07:00
Keith Grant
15e6117472 fix webhook method default value 2019-08-23 17:43:20 -07:00
Keith Grant
62f31d6b3f fix console error on hidden syntax-highlight directive 2019-08-23 17:43:20 -07:00
Keith Grant
965dc79a0a update notifications UI for new default messages structure 2019-08-23 17:43:20 -07:00
Keith Grant
150de6a70b update notification messages for webhook/pagerduty 2019-08-23 17:43:20 -07:00
Keith Grant
56f04e0153 change custom notification message from checkbox to toggle 2019-08-23 17:43:20 -07:00
Keith Grant
1470fa61d5 open docs link in new tab 2019-08-23 17:43:20 -07:00
Keith Grant
1c79d21416 add custom notification message help text 2019-08-23 17:43:20 -07:00
Keith Grant
3c4862acfe preserve default notification messages for users with read-only access 2019-08-23 17:43:20 -07:00
Keith Grant
37b44fe77d fix template view for auditor/limited permissions 2019-08-23 17:43:20 -07:00
Keith Grant
191d18cec0 fix ui lint errors 2019-08-23 17:43:20 -07:00
Keith Grant
885c5050a0 re-init message templates on notification type change 2019-08-23 17:43:20 -07:00
Jim Ladd
03ebe44802 In UI, rename start to started 2019-08-23 17:43:20 -07:00
Keith Grant
0398ce0530 get default template messages from OPTIONS 2019-08-23 17:43:20 -07:00
Keith Grant
a56a6d7158 wire in custom template messages on edit form 2019-08-23 17:43:20 -07:00
Keith Grant
b80ca62072 add messages to Add Notification form payload 2019-08-23 17:43:20 -07:00
Keith Grant
fc4c9af86f fix empty template message after expanding 2019-08-23 17:43:20 -07:00
Keith Grant
0f19d98d84 set heights on syntax highlight inputs 2019-08-23 17:43:20 -07:00
Keith Grant
7b828d73be fix ids to support multiple syntax-highlights at once 2019-08-23 17:43:20 -07:00
Keith Grant
8a04cf0cb4 add syntax-highlight directive 2019-08-23 17:43:20 -07:00
Keith Grant
adf25c61a2 add custom notification message input fields 2019-08-23 17:43:20 -07:00
softwarefactory-project-zuul[bot]
2eaf62a62d Merge pull request #4558 from mabashian/4228-jobs-delete
Hook up delete on jobs list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-23 21:14:55 +00:00
softwarefactory-project-zuul[bot]
4516e6400e Merge pull request #4525 from mabashian/4293-vars
Fixes issues with extra var prompting in workflow nodes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-23 21:09:21 +00:00
softwarefactory-project-zuul[bot]
72df2ca3a3 Merge pull request #4572 from mabashian/4474-datalist-width
Reverts data list toolbar back to expected width on normal lists

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-23 20:08:20 +00:00
Ryan Petrello
a949cc33f1 prevent POST on /api/v2/system_jobs/
SystemJobs should only be created by launching a SystemJobTemplate
2019-08-23 15:10:26 -04:00
softwarefactory-project-zuul[bot]
6e6676adb3 Merge pull request #4578 from ryanpetrello/awx-cli-install
fix install instructions for the AWX CLI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-23 17:02:09 +00:00
softwarefactory-project-zuul[bot]
49b840a996 Merge pull request #4577 from ansible/remove_job_status
Removing job_status from the docs because it doesn't exist.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-23 16:35:34 +00:00
Ryan Petrello
150b3e6f6d fix install instructions for the AWX CLI 2019-08-23 11:34:55 -04:00
softwarefactory-project-zuul[bot]
90af9a9e33 Merge pull request #4576 from ryanpetrello/ssl-insecure-cli
suppress urllib3 insecure warnings in the CLI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-23 15:22:22 +00:00
Rebeccah Hunter
be0c36540e Removing job_status from the docs because it doesn't exist. 2019-08-23 10:53:23 -04:00
Ryan Petrello
70ce074f5a suppress urllib3 insecure warnings in the CLI 2019-08-23 10:11:59 -04:00
softwarefactory-project-zuul[bot]
39a96a620e Merge pull request #4562 from ryanpetrello/fix-required-cli-args
fix a formatting bug re: required arguments in the CLI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-22 22:03:44 +00:00
softwarefactory-project-zuul[bot]
e13274c73f Merge pull request #4571 from ryanpetrello/v2-test-cleanup
clean up old v2 versioning in API tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-22 21:57:44 +00:00
Ryan Petrello
2e8be41111 fix a formatting bug re: required arguments in the CLI 2019-08-22 17:05:53 -04:00
mabashian
3079b54d31 Reverts data list toolbar back to 50/50 width on normal lists but maintains full width on lookups. 2019-08-22 15:34:30 -04:00
Ryan Petrello
4e6b0e1580 clean up old v2 versioning in API tests 2019-08-22 15:14:06 -04:00
Jake McDermott
94d6fcbe39 set default credentials when cred file not provided 2019-08-22 14:47:23 -04:00
John Mitchell
36229d92ee remove inadverdent debugger 2019-08-22 12:55:54 -04:00
mabashian
5549dac17d Hook up delete on jobs list. Add more comprehensive error handling on delete in organization and template lists. 2019-08-22 11:22:46 -04:00
John Mitchell
605c5784c8 fix regression where clicking inside popover closed it 2019-08-22 11:16:07 -04:00
softwarefactory-project-zuul[bot]
92bc608af3 Merge pull request #4535 from AlanCoding/null_ip
Allow gce host and public IP hostvars to be null

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-22 15:07:12 +00:00
softwarefactory-project-zuul[bot]
8566c30557 Merge pull request #4537 from jbradberry/fix-project-test
Fix asserts in test_project.py to use the id directly off of the job template

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-22 14:52:35 +00:00
softwarefactory-project-zuul[bot]
045578ce22 Merge pull request #4551 from rebeccahhh/devel
Remove extra warning when using garbage credentials

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-22 14:18:30 +00:00
Rebeccah Hunter
fb71b2699f removed tabbing 2019-08-22 09:41:32 -04:00
Rebeccah Hunter
af6e035c3b removed tabbing 2019-08-22 09:39:59 -04:00
softwarefactory-project-zuul[bot]
4a45a7e9c3 Merge pull request #4548 from ryanpetrello/more-cli-tweaks
more CLI tweaks

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-21 21:56:00 +00:00
Rebeccah Hunter
017274e2aa Removed extraneous warning when using garbage credentials for ssh_key_data
added in logic to check if there was an existing error before checking form field entry for ssh_key_unlock, also added a test to ensure that garbage data entered would not trigger the error message for both the incorrect ssh_key_data and the incorrect ssh_key_unlock, rather just the incorrect ssh_key_data
2019-08-21 17:01:51 -04:00
Ryan Petrello
44ff141c23 replace the (optional) tabulate dependency w/ a simple table printer 2019-08-21 15:54:47 -04:00
Ryan Petrello
ec5d471640 add an ad_hoc resource alias to the new CLI 2019-08-21 15:22:08 -04:00
mabashian
531a7b2c05 Add support for processing extra vars that come in string or object form. Small bug fixes for extra var corner cases in workflow nodes. 2019-08-21 13:34:41 -04:00
softwarefactory-project-zuul[bot]
1d05c21af4 Merge pull request #4544 from AlanCoding/rm_credential
Remove deprecated credential logic from create factory

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-21 16:45:07 +00:00
AlanCoding
a4f04cd534 remove deprecated credential logic from create factory 2019-08-21 10:40:38 -04:00
Bill Nottingham
444f024bb0 Fix display of indirect access permissions.
For indirect roles, we need to actually show the derived roles, not the
details of the role that gives us the derived roles. This means that
we can get multiple derived roles from a single indirect role, so
we have to expand the list.
2019-08-20 20:28:53 -04:00
softwarefactory-project-zuul[bot]
bccb54aec8 Merge pull request #4516 from ryanpetrello/py2
support the new CLI in py2 *and* py3

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-20 21:33:39 +00:00
Jeff Bradberry
ed1c667418 Fix asserts in test_project.py to use the id directly off of the job template
test_no_changing_overwrite_behavior_if_used, specifically.
2019-08-20 16:42:34 -04:00
softwarefactory-project-zuul[bot]
4bdbb88934 Merge pull request #4534 from ryanpetrello/nginx-server-version
hide nginx server version headers

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-20 19:20:37 +00:00
AlanCoding
85b351a0c8 Allow gce host and public IP hostvars to be null 2019-08-20 14:44:56 -04:00
softwarefactory-project-zuul[bot]
192fecad72 Merge pull request #4526 from jakemcdermott/update-gitignore
add akit config to gitignore

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-20 18:44:34 +00:00
Ryan Petrello
b82030b025 hide nginx server version headers 2019-08-20 14:34:04 -04:00
softwarefactory-project-zuul[bot]
8454adf8d4 Merge pull request #4490 from AlanCoding/wf_node_credential
Remove deprecated WFJT node credential field

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-20 18:23:49 +00:00
softwarefactory-project-zuul[bot]
e9df4ed800 Merge pull request #4435 from keithjgrant/4244-not-found-route
Add NotFound route handling

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-20 16:33:26 +00:00
Keith Grant
e1636b3ad4 add link back to dashboard from ContentError 2019-08-20 08:42:59 -07:00
Keith Grant
eeb86b3105 remove NotFoundError and use ContentError instead 2019-08-20 08:42:59 -07:00
Keith Grant
db1dddb95e fix redirect to login with expired session on org list & template list 2019-08-20 08:42:07 -07:00
Keith Grant
47357aea28 fix lint errors 2019-08-20 08:42:07 -07:00
Keith Grant
fe8df27811 add more meaningful 404 error screens 2019-08-20 08:42:07 -07:00
Keith Grant
256fc74676 add NotFound screen/route handling 2019-08-20 08:41:19 -07:00
Jake McDermott
2bda1db43e add akit config to gitignore 2019-08-20 11:10:08 -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
mabashian
4747be7014 Fixes bug in wf prompt modal by checking extra vars type before processing 2019-08-20 09:36:36 -04:00
mabashian
2de87dcef0 Fix prompt modal tab spacing when job launched from within jt form. 2019-08-20 09:35:19 -04:00
Ryan Petrello
80b4102aa9 support the new CLI in py2 *and* py3 2019-08-20 02:41:45 -04:00
softwarefactory-project-zuul[bot]
411667773a Merge pull request #4488 from jladdjr/docker_login_password_stdin
docker login: s/-p/--password-stdin/

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-19 23:22:05 +00:00
softwarefactory-project-zuul[bot]
ced5319ac9 Merge pull request #4512 from jlmitch5/projBranchFix
clear out branch/prompt on jt form when project changes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-19 20:52:59 +00:00
John Mitchell
ef26f6a4c2 clear out branch/prompt on jt form when project changes 2019-08-19 14:16:01 -04:00
softwarefactory-project-zuul[bot]
b28655181d Merge pull request #4440 from mabashian/toggle-dynamics
Remove restriction on toggling dynamic hosts on/off from the host form view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-19 16:42:17 +00:00
softwarefactory-project-zuul[bot]
2cdd007ed0 Merge pull request #4509 from saito-hideki/issue/tower/3679
Fixed form validation to JT survey minimum & maximum values

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-19 14:31:59 +00:00
softwarefactory-project-zuul[bot]
c963236a36 Merge pull request #4453 from ansible/e2e-cleanup
E2E websocket cleanup

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-19 14:09:31 +00:00
softwarefactory-project-zuul[bot]
2e762276bf Merge pull request #4507 from vrevelas/typo
Fix typo

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-08-19 13:07:26 +00:00
Hideki Saito
0f4de69e57 Fixed form validation to JT survey minimum & maximum values
- Fixed issue ansible/tower#3679

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-08-19 09:15:29 +00:00
vrevelas
1d1706665f Fix typo 2019-08-19 11:34:45 +03:00
softwarefactory-project-zuul[bot]
858f43fd2a Merge pull request #4489 from keithjgrant/4427-job-template-console-error
Fix default props for jt form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-16 23:45:56 +00:00
Keith Grant
491287b1de fix default props for jt form 2019-08-16 19:11:07 -04:00
softwarefactory-project-zuul[bot]
de78d5d63b Merge pull request #4505 from marshmalien/awx-pf-jt-project-field
Add project single select input to job template form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-16 21:57:24 +00:00
softwarefactory-project-zuul[bot]
ab45938d41 Merge pull request #4506 from rooftopcellist/fix_migrations
fix typo in migration name

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-16 18:24:41 +00:00
Christian Adams
a58a191071 fix typo in migration name 2019-08-16 13:46:41 -04:00
softwarefactory-project-zuul[bot]
2d7dc9aec7 Merge pull request #4493 from ryanpetrello/safeload
replace usage of FullLoader w/ safe_load

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-16 17:45:07 +00:00
Marliana Lara
45a69551f1 Change JT form project field into a single select input 2019-08-16 13:05:12 -04:00
softwarefactory-project-zuul[bot]
f7ea14107e Merge pull request #4503 from shanemcd/nit
Fix typo in migration filename

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-16 16:59:24 +00:00
softwarefactory-project-zuul[bot]
4dc97ac8d1 Merge pull request #3812 from skinlayers/devel
Add support for kubernetes nodeSelector, tolerations and affinity

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-16 16:36:56 +00:00
softwarefactory-project-zuul[bot]
165600b876 Merge pull request #4502 from rooftopcellist/token_description
Use consistent description types

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-08-16 16:27:41 +00:00
Shane McDonald
18a316646b Fix typo in migration filename 2019-08-16 10:29:34 -04:00
Ryan Petrello
39d0eb62e4 replace usage of FullLoader w/ safe_load 2019-08-16 10:13:27 -04:00
AlanCoding
d302f134ac Kill off all can_read access methods 2019-08-16 10:12:46 -04:00
Christian Adams
52f8a8a6e5 Use consistent description types 2019-08-16 09:25:03 -04:00
softwarefactory-project-zuul[bot]
e08e70efb4 Merge pull request #4498 from ryanpetrello/awx-cli-help
prevent `awx -h` CLI command from printing a scary connection error

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-15 18:19:01 +00:00
softwarefactory-project-zuul[bot]
89c41a5931 Merge pull request #4494 from kdelee/awxkit_remove_dateutil
Remove this dependency that we don't need

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-15 18:03:53 +00:00
Ryan Petrello
94235f4736 prevent awx -h CLI command from printing a scary connection error 2019-08-15 13:38:37 -04:00
softwarefactory-project-zuul[bot]
099a7f6cde Merge pull request #4495 from ryanpetrello/docker-for-mac-sdb
fix a bug in the sdb-listen setup

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-15 16:19:34 +00:00
Ryan Petrello
57d60e5b97 fix a bug in the sdb-listen setup
Docker for Mac recently renamed itself to Docker Desktop
2019-08-15 11:50:28 -04:00
Elijah DeLee
8efa0fc397 Remove this dependency that we don't need 2019-08-15 11:26:02 -04:00
softwarefactory-project-zuul[bot]
dc44e68980 Merge pull request #4479 from saito-hideki/issue/tower/3639
Fixed "DEFAULT ANSWER" to be properly deleted for Integer and Float types

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-15 14:54:46 +00:00
softwarefactory-project-zuul[bot]
65e359bdcf Merge pull request #4491 from ryanpetrello/remove-cli-termcolor
replace the termcolor dependency w/ a simple function

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-15 14:25:39 +00:00
Hideki Saito
f1a69e9357 Fixed "DEFAULT ANSWER" to be properly deleted for Integer and Float types
- Fixed issue ansible/tower#3639

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-08-15 10:24:17 -04:00
Ryan Petrello
224750c0d6 replace the termcolor dependency w/ a simple function 2019-08-15 09:54:01 -04:00
softwarefactory-project-zuul[bot]
2f658a4e5d Merge pull request #4305 from catjones9/jobTemplateAddButton
Adds Job Template Add Button to TemplatesList with link to add form

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-14 22:52:38 +00:00
catjones9
38a7fa5558 Linting errors
Signed-off-by: catjones9 <catjones@redhat.com>
2019-08-14 16:52:30 -04:00
catjones9
e591305dfe Changes conditional canAdd statement based on PR feedback
Signed-off-by: catjones9 <catjones@redhat.com>
2019-08-14 16:52:30 -04:00
catjones9
9e0d113063 Conditional Add Button on Template List screen
Signed-off-by: catjones9 <catjones@redhat.com>
2019-08-14 16:52:30 -04:00
softwarefactory-project-zuul[bot]
ad17bdc559 Merge pull request #4487 from ryanpetrello/many-groups-slowness
optimize a slow query in inventory script generation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-14 20:32:01 +00:00
softwarefactory-project-zuul[bot]
c35fbd6853 Merge pull request #4483 from ryanpetrello/multi-owner
fix bug where cred org permission was not checked

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-14 19:54:57 +00:00
Jim Ladd
74623a33a2 docker login: s/-p/--password-stdin/ 2019-08-14 12:32:26 -07:00
softwarefactory-project-zuul[bot]
8df70f5412 Merge pull request #4471 from jakemcdermott/multicred-template-loading
add related credential loading needed for multicredential select

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-14 19:31:34 +00:00
Ryan Petrello
98e7ae5f9f optimize a slow query in inventory script generation
see: https://github.com/ansible/awx/issues/4461
2019-08-14 15:03:53 -04:00
softwarefactory-project-zuul[bot]
26637499d1 Merge pull request #4484 from chrismeyersfsu/fix-notification_password
do not expose the notification secret fields

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-14 18:45:08 +00:00
Jake McDermott
55376bfd13 load related credentials when editing 2019-08-14 14:15:24 -04:00
Jake McDermott
a8511f967b build details url once 2019-08-14 14:15:24 -04:00
Jake McDermott
e3d6ee6f9e move label requests to function 2019-08-14 14:15:24 -04:00
Jake McDermott
d05c1bdd6e move function comment into function 2019-08-14 14:15:24 -04:00
Jake McDermott
c96dfd101c use alias for type import 2019-08-14 14:15:24 -04:00
chris meyers
9fa4dac847 do not expose the notication secret fields 2019-08-14 13:58:47 -04:00
softwarefactory-project-zuul[bot]
7374732d9b Merge pull request #4482 from ryanpetrello/prometheus_errors
fix a bug in the API metrics endpoint

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-14 17:14:25 +00:00
AlanCoding
4831cde39f fix bug where cred org permission was not checked 2019-08-14 12:07:28 -04:00
softwarefactory-project-zuul[bot]
43d816b6e4 Merge pull request #4265 from AlanCoding/branch_feature_phase_2
Allow JT specification and prompting for project branch

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-14 14:56:19 +00:00
Ryan Petrello
a45c93ed47 fix a bug in the API metrics endpoint
The metrics JSON renderer shouldn't try to parse data that isn't
a string (generally, this represents things like HTTP 403)
2019-08-14 10:40:21 -04:00
softwarefactory-project-zuul[bot]
31308e3795 Merge pull request #4383 from marshmalien/4236-output-toolbar
Job Output - Pagination and Static List

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-13 21:38:25 +00:00
Marliana Lara
748bf63d4e Move job event line styles into a shared dir
Set a field to avoid setState warnings

Fix lint errors
2019-08-13 17:06:24 -04:00
Jake McDermott
2a926fffd9 set default timezone to UTC for test runs 2019-08-13 17:05:48 -04:00
Marliana Lara
475645f604 Add JobOutput tests 2019-08-13 17:05:47 -04:00
Jake McDermott
b2922792bc add function for testing output lines 2019-08-13 17:05:47 -04:00
Marliana Lara
74ef0e7abf Refactor MenuControls as a functional component
* Fix lint errors
2019-08-13 17:05:47 -04:00
Marliana Lara
2aa38e84dd Add guard clause to loadMoreRows and style tweaks 2019-08-13 17:05:46 -04:00
Jake McDermott
033308de69 add missing event placeholders and recompute heights on load 2019-08-13 17:05:46 -04:00
Jake McDermott
0a3633113e ensure results are always indexed by counter when loading new rows 2019-08-13 17:05:46 -04:00
Marliana Lara
161c7706bc Add InfiniteLoader to fetch rows as needed 2019-08-13 17:05:46 -04:00
Jake McDermott
40560e962f compute row height on-the-fly 2019-08-13 17:05:45 -04:00
Jake McDermott
474a2a48bb add job event component and sanitized html building for output lines 2019-08-13 17:05:45 -04:00
Marliana Lara
da92889323 WIP - react virtualizer 2019-08-13 17:05:45 -04:00
Marliana Lara
859c364fbe Add MenuControl tests 2019-08-13 17:05:44 -04:00
Marliana Lara
408b38174a Add job output menu controls component 2019-08-13 17:05:44 -04:00
softwarefactory-project-zuul[bot]
e3c6e245d6 Merge pull request #3623 from wenottingham/hello-you-are-being-audited
Allow mapping org auditors where we map org admins.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-13 19:07:31 +00:00
softwarefactory-project-zuul[bot]
8fef029bc3 Merge pull request #4442 from mabashian/4225-sparkline-templates
Add Sparkline to templates list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-13 18:14:24 +00:00
softwarefactory-project-zuul[bot]
8fbda8a773 Merge pull request #4469 from jakemcdermott/lookup-tests
refactor lookup tests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-13 17:46:02 +00:00
Jake McDermott
245252ed11 refactor lookup tests 2019-08-13 13:13:12 -04:00
Bill Nottingham
bbf28f50bd Allow mapping org auditors where we map org admins. 2019-08-13 11:32:35 -04:00
softwarefactory-project-zuul[bot]
0cc9199f23 Merge pull request #4468 from ryanpetrello/more-awxkit-dep-cleanup
simplify awxkit dependencies

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-13 13:07:18 +00:00
AlanCoding
be21a8bcb4 Fix logic for turning off override behavior 2019-08-12 22:17:19 -04:00
John Mitchell
3df476e3f6 remove inadverdent duplicate CreateSelect2 call from playbook on jt edit form 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
John Mitchell
79a1dbc5a0 fix issue with interior scope declaration eslint error 2019-08-12 22:16:03 -04:00
AlanCoding
dc5d696238 avoid unnecessary checkout, more docs content 2019-08-12 22:16:03 -04:00
John Mitchell
139e8cde70 more ui work for branch and refspec on project/jt
- add refspec field to project
- update refspec and branch help text on project form
- add refspec field to job detail
- adjust form gen and ProcessErrors to show api errors for checkbox_groups correctly
- consolidate showPromptButton conditionals and fix the add/edit workflow node one for showing prompt when only branch is promptable
2019-08-12 22:16:03 -04:00
John Mitchell
13751e73f9 working commit 2019-08-12 22:16:02 -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
chris meyers
d785145c59 force proj sync when collections/requirements.yml
* Similar to roles/requirements.yml sync optimization logic.
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
chris meyers
cc6413c44c use ansible nightly
* ansible:devel now has ansible-galaxy collection support
2019-08-12 22:14:31 -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
softwarefactory-project-zuul[bot]
845e3867a6 Merge pull request #4467 from ansible/e2e-debugging-help
Known E2E Issues

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-12 23:34:06 +00:00
softwarefactory-project-zuul[bot]
7fcfc88c82 Merge pull request #4460 from jakemcdermott/normalize-e2e-urls
remove extra and trailing slashes from e2e url settings

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-12 23:27:27 +00:00
Jake McDermott
61ca4278c8 remove extra and trailing slashes from url 2019-08-12 18:59:02 -04:00
Ryan Petrello
299fa3b6b4 simplify awxkit dependencies
- remove flake8 as an install requirements (it's only used for tests)
- vendor toposort, which is Apache 2.0 licensed (and very small)
- change websocket-client to a setuptools optional dependency, which you
  can install via:

  pip install "./awxkit[websockets]"

- add `jq` and `tabulate` under an additional optional setuptools
  dependency:

  pip install "./awxkit[formatting]"

- remove `cryptography`, which is only used for random RSA generation
  (unused by the CLI)
2019-08-12 17:27:57 -04:00
softwarefactory-project-zuul[bot]
0b112e5b8f Merge pull request #4465 from ryanpetrello/json-metrics
add support for Accept:application/json to /api/v2/metrics

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-12 20:26:16 +00:00
John Hill
121bc96108 Updating for the known MacOS High Sierra issue 2019-08-12 15:46:39 -04:00
Ryan Petrello
82f5072c7d add support for Accept:application/json to /api/v2/metrics
see: https://github.com/ansible/awx/issues/4144
2019-08-12 15:17:40 -04:00
softwarefactory-project-zuul[bot]
99357acf5d Merge pull request #4462 from AlanCoding/the_edge_of_unicode
Fix error due to randint inclusivity

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-12 19:02:04 +00:00
AlanCoding
3a5e609a11 Fix error due to randint inclusivity 2019-08-12 13:36:53 -04:00
softwarefactory-project-zuul[bot]
a776d0ba59 Merge pull request #4459 from ryanpetrello/cli-version
make awxkit have the same version as the AWX package

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-12 15:15:41 +00:00
John Mitchell
0c89c6c79e fix ui conditional for adding fields to jt edit save payload 2019-08-12 11:01:11 -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
John Mitchell
76dcd57ac6 assorted UI work to support the new branch field
update project to have allow branch override checkbox
add new text input for branch field
adjust show/hide for branch and playbook jt fields
make playbook field allowed to add a new option not in the dropdown
update job results ui to show branch
update prompting to support new branch field
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
Ryan Petrello
b90d1456b3 make awxkit have the same version as the AWX package 2019-08-12 09:42:04 -04:00
Gabriel Totusek
794808cd10 Fix compatibility with postgresql helm chart v6.0.0+ 2019-08-12 02:40:25 -07:00
Gabriel Totusek
d932a70eff Downgrade postgres helm chart to v5.3.13 2019-08-12 00:43:09 -07:00
Gabriel Totusek
90e5b0a12d Update postgres helm chart to v6.2.1 2019-08-11 23:16:43 -07:00
Gabriel Totusek
f705eba7ed Add support for kubernetes tolerations, nodeSelector, and affinity 2019-08-11 23:10:56 -07:00
John Hill
8341601c60 Adding Debugging section to e2e doc
First of many debugging, Troubleshooting, and FAQ tips
2019-08-11 22:06:55 -04:00
softwarefactory-project-zuul[bot]
28e3625066 Merge pull request #4455 from ryanpetrello/stdout-is-not-missing
remove awxkit logic for working around an old stdout handling bug

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-09 20:43:19 +00:00
Ryan Petrello
d92753f20a remove awxkit logic for working around an old stdout handling bug
related: https://github.com/ansible/awx/issues/200
2019-08-09 14:44:52 -04:00
softwarefactory-project-zuul[bot]
76a10991ae Merge pull request #4451 from ryanpetrello/awxkit
open source awxkit

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-09 16:10:47 +00:00
Daniel Sami
2064309182 e2e cleanup websockets 2019-08-09 11:32:26 -04:00
Ryan Petrello
adaa4148c6 include awxkit CI in zuul runs
additionally, fix up some flake8 failures
2019-08-09 10:07:40 -04:00
Ryan Petrello
9616cc6f78 import awxkit
Co-authored-by: Christopher Wang <cwang@ansible.com>
Co-authored-by: Jake McDermott <jmcdermott@ansible.com>
Co-authored-by: Jim Ladd <jladd@redhat.com>
Co-authored-by: Elijah DeLee <kdelee@redhat.com>
Co-authored-by: Alan Rominger <arominge@redhat.com>
Co-authored-by: Yanis Guenane <yanis@guenane.org>
2019-08-08 22:12:31 -04:00
softwarefactory-project-zuul[bot]
9b836abf1f Merge pull request #4444 from elyezer/app-token-e2e
Add app token e2e

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-08 18:50:34 +00:00
softwarefactory-project-zuul[bot]
3441d0cb46 Merge pull request #4441 from ansible/noretry
[WIP] Parameterize E2E Suite retries

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-08 17:56:22 +00:00
mabashian
3d98d98d3c Moves tooltip and link logic out to the sparkline from the job status icon 2019-08-08 11:53:47 -04:00
softwarefactory-project-zuul[bot]
860d83d798 Merge pull request #4437 from rooftopcellist/correct_insights_collection_setting
Fix NoneType path error with analytics collection

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-08 15:17:57 +00:00
John Hill
ce37bc9897 remove static definition and move to pipelines 2019-08-08 10:44:56 -04:00
Christian Adams
c37bf5e9f5 Fix NoneType path error with analytics collection 2019-08-07 16:19:05 -04:00
mabashian
fba0da4c58 Fix linting 2019-08-07 16:16:57 -04:00
Elyézer Rezende
e7a15d478d Add app token e2e 2019-08-07 15:56:06 -04:00
softwarefactory-project-zuul[bot]
d7c15a782f Merge pull request #4425 from mabashian/toggles
Swap text-based on and off toggles to non-text based

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-07 19:55:16 +00:00
mabashian
6a7481a27c Prettier again 2019-08-07 14:52:40 -04:00
mabashian
a57f2ca2bf Run prettier 2019-08-07 14:46:41 -04:00
mabashian
37e5b6b134 Add sparkline tests 2019-08-07 14:44:16 -04:00
John Hill
d5dd1719b6 Parameterize E2E Suite retries 2019-08-07 11:48:12 -04:00
mabashian
0bd9d4abaf Change awxSwitch class prefix to atSwitch to match component name 2019-08-07 11:22:28 -04:00
mabashian
993855f70a Remove restriction on toggling dynamic hosts on/off from the host form view. 2019-08-07 11:15:42 -04:00
mabashian
c71068fa1c Create at-switch directive. Use it in all the places 2019-08-07 11:10:08 -04:00
mabashian
c4700998af Swap text-based on and off toggles to non-text based 2019-08-07 11:05:58 -04:00
mabashian
19d2c8c634 Adds sparkline to templates list 2019-08-06 15:51:27 -04:00
softwarefactory-project-zuul[bot]
4f3f87ebc7 Merge pull request #4433 from AlanCoding/we_dont_do_that
Remove setting not actually customizable

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-06 19:47:55 +00:00
AlanCoding
63978f7d10 remove setting not actually customizable 2019-08-06 13:40:52 -04:00
softwarefactory-project-zuul[bot]
5ed2a38e1d Merge pull request #4423 from saimonn/typo-INSTALL-md
INSTALL.md: fix #post-build-2 href fragment

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-06 14:31:18 +00:00
softwarefactory-project-zuul[bot]
dbcc3c5733 Merge pull request #4420 from wenottingham/be-an-enabler
[RFC] Allow enable/disable of hosts in dynamic inventory from the UI.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-05 17:29:17 +00:00
Bill Nottingham
b4f272a575 Catch another area where this toggle is set. 2019-08-05 12:06:41 -04:00
Simon Séhier
c17ce49e2e fix #post-build-2 href fragment 2019-08-05 17:29:36 +02:00
Bill Nottingham
8e1e33735a Allow enable/disable of hosts in dynamic inventory from the UI.
The API lets you do it, so we shouldn't block it from the UI.
2019-08-05 11:18:56 -04:00
softwarefactory-project-zuul[bot]
50c0867156 Merge pull request #4417 from ansible/stability-e2e
Stability for e2e websockets

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-05 13:16:45 +00:00
softwarefactory-project-zuul[bot]
5984b6235a Merge pull request #4403 from mabashian/3654-inv-status-popover
Fix summary popover on inventory list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-03 16:11:21 +00:00
softwarefactory-project-zuul[bot]
481df40764 Merge pull request #4411 from mabashian/workflow-start-node-width
Makes workflow start node width dynamic to account for languages other than English

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-08-03 13:43:58 +00:00
mabashian
521ecc883b Fix jshint errors 2019-08-03 09:26:50 -04:00
mabashian
688f14a0ee Fix summary popover on inventory list 2019-08-03 09:12:34 -04:00
mabashian
b3002e0b9d Makes workflow start node width dynamic to account for languages other than english 2019-08-03 09:11:20 -04:00
softwarefactory-project-zuul[bot]
9ab920cdb9 Merge pull request #4413 from AlexSCorey/multiSelectPatternFly
Multi-Select AWX-PF

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-02 22:37:27 +00:00
Alex Corey
8b35642b08 Fixes failing test and addresses PR issues 2019-08-02 17:37:58 -04:00
Alex Corey
74a1ebff32 Adds tests and refines chip interaction in MultiSelect component 2019-08-02 16:42:22 -04:00
Alex Corey
a577be906e Adds Multiselect functionality to labels on JTs 2019-08-02 16:42:22 -04:00
Daniel Sami
934d09e0de Stability for e2e websockets 2019-08-02 15:33:09 -04:00
softwarefactory-project-zuul[bot]
bb2474f56f Merge pull request #4415 from ryanpetrello/bubblewrap_aaaaaaaaaaarg
fix a bug that breaks isolated task execution

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-02 15:12:47 +00:00
Ryan Petrello
1388dec4b0 fix a bug that breaks isolated task execution 2019-08-02 07:48:46 -04:00
softwarefactory-project-zuul[bot]
9d2549b4b1 Merge pull request #4368 from jlmitch5/uiNextSearch
initial implementation of search in ui_next

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-01 20:51:48 +00:00
John Mitchell
c0dcba91f5 Update SEARCH.md 2019-08-01 16:21:19 -04:00
John Mitchell
2e777368bf Update SEARCH.md 2019-08-01 16:21:19 -04:00
John Mitchell
0276a37e8d small updates to qs syntax based on feedback 2019-08-01 16:21:19 -04:00
John Mitchell
30253d21fc assorted ui_next search phase 1 pr feedback updates
- remove unnecessary displayAll prop from ChipGroup
- update notification api fn to be 2 with no boolean param
- fix params passing to api functions
2019-08-01 16:21:19 -04:00
John Mitchell
f0ff5b190a update qs addParams/removeParams fns to take param object not string 2019-08-01 16:21:19 -04:00
John Mitchell
bdfeb2cb9c updates based on pr feedback
run prettier
update hasContentError to contentError in all the places
function naming updates
2019-08-01 16:21:19 -04:00
John Mitchell
357887417c working commit 2019-08-01 16:21:19 -04:00
John Mitchell
a58468ffee initial implementation of search in UI_next 2019-08-01 16:21:19 -04:00
softwarefactory-project-zuul[bot]
602ee856fa Merge pull request #4405 from AlanCoding/gce_token
Always provide gce token_uri

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-01 19:20:52 +00:00
AlanCoding
4399d9287d Always provide gce token_uri 2019-08-01 14:18:44 -04:00
softwarefactory-project-zuul[bot]
2faf69e3b5 Merge pull request #4410 from jbradberry/upgrade-django-2.2.4
Upgrade to django 2.2.4

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-01 17:58:53 +00:00
softwarefactory-project-zuul[bot]
008ea30c5f Merge pull request #4409 from ryanpetrello/bubblewrap_aaaaaaaaaaarg
attempt to properly clean up orphaned runner ansible_pi directories

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-01 16:03:22 +00:00
Ryan Petrello
cfeedb158e attempt to properly clean up runner ansible_pi directories 2019-08-01 11:21:38 -04:00
Jeff Bradberry
10200fced0 Add patch to the list of system packages installed into the container
since it is a requirement of the new updater.sh Python requirements script.
2019-08-01 10:41:49 -04:00
Jeff Bradberry
2926d0198d Bump the version of Django to 2.2.4
This is a security release.
2019-08-01 10:41:36 -04:00
softwarefactory-project-zuul[bot]
c742700a01 Merge pull request #4379 from saito-hideki/pr/fix_ui-devel-languages-1
Document UI building process for development environment to cover I18N static contents

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-01 12:13:50 +00:00
softwarefactory-project-zuul[bot]
3d5e072169 Merge pull request #4407 from mabashian/3929-notif-options-bold
Make notification form options regular font weight

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-01 12:04:49 +00:00
softwarefactory-project-zuul[bot]
772d087b6e Merge pull request #4404 from mabashian/4113-grafana
Fix js error thrown preventing creation of grafana notification

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-08-01 00:43:50 +00:00
mabashian
213df70419 Make notification form options regular font weight 2019-07-31 20:06:22 -04:00
softwarefactory-project-zuul[bot]
6a6d55fe41 Merge pull request #4317 from wenottingham/pexpect-the-requirements-inquisition
Remove pexpect, etc, from the ansible venv, that's now runner's problem.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-31 21:45:41 +00:00
softwarefactory-project-zuul[bot]
a36b436414 Merge pull request #4401 from AlanCoding/no_prompting
Update docs to reflect field removals

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-31 20:33:31 +00:00
mabashian
94b5bb8cf9 Ensure variable exists before calling toString on it to fix js error thrown when creating grafana notification 2019-07-31 14:15:13 -04:00
Hideki Saito
8362aa71db Update tooling and UI development documentation to cover I18N
- Document steps for adding I18N in builds
- Add "clean-language" target to remove *.mo files

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-07-31 09:44:29 -04:00
AlanCoding
b3651ecf30 Update docs to reflect field removals 2019-07-31 08:58:39 -04:00
softwarefactory-project-zuul[bot]
4a35df9a1c Merge pull request #4399 from mabashian/3676-notif-menu
Show notification menu to users with notification_admin team role

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-30 22:46:07 +00:00
softwarefactory-project-zuul[bot]
416b2ef37a Merge pull request #4398 from mabashian/3644-launch-outside-click
Prevent clicks outside of prompt modal from closing the modal without saving

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-30 22:18:54 +00:00
Bill Nottingham
ad28e11502 Remove pexpect, etc, from the ansible venv, that's now runner's problem. 2019-07-30 17:09:12 -04:00
softwarefactory-project-zuul[bot]
815823adc0 Merge pull request #4363 from jomach/feature/updateGitVersion
[4362] git version is old and does not work with x509 certificates

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-30 21:07:24 +00:00
mabashian
a6c50f6d20 Fix unit test endpoint to match notif admin request endpoint 2019-07-30 16:52:52 -04:00
mabashian
df177d6dc3 Removes close behavior when clicking outside of modal and dialog components 2019-07-30 16:47:17 -04:00
mabashian
1121a2b623 Show notification menu to users with notification_admin team role 2019-07-30 16:18:39 -04:00
softwarefactory-project-zuul[bot]
f02aa3528e Merge pull request #4311 from wenottingham/pair-of-mikos
Update paramiko to a version that can work with any python-gssapi.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-30 19:35:48 +00:00
mabashian
c1cf7b79e3 Rogue console be gone 2019-07-30 15:25:42 -04:00
mabashian
47c59d5211 Prevent clicks outside of prompt modal from closing the modal without saving. User will now need to explicity hit the X or Cancel buttons to close the modal prematurely. 2019-07-30 15:22:01 -04:00
Bill Nottingham
20f1ed4533 Update source tarball. 2019-07-30 12:09:51 -04:00
Bill Nottingham
fafe9ce4ea Update paramiko to a version that can work with any python-gssapi. 2019-07-30 12:09:48 -04:00
softwarefactory-project-zuul[bot]
6499f2b233 Merge pull request #4380 from saito-hideki/issue/4359
Add description to template and project list view

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-30 15:49:32 +00:00
softwarefactory-project-zuul[bot]
8c4aac3b6c Merge pull request #4396 from ryanpetrello/ldap-audit
properly set `is_system_auditor` on initial LDAP login

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-30 15:28:23 +00:00
Ryan Petrello
a47a2d8567 properly set is_system_auditor on initial LDAP login
django-auth-ldap recently changed its behavior at login to *delay* the
user.save() call:

b777321fb4

our current process of discovering and setting up the system auditor
role at LDAP login *relies* on the user having a primary key, so this
code now manually calls .save() to enforce one
2019-07-30 10:05:39 -04:00
softwarefactory-project-zuul[bot]
5d6916f69e Merge pull request #4391 from ryanpetrello/skip-empty-stdout
skip events w/ empty stdout when generating stdout downloads

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-30 13:48:07 +00:00
Hideki Saito
329b791908 Add description to template and project list view
- Fixed issue #4359

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-07-30 20:18:54 +09:00
Jorge Machado
76933ed889 * upgrade from git on containers
* agreed with terms of DCO 1.1

Signed-off-by: Jorge Machado <jorge@jmachado.me>
2019-07-30 07:04:04 +02:00
softwarefactory-project-zuul[bot]
c7bb0f10e1 Merge pull request #4385 from chrismeyersfsu/fix-home_dir
fake it till you make it!

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-29 17:47:36 +00:00
softwarefactory-project-zuul[bot]
7afa35af17 Merge pull request #4367 from keithjgrant/4232-single-select-lookup
Single select lookup

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-29 17:42:12 +00:00
softwarefactory-project-zuul[bot]
2e48718746 Merge pull request #4393 from marshmalien/4392-org-inv-link
Add link to organization inventory list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-29 17:25:21 +00:00
softwarefactory-project-zuul[bot]
26a7ec97fa Merge pull request #4387 from keithjgrant/3565-insights-translation
Insights translation

Reviewed-by: Keith Grant
             https://github.com/keithjgrant
2019-07-29 16:46:35 +00:00
Marliana Lara
3c96968ee0 Add link to organization inventory list 2019-07-29 12:36:30 -04:00
chris meyers
9236fd2a53 fake it till you make it!
* The user awx is passed to the launch of our dev docker container. The
docker system automagically creates that user for us and sets the home
dir to /tmp in /etc/passwd. Many methods of detecting the user home dir
don't use that. Instead, they use the HOME env var. This is a half-way
solution that solves the problem of python expanding the ~ dir.
* If other things break because they determine the users home dir via
/etc/passwd entry then a more in-depth fix will be needed.
2019-07-29 09:58:47 -04:00
Ryan Petrello
79723cea21 skip events w/ empty stdout when generating stdout downloads
see: https://github.com/ansible/tower/issues/3677
2019-07-29 09:36:00 -04:00
softwarefactory-project-zuul[bot]
9cc23d5a71 Merge pull request #4388 from falcon78921/wip-awx-grammar
awx/ui: fixed minor grammar error in Survey form

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-29 12:49:47 +00:00
James McClune
bb92296478 awx/ui: fixed minor grammar error in Survey form
Signed-off-by: James McClune <jmcclune@mcclunetechnologies.net>
2019-07-27 15:24:24 -04:00
Keith Grant
3d3952c549 remove unnecessary scrollbar from Inventories Lookup 2019-07-26 16:24:48 -07:00
Keith Grant
276ed792a2 translate insights tooltip 2019-07-26 12:57:24 -07:00
softwarefactory-project-zuul[bot]
0ef97c497f Merge pull request #3851 from AlanCoding/ig_distinct
Remove duplicates from IG list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-26 16:45:06 +00:00
Keith Grant
e903425785 mark button text for translation 2019-07-25 15:39:06 -07:00
softwarefactory-project-zuul[bot]
94e14ae6f8 Merge pull request #4378 from ryanpetrello/run-rabbit-run
don't filter out schedules that have a null `next_run`

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-25 21:34:03 +00:00
Ryan Petrello
e711d32ea2 don't filter out schedules that have a null next_run
when schedules are disabled, their `next_run` is unset; we should still
show them in this list view, just with an empty value in the `next_run`
column (they're disabled, so they'll never run)
2019-07-25 17:07:28 -04:00
softwarefactory-project-zuul[bot]
a5c5874e20 Merge pull request #4377 from ryanpetrello/fix-4376
fix a bug which can cause isolated artifact cleanup to fail

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-25 20:27:03 +00:00
Ryan Petrello
2608e8d47d fix a bug which can cause isolated artifact cleanup to fail
see: https://github.com/ansible/awx/issues/4376
2019-07-25 15:52:04 -04:00
softwarefactory-project-zuul[bot]
06260bdbaf Merge pull request #4374 from rooftopcellist/update_job_status_info
Update job status comments

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-25 19:36:43 +00:00
Christian Adams
670a184708 Update job status comments
- waiting and pending job descriptions were not accurate
2019-07-25 15:06:06 -04:00
softwarefactory-project-zuul[bot]
24b166aec9 Merge pull request #4375 from rooftopcellist/pending_jobs_metrics
add pending jobs and system level job status to metrics

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2019-07-25 18:56:23 +00:00
Christian Adams
11a6e98230 Add pending jobs and system level job status to metrics 2019-07-25 14:19:20 -04:00
AlanCoding
2c533edb3c remove duplicates from IG list 2019-07-25 10:20:25 -04:00
softwarefactory-project-zuul[bot]
128fa8947a Merge pull request #4124 from beeankha/webhook_enhancement
Webhook Custom HTTP Method + Basic Auth Support

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-24 21:06:23 +00:00
Jake McDermott
97f841057f fix method mapping for webhook notification add 2019-07-24 15:50:27 -04:00
softwarefactory-project-zuul[bot]
2ccb5ba4a7 Merge pull request #4372 from ryanpetrello/instance-metrics-hostname
include instance hostnames in metrics endpoint

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-24 18:18:06 +00:00
Ryan Petrello
f2996f1c89 include instance hostnames in metrics endpoint 2019-07-24 13:41:56 -04:00
beeankha
f7502eed2f Correct the comment in migration file 2019-07-24 08:59:32 -04:00
Jake McDermott
1fe18dc588 normalize http method choice values 2019-07-23 19:58:35 -04:00
Keith Grant
2c86d7400a remove duplicate type declaration; lint fixes 2019-07-23 12:22:44 -07:00
beeankha
7580491f1a Add migration file to define http_method explicitly 2019-07-23 14:52:26 -04:00
Keith Grant
2392e57d2f fix InventoriesLookup on new JT form; add DataListRadio tests 2019-07-23 10:49:28 -07:00
Keith Grant
bb5b255c28 updating job template tests 2019-07-23 10:49:28 -07:00
Keith Grant
5edc6deeae finish core InventoriesLookup core functionality 2019-07-23 10:49:28 -07:00
Keith Grant
c080346751 start on InventoriesLookup 2019-07-23 10:49:28 -07:00
softwarefactory-project-zuul[bot]
d9c2bd8ef3 Merge pull request #4364 from AlanCoding/azure_mo_data
Re-create lost data in Azure_rm imports

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-23 15:47:29 +00:00
Jake McDermott
37e73acb62 cleanup tooling 2019-07-23 11:47:19 -04:00
beeankha
04404c93db Enforce http_method restrictions via API 2019-07-23 11:47:19 -04:00
beeankha
6ef235dcd5 Enable auth header to send with just username field filled in 2019-07-23 11:47:19 -04:00
Jake McDermott
d66106d380 rename docker-notifications to docker-httpbin 2019-07-23 11:47:19 -04:00
beeankha
99737937cd No auth header sent if username/password fields are blank 2019-07-23 11:47:19 -04:00
beeankha
0a0b09b394 Update logic in send method to recognize password field in upgraded webhook notifications 2019-07-23 11:47:19 -04:00
Jake McDermott
2b74b6f9b6 add tooling for basic testing of notification webhooks 2019-07-23 11:47:19 -04:00
beeankha
6e9f74eb17 Updating tests, changing 'method' to 'http_method' 2019-07-23 11:47:19 -04:00
Jake McDermott
cc0310ccd4 add notification webhook fields 2019-07-23 11:47:19 -04:00
beeankha
52b01feafe Change init parameter name to 'http_method' to reduce ambiguity 2019-07-23 11:47:19 -04:00
beeankha
fbb3fd2799 Add custom HTTP method 2019-07-23 11:47:19 -04:00
beeankha
5071e1c75f Update webhook backend to take username/password 2019-07-23 11:47:19 -04:00
beeankha
6f030256f5 Add username and password fields to webhook backend 2019-07-23 11:47:19 -04:00
softwarefactory-project-zuul[bot]
0fff7465e8 Merge pull request #4360 from ryanpetrello/smart-inv-ignore-conflicts
replace the smart inventory membership lock with a new Django 2.2 flag

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-23 05:30:53 +00:00
AlanCoding
a0c7471110 Re-create lost data in Azure_rm imports 2019-07-22 15:32:24 -04:00
Ryan Petrello
1cedf244b7 replace the smart inventory membership lock with a new Django 2.2 flag 2019-07-22 11:11:36 -04:00
Ryan Petrello
f6c357659d Merge pull request #4348 from shanemcd/devel
Bump VERSION to 6.1.0
2019-07-18 14:26:18 -04:00
softwarefactory-project-zuul[bot]
8ccccfecf1 Merge pull request #4316 from keithjgrant/222-job-results-details
222 job results details

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-18 17:15:38 +00:00
Shane McDonald
2d7420317b Bump VERSION to 6.1.0 2019-07-18 13:08:52 -04:00
softwarefactory-project-zuul[bot]
6bdb106128 Merge pull request #4345 from jakemcdermott/fix-4302
fix reference to undefined prop for auditors

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-18 17:07:10 +00:00
softwarefactory-project-zuul[bot]
a128a94842 Merge pull request #4314 from mgs4332/memcached_image
Addition of inventory value for memcached image, allows for custom im…

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-18 16:20:37 +00:00
softwarefactory-project-zuul[bot]
f7a455bc83 Merge pull request #4346 from ansible/chrismeyersfsu-patch-1
Update collections.md

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-18 16:07:37 +00:00
softwarefactory-project-zuul[bot]
f51377ff85 Merge pull request #4339 from jbradberry/make-clean-test-dbs
Update the `make clean` command to clear out the parallelized sqlite3 files

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-18 15:51:24 +00:00
Chris Meyers
dc0862bbe7 Update collections.md 2019-07-18 11:12:51 -04:00
Jake McDermott
5b1350db75 fix reference to undefined prop for auditors 2019-07-18 10:21:50 -04:00
Scholl III, Michael G
12f564e4a3 Addition of inventory value for memcached image, allows for custom image locations for memcached to match other images 2019-07-18 09:24:44 -04:00
Keith Grant
0d7500d349 use unified jobs api to redirect to canonical url from /jobs/:id 2019-07-17 16:12:00 -07:00
Jeff Bradberry
d32394f1b6 Update the make clean command to clear out the parallelized sqlite3 files 2019-07-17 17:06:10 -04:00
softwarefactory-project-zuul[bot]
f5fee8e6e7 Merge pull request #4301 from chrismeyersfsu/tower_modules
Global collections path

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-17 20:11:25 +00:00
softwarefactory-project-zuul[bot]
9eb7042d8c Merge pull request #4072 from rambleraptor/gcp_env_vars
adding additional environment variables for gcp_compute + gcp modules

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-17 20:11:17 +00:00
chris meyers
9b95cc27c4 map in a global collections path 2019-07-17 15:36:09 -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
Alex Stephen
cb60f12b6b adding additional environment variables for gcp_compute + gcp modules 2019-07-17 12:30:12 -07:00
Keith Grant
2f9be4796a job detail style tweaks 2019-07-17 09:32:43 -07:00
Keith Grant
183bd4fa80 revert i18n on credential kind (API translates it) 2019-07-17 09:32:43 -07:00
Keith Grant
db4a964e64 run credential type through i18n 2019-07-17 09:32:43 -07:00
Keith Grant
761ed6dec0 prettier 2019-07-17 09:32:43 -07:00
Keith Grant
e3d67117e7 fix job detail breadcrumbs 2019-07-17 09:32:43 -07:00
Keith Grant
552164c25c flush out more type defs; JobDetail tests 2019-07-17 09:32:43 -07:00
Keith Grant
40f9b0dc7f add CredentialChip component 2019-07-17 09:32:43 -07:00
Keith Grant
eee1601528 job details: handle different job types 2019-07-17 09:32:43 -07:00
Keith Grant
da780c9d7c make VariablesInput detect whether value is JSON or YAML on init 2019-07-17 09:32:43 -07:00
Keith Grant
968cc8c79c add variables & artifacts to job detail 2019-07-17 09:32:43 -07:00
Keith Grant
4372e977f0 build basic job details 2019-07-17 09:32:43 -07:00
softwarefactory-project-zuul[bot]
41b0367627 Merge pull request #4337 from ryanpetrello/activity-stream-missing-jt
fix a 500 error for Activity Stream job records w/ a missing JT

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-17 16:17:53 +00:00
Ryan Petrello
c25dbb534f fix a 500 error for Activity Stream job records w/ a missing JT 2019-07-17 10:28:51 -04:00
softwarefactory-project-zuul[bot]
d0d08c2395 Merge pull request #4328 from jakemcdermott/nested-hashi-kv-v2-engine-names
support nested names for hashivault kv v2 secret engine

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-16 18:26:56 +00:00
softwarefactory-project-zuul[bot]
1242ee2b65 Merge pull request #4324 from keithjgrant/4218-lookup-toolbar-width
make lookup toolbar fill width of modal

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-16 18:18:46 +00:00
softwarefactory-project-zuul[bot]
7d0f062d9e Merge pull request #4333 from ansible/nightwatchxsl
Added nightwatch stylesheet to e2e

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-16 18:09:24 +00:00
Keith Grant
aea08eef6b make lookup toolbar fill width of modal 2019-07-16 13:36:38 -04:00
Daniel Sami
aef263fa6c Added nightwatch stylesheet to e2e 2019-07-16 13:34:54 -04:00
Jake McDermott
35d9a8f839 support nested engine names for hashivault kv v2 secret engine
Add a field to hashivault plugins for identifying the secret
backend (mount point). If no secret backend is provided, the
first part of the secret path is used.
2019-07-16 13:13:22 -04:00
softwarefactory-project-zuul[bot]
fef6e0b191 Merge pull request #4332 from ryanpetrello/roll-back-fedora
Roll back the dev environment to CentOS 7 and build a newer sqlite3

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-16 15:19:45 +00:00
Ryan Petrello
b620d8505a build and link a newer sqlite3 to make Django happy 2019-07-16 10:50:49 -04:00
softwarefactory-project-zuul[bot]
9fc1378fd1 Merge pull request #4304 from mabashian/3901-desc
Add host description to relevant lists

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-07-16 14:29:43 +00:00
mabashian
b46db98b5a Removes some unused classes. Fix host desc ellipsis and responsiveness. Add desc to group hosts 2019-07-16 09:28:17 -04:00
Jose Ariza
14bdf8deb3 #3348 improved related listing on mobile
Signed-off-by: Jose Ariza <l.jlac001@gmail.com>
2019-07-16 09:28:17 -04:00
Jose Ariza
24df1d7be6 #3348 improved listing on mobile
Signed-off-by: Jose Ariza <l.jlac001@gmail.com>
2019-07-16 09:28:17 -04:00
Jose Ariza
40ead6f9d1 #3348 implemented suggested style changes
Signed-off-by: Jose Ariza <l.jlac001@gmail.com>
2019-07-16 09:28:17 -04:00
Jose Ariza
2a71232dd6 #3348 added description to host list on inventories related hosts
Signed-off-by: Jose Ariza <l.jlac001@gmail.com>
2019-07-16 09:28:17 -04:00
Jose Ariza
8b301f91ab #3348 added description to host list
Signed-off-by: Jose Ariza <l.jlac001@gmail.com>
2019-07-16 09:28:17 -04:00
Ryan Petrello
a4b2d6bf88 Revert "Change the devel containers to be based on Fedora instead of CentOS"
This reverts commit 7936dff188.
2019-07-16 09:18:24 -04:00
softwarefactory-project-zuul[bot]
b8b98b136b Merge pull request #4070 from jbradberry/upgrade-django-2.2
Upgrade Django to 2.2

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-15 22:56:22 +00:00
softwarefactory-project-zuul[bot]
c4b4b319c9 Merge pull request #4323 from keithjgrant/4248-tooltip-permissions-list
fix listed resources in delete tooltip

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-15 13:13:41 +00:00
Jeff Bradberry
dd8ca5acc4 Ensure that the Postgres client is installed 2019-07-12 16:22:52 -04:00
Jeff Bradberry
172864a3a1 Force the username and password to be strings under the Radius backend
The base Radius backend encodes them as utf-8 bytes, which causes the
User object that we create to get the repr of the username, including
the b prefix and single quotes, e.g. "b'foo'".
2019-07-12 15:11:22 -04:00
Jeff Bradberry
a691340986 Update authenticate method on auth backends to add required request param
This became mandatory in Django 2.1.
2019-07-12 15:11:22 -04:00
Jeff Bradberry
261f1427e9 Break up a too-long line in migrations 2019-07-12 15:11:22 -04:00
Jeff Bradberry
9383512772 Remove no longer needed check for override of WSGIHandler 2019-07-12 15:11:22 -04:00
Jeff Bradberry
2d81923e22 Fix up changes in fields in the migrations
Particularly the now-required on_delete parameter for ForeignKey and
OneToOneField.
2019-07-12 15:11:22 -04:00
Jeff Bradberry
1093a662f1 Fix a problem with a change in results from User.has_usable_password 2019-07-12 15:11:22 -04:00
Jeff Bradberry
210517eeb1 Fix a couple of tests trivially affected by the upgrades
- is_anonymous may no longer be called as a method, so no need to mock it
- the message on uniqueness constraint failures has apparently changed
2019-07-12 15:11:22 -04:00
Jeff Bradberry
2ffe3d9a85 Give the 4xx error handler views the correct positional arguments 2019-07-12 15:11:22 -04:00
Jeff Bradberry
6737bd4c19 Replace {} as field default values with the callable dict 2019-07-12 15:11:22 -04:00
Jeff Bradberry
29ad847544 Deal with a change in truncation of strings in Django
which now uses a proper ellipsis character instead of 3 dots.
2019-07-12 15:11:22 -04:00
Jeff Bradberry
b3ef2c928a Remove the custom add and remove methods from OrderedManyToManyDescriptor 2019-07-12 15:11:22 -04:00
Shane McDonald
7936dff188 Change the devel containers to be based on Fedora instead of CentOS
since we need a more recent version of sqlite.
2019-07-12 15:11:22 -04:00
Jeff Bradberry
43c552c7c6 Some flake8 changes 2019-07-12 15:11:21 -04:00
Jeff Bradberry
e0357d53f5 Bump Django to 2.2.2 2019-07-12 15:11:21 -04:00
Jeff Bradberry
beb1dd5ae7 Replace use of the deprecated staticfiles template library with static 2019-07-12 15:11:21 -04:00
Jeff Bradberry
d464df557b Fix another direct assignment of a sequence to a related manager 2019-07-12 15:11:21 -04:00
Jeff Bradberry
5e9f790554 Bump to Django 2.1.9 2019-07-12 15:11:21 -04:00
Jeff Bradberry
47b325896d Remove the django_db mark from TransactionTestCase classes
pytest-django's documentation indicates that it isn't necessary, and
it turns out in Django 2.0+ that this double application of the
transaction machinations was causing the Django ContentType table to
lose its items.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
c85d58e28d The interactive flag for management commands doesn't seem to be a thing anymore 2019-07-12 15:11:21 -04:00
Jeff Bradberry
bcbb768dd3 Remove the use of the deprecated Field.rel attribute
Also, rename a number of variables named `rel` for ease of searching.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
e0693d3746 is_anonymous and is_authenticated no longer support being called as methods 2019-07-12 15:11:21 -04:00
Jeff Bradberry
a6edc46cc3 Field.from_db_value no longer supports the context param in 2.0 2019-07-12 15:11:21 -04:00
Jeff Bradberry
f24b08316d Django's url resolver and pattern classes have been renamed in 2.0+
They are now URLResolver and URLPattern, respectively.  The API has
changed as well, but fortunately it looks like what we are doing here
doesn't depend on anything that was changed.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
25c14382db Update the monkey patch of Django's column name digest to work with 2.0+
BaseDatabaseSchemaEditor no longer has a `_digest` classmethod,
instead there is a call out to a new `names_digest` utility function.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
796d7bf67f Replace the use of the 3rd party jsonbfield library
which was just a backport of Django's built-in JSONField.  Also, bump
the version of django-jsonfield.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
ddef41d394 Bump Django to 2.0.13
This is _very_ broken.
2019-07-12 15:11:21 -04:00
softwarefactory-project-zuul[bot]
c626f51dae Merge pull request #4319 from AlanCoding/azure_template_errors
Ignore Azure templating errors

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2019-07-12 19:00:36 +00:00
softwarefactory-project-zuul[bot]
a9bb1eba02 Merge pull request #4320 from jdekoning/ssh-machine-creds-fix
Insert signed public key in artifact_dir, fix for issue #4139

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-07-12 18:37:57 +00:00
Keith Grant
b1c87c1793 fix listed resources in delete tooltip 2019-07-12 09:43:40 -07:00
AlanCoding
612205d56d Ignore Azure templating errors 2019-07-12 08:11:27 -04:00
Jaap de Koning
94b1455f40 Insert signed public key in artifact_dir, hacky fix for issue #4139
Signed-off-by: Jaap de Koning <jaap.de.koning@bigdatarepublic.nl>
2019-07-12 14:10:14 +02:00
softwarefactory-project-zuul[bot]
b26bd11924 Merge pull request #4315 from AlanCoding/old_migration_methods
Remove unused migration methods

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-12 02:11:08 +00:00
AlanCoding
287159296a remove unused migration methods 2019-07-11 16:09:38 -04:00
softwarefactory-project-zuul[bot]
23100094dc Merge pull request #4313 from ryanpetrello/fix-4162
Remove tooltips from host events in output

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-11 18:29:35 +00:00
softwarefactory-project-zuul[bot]
b2275c0490 Merge pull request #4312 from wenottingham/check-one-check-two
Add some minimal sanity checking before running the updater script.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-11 16:55:56 +00:00
softwarefactory-project-zuul[bot]
d6dba784b1 Merge pull request #4285 from olia-dev/issue-4274
related #4274 - added option to verify server certificate with a specific CA

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-07-11 16:50:26 +00:00
Bill Nottingham
2a68ff49c1 Add some minimal sanity checking before running the updater script. 2019-07-11 12:12:22 -04:00
mabashian
0f8c59523a Remove tooltips from host events in output 2019-07-11 12:07:28 -04:00
softwarefactory-project-zuul[bot]
de02df4907 Merge pull request #4201 from beeankha/helper_method_in_serializer
Add Helper Method in Serializer for get_summary_fields

Reviewed-by: Yanis Guenane
             https://github.com/Spredzy
2019-07-10 14:28:04 +00:00
olia-dev
522dcf5ed3 related #4274 - moved function 'create_temporary_fifo' to 'awx/main/utils/common.py' and referenced it in other plugins (fixed errors) 2019-07-10 12:40:26 +02:00
olia-dev
b2d84a5d89 related #4274 - moved function 'create_temporary_fifo' to 'awx/main/utils/common.py' and referenced it in other plugins (fixed errors) 2019-07-10 12:39:57 +02:00
olia-dev
7b390fa2fc related #4274 - moved function 'create_temporary_fifo' to 'awx/main/utils/common.py' and referenced it in other plugins
Signed-off-by: olia-dev <olia-dev@ktah.net>
2019-07-10 11:41:21 +02:00
softwarefactory-project-zuul[bot]
557ec27303 Merge pull request #4251 from AlexSCorey/JTLaunchButton
Add Launch Button to Job Template Details

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-09 20:58:46 +00:00
softwarefactory-project-zuul[bot]
f47a37a96b Merge pull request #4259 from AlexSCorey/4216-OrgGetRequestDuplication
Removes duplicated GET request in Org.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-09 18:44:09 +00:00
softwarefactory-project-zuul[bot]
74d8fca673 Merge pull request #4296 from pebbledavec/patch-1
Removed forwardslash that was breaking paginated workflow node requests.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-09 18:40:34 +00:00
Alex Corey
7039f82d15 Only reload details whe navigating to details from another tab 2019-07-09 13:43:09 -04:00
softwarefactory-project-zuul[bot]
e34833c8cb Merge pull request #4300 from jakemcdermott/output-updown
get more events on page down or up when needed

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-09 17:12:27 +00:00
softwarefactory-project-zuul[bot]
f22314caaf Merge pull request #4257 from marshmalien/skeleton-template-add-form
Skeleton template add form

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-09 17:06:46 +00:00
Marliana Lara
fb0c82598f Address PR feedback 2019-07-09 12:37:50 -04:00
Jake McDermott
90f7e9375f get more events on page down or up when needed
when we page up or down, check if we've moved into the upper or lower
threshold of the scrollbar and request more events to show if we have.
2019-07-09 10:21:48 -04:00
softwarefactory-project-zuul[bot]
ccea920ea3 Merge pull request #4263 from fantashley/easy-custom-venvs
Add dynamic custom venv setup

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2019-07-09 13:23:37 +00:00
softwarefactory-project-zuul[bot]
2d636806db Merge pull request #4123 from clushie/update_openstacksdk_dependencies
Fix outdated openstacksdk version and add pip-compile helper script

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-09 13:04:12 +00:00
softwarefactory-project-zuul[bot]
bda42332b7 Merge pull request #4295 from JakobP/bug/3857-improve-error-message
Fix #3857. More informative error message for job templates

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-09 13:00:05 +00:00
olia-dev
2ee03b552d related #4274 - added option to verify server certificate with a specific CA (fixed errors) 2019-07-09 14:14:29 +02:00
olia-dev
7a5efa1adc related #4274 - added option to verify server certificate with a specific CA 2019-07-09 13:59:11 +02:00
pebbledavec
2ff3b5d62c Removed forwardslash that was breaking paginated workflow node requests.
The forward-slash in getWorkflowJobTemplateNodes was incorrectly interpreted as part of the pagesize integer (and thereby throwing an exception) when a complex workflow spanned multiple pages of workflow nodes.
Resolves: #4261
Signed-off-by: Dave Compton <sircompo@gmail.com>
2019-07-09 12:50:40 +01:00
Jakob Pedersen
e23ee41082 Fix issue #3857 with a more informative error message when the usercan not post to /#/templates/add_job_template
The cause can be both missing permissions and no projects being available.

Related #3857

Signed-off-by: Jakob Pedersen <CONS_JPE@jysk.com>
2019-07-09 10:47:19 +02:00
softwarefactory-project-zuul[bot]
2aa32f61f8 Merge pull request #4290 from ryanpetrello/csp-false-positive
specify a ng-csp attribute so Angular doesn't autodetect

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-09 01:58:18 +00:00
Ashley Nelson
036e1ad82e Add dynamic custom venv setup
Add support for python3 venvs
2019-07-08 18:49:31 -05:00
Ryan Petrello
66321a6218 specify a ng-csp attribute so Angular doesn't autodetect
without this, we're getting a false positive log message about an unsafe
eval (which is *actually* just angular auto-detecting whether or not
eval is supported)
2019-07-08 17:32:41 -04:00
softwarefactory-project-zuul[bot]
1f31cc9394 Merge pull request #4101 from jbradberry/fix-4099
Include defined fields from all parent classes of a HybridDictField

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-08 21:15:11 +00:00
Jeff Bradberry
758ad164fe Include defined fields from all parent classes of a HybridDictField
since our settings registry adds a mixin class when doing validation on these.

related #4099
2019-07-08 16:05:03 -04:00
softwarefactory-project-zuul[bot]
be975fc051 Merge pull request #4283 from falcon78921/wip-awx-minor-fix
awx/ui: minor fix on Update on Project Update description

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-08 19:48:28 +00:00
softwarefactory-project-zuul[bot]
04ea39c315 Merge pull request #4282 from saito-hideki/issue/tower_3590
Fix to use "type" as the condition value for Machine credential to cover I18N

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-08 19:36:31 +00:00
beeankha
12e0c31fe6 Rename helper method 2019-07-08 15:03:35 -04:00
Hideki Saito
869d259433 Fix conditional values for handle internationalization
Fix the variable for checking the credential type from "name" to "kind"
 in order to correctly handle I18N.

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-07-08 15:03:35 -04:00
beeankha
0dba3f53b1 Add in schedule case to helper method, make Activity Stream link point to schedule page 2019-07-08 14:59:07 -04:00
beeankha
73c87f9512 Add helper method in order to reduce repetition 2019-07-08 14:59:07 -04:00
softwarefactory-project-zuul[bot]
7faff07bd9 Merge pull request #4279 from athenahealth/fix-csp-for-safari-websockets
Update Content Security Policy to allow websockets

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-08 18:00:42 +00:00
softwarefactory-project-zuul[bot]
ca83b62c21 Merge pull request #4277 from jainnikhil30/devel
add inventory name and id to meta vars

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-08 16:09:49 +00:00
olia-dev
f77298643f related #4274 - added option to verify server certificate with a specific CA 2019-07-08 10:39:42 +02:00
James McClune
8aa33b9b4a awx/ui: minor fix on Update on Project Update description
In the Inventory Source settings, one of the update options is titled
Update on Project Change. However, the tooltip is titled
Update on Project Update. Looking at the overall AWX codebase, I think
the definitions are fitted more towards Update on Project Update.

Signed-off-by: James McClune <jmcclune@mcclunetechnologies.net>
2019-07-07 23:36:54 -04:00
Jeff Byrnes
987cfed649 Update Content Security Policy to allow websockets
Per #4167 a reasonable CSP was put in place, but unfortunately this
broke WebSockets support in Safari.

This is a quick fix to return support immediately. A more secure
implemetation would be beneficial in the longer term, however.
2019-07-05 16:12:27 -04:00
softwarefactory-project-zuul[bot]
9b6644bc77 Merge pull request #4276 from ryanpetrello/ldap-tls-verify-off
fix a bug that breaks OPT_X_TLS_REQUIRE_CERT=0 for LDAP authentication

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-05 15:58:47 +00:00
jainnikhil30
88a4362a7a add inventory name and id to meta vars 2019-07-05 20:37:36 +05:30
Ryan Petrello
0dcbafaccb fix a bug that breaks OPT_X_TLS_REQUIRE_CERT=0 for LDAP authentication 2019-07-05 10:24:18 -04:00
Alex Corey
3b17170533 more concise conditions for api calls 2019-07-03 16:19:43 -04:00
Marliana Lara
7afaacb5e3 Add Job Template Add form skeleton and test 2019-07-03 15:44:52 -04:00
Marliana Lara
b06421b870 Rename TemplateForm to JobTemplateForm 2019-07-03 15:44:52 -04:00
Alex Corey
320581a6c0 Addresses PR issues 2019-07-03 12:43:40 -04:00
softwarefactory-project-zuul[bot]
d4f50896de Merge pull request #4260 from fantashley/fix-docker-module-name
Change to docker_service for compatibility

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-03 12:28:35 +00:00
softwarefactory-project-zuul[bot]
71812c66d2 Merge pull request #4118 from DanielDisisto/patch-1
Failing requirements update when scm_type != git

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-03 12:17:05 +00:00
softwarefactory-project-zuul[bot]
731d8c21e8 Merge pull request #4252 from ansible/jakemcdermott-fix-readme-snippet
fix README snippet

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-03 11:55:05 +00: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
Ashley Nelson
485536d4cf Change to docker_service for compatibility 2019-07-02 16:03:43 -05:00
softwarefactory-project-zuul[bot]
b37040a85c Merge pull request #4256 from ryanpetrello/inline-image-csp
allow data: images in our Content Security Policy

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-02 17:13:10 +00:00
Alex Corey
b5b38c1b79 addresses PR Issues 2019-07-02 12:36:13 -04:00
softwarefactory-project-zuul[bot]
84ad1cdfcd Merge pull request #4250 from kialam/fix-254-delete-last-elem-list-page
Fix 254 delete last elem list page

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-02 16:17:51 +00:00
Ryan Petrello
75a72637dd allow data: images in our Content Security Policy
support for custom login logos relies on data:image/*;base64
see: https://github.com/ansible/awx/issues/4253
2019-07-02 11:35:56 -04:00
Kia Lam
74e4c17b63 Address PR feedback and format. 2019-07-02 09:54:07 -04:00
softwarefactory-project-zuul[bot]
c65ae87d69 Merge pull request #4175 from jainnikhil30/devel
fix the hashivault v2 lookup

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-02 12:42:41 +00:00
Phileas Lebada
7feb6515e1 Bump openstacksdk version
Signed-off-by: github.com/clushie <47661139+clushie@users.noreply.github.com>
2019-07-02 13:56:26 +02:00
Phileas Lebada
d3b3b6e8f5 Add cosmetic change with updater.sh
Signed-off-by: github.com/clushie <47661139+clushie@users.noreply.github.com>
2019-07-02 13:56:26 +02:00
Phileas Lebada
48e02f373f Add pip-compile updater.sh script
Signed-off-by: github.com/clushie <47661139+clushie@users.noreply.github.com>
2019-07-02 13:56:26 +02:00
jainnikhil30
dbf8df479b use path instead of *path while dong the join 2019-07-02 07:55:35 -04:00
jainnikhil30
764947c1ae fix the hashivault v2 lookup 2019-07-02 07:55:32 -04:00
Jake McDermott
0b724682da fix README snippet 2019-07-01 19:50:16 -04:00
softwarefactory-project-zuul[bot]
4fb055345d Merge pull request #4199 from mabashian/264-notification-type-column
Show notification type in its own column

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-01 22:57:50 +00:00
Kia Lam
d3ed6ac73a Fix Template list as well. 2019-07-01 16:21:41 -04:00
Kia Lam
d22cafc42e Add unit test. 2019-07-01 16:20:38 -04:00
Kia Lam
58444a75b9 Fix Org list returning a 404 by redirecting user to current page.
- Update itemCount after an org has been successfully deleted.
- Update PaginatedDataList to get current page when the number of items has changed.
2019-07-01 16:20:38 -04:00
softwarefactory-project-zuul[bot]
7178c1d9e0 Merge pull request #4200 from ansible/jakemcdermott-contrib-formatter
run formatting check with ci

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-01 19:28:39 +00:00
Jake McDermott
945d9156a6 do formatting check with ci linter 2019-07-01 14:27:25 -04:00
Jake McDermott
bf86719412 add a note about running the formatter 2019-07-01 14:16:17 -04:00
mabashian
12c0b80102 Prettify files 2019-07-01 13:51:13 -04:00
mabashian
1d2c21249b Show notification type in its own column 2019-07-01 13:49:38 -04:00
softwarefactory-project-zuul[bot]
3371a6f386 Merge pull request #4188 from mabashian/awx-pf-migration
Pull beginning of new ui application using React and Patternfly into AWX

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-01 17:31:32 +00:00
softwarefactory-project-zuul[bot]
e79fbab737 Merge pull request #4196 from shanemcd/devel
Release 6.0.0

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-01 17:03:29 +00:00
Shane McDonald
4f829ab93f Release 6.0.0 2019-07-01 12:47:37 -04:00
mabashian
8f74bad1c1 Roll back changes to test linting and unit test gating 2019-07-01 12:34:09 -04:00
softwarefactory-project-zuul[bot]
5ce78b383d Merge pull request #4190 from ryanpetrello/ldap-dict-order
fix a bug that causes LDAP TLS connection flags to not be set properly

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-01 16:19:51 +00:00
mabashian
02d320de71 Commit to test linting and unit test gating 2019-07-01 12:04:45 -04:00
softwarefactory-project-zuul[bot]
2404faa5d8 Merge pull request #4184 from rooftopcellist/delete_tarball
Delete collection tarball when no longer needed

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-07-01 15:44:49 +00:00
Christian Adams
e72b2fac6d Delete collection tarball when no longer needed
* Delete after shipping it
   * Delete when ship() fails
2019-07-01 11:11:44 -04:00
Ryan Petrello
11b36982cd fix a bug that causes LDAP TLS connection flags to not be set properly
co-authored-by: Jim Ladd <jladd@redhat.com>
2019-06-28 22:15:35 -04:00
softwarefactory-project-zuul[bot]
d438a93fd2 Merge pull request #4183 from ryanpetrello/logging-deadlock
don't ship external logs from the main thread of the dispatcher

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-28 16:24:27 +00:00
mabashian
5cb8bd34ac Adds make targets for linting/tests in ui_next. Modifies existing clean-ui target to clean ui_next as well. 2019-06-28 12:11:07 -04:00
mabashian
b457926b38 Update usage instructions since paths have changed 2019-06-28 10:50:49 -04:00
mabashian
55ce409a12 Run prettier on all the files in awx/ui_next 2019-06-28 09:26:11 -04:00
mabashian
051bbcaeb5 Remove gitignore from awx/ui_next and add rules to base gitignore 2019-06-28 09:23:45 -04:00
mabashian
2de5fbdac7 Merge awx-pf into awx 2019-06-28 09:09:52 -04:00
Ryan Petrello
dfa8d44eb8 don't ship external logs from the main thread of the dispatcher
this is a fairly esoteric change that attempts to work around a bug
we've discovered in cpython itself

context: https://github.com/ansible/awx/issues/4181
2019-06-27 16:24:36 -04:00
softwarefactory-project-zuul[bot]
4470e9ca26 Merge pull request #4178 from rooftopcellist/collection_datetime_str
Fix collection datetime for isolated instance info

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
             https://github.com/kdelee
2019-06-27 20:03:46 +00:00
softwarefactory-project-zuul[bot]
cf0fe729f5 Merge pull request #4039 from mabashian/application-lookup-column
Fix user token application lookup column widths

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-06-27 18:31:48 +00:00
mabashian
913e06b865 Fix user token application lookup column widths 2019-06-27 13:32:51 -04:00
Christian Adams
4d7c49372c Fix collection datetime for isolated instance info
* 'last_isolated_check' was a non JSON-serializable object and needed to be a str
2019-06-27 13:31:10 -04:00
Michael Abashian
43592cbe00 Move everything to awx/ui_next (#297) 2019-06-27 11:11:58 -04:00
softwarefactory-project-zuul[bot]
5c338e582a Merge pull request #4167 from ryanpetrello/csp
add a reasonable default Content Security Policy

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-26 20:21:20 +00:00
Michael Abashian
0a6fc8cb89 Fix for unit test failure in jt detail test where getting instance groups wasn't mocked (#296)
Fix for unit test failure in jt detail test where getting instance groups wasn't mocked.
2019-06-26 16:07:58 -04:00
Marliana Lara
5e6562023d Merge pull request #295 from marshmalien/job-template-directory-name
Job template directory name
2019-06-26 15:10:33 -04:00
Marliana Lara
14280ec53b Update launch button hover styles 2019-06-26 14:51:27 -04:00
Marliana Lara
edef496583 Update job template breadcrumb content 2019-06-26 14:49:10 -04:00
Marliana Lara
cfc0a4771f Update the JT Edit directory, file, and component names 2019-06-26 14:45:35 -04:00
Marliana Lara
f6ddb72482 Add key to ansible select options test 2019-06-26 14:41:38 -04:00
Michael Abashian
52851c57d8 Display details about network errors in alert modal and content error components (#288)
Display details about network errors in alert modal and content error components
2019-06-26 11:40:15 -04:00
Ryan Petrello
eacf819caf add a reasonable default Content Security Policy
ideally we'd improve this over time to remove the `unsafe-inline` lines,
but we can't due that today because Angular1 makes use of a lot of
inline <script> and <style> tag generation

see: https://github.com/ansible/awx/issues/2056
2019-06-26 10:46:26 -04:00
Marliana Lara
a503529d05 Merge pull request #291 from marshmalien/skeleton-template-edit-form
Skeleton template edit form
2019-06-26 10:33:22 -04:00
Marliana Lara
a2a245c89e Add unique key prop to ansible select options 2019-06-26 10:21:34 -04:00
softwarefactory-project-zuul[bot]
273415b9aa Merge pull request #4077 from j-shade/devel
fixed row item labels to view horizontally instead of vertically

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-26 12:50:16 +00:00
Jeremy Shade
e612a167e2 fixed row item labels to view horizontally instead of vertically 2019-06-26 08:22:20 -04:00
softwarefactory-project-zuul[bot]
0a7d6e603e Merge pull request #4165 from shanemcd/sane-working-dir
Use the source tree as the working directory for our dev env

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-26 00:58:37 +00:00
Shane McDonald
f05bed6366 Use the source tree as the working directory for our dev env 2019-06-25 18:28:01 -04:00
softwarefactory-project-zuul[bot]
cbe6c5bd3b Merge pull request #4164 from aubrel/devel
Change `docker_service` to `docker_compose`.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-25 21:45:49 +00:00
Marliana Lara
f3bf35311e Address PR feedback and merge conflicts 2019-06-25 16:29:55 -04:00
aubrel
e9ac44f561 Change docker_service to docker_compose.
Signed-off-by: aubrel <red_clover@riseup.net>
2019-06-25 15:58:52 -04:00
Marliana Lara
67d619f9cc Add template edit and form tests 2019-06-25 15:49:28 -04:00
Marliana Lara
463357c81e Add template edit form skeleton 2019-06-25 15:49:24 -04:00
Marliana Lara
7b3e5cd8d5 Refactor AnsibleSelect data prop to accept an array of option objects
* First custom_virtualenv in options list is always default
2019-06-25 15:47:42 -04:00
Alex Corey
ec1fa4dae6 240 jt details skeleton v2 (#273)
* adding package-lock.json

* deleted unsured file

* Adds a Bottom Border Component

* Updates dependencies

* Adds JT Details and tests for it

* merge and rebase

* addresses UI PR issues

* Addresses PR Issues and fixes failing tests.

* Updates to code, fixes package and package-lock.json addresses PR Issues

* fixes package files
2019-06-25 15:28:07 -04:00
Keith Grant
e49b9a202e Prettier configs (#281)
Add .prettierrc and update eslint configs
2019-06-25 11:26:44 -07:00
softwarefactory-project-zuul[bot]
aab29bef5b Merge pull request #4141 from ryanpetrello/ovirt4-dep-bump
bump ovirtsdk version to 4.3.0

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-24 21:18:40 +00:00
Jake McDermott
059fa9001a Merge pull request #287 from jakemcdermott/more-big-pr-fixups
misc cleanup from big prs
2019-06-24 10:22:33 -04:00
softwarefactory-project-zuul[bot]
9f42d9426c Merge pull request #4137 from chrismeyersfsu/fix-smart_inv_race
wrap smart inv cache update w/ advisory lock

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-21 20:25:10 +00:00
softwarefactory-project-zuul[bot]
b369609f07 Merge pull request #4103 from AlexSCorey/79-NotifyOnJobStart
Adds notify on start toggle

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-21 16:51:52 +00:00
Ryan Petrello
01d31231c0 bump ovirtsdk version to 4.3.0
see: bfc6a2a8d6
2019-06-21 12:49:16 -04:00
softwarefactory-project-zuul[bot]
c46be3e718 Merge pull request #4083 from rmkraus/devel
Updated ovirt4 dynamic inventory script.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-21 16:40:29 +00:00
Jake McDermott
cc36b46925 remove network context mock 2019-06-21 12:15:59 -04:00
Jake McDermott
657a6f3a93 use top-level import aliases 2019-06-21 12:10:01 -04:00
Jake McDermott
9dda5404a0 add 'has' prefix to error booleans 2019-06-21 12:01:29 -04:00
Jake McDermott
c3823771a7 Merge pull request #269 from jakemcdermott/jobs-list-skeleton
job list skeleton
2019-06-21 11:54:16 -04:00
Jake McDermott
69426dee08 add basic test coverage for job list 2019-06-21 11:46:40 -04:00
Jake McDermott
22dbe5c0f9 add shared DataListCell component 2019-06-21 11:46:40 -04:00
Jake McDermott
d8452e1259 job list skeleton 2019-06-21 11:46:35 -04:00
softwarefactory-project-zuul[bot]
38aedcdd48 Merge pull request #4136 from Spredzy/revert_makefile
Revert "Makefile: align pip and setuptools bump"

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-21 13:42:26 +00:00
softwarefactory-project-zuul[bot]
59bec99f4c Merge pull request #4128 from tchellomello/k8s-annotations
Introduces the ability to pass annotations to the Kubernetes Ingress Controllers

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-21 13:14:47 +00:00
Alex Corey
b0249a9a8b Addressed PR Issues 2019-06-21 08:58:51 -04:00
chris meyers
acb6d9c4d1 wrap smart inv cache update w/ advisory lock
* Two job templates that use the same smart inventory running at the
same time can easily race to recompute the smart inventory <-> host
mapping. In this case, bulk_create() can throw an error when racing.
* The per-smart-inventory advisory lock ensures that the state of the
system is consistent & that bulk_create() runs in isolation.
2019-06-21 08:52:34 -04:00
Yanis Guenane
78912d20f7 Revert "Makefile: align pip and setuptools bump"
This reverts commit ec92abf014.
2019-06-21 11:52:22 +02:00
Marcelo Mello
52712a0d9a Introduces the ability to pass annotations to the Kubernetes Ingress Controllers 2019-06-20 16:40:08 -04:00
Michael Abashian
cb50cdce0d Add support for launching job templates from the templates list (#277)
Add support for launching job templates from the templates list
2019-06-20 15:21:57 -04:00
Jake McDermott
cd672baa13 Merge pull request #284 from jakemcdermott/move-yaml-test
move yaml test to utils
2019-06-20 15:00:08 -04:00
Jake McDermott
30709d1ab2 Merge pull request #283 from jakemcdermott/has
prefix content error and loading booleans with 'has'
2019-06-20 14:59:52 -04:00
Jake McDermott
f382fce576 move yaml test to utils 2019-06-20 14:47:39 -04:00
Jake McDermott
36d2d03bc7 prefix content error and loading booleans with 'has' 2019-06-20 14:37:46 -04:00
Michael Abashian
b21e491075 Updates to contributing doc (#280) 2019-06-20 13:32:25 -04:00
Alex Corey
a7c787af02 Adds notify on start toggle 2019-06-20 13:07:09 -04:00
Marliana Lara
740402e5a8 Merge pull request #279 from mabashian/templates-routes
Add basic routing for templates
2019-06-20 12:11:22 -04:00
Marliana Lara
5662d8b625 Remove Fragment 2019-06-20 12:01:43 -04:00
mabashian
af6ea1cc58 Notifications plural 2019-06-20 11:34:16 -04:00
mabashian
f185d80b05 Fix border bottom on tabs 2019-06-20 11:33:15 -04:00
mabashian
0a5f29ad22 Add basic routing for templates 2019-06-20 10:57:04 -04:00
softwarefactory-project-zuul[bot]
e269634afc Merge pull request #4112 from jbradberry/fix-3603
Use the `in` operator to test against the Organization membership subquery

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-20 12:56:08 +00:00
Jake McDermott
3b7b27ea20 Merge pull request #276 from jlmitch5/testWatchFix
fix jest.config.js so `npm run test-watch` works
2019-06-20 08:25:56 -04:00
softwarefactory-project-zuul[bot]
4daf574899 Merge pull request #4114 from shanemcd/revert-pip-and-setuptools
Revert pip and setuptools

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-20 02:42:04 +00:00
softwarefactory-project-zuul[bot]
067ba7f8fe Merge pull request #4116 from tchellomello/ca_trust_dir_project_data_dir
Fixes ca_trust_dir and project_data_dir for Kubernetes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-20 02:19:25 +00:00
Marcelo Mello
7d77727a60 project_data_dir is not required in the awx_task containers 2019-06-19 21:35:49 -04:00
Marcelo Mello
47560fdf7c Fixes ca_trust_dir and project_data_dir for Kubernetes 2019-06-19 21:21:35 -04:00
John Mitchell
7fee9e35c4 fix jest.config.js so npm run test-watch works 2019-06-19 16:41:19 -04:00
Shane McDonald
2882f4afb5 Revert "upgrade pip and setuptools"
This reverts commit 76ebcf914b.
2019-06-19 16:02:52 -04:00
Shane McDonald
aaceccc426 Revert "Fix offline builds"
This reverts commit fe850dff38.
2019-06-19 16:02:43 -04:00
softwarefactory-project-zuul[bot]
1f3242900a Merge pull request #4098 from beeankha/any_notification_migration
Update "Notify On Start" Migration File

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-06-19 19:57:12 +00:00
softwarefactory-project-zuul[bot]
e6232957b4 Merge pull request #4079 from ryanpetrello/ldap-setting-flake
work around a unit test that's periodically flaky

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-19 18:55:24 +00:00
Jeff Bradberry
1a72ff4c47 Use the in operator to test against the Organization membership subquery
If more than one Organization were selected by this subquery, then
Postgres would complain with "more than one row returned by a subquery
used as an expression".  We needed to allow for that case.

Annoyingly SQLite3 doesn't seem to care, so writing a py.test test to
exercise this isn't feasible under our current development setup.
2019-06-19 14:49:02 -04:00
Jake McDermott
f33b343cd8 Merge pull request #274 from jakemcdermott/alias-top-level-imports
alias top-level imports
2019-06-19 13:09:26 -04:00
softwarefactory-project-zuul[bot]
c585c3d07d Merge pull request #4105 from rooftopcellist/fix_instance_counts
Fixes analytics & metrics instance specific job counts

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-19 16:49:09 +00:00
softwarefactory-project-zuul[bot]
1413c1be7b Merge pull request #4074 from ryanpetrello/whoopsie
fix a bug introduced in the inventory source detail API by v1 removal

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-19 15:52:47 +00:00
Jake McDermott
012852ec53 alias top-level imports 2019-06-19 11:45:57 -04:00
Michael Abashian
ee56e9ccfb Reorganize file locations/directory structure (#270)
Reorganize file locations
2019-06-19 11:41:14 -04:00
Christian Adams
a5c057cc18 Fixes analytics & metrics instance specific job counts 2019-06-19 11:32:05 -04:00
softwarefactory-project-zuul[bot]
9c06dc7106 Merge pull request #4106 from shanemcd/fix-offline-builds
Downgrade pip

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-18 23:17:48 +00:00
Shane McDonald
fe850dff38 Fix offline builds
pip 19 added support for something called `pyproject.toml`. Several packages have been setting the option `build-backend = "setuptools.build_meta”` (bcrypt, attrs, jaraco) which seems to be the root of the problem when building from source. Until the community sorts this out I’m inclined to avoid pip 19.
2019-06-18 18:48:54 -04:00
Keith Grant
e3cb8d0447 Add JSON/YAML components (#267)
Add CodeMirrorInput and VariablesField

Add components for syntax highlighting, YAML/JSON toggle
2019-06-18 12:32:22 -07:00
Marliana Lara
0b10ff7fe6 Merge pull request #268 from marshmalien/263-org-badge-count-styles
Group organization list user and member badges
2019-06-18 13:53:32 -04:00
beeankha
40840e3789 Update migration file to indicate there is no reverse function in case of a rollback 2019-06-18 12:57:50 -04:00
softwarefactory-project-zuul[bot]
e3750f541e Merge pull request #4096 from mabashian/4091-workflow-form
Fix field enablement on workflow form

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-18 16:15:57 +00:00
Marliana Lara
c9a4cb7696 Reduce gap between organization list count badges 2019-06-18 12:07:08 -04:00
softwarefactory-project-zuul[bot]
5d49fe2170 Merge pull request #4097 from shanemcd/five-dot-oh-dot-oh
Bump version to AWX 5.0.0

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-18 14:43:25 +00:00
softwarefactory-project-zuul[bot]
ca0e8102fd Merge pull request #3982 from beeankha/notify_on_start
Notification On Job Start

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2019-06-18 14:23:58 +00:00
Shane McDonald
08aff9bd2c AWX 5.0.0 2019-06-18 10:12:42 -04:00
mabashian
164d305b51 More canAddWorkflowJobTemplate cleanup 2019-06-18 09:16:19 -04:00
mabashian
4d33e484d0 Fix field enablement on workflow form 2019-06-18 09:10:49 -04:00
softwarefactory-project-zuul[bot]
1897b18a6e Merge pull request #4090 from Spredzy/bump_pip
Makefile: align pip and setuptools bump

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-17 20:52:44 +00:00
Yanis Guenane
ec92abf014 Makefile: align pip and setuptools bump
Signed-off-by: Yanis Guenane <yanis@guenane.org>
2019-06-17 21:58:42 +02:00
softwarefactory-project-zuul[bot]
5ed7db8cc2 Merge pull request #4085 from mabashian/4082-inv_obj
Ensure inventory_obj is on scope before checking it

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-17 18:08:43 +00:00
Michael Abashian
7a5cf4b81c Add support for deleting templates on templates list (#266)
Adds support for deleting templates from the templates list
2019-06-17 13:52:05 -04:00
Marliana Lara
4e45a3b365 Merge pull request #256 from marshmalien/skeleton-job-results
Skeleton job results
2019-06-17 11:48:14 -04:00
beeankha
69502bc133 Add functions in migration file for deleting and altering 'any' state notifications 2019-06-17 10:47:58 -04:00
beeankha
17c89ed412 Remove tests for 'any' notification state 2019-06-17 10:47:58 -04:00
beeankha
f5b6bd65cf More deletions of 'any' state 2019-06-17 10:47:58 -04:00
beeankha
c6f1806a23 Removing references to 'any' state notifications 2019-06-17 10:47:58 -04:00
beeankha
c65e6ba30b Update the logic for 'any' and 'started' notifications 2019-06-17 10:47:58 -04:00
beeankha
d511d63a5a Fixed typo 2019-06-17 10:47:58 -04:00
beeankha
30741e762a Add more notification tests 2019-06-17 10:47:58 -04:00
beeankha
7687eddf6d Add api test, edit AWX docs 2019-06-17 10:47:58 -04:00
beeankha
9cfed6f2a8 Add check for no-op case back, remove redundant on_commit code 2019-06-17 10:47:58 -04:00
beeankha
95896b1acd Edit wfj running notification trigger 2019-06-17 10:47:58 -04:00
beeankha
68fe23d8b7 Update Organization Notification Template subclass, move success/fail wfj notification trigger 2019-06-17 10:47:58 -04:00
beeankha
dd372548a9 Update swagger test 2019-06-17 10:47:57 -04:00
beeankha
8d6e1f0927 Trigger running notifications in WFJs and edit unit test 2019-06-17 10:47:57 -04:00
beeankha
98fa1fc813 Add migration file 2019-06-17 10:47:57 -04:00
beeankha
8ec97235e3 Add feature for notifications to trigger on job start 2019-06-17 10:47:57 -04:00
mabashian
863d962ec2 Ensure inventory_obj is on scope before checking it 2019-06-17 07:40:08 -04:00
Ryan Kraus
468e79a754 Updated ovirt4 dynamic inventory script.
Pulling in the new ovirt4 dynamic inventory script that will be pulled in ansible/ansible#57824

Signed-off-by: Ryan Kraus <rmkraus@gmail.com>
2019-06-16 11:55:46 -04:00
softwarefactory-project-zuul[bot]
049b3a2e87 Merge pull request #4080 from AlanCoding/no_more_v1
Remove code used defunct jobs list POST

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-15 01:02:24 +00:00
Marliana Lara
096f5fb324 Fix lint errors and pull in new content error and loading handler 2019-06-14 15:34:55 -04:00
Marliana Lara
416d30a189 Add close button to job detail and test 2019-06-14 14:46:48 -04:00
Marliana Lara
cda5cc25b8 Add Job results skeleton tests 2019-06-14 14:46:48 -04:00
Marliana Lara
508d8311dd Add Job results skeleton 2019-06-14 14:46:48 -04:00
Marliana Lara
54f9dd5e98 Add Job API model 2019-06-14 14:46:48 -04:00
Marliana Lara
4fe558392a Update organization card header and tabs to use styled-components 2019-06-14 14:46:42 -04:00
Jake McDermott
a98be1443b Merge pull request #255 from jakemcdermott/update-content-loading-and-errors
update content loading and error handling
2019-06-14 13:29:16 -04:00
AlanCoding
196b6572b2 remove code used defunct jobs list POST 2019-06-14 13:13:37 -04:00
Jake McDermott
e35f7acd05 add test coverage for auth utils 2019-06-14 13:01:02 -04:00
Jake McDermott
4aa4490933 add test coverage for api notification mixin 2019-06-14 13:00:50 -04:00
Jake McDermott
e72f0bcfd4 update content loading and error handling
unwind error handling

use auth cookie as source of truth, fetch config only when authenticated
2019-06-14 13:00:37 -04:00
Jake McDermott
534418c81a Merge pull request #262 from catjones9/organizations
Added Max Hosts field on Organizations Add/Edit form
2019-06-14 12:39:10 -04:00
softwarefactory-project-zuul[bot]
37cb912367 Merge pull request #4075 from ryanpetrello/old-migration-cleanup
delete a few really old migration utility files

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-14 14:27:47 +00:00
Ryan Petrello
d8bd72054d work around a unit test that's periodically flaky 2019-06-14 10:05:41 -04:00
softwarefactory-project-zuul[bot]
9958f382d7 Merge pull request #4043 from mabashian/4029-inv-refresh
Fixes bug where the delete inventory event would wipe or reset inventory form fields

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-06-14 14:04:59 +00:00
softwarefactory-project-zuul[bot]
1d767a15d8 Merge pull request #4044 from mabashian/read-only-codemirrors
Read-only codemirror cleanup

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-06-14 13:58:51 +00:00
softwarefactory-project-zuul[bot]
612373c849 Merge pull request #4041 from mabashian/wf-execute-unsaved
Fixes bug where save changes modal was shown to user with execute permissions

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2019-06-14 13:45:33 +00:00
mabashian
3ea6171b54 Fixes bug where the delete inventory event would wipe or reset inventory form fields 2019-06-14 09:38:27 -04:00
mabashian
302d8589c9 Make extra vars read-only for users without edit role on some forms. Fixes console error thrown in launch modal if survey tab missing. 2019-06-14 09:37:37 -04:00
mabashian
01f51219a6 Fix linting errors 2019-06-14 09:22:16 -04:00
mabashian
38ea82bf3d Fixes bug where save changes modal was shown to user with execute permissions 2019-06-14 09:22:16 -04:00
catjones9
91b8aa90ff Added 'Max Hosts' field in the Add/Edit Organization view
* max hosts field is enabled is user is superuser, otherwise it is disabled and default is 0
 * OrganizationForm tests added for max hosts input
 * minMaxValue added in validators to validate user input for max hosts

Signed-off-by: catjones9 <catjones@redhat.com>
2019-06-13 18:43:34 -04:00
catjones9
5874becb00 Max Hosts shows up in Org Detail View
Signed-off-by: catjones9 <catjones@redhat.com>
2019-06-13 18:04:09 -04:00
softwarefactory-project-zuul[bot]
d4ad674899 Merge pull request #4064 from mabashian/3829-new-list-links
Fixes links in various lists to maintain query params while navigating to edit form

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-13 21:56:34 +00:00
softwarefactory-project-zuul[bot]
9d3aca5e1b Merge pull request #4060 from mabashian/3830-host-filter-search
Always show search bar in smart inventory host filter modal

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-13 21:44:02 +00:00
Ryan Petrello
ae9032ce03 fix a bug introduced in the inventory source detail API by v1 removal
see: https://github.com/ansible/awx/issues/4059
2019-06-13 17:20:21 -04:00
Ryan Petrello
a454102e77 delete a few really old migration utility files 2019-06-13 17:19:43 -04:00
softwarefactory-project-zuul[bot]
e1d60ff4f1 Merge pull request #4052 from gamuniz/enabled_value_fix
Enabled value fix to be case insensitive(GCE API)

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-13 20:08:30 +00:00
Gabe Muniz
bd93d97a60 fix so enabled value is case insensitive 2019-06-13 15:36:54 -04:00
Alex Corey
19b41743de 215 templates list skeleton (#251)
* adding package-lock.json

* deleted unsured file

* Removes and unused file

* Fixes errant styling change

* Fixes an error and uses a prop that PF recognizes

* Updates PR to use API Modules

*  Fixes PR Issues

* Addes tests to Templates

* Addresses PR Issues

* Revert package-lock.json
2019-06-13 11:08:05 -04:00
softwarefactory-project-zuul[bot]
793e78d9c0 Merge pull request #4046 from AlanCoding/setuptools
Upgrade pip and setuptools

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2019-06-13 14:13:28 +00:00
AlanCoding
76ebcf914b upgrade pip and setuptools 2019-06-13 09:45:18 -04:00
mabashian
effe7151eb Adds missing semi-colon 2019-06-12 22:13:45 -04:00
mabashian
0023591bb0 Removes unnecessary variable 2019-06-12 22:13:45 -04:00
mabashian
9c50609776 Always show search bar in smart inventory host filter modal 2019-06-12 22:13:45 -04:00
softwarefactory-project-zuul[bot]
28cc08f215 Merge pull request #4033 from mabashian/bootstrap-whitelist-table
Whitelist table elements for use in bootstrap popovers

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-12 21:12:37 +00:00
mabashian
b83cef6ed7 Fixes links in various lists to maintain query params while navigating to edit form 2019-06-12 16:12:08 -04:00
mabashian
c729b698dd Whitelist table elements for use in bootstrap popovers 2019-06-12 15:32:08 -04:00
softwarefactory-project-zuul[bot]
e70c7ab458 Merge pull request #3967 from jbradberry/upgrade-drf-3.9.4
Upgrade DRF to 3.9.4

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-12 18:41:05 +00:00
Jeff Bradberry
aa548442ce Ensure the request is on the Metadata object
in order to correctly populate the default for the TOWER_URL_BASE
field, which is specific to the host and preferred scheme.
2019-06-12 14:12:59 -04:00
Jeff Bradberry
ab587e7e6c Update get_view_description to conform to changes in DRF's version
related encode/django-rest-framework#5605
2019-06-12 14:12:59 -04:00
Jeff Bradberry
3f5c018c8a Replace the load of the staticfiles template library with static
The staticfiles library will be going away before too long.
2019-06-12 14:12:59 -04:00
Jeff Bradberry
12e3d0aebf Remove rest_framework/base.html 2019-06-12 14:12:59 -04:00
Jeff Bradberry
ba4ad191fc Add the csrf token to window.drf
In the same manner as the current version of base.html from DRF.  This
is part 2 of the removal of base.html.
2019-06-12 14:12:59 -04:00
Jeff Bradberry
34d76422d6 Move the endpoint deprecation warning out of base.html
This is part 1 of the removal of awx/templates/rest_framework/base.html.
2019-06-12 14:12:59 -04:00
Jeff Bradberry
2a81643308 Refactor the SSO serializer fields to follow the DRF idioms more closely
and fix the tests to handle the newer nested validation checks properly.
2019-06-12 14:12:59 -04:00
Jeff Bradberry
76d4de24df Handle a change in the error message for BooleanField
related encode/django-rest-framework#5881
2019-06-12 14:12:59 -04:00
Jeff Bradberry
ed7a7e5f7b Support parse_requirements out of pip < 10 and >= 10 2019-06-12 14:12:59 -04:00
Jeff Bradberry
f94959d120 Remove the custom get_view_name function
It appeared to not be doing anything that we were making use of that
couldn't already be done, slightly differently, using DRF's built-in
one.
2019-06-12 14:12:59 -04:00
Jeff Bradberry
b5728fc548 Bump Django Rest Framework from 3.7.7 to 3.9.4 2019-06-12 14:12:59 -04:00
softwarefactory-project-zuul[bot]
4a19da650d Merge pull request #4056 from ansible/capitalization
updated e2e to work with new capitalization

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-12 17:36:29 +00:00
Daniel Sami
8db27611ca updated e2e to work with new capitalization 2019-06-12 13:05:11 -04:00
softwarefactory-project-zuul[bot]
7161f28d26 Merge pull request #4053 from AlanCoding/apps_management
Correctly manage current apps for the action_node addition

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-12 15:59:55 +00:00
softwarefactory-project-zuul[bot]
290c242221 Merge pull request #4054 from ansible/unpin-vault-plugin-container-image
unpin vault plugin development container image

Reviewed-by: awxbot
             https://github.com/awxbot
2019-06-12 15:00:23 +00:00
Jake McDermott
90fb7c6769 unpin vault plugin development container image 2019-06-12 10:23:01 -04:00
AlanCoding
f8c69aadcb Correctly manage current apps for the action_node addition 2019-06-12 10:13:45 -04:00
softwarefactory-project-zuul[bot]
c7b38bc9b9 Merge pull request #4050 from Spredzy/capitalize
User: Ensure First Name is not capitalized

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-06-12 13:23:21 +00:00
Yanis Guenane
cc1ef50729 User: Ensure First Name is not capitalized
When creating a new user, the Last Name is not capitalized but First
Name is. Make the behavior being consistent.

Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2019-06-12 14:40:44 +02:00
softwarefactory-project-zuul[bot]
42b3aa45c5 Merge pull request #4045 from ansible/quick-chrome75-workaround
Chrome75 workaround for e2e tests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-12 11:52:09 +00:00
John Hill
1e91e4e531 set to json protocol 2019-06-11 15:51:02 -04:00
softwarefactory-project-zuul[bot]
b3979eb2b9 Merge pull request #4042 from shanemcd/cache-me-outside
Always consider devel tag as a cache source

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-11 18:34:25 +00:00
Shane McDonald
75ef30d21b Always consider devel tag as a cache source
When you do `make docker-compose-build` on your branch without any changes, this will use the devel tag as a cache source. This will speed things up if you havent made any local changes to the Makefile or requirements files.
2019-06-11 14:01:35 -04:00
softwarefactory-project-zuul[bot]
31b78cc00f Merge pull request #4036 from AlanCoding/event_query
Cache smart inventory memberships to avoid slow query

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-11 15:55:55 +00:00
softwarefactory-project-zuul[bot]
a510f9f2c7 Merge pull request #4038 from jakemcdermott/update-v1-cred-delete-prompt-queries
update credential deletion prompt queries

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-11 15:26:49 +00:00
AlanCoding
05aab5da4c cache smart inventory memberships to avoid slow query 2019-06-11 11:06:35 -04:00
softwarefactory-project-zuul[bot]
3054fbc61c Merge pull request #4040 from ryanpetrello/ldap-py3-bug
fix a py3 compat problem in an LDAP migration

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-11 14:47:12 +00:00
Ryan Petrello
be8a30b9d9 fix a py3 compat problem in an LDAP migration 2019-06-11 10:25:15 -04:00
Jake McDermott
d4301bd9bd update v1 credential deletion prompt queries 2019-06-11 09:45:15 -04:00
Michael Abashian
ffcb655038 Convert Tower logo/strings to AWX (#253)
Sets up awx logo and strings
2019-06-10 14:31:12 -04:00
softwarefactory-project-zuul[bot]
adb768bed3 Merge pull request #3413 from ryanpetrello/bye-bye-v1
remove /api/v1 and deprecated credential fields

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-10 17:31:28 +00:00
Michael Abashian
2ae93261d1 api.js refactor using classes (#250)
Refactor api.js into an api module where endpoint specific models can be imported and used in components.
2019-06-07 15:48:09 -04:00
softwarefactory-project-zuul[bot]
9253ab28c8 Merge pull request #4021 from ryanpetrello/dotted-vault-id
support vault IDs that include dot characters

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-06 18:34:24 +00:00
softwarefactory-project-zuul[bot]
31d4e8362e Merge pull request #4003 from keithjgrant/3574-survey-tab-required-fields
Don't allow Enter to proceed to next step if survey fields invalid

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-06 18:33:29 +00:00
Ryan Petrello
329b40fd69 support vault IDs that include dot characters
see: https://github.com/ansible/awx/issues/4009
2019-06-06 12:42:31 -04:00
Jake McDermott
6bc5c4da74 include credential in inventory update detail summary 2019-06-06 12:23:17 -04:00
Jake McDermott
51d7de296f remove dead code related to v1 kind field
Currently, the credentials list doesn't seem to be returning
any options data for 'kind' so this code wasn't being reached. In
the future api updates, we'll also be removing the 'kind' field from
credentials in general.
2019-06-06 12:23:11 -04:00
Jake McDermott
5987aafb82 update shared client code for api v2 2019-06-06 12:23:09 -04:00
Jake McDermott
7a0a2fb54c update adhoc command queries for api v2 2019-06-06 12:23:06 -04:00
Jake McDermott
2f57a1ea93 update inventory source credential lookup queries for api v2 2019-06-06 12:23:03 -04:00
Ryan Petrello
6da445f7c0 remove /api/v1 and deprecated credential fields 2019-06-06 12:23:00 -04:00
softwarefactory-project-zuul[bot]
176f8632e5 Merge pull request #4017 from ryanpetrello/swagger-action-node
make activity stream action_node deterministic for Swagger docs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-06 16:13:17 +00:00
softwarefactory-project-zuul[bot]
958c192ff7 Merge pull request #4000 from rooftopcellist/order_job_counts
fix analytics job counts by ordering query

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-06 15:16:42 +00:00
softwarefactory-project-zuul[bot]
7e8990dff9 Merge pull request #4011 from shanemcd/devel
Clean up related to isolated env

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-06 14:48:49 +00:00
Christian Adams
a727de184b Fix analytics job counts by ordering query
- More Info: https://github.com/ansible/awx/issues/4014
2019-06-06 10:45:26 -04:00
Ryan Petrello
6d1ba411e6 make activity stream action_node deterministic for Swagger docs 2019-06-06 10:36:34 -04:00
Shane McDonald
b00979792e Clean up related to isolated env
- Made  make target names consistent with our other commands
- Found some unnecessary code, deleted it
2019-06-06 10:15:11 -04:00
softwarefactory-project-zuul[bot]
8be0b01c33 Merge pull request #4013 from ansible/docker-container-tag-updates
Updated docker tags in container setup

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-05 20:17:03 +00:00
Daniel Sami
62a3e0df98 Updated docker tags in container setup
Use env variable for selenium docker tag
2019-06-05 15:10:06 -04:00
softwarefactory-project-zuul[bot]
c7f49c1193 Merge pull request #3992 from marshmalien/isolated-badge
Add isolated badge to isolated instance groups

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-05 16:58:20 +00:00
softwarefactory-project-zuul[bot]
3fcf3b20c4 Merge pull request #4005 from shanemcd/sdist-builder-node
Update node in AWX installer sdist builder

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-05 11:48:30 +00:00
softwarefactory-project-zuul[bot]
5db3a8e7dc Merge pull request #4007 from git4anand/devel
Multiple installation of same dependency

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-05 11:39:46 +00:00
Anand kumar
3d7bd8579b Multiple installation of same dependency
python-pip is being installed multiple times.
2019-06-05 12:38:52 +05:30
Shane McDonald
99704af302 Fix some ansible warnings 2019-06-04 20:37:03 -04:00
Shane McDonald
a13b733191 Update node in sdist builder image 2019-06-04 20:36:39 -04:00
Keith Grant
4a7cd56e4a do allow Enter to proceed to next step if survey fields invalid 2019-06-04 16:08:23 -07:00
softwarefactory-project-zuul[bot]
839f49c6ed Merge pull request #3997 from ryanpetrello/libcloud
unpin apache-libcloud now that a version is out without PyCrypto

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-04 19:59:06 +00:00
catjones9
a8c51670af Switched Selectable Card to styled components (#249)
* Switched Selectable Card to styled components
 * styles.scss in AddRole/ removed
 * styles.scss import in index.jsx removed

Signed-off-by: catjones9 <catjones@redhat.com>

* Addressed PR linter issues

Signed-off-by: catjones9 <catjones@redhat.com>

* Switched Indicator and Label to styled components

Signed-off-by: catjones9 <catjones@redhat.com>
2019-06-04 15:03:41 -04:00
kialam
5df424803f Merge pull request #211 from ansible/upgrade-node-v8-to-node-v10
Upgrade our packaging for NodeJS 10.
2019-06-04 10:54:24 -04:00
John Mitchell
241d7f57b7 Merge pull request #247 from jlmitch5/removeUnusedScssStyles
remove unused scss styles from app.scss
2019-06-04 10:30:44 -04:00
Ryan Petrello
c6afd98500 unpin apache-libcloud now that a version is out without PyCrypto
see: https://github.com/ansible/awx/pull/3466
see: https://github.com/ansible/awx/issues/3822
2019-06-04 09:26:27 -04:00
softwarefactory-project-zuul[bot]
67fb898a9d Merge pull request #3993 from shanemcd/fix-isolated-dev-env
Fix isolated dev env

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-03 21:43:31 +00:00
Shane McDonald
f18f9ec0ef Bring isolated dev env current
There was quite a bit of drift between the main Dockerfile and this one since we last touched it. It’s heavier than it needs to be, but by using the main development image as the base here, we have less duplicated and outdated code overall.
2019-06-03 16:48:45 -04:00
Shane McDonald
ef22986aa0 Install latest tini from RPM 2019-06-03 16:03:51 -04:00
softwarefactory-project-zuul[bot]
1829017ad4 Merge pull request #3991 from shanemcd/downgrade-ptyprocess
Downgrade ptyprocess

Reviewed-by: awxbot
             https://github.com/awxbot
2019-06-03 18:19:15 +00:00
Shane McDonald
be3d095067 Downgrade ptyprocess
See 8be490695d (diff-522adf759addbd3b193c74ca85243f7d) for more info
2019-06-03 13:42:45 -04:00
softwarefactory-project-zuul[bot]
112b9e7381 Merge pull request #3984 from jpmens/patch-1
Emphasize a recent version of Docker

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-03 17:42:24 +00:00
softwarefactory-project-zuul[bot]
87bd3c2f93 Merge pull request #3987 from Spredzy/quote_password
Installer: quote password where it applies

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-03 17:38:49 +00:00
Marliana Lara
abb37299cb Add isolated badge to instance groups list 2019-06-03 13:20:23 -04:00
softwarefactory-project-zuul[bot]
724ca9cd57 Merge pull request #3979 from elyezer/resize-window-e2e
e2e resize window on some specific tests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-06-03 14:21:43 +00:00
John Mitchell
9ba8feaec1 remove unused scss styles from app.scss 2019-06-03 10:20:13 -04:00
Elyézer Rezende
39fb0d1679 e2e resize window on some specific tests 2019-06-03 08:50:37 -04:00
Yanis Guenane
11630a8803 Installer: quote password where it applies
Prior to this change, password having shell interpretable character
would break the installer (e.g '&', '(', etc... )

This commits rely on the `quote` filter from ansible to ensure those
password are properly quoted where it applies

Fixes: https://github.com/ansible/awx/issues/3943
Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2019-06-03 11:50:52 +02:00
JP Mens
a7b96d5aec Emphasize a recent version of Docker
I had 1.13 installed as part of Centos Extras and spent hours attempting to install AWX 4.0.0; the attempts all threw masses of permission denied errors.

Uninstalling that version and replacing with a current docker-ce then worked.
2019-06-01 16:29:10 +02:00
softwarefactory-project-zuul[bot]
d8a80f9f3e Merge pull request #3981 from jakemcdermott/test-debug-helpers
add some debug helpers for tests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-31 16:19:20 +00:00
Jake McDermott
1dcb1eda7c add some debug helpers for tests
Signed-off-by: Jake McDermott <yo@jakemcdermott.me>
2019-05-31 11:51:36 -04:00
softwarefactory-project-zuul[bot]
f64e31735c Merge pull request #3980 from wenottingham/following-in-finns-footsteps
Remove some things that are not first-order dependencies from requirements.in

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-31 15:14:43 +00:00
softwarefactory-project-zuul[bot]
d7c33a7246 Merge pull request #3893 from AlanCoding/replace_job_origin
Replace JobOrigin model with ActivityStream.action_node field

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-31 11:59:09 +00:00
AlanCoding
fedd1cf22f Replace JobOrigin with ActivityStream.action_node 2019-05-31 07:10:07 -04:00
Bill Nottingham
12ff7a481c Remove some things that are not first-order dependencies.
This includes a few things where the version specifiers resolve properly now.
2019-05-30 22:42:37 -04:00
softwarefactory-project-zuul[bot]
9b5494a6cc Merge pull request #3976 from Spredzy/fix_quote
openshift: Ensure char in password are not interpreted

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-31 01:27:38 +00:00
Yanis Guenane
99296cf5f1 openshift: Ensure char in password are not interpreted
If password contains ';' (and potentially any shell interpretable chars)
it won't be interpreted properly as the openshift password.

Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2019-05-31 03:00:13 +02:00
softwarefactory-project-zuul[bot]
e6b78292ec Merge pull request #3974 from ryanpetrello/downstream-i18n
Fix python3 fallout in translations management script

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-30 19:06:26 +00:00
Shane McDonald
49b54f2d60 Fix python3 fallout in translations management script 2019-05-30 14:41:03 -04:00
softwarefactory-project-zuul[bot]
0a256a98be Merge pull request #3965 from AlexSCorey/2866-JTForksToolTip
Updates text of tooltip for Forks in JT.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-30 17:09:49 +00:00
softwarefactory-project-zuul[bot]
5756151568 Merge pull request #3921 from joseorpa/devel3004proxy
#3004 Add proxy support to postgresql, memcached and rabbitmq images

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-30 14:33:17 +00:00
softwarefactory-project-zuul[bot]
6606fd7461 Merge pull request #3930 from kialam/upgrade-node-v8-to-node-v10
Upgrade our UI packaging for NodeJS 10.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-30 14:29:52 +00:00
Jose OrPa
84b6866875 #3004 Add proxy support to postgresql, memcached and rabbitmq images 2019-05-30 10:04:17 -04:00
Kia Lam
4b9024bcb0 Revert puppeteer upgrade to fix failing UI unit tests in Zuul. 2019-05-30 09:51:19 -04:00
softwarefactory-project-zuul[bot]
4b1fc7894d Merge pull request #3961 from rooftopcellist/rm_implicit
remove implicit grant type for OAuth 2 apps

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-29 20:27:11 +00:00
Alex Corey
a5a6fdf1d6 Updates text of tooltip for Forks in JT. 2019-05-29 14:27:16 -04:00
Kia Lam
15c699de7c Update dockerfile to build using node v10.15.0. 2019-05-29 13:00:06 -04:00
Kia Lam
515d4fe20f Update INSTALL.md with new node version. 2019-05-29 12:21:54 -04:00
Kia Lam
75380b9576 Upgrade our packaging for NodeJS 10.
- Update README.md
- Bump certain dependencies to fix vulnerabilities. Exclude dependency bumps that would cause breaking changes.
2019-05-29 12:21:54 -04:00
Christian Adams
cb279843d2 remove implicit grant type for OAuth 2 apps 2019-05-29 02:28:37 -04:00
softwarefactory-project-zuul[bot]
41f2b83ae2 Merge pull request #3947 from ryanpetrello/transient-queues
RFC: add the ability to disable RabbitMQ queue durability

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-28 20:15:26 +00:00
Ryan Petrello
40b1e89b67 add the ability to disable RabbitMQ queue durability 2019-05-28 15:49:32 -04:00
softwarefactory-project-zuul[bot]
8c56d1d3a7 Merge pull request #3932 from shanemcd/zuul_k8s
Changes to enable tests in k8s

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-28 19:34:58 +00:00
Alex Corey
886d29e111 Merge pull request #236 from AlexSCorey/SwitchToStyledComps
updates test issues caused by PF bump
2019-05-28 13:30:55 -04:00
Shane McDonald
2f77c67a62 Changes to enable tests in k8s 2019-05-28 13:22:15 -04:00
Alex Corey
7452b82856 addresses PR issues 2019-05-28 13:13:42 -04:00
softwarefactory-project-zuul[bot]
5a502f8709 Merge pull request #3925 from AlanCoding/gce_contract
Restore old use pattern for gce_ modules, update token_uri URL

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-28 17:03:32 +00:00
softwarefactory-project-zuul[bot]
873ff3de78 Merge pull request #3928 from wenottingham/waka-flocka
Use lockf, not flock.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-28 16:29:23 +00:00
Alex Corey
b7b17b9176 updates test issues caused by PF bump 2019-05-28 11:42:17 -04:00
softwarefactory-project-zuul[bot]
eb3ef809e0 Merge pull request #3873 from shanemcd/faster-boots
Avoid DNS timeout in non-Docker for Mac installs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-28 14:30:45 +00:00
softwarefactory-project-zuul[bot]
9c90694f12 Merge pull request #3604 from athenahealth/complete-ssl-support
Update SSL support for docker-compose install

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-28 13:51:43 +00:00
Keith Grant
29e17ac49e Standardize chip height (#213)
* make all chips the same size

* create DetailList, Detail components; clean up Chips, ChipGroup

* delete BasicChip in favor of <Chip isReadOnly>

* create our own ChipGroup to handle overflow
2019-05-28 08:49:03 -04:00
softwarefactory-project-zuul[bot]
ca3735ee73 Merge pull request #3941 from elyezer/window-size-e2e
Set window size globally on e2e

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-24 20:23:45 +00:00
softwarefactory-project-zuul[bot]
380f122456 Merge pull request #3804 from AlanCoding/more_optimizations
Apply optimizations via standard methods

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-24 19:38:46 +00:00
Elyézer Rezende
0aa8c7427d Set window size globally on e2e 2019-05-24 14:05:39 -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
softwarefactory-project-zuul[bot]
1ce587025e Merge pull request #3948 from rooftopcellist/fix_analytics_log_msg
fix analytics logging msg

Reviewed-by: awxbot
             https://github.com/awxbot
2019-05-23 18:55:55 +00:00
Christian Adams
45458b3265 fix analytics logging msg 2019-05-23 14:26:03 -04:00
Keith Grant
189e12f8b3 Restore logo (#218)
* move tower logo svg into component

* switch to new logo in header & login screen
2019-05-23 13:47:41 -04:00
softwarefactory-project-zuul[bot]
874465a2d4 Merge pull request #3865 from chrismeyersfsu/fix-enabled_still_online
disabled instance does not mean offline instance

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-23 16:55:09 +00:00
softwarefactory-project-zuul[bot]
34c3aaee3d Merge pull request #3682 from AlanCoding/depgrades
General upgrade of dependencies

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-23 15:15:20 +00:00
Keith Grant
cc2869d0c2 Merge pull request #214 from keithjgrant/200-trailing-slash-routing
Redirect to remove trailing slash from URL
2019-05-23 09:54:07 -04:00
softwarefactory-project-zuul[bot]
13ff5ffdf2 Merge pull request #3900 from AlanCoding/fewer_type_methods
Remove duplicated type methods and old Django logic

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-23 12:50:35 +00:00
softwarefactory-project-zuul[bot]
a606fdc958 Merge pull request #3933 from AlanCoding/schedule_no_op
More precise handling of schedule computed fields no-ops

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-23 12:39:58 +00:00
Keith Grant
79d8b74221 redirect to remove trailing slash from URL 2019-05-23 08:29:08 -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
softwarefactory-project-zuul[bot]
9a1b205e06 Merge pull request #3944 from AlanCoding/move_to_filter
Move dynamic log level logic to filter

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-22 23:45:36 +00:00
softwarefactory-project-zuul[bot]
98c923a715 Merge pull request #3856 from rooftopcellist/cleanup_sessions_refactor
Cleanup Sessions & Tokens System Jobs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-22 20:50:48 +00:00
softwarefactory-project-zuul[bot]
1d328134fd Merge pull request #3931 from wenottingham/be-bold
Update notification radio button styling to match schedule radiobuttons.

Reviewed-by: Bill Nottingham
             https://github.com/wenottingham
2019-05-22 18:58:43 +00:00
AlanCoding
d3f047d731 Move dynamic log level logic to filter 2019-05-22 14:00:39 -04:00
Christian Adams
8ca0c1b992 Add clearsessions and cleartokens system jobs
* add system job for gathering insights analytics
* enforce schedule enablement with analytics setting
* remove celery beat analytics job
* keep analytics schedule & setting enablement in sync in API
* handles updating schedules for multiple sys job schedules
* add analytics setting & schedule test
* rm ui modal from collection sys job
2019-05-22 13:11:48 -04:00
Jake McDermott
8d8d9292bc Merge pull request #212 from jakemcdermott/wait-for-element
add waitForElement helper
2019-05-22 10:52:14 -04:00
softwarefactory-project-zuul[bot]
4a711ec2dc Merge pull request #3914 from itdependsnetworks/var_port_numbers
Update the ports for memcache and rabbitmq to be variablized

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-22 14:08:41 +00:00
Jake McDermott
7965f94027 add waitForElement helper 2019-05-22 08:56:49 -04:00
softwarefactory-project-zuul[bot]
75fe801efb Merge pull request #3913 from marshmalien/3886-instance-group-breadcrumb-label
Dynamically show instance group name in breadcrumb

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-21 14:28:55 +00:00
Marliana Lara
56df930b99 Sanitize instance group breadcrumb name 2019-05-21 09:55:35 -04:00
Bill Nottingham
f48713f4ae Use lockf, not flock.
This performs more reliably on certain filesystems in Linux.
2019-05-20 16:56:16 -04:00
Bill Nottingham
bb009f0d12 Update notification radio button styling to match schedule radiobuttons. 2019-05-20 16:46:10 -04:00
Kia Lam
efc45ac1fa Upgrade our packaging for NodeJS 10.
- Update README.md
- Bump certain dependencies to fix vulnerabilities.
2019-05-20 16:07:33 -04:00
softwarefactory-project-zuul[bot]
dc1bf3ef07 Merge pull request #3910 from AlanCoding/no_user_get
Avoid unnecessary user get expiring session memberships

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-20 17:20:36 +00:00
softwarefactory-project-zuul[bot]
9d4cfa7400 Merge pull request #3890 from AlanCoding/fix_debug_toolbar
Fix Django debug toolbar after its upgrade

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-20 16:41:13 +00:00
AlanCoding
06be3a29b9 fix Django debug toolbar after its upgrade 2019-05-20 12:17:57 -04:00
softwarefactory-project-zuul[bot]
2addf20907 Merge pull request #3918 from jbradberry/middleware-ordering
Fix the middleware ordering

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-20 15:43:06 +00:00
softwarefactory-project-zuul[bot]
29bbecb6bf Merge pull request #3820 from AlanCoding/default_ordering
Resolve default ordering warnings from tests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-20 15:31:36 +00: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
Keith Grant
6bfbcb35cd Merge pull request #208 from keithjgrant/toolbar-render-prop
use a render prop for PaginatedDataList toolbar
2019-05-20 06:16:48 -07:00
Keith Grant
8cd05679c2 extract out PaginatedDataListItem 2019-05-20 09:15:31 -04:00
Keith Grant
510d56b245 refactor PaginatedDataList to renderToolbar prop 2019-05-20 09:13:23 -04:00
Alex Corey
dc1bfaac3f Merge pull request #203 from AlexSCorey/178-AddOrgBtnV2
178 add org btn v2
2019-05-17 19:48:08 -04:00
Alex Corey
92d8948a83 updates tests 2019-05-17 15:32:04 -04:00
Alex Corey
d3cc1a8771 Adds AddOrgBtn to Orgs List empty state 2019-05-17 15:29:05 -04:00
Jeff Bradberry
44907b33dc Fix the middleware ordering 2019-05-17 14:40:33 -04:00
softwarefactory-project-zuul[bot]
f174902bb2 Merge pull request #3874 from jbradberry/expose-role-type
Expose the content type associated with roles for ActivityStream objects in the API

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-17 18:06:38 +00:00
AlanCoding
1223148116 Avoid unnecessary user get expiring session memberships 2019-05-17 14:05:17 -04:00
softwarefactory-project-zuul[bot]
ab1e45d6c4 Merge pull request #3875 from rooftopcellist/swifty_operation
reorder migrations to avoid session error

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-17 15:41:26 +00:00
softwarefactory-project-zuul[bot]
bd50e5d6a8 Merge pull request #3896 from rooftopcellist/collection_no_reset
collect events based on last ship, not collection

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-17 15:32:48 +00:00
Keith Grant
5df2b1f346 Merge pull request #207 from keithjgrant/126-pf-pagination
Convert to PF Pagination component
2019-05-17 11:01:03 -04:00
Keith Grant
7ff7517bdf change pagination drop direction to up 2019-05-17 07:47:17 -07:00
itdependsnetworks
f085b828e4 Update the ports for memcache and rabbitmq to be variablized 2019-05-16 19:59:57 -04:00
Marliana Lara
e95339ba6e Add instance group name to breadcrumb 2019-05-16 16:46:53 -04:00
softwarefactory-project-zuul[bot]
d353daebc5 Merge pull request #3911 from rooftopcellist/rm_extra_error
rm extra collection error line

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-16 20:11:41 +00:00
Keith Grant
957984d9e9 convert to PF Pagination component 2019-05-16 16:09:58 -04:00
softwarefactory-project-zuul[bot]
6681cd918c Merge pull request #3906 from heavenly999/devel
Increasing requests-credssp ver to 1.0.2

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-16 20:00:07 +00:00
Christian Adams
2b327935de reorder migrations to avoid session error 2019-05-16 15:13:47 -04:00
Christian Adams
0c4925afe8 rm extra collection error line 2019-05-16 14:48:41 -04:00
softwarefactory-project-zuul[bot]
e0062484d0 Merge pull request #3908 from rverchere/fr_fix
Correct fr translation for Cancel message

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-16 18:46:19 +00:00
softwarefactory-project-zuul[bot]
faa353521a Merge pull request #3909 from marshmalien/3884-dropdown-alignment
Fix styling bug in Sort Dropdown

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-16 18:03:07 +00:00
John Mitchell
69a25bb092 Merge pull request #198 from jlmitch5/translationUpdate
utilize i18n correctly
2019-05-16 13:54:05 -04:00
John Mitchell
b45f3f6cab fix inadverdently added extra notification toggle from conflicts 2019-05-16 13:32:40 -04:00
softwarefactory-project-zuul[bot]
ff7e244a84 Merge pull request #3905 from NickBusey/patch-1
Update INSTALL.md

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-16 17:02:07 +00:00
John Mitchell
0f02daa64d run to generate po files 2019-05-16 12:53:56 -04:00
John Mitchell
001fc1293c fix lint error from removing api passing via props 2019-05-16 12:45:14 -04:00
Marliana Lara
17f71600df Add styles to grow dropdown width based on content 2019-05-16 12:23:47 -04:00
Rémi VERCHERE
9120a69006 Correct fr translation for Cancel message 2019-05-16 17:42:13 +02:00
John Mitchell
f4550900bb update tests based on i18n changes 2019-05-16 11:38:28 -04:00
softwarefactory-project-zuul[bot]
d9965cfe7e Merge pull request #3882 from ryanpetrello/debug-log
add the ability to toggle DEBUG logging on dynamically

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2019-05-16 15:12:01 +00:00
Adam Nagy
c38ee06642 Increasing requests-credssp ver to 1.0.2
Signed-off-by: Adam Nagy <anagy@netsuite.com>
2019-05-16 15:56:35 +02:00
Ryan Petrello
b1d75327e3 add the ability to toggle DEBUG logging on dynamically 2019-05-16 07:58:31 -04:00
softwarefactory-project-zuul[bot]
8981c7d59a Merge pull request #3904 from wenottingham/new-year-new-you
Bump date.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-16 03:35:31 +00:00
Nick Busey
b10f06201d Update INSTALL.md 2019-05-15 16:34:27 -06:00
Bill Nottingham
681fe4865c Some more dates. 2019-05-15 17:01:33 -04:00
Bill Nottingham
faae55d085 Bump date. 2019-05-15 16:58:59 -04:00
softwarefactory-project-zuul[bot]
efddd9f679 Merge pull request #3854 from beeankha/add_debug_toolbar
Update Custom Middleware to New Style

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-15 18:38:24 +00:00
beeankha
6fb173da8a Remove redundant methods from SocialAuthMiddleware class 2019-05-15 12:54:00 -04:00
John Mitchell
e2de8e4d5f update i18n contributing guidelines 2019-05-15 11:20:20 -04:00
John Mitchell
07664a05fd update awx-pf to use withI18n i18n._ and t exclusively 2019-05-15 11:20:00 -04:00
beeankha
64e8b76a10 Remove redundant middleware 2019-05-15 10:16:20 -04:00
Keith Grant
4407aeac20 Add namespacing for query params (#205)
* use qs utils to namespace query params

* refactor Lookup and SelectResource Steps to use PaginatedDataList

* preserve query params when adding new ones

* require namespace for QS Configs
2019-05-15 10:06:14 -04:00
Christian Adams
d0e160a037 collect events based on last ship, not collection 2019-05-14 17:14:44 -04:00
beeankha
20e5d8200e Subclass more middlware with deprecation mixin 2019-05-14 13:37:34 -04:00
beeankha
a6d3c0fd32 Remove redundant code and update URLModificationMiddleware 2019-05-14 13:37:34 -04:00
beeankha
318e0631b7 Add super() call 2019-05-14 13:37:34 -04:00
beeankha
da4153d653 Add mixin to ActivityStreamMiddleware class 2019-05-14 13:37:34 -04:00
beeankha
26e9dd307e Fix missing argument error 2019-05-14 13:37:34 -04:00
beeankha
6a2d59963f Update wsgi file to be compatible with new style of middleware 2019-05-14 13:37:34 -04:00
beeankha
68800d0e8e Make custom middleware use new style vs old 2019-05-14 13:37:34 -04:00
beeankha
97dc77ea63 Add debug_toolbar.middleware.DebugToolbarMiddleware to MIDDLEWARE classes in development.py 2019-05-14 13:37:34 -04:00
kialam
d59975c1ad Merge pull request #204 from ansible/use-styled-components
Use styled-components
2019-05-14 10:33:28 -04:00
Kia Lam
cc24d524ac Merge remote-tracking branch 'origin' into use-styled-components 2019-05-14 10:20:25 -04:00
Kia Lam
457c6287a2 General cleanup.
- Fix tests.
- Update snapshots.
- Remove old import statement.
- Add element ids for Sort and Search Components.
2019-05-13 18:42:26 -04:00
Kia Lam
3322123dd4 Remove defunct external stylesheet. 2019-05-13 18:42:26 -04:00
Kia Lam
a53509b359 Refactor DataListToolbar component. 2019-05-13 18:42:26 -04:00
Kia Lam
a87c6ddf1b Convert DataListToolbar to a styled-component. 2019-05-13 18:42:25 -04:00
Kia Lam
0ea4a4dedd Convert toolbar button components to styled-components. 2019-05-13 18:42:25 -04:00
Kia Lam
cc192246d9 Make Orgs List page responsive. 2019-05-13 18:42:08 -04:00
softwarefactory-project-zuul[bot]
6bc1856658 Merge pull request #3861 from beeankha/awx_doc_edits
Update/Edit AWX Docs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-13 20:41:14 +00:00
Marliana Lara
0b3245eab6 Merge pull request #201 from marshmalien/194-missing-header-dropdowns
Fix page header styles, search icon, and vertical separator
2019-05-13 16:23:48 -04:00
beeankha
9ea3ec24ca Address comments/suggested changes 2019-05-13 15:46:24 -04:00
beeankha
7466873f69 Make more edits/grammatical changes 2019-05-13 15:27:54 -04:00
beeankha
07fa533b6f Make edits to Notification doc 2019-05-13 11:47:04 -04:00
chris meyers
8aa28092ff disabled instance does not mean offline instance
* Disabling an instance is used to stop and instance from being the
target of new jobs to run.
* The instance should still perform it's heartbeat so that it isn't
considered offline.
* If the instance was allowed to go offline on an openshift cluster it
would be deleted from the database.
2019-05-13 11:44:47 -04:00
Jeff Bradberry
3579584ffc i18n 2019-05-13 11:20:15 -04:00
Jeff Bradberry
05cae23180 Add help text to the ActivityStreamSerializer m2m relationship fields 2019-05-13 11:10:33 -04:00
Jeff Bradberry
d6e89092d3 Instead of exposing Role.content_type, create a new serializer field
called `object_type`, which is constructed based on manipulating the
string value of ActivityStream.object_relationship_type.  Since that
field does have the full class name, this manipulation should match
the manipulation that is done to construct the values of object1 and
object2 when ActivityStream is created.
2019-05-10 17:31:33 -04:00
beeankha
fe344038b5 Edit Clustering doc 2019-05-10 14:54:20 -04:00
Jeff Bradberry
250484339b Expose the role's content_type field and reorder the objects in the UI
when the resource was stored on ActivityStream as object1 instead of object2.

related #3841
2019-05-10 14:15:05 -04:00
Shane McDonald
5ca0cdb124 Avoid DNS timeout in non-Docker for Mac installs
Shaves 20 seconds off of rebooting the dev environment on Linux.
2019-05-10 12:31:08 -04:00
Marliana Lara
b640203f88 Fix page header styles, search icon, and vertical separator 2019-05-10 12:29:55 -04:00
softwarefactory-project-zuul[bot]
0d3f1f4ac2 Merge pull request #3871 from ryanpetrello/devel
merge in downstream changes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-10 16:21:39 +00:00
Kia Lam
82c7052d6f Make Org Notifications page responsive. 2019-05-10 11:06:24 -04:00
Kia Lam
349a9c7cc2 Add styled-components library and its babel plugin. 💅 2019-05-10 11:03:16 -04:00
softwarefactory-project-zuul[bot]
18c69fa391 Merge pull request #3870 from shanemcd/gimme-root
Ensure that a root user is always present in development environment

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-10 14:57:58 +00:00
softwarefactory-project-zuul[bot]
6d6eae571e Merge pull request #3868 from jakemcdermott/ig-order-docstring
add docstring and test for instance group service

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-10 14:54:52 +00:00
Shane McDonald
7d8a910be7 Improve dev environment init process
This ensures that /etc/passwd is always written, regardless of how the container starts.
2019-05-10 10:14:51 -04:00
Jake McDermott
df04660cdd add test for instance groups service 2019-05-10 10:05:05 -04:00
softwarefactory-project-zuul[bot]
9d1ed837f9 Merge pull request #3869 from AlanCoding/dev_supervisor_fix
Fix bug in dev supervisor reparenting processes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-10 13:45:30 +00:00
Ryan Petrello
be4705ef8b Merge branch 'downstream' into devel 2019-05-10 09:18:07 -04:00
Shane McDonald
015234287c Ensure that a root user is always present in development environment
@AlanCoding was seeing errors in the development container when trying to run some commands as root. This fixes that.
2019-05-10 09:16:28 -04:00
AlanCoding
677a8b34ba Fix bug in dev supervisor reparenting processes 2019-05-10 07:46:53 -04:00
Jake McDermott
232c706b75 add docstring for instance group service 2019-05-10 07:16:50 -04:00
softwarefactory-project-zuul[bot]
8725d3e539 Merge pull request #3842 from ryanpetrello/instance-group-order
enforce a stable list order when attaching/detaching instance groups

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-09 21:04:29 +00:00
softwarefactory-project-zuul[bot]
e7290e6452 Merge pull request #3864 from rooftopcellist/more_verbose_instance_msg
more verbose list_instance messaging

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-09 19:31:24 +00:00
Christian Adams
21105b836e more verbose list_instance messaging 2019-05-09 15:08:56 -04:00
softwarefactory-project-zuul[bot]
99dc84c275 Merge pull request #3863 from ryanpetrello/makefile-supervisor
use make targets for dev supervisor commands

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-09 18:07:39 +00:00
Ryan Petrello
adfdfcdd0a use make targets for dev supervisor commands 2019-05-09 13:45:49 -04:00
softwarefactory-project-zuul[bot]
6feb58f76d Merge pull request #3853 from AlanCoding/variable_data_permission
Put variable data permission in its own class

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-09 16:48:11 +00:00
softwarefactory-project-zuul[bot]
2910a9dfff Merge pull request #3858 from shanemcd/unsquash
Remove --squash option from awx-devel-build

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-09 14:19:59 +00:00
beeankha
371966613f Update AWX docs 2019-05-09 10:03:57 -04:00
softwarefactory-project-zuul[bot]
91968a09c8 Merge pull request #3849 from AlanCoding/password_madness
Reduce passing around of passwords dictionary

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-09 13:34:43 +00:00
softwarefactory-project-zuul[bot]
190098bbd5 Merge pull request #3848 from AlanCoding/standard_injector
Move outlier gce cache logic to standard place

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-09 12:56:11 +00:00
AlanCoding
2585c5030b move outlier gce cache logic to standard place 2019-05-09 08:24:57 -04:00
Shane McDonald
22858f0044 Remove --squash option from awx-devel-build
This was intended to save us CI time if / when we switch away from static nodes for Zuul. After merging this in I discovered that this option does not work with `docker build --cache-from`, which will be more benefical in terms of speed improvements anyway.
2019-05-08 22:22:38 -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
softwarefactory-project-zuul[bot]
83c286580b Merge pull request #3852 from shanemcd/dockerfiled
Refactor Dockerfiles

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-09 01:08:49 +00:00
Shane McDonald
0be8fe521a Refactor Dockerfiles
This commit does a few things:

- Add the `--squash` option to the `awx-devel-build` make target. This reduces the resulting image size from 2.12 GB to 1.37 GB. I think we can get this down even more by inspecting the image contents.
- Reorganize commands so that the cache expires less often. Before this commit, any changes to the Makefile would essentially cause the entire image to rebuild.
- Break yum dependencies up into multiple lines. This makes it easier to see what changes in a diff.
- Use `n` to install our required version of node (rather `curl node | bash`). I’ve found this to be easier to maintain / more portable when working with other Dockerfiles.
- General organizational changes to make things easier to parse visually.
2019-05-08 20:36:41 -04:00
softwarefactory-project-zuul[bot]
186ec88581 Merge pull request #3839 from zicklam/webhook_disable_ssl_verify
Add "Disable SSL Verification" checkbox to webhook notification

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-08 19:44:11 +00:00
softwarefactory-project-zuul[bot]
6407ab58ff Merge pull request #3855 from ryanpetrello/improved-dev-code-reload
remove honcho in the dev environment (just use foregrounded supervisor)

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-08 19:25:57 +00:00
Michael Abashian
466e965047 Merge pull request #3549 from mabashian/host_filter_or
Fixes basic host filter searches
2019-05-08 15:16:43 -04:00
mabashian
e1de0a528d Adds some test coverage for host_filter queries 2019-05-08 14:59:04 -04:00
Ryan Petrello
766a5c0c3f remove honcho in the dev environment (just use foregrounded supervisor)
using supervisor gives us the ability to restart entire processes on
code change (like the dispatcher and callback receiver)
2019-05-08 14:44:07 -04:00
AlanCoding
231abf865b put variable data permission in its own class 2019-05-08 13:43:13 -04:00
softwarefactory-project-zuul[bot]
70972f7ea1 Merge pull request #3850 from jbradberry/reload-dispatcher-on-code-change
Make the uwsgi autoreloader reload the dispatcher every time

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-08 16:11:04 +00:00
Ryan Petrello
993b0a889d add API tests for InstanceGroup order persistence 2019-05-08 11:56:30 -04:00
Jake McDermott
205f2c33c1 wait for instance group requests on template save 2019-05-08 11:56:19 -04:00
Jake McDermott
1e77053bbf handle re-ordering of instance groups 2019-05-08 11:56:05 -04:00
Jeff Bradberry
ae25717700 Make the uwsgi autoreloader reload the dispatcher every time
not just the first time uwsgi is brought up.

related #3846
2019-05-08 11:15:54 -04:00
mabashian
11244f85a4 Adds missing semicolon 2019-05-08 10:05:02 -04:00
softwarefactory-project-zuul[bot]
e05c6e67b6 Merge pull request #3837 from saito-hideki/issue/2891
Add credential info in expanded list view of inventory update

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-08 13:37:34 +00:00
zicklam
42f30e72b5 False is not false 2019-05-08 08:35:26 +02:00
zicklam
0fb3851a2b webhook_notification set default for var 'disable_ssl_verification' 2019-05-08 08:21:04 +02:00
Ryan Petrello
e4a50f3595 enforce a stable list order when attaching/detaching instance groups 2019-05-07 14:53:00 -04:00
mabashian
f524c94bad Fixes basic host filter searches 2019-05-07 14:43:53 -04:00
softwarefactory-project-zuul[bot]
c7fe840868 Merge pull request #3810 from vismay-golwala/restrict_copy_jt
Raise meaningful error when permission denied to copy JT

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-07 13:52:04 +00:00
Keith Grant
e7ec1c6ef8 convert OrganizationList to use PaginatedDataList (#192)
* convert Org list to use PaginatedDataList

* add ToolbarAddButton, ToolbarDeleteButton

* pass full org into OrganizationListItem
2019-05-07 09:51:50 -04:00
Vismay Golwala
0154d80f19 Raise meaningful error when permission denied to copy JT
When a user doesn't have access to all the credentials of a job
template, they cannot copy the JT. However, currently we raise a
default `PermissionDenied`, which doesn't give the user insight
into what's wrong. So, this PR just adds a custom message indicating
that access to credentials is missing.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-05-06 15:02:36 -04:00
zicklam
08d60d0b78 Update test_notification Template for webhooks
- rename webhook_no_verify_ssl to disable_ssl_verification
2019-05-06 19:20:00 +02:00
softwarefactory-project-zuul[bot]
6908558acd Merge pull request #3833 from ryanpetrello/iso-mem-cpu
properly record Instance.cpu and Instance.memory for isolated nodes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-06 16:14:18 +00:00
softwarefactory-project-zuul[bot]
4dc7178f3c Merge pull request #3785 from AlanCoding/no_output_replacements
Remove unused output_replacements logic

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-06 16:11:51 +00:00
Michael Abashian
b85cc716a4 Merge pull request #3542 from mabashian/3540-groups-layout
Fix display bug on host groups list
2019-05-06 11:16:30 -04:00
Jake McDermott
a011896cc0 Update README.md 2019-05-06 11:11:27 -04:00
Hideki Saito
418521f4a3 Add credential info in expanded list view of inventory update
- Fixed issue #2891

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-05-06 13:28:47 +00:00
Alex Corey
a4899d4dbb Merge pull request #191 from AlexSCorey/175-BottomBorder
175 bottom border
2019-05-06 08:50:14 -04:00
zicklam
5b8fba58e8 Add "Disable SSL Verification" checkbox to webhook notification
This commit will add a checkbox which will disable SSL verification on
the generic webhook notification type. This is required when using
self-signed certificates.
2019-05-06 13:12:41 +02:00
Michael Abashian
842d48810c Merge pull request #3545 from elyezer/fix-joblist-sorting-options
Fix job list sorting options grouping
2019-05-03 19:50:13 -04:00
Elyézer Rezende
70e513a3cf Fix job list sorting options grouping
Ensure that the sorting options are grouped just like every other
sorting options list.
2019-05-03 16:20:01 -04:00
Ryan Petrello
c6c14d4fb9 properly record Instance.cpu and Instance.memory for isolated nodes 2019-05-03 15:30:41 -04:00
Alex Corey
1200c23ebc addressing PR issues 2019-05-03 14:26:19 -04:00
Ryan Petrello
a874ed0424 Merge pull request #3543 from AlanCoding/migration_schmigration
Fix server error for in-flight migration
2019-05-03 11:59:02 -04:00
softwarefactory-project-zuul[bot]
cf6a103207 Merge pull request #3818 from ryanpetrello/devel
merge in downstream changes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-03 14:36:56 +00:00
Alex Corey
b8b2209335 add bottom border to org tabs 2019-05-03 10:27:48 -04:00
AlanCoding
d2e67aea19 Fix server error for in-flight migration 2019-05-03 10:20:31 -04:00
kialam
500765cea5 Merge pull request #186 from ansible/add-username-to-top-header-bar
Add logged in username to top level header bar.
2019-05-03 10:14:29 -04:00
Kia Lam
f14934f42c Translate tooltip block. 2019-05-03 09:59:10 -04:00
softwarefactory-project-zuul[bot]
e5cf5be18d Merge pull request #3815 from pmoravec/awx-pmoravec-tower-sos-plugin-improvements
sosreport plugin improvements

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-03 12:47:39 +00:00
softwarefactory-project-zuul[bot]
f26ae8ef13 Merge pull request #3714 from vismay-golwala/org_member_count
Show only member users for organization

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-03 12:36:29 +00:00
softwarefactory-project-zuul[bot]
755c3e89e2 Merge pull request #3801 from vismay-golwala/copy_credential
Copy credential bug - add owner too

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-05-03 12:31:59 +00:00
softwarefactory-project-zuul[bot]
2800e89fd2 Merge pull request #3783 from AlanCoding/passwords_and_relaunching
Allow relaunching other user jobs with public vars

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-03 12:03:26 +00:00
Ryan Petrello
8d75fc5f56 Merge branch 'downstream' into devel 2019-05-03 07:58:25 -04:00
softwarefactory-project-zuul[bot]
17d2efde95 Merge pull request #3789 from AlanCoding/rm_fields
Remove job ask_ fields that reference JT

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-03 11:42:19 +00:00
Pavel Moravec
8909a8a8e4 sosreport plugin to stick on sos >= 3.0 API only
As sosreport 3.0 was released 5 years ago, older sos versions can
be ignored / not further supported.

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
2019-05-03 10:38:34 +02:00
mabashian
90a86f53ba Fix display bug on host groups list 2019-05-02 17:13:17 -04:00
Michael Abashian
4be05f1bf6 Merge pull request #3535 from mabashian/job-events-collapse
Fix inert event expand/collapse on refreshed job results
2019-05-02 16:41:13 -04:00
Alex Corey
a3fdb4aee3 add bottom border to tabs 2019-05-02 16:26:31 -04:00
Alex Corey
fed24ed6df Merge pull request #187 from AlexSCorey/177-UXImprovements
UX improvements
2019-05-02 16:22:13 -04:00
Pavel Moravec
29822ee140 don't collect data from other sosreport plugins
Tower plugin shouldn't collect data that other sosreport plugins collect.

Further, few code optimizations in calling sos API are made.

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
2019-05-02 21:45:09 +02:00
Alex Corey
c9c7d2c2a5 add tooltip proptype 2019-05-02 15:20:25 -04:00
Alex Corey
cc0b2bb5b4 added props to Proptypes 2019-05-02 15:12:04 -04:00
Ryan Petrello
7fc13b8bb5 Merge pull request #3538 from ryanpetrello/valid-netloc
require a valid netloc for Credential Type inputs w/ format=url
2019-05-02 15:08:48 -04:00
Alex Corey
e29710ebab Merge branch 'master' into 177-UXImprovements 2019-05-02 15:04:57 -04:00
Keith Grant
0ec274d13c Merge pull request #189 from keithjgrant/73-add-org-spacing
Adjust spacing for add/edit org form
2019-05-02 14:53:24 -04:00
Ryan Petrello
e560dccd36 require a valid netloc for Credential Type inputs w/ format=url 2019-05-02 14:49:02 -04:00
Marliana Lara
0fc8179ca3 Merge pull request #190 from marshmalien/pf-base-css-import
Use recommended PatternFly Base CSS
2019-05-02 14:37:52 -04:00
Alex Corey
c6de6b8f25 added props to Proptypes 2019-05-02 14:34:17 -04:00
Ryan Petrello
de56e20f11 Merge pull request #3536 from ryanpetrello/urllib3-1.24.3
pin urllib3 to 1.24.3 to address CVE-2019-9740
2019-05-02 14:27:10 -04:00
Michael Abashian
d4cc595630 Merge pull request #3510 from mabashian/3506-sort-more-fields
Add more sort options to new lists
2019-05-02 14:17:36 -04:00
mabashian
b754e0dbba Fix template sorting by project 2019-05-02 13:55:20 -04:00
softwarefactory-project-zuul[bot]
72fe6e400e Merge pull request #3802 from AlanCoding/playbook_search
Include playbook as a default search field

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-02 16:54:21 +00:00
Ryan Petrello
6bb9902588 pin urllib3 to 1.24.3 to address CVE-2019-9740 2019-05-02 11:59:01 -04:00
Marliana Lara
516aecf7de Use recommended PatternFly Base CSS 2019-05-02 11:43:13 -04:00
mabashian
04d22a930d Fix inert event expand/collapse on refreshed job results 2019-05-02 10:43:56 -04:00
Keith Grant
eea3d72ffc add CardCloseButton tests 2019-05-02 10:02:45 -04:00
softwarefactory-project-zuul[bot]
fe3a2d1a4e Merge pull request #3803 from ryanpetrello/matter-of-fact
remove references to the (now defunct) fact receiver

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-02 13:34:12 +00:00
Keith Grant
1490235752 adjust spacing of org add/edit form, add CardCloseButton 2019-05-02 08:39:36 -04:00
Ryan Petrello
50f9c70afd remove references to the (now defunct) fact receiver 2019-05-01 23:48:05 -04:00
softwarefactory-project-zuul[bot]
5ab7f888f1 Merge pull request #3800 from AlanCoding/event_children_list
Populate event children list via parent_uuid

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-02 00:37:03 +00:00
AlanCoding
7d692d08f9 include playbook as a default search field 2019-05-01 16:15:00 -04:00
softwarefactory-project-zuul[bot]
f3c023a11f Merge pull request #3765 from beeankha/task_doc_update
Add Task Overview Details to tasks.md

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-01 20:02:15 +00:00
Alex Corey
b136ce1e1d updating PR issues updated snapshot test 2019-05-01 15:48:08 -04:00
beeankha
a87c87b7c9 Add more runner-related details 2019-05-01 15:40:15 -04:00
Alex Corey
f704f320b5 address pr issues 2019-05-01 14:42:59 -04:00
Alex Corey
c4a4275a89 updated snapshot of failing test 2019-05-01 14:42:00 -04:00
Alex Corey
64d4b71ec9 UX improvements 2019-05-01 14:42:00 -04:00
Keith Grant
1be496cfc1 Patternfly upgrade (#188)
* correct spacing after PF update

* update wizard layout/borders for PF upgrade
2019-05-01 13:50:00 -04:00
AlanCoding
5f1aeb0f4e remove ask_vars from job_start endpoint 2019-05-01 13:39:25 -04:00
Vismay Golwala
cc001c9892 Copy credential bug - add owner too
While copying a credentials, we should set the new owner to person
who copies it. There was a bug while trying to do so and this PR
tries to address it.

Link: #3750

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-05-01 13:15:16 -04:00
softwarefactory-project-zuul[bot]
a68ab19e16 Merge pull request #3791 from AlanCoding/clean_up_test_tasks
Make test_tasks.py durable to changing Ansible versions

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-01 17:14:11 +00:00
AlanCoding
530a7ba51d populate event children list via parent_uuid 2019-05-01 11:55:53 -04:00
beeankha
383fe278f5 Address a few more comments 2019-05-01 11:35:26 -04:00
Ryan Petrello
c41da766fb Merge pull request #3530 from ryanpetrello/you're-not-by-real-dad
fix a bug that caused parent_uuid not to be persisted
2019-05-01 10:21:35 -04:00
Ryan Petrello
46795cc71e fix a bug that caused parent_uuid not to be persisted 2019-05-01 10:13:59 -04:00
Ryan Petrello
4fac608890 Merge pull request #3528 from jakemcdermott/fix-3507
require url scheme for external credential type url inputs
2019-05-01 09:32:42 -04:00
Jake McDermott
84b21620b2 raise url string parsing error as validation error 2019-05-01 09:17:52 -04:00
mabashian
eaaad89a8c Removed inventory sorting from jobs list. Changed Last Run to Last Used in project sort filters. 2019-05-01 09:17:15 -04:00
Michael Abashian
6f309bd2d2 Merge pull request #3526 from jakemcdermott/fix-3524
use test callback from test form save hooks
2019-05-01 08:57:29 -04:00
Ryan Petrello
6e00038d35 Merge pull request #3516 from jakemcdermott/fix-3511
hide dashboard tips on graph teardown event
2019-04-30 23:01:25 -04:00
Ryan Petrello
ad4e413a36 Merge pull request #3515 from jakemcdermott/fix-3513
fix error on template prompt initialization when credential has prompt
2019-04-30 15:47:39 -04:00
beeankha
27ca5e1fd5 Add more details for several of the listed tasks 2019-04-30 15:32:52 -04:00
AlanCoding
4191b21052 make test_tasks.py durable to changing Ansible versions 2019-04-30 14:00:51 -04:00
Jake McDermott
9737ab620c require url scheme for credential type url inputs
This adds a url formatting type for credential input string fields
The validator for this formatting type will throw an error if the
provided url string doesn't have a url schema.
2019-04-30 13:41:07 -04:00
AlanCoding
81f0662161 remove job ask_ fields that reference JT 2019-04-30 13:35:58 -04:00
Alex Corey
420b19cfb9 Merge pull request #185 from AlexSCorey/AlexSCorey-deleteOrgsTest
Alex s corey delete orgs test
2019-04-30 13:22:35 -04:00
Jake McDermott
d1dc6007fd use test callback from test form save hooks
Enter key and other form submits are handled generically from the built-in
save hooks on the form controller. This adds implementations for those hooks
on the plugin test forms to make sure the expected handlers are always called.
2019-04-30 12:31:30 -04:00
Kia Lam
5287af1b9f Add logged in username to top level header bar. 2019-04-30 11:05:08 -04:00
Ryan Petrello
52276ebbab Merge pull request #3523 from wenottingham/failure-event-handling-is-an-option
Use AWX python interpreter for failure-event-handler.
2019-04-30 10:41:54 -04:00
Alex Corey
f71421f60a removed orgsToDelete and fixed other tests 2019-04-30 10:22:25 -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
Alex Corey
f4da620c4d updating PR 2019-04-30 09:48:42 -04:00
Keith Grant
ffade973a9 upgrade to patternfly 2.x, pf/react-core 3.x (#184) 2019-04-30 08:19:19 -04:00
AlanCoding
5720601a2e allow relaunching other user jobs with public vars 2019-04-30 08:07:45 -04:00
Bill Nottingham
5d1346b956 Use AWX python interpreter for failure-event-handler.
python3 isn't in the normal path when using SCLs.
2019-04-29 20:32:50 -04:00
Alex Corey
1bae944b85 fix tests and function name changes 2019-04-29 17:29:40 -04:00
Alex Corey
33f7bf67e1 fix merge conflicts 2019-04-29 17:00:04 -04:00
Jake McDermott
6fe93f474f Merge pull request #181 from jakemcdermott/page-header-method-names
use 'handle' notation for header toolbar methods
2019-04-29 14:39:43 -04:00
Jake McDermott
bdad9ac8f9 use 'handle' notation for header toolbar methods
- 'handleFoo' is for methods defined on the component
- 'onFoo' is for naming function props that can be passed to the component from its parents
2019-04-29 14:32:56 -04:00
Jake McDermott
d74c3a09e5 Merge pull request #183 from jakemcdermott/test-fixup
fix unit and functional tests
2019-04-29 14:32:12 -04:00
Vismay Golwala
30d0130e79 Show only member users for organization
Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-04-29 14:20:57 -04:00
Jake McDermott
ee5b4b072b fix unit and functional tests 2019-04-29 11:35:06 -04:00
beeankha
4baecef866 Clean up references to Tower 2019-04-29 10:51:25 -04:00
Keith Grant
9d66b583b7 158 paginated data list (#180)
* working: rename OrganizationTeamsList to PaginatedDataList

* convert org notifications list fully to PaginatedDataList

* update NotificationList tests

* refactor org access to use PaginatedDataList

* update tests for org access refactor; fix pagination & sorting

* restore Add Role functionality to Org roles

* fix displayed text when list of items is empty

* preserve query params when navigating through pagination

* fix bugs after RBAC rebase

* fix lint errors, fix add org access button
2019-04-29 10:08:50 -04:00
softwarefactory-project-zuul[bot]
aaeb2d6fb9 Merge pull request #3740 from wenottingham/lets-re-compose-ourselves
Sync docker-compose dockerfile with the actual production image build.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-26 19:05:43 +00:00
softwarefactory-project-zuul[bot]
c707e60bde Merge pull request #3664 from vismay-golwala/pagination_cap_api
Cap page_size in pagination urls

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-26 17:55:51 +00:00
mabashian
b7e26b3507 Fix linting error 2019-04-26 13:15:37 -04:00
softwarefactory-project-zuul[bot]
44fcf2e0e4 Merge pull request #3766 from ryanpetrello/devel
merge in downstream changes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-26 17:09:48 +00:00
Michael Abashian
3c06c97c32 Merge pull request #173 from mabashian/151-org-rbac
Add RBAC to org views (now with tests!)
2019-04-26 12:01:33 -04:00
mabashian
3cd8d4f7e6 Adds more sort options to lists 2019-04-26 11:52:07 -04:00
softwarefactory-project-zuul[bot]
ddde669083 Merge pull request #3767 from ryanpetrello/cors-lite
document CORS middleware

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-26 15:32:35 +00:00
Jake McDermott
36e384e8ab hide dashboard tips on graph teardown event 2019-04-26 11:18:39 -04:00
mabashian
8cfe74a854 Code cleanup, renaming functions, use .all() on config promises 2019-04-26 11:02:16 -04:00
Ryan Petrello
586c3e4583 document CORS middleware 2019-04-26 11:00:33 -04:00
Jake McDermott
14045c1017 fix undefined prop in template credential prompt initialization
The prompt initialization code had a reference to an undefined
prop. This updates the code to use the expected prop.
2019-04-26 10:34:00 -04:00
Ryan Petrello
d11dfd0a2b Merge branch 'downstream' into devel 2019-04-26 08:02:04 -04:00
beeankha
cb7914dfa4 Make edits per first round of reviews. 2019-04-25 17:16:39 -04:00
beeankha
639e01e884 Remove unnecessary line 2019-04-25 16:26:58 -04:00
beeankha
e4d6d51cf5 Add further details/overview of AWX and Tower tasks into documentation 2019-04-25 16:14:49 -04:00
mabashian
7f452ee8d1 Add more sort options to new lists 2019-04-25 15:32:25 -04:00
Ryan Petrello
27d74528c0 Merge pull request #3494 from rooftopcellist/analytics_csv
analytics table copies formatted as csv now
2019-04-25 14:48:59 -04:00
Ryan Petrello
0ada1e965f Merge pull request #3508 from ryanpetrello/runner-134
pin runner 1.3.4
2019-04-25 10:16:05 -04:00
Ryan Petrello
2808a852eb pin runner 1.3.4 2019-04-25 09:49:03 -04:00
Ryan Petrello
80393e9194 Merge pull request #3504 from wenottingham/im-not-going-to-be-ignored-dan
Kill the rabbitmq sos collection from our plugin.
2019-04-24 14:51:01 -04:00
Bill Nottingham
aa52e41c02 Kill the rabbitmq sos collection from our plugin.
It exists in upstream sosreport, and this can cause conflicts.
2019-04-24 14:15:17 -04:00
Ryan Petrello
d7cdec37f2 Merge pull request #3502 from ryanpetrello/metrics-license-counts
fix a few issues with license counts in /api/v2/metrics/
2019-04-24 12:37:03 -04:00
softwarefactory-project-zuul[bot]
f60857013e Merge pull request #3754 from AlanCoding/gce_env_var
Simplify gce inventory plugin injector

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-24 16:25:09 +00:00
Ryan Petrello
c9424f9af8 fix a few issues with license counts in /api/v2/metrics/
- switched these to gauges so people can track them over time
- fixed a typo that caused `free_instances` to always be zero
2019-04-24 12:23:07 -04:00
Ryan Petrello
66f883befe Merge pull request #3485 from wenottingham/aaaaaaaaaaaaaaaaaaaaaaazure
Update Azure requirements for Ansible stable-2.8 branch.
2019-04-24 12:05:58 -04:00
softwarefactory-project-zuul[bot]
fad0274373 Merge pull request #3686 from vismay-golwala/instance_group_delete
[WIP] Disallow deleting controller or isolated instance groups

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-24 15:19:19 +00:00
mabashian
e5dda696d7 Add new tests for rbac on some of the org pages 2019-04-24 10:10:14 -04:00
Michael Abashian
8c715fc6e1 Merge pull request #3497 from dsesami/e2e_backport_3.5.0
E2E testing: compatibility edit to work with diff versions of node
2019-04-24 10:03:53 -04:00
Daniel Sami
870ebb4b43 fix to work with diff versions of node 2019-04-24 09:44:41 -04:00
softwarefactory-project-zuul[bot]
e78ef82385 Merge pull request #3758 from ryanpetrello/dot-files
clean up some old dotfiles

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-24 13:06:20 +00:00
Matthew Jones
1eb565543c Merge pull request #3495 from ansible/markerfiletest
Adding a markerfile for e2e runs
2019-04-24 09:06:03 -04:00
John Hill
082a819160 removing hyphen 2019-04-24 08:22:07 -04:00
Ryan Petrello
519d2eebcb remove unnecessary dotfiles 2019-04-23 17:23:15 -04:00
Michael Abashian
f2ea9003a3 Merge pull request #3493 from dsesami/e2e_backport_3.5.0
E2E backport 3.5.0
2019-04-23 16:51:34 -04:00
Christian Adams
64ae7a6e45 analytics table copies formatted as csv now 2019-04-23 16:26:14 -04:00
softwarefactory-project-zuul[bot]
b47be3c8c7 Merge pull request #3749 from AlanCoding/simple_openstack
Use common method for openstack OS_CLIENT_CONFIG_FILE injection

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-23 20:23:05 +00:00
John Hill
2f7ec6ff13 adding a markerfile for e2e runs 2019-04-23 16:01:45 -04:00
Daniel Sami
75065b6407 e2e stability backport for 3.5 2019-04-23 15:45:27 -04:00
mabashian
82db7df6b3 Remove errant comment 2019-04-23 15:19:46 -04:00
mabashian
f57876b6d9 Fix existing test failures 2019-04-23 14:55:06 -04:00
softwarefactory-project-zuul[bot]
2cb6104fe4 Merge pull request #3696 from AlanCoding/django2_warnings
Fix Django 2.0 deprecation warnings

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-23 18:09:58 +00:00
softwarefactory-project-zuul[bot]
f90f8ba9a8 Merge pull request #3755 from ansible/noretry
Adding an option to run all the tests without a retry statement

Reviewed-by: awxbot
             https://github.com/awxbot
2019-04-23 17:48:52 +00:00
mabashian
38bb4f3f3c Fix merge conflicts 2019-04-23 13:27:00 -04:00
mabashian
5ae7cbb43a Add RBAC to org views 2019-04-23 13:19:34 -04:00
John Hill
9733fde560 Adding an option to run all the tests without a retry statement 2019-04-23 13:18:34 -04:00
Michael Abashian
1509ef3e80 Merge pull request #143 from mabashian/wizard-access-list
Add roles modal to org access list
2019-04-23 13:12:31 -04:00
mabashian
df87681e6d Fix linting errors 2019-04-23 12:20:08 -04:00
Ryan Petrello
231c76c9cb Merge pull request #3490 from jakemcdermott/fix-3487
handle insights credential lookups for projects
2019-04-23 12:08:43 -04:00
mabashian
621cc3f839 Fix rebase errors 2019-04-23 11:52:49 -04:00
Jake McDermott
311daf10b8 handle insights credential lookups for projects
Although most scm types correspond to an scm credential lookup, insights uses its own
credential type.
2019-04-23 11:44:03 -04:00
Bill Nottingham
4ca4563a19 Update Azure requirements for Ansible stable-2.8 branch. 2019-04-23 10:50:00 -04:00
Ryan Petrello
96183cf9c4 Merge pull request #3484 from ansible/insights-integration
Insights integration
2019-04-23 10:05:00 -04:00
mabashian
e8d73babaf Rebase and incorporates feedback 2019-04-23 10:01:03 -04:00
mabashian
9880f1e124 Removes the need to pass default search params to the select resource step 2019-04-23 10:01:03 -04:00
mabashian
a1002b03fa Add roles modal to org access list 2019-04-23 10:01:03 -04:00
Michael Abashian
47bdbddbeb Merge pull request #172 from jlmitch5/moveTestContext
PR for moving tests to using new mountWithContext helper
2019-04-23 09:58:15 -04:00
Michael Abashian
f7bd9af7a1 Merge branch 'master' into moveTestContext 2019-04-23 09:57:35 -04:00
Jeff Bradberry
0b555e938a Fix typo in the Insights inventory url 2019-04-23 09:39:08 -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
John Mitchell
261980f18e update components tests to use mountWithContexts when relevant 2019-04-22 16:34:33 -04:00
John Mitchell
986641de9f Fix ORganizationTeams test 2019-04-22 16:33:12 -04:00
John Mitchell
6f789b661f Fix NotificationList tests 2019-04-22 15:43:47 -04:00
John Mitchell
667cbb0c20 update the rest of the organizations tests 2019-04-22 15:11:28 -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
Jeff Bradberry
6ff539e6ee Update the front-end Insights urls 2019-04-22 14:17:47 -04:00
Jeff Bradberry
49ba6c6b3d Appease flake8 2019-04-22 14:17:47 -04:00
Jeff Bradberry
e2861c6c39 Fix the tests to conform to the new Insights results 2019-04-22 14:17:47 -04:00
Jeff Bradberry
6dae4a1d6d Add the host in as a parameter to the _get_insights call 2019-04-22 14:17:47 -04:00
Jeff Bradberry
e66f9241a9 Remove the platform_id from the call to _get_insights
since it is now acquired within _get_insights.
2019-04-22 14:17:47 -04:00
Jeff Bradberry
72da961550 Conform to the new output of the Insights system reports endpoint 2019-04-22 14:17:47 -04:00
Jeff Bradberry
4c86c5065c Fix a typo in the per-system remediations api call 2019-04-22 14:17:47 -04:00
Jeff Bradberry
80a855c57a Do some basic slugification of the remediation playbook name 2019-04-22 14:17:47 -04:00
Jeff Bradberry
11b85250e8 Update more urls 2019-04-22 14:17:47 -04:00
Jeff Bradberry
10cfac2f0e Update the error message when we can't discover the platform ID 2019-04-22 14:17:47 -04:00
Jeff Bradberry
355a83441a Guard against the case where Insights fails to find the system ID 2019-04-22 14:17:47 -04:00
Jeff Bradberry
e25adca233 Replace the old unit tests with new functional tests 2019-04-22 14:17:47 -04:00
Jeff Bradberry
7c743904b0 Removed some no longer needed imports 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
596a5173ce Modify filter_insights_api_response to take in the separate remediations
since it is accumulated via a different API call.
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
f01a936202 Update the test for filter_insights_api_response()
and fix the data nesting issue that it uncovered.
2019-04-22 14:17:47 -04:00
Jeff Bradberry
05f670a6d9 Update the filter_insights_api_response() utility function
in order to conform the output of the new Insights Advisor report
endpoint to our expections.
2019-04-22 14:17:47 -04:00
Jeff Bradberry
f4b0910e98 Call out to the Insights API to get the Platform ID for a host
Since the new reports endpoint requires that, rather than the Insights
system ID that we've been using (and storing on the Host model).
2019-04-22 14:17:47 -04:00
Jeff Bradberry
95b17892ee Factor out the response handling boilerplate from HostInsights.get_insights
We'll want to reuse it for the API call to /hosts as well.
2019-04-22 14:17:47 -04:00
Jeff Bradberry
8fdc53cb21 Update the Insights API endpoint for getting the reports for a host 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
AlanCoding
8c2b3e9b84 Fix Django 2.0 deprecation warnings 2019-04-22 14:17:14 -04:00
softwarefactory-project-zuul[bot]
864fef4f29 Merge pull request #3748 from ryanpetrello/pin-runner-133
pin runner to 1.3.3

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-22 17:28:16 +00:00
Ryan Petrello
787e369bcf pin runner to 1.3.3 2019-04-22 12:57:55 -04:00
softwarefactory-project-zuul[bot]
805a0c7a9a Merge pull request #3730 from jbradberry/manage-org-resource-roles
Adjust the access logic for settings.MANAGE_ORGANIZATION_AUTH = False

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-22 16:44:05 +00:00
softwarefactory-project-zuul[bot]
c80a5e2164 Merge pull request #3747 from ryanpetrello/d-d-d-danger-zone
add a loud warning about perf regressions to tasks.py

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-22 15:25:46 +00:00
Ryan Petrello
eb0463890c add a loud warning about perf regressions to tasks.py 2019-04-22 10:26:58 -04:00
Alex Corey
ec3be57539 Merge pull request #162 from AlexSCorey/128-UsePFTabs
Add PF's Tabs to Orgs Details page
2019-04-22 09:26:12 -04:00
John Mitchell
54499dbf69 update OrganizsationAccess and OrganizationAccessList w mountWithContexts 2019-04-18 17:18:19 -04:00
softwarefactory-project-zuul[bot]
f6076052bd Merge pull request #3737 from wenottingham/computing-is-deprecated--tell-your-friends
Deprecate a bunch of inventory computed fields.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-18 21:11:50 +00:00
Bill Nottingham
0d18d46ccc Sync docker-compose dockerfile with image build dockerfile.
It was installing an IUS repo, rabbitmq-server, and other unneeded things.
2019-04-18 16:50:38 -04:00
softwarefactory-project-zuul[bot]
23ea419aa9 Merge pull request #3724 from ansible/spinnycheck
prevent flake for user e2e

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-18 20:47:00 +00:00
Daniel Sami
b084622c9e prevent flake for user e2e 2019-04-18 16:25:35 -04:00
Bill Nottingham
ef7e1afa34 Add migrations for field names. 2019-04-18 15:39:47 -04:00
softwarefactory-project-zuul[bot]
be86086134 Merge pull request #3739 from elyezer/update-jobs-portal-e2e
Update jobs portal list actions e2e

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-18 19:30:56 +00:00
Elyézer Rezende
a06d2946b6 Update jobs portal list actions e2e 2019-04-18 15:09:29 -04:00
Jeff Bradberry
0ba87c9729 Add more test checks for the alternate code path to the role checks 2019-04-18 14:53:19 -04:00
John Mitchell
a6f79c646d update organization add test to use mountWithContexts 2019-04-18 13:54:41 -04:00
John Mitchell
ce49cb9ba4 fix config context if value passed by props not getting overwritten 2019-04-18 13:53:05 -04:00
Jeff Bradberry
41b476544d Improve test coverage of attaching a user to an organization 2019-04-18 13:35:35 -04:00
John Mitchell
5030eb35b6 migrate App.jsx to mountwithContext 2019-04-18 13:10:17 -04:00
Alex Corey
8fa9535b98 styling changes 2019-04-18 13:07:10 -04:00
softwarefactory-project-zuul[bot]
97a6255531 Merge pull request #3736 from ryanpetrello/red-means-loud-on-the-internet
make deprecation warnings at /api/ much more obvious

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-18 17:05:33 +00:00
Ryan Petrello
4159a9b6af make deprecation warnings at /api/ much more obvious 2019-04-18 12:32:49 -04:00
softwarefactory-project-zuul[bot]
798bc4b8de Merge pull request #3734 from wenottingham/sqlitis-is-bad
remove sqlite db, add it to .gitignore

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-18 16:28:40 +00:00
Bill Nottingham
6adf4ca2c1 Deprecate a bunch of inventory computed fields.
Cribbed from https://github.com/ansible/awx/pull/3281/
2019-04-18 12:12:50 -04:00
softwarefactory-project-zuul[bot]
8cc18f501e Merge pull request #3733 from ryanpetrello/dashboard-deprecation
deprecate /api/v2/dashboard in favor of /api/v2/metrics

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-18 16:09:19 +00:00
Bill Nottingham
63049fe99d remove sqlite db, add it to .gitignore 2019-04-18 12:03:04 -04:00
Ryan Petrello
d6ecb486d2 deprecate /api/v2/dashboard in favor of /api/v2/metrics 2019-04-18 11:45:37 -04:00
Vismay Golwala
f4dc4d5849 Cap page_size in pagination urls
Currently, even with a `max_page_size` of n, we can see urls
formed in pagination with `page_size` > n. API still caps the
number of results it returns, but the URL remain invalid there.
This is a bit messy solution to make string replacement in URL
if the query param exceeds `max_page_size`

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-04-18 11:39:22 -04:00
Jake McDermott
db4734be85 Merge pull request #169 from ansible/jakemcdermott-only-coverage
don't use --watch by default when running tests
2019-04-18 11:29:54 -04:00
John Mitchell
e1333f5e00 move value by prop in providers to consistent interface 2019-04-18 10:52:35 -04:00
Keith Grant
ae72d8dce5 Context test tools (#168)
* add enzyme test helper with lingui provider

* add router context to enzyme test helper

* get 18n, router, & config contexts rendering together in enzyme helper

* add config context to enzyme helpers

* add network and dialog contexts to enzymeHelpers

* convert OrganizationForm tests to use new mountWithContexts helper

* default all context value keys to default unless provided

* document use of mountWithContexts()

* fix typo in CONTRIBUTING.md

* update Organizations to use mountWithContext
2019-04-18 10:03:06 -04:00
softwarefactory-project-zuul[bot]
87d55b13bc Merge pull request #3549 from vismay-golwala/verify_venv_on_launch
Validate virtual environment while running a job/inventory update

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-18 12:31:25 +00:00
Vismay Golwala
5d570a017a Validate virtual environment while running a job/inventory update
Currently we only check the custom virtual environment path when
it's created. However, to tackle with the case when the venv might
have been changed/deleted afterward, we need to validate it at
run-time too.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-04-18 08:09:49 -04:00
softwarefactory-project-zuul[bot]
6d5897f371 Merge pull request #3728 from chrismeyersfsu/speed_boost
instantiate dispatcher once per job run

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-18 11:14:32 +00:00
softwarefactory-project-zuul[bot]
e14f19468b Merge pull request #3729 from rooftopcellist/rename_analytics_setting
rename analytics setting

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-17 22:55:43 +00:00
Jeff Bradberry
8ad0b3f787 Check the permissions for adding users to orgs/teams in the other direction 2019-04-17 17:45:20 -04:00
Alex Corey
2067718c0e fixed tests 2019-04-17 16:42:39 -04:00
Keith Grant
25db22e072 fix RoutedTabs tests
Signed-off-by: Alex Corey <alex.swansboro@gmail.com>
2019-04-17 16:20:24 -04:00
Jeff Bradberry
70b0679a0c Adjust the access logic for settings.MANAGE_ORGANIZATION_AUTH = False
so that changing the membership of Organizations and Teams are
disallowed unless you are a superuser, but granting resource
privileges is still permitted.
2019-04-17 15:37:02 -04:00
Christian Adams
add8673d7c rename analytics setting 2019-04-17 15:28:15 -04:00
chris meyers
84c09a19d1 instantiate dispatcher once per job run
* Instantiating the callback dispatch queue on each job event callback
is expensive. Instead, instantiate it only once. Note, we do not need to
instantiate the callback queue in the iso case so we do not.
2019-04-17 14:03:00 -04:00
Alex Corey
ca6153c955 RoutedTabs is now a functional component 2019-04-17 13:51:09 -04:00
Alex Corey
76a7a76e81 refactoring and updating tests 2019-04-17 13:50:38 -04:00
Alex Corey
2daf202e52 addresses PR issues 2019-04-17 13:50:38 -04:00
Alex Corey
178d519f6e Remove unwanted committed file 2019-04-17 13:50:38 -04:00
Jake McDermott
a414c4e60e don't use --watch by default when running tests 2019-04-17 11:54:22 -04:00
softwarefactory-project-zuul[bot]
fbc7d1a9f2 Merge pull request #3711 from AlanCoding/conservative_upgrades3
Apply critical dependency upgrades (try 2)

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-17 13:04:24 +00:00
softwarefactory-project-zuul[bot]
daeeb31590 Merge pull request #3715 from ryanpetrello/local-python
properly set ansible_python_interpreter for local task execution

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-17 12:44:39 +00:00
softwarefactory-project-zuul[bot]
66886fb57a Merge pull request #3721 from AlanCoding/org_members_read_teams
Use querset special case to let org members see teams

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-17 12:24:49 +00:00
AlanCoding
1ddb675fa2 Use querset special case to let org members see teams 2019-04-17 07:05:25 -04:00
softwarefactory-project-zuul[bot]
4fd04e095f Merge pull request #2860 from AlanCoding/auditor_association
Show entry for system auditor associations

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-17 10:48:37 +00: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
softwarefactory-project-zuul[bot]
7f5227809f Merge pull request #3723 from ryanpetrello/django-works-in-mysterious-ways
fix a bug that breaks the isolated heartbeat

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-16 20:46:14 +00:00
Ryan Petrello
f1d87bf392 fix a bug that breaks the isolated heartbeat 2019-04-16 16:24:40 -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
softwarefactory-project-zuul[bot]
15ef095366 Merge pull request #3720 from shanemcd/memcache-config
Fix memcached configuration in local Docker installs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-16 19:53:23 +00:00
softwarefactory-project-zuul[bot]
c2daccade7 Merge pull request #3667 from chrismeyersfsu/delete-system-tracking
remove system tracking

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-16 17:24:03 +00:00
Shane McDonald
3bfb54d2fd Fix memcached configuration in local Docker installs
Related: https://github.com/ansible/awx/issues/3719
Signed-off-by: Shane McDonald <me@shanemcd.com>
2019-04-16 12:51:28 -04:00
Jake McDermott
7c2554be8c Merge pull request #165 from jakemcdermott/dependency-updates
update vulnerable dependencies
2019-04-16 09:40:28 -04:00
Jake McDermott
468a290ba6 update vulnerable dependencies 2019-04-16 09:14:14 -04:00
softwarefactory-project-zuul[bot]
a5d31e56d6 Merge pull request #3709 from AlanCoding/piparoo
Apply same pip and setuptools to AWX and Ansible venv

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-15 21:05:49 +00:00
softwarefactory-project-zuul[bot]
d222bed932 Merge pull request #3712 from jladdjr/iso_node_healthcheck_should_not_reset_capacity
Do not reset capacity of iso nodes when disabled

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-15 20:40:01 +00:00
softwarefactory-project-zuul[bot]
45cc8f1cc9 Merge pull request #3703 from mabashian/upgrade-bootstrap-yay
Bumps Bootstrap to 4.3.1

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-15 20:35:03 +00:00
Vismay Golwala
e0c4fd4b3a Disallow deleting controller or isolated instance groups
Added two new properties to the InstanceGroup model - `is_controller`
and `is_isolated`. Used these properties to hide the trash icon for
instance groups that are either controller or isolated.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-04-15 16:08:27 -04:00
Jim Ladd
6ef3b18803 Do not reset capacity of iso nodes when disabled 2019-04-15 12:36:15 -07:00
softwarefactory-project-zuul[bot]
f23b4e7b9a Merge pull request #3708 from rooftopcellist/update_prom_docs
add url to prom docs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-15 18:23:19 +00:00
softwarefactory-project-zuul[bot]
1d4773545e Merge pull request #3707 from ryanpetrello/report-ansible-runner-crashes
if runner crashes, attempt to record why

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-15 18:16:09 +00:00
AlanCoding
e40c6da552 Apply same pip and setuptools to AWX and Ansible venv 2019-04-15 13:54:25 -04:00
Christian Adams
8ef81065b7 add url to prom docs 2019-04-15 13:39:55 -04:00
mabashian
08fcdf0e25 Bumps Bootstrap to 4.3.1 2019-04-15 13:20:00 -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]
707c3883a8 Merge pull request #3702 from AlanCoding/revert_upgrades
Revert "Merge pull request #3697 from AlanCoding/conservative_upgrades"

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-15 16:54:36 +00:00
softwarefactory-project-zuul[bot]
47b0a96e96 Merge pull request #3704 from rooftopcellist/cleanup_prom_files
add prometheus data to gitignore

Reviewed-by: awxbot
             https://github.com/awxbot
2019-04-15 15:17:07 +00:00
Michael Abashian
d6f91f8b2d Merge pull request #163 from mabashian/146-access-expand-collapse
Remove expand/collapse from org access list
2019-04-15 10:48:47 -04:00
Christian Adams
fb4495b1b5 add prometheus data to gitignore 2019-04-15 10:43:28 -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
softwarefactory-project-zuul[bot]
5c7939a6ac Merge pull request #3676 from keithjgrant/3604-search-tag-line-wrap
fix tag word wrapping for firefox

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-15 13:56:40 +00:00
softwarefactory-project-zuul[bot]
890de400e2 Merge pull request #3697 from AlanCoding/conservative_upgrades
Apply critical dependency upgrades

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2019-04-15 13:24:25 +00:00
softwarefactory-project-zuul[bot]
e8de7bc845 Merge pull request #3673 from rooftopcellist/metrics_uuids
add uuids to ping and metrics

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-13 11:45:47 +00:00
Christian Adams
40393e201f add uuids to ping and metrics 2019-04-12 18:37:40 -04:00
softwarefactory-project-zuul[bot]
97e2137d07 Merge pull request #3694 from ryanpetrello/gbye-callback-plugins
remove the old callback plugin import paths

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-12 21:01:34 +00:00
softwarefactory-project-zuul[bot]
29c3927a16 Merge pull request #3695 from wenottingham/words-are-hard
Update wording.

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-04-12 20:35:46 +00:00
Ryan Petrello
17a803f49c remove the old callback plugin import paths and callback-specific tests 2019-04-12 16:11:23 -04:00
softwarefactory-project-zuul[bot]
d0c3882d9d Merge pull request #3698 from ansible/bumpse
Adding selenium stability fix and unpinning se images

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-12 20:10:57 +00:00
mabashian
53f564068f Remove leftover isCompact references 2019-04-12 16:10:30 -04:00
mabashian
e11c2df6b6 Remove expand/collapse from org access list 2019-04-12 16:10:30 -04:00
Bill Nottingham
9da5cc9c23 Update wording. 2019-04-12 16:09:30 -04:00
John Mitchell
14c1b85127 Merge pull request #156 from jlmitch5/handleNetworkErrors
Handle network errors
2019-04-12 16:00:54 -04:00
softwarefactory-project-zuul[bot]
7913247eaa Merge pull request #3678 from jlmitch5/showRevAndIgForJobResults
subscribe to updates for scm revision and and instance group for job …

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-12 19:53:01 +00: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
John Hill
77e587babe Adding selenium stability fix and unpinning se images 2019-04-12 15:43:37 -04:00
AlanCoding
235011f5e9 Apply critical dependency upgrades 2019-04-12 15:26:48 -04:00
John Mitchell
526b640329 fix translation marked org and org access list strings 2019-04-12 15:23:45 -04:00
John Mitchell
63894bf822 update Promise.all map functions to not be async 2019-04-12 14:35:35 -04:00
John Mitchell
b9e0b2e0ad update to correct grab handleHttpError from props instead of state 2019-04-12 14:35:18 -04:00
chris meyers
0c6a522813 remove system tracking
* Leave the artisanal handcrafted migration from vendored fact scan to
external fact gathering.
2019-04-12 14:30:29 -04:00
softwarefactory-project-zuul[bot]
dc833bbaa7 Merge pull request #3683 from mabashian/3565-workflow-template-popover
Leverages awPopOverWatch to generate popover dynamically on workflow node templates help

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-12 16:54:54 +00:00
mabashian
9b0329021c Leverages awPopOverWatch to generate popover dynamically on workflow node templates help 2019-04-12 12:29:50 -04:00
softwarefactory-project-zuul[bot]
3611f3491b Merge pull request #3581 from beeankha/basic_license_feature
Update Basic License Feature Access

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-12 15:57:18 +00:00
softwarefactory-project-zuul[bot]
213a0c3cef Merge pull request #3692 from ansible/spinnycheck
Fixing flake and waits for spinny that don't need to be there.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-12 15:45:44 +00:00
beeankha
0cc640403a Resolve initial login error 2019-04-12 11:28:27 -04:00
Ryan Petrello
85898fd708 remove more unnecessary feature flagging for AUTHENTICATION_BACKENDS 2019-04-12 11:28:27 -04:00
beeankha
14d4d624e4 Restore button for adding notifications 2019-04-12 11:28:27 -04:00
beeankha
de34a64115 Basic License feature gating changes 2019-04-12 11:28:27 -04:00
Daniel Sami
d67a336e2f drop spinny
flake fixes

adjust
2019-04-12 10:57:35 -04:00
softwarefactory-project-zuul[bot]
58966d7368 Merge pull request #3625 from ryanpetrello/iso-forks
WIP: specify --forks on isolated health check calls

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-11 21:41:37 +00:00
John Mitchell
83e6255ba4 update NotifyAndRedirect to function component 2019-04-11 17:16:42 -04:00
John Mitchell
09a950570e Update provider export syntax 2019-04-11 17:10:32 -04:00
John Mitchell
64aecb85fa move router setup to RootProvider 2019-04-11 17:07:46 -04:00
John Mitchell
85b9b4f896 add missing link to react docs about context 2019-04-11 16:18:08 -04:00
softwarefactory-project-zuul[bot]
fc5322b2a4 Merge pull request #3675 from mabashian/as-mgmt-jobs
Check to make sure the activity stream button should be shown after refresh

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-11 17:54:24 +00:00
softwarefactory-project-zuul[bot]
817b350de9 Merge pull request #3685 from ryanpetrello/runner-132
pin ansible runner to 1.3.2

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-11 17:27:51 +00:00
Ryan Petrello
0c4ed78bee pin ansible runner to 1.3.2 2019-04-11 12:57:07 -04:00
John Mitchell
a808462a3d remove test.only causing org access tests to skip 2019-04-11 12:40:27 -04:00
John Mitchell
b17fb8a596 Add handleHttpError prop to stop error from org detail test 2019-04-11 12:36:19 -04:00
softwarefactory-project-zuul[bot]
0252af0d30 Merge pull request #3674 from ansible/splits
added ws and pending to user e2e

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-11 16:04:34 +00:00
John Mitchell
bab7095d67 Update qs path imports to include util 2019-04-11 12:00:39 -04:00
John Mitchell
e36320174c Add contrib docs based on context changes and move qs to util dir 2019-04-11 11:58:15 -04:00
John Mitchell
abc3733449 fix test after rebase of org teams update 2019-04-11 11:06:39 -04:00
John Mitchell
344713f938 fix unit tests for network handling 2019-04-11 10:42:33 -04:00
John Mitchell
ad0e409448 do 404 modal redirect on unknown routes 2019-04-11 10:42:00 -04:00
John Mitchell
81267c7212 update language and stylign for all warning/danger modals 2019-04-11 10:42:00 -04:00
John Mitchell
fa232a94bd update api calls to utilized network context 2019-04-11 10:41:59 -04:00
John Mitchell
722ae932ab update login modal to grab error from RootDialog 2019-04-11 10:38:54 -04:00
John Mitchell
aea4a04c66 add RootDialog and Network contexts, update app bootstrapping 2019-04-11 10:34:48 -04:00
John Mitchell
e20cf72dd6 add AlertModal component and update styling of delete confirmations 2019-04-11 10:34:48 -04:00
John Mitchell
af3419c2dd update eslint to allow short circuit ternary chains 2019-04-11 10:29:45 -04:00
Daniel Sami
f56f6c11f7 added ws and pending to user e2e
lint
2019-04-11 09:41:51 -04:00
John Mitchell
ef84bfc1c2 subscribe to updates for scm revision and and instance group for job results 2019-04-10 17:00:35 -04:00
Alex Corey
84f45d122d Merge pull request #160 from AlexSCorey/114-HeaderIcons
Adds tooltip to username and help icon
2019-04-10 16:39:20 -04:00
softwarefactory-project-zuul[bot]
8383568e3c Merge pull request #3672 from rooftopcellist/metrics_content_types
remove invalid json renderer from metrics endpoint

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-10 20:36:42 +00:00
Christian Adams
fd5d9c45d7 remove invalid json renderer from metrics endpoint 2019-04-10 16:14:54 -04:00
softwarefactory-project-zuul[bot]
23d0f6022c Merge pull request #3671 from athenahealth/fix-awx-logos-inventory-comments
Fix comment on awx branding inventory var

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-10 20:05:16 +00:00
mabashian
9e98058290 Check to make sure the activity stream button should be shown after refresh 2019-04-10 15:56:19 -04:00
Keith Grant
e073b5e017 fix tag word wrapping for firefox 2019-04-10 15:51:56 -04:00
softwarefactory-project-zuul[bot]
21bec83a4e Merge pull request #3669 from mabashian/workflow-node-save
Ensures extra vars are converted to yaml before being passed along to prompt steps

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-10 19:50:39 +00:00
softwarefactory-project-zuul[bot]
cd966f2669 Merge pull request #3670 from mabashian/root-all-groups-responsive
Make root/all groups action bar a bit more responsive

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-10 19:50:33 +00:00
softwarefactory-project-zuul[bot]
1830da4268 Merge pull request #3656 from elyezer/applications-e2e
Add applications to e2e

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-10 18:57:22 +00:00
Jeff Byrnes
98ec5c8250 Fix comment on awx branding inventory var
Fix a conflict with the “AWX Branding” in INSTALL.md, which
has the correct instructions.
2019-04-10 14:49:37 -04:00
Alex Corey
c4ffc58228 addresses PR issues 2019-04-10 14:16:22 -04:00
Keith Grant
96906c2ece Merge pull request #157 from keithjgrant/145-org-teams-empty-state
Org teams empty state
2019-04-10 14:01:55 -04:00
Marliana Lara
0f2355f416 Merge pull request #159 from marshmalien/ux-org-list-links
Remove org list links and update label
2019-04-10 13:19:44 -04:00
mabashian
0caf1e8a3d Make root/all groups action bar a bit more responsive 2019-04-10 12:06:47 -04:00
softwarefactory-project-zuul[bot]
ae7b173e17 Merge pull request #3661 from AlanCoding/stdout_cleanup
Remove stdout wrapper classes that moved to runner

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-10 15:05:32 +00:00
softwarefactory-project-zuul[bot]
c326b186a6 Merge pull request #3629 from AlanCoding/nt_read_enable
Fix RBAC bugs with notification attachment

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-10 14:56:37 +00:00
mabashian
4f2443e7bb Ensures extra vars are converted to yaml before being passed along to prompt steps 2019-04-10 10:51:27 -04:00
Elyézer Rezende
213a70b98a Add applications to e2e 2019-04-10 10:50:49 -04:00
Alex Corey
731da8049b Adds tooltip to username and help icon. 2019-04-10 10:48:56 -04:00
mabashian
c91cd606ed Corresponding UI changes for notifications tab and toggle permissions 2019-04-10 10:31:31 -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
softwarefactory-project-zuul[bot]
df81eb7533 Merge pull request #3659 from rooftopcellist/prom_test
add prom permissions test

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-10 14:24:42 +00:00
Keith Grant
909c5e77c4 rename all test files to *.test.js 2019-04-10 09:55:57 -04:00
softwarefactory-project-zuul[bot]
1bb5d560bd Merge pull request #3663 from kialam/fix-3414-job-output-live-updates-disabled
Fix job output name in websocket service.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-10 13:52:08 +00:00
softwarefactory-project-zuul[bot]
652281b6fa Merge pull request #3645 from AlexSCorey/2281-HostEventToolTip
Add tool tip to Host Event lines.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-09 21:17:08 +00:00
Kia Lam
b978a28f8b Fix job output name in websocket service. 2019-04-09 17:04:30 -04:00
softwarefactory-project-zuul[bot]
4664d9556d Merge pull request #3620 from AlanCoding/gce_instance_id
Add instance_id for gce imported hosts

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-09 20:49:06 +00:00
softwarefactory-project-zuul[bot]
7f935084df Merge pull request #3653 from AlanCoding/instance_token_management2
Fix 403 bug using write PAT and view.always_allow_superuser=True

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2019-04-09 20:37:05 +00:00
AlanCoding
988438f119 Remove stdout wrapper classes that moved to runner 2019-04-09 16:28:30 -04:00
softwarefactory-project-zuul[bot]
20a023e243 Merge pull request #3658 from keithjgrant/2526-fix-workflow-results-layout
Fix workflow results layout when extra vars has long line

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-09 19:40:26 +00:00
Christian Adams
f49532090b add prom permissions test 2019-04-09 15:12:04 -04:00
Alex Corey
75a1c69ea2 address concerns in PR 2019-04-09 14:55:34 -04:00
softwarefactory-project-zuul[bot]
7f6659f767 Merge pull request #3657 from ryanpetrello/issue-template-remove-component
remove COMPONENT NAME from our issue templates

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-09 17:50:30 +00:00
Keith Grant
8f05482f8f fix workflow results layout when extra vars has long line 2019-04-09 13:48:25 -04:00
Ryan Petrello
01a79dd23e remove COMPONENT NAME from our issue templates
this is a remnant from our closed sourced days; upstream bug reporters
only fill this out correctly like 50% of the time, and it's often
difficult to know without knowing how AWX actually works
2019-04-09 12:49:11 -04:00
softwarefactory-project-zuul[bot]
3d308cc2a3 Merge pull request #3636 from ansible/prometheus
Prometheus Metrics

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-09 15:51:27 +00:00
Marliana Lara
2ab688932d Remove org list links 2019-04-09 11:37:43 -04:00
Alex Corey
4f55ffe4a0 Add tool tip to Host Event lines. 2019-04-09 10:58:23 -04:00
softwarefactory-project-zuul[bot]
6ce972a2a4 Merge pull request #3652 from keithjgrant/3639-codemirror-popout-bug
Don't obscure modal buttons when code mirror modal throws error

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-09 14:20:21 +00:00
softwarefactory-project-zuul[bot]
57b3565f42 Merge pull request #3631 from mabashian/reload-on-pendo-change
Refresh the page after pendo flag changes to make change effective immediately

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-09 14:13:00 +00:00
Wayne Witzel III
1abb0b2c35 restrict metrics to superuser and system auditor 2019-04-09 10:07:38 -04:00
AlanCoding
809fcac738 fix 403 bug using write PAT and view.always_allow_superuser=True 2019-04-09 09:54:52 -04:00
Keith Grant
fa665e81e4 don't obscure modal buttons when code mirror modal throws error 2019-04-09 09:30:58 -04:00
AlanCoding
c4b41a174b add instance_id for gce imported hosts 2019-04-09 08:20:26 -04:00
softwarefactory-project-zuul[bot]
ce65fdd26c Merge pull request #3647 from ryanpetrello/cred-namespace-api
expose CredentialType.namespace in the API

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-09 11:50:01 +00:00
Ryan Petrello
aa0179690d expose CredentialType.namespace in the API
see: https://github.com/ansible/awx/issues/3644
2019-04-08 19:02:10 -04:00
softwarefactory-project-zuul[bot]
67aeecdee5 Merge pull request #3637 from ryanpetrello/install-uuid
add a unique UUID for identifying an AWX installation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-08 20:17:19 +00:00
softwarefactory-project-zuul[bot]
d14b71ccee Merge pull request #3643 from AlanCoding/cloudforms_py3
Backport fix to run cloudforms script in py3

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-08 18:06:49 +00:00
AlanCoding
47a3ee7d76 backport fix to run cloudforms script in py3 2019-04-08 13:40:44 -04:00
softwarefactory-project-zuul[bot]
a2bfb0f65c Merge pull request #3633 from AlanCoding/slice_of_one
Avoid slicing if the inventory only has 1 host

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-08 16:57:51 +00:00
Ryan Petrello
fc9da002d2 add an example config file and make target for starting a prometheus 2019-04-08 12:01:46 -04:00
Christian Adams
e1c6057b4c add insights setting to metrics 2019-04-08 11:49:41 -04:00
Wayne Witzel III
520cbd2015 update prometheus run example 2019-04-08 11:47:10 -04:00
Christian Adams
e2039b7d3f add insights setting to metrics 2019-04-08 11:34:38 -04:00
Keith Grant
70137dea5a fix tests for OrganizationTeams, OrganizationTeamsList 2019-04-08 10:59:26 -04:00
Marliana Lara
3d6790a419 Merge pull request #155 from marshmalien/ux-instance-groups-lookup-height
UX - Lookup static height
2019-04-08 10:40:20 -04:00
softwarefactory-project-zuul[bot]
9125313ed3 Merge pull request #3640 from konkolorado/devel
Removes failing symlink to /usr/bin/python3 during the image build

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-08 14:30:49 +00:00
Wayne Witzel III
2c8900568b add prometheus-client license details 2019-04-08 10:21:05 -04:00
Wayne Witzel III
5c1d2a6f0b flake8 cleanup 2019-04-08 09:35:46 -04:00
Wayne Witzel III
bb5c7a98f3 test prometheus metrics output 2019-04-08 09:28:57 -04:00
Christian Adams
3fb3079264 fix job status metric 2019-04-08 02:47:56 -04:00
Wayne Witzel III
c3812de3d6 initial prometheus commit
Co-authored-by: Wayne Witzel III <wayne@riotousliving.com>
Co-authored-by: Christian Adams <rooftopcellist@gmail.com>
2019-04-08 02:47:56 -04:00
Uriel Mandujano
4821a94944 Removes failing symlink to /usr/bin/python3 during the image build
Installing the latest python36-setuptools automatically creates the symlink from python3 -> python3.6 and from python36 -> /usr/bin/python3.6. Building the images fails when the symlink is created explicitly in the AWX installer.

Signed-off-by: Uriel Mandujano <uriel.mandujano14@gmail.com>
2019-04-06 11:13:41 -05:00
Uriel Mandujano
97e030dd1f Revert "Removes failing symlink to /usr/bin/python3 because that file already exists"
This reverts commit 13fadd3838.
2019-04-06 11:10:35 -05:00
Ryan Petrello
dfd4cb55e5 add a unique UUID for identifying an AWX installation 2019-04-05 20:10:55 -04:00
Uriel Mandujano
13fadd3838 Removes failing symlink to /usr/bin/python3 because that file already exists 2019-04-05 16:53:20 -05:00
Jeff Byrnes
7b636a7566 Set up HTTPS w/ proper port & HTTP redirect
HTTPS is, by default, expected to be on port 443.

Also, with HSTS set, we need to be sure that users attempting to arrive
via HTTP are properly redirected to HTTPS.

This does so by:

* Setting up a 301 redirect for any URL to its HTTPS version
* Adjusting the internal port for HTTPS traffic to 8053
* Setting docker-compose to share port 443 → 8053
    - This is configurable via an inventory variable
2019-04-05 16:13:23 -04:00
Jeff Byrnes
28e3c63562 Add optional SSL cert to docker-compose install
In #3322, this mount was added, but only to the standalone
Docker install setup:

github.com/ansible/awx/pull/3322/files#diff-596e32ab54a52bfed763f8a639499fe0

This ensures that the SSL cert is loaded when using docker-compose,
which is the only Docker-based method available as of v4.0.0
2019-04-05 16:13:23 -04:00
AlanCoding
cca9de9a3e set default slice ct for special cases 2019-04-05 16:12:40 -04:00
Marliana Lara
212d3d517d Replace lookup with patternfly's input group component and 'fix' the height 2019-04-05 15:39:14 -04:00
AlanCoding
880341ac05 avoid slicing if the inventory only has 1 host 2019-04-05 15:28:29 -04:00
softwarefactory-project-zuul[bot]
e9f2fddc7f Merge pull request #3635 from ryanpetrello/i-am-so-smrt
fix a typo

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 18:57:16 +00:00
Ryan Petrello
a9a479a51b fix a typo 2019-04-05 14:28:39 -04:00
softwarefactory-project-zuul[bot]
ddcb7d4881 Merge pull request #3634 from ryanpetrello/dashboard-confessionals
fix a small bug related to failed inventory counts in the dashboard API

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 18:24:39 +00:00
Ryan Petrello
cd90ad2497 fix a small bug related to failed inventory counts in the dashboard API 2019-04-05 14:02:19 -04:00
softwarefactory-project-zuul[bot]
e3dfc6c796 Merge pull request #3596 from jbradberry/capture-isolated-command
Updated IsolatedManager to take a callback that captures the remote command

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 17:15:11 +00:00
Alex Corey
09fd8e8106 Merge pull request #141 from AlexSCorey/48-deleteOrgs
Add alert for org. delete.
2019-04-05 12:39:38 -04:00
softwarefactory-project-zuul[bot]
1a151ad63a Merge pull request #3587 from chrismeyersfsu/fix-pickup_insights_id_from_ansible_facts
pickup insights system_id from ansible facts

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 16:07:21 +00:00
Alex Corey
c0b882d6fb fixes progress bar 2019-04-05 12:01:04 -04:00
softwarefactory-project-zuul[bot]
4095a6c9d4 Merge pull request #3632 from ryanpetrello/duplicate-playbook-stdout
don't write playbook stdout to sys.stdout (it's duplicated in log files)

Reviewed-by: awxbot
             https://github.com/awxbot
2019-04-05 15:50:17 +00:00
softwarefactory-project-zuul[bot]
161fd9cde0 Merge pull request #3460 from vismay-golwala/project_admin_issue
Project admin manual SCM Type creation bug fix

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 15:43:49 +00:00
softwarefactory-project-zuul[bot]
dc77ddbc5b Merge pull request #3617 from mabashian/jt-enter-toggle
Prevent on/off toggles from getting inadvertently trigged by enter key presses

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 15:31:02 +00:00
Alex Corey
a42a1bfa17 Addresses PR feedback 2019-04-05 11:29:48 -04:00
Ryan Petrello
81fe923577 don't write playbook stdout to sys.stdout (it's duplicated in log files)
this instructs runner to _not_ write to stdout when we invoke
runner.interface.run(); AWX consumes/ingests this strictly as events
2019-04-05 11:20:34 -04:00
softwarefactory-project-zuul[bot]
3521c56baf Merge pull request #3608 from mabashian/host-filter-quotes
Prevents replacing encoded quotes while searching against host filter

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 15:14:29 +00:00
softwarefactory-project-zuul[bot]
dd609b8a7c Merge pull request #3622 from wenottingham/roleing-roleing-roleing
Adjust descriptions of RBAC roles for clarity.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 15:09:42 +00:00
softwarefactory-project-zuul[bot]
ef1a5c09b6 Merge pull request #3510 from jbradberry/errors-on-change-password
Use Django's own logic to invalidate sessions of users when changing passwords

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 14:54:20 +00:00
Keith Grant
89ecddf662 refactor OrganizationTeams/OrganizationTeamsList 2019-04-05 10:52:52 -04:00
mabashian
fa3a41f25b Refresh the page after pendo flag changes to make change effective immediately 2019-04-05 10:48:53 -04:00
Alex Corey
de55ec1688 Add alert for org. delete. 2019-04-05 10:48:51 -04:00
softwarefactory-project-zuul[bot]
50c7807483 Merge pull request #3628 from marshmalien/fix-org-user-linkout
Fix Organization User badge linkout

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 14:37:53 +00:00
chris meyers
531d97d3b3 pickup insights system_id from ansible facts
* Continue to pick up facts from scan_insights.py
* This PR adds the ability to pickup facts from
/etc/ansible/facts.d/insights.facts
* Log what transport the insights system_id was found via
2019-04-05 10:35:56 -04:00
softwarefactory-project-zuul[bot]
d4c69429db Merge pull request #3624 from ryanpetrello/iso-cleanup-path-changes
update periodic isolated cleanup to match the new paths post-runner

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-05 14:25:18 +00:00
Marliana Lara
2062124a92 Merge pull request #149 from marshmalien/org-details-ig-show-more-less
Update Org Details UX layout
2019-04-05 10:04:20 -04:00
Marliana Lara
868ad51158 Set static value to const variable 2019-04-05 09:58:19 -04:00
Ryan Petrello
79d580d5b9 update periodic isolated cleanup to match the new paths post-runner 2019-04-05 09:43:27 -04:00
Marliana Lara
8302992a35 Fix Organization User badge linkout 2019-04-05 08:44:12 -04:00
softwarefactory-project-zuul[bot]
4f8b197b55 Merge pull request #3615 from ryanpetrello/platform-metrics
add some additional analytics metrics

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-04-05 00:50:04 +00:00
Ryan Petrello
5a4a812c73 specify --forks on isolated health check calls
this requires ansible-runner 1.3.2
2019-04-04 20:12:14 -04:00
Ryan Petrello
5c5173956d add some additional analytics metrics 2019-04-04 20:10:54 -04:00
softwarefactory-project-zuul[bot]
2423d9df44 Merge pull request #3626 from ryanpetrello/no_ln_py3
fix busted CI

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-04 23:15:42 +00:00
Ryan Petrello
ce2fc1a9dd fix more py3 centos7 issues 2019-04-04 18:35:59 -04:00
Matthew Jones
fd3a423b07 The python 3.6 package seems to already make this symlink 2019-04-04 18:35:56 -04:00
Jeff Bradberry
c6643946c5 Capture the redacted credential env vars separately
and then make use of them specifically to make safe the env vars
coming back from an isolated node.  This will allow us to capture the
safed versions of custom credential values, but without potentially
clobbering normal env var values that vary between the controller and
the node.
2019-04-04 15:22:27 -04:00
softwarefactory-project-zuul[bot]
6b422d3bb7 Merge pull request #3619 from ansible/headless
headless option added

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-04 18:46:32 +00:00
Jeff Bradberry
3f6d3506c6 Change the artifact file convention for isolated nodes to 'command'
since that's what landed in the ansible-runner PR.
2019-04-04 14:25:50 -04:00
Daniel Sami
ac11b3782b headless profile 2019-04-04 14:17:53 -04:00
Bill Nottingham
cfdecd7297 Adjust descriptions of RBAC roles for clarity. 2019-04-04 14:08:30 -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
softwarefactory-project-zuul[bot]
3f9fd3a3a8 Merge pull request #3618 from rooftopcellist/dashboard_sync_jobs
don't show implicit update jobs in dashboard

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-04 15:43:39 +00:00
Christian Adams
2493374d44 don't show implicit update jobs in dashboard 2019-04-04 11:04:27 -04:00
mabashian
7722f0ca08 Prevent on/off toggles from getting inadvertently trigged by enter key presses 2019-04-04 10:16:39 -04:00
softwarefactory-project-zuul[bot]
e3f10ebd65 Merge pull request #3501 from beeankha/timeout_upgrade
Upgrade Old Email Timeout Notifications

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-04 13:23:43 +00:00
Keith Grant
c2a223bbb4 delete unused method 2019-04-04 09:17:33 -04:00
softwarefactory-project-zuul[bot]
713b2c1bf2 Merge pull request #3603 from athenahealth/fix-some-docker-standalone-bits
Fix some docker standalone bits

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-04 13:11:44 +00:00
softwarefactory-project-zuul[bot]
00a9ae0e72 Merge pull request #3614 from AlexSCorey/2220-AdminBtnRBAC
Removes Add Organization Admin Button

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-04 13:03:43 +00:00
Alex Corey
6bcb471584 Removes Add Organization Admin Button 2019-04-04 08:13:40 -04:00
beeankha
f5ea595763 Enable timeout feature to remain functional after upgrade
Have the UI spinner fill with a default upon notification type change or
upgrade.
2019-04-03 19:06:11 -04:00
softwarefactory-project-zuul[bot]
1f1cb2bdac Merge pull request #3598 from rooftopcellist/index_event_expiry
add index for jobevent created

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-03 20:56:57 +00:00
mabashian
d9d3c5d15f Adds comment explaining logic following the split on empty string in splitFilterIntoTerms 2019-04-03 16:56:36 -04:00
mabashian
47d6e5c028 Prevents replacing encoded quotes while searching against host filter 2019-04-03 16:50:45 -04:00
Jeff Bradberry
467700e4bb Bring the check_callback back into the loop
but try to process it only once.
2019-04-03 16:04:07 -04:00
softwarefactory-project-zuul[bot]
cfa2eabb57 Merge pull request #3576 from marshmalien/feat-toolbar-sort-template-list
Add sort toolbar to template lists

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-03 19:32:38 +00:00
Jeff Bradberry
b4e508f72a Bring the check_callback call out of the loop
We shouldn't need to call it multiple times.
2019-04-03 15:12:29 -04:00
softwarefactory-project-zuul[bot]
2bda81661e Merge pull request #3592 from keithjgrant/code-mirror-fixes
Code Mirror: prevent console errors when CM parses invalid syntax

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-03 18:57:54 +00:00
Jeff Bradberry
b0f6d2214c Fix a typo: there is no method called check_callback on BaseTask 2019-04-03 14:57:02 -04:00
softwarefactory-project-zuul[bot]
c9bac0b51c Merge pull request #3594 from keithjgrant/407-job-launch-keyboard-nav
Job launch keyboard navigation improvements

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-03 18:51:24 +00:00
softwarefactory-project-zuul[bot]
487473f0d1 Merge pull request #3586 from AlanCoding/update_verbosity
Set ansible-inventory verbosity for Ansible 2.8

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-03 18:51:09 +00:00
Jeff Bradberry
4364e00117 Do the env vars redaction for isolated nodes on this side 2019-04-03 14:34:09 -04:00
Christian Adams
e033eb5aef add index for jobevent created 2019-04-03 14:27:22 -04:00
Marliana Lara
268d50a339 Update Org Details UX layout and add show more/less to instance groups field 2019-04-03 13:40:08 -04:00
Keith Grant
04bd4d973a Merge pull request #150 from keithjgrant/test-fix
update tests to match new ids
2019-04-03 13:38:01 -04:00
softwarefactory-project-zuul[bot]
bc169fe1cc Merge pull request #3572 from ansible/pagination-stuff
add pagination to user e2e

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-03 17:34:33 +00:00
Keith Grant
8700f32ffc fix tests eslintrc 2019-04-03 13:29:25 -04:00
Keith Grant
9781c22c3f update tests to match new ids 2019-04-03 13:16:29 -04:00
softwarefactory-project-zuul[bot]
c15502e581 Merge pull request #3601 from ryanpetrello/isolated-newline-strip
fix a bug in isolated OpenSSH key syncing

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-03 16:18:33 +00:00
Daniel Sami
45d5999bc2 add pagination to user e2e
lint
2019-04-03 12:11:28 -04:00
Ryan Petrello
78cd1abbb2 fix a bug in isolated OpenSSH key syncing
OpenSSH keys _must_ end with a \n to be accepted by ssh-add; enforce
a newline if there isn't one
2019-04-03 11:53:45 -04:00
Jeff Byrnes
e0861fee3a Update INSTALL docs re: docker-compose prereqs
As it turns out, the docker-compose Python module is
required, and docker-py doesn’t cut it.

Even more confusing, docker-compose Python module installs
the docker Python module, which conflicts with docker-py. To
avoid this, there are additional docs to call this out.
2019-04-03 11:52:10 -04:00
Jeff Byrnes
cb806b1699 Set docker_compose_dir like other inventory vars
When docker-compose become the sole method for using
Docker directly, some of this was shifted around in ways that
are inconsistent with other elements.

This adjusts it so that:

* The inventory variable default is set like the others, and
is less confusing
* We no longer mention the Standalone Docker in inventory
* We format our INSTALL docs w/r/t this var
2019-04-03 11:52:10 -04:00
softwarefactory-project-zuul[bot]
15b80cdb1a Merge pull request #3574 from AlexSCorey/265-JTLaunchResponsivness
Wraps launch template buttons

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
             https://github.com/AlexSCorey
2019-04-03 15:41:43 +00:00
softwarefactory-project-zuul[bot]
bf0f1f1496 Merge pull request #3546 from jlmitch5/fixLaunchButtonPositioning
move wf and jt form launch buttons to the left instead of the right

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-03 14:49:13 +00:00
Keith Grant
99b2350778 Merge pull request #144 from keithjgrant/120-add-org-form-cleanup
Refactor org add/edit forms with Formik
2019-04-03 09:15:03 -04:00
Keith Grant
0c63a57418 improve org form input ids 2019-04-03 09:13:26 -04:00
Keith Grant
dbe4417ac3 fix lint error 2019-04-03 08:59:14 -04:00
Alex Corey
c76e97cecf Wraps launch template buttons 2019-04-03 08:30:51 -04:00
softwarefactory-project-zuul[bot]
ce4e34eb28 Merge pull request #3597 from wenottingham/how-many-crypto-libs-does-one-cloud-stack-need
Don't use the `rsa` python lib.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-03 00:22:27 +00:00
Jeff Bradberry
32286a9d49 Change the artifact to also capture the actual envvars data 2019-04-02 17:10:26 -04:00
Bill Nottingham
ed0bb127e8 Don't use the rsa python lib. 2019-04-02 15:48:30 -04:00
Jeff Bradberry
cac48e7cfb Updated IsolatedManager to take a callback that captures the remote command 2019-04-02 15:40:56 -04:00
softwarefactory-project-zuul[bot]
96bd0f9d9e Merge pull request #3573 from AlanCoding/custom_empty_default
Change default to allow empty groups from custom sources

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-02 17:54:54 +00:00
Keith Grant
bc7472f3f1 remove unused parameter 2019-04-02 13:54:26 -04:00
Keith Grant
5b2f00b978 make Enter key navigate to next tab in launch modal 2019-04-02 13:26:31 -04:00
softwarefactory-project-zuul[bot]
3f73176ef2 Merge pull request #3098 from ansible/credential_plugins
Credential Plugins

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-02 16:19:00 +00:00
Jake McDermott
d987c6e3f7 mention usage with custom credential types in credential plugins doc 2019-04-02 11:24:59 -04:00
Jake McDermott
5d11400f6c replace unlinked fields before updating input sources
With credential type changes for linked credentials disabled, we can
update the unlinked credential fields first. If an error occurs when
updating the unlinked fields, no input sources will be changed.
2019-04-02 11:24:55 -04:00
Jake McDermott
6f43f223b2 update e2e credential checks 2019-04-02 11:24:52 -04:00
Jake McDermott
6b87241099 render non-editable linked credentials
We still want to show linked credentials even when a field is
non-editable.
2019-04-02 11:24:48 -04:00
Jake McDermott
0f6615d9cd make linked fields look disabled when disabled 2019-04-02 11:24:44 -04:00
Jake McDermott
9b55fa61de fix required field entry for object_query 2019-04-02 11:24:41 -04:00
Jake McDermott
165405ad3f include externally sourced input fields for injection 2019-04-02 11:24:36 -04:00
Jake McDermott
7ca92e4c1e prevent input source changes without use role on source cred
To update an input source, the user must have admin access
to the target credential and at least use role on the source
credential.
2019-04-02 11:24:32 -04:00
Jake McDermott
8c107a5fa8 prevent overflow in plugin test notifications 2019-04-02 11:24:14 -04:00
Jake McDermott
8b35ac89fc add timeouts to plugin backends 2019-04-02 11:24:11 -04:00
Jake McDermott
b90f9ac401 remove linked fields from validation loop
All linked fields are initially valid. All unlinked fields
are initially valid.
2019-04-02 11:24:07 -04:00
Jake McDermott
7a093de9fd add workaround for null cloud credential kind summary fields
job details summary field credentials have `null` for the
`kind` field so we can't map it to icon names. To work around
this, we now check the value of the `cloud` field when generating
the icon to use.
2019-04-02 11:24:04 -04:00
Jake McDermott
259fcdc5df don't initialize linked textarea fields as invalid 2019-04-02 11:24:00 -04:00
Jake McDermott
aa4575c92e update validation when input source is set 2019-04-02 11:23:57 -04:00
Jake McDermott
f0f4f487fb disable input source lookups when they can't be changed
If a user doesn't have permission to change an input field, we disable
the input field.
2019-04-02 11:23:53 -04:00
Jake McDermott
c4a79a778f add delete to input source user_capabilities 2019-04-02 11:23:50 -04:00
Jake McDermott
f611d4275f add use to credential user_capabilities 2019-04-02 11:23:46 -04:00
Jake McDermott
8c3dfe8655 remove input value arg from plugin example
The plugin backends no longer expect an input value as an argument
so we're removing it from the documented examples.
2019-04-02 11:23:42 -04:00
Jake McDermott
f9e081046c add object query fields 2019-04-02 11:23:39 -04:00
Jake McDermott
da9abc087e don't ignore choices param in input config
We always want to use choices if they're available in the input config
from the api. An input can sometimes have no type. Usually we'd throw an
error but we can still load a component if it defines a set of choices
to use instead of a type.
2019-04-02 11:23:35 -04:00
Jake McDermott
956f588fd8 generalize secret textarea hint 2019-04-02 11:23:28 -04:00
Jake McDermott
cb238c1f24 read cert from memory
Certificate data lives in the db. We're using a fifo here so we can avoid writing
it to disk when making the http request.
2019-04-02 11:23:24 -04:00
Jake McDermott
3dee9f0512 add plugin for cyberark aim 2019-04-02 11:23:20 -04:00
Jake McDermott
261a635005 remove non-matches from input source arrays 2019-04-02 11:23:17 -04:00
Jake McDermott
4f13592430 hide drag-and-drop textarea hints when showing input value as tag
You can't drag and drop or enter text when a text area is displaying its value
as a tag, so we hide the hint to avoid incorrectly suggesting that you can.
2019-04-02 11:23:13 -04:00
Jake McDermott
73c9d1b7a9 remove bootstrap fade from dialog component
This was breaking the fixed positioning of help popovers for form inputs
nested within the dialog so I'm replacing it.
2019-04-02 11:23:10 -04:00
Jake McDermott
8180a2060a rename at-easy-modal to at-dialog 2019-04-02 11:23:06 -04:00
Jake McDermott
dfaf19cdf3 use default action button class when fill and color props aren't given 2019-04-02 11:23:02 -04:00
Jake McDermott
ea9ed31f9d refactor metadata conversion function to use reduce 2019-04-02 11:22:59 -04:00
Jake McDermott
05226333ff move tag max height declaration to input tag wrapper
We don't want to apply max height to all tags, just the ones we embed
within text/textarea input fields.
2019-04-02 11:22:55 -04:00
Jake McDermott
5b79843390 use a shared variable for layout declarations 2019-04-02 11:22:51 -04:00
Jake McDermott
1eda939ce2 add tips for secret controls 2019-04-02 11:22:48 -04:00
Jake McDermott
43456d13c4 don't replace input source unless changed 2019-04-02 11:22:44 -04:00
Jake McDermott
215c3c87e5 enable input source linking for secret textarea fields 2019-04-02 11:22:41 -04:00
Jake McDermott
957804e22a enable input source linking for textarea fields 2019-04-02 11:22:37 -04:00
Jake McDermott
e14f17687c disable prompt-on-launch when input source is set 2019-04-02 11:22:34 -04:00
Jake McDermott
e0d61cfb8e enable input source linking for password fields 2019-04-02 11:22:30 -04:00
Jake McDermott
1344706095 add wrapper for text input tags 2019-04-02 11:22:27 -04:00
Jake McDermott
5c855b5bd1 add selected credential tray to input source lookup 2019-04-02 11:22:23 -04:00
Jake McDermott
6d0f2948aa don't show lookup until data is fetched 2019-04-02 11:22:20 -04:00
Jake McDermott
736bd2ed67 add validation for required values and metadata fields 2019-04-02 11:22:16 -04:00
Jake McDermott
47f31b41fb combine add and edit controllers 2019-04-02 11:22:12 -04:00
Jake McDermott
61eeb630f8 move org edit permission check to route resolve 2019-04-02 11:22:08 -04:00
Jake McDermott
7f55a1da0d move input value initialization to models 2019-04-02 11:22:05 -04:00
Jake McDermott
ceef7f57af add input source creation ui 2019-04-02 11:21:59 -04:00
Jake McDermott
393ad6b2f4 add cyberark conjur to tested credential types 2019-04-02 11:21:51 -04:00
Ryan Petrello
0768c6ac1d store the public key for HashiVault signing in the plugin metadata 2019-04-02 11:21:47 -04:00
Ryan Petrello
2824616ba6 add support for CyberArk Conjur (API v5) 2019-04-02 11:21:44 -04:00
Jake McDermott
c436dcf875 add input source prompting and plugin testing 2019-04-02 11:21:40 -04:00
Jake McDermott
0de8a89293 support input source metadata in plugin test apis 2019-04-02 11:21:36 -04:00
Ryan Petrello
81a509424a prefetch related source credentials in tasks.py 2019-04-02 11:21:33 -04:00
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
Jake McDermott
e2d474ddd2 document restriction of external-external credential source linking 2019-04-02 11:21:25 -04:00
Ryan Petrello
011d7eb892 clean up access to various CredentialInputSource fields (#3336) 2019-04-02 11:21:21 -04:00
Ryan Petrello
018ff91620 add related and summary fields to the CredentialInputSource endpoint 2019-04-02 11:21:17 -04:00
Ryan Petrello
368d933799 remove association behavior from /api/v2/credentials/input_sources/ 2019-04-02 11:21:14 -04:00
Jake McDermott
e9532dea8e cache dynamic input fields
Query dynamic input fields once on attribute access and then cache it for future use.
2019-04-02 11:21:10 -04:00
Ryan Petrello
b911f8bf77 allow creation at /api/v2/credential_input_sources 2019-04-02 11:21:06 -04:00
Ryan Petrello
e727909a61 rename the CredentialInputSource related_names so they're plural 2019-04-02 11:21:02 -04:00
Ryan Petrello
13366c1e75 Encrypt machine.ssh_public_key_data (in case users paste in signed data) 2019-04-02 11:20:58 -04:00
Ryan Petrello
ca6d124417 add API examples for supported credential plugins 2019-04-02 11:20:55 -04:00
Ryan Petrello
35cca68f04 add RBAC definitions for CredentialInputSource 2019-04-02 11:20:51 -04:00
Ryan Petrello
dcf17683e2 mark cred plugin strings for translation 2019-04-02 11:20:48 -04:00
Ryan Petrello
b851e2be4a don't add hvac as a dependency for hashicorp vault integration
hvac is just based on requests anyways, and it doesn't support half of
what we need (like the SSH secrets engine API)
2019-04-02 11:20:44 -04:00
Ryan Petrello
69368d874e move path parameterization to the CredentialInputSource model 2019-04-02 11:20:36 -04:00
Jake McDermott
0ee223f799 add api for testing credential plugins 2019-04-02 11:20:33 -04:00
Ryan Petrello
7a43f00a5d add support for HashiCorp signed SSH certificates 2019-04-02 11:20:29 -04:00
Ryan Petrello
4ed5bca5e3 add credential plugin support for Azure Key Vault 2019-04-02 11:20:26 -04:00
Ryan Petrello
0a87469225 give credential plugins an explicit namespace 2019-04-02 11:20:22 -04:00
Ryan Petrello
63997838cd support HashiCorp Vault versioned secrets (API v2) 2019-04-02 11:20:19 -04:00
Ryan Petrello
89b731a0cb Improve the HashiCorp Vault KV name and field labels/help_text 2019-04-02 11:20:15 -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
Keith Grant
e5f48bfa62 set focus on first input in modal when launching jt 2019-04-02 11:10:02 -04:00
softwarefactory-project-zuul[bot]
6e2c04e16c Merge pull request #3579 from ansible/revert-3575-update_preload_data
Revert "Add scm_branch while preloading data"

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-02 13:02:19 +00:00
softwarefactory-project-zuul[bot]
8f096d11b6 Merge pull request #3569 from ansible/inv_src_venv
Use inventory source model, as opposed to organization, for update custom virtualenv

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-02 12:16:50 +00:00
softwarefactory-project-zuul[bot]
b98bac0ee9 Merge pull request #3580 from ryanpetrello/py3-insights-error
fix a py3 compat issue in the insights action plugin

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-01 21:35:07 +00:00
Ryan Petrello
52a2ed2786 fix a py3 compat issue in the insights action plugin 2019-04-01 17:07:37 -04:00
Vismay Golwala
9710015a2f Revert "Add scm_branch while preloading data" 2019-04-01 16:56:19 -04:00
softwarefactory-project-zuul[bot]
b70c354dfc Merge pull request #3575 from vismay-golwala/update_preload_data
Add scm_branch while preloading data

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-01 20:39:46 +00:00
Keith Grant
e943ae59b7 auto-focus first input in jt launch modal 2019-04-01 15:49:41 -04:00
softwarefactory-project-zuul[bot]
6e8809fe72 Merge pull request #3528 from elyezer/e2e-users
Add auditor and admin params to user e2e

Reviewed-by: Elyézer Rezende
             https://github.com/elyezer
2019-04-01 19:30:39 +00:00
Elyézer Rezende
d2d1074e8b Add auditor and admin params to user e2e 2019-04-01 14:48:33 -04:00
softwarefactory-project-zuul[bot]
1bcda0a4cb Merge pull request #3529 from chrismeyersfsu/fix-inventory_update_deadlock
fixes inventory update deadlock

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-01 18:05:36 +00:00
Marliana Lara
4e4afb4a98 Add sorting to all occurrences of the Template list 2019-04-01 13:44:24 -04:00
AlanCoding
750c8d8a6d Set ansible-inventory verbosity for Ansible 2.8 2019-04-01 13:39:20 -04:00
Vismay Golwala
74e264a6a5 Add scm_branch while preloading data
Currently, the SCM url for default project is not able to
fetch playbooks as branch is not specified. So, adding the
scm_branch value resolves this issue.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-04-01 11:53:34 -04:00
softwarefactory-project-zuul[bot]
c508dc7d83 Merge pull request #3564 from wenottingham/paranormal-activity-stream
Management jobs don't produce activity stream entries; don't try and show them

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-04-01 15:23:35 +00:00
AlanCoding
ea355f6f8f change default to allow empty groups from custom sources 2019-04-01 10:53:06 -04:00
Keith Grant
95f5315fa3 prevent console errors when code mirror parses invalid syntax 2019-04-01 08:16:19 -04:00
mabashian
e99e97bcb8 Adds support for custom_virutalenv on inventory sources in the UI 2019-03-31 13:45:24 -04:00
softwarefactory-project-zuul[bot]
7b16931658 Merge pull request #2736 from AlanCoding/logstash_removal
Remove python-logstash dependency

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-31 02:35:45 +00:00
softwarefactory-project-zuul[bot]
e395b87a1b Merge pull request #3559 from chrismeyersfsu/fix-isolated_fact_cache
process host facts for iso runs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 20:44:04 +00: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
softwarefactory-project-zuul[bot]
21e5179a84 Merge pull request #3563 from shanemcd/secret-secret
Move secret key from configmap to secret

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 19:47:26 +00:00
Shane McDonald
298eaa0b32 Move secret key from configmap to secret 2019-03-29 15:24:50 -04:00
Bill Nottingham
17c0293065 Management jobs don't produce activity stream entries; don't try and show them. 2019-03-29 15:21:22 -04:00
AlanCoding
6f150f0362 Set inv src custom virtualenv directly on model 2019-03-29 14:37:28 -04:00
Keith Grant
3f2cc53992 fix tests eslintrc 2019-03-29 14:28:41 -04:00
Keith Grant
20f27f4062 make InstanceGroupsLookup tooltip customizable via prop 2019-03-29 14:22:09 -04:00
softwarefactory-project-zuul[bot]
71718ee2eb Merge pull request #3558 from ryanpetrello/index-job-status
index unified_job.status

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 18:14:53 +00:00
Keith Grant
40b88da9dd add FormRow component; rename unwrapped components with underscore 2019-03-29 13:50:17 -04:00
Ryan Petrello
7ef68a03c6 index unified_job.status
this is a fairly importantj column that we join on for a number of
queries throughout AWX, particularly the task scheduler and analytics
2019-03-29 12:59:43 -04:00
softwarefactory-project-zuul[bot]
bf3473d394 Merge pull request #3552 from ryanpetrello/final-isolated-cleanup
move awx.main.expect to awx.main.isolated

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 16:57:02 +00: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
Ryan Petrello
563a0cc2a4 move awx.main.expect to awx.main.isolated 2019-03-29 12:14:40 -04:00
softwarefactory-project-zuul[bot]
3007b9c66a Merge pull request #3518 from jbradberry/isolated-heartbeat
Make use of user-defined settings for defining the isolated nodes heartbeat

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 15:15:49 +00:00
softwarefactory-project-zuul[bot]
a4ec149344 Merge pull request #3555 from ryanpetrello/even-more-iso-fixes
fix a variety of bugs in isolated support

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 15:13:23 +00:00
Ryan Petrello
a59bc33280 slightly refactor isolated event consumption 2019-03-29 10:48:42 -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
Ryan Petrello
d663d397f8 clean up some isolated adhoc code
if it's adhoc, there's not project directory to copy
2019-03-29 10:31:56 -04:00
Ryan Petrello
546281d435 work around a bug where runner doesn't provide atomic event writes 2019-03-29 10:31:12 -04:00
softwarefactory-project-zuul[bot]
4e01b11577 Merge pull request #3503 from kialam/fix-3421-wf-viz-popover
Format jt details for popover use.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 13:59:07 +00:00
Kia Lam
d25f1d1357 Format jt details for popover use. 2019-03-29 09:22:15 -04: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
9160d91278 clean up old usage of idle_timeout
cmeyers and I looked at this and can't tell where/why/how you'd actually
set this setting - it looks like really old ~2014-2015 Tower history
that probably isn't actually in use
2019-03-28 17:31:32 -04:00
Ryan Petrello
ab11f18957 send an EOF event if isolated dispatch fails 2019-03-28 16:48:52 -04:00
Keith Grant
2002d48bcc minor tweaks 2019-03-28 16:44:44 -04: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
softwarefactory-project-zuul[bot]
1270949909 Merge pull request #3539 from AlanCoding/gce_huzzah
Use option to add back in gce_image hostvar

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-28 18:37:59 +00: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
softwarefactory-project-zuul[bot]
504b17b474 Merge pull request #3540 from ansible/ci-repairs
ci adjustments

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-03-28 17:52:02 +00:00
Keith Grant
6353d5e410 update tests for org add/edit refactor 2019-03-28 13:02:04 -04:00
Ryan Petrello
dd81f59d9a set PYTHONPATH properly for isolated usage of runner 2019-03-28 12:40:21 -04:00
Ryan Petrello
99478f5d25 replace our usage of pexpect in IsolatedManager with ansible-runner 2019-03-28 12:40:21 -04:00
John Mitchell
b3ad12f31a move wf and jt form launch buttons to the left instead of the right 2019-03-28 11:32:12 -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
John Mitchell
cc0fd6beb6 fix openDeleteModal with button test 2019-03-28 10:42:17 -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
Alex Corey
f3a07753e6 Add alert for org. delete. 2019-03-28 10:29:55 -04:00
Daniel Sami
ef3c0cfb38 ci adjustments
lint
2019-03-28 09:52:43 -04:00
Christian Adams
9a4439e731 collect jt table for analytics 2019-03-28 00:58:18 -04:00
softwarefactory-project-zuul[bot]
9479b1b824 Merge pull request #3535 from shanemcd/oops
Fix bug where init scripts didnt create the admin user correctly

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-28 00:39:05 +00: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
John Mitchell
70af2dd66b add ui for insights enablement 2019-03-27 19:54:25 -04:00
Christian Adams
40dbe70854 update setting wording & add instance-enabled field 2019-03-27 19:53:00 -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
636153d92c add insights setting, optimize and consolidate 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
Shane McDonald
fcf6b4ae45 Fix bug where init scripts didnt create the admin user correctly 2019-03-27 19:43:47 -04:00
softwarefactory-project-zuul[bot]
7b4c63037a Merge pull request #3523 from ryanpetrello/iso-cancel
properly handle isolated cancellation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-27 22:44:10 +00:00
softwarefactory-project-zuul[bot]
37a90320ec Merge pull request #3532 from jbradberry/double-jeopardy
Log errors directly from inventory_import.py only if running by hand

Reviewed-by: awxbot
             https://github.com/awxbot
2019-03-27 22:27:58 +00:00
Jeff Bradberry
a803e86a95 Log errors directly from inventory_import.py only if running by hand 2019-03-27 18:02:46 -04:00
chris meyers
cb4d55b47a fixes inventory update deadlock
* all inventory updates continue to occur in parallel up to the point
that they update the database with their results.
* the "funnel" is achieved by using a global per-inventory postgres
named lock
2019-03-27 16:52:07 -04:00
Keith Grant
64e933acb4 refactor out OrganizationForm; share between add & edit 2019-03-27 15:29:46 -04:00
Jeff Bradberry
e398a0ac5e Remove the isolated_heartbeat setup from settings/defaults.py 2019-03-27 14:12:42 -04:00
Michael Abashian
77ab6ec044 Merge pull request #142 from mabashian/upgrade-pf-2.9.2
Upgrade pf react-core to 2.9.2
2019-03-27 13:49:39 -04:00
softwarefactory-project-zuul[bot]
196a6ff36c Merge pull request #3525 from shanemcd/make-things-work
Fix docker-compose installs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-27 17:38:36 +00:00
Shane McDonald
c3ba851908 Fix docker-compose installs
In a series of unfortunate events, my patch yesterday didnt actually work. This fixes that.
2019-03-27 13:06:55 -04:00
softwarefactory-project-zuul[bot]
11223472d3 Merge pull request #3524 from kdelee/update_install_docs
update install docs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-27 16:26:03 +00:00
softwarefactory-project-zuul[bot]
d0a996b139 Merge pull request #3520 from ryanpetrello/runner131
pin runner 1.3.1

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-27 15:58:34 +00:00
Elijah DeLee
7dd635cd8d update install docs 2019-03-27 11:54:33 -04:00
softwarefactory-project-zuul[bot]
f715e4e410 Merge pull request #3519 from chrismeyersfsu/fix-iso_bwrap
runner expects process isolation flags in settings

Reviewed-by: awxbot
             https://github.com/awxbot
2019-03-27 15:49:24 +00:00
Ryan Petrello
a983d4bc1f properly handle isolated cancellation 2019-03-27 11:44:26 -04:00
John Mitchell
4e80f05cdf Merge pull request #136 from jlmitch5/addOrgTeamsList
add org teams list
2019-03-27 11:30:59 -04:00
Ryan Petrello
f7cffbfe5c pin runner 1.3.1 2019-03-27 11:23:25 -04:00
chris meyers
2329079326 runner expects process isolation flags in settings
* Towards the goal of converging the iso code path w/ the non-iso code
path. More process isolation control flags into settings.
2019-03-27 11:08:41 -04:00
Alex Corey
ae622c4875 Merge pull request #139 from AlexSCorey/138-updateFunctionName
Fixes function naming
2019-03-27 11:05:18 -04:00
Keith Grant
40b2539626 rework org edit form to use Formik 2019-03-27 10:49:10 -04:00
Jeff Bradberry
bc6df9cab8 Make use of user-defined settings for defining the isolated nodes heartbeat
Just in case the user has created custom settings files which set
AWX_ISOLATED_PERIODIC_CHECK.
2019-03-27 10:47:38 -04:00
softwarefactory-project-zuul[bot]
055e7b4974 Merge pull request #3515 from shanemcd/docker-compose-permissions
Fix permissions of sensitive files in docker-compose installation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-27 14:11:31 +00:00
Jeff Bradberry
efb4fb6fd0 Remove some no longer used imports 2019-03-27 10:06:13 -04:00
Jeff Bradberry
f2be4de544 Use Django's own logic to invalidate sessions of users when changing passwords
The key is django.contrib.auth.update_session_auth_hash(), which knows
how to inject a recalculated session hash back into the session if the
requesting user is changing their own password, in order to keep that
user logged in.
2019-03-27 10:06:13 -04:00
Shane McDonald
c44bf6f903 Allow for platform specific variables in docker-compose install
This changes the default docker_compose_dir on macos to a writeable location
2019-03-27 09:32:04 -04:00
Shane McDonald
a6d031f46f Fix permissions of sensitive files in docker-compose installation 2019-03-27 09:31:10 -04:00
AlanCoding
73f16b2bee Enable azure_rm inventory plugin 2019-03-27 09:27:10 -04:00
Alex Corey
a430b5bf9a fixes function naming to match our naming convention in the org. notifications. 2019-03-26 18:08:09 -04:00
John Mitchell
aeed1d8ee9 one org teams rename spelling issue 2019-03-26 17:06:43 -04:00
John Mitchell
5419434daa rename org teams functions based on guide 2019-03-26 17:04:34 -04:00
softwarefactory-project-zuul[bot]
2129f12085 Merge pull request #3505 from shanemcd/devel
Address CVE-2019-3869

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-26 19:38:28 +00: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
Shane McDonald
2b6cf97157 Do not set credentials via environment variables 2019-03-26 15:13:28 -04:00
Shane McDonald
07e5a00f14 Remove “standalone Docker” installation path
This has been a burden to maintain. docker-compose is now required
2019-03-26 15:13:28 -04:00
softwarefactory-project-zuul[bot]
1b0f5b05ad Merge pull request #3502 from marshmalien/feat-toolbar-sort-instance-modal-list
Feat toolbar sort instance modal list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-26 18:57:24 +00:00
softwarefactory-project-zuul[bot]
5ff4625eb1 Merge pull request #3280 from AlanCoding/playbook_dir
Set --playbook-dir in calls to ansible-inventory

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-26 18:53:12 +00:00
Marliana Lara
1829e7cad4 Add sort toolbar to instance modal 2019-03-26 14:34:33 -04:00
AlanCoding
e097f5a021 implement playbook-dir option in ansible-inventory calls 2019-03-26 14:09:08 -04:00
softwarefactory-project-zuul[bot]
caa5596386 Merge pull request #3320 from vismay-golwala/custom_venvs
Feature: custom virtual environment directories

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-26 16:26:50 +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
mabashian
9b314a6f2f Upgrade pf react-core to 2.9.2 2019-03-26 11:49:41 -04:00
softwarefactory-project-zuul[bot]
0814a9c4a1 Merge pull request #3266 from ansible/inventory_plugins
Transition to inventory plugins

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2019-03-26 15:14:27 +00:00
Marliana Lara
0a1b220f56 Link to instances list via sref directive 2019-03-26 10:35:22 -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
Jim Ladd
dd854baba2 Add support for Azure inventory plugin 2019-03-26 10:29:39 -04:00
Jim Ladd
7cce3cad06 Add support for ec2 inventory plugin 2019-03-26 10:29:38 -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
Jim Ladd
d46a403a49 GCE plugin should not set any regions when 'all' specified 2019-03-26 10:29:38 -04:00
Jim Ladd
de808d4911 Only install futures on py2 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
softwarefactory-project-zuul[bot]
90ea9a8cc4 Merge pull request #3500 from Spredzy/etc_ssh
bwrap/runner: Add /etc/ssh in bind mounted folder

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-26 12:27:43 +00:00
softwarefactory-project-zuul[bot]
b09bca54b7 Merge pull request #3499 from rooftopcellist/content-oauth
update content-type for oauth2 docs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-26 12:07:32 +00: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
Christian Adams
c3366db5ca update content-type for oauth2 docs 2019-03-25 23:55:56 -04:00
softwarefactory-project-zuul[bot]
07a9cd106e Merge pull request #3494 from ryanpetrello/more-iso
more iso cleanup and bug fixes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-25 23:21:06 +00:00
Ryan Petrello
b2a1824d21 store set_stat data for isolated job runs 2019-03-25 18:53:42 -04:00
softwarefactory-project-zuul[bot]
303443796e Merge pull request #3458 from marshmalien/feat-toolbar-sort-user-tokens
Add sort to User Tokens list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-25 22:25:55 +00:00
Ryan Petrello
495dc2202f more iso cleanup and bug fixes 2019-03-25 17:47:58 -04:00
softwarefactory-project-zuul[bot]
33f5200a20 Merge pull request #3497 from ryanpetrello/whoops-dot-js
remove an errant console.log

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-25 19:59:47 +00:00
Keith Grant
02cd188c2f rename onX methods to handleX 2019-03-25 15:40:20 -04:00
Ryan Petrello
8674e3b4de remove an errant console.log 2019-03-25 15:24:34 -04:00
softwarefactory-project-zuul[bot]
ace459cf70 Merge pull request #3447 from beeankha/node_activity_stream
WFJT Node Activity Stream Bug Fix

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-25 19:23:27 +00:00
softwarefactory-project-zuul[bot]
d0c952692d Merge pull request #3481 from ryanpetrello/minor-runner-cleanup
Minor post-runner cleanup

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-25 16:57:15 +00:00
Ryan Petrello
af8e071840 remove old callback plugin code and tests 2019-03-25 12:26:51 -04:00
Ryan Petrello
e6abd77c96 remove py2 compatability from awx.main.expect.run
this module is no longer run on isolated nodes (they use runner now)
2019-03-25 12:26:47 -04:00
Ryan Petrello
42bfff301c remove python-memcached as a base dependency for playbook execution 2019-03-25 12:26:44 -04:00
Keith Grant
f3a6da20f6 create InstanceGroupsLookup for org add/edit forms 2019-03-25 11:59:14 -04:00
Keith Grant
f0c94c7e9c stub api in org add/edit tests 2019-03-25 11:56:29 -04:00
Marliana Lara
0aff1a2c75 Add sort to users tokens list 2019-03-25 11:18:18 -04:00
Keith Grant
685f4018f2 improve verbiage in activity stream for associating/disassociating wf nodes 2019-03-25 10:59:24 -04:00
softwarefactory-project-zuul[bot]
1dff691830 Merge pull request #3468 from kialam/fix-groups-list-view
Fix 'Groups' list item styling.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-25 14:54:25 +00:00
softwarefactory-project-zuul[bot]
525021214c Merge pull request #3483 from keithjgrant/inventory-vars-popout
Inventory vars popout round 2 (codemirror)

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-22 20:27:13 +00:00
softwarefactory-project-zuul[bot]
c12c64f5e7 Merge pull request #3484 from shanemcd/devel
Fix python3 offline installs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-22 18:31:05 +00:00
Shane McDonald
0eaeadad87 Fix python3 offline installs 2019-03-22 13:30:09 -04:00
softwarefactory-project-zuul[bot]
eb5846d1be Merge pull request #3482 from chrismeyersfsu/fix-iso_ident
do not generate a random ident

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-22 16:43:04 +00:00
chris meyers
87e1ba4dea do not generate a random ident
* instead, set the ident passed to ansible runner to be the job id. That
way, on we know what directory to look in for results when the directory
structure is created.
2019-03-22 12:19:42 -04:00
softwarefactory-project-zuul[bot]
a9427dbf1b Merge pull request #3459 from beeankha/email_timeout_option
Provide Default Email Timeout Value

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-22 15:37:02 +00:00
Keith Grant
e96e1e925c update e2e test for codemirror change 2019-03-22 11:30:31 -04:00
Keith Grant
7476fefd65 fix codemirror in add host, add inventory, and workflow job details 2019-03-22 10:11:18 -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]
9480f911b2 Merge pull request #3471 from ansible/add_dev_supervisor
Install supervisor into the dev environment

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-21 20:39:03 +00:00
beeankha
d7fc3f53b8 Update indentation 2019-03-21 16:14:56 -04:00
Matthew Jones
91cbaa1096 Install supervisor into the dev environment 2019-03-21 15:58:24 -04:00
beeankha
3e13eff7f4 Change serializer to take in init paramdefault value 2019-03-21 15:22:34 -04:00
softwarefactory-project-zuul[bot]
a562994b64 Merge pull request #3466 from ryanpetrello/libcloud-minus-pycrypto
pin apache-libcloud to a version that doesn't use PyCrypto

Reviewed-by: Matthew Jones <mat@matburt.net>
             https://github.com/matburt
2019-03-21 18:59:28 +00:00
kialam
1cb2a95a47 Merge pull request #137 from ansible/document-naming-functions
Update contributing doc
2019-03-21 14:26:12 -04:00
Ryan Petrello
b02d9ae282 pin apache-libcloud to a version that doesn't use PyCrypto
once a new version lands on PyPI, we'll pin to _it_
2019-03-21 14:21:04 -04:00
Kia Lam
57820b7056 Fix 'Groups' list item styling. 2019-03-21 13:44:56 -04:00
John Mitchell
7e414ace5a add org teams list 2019-03-21 13:12:12 -04:00
Kia Lam
e3a6a20049 Update contributing doc to include:
- Method naming convention
- Initial Empty State convention
2019-03-21 12:51:23 -04: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
softwarefactory-project-zuul[bot]
9aa9524257 Merge pull request #3440 from marshmalien/feat-toolbar-sort-instances-list
Add sort and pagination to instances list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-21 16:19:50 +00:00
softwarefactory-project-zuul[bot]
af5a898919 Merge pull request #3433 from jlmitch5/lookupEnhancement
hide rows from lists where adding would be redundant

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-21 15:09:17 +00:00
softwarefactory-project-zuul[bot]
a04329efed Merge pull request #3453 from marshmalien/feat-toolbar-sort-application-tokens-list
Add sort to application tokens list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-21 14:58:52 +00:00
Keith Grant
a0b2ce3ef1 Merge pull request #3451 from keithjgrant/inventory-vars-popout
Host/Inventory vars popout (code mirror)
2019-03-21 10:55:12 -04:00
mabashian
b394766075 Show manual project path when available 2019-03-21 10:45:16 -04:00
softwarefactory-project-zuul[bot]
cd62f39bce Merge pull request #3219 from mickfeech/devel
update documentation to include kuberentes initContainers

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-21 14:36:17 +00:00
chris meyers
b7b97dd58d doc update fix 2019-03-21 09:26:59 -04:00
beeankha
1d03625b27 Remove comment from serializer 2019-03-21 09:08:36 -04:00
softwarefactory-project-zuul[bot]
af55c4c05e Merge pull request #3455 from ansible/websockets-again
e2e fixtures and WS

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-21 12:51:26 +00:00
chris meyers
0a670e8db1 change from runner master to runner 1.3 2019-03-21 07:46:11 -04:00
Keith Grant
cf62fa67bd add links to activity stream for workflow_job_template_node 2019-03-20 17:00:42 -04:00
mickfeech
3c382322b0 Fix misspelled word 2019-03-20 16:33:02 -04:00
mickfeech
f4ef3024fd Merge branch 'devel' of https://github.com/mickfeech/awx into devel 2019-03-20 16:30:55 -04:00
Unknown
67ca2fa335 update documentation to include kuberentes initContainers
Update documentation to include Kubernetes initContainers in custom virtualenvs
2019-03-20 16:25:49 -04:00
beeankha
c9ac805eed [WIP] Provide Default Email Timeout Value 2019-03-20 16:17:48 -04:00
softwarefactory-project-zuul[bot]
f40b637efc Merge pull request #3457 from AlexSCorey/3300-JTCreationPermissionOnDashboard
Shows the button the add a JT to users with permissions to make JTs.

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
             https://github.com/AlexSCorey
2019-03-20 20:16:37 +00:00
chris meyers
60ef160e85 flake8 fix 2019-03-20 16:12:45 -04:00
Vismay Golwala
df11a7fd3d Project admin manual SCM Type creation bug fix
There was a bug in tower where project admin was not allowed to create
a project with manual SCM type. This was because, the project base dir
was only set from `settings.PROJECTS_ROOT`, if the user role was either
admin or auditor. This has been updated by also allowing it to set when
user is a project admin.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-03-20 16:01:33 -04:00
AlanCoding
1ae4ed4922 migrate python-logstash license 2019-03-20 15:29:06 -04:00
AlanCoding
8a72a4d39d Prune the python2 specific logic from log formatter 2019-03-20 15:29:06 -04:00
AlanCoding
127495b53d remove things from base class that were never used 2019-03-20 15:29:05 -04:00
AlanCoding
017d367749 Remove dependency and insert class 2019-03-20 15:29:05 -04:00
Alex Corey
be507dbefb Shows the button the add a JT to users with permissions to make JTs. 2019-03-20 14:55:28 -04:00
chris meyers
8c26f20188 add license files for python modules
* python-daemon
* ansible-runner
2019-03-20 14:51:41 -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
Keith Grant
8e48a3a523 interpret empty codemirror json content as empty object 2019-03-20 13:51:10 -04:00
Daniel Sami
b26c8f6b62 e2e adjustments for fixtures and WS
lint adjustment
2019-03-20 12:55:37 -04:00
softwarefactory-project-zuul[bot]
68d7532d01 Merge pull request #3452 from wenottingham/where-did-you-come-from
Add originating address for the failed login message

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-20 16:18:42 +00:00
Keith Grant
e9cf1475ca de-lint 2019-03-20 11:45:51 -04:00
Bill Nottingham
1b3ae50076 Add originating address for the failed login message 2019-03-20 11:34:35 -04:00
John Mitchell
7791c5f5ba hide groups that host is already associated with on relevant lists 2019-03-20 11:34:05 -04:00
Marliana Lara
19abd24c91 Add sort to application tokens list 2019-03-20 11:30:56 -04:00
softwarefactory-project-zuul[bot]
b2ae68850c Merge pull request #3449 from elyezer/users-e2e
users e2e

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-20 15:28:57 +00:00
chris meyers
1a6ae6e107 allow for runner setting parent_uuid
* Previously, parent_uuid was expected only on events generated for a
Job run. Now, there maybe a parent_uuid for any job type. AWX does not
support parenting events for any job type other than Job.
2019-03-20 11:05:01 -04:00
Keith Grant
86c7fd3b5d codemirror: sync data when closing modal by clicking outside 2019-03-20 11:01:42 -04:00
Michael Abashian
7bd8234edf Merge pull request #135 from mabashian/upgrade-pf
Upgrades pf deps to latest
2019-03-20 10:53:10 -04:00
Elyézer Rezende
46ad3fa7b1 users e2e 2019-03-20 09:48:25 -04:00
chris meyers
060585434a update tests 2019-03-20 09:44:38 -04:00
Keith Grant
2657779eda cleanup comments 2019-03-20 08:56:42 -04:00
Keith Grant
ac890b8cda don't show code-mirror tooltip icon if no tooltip provided 2019-03-20 08:36:53 -04:00
Keith Grant
b6d8f9c6f6 use code-mirror directive for host facts 2019-03-20 08:36:52 -04:00
Keith Grant
5583af2a58 form generator: add ng-disabled support to code mirror fields 2019-03-20 08:36:52 -04:00
Keith Grant
2ee6713050 centralize variable parsing logic in code mirror directive 2019-03-20 08:36:52 -04:00
Keith Grant
b28409c1c7 fix saving inventory variables 2019-03-20 08:36:52 -04:00
Keith Grant
ac5dec272b code-mirror: keep yaml/json in sync when opening modal 2019-03-20 08:36:52 -04:00
Keith Grant
33b19ebe1f code-mirror: keep yaml/json setting in sync with modal 2019-03-20 08:36:52 -04:00
Keith Grant
5d3e39beac add use code-mirror directive for host variables; fix multiple code-mirrors on page at once 2019-03-20 08:36:52 -04:00
mabashian
bed63b3690 Work on getting extra vars popout working on inv form 2019-03-20 08:36:52 -04:00
Keith Grant
43ef4183df trying to make codemirror editable 2019-03-20 08:36:52 -04:00
mabashian
d30aed9231 Upgrades pf deps to latest 2019-03-19 16:41:26 -04:00
softwarefactory-project-zuul[bot]
74869494f9 Merge pull request #3441 from AlexSCorey/3258-workflowDisplay
makes the card for the workflow display taller

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-19 19:25:27 +00:00
Alex Corey
bd4337976e makes the card for the workflow display taller 2019-03-19 15:02:05 -04:00
Michael Abashian
c288c5fcbe Merge pull request #134 from mabashian/toolbar-refactor-v2
Refactor of DataListToolbar v2
2019-03-19 14:16:04 -04:00
mabashian
fc80470e5d Normalize event callback function names in search and sort components 2019-03-19 14:01:39 -04:00
mabashian
3596d776fc Refactor of DataListToolbar. Creates a number of smaller components used by the toolbar. Adds support for passing in an add button node to the toolbar. 2019-03-19 14:01:39 -04:00
John Mitchell
50079c0441 fix issue where pagination would lose role filter 2019-03-19 12:52:59 -04:00
John Mitchell
f3173dbe26 address pr and product feedback 2019-03-19 12:08:36 -04:00
beeankha
a1dd5a4e19 WIP WFJT Node Activity Stream Bug Fix 2019-03-19 11:29:19 -04:00
John Mitchell
52e86cf0c3 hide rows from lists where adding would be redundant 2019-03-19 10:30:31 -04:00
softwarefactory-project-zuul[bot]
3d9a47f0d9 Merge pull request #3424 from falencastro/devel
Makes daphne websocket_timeout infinite.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-19 12:08:50 +00:00
chris meyers
5135b8a969 fixup unit tests for tasks 2019-03-18 14:21:47 -04:00
chris meyers
8a04c22b2b point at another runner branch
* revert parent_uuid because it causes problems with unexpected
parameter on event creation for some event type.
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
Ryan Petrello
602ef9750f update isolated task execution for ansible-runner 2019-03-18 14:21:47 -04:00
chris meyers
8fb65b40de use ansible runner to run playbooks
* Project Updates
* Jobs
* Inventory Updates
* System Jobs
* AdHoc Commands

* Notifications
* Fact Cache
* proot
2019-03-18 14:21:47 -04:00
chris meyers
a7cda95803 init ansible-runner requirements 2019-03-18 14:21:47 -04:00
Marliana Lara
bb33ed6415 Add sort and pagination to instances list 2019-03-18 13:36:58 -04:00
softwarefactory-project-zuul[bot]
358ad05e51 Merge pull request #3439 from beeankha/notification_doc
Make edit to Notification doc

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-18 15:54:25 +00:00
beeankha
74c84bd7df Update email section of Notification doc 2019-03-18 11:28:57 -04:00
softwarefactory-project-zuul[bot]
62e1d5fdd2 Merge pull request #3435 from AlexSCorey/3421-fixInventoryGroupColumnV2
Fix inventory column  width issues to make their contents readable

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-18 14:26:17 +00:00
kialam
dbeef0a823 Merge pull request #123 from ansible/access-list-remove-role-functionality
Org Access List: add remove role functionality
2019-03-18 10:25:56 -04:00
Alex Corey
b8beb1c64e Fix invetory column width issues to make their contents readable 2019-03-18 09:57:42 -04:00
Shane McDonald
14d86ef5d3 Merge pull request #3426 from sugitk/patch-1
propose the change translation in Japanese
2019-03-18 09:36:42 -04:00
Kia Lam
a4493cd02b Add empty initial states and adjust rendering logic. 2019-03-18 09:32:11 -04:00
softwarefactory-project-zuul[bot]
9ab7752d32 Merge pull request #3416 from Spredzy/urllib_parse
plugins/tower.py: Use urllib.parse rather than urlparse

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-18 13:16:29 +00:00
Yanis Guenane
3a4f56bb2b plugins/tower.py: Use urllib.parse rather than urlparse
urlparse does not exist in python3, it has been replaced by urllib.parse

Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2019-03-18 09:43:24 +01:00
softwarefactory-project-zuul[bot]
8f1c20423b Merge pull request #3222 from beeankha/timeout_config
Add Timeout Feature to Email Notification Template

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-16 12:46:17 +00:00
softwarefactory-project-zuul[bot]
6fd5f9c6d8 Merge pull request #3425 from ryanpetrello/dispatcher-stop-log
send callback receiver log lines to the correct logger

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-15 15:20:50 +00:00
softwarefactory-project-zuul[bot]
6b187946fb Merge pull request #3370 from vismay-golwala/scroll_top
UI - scroll to top in pagination

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-15 13:42:04 +00:00
softwarefactory-project-zuul[bot]
d54f633a7b Merge pull request #3401 from marshmalien/feat-toolbar-sort-applications-list
Add sort toolbar to applications list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-15 13:32:17 +00:00
softwarefactory-project-zuul[bot]
d0571c2cab Merge pull request #3408 from marshmalien/feat-toolbar-sort-instance-groups-list
Add sort toolbar to instance groups list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-15 13:21:08 +00:00
Ryan Petrello
32ee9838af use the correct logger for the callback receiver
the callback receiver and dispatcher share several modules, so add logic
to use the correct logger
2019-03-15 08:09:47 -04:00
softwarefactory-project-zuul[bot]
c41068edc4 Merge pull request #3420 from baxeno/https_download_postgresql_rpm
docker: yum: use https for postgresql pgdg rpm download

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-15 12:04:21 +00:00
Takashi Sugimura
f2548c5e66 #3415 propose the change translation in Japanese
regarding https://github.com/ansible/awx/issues/3415
2019-03-15 08:27:41 +09:00
beeankha
66a52655df Change email notification success/fail messages and add a timeout feature 2019-03-14 16:37:22 -04:00
Vismay Golwala
32dbe3f86a UI - scroll to top in pagination
Currently in pagination, when we switch from one page to another,
the view is stuck at the bottom and is slightly inconvenient to
scroll all the way to top, in potentially a large list of records.
So in order to prevent that, this commit sets automatic scroll to
top while switching between pages, using jQuery's animate and
scrollTop methods.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-03-14 16:35:30 -04:00
softwarefactory-project-zuul[bot]
c6ae7d84a2 Merge pull request #3417 from AlexSCorey/3395-deleteLongGroupName
Fixes issue with inventory group names that are extremely long.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-14 20:17:49 +00:00
Felipe Alencastro
7d384262e4 Makes daphne websocket_timeout infinite.
Daphne has a default timeout of 86400 seconds, so after 1 day of starting
awx_web container, the stdout stops refreshing automatically on the web UI.
This fixes this issue by making the timeout infinite, so the connection
between nginx and daphne's websocket never closes.
2019-03-14 17:17:09 -03:00
softwarefactory-project-zuul[bot]
64debd7230 Merge pull request #3423 from kdelee/update_git_repo_for_tests
Update reference to test playbooks

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-14 20:13:12 +00:00
Elijah DeLee
d39cfd1778 Update reference to test playbooks 2019-03-14 14:33:16 -04:00
Bruno Thomsen
2e0edcbabd docker: yum: use https for postgresql rpm download.
Signed-off-by: Bruno Thomsen <bruno.thomsen@gmail.com>
2019-03-14 17:14:17 +01:00
Alex Corey
2650cbfc87 Fixes issue with inventory group names that are extremely long. 2019-03-14 11:16:08 -04:00
Kia Lam
a5683fb354 Clear mocked methods after each test to prevent overlaps with other tests. 2019-03-14 10:41:28 -04:00
Kia Lam
518ecee53e Apply padding to Alert component. 2019-03-14 10:35:54 -04:00
softwarefactory-project-zuul[bot]
df72a01f27 Merge pull request #3412 from AlanCoding/put_down_the_dispatcher
Run computed fields once for bulk delete requests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-14 00:05:09 +00:00
Kia Lam
6bd5ee4201 Move test for AccessList. 2019-03-13 17:12:16 -04:00
Kia Lam
390832cc1a Rename AccessList to OrganizationAccessList and fix paths. 2019-03-13 16:46:50 -04:00
Kia Lam
c6d810621f Move AccessList out of components directory.
- The AccessList component is pretty specific to the Organization component, and given the structure and methods within it, is pretty context-specific and not a good candidate to be a re-useable component.
2019-03-13 16:37:03 -04:00
Alex Corey
0f6a40014e Merge pull request #129 from AlexSCorey/paginationTest
add pagination test
2019-03-13 16:21:01 -04:00
Alex Corey
91e4679311 adds test to ensure page size option dropdown is removed is no page size option is passed in. 2019-03-13 16:19:59 -04:00
Kia Lam
0495214f47 Address PR feedback. 2019-03-13 15:59:42 -04:00
Kia Lam
21156d1409 Merge remote-tracking branch 'origin' into access-list-remove-role-functionality 2019-03-13 15:43:30 -04:00
AlanCoding
7cf2bc2410 Run computed fields once for bulk delete requests 2019-03-13 15:37:01 -04:00
Kia Lam
198dfe7f2e Add unit test to check state when user tries to delete a role. 2019-03-13 14:44:12 -04:00
softwarefactory-project-zuul[bot]
a63a204a21 Merge pull request #3409 from ansible/thedoubl3j-patch-1
typo in inventory

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-13 18:43:59 +00:00
Keith Grant
e1ebcd51b0 Merge pull request #131 from keithjgrant/add-org-ux-improvements
UX improvements for Add Organization screen
2019-03-13 13:36:46 -04:00
softwarefactory-project-zuul[bot]
928de6127b Merge pull request #3411 from AlexSCorey/3337-brokenDockLink
fixes broken documentation link

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-13 14:47:48 +00:00
Keith Grant
fe5821eb15 Merge pull request #132 from keithjgrant/org-notification-spacing
increase space next to organization notifications
2019-03-13 08:37:03 -04:00
Alex Corey
85eca47a93 fixes broken documentation link 2019-03-12 16:37:15 -04:00
Keith Grant
24f0fe2980 increase space next to organization notifications 2019-03-12 16:04:22 -04:00
Keith Grant
188eaede43 switch to PatternFly Tooltip everywhere 2019-03-12 15:24:36 -04:00
softwarefactory-project-zuul[bot]
99c8c4bf2b Merge pull request #3410 from ryanpetrello/fix-swagger-doc-builds
fix a failing test in the unit-test target used to generate swagger docs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-12 19:23:40 +00:00
John Mitchell
bbb31eb478 fix pagination page input and componentDidUpdate tests 2019-03-12 15:03:21 -04:00
Ryan Petrello
50d8eb30e1 fix a failing test in the unit-test target used to generate swagger docs 2019-03-12 14:59:24 -04:00
Alex Corey
d96b88e495 add pagination test 2019-03-12 12:28:42 -04:00
softwarefactory-project-zuul[bot]
b1d9b14ab1 Merge pull request #3403 from shanemcd/ootpa
Working out some python3 kinks

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-12 16:00:45 +00:00
Marliana Lara
56b3d6c79b Add sort toolbar to instance groups list 2019-03-12 11:56:26 -04:00
Jake Jackson
9e528ea898 typo in inventory
simple typo fix `this` -> `these`
2019-03-12 11:48:41 -04:00
Keith Grant
601214f6d4 add close (x) button to Add Org screen 2019-03-12 11:48:29 -04:00
Shane McDonald
e09684462c Working out some python3 kinks 2019-03-12 11:27:50 -04:00
softwarefactory-project-zuul[bot]
22c4b28917 Merge pull request #3404 from ryanpetrello/fix-missing-swagger-endpoints
generate Swagger schemas as if view permissions didn't matter

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-12 15:09:52 +00:00
softwarefactory-project-zuul[bot]
9d0a8d2047 Merge pull request #3377 from mabashian/root-all-groups-toggle
Adds toggle for all/root groups to inventory groups view

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-12 14:09:45 +00:00
Keith Grant
5b3f5206c4 add tooltips to add organization form 2019-03-12 08:58:12 -04:00
Ryan Petrello
023fbc931d generate Swagger schemas as if view permissions didn't matter
this fixes several scenarios where certain POST endpoints don't show up
in our generated Swagger doc; /api/swagger is only
discoverable/accessible in the development environment where we generate
the schema
2019-03-11 21:26:32 -04:00
softwarefactory-project-zuul[bot]
c3ae700888 Merge pull request #3402 from AlexSCorey/3238-addFirstNameLastNameonUsersTeamList
add first name and last name to the headers row of the teams users list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-11 20:25:36 +00:00
Marliana Lara
ee6445d620 Update dataset from event listener instead of queryset search method 2019-03-11 15:08:53 -04:00
Keith Grant
ecb7306c46 Adding organization: add inputs helper text 2019-03-11 14:41:46 -04:00
Alex Corey
8fb7cb6e82 add first name and last name to the headers row of the teams users list 2019-03-11 14:16:26 -04:00
Marliana Lara
b55212368b Add sort toolbar to applications list 2019-03-11 13:44:21 -04:00
softwarefactory-project-zuul[bot]
649d854225 Merge pull request #3394 from jbradberry/update-become-methods-list
Add the ksu, machinectl, and sesu methods to the builtin list of become methods

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-11 15:25:31 +00:00
Kia Lam
3b65068258 Add remove role functionality. 2019-03-08 13:56:27 -05:00
softwarefactory-project-zuul[bot]
fb1d918c2d Merge pull request #3391 from Spredzy/add_etc_ssh_in_ro_bind
bwrap: Add /etc/ssh in bind mounted folder

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-08 17:46:17 +00:00
Jeff Bradberry
e8d93c99a6 Add the ksu, machinectl, and sesu methods to the builtin list of become methods 2019-03-08 11:14:18 -05:00
softwarefactory-project-zuul[bot]
b54ec6b9c8 Merge pull request #3389 from keithjgrant/launch-tooltips
add tooltips for fields prompted on launch

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-08 16:12:59 +00:00
Keith Grant
3acb474b19 de-dupe element ids 2019-03-08 10:16:42 -05:00
softwarefactory-project-zuul[bot]
2e0d381f8f Merge pull request #3386 from jbradberry/org-limits-message
Update the error message when exceeding the organization hosts limit

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-08 15:09:04 +00:00
Yanis Guenane
7eb483d810 bwrap: 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.
2019-03-08 15:20:53 +01:00
softwarefactory-project-zuul[bot]
7b570b59c6 Merge pull request #3367 from marshmalien/feat-toolbar-sort-jobs-list
Add toolbar sort to Jobs lists

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-08 14:18:15 +00:00
Keith Grant
09f9204917 add tooltips for fields prompted on launch 2019-03-07 16:27:01 -05:00
Jeff Bradberry
2a8e6ecba1 Update the error message when exceeding the organization hosts limit 2019-03-07 14:13:54 -05:00
Marliana Lara
abb221d942 Stretch Layout container to full height 2019-03-07 13:44:15 -05:00
softwarefactory-project-zuul[bot]
c8fdf46dda Merge pull request #3360 from jlmitch5/addUnsavedWorkflowChanges
add unsaved workflow changes flow

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-07 18:37:19 +00:00
softwarefactory-project-zuul[bot]
a9226fc25f Merge pull request #3375 from shanemcd/devel
Fix dev environment when running as root on the host

Reviewed-by: Matthew Jones <mat@matburt.net>
             https://github.com/matburt
2019-03-07 17:20:32 +00:00
softwarefactory-project-zuul[bot]
67eba3cf5c Merge pull request #3381 from matburt/revert_xlib_deps
Revert xlib deps

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-07 16:03:33 +00:00
softwarefactory-project-zuul[bot]
20b8cdfb3d Merge pull request #3382 from jakemcdermott/devdocs
update docs for development environment

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2019-03-07 15:58:07 +00:00
softwarefactory-project-zuul[bot]
1dcb7591c5 Merge pull request #3363 from mabashian/dashboard-dropdowns
Fix dashboard dropdowns after bootstrap upgrade

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-07 15:38:11 +00:00
Jake McDermott
bca9735534 update docs for development environment 2019-03-07 10:30:31 -05:00
softwarefactory-project-zuul[bot]
f95576764d Merge pull request #3373 from AlexSCorey/2960-addTemplateTitlePromptDiag
add template name to launch prompt modal.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-07 15:21:45 +00:00
softwarefactory-project-zuul[bot]
92a600aaa9 Merge pull request #3359 from mabashian/yaml-comments
Show yaml comments when possible on launch prompt

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-07 15:14:19 +00:00
Matthew Jones
5cf7cc21c8 Revert "Fix chrome can not be started with unit-tests due to missing shared libraries"
This reverts commit d558ffd699.
2019-03-07 10:07:08 -05:00
Matthew Jones
499fd7b2f1 Revert "Fix chrome can not be started with unit-tests due to missing shared libraries"
This reverts commit 3e5f328b52.
2019-03-07 10:06:30 -05:00
Alex Corey
0593ac197c add template name to launch prompt modal. 2019-03-07 09:42:59 -05:00
softwarefactory-project-zuul[bot]
4fc0d220cc Merge pull request #3376 from keithjgrant/fix-save-confirmation-modal
fix save success modal when adding new application

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-07 14:23:34 +00:00
softwarefactory-project-zuul[bot]
d309acfddb Merge pull request #3372 from beeankha/jt_strings2
Update fields.py to Display Correct Error Message When JT Credential Is Not an Integer

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-06 23:32:38 +00:00
beeankha
2196089216 Update fields.py to convert JT Credential input into integers 2019-03-06 18:05:53 -05:00
mabashian
b6bf68427a Remove unused variable 2019-03-06 17:40:33 -05:00
mabashian
502decf8fe Adds toggle for all/root groups to inventory groups view 2019-03-06 17:31:54 -05:00
Keith Grant
20347420ca fix save success modal when adding new application 2019-03-06 17:22:25 -05:00
Shane McDonald
b29a9cd86e Fix dev environment when running as root on the host
Without this, CURRENT_UID isnt actually passed in from the host, and wipes out /etc/passwd even when we’re actually running as root.

I tested this as a non-root user on Linux, and on Docker for Mac
2019-03-06 17:08:56 -05:00
Marliana Lara
2d15d13359 Refactor styles and add queryset to updateDataset event emmitters 2019-03-06 15:09:46 -05:00
Keith Grant
a3bea6d4a8 Merge pull request #122 from keithjgrant/fix-pagination-text
fix pagination text
2019-03-06 14:42:52 -05:00
Keith Grant
4d15df2b48 fix pagination text when items displayed matches number of items per page 2019-03-06 14:30:21 -05:00
Marliana Lara
31f5d13a69 Initialize paginate queryset with an empty object 2019-03-06 12:19:55 -05:00
Marliana Lara
67753b790c Move toolbar default variable above the toolbar setting funciton 2019-03-06 10:48:14 -05:00
kialam
e935776067 Merge pull request #121 from ansible/org-access-list
Organization Access List
2019-03-05 18:56:29 -05:00
Marliana Lara
661a54d356 Add toolbar sort to Jobs list 2019-03-05 15:09:12 -05:00
Marliana Lara
970a714291 Update URL params when sorting on projects list 2019-03-05 15:08:24 -05:00
John Mitchell
dc206c9ad6 fix wf unsaved changes exit functionality 2019-03-05 14:20:38 -05:00
softwarefactory-project-zuul[bot]
658bdddac3 Merge pull request #3354 from ansible/404_test
404 validation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-05 17:19:52 +00:00
Kia Lam
9f86fc2def Respond to PR feedback. 2019-03-05 12:01:06 -05:00
John Mitchell
9f5f86c6a7 remove unused service and fix lint issue 2019-03-05 12:00:12 -05:00
mabashian
5e37882267 Remove errant console 2019-03-05 11:29:18 -05:00
mabashian
0fc0106cc7 Fix dashboard dropdowns after bootstrap upgrade 2019-03-05 11:25:05 -05:00
Daniel Sami
bcdb590a29 404 tests for varied resources 2019-03-05 10:55:39 -05:00
mabashian
6b46c7db8f Fixes linting errors 2019-03-05 08:50:43 -05:00
John Mitchell
8c5bcffd42 add unsaved workflow changes flow 2019-03-04 16:58:10 -05:00
softwarefactory-project-zuul[bot]
aad185e785 Merge pull request #3356 from marshmalien/feat-toolbar-sort-projects-list
Add toolbar sort to projects list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-04 21:31:44 +00:00
mabashian
2ff22bd681 Show yaml comments when possible on launch prompt 2019-03-04 16:18:23 -05:00
softwarefactory-project-zuul[bot]
2934fabd98 Merge pull request #3357 from mabashian/jobs-list-socket-refresh
Fixes bug where jobs list search was lost on socket message

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-04 20:52:29 +00:00
mabashian
2359231bda Remove console.logs 2019-03-04 15:14:27 -05:00
mabashian
ca5f27aa9e Removes vm.querySet from jobs list and ensures that state params are updated when search is performed to prevent context loss on data refresh. 2019-03-04 15:11:54 -05:00
Marliana Lara
80adcaab81 Set sort dropdown to state param order_by value 2019-03-04 14:40:15 -05:00
Kia Lam
35ecd83214 Some cosmetic changes.
- Reverse order of Expand/Compact icons in DataListToolbar to Compact/Expand.
- Make Expanded the default view for Access Lists.
- Make role badge styling closer to Chip component styling.
2019-03-04 14:38:58 -05:00
Marliana Lara
8100fc1cfb Add toolbar sort configuration to project list 2019-03-04 12:32:25 -05:00
Daniel Sami
006797014c fix url 2019-03-04 11:58:32 -05:00
Daniel Sami
38934dc8d0 lint fixes 2019-03-04 11:56:48 -05:00
Daniel Sami
0ec6d652f7 check for 404s 2019-03-04 11:53:35 -05:00
Marliana Lara
1525c6d97e Extend Toolbar directive to include sort dropdown 2019-03-04 11:25:58 -05:00
softwarefactory-project-zuul[bot]
bf1769af6c Merge pull request #3322 from mopahle/docker_install_ssl_default
Add SSL suport for docker install

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-01 19:54:05 +00:00
softwarefactory-project-zuul[bot]
6384e638f5 Merge pull request #3340 from AlexSCorey/3297-smartInventoryLabel
Add padding to label list tag.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-01 16:20:09 +00:00
Alex Corey
1df5e55a4e add padding to label list tag. 2019-03-01 10:56:08 -05:00
Kia Lam
86a92fefe7 Merge remote-tracking branch 'origin' into org-access-list 2019-03-01 10:37:44 -05:00
Kia Lam
bf7e6201a2 Refactor Access List.
- Derive Team Roles without making extra API call.
- Consistent variable naming convention use camelCase.
- More informative error display.
2019-03-01 10:12:36 -05:00
softwarefactory-project-zuul[bot]
d1005f91e7 Merge pull request #3174 from jbradberry/org_hosts_limit
[WIP] Org hosts limit

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-28 21:27:50 +00:00
softwarefactory-project-zuul[bot]
d9451ac12c Merge pull request #3335 from AlexSCorey/3309-mgmtJobTitleStyling
Add margin to Management Jobs Notifications list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-28 21:12:59 +00:00
mabashian
a82304765d Adds help text to host limit error shown in the output details of inventory sync jobs 2019-02-28 15:54:10 -05:00
mabashian
cc3f2e0819 Properly pass path to error message 2019-02-28 15:54:10 -05:00
mabashian
03c07c0843 Adds error handling to launch api calls 2019-02-28 15:54:10 -05:00
mabashian
1b94b616f0 Default empty max hosts to 0 2019-02-28 15:54:09 -05:00
mabashian
98c5cb1c4c Adds max value to host limit input 2019-02-28 15:54:09 -05:00
mabashian
ce5a85a53b Add support for max hosts on org 2019-02-28 15:54:09 -05:00
Jeff Bradberry
046385d72e Make the inventory_import command log an error message on exception
when it happens in the big try/except block in the middle of handle().
Previously it wasn't doing anything with it, except exiting with a
code of 1.
2019-02-28 15:54:09 -05:00
Jeff Bradberry
7eba55fbde Change the wording of the error when adding a host
to "Organization host limit of %s would be exceeded...", since the
host will probably not actually be made active.
2019-02-28 15:54:09 -05:00
Jeff Bradberry
6ac51b7b13 Update the permission error to include max_hosts and the current host count 2019-02-28 15:54:09 -05:00
Jeff Bradberry
97cc467ae1 Restrict edit permissions on the Organization.max_hosts field to superusers 2019-02-28 15:54:09 -05:00
Jeff Bradberry
3312ebcb05 Remove the hosts count from related_field_counts in the org api endpoints
It is probably not needed, and adds an additional db query.
2019-02-28 15:54:09 -05:00
Jeff Bradberry
4d06ae48d3 Deal with the (erroneous) case where a job is missing the inventory
by bailing out of check_org_host_limit early.  Validation catches this
situation later on.
2019-02-28 15:54:09 -05:00
Jeff Bradberry
cf75ea91a1 Properly use the inventory in the can_start permissions checks 2019-02-28 15:54:09 -05:00
Jeff Bradberry
5e34f6582b Tests for start permissions for JobTemplate and WorkflowJob
when max_hosts is set.
2019-02-28 15:54:09 -05:00
Jeff Bradberry
60008dbd74 Add a test that AWX doesn't care about max_hosts when editing hosts
on an inventory.
2019-02-28 15:54:09 -05:00
Jeff Bradberry
4afd0672a1 Add test that AWX doesn't care about the limit when creating new hosts 2019-02-28 15:54:09 -05:00
Jeff Bradberry
875a1c0b5f Remove the mention of the max_hosts value from the limit check messages 2019-02-28 15:54:09 -05:00
Jeff Bradberry
f5d7ca6913 Update the Organization API list and detail tests to check the host counts 2019-02-28 15:54:09 -05:00
Jeff Bradberry
df8a66e504 Correct the org limit check for changing hosts to use the host's org
instead of an inventory passed in from the user data, which is not allowed.
2019-02-28 15:54:09 -05:00
Jeff Bradberry
43a0a15f6f Expose the new InventoryUpdate.org_host_limit_error field in the API 2019-02-28 15:54:09 -05:00
Jeff Bradberry
36ed890c14 Add permissions checks for the organization host limit 2019-02-28 15:54:09 -05:00
Jeff Bradberry
0e8e5f65e1 Update to fix tests 2019-02-28 15:54:09 -05:00
Jeff Bradberry
6399ec59c9 Include in the API the count of hosts used by an organization 2019-02-28 15:54:09 -05:00
Jeff Bradberry
e44c73883e Expose Organization.max_hosts in the API 2019-02-28 15:54:09 -05:00
Jeff Bradberry
c3406748de Add the new fields to the database 2019-02-28 15:54:03 -05:00
Jeff Bradberry
6d70651611 Update the inventory_import management command
to respect the new Organization.max_hosts limit.
2019-02-28 15:51:50 -05:00
Jeff Bradberry
5e13da62a4 Added a max_hosts field to Organization
in order to optionally set a limit to the number of hosts an
organization that is sharing a license is allowed to manage.

related #1542
2019-02-28 15:51:50 -05:00
softwarefactory-project-zuul[bot]
658e5f0fc8 Merge pull request #3272 from jladdjr/mo_stats
Add support for new playbook stats

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-28 18:24:03 +00:00
softwarefactory-project-zuul[bot]
cebd918e49 Merge pull request #3331 from mabashian/IG-instances-modal
Fixes bug where all instances were preselected when modal was initially opened

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-28 14:30:43 +00:00
Alex Corey
a8c4e92804 Add margin to Management Jobs Notifications list 2019-02-28 09:17:27 -05:00
softwarefactory-project-zuul[bot]
dea71d2682 Merge pull request #3333 from ryanpetrello/more-py3-bugs
fix a few additional py3 issues

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-28 13:31:05 +00:00
Markus Opahle
ed568f569c only use ssl if certificate is specified
Signed-off-by: Markus Opahle <3225748+mopahle@users.noreply.github.com>
2019-02-28 14:06:59 +01:00
Kia Lam
a3a80bc23e Fix prop errors in unit tests. 2019-02-27 18:03:15 -05:00
Kia Lam
5659270d3e Add unit test for Access List component. 2019-02-27 17:30:02 -05:00
Ryan Petrello
13c05c68fc fix a few additional py3 issues
related: https://github.com/ansible/awx/issues/3329
2019-02-27 16:56:36 -05:00
mabashian
2be7f853f3 Fixes bug where all instances were preselected when modal was initially opened 2019-02-27 15:24:29 -05:00
softwarefactory-project-zuul[bot]
3b5681465a Merge pull request #3308 from AlexSCorey/3283-BorderIssues
Removes top left border radius on lists

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-27 16:55:01 +00:00
softwarefactory-project-zuul[bot]
a6c7502217 Merge pull request #3294 from ansible/form-error-handling
Tests for form validation and error checks

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-27 15:58:39 +00:00
softwarefactory-project-zuul[bot]
50a87843ee Merge pull request #3315 from mabashian/elapsed-timer
Show elapsed timer while job is running

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-27 15:54:20 +00:00
Daniel Sami
238b6cbb61 E2E tests for form validation 2019-02-27 10:33:09 -05:00
walkafwalka
3a7bf6a8ac Add SSL suport for docker install
Signed-off-by: walkafwalka <41709139+walkafwalka@users.noreply.github.com>
2019-02-27 10:45:34 +01:00
Marliana Lara
6f26383e06 Merge pull request #119 from marshmalien/org-edit
Add Org Edit View
2019-02-26 15:04:08 -05:00
Marliana Lara
053b21e832 Use ternary operator in Org Edit form 2019-02-26 14:21:27 -05:00
Kia Lam
1443625d89 Abstract out Access List as shared component. 2019-02-26 13:23:34 -05:00
mabashian
6e64aa81fd Always show elapsed timer regardless of running state 2019-02-26 11:38:46 -05:00
Alex Corey
445612315b Removes top left border radius on list item where the list has a tool bar
Removes redundant styling.
2019-02-26 09:52:07 -05:00
Kia Lam
3cd54c45eb Add Access List to Orgs. 2019-02-26 08:39:13 -05:00
softwarefactory-project-zuul[bot]
bb276a8fcb Merge pull request #3260 from jlmitch5/launchJTWFForm
add launch button to jt and wf forms

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-25 17:52:01 +00:00
Marliana Lara
a7b51c526a Update Lookup chip test 2019-02-25 11:42:18 -05:00
Marliana Lara
ffefba9bf9 Fix bug where lookup parent state is not updated on toggleSelected 2019-02-25 11:05:42 -05:00
Marliana Lara
ff339e0eba Update org edit form layout and remove chip group component from lookup; 2019-02-25 09:15:21 -05:00
Jim Ladd
b7b0bdaeca Ansible 2.8 deprecates use of -U 2019-02-25 00:42:19 -08:00
Jim Ladd
cc1a97b6d8 Update JobHostSummary.__str__ and corresponding tests 2019-02-25 00:42:19 -08:00
Jim Ladd
c6227797b4 Make new host summary fields backwards compatible 2019-02-22 14:07:07 -08:00
Marliana Lara
c3fc00c45a Add Organization Edit tests and fix Lookup unit tests 2019-02-22 14:53:47 -05:00
Marliana Lara
d2cf2c275b Add Organization Edit view 2019-02-22 14:53:17 -05:00
Marliana Lara
f1fefbf5f0 Add organization details patch and instance groups disassociate methods to api 2019-02-22 14:51:38 -05:00
Marliana Lara
b6eacbab86 Rename createInstanceGroups api method to associateInstanceGroup 2019-02-22 14:47:25 -05:00
Marliana Lara
92d3cb6dc4 Replace Lookup tags with pf-react Chip component 2019-02-22 14:35:58 -05:00
Chris Meyers
b383144b69 Merge pull request #3293 from chrismeyersfsu/fix-serial
fix handling of serial strategy
2019-02-22 13:30:24 -05:00
softwarefactory-project-zuul[bot]
d1bc013da9 Merge pull request #3292 from kialam/fix-dummy-data-generator-script-errors
Fix various errors when trying to run `make bulk_data`.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-22 18:30:06 +00:00
chris meyers
723f581fd0 fix handling of serial strategy
* v2_playbook_on_play_start is called multiple times for the same UUID.
Specifically, once for each host in the play. This changes makes the
uuid unique before going to the dispatcher.
2019-02-22 13:14:35 -05:00
Kia Lam
d2c345a374 Fix API lint error. 2019-02-22 13:06:20 -05:00
softwarefactory-project-zuul[bot]
22677029e1 Merge pull request #3282 from AlexSCorey/2261-LimitHelper
Add helper text to the limit field prompt modal

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-22 17:55:08 +00:00
Kia Lam
0943f989ce Fix various errors when trying to run make bulk_data.
- Properly import PrimoridialModel.
- Use floor division operator for range() method to avoid float vs int errors.
2019-02-22 11:59:18 -05:00
softwarefactory-project-zuul[bot]
c1698fff8e Merge pull request #3264 from kialam/status-service-on-success
Call `this.sync` when we receive a ws complete message.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-21 21:16:33 +00:00
John Mitchell
200028b269 updated initial tooltip setting 2019-02-21 16:07:27 -05:00
Alex Corey
0cae612159 Add helper text to the limit field prompt modal 2019-02-21 16:06:18 -05:00
softwarefactory-project-zuul[bot]
5584f6a98b Merge pull request #3279 from mabashian/prompt-extra-var-wf
Add prompt for extra vars to wfjt

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-21 18:36:11 +00:00
softwarefactory-project-zuul[bot]
e5acf93c66 Merge pull request #3265 from mabashian/socket-time-band
Prevent jobs/templates lists from refreshing list data more than once every 5 seconds

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-21 18:06:41 +00:00
mabashian
01b4b47087 Fixes unit test failure after adding ui support for extra var prompting on workflows 2019-02-21 12:55:30 -05:00
John Mitchell
14e9923037 remove select2count that wasn't being used 2019-02-21 12:19:45 -05:00
John Mitchell
7e47a924c5 break out credential watch statement in order to disable launch when creds are removed 2019-02-21 12:18:34 -05:00
John Mitchell
635aa9fd56 promise-ify createselect2 and use that instead for deferring launch button enabling 2019-02-21 12:18:34 -05:00
John Mitchell
2e4eb1885f add launch button to jt and wf forms 2019-02-21 12:18:33 -05:00
mabashian
0ce70c08bd Add prompt for extra vars to wfjt 2019-02-21 11:37:53 -05:00
mabashian
e3c9a42741 Hook up status update sockets on completed jobs routes and project templates 2019-02-21 11:24:37 -05:00
mabashian
d5d45e644d Prevent jobs/templates lists from refreshing list data more than once every 5 seconds 2019-02-21 11:24:37 -05:00
softwarefactory-project-zuul[bot]
09684e2c41 Merge pull request #3269 from ryanpetrello/dep-update
remove redbaron and update minor dependencies

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-21 15:56:02 +00:00
Ryan Petrello
04622d5786 remove redbaron and update dependencies 2019-02-21 10:08:24 -05:00
Jim Ladd
8c9544e5ed Add support for new ansible stats 2019-02-20 17:13:29 -08:00
Michael Abashian
de3cc4637e Merge pull request #112 from mabashian/88-sort-filter-ig-modal
Adds sorting to IG lookup on org form
2019-02-20 15:53:47 -05:00
softwarefactory-project-zuul[bot]
ca043d9bfd Merge pull request #3275 from AlanCoding/i_love_caches
Clear the test cache at end of every test

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-20 20:19:16 +00:00
mabashian
e28776962d Fixes left margin on notifications tab 2019-02-20 14:52:11 -05:00
AlanCoding
711937b104 fix some patches that were never unapplied 2019-02-20 14:40:25 -05:00
softwarefactory-project-zuul[bot]
a9a2c1fa7b Merge pull request #3245 from wenottingham/we-meet-again-for-the-last-login-time
[WIP] Show last login along with the badges on the user view screen.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-20 19:38:07 +00:00
kialam
ec8a452f1d Call this.sync when we receive a ws complete message.
- There can be a race condition where a job run finishes event processing before sending off a "successful/failed" websocket message. In this instance, we would miss gathering known artifacts for a job. The proposed fix is to do a manual detection of when a job status updates to "successful/failed/unknown" and perform a GET request to the job endpoint.
2019-02-20 14:11:13 -05:00
AlanCoding
07def62373 clear the test cache at end of every test 2019-02-20 14:02:36 -05:00
mabashian
87d9df5876 Fixes modal button margin and focus border on toolbar buttons 2019-02-20 13:28:06 -05:00
softwarefactory-project-zuul[bot]
30352e375f Merge pull request #3271 from kialam/compact-expand-lists-responsive
Fix Compact/Expand Lists responsive issues

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-20 16:59:40 +00:00
mabashian
56bd145f21 Adds sort to IG modal 2019-02-20 11:30:58 -05:00
softwarefactory-project-zuul[bot]
6abe9d5c0f Merge pull request #3270 from saito-hideki/issue/tower_3344
Add action to output login failure event to logfile

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-02-20 16:01:31 +00:00
softwarefactory-project-zuul[bot]
9b04e93765 Merge pull request #3262 from ryanpetrello/openstack_cred_verify_ssl
add verify_ssl to OpenStack credential type

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-20 15:35:10 +00:00
kialam
728fb1aaef Fix hidden relaunch dropdown in new lists. 2019-02-20 10:05:21 -05:00
mabashian
581ec8860b recompile strings to fix Foo being displayed instead of My View 2019-02-20 09:41:38 -05:00
kialam
2596ad26b9 Make compact rows responsive. 2019-02-20 09:35:22 -05:00
Marliana Lara
1599d2c62c Merge pull request #110 from marshmalien/upgrade-patternfly
Upgrade @patternfly-next to @patternfly/patternfly
2019-02-20 09:29:07 -05:00
Hideki Saito
ef3b1ee195 Add action to output login failure to logger
Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-02-20 14:27:44 +00:00
Ryan Petrello
b1a33869dc convey OpenStack verify_ssl defaults in the CredentialType schema 2019-02-20 09:02:48 -05:00
Marliana Lara
83982d5e2e Fix Modal footer button styles 2019-02-19 16:34:27 -05:00
Marliana Lara
8be8663665 Fix AnsibleSelect tests 2019-02-19 16:14:28 -05:00
Marliana Lara
740a9c1e61 Remove pf base css import and tweak styles 2019-02-19 16:10:50 -05:00
Marliana Lara
9229c8e724 Add translations to AnsibleSelect 2019-02-19 16:10:47 -05:00
Marliana Lara
7567a6b36a Fix Org Detail Action button margin 2019-02-19 16:05:47 -05:00
Marliana Lara
240d07b6d4 Refactor styles and remove patternfly utility classes 2019-02-19 16:05:45 -05:00
Marliana Lara
09107aef1f Amend LoginForm component to use updated helperText props for @patternfly/react-core 2.1.8 2019-02-19 16:04:48 -05:00
Marliana Lara
68225d191a Remove old BackgroundImageSrc tokens for @patternfly/react-core 2.1.8 2019-02-19 16:04:47 -05:00
Marliana Lara
58f273347c Remove heroImgSrc props for @patternfly/react-core 2.1.8 2019-02-19 16:04:47 -05:00
Marliana Lara
c4065a54bd Rename Select components to FormSelect for @patternfly/react-core 2.1.8 2019-02-19 16:04:45 -05:00
Marliana Lara
50ebf65178 Update @patternfly/patternfly-next references to @patternfly/patternfly 2019-02-19 16:00:11 -05:00
Marliana Lara
f5f67627db Update @patternfly/* dependencies
* Remove @patternfly/react-styles dependency
2019-02-19 16:00:11 -05:00
Hideki Saito
9f04fbe4a4 Add verify_ssl to OpenStack credential type
To avoid verification failures when using a self-signed certificate file,
 Added "Verify SSL" check box to the openstack credential type edit page.

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-02-19 12:53:13 -05:00
softwarefactory-project-zuul[bot]
1ece764547 Merge pull request #3257 from ryanpetrello/native_credential_types
define native CredentialType inputs/injectors in code, not in the DB

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-19 17:27:19 +00:00
softwarefactory-project-zuul[bot]
2358e306c1 Merge pull request #3261 from elyezer/resize-window
Resize window to avoid breaking the UI

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-19 17:21:12 +00:00
Elyézer Rezende
82b9f8ebb0 Resize window to avoid breaking the UI
Update test-jobs-portal-list-actions to resize the browser window and
avoid a flake test because of broken layout.
2019-02-19 13:53:12 -03:00
kialam
e0df011804 Merge pull request #109 from ansible/add-prop-checking
Add proptypes to shared components
2019-02-19 11:37:03 -05:00
kialam
f9d615fdee Fix unit tests. 2019-02-19 11:28:17 -05:00
kialam
da8c3f6c43 Enable submit button by default. 2019-02-19 10:24:26 -05:00
Ryan Petrello
43ca4526b1 define native CredentialType inputs/injectors in code, not in the DB
This has a few benefits:

1.  It makes adding new fields to built-in CredentialTypes _much_
    simpler.  In the past, we've had to write a migration every time we
    want to modify an existing type (changing a label/help text,
    changing options like the recent become_method changes) or
    when adding a new field entirely

2.  It paves the way for third party credential plugins support, where
    importable libraries will define their own source code-based schema
2019-02-19 10:22:26 -05:00
kialam
c3493b0539 Remove unused method. 2019-02-19 10:19:47 -05:00
kialam
bba1c4f5b6 Restore FormGroup to parent Add Org component for AnsibleSelect. 2019-02-19 10:18:03 -05:00
softwarefactory-project-zuul[bot]
4174fc22b0 Merge pull request #3254 from vismay-golwala/job_host_count
Fixed # of hosts - job details UI

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-18 21:16:32 +00:00
Vismay Golwala
16e135249c Fixed # of hosts - job details UI
In the UI job details page, the number of hosts for any job was always displayed '1'
irrespective of the actual count. This was caused because of a faulty initialization
of variable followed by unreachable code. It has been fixed by updating init value.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-02-18 13:57:58 -05:00
softwarefactory-project-zuul[bot]
889dae357b Merge pull request #3235 from ryanpetrello/sql-profiling
add a custom DB backend that provides system-level SQL profiling

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-15 21:56:28 +00:00
softwarefactory-project-zuul[bot]
0063668582 Merge pull request #3247 from ryanpetrello/fix-serial-display-error
fix a bug in the display of playbooks using serial or free strategy

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-15 21:51:54 +00:00
Ryan Petrello
1e4cd9ea8f document the SQL profiler 2019-02-15 16:34:34 -05:00
Ryan Petrello
954ccccbc5 fix a bug in the display of playbooks using serial or free strategy 2019-02-15 16:13:12 -05:00
kialam
2a254ea538 Add typechecking to contributing guide. 2019-02-15 15:20:02 -05:00
kialam
b340d49cb7 Integrate proptypes for our shared components.
- Fix unit tests.
- Fix linter errors.
2019-02-15 15:08:52 -05:00
Ryan Petrello
6f43875e80 record profile data in /var/log/tower, not /var/lib/awx 2019-02-15 14:34:55 -05:00
Christian Adams
80cccab919 Merge pull request #3244 from e-tienne/fix_wording_wf
Fix ambiguous workflow vizualizer 5000 wording
2019-02-15 11:23:58 -05:00
softwarefactory-project-zuul[bot]
088673ceb0 Merge pull request #3246 from Klaas-/Klaas--patch-2
Avoid pg password ending up in syslog/shell output

Reviewed-by: awxbot
             https://github.com/awxbot
2019-02-15 15:48:39 +00:00
Vismay Golwala
4f13255f35 Allow empty default values for numerical survey answers.
Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-02-15 10:41:19 -05:00
Klaas Demter
8f36e21c97 Avoid pg password ending up in syslog/shell output
Currently if an error occurs the pgpassword would be exposed to syslog / shell during playbook backup.yml
2019-02-15 16:15:33 +01:00
Bill Nottingham
6a11281355 Show last login along with the badges on the user view screen. 2019-02-14 20:25:50 -05:00
Etienne Simard
df4e4f80ad Fix ambiguous workflow vizualizer wording
Resolves: #2998

Signed-off-by: Etienne Simard <etienne@redhat.com>
2019-02-14 18:01:23 -05:00
softwarefactory-project-zuul[bot]
5682fb1503 Merge pull request #3243 from mabashian/more-strings-to-translate
Translate job status in smart status tooltip.  Mark strings for translation in project form

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 22:46:25 +00:00
mabashian
640d2a2797 Fix linting error 2019-02-14 16:32:54 -05:00
softwarefactory-project-zuul[bot]
b173880766 Merge pull request #3240 from wenottingham/when-last-we-met
Add django last_login information to user object.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 21:32:09 +00:00
mabashian
30ce85b80a Translate job status in smart status tooltip. Mark strings for translation in project form 2019-02-14 16:20:33 -05:00
softwarefactory-project-zuul[bot]
003ec64413 Merge pull request #3241 from ryanpetrello/workflow-convergence-i18n
mark a workflow convergence error message for i18n

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 21:16:54 +00:00
softwarefactory-project-zuul[bot]
eda6d729d6 Merge pull request #3239 from wenottingham/did-this-ever-work
Remove `awx-manage user_info` command.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 21:12:50 +00:00
Ryan Petrello
4f83d44142 mark a workflow convergence error message for i18n 2019-02-14 15:55:20 -05:00
Bill Nottingham
7452eb2fa1 Remove broken user_info command.
This has not worked in a long time, and does not serve much purpose.
2019-02-14 15:34:24 -05:00
Bill Nottingham
8300f7f51b Add django last_login information to user object. 2019-02-14 15:17:37 -05:00
Ryan Petrello
eed94b641e add a custom DB backend that provides system-level SQL profiling
run this command on _any_ node in an awx cluster:

$ awx-manage profile_sql --threshold=2.0 --minutes=1

...and for 1 minute, the timing for _every_ SQL query in _every_ awx
Python process that uses the Django ORM will be measured

queries that run longer than (in this example) 2 seconds will be
written to a per-process sqlite database in /var/lib/awx/profile, and
the file will contain an EXPLAIN VERBOSE for the query and the full
Python stack that led to that SQL query's execution (this includes not
just WSGI requests, but background processes like the runworker and
dispatcher)

$ awx-manage profile_sql --threshold=0

...can be used to disable profiling again (if you don't want to wait for
the minute to expire)
2019-02-14 15:04:46 -05:00
Unknown
0138e92ddc update documentation to include kuberentes initContainers
Update documentation to include Kubernetes initContainers in custom virtualenvs
2019-02-14 14:07:26 -05:00
softwarefactory-project-zuul[bot]
456ef49ee3 Merge pull request #3229 from mabashian/popover-quote-entity
Replace single quote with appropriate entity when generating new attribute

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 16:32:57 +00:00
softwarefactory-project-zuul[bot]
b91dee68ac Merge pull request #3221 from mabashian/workflow-results-inv-tooltip
Show the proper tooltip on workflow results inventory

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 16:28:34 +00:00
softwarefactory-project-zuul[bot]
781d36ef83 Merge pull request #3220 from mabashian/credential-modal-400
Prevent extra fetch of cred list as cred modal is closing

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 16:06:52 +00:00
kialam
91f87b6d81 Merge pull request #106 from ansible/add-select-default-option
Add default option for AnsibleSelect dropdown.
2019-02-14 11:00:04 -05:00
kialam
7c009fc315 Update unit tests to use new props. 2019-02-14 10:53:53 -05:00
softwarefactory-project-zuul[bot]
a1cef744a7 Merge pull request #3230 from impca/patch-1
Update compose configuration

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 15:45:41 +00:00
softwarefactory-project-zuul[bot]
ba5319f479 Merge pull request #3213 from mabashian/3158-related-groups-style
Fix styling on related groups labels after bootstrap upgrade

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 15:40:56 +00:00
kialam
f09eb182c2 Merge remote-tracking branch 'origin/master' into add-select-default-option 2019-02-14 10:38:28 -05:00
softwarefactory-project-zuul[bot]
0dbf21a15c Merge pull request #3176 from digipok/issue-3010-ca-trust-awx_task
update-ca-trust: Ensure CA trust is updated in awx_task container

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 15:36:55 +00:00
softwarefactory-project-zuul[bot]
45d522829a Merge pull request #3190 from mabashian/i18n-strings
Mark various strings for translation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 15:26:50 +00:00
softwarefactory-project-zuul[bot]
8b1c358dc6 Merge pull request #3165 from mabashian/2630-become-plugins
Makes priv escalation method a dynamic select element

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 15:08:09 +00:00
softwarefactory-project-zuul[bot]
ebd9d3dc67 Merge pull request #3234 from wenottingham/the-only-good-code-is-a-dead-code
Delete some unused functions.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 14:10:31 +00:00
softwarefactory-project-zuul[bot]
80cf154fb7 Merge pull request #3233 from ryanpetrello/F405
remove usage of import * and enforce F405 in our linter

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-14 13:32:18 +00:00
impca
9add96a0d3 update docker compose installer
Only run commands to update certs when config changes.
2019-02-14 08:29:47 +01:00
mickfeech
ed2ad1e210 update documentation to include kuberentes initContainers 2019-02-13 20:01:30 -05:00
softwarefactory-project-zuul[bot]
808ed74700 Merge pull request #3177 from wenottingham/i-am-going-to-need-a-diagram-for-this
Fix project updates to properly pull in role requirements.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-13 23:16:34 +00:00
Ryan Petrello
9bebf3217e remove usage of import * and enforce F405 in our linter
import * is a scourge upon the earth
2019-02-13 17:10:33 -05:00
softwarefactory-project-zuul[bot]
ae7d26fab0 Merge pull request #3186 from vismay-golwala/update_schedule_constraint
Update standalone schedule name uniqueness combining it with unified …

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-13 22:03:54 +00:00
Bill Nottingham
0f54d30f2c Remove some unused functions. 2019-02-13 16:29:59 -05:00
John Mitchell
614116c90e Merge pull request #104 from jlmitch5/instanceGroupsPagination
add pagination to instance groups
2019-02-13 15:42:36 -05:00
John Mitchell
b4007c7e04 put FormGroup component in form instead of in AnsibleSelect component 2019-02-13 15:40:46 -05:00
kialam
1f07fc8494 Make default option selectable but return null value. 2019-02-13 15:39:29 -05:00
kialam
2b18cee9c0 Fix linter errors and add test to AnsibleSelect component. 2019-02-13 15:39:29 -05:00
kialam
97477b789a Add default option for AnsibleSelect dropdown. 2019-02-13 15:39:26 -05:00
John Mitchell
f2ab7f62b9 fix disabled of submit button 2019-02-13 15:09:14 -05:00
softwarefactory-project-zuul[bot]
631d3515f2 Merge pull request #3217 from mabashian/3164-cred-checkbox-alignment
Fixes cred form checkbox input styling

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-13 20:08:57 +00:00
John Mitchell
35c94e9cd8 update selected to value in AnsibleSelect 2019-02-13 14:52:11 -05:00
softwarefactory-project-zuul[bot]
551218fd44 Merge pull request #3206 from AlanCoding/learn_to_share
Do not remove edges from other inventory sources

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-13 18:09:18 +00:00
Vismay Golwala
4af54517d2 Update standalone schedule name uniqueness combining it with unified job template.
Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-02-13 12:46:28 -05:00
mabashian
334f571ad3 Fixes bug where extra blank option was being added to select input 2019-02-13 11:48:43 -05:00
John Mitchell
de658939c5 add default value to props destructure statement 2019-02-13 10:50:04 -05:00
John Mitchell
cbc1ae8875 fix tests based on AnsibleSelect fn name change 2019-02-13 10:34:32 -05:00
softwarefactory-project-zuul[bot]
295afa805c Merge pull request #3212 from AlanCoding/model_star_imports
Remove star imports in tasks and non-base models

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-13 15:05:01 +00:00
softwarefactory-project-zuul[bot]
ad4d286db5 Merge pull request #3225 from ryanpetrello/take-it-to-the-limit-one-more-time
remove field size limit on adhoc `limit`

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-13 14:50:56 +00:00
softwarefactory-project-zuul[bot]
eea97c8928 Merge pull request #3228 from jakemcdermott/dev-migrations-page
load migrations page in dev environment

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-13 14:44:53 +00:00
impca
c29275315e Update compose configuration
When running awx via docker-compose and using custom certificates (for LDAP auth or whatever else...), update-ca-trust has to be called afer starting the container to actually use new certificates (just as it is called when using docker to run - https://github.com/ansible/awx/blob/devel/installer/roles/local_docker/tasks/standalone.yml#L119-L120 ).
2019-02-13 15:39:52 +01:00
mabashian
ef89195e6c Replace single quote with appropriate entity when generating new attribute 2019-02-13 09:32:46 -05:00
softwarefactory-project-zuul[bot]
06ff26752a Merge pull request #3227 from ryanpetrello/fix-migration-tran-view
fix `/migrations_notran`

Reviewed-by: awxbot
             https://github.com/awxbot
2019-02-13 14:25:29 +00:00
softwarefactory-project-zuul[bot]
58f5e1882e Merge pull request #3218 from kialam/fix-3081-copy-project-expand-collapse
Fix expanded view not persisting when a user copies a project.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-13 14:24:50 +00:00
Jake McDermott
2765367308 load migrations page in dev environment 2019-02-13 09:14:11 -05:00
Ryan Petrello
2a94611801 fix /migrations_notran 2019-02-13 08:59:20 -05:00
Ryan Petrello
e4eda3ef0d remove field size limit on adhoc limit
related: 4b669fb16d
2019-02-13 08:34:10 -05:00
AlanCoding
fbf6315a8c remove star imports in tasks and non-base models 2019-02-12 19:50:30 -05:00
softwarefactory-project-zuul[bot]
8a3c10686e Merge pull request #3191 from chrismeyersfsu/fix-job_event_smart_inv_slow_take_two_devel
do not observe queries when constructing them

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-12 22:27:11 +00:00
chris meyers
c121565209 add tests for host_filter
* Ensure that building the smart inventory query string doesn't invoke
the database.
2019-02-12 16:11:54 -05:00
mabashian
3c3e659042 Show the proper tooltip on workflow results inventory 2019-02-12 15:50:52 -05:00
mabashian
406cb07018 Prevent extra fetch of cred list as cred modal is closing 2019-02-12 15:37:45 -05:00
kialam
099a82fdf8 Fix expanded view not persisting when a user copies a project. 2019-02-12 15:24:17 -05:00
softwarefactory-project-zuul[bot]
52b88d839e Merge pull request #3216 from ryanpetrello/inv-gen-speedup
optimize a slow query in inventory script generation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-12 18:48:30 +00:00
Ryan Petrello
e245e50ee4 optimize a slow query in inventory script generation
if we don't preload this column, Django needs it, and so it generates
one query per-host (!!!) to get it.  For large (10k+ host) inventories,
this is incredibly slow.

see: https://github.com/ansible/awx/issues/3214
2019-02-12 12:55:38 -05:00
John Mitchell
c1381f7b98 incorporate feedback on instance groups pagination 2019-02-12 11:59:49 -05:00
John Mitchell
6431ec603f fix AnsibleSelect passing onChange callback 2019-02-12 11:53:22 -05:00
mabashian
a52c0415d9 Copied old bootstrap styles to display cred form checkboxes as they were before bootstrap upgrade 2019-02-12 11:48:48 -05:00
Marliana Lara
fb7ccdb726 Merge pull request #108 from marshmalien/remove-breadcrumb-text-style
Remove breadcrumb item capitalize text style
2019-02-12 11:32:14 -05:00
mabashian
98c7df3399 Fix styling on related groups labels after bootstrap upgrade 2019-02-12 11:18:28 -05:00
Marliana Lara
9619513017 Remove breadcrumb item capitalize text style 2019-02-12 11:18:28 -05:00
John Mitchell
c67088628f fix border color 2019-02-12 09:05:22 -05:00
John Mitchell
680d153a14 add pagination to instance groups lookup modal 2019-02-11 18:10:27 -05:00
softwarefactory-project-zuul[bot]
570283fba2 Merge pull request #3207 from mabashian/pull-strings-ejs
Extract translations from ejs files

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-11 18:29:55 +00:00
AlanCoding
1bf2a455c6 Do not remove edges from other inventory sources 2019-02-11 13:08:19 -05:00
mabashian
cb222aaa40 Extract translations from ejs files 2019-02-11 12:59:47 -05:00
Marliana Lara
cdc8b372f9 Merge pull request #105 from marshmalien/wrap-long-detail-descriptions
Wrap Org Details description field
2019-02-11 12:58:28 -05:00
Marliana Lara
0b7c643e75 Wrap Org Details description field 2019-02-11 12:21:34 -05:00
softwarefactory-project-zuul[bot]
6c9fc4a592 Merge pull request #3198 from mabashian/workflow-link-tooltip-overflow
Dynamically place link hover tooltip based on its size

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-11 17:01:08 +00:00
softwarefactory-project-zuul[bot]
53a6341320 Merge pull request #3148 from elyezer/e2e-screenshots
Add settings to control screenshot capturing

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-11 16:47:06 +00:00
mabashian
c0f9ee5e6e Fixes linting errors 2019-02-11 11:38:28 -05:00
mabashian
3321f3e34d Fixes bug where tooltip was clipped when graph is zoomed out. Fixes linting error 2019-02-11 11:30:20 -05:00
Elyézer Rezende
953b6679ef Add settings to control screenshot capturing 2019-02-11 14:05:11 -02:00
mabashian
d285261697 Fixes split job unit test confirming string match 2019-02-11 10:28:35 -05:00
softwarefactory-project-zuul[bot]
d84b58c857 Merge pull request #3196 from kialam/detect-empty-artifacts
Job Artifacts: check for empty object rather than string value.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-11 15:21:07 +00:00
softwarefactory-project-zuul[bot]
4d3cacf87f Merge pull request #3185 from mabashian/edit-node-arrow
Use arrow instead of 'to' in workflow edit link title

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-11 14:51:05 +00:00
softwarefactory-project-zuul[bot]
b9b2affe44 Merge pull request #3202 from Spredzy/fix_3200
awx.main.tasks: Remove reference to unimport six

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-11 14:42:08 +00:00
Yanis Guenane
f61b6f9615 awx.main.tasks: Remove reference to unimport six
d4c3c08 re:introduced the use of six that has been removed by daeeaf4.
This lead to ""NameError: name 'six' is not defined"". This commit fixes
the issue.

Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2019-02-11 09:41:09 +01:00
kialam
fcba02cd86 Linter fix. 2019-02-08 14:52:15 -07:00
mabashian
205dc93e65 Dynamically place link hover tooltip based on its size 2019-02-08 16:44:26 -05:00
kialam
28a29293c7 Check for empty object rather than string value. 2019-02-08 14:31:06 -07:00
softwarefactory-project-zuul[bot]
3b259de200 Merge pull request #3192 from chrismeyersfsu/awx-3.0.1
AWX 3.0.1

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-08 19:38:37 +00:00
chris meyers
63e3e733e0 AWX 3.0.1 2019-02-08 14:17:33 -05:00
chris meyers
ed78978b5f do not observe queries when constructing them
* While parsing host_filter in the smart inventory code it was
triggering sql queries. This changset avoids executing the query that is
being constructed.
2019-02-08 12:30:51 -05:00
mabashian
6e1457607e Mark various strings for translation 2019-02-08 11:28:04 -05:00
softwarefactory-project-zuul[bot]
844b0f86b8 Merge pull request #3187 from chrismeyersfsu/fix-schedule_too_damn_fast_devel
fix scheduled jobs race condition

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-08 14:39:43 +00:00
chris meyers
d4c3c089df fix scheduled jobs race condition
* The periodic scheduler that runs and spawns jobs from Schedule()'s can
end up spawning more jobs than intended, for a single Schedule.
Specifically, when tower clustering is involed. This change adds a
"global" database lock around this critical code. If another process is
already doing the scheduling, short circuit.
2019-02-08 08:43:11 -05:00
softwarefactory-project-zuul[bot]
1328fb80a0 Merge pull request #3181 from mabashian/notif-related-tab
Show notification tab to notif admin users on jt/wf/project/inv source forms

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-07 21:39:33 +00:00
softwarefactory-project-zuul[bot]
1fbcd1b10b Merge pull request #3183 from mabashian/3018-wf-save
Cancel node form when user deletes node being edited

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-07 20:59:45 +00:00
softwarefactory-project-zuul[bot]
11b26c199b Merge pull request #3173 from mabashian/workflow-403
Adds proper error handling to workflow save related promises

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-07 19:25:40 +00:00
mabashian
b4d54895ff Use arrow instead of 'to' in workflow edit link title 2019-02-07 13:46:22 -05:00
softwarefactory-project-zuul[bot]
463c4c1f7e Merge pull request #3182 from kialam/artifacts-code-mirror
Artifacts Code Mirror

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-07 16:46:20 +00:00
kialam
76a16b329e Conditionally show the Artifacts field. 2019-02-07 08:59:44 -07:00
mabashian
123f646cea Cancel node form when user deletes node being edited 2019-02-07 10:47:21 -05:00
softwarefactory-project-zuul[bot]
d99c9c8dce Merge pull request #3179 from ryanpetrello/failed_to_change
don't update parent event changed|failed in bulk (it's expensive for large tables)

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-07 15:16:22 +00:00
mabashian
4f3a8ef766 Show notification tab to notif admin users on jt/wf/project/inv source forms 2019-02-07 10:02:05 -05:00
kialam
c114243082 Add artifacts as a subscriber to job details status service.
- This will emerge the artifacts field values if they become available to the UI from the API once a job has completed successfully.
2019-02-07 07:59:45 -07:00
Ryan Petrello
229e997e7e don't update parent event changed|failed in bulk (it's expensive) 2019-02-06 20:02:52 -05:00
Marliana Lara
8e194baa66 Merge pull request #102 from marshmalien/style-tab-text
Update organization tab styles
2019-02-06 14:37:41 -05:00
kialam
dc7ec9dfe0 Adjust WF results to account for codemirror changes. 2019-02-06 12:11:15 -07:00
Marliana Lara
df30a2e8d1 Update organization tab styles 2019-02-06 14:00:26 -05: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
kialam
07aae8cefc Add Artifacts CodeMirror field to job details. 2019-02-06 10:52:18 -07:00
Marliana Lara
241f8a8ac8 Merge pull request #100 from marshmalien/org-details
Add Organization Details view and tests
2019-02-06 12:04:46 -05:00
softwarefactory-project-zuul[bot]
902fb83493 Merge pull request #3172 from bverschueren/fix_inventory_sync_virtualenv
use source_project custom_virtualenv if configured

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-06 16:55:49 +00:00
Mathieu Mallet
dce3795e0c update-ca-trust: Ensure CA trust is updated in awx_task container
Related #3010

Both awx_web and awx_task containers can have a volume mounted in
specified by the ca_trust_dir variable. Unfortunately only the
awx_web container's trust is updated. This patch makes sure the
awx_task container's trust is updated as well

Testing Done: ansible-playbook --syntax-check installer/install.yml

Signed-off-by: Mathieu Mallet <mmallet@digipok.io>
2019-02-06 16:51:14 +00:00
softwarefactory-project-zuul[bot]
1ef2d4cdad Merge pull request #3175 from ryanpetrello/exact_ansible_facts
fix a subtle bug in ansible_facts lookup filtering

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-06 16:51:13 +00:00
Marliana Lara
9d9b94c8c3 Increase label font-weight and vertically align labels and chips 2019-02-06 11:42:53 -05:00
Ryan Petrello
a6b362e455 fix a subtle bug in ansible_facts lookup filtering 2019-02-06 11:02:47 -05:00
mabashian
2c3549331c Adds proper error handling to worklfow save related promises. Fixes bug watching for prompt changes after the node has been edited once. 2019-02-06 10:35:00 -05:00
Bram Verschueren
016fc7f6bf use source_project custom_virtualenv if configured
Signed-off-by: Bram Verschueren <verschueren.bram@gmail.com>
2019-02-06 10:51:52 +01:00
softwarefactory-project-zuul[bot]
e8eda28ce5 Merge pull request #3162 from wenottingham/cady-heron-was-right
Remove limit on `limit` field.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-06 01:22:34 +00:00
softwarefactory-project-zuul[bot]
83c232eb20 Merge pull request #3112 from saito-hideki/pr/fix_ui-test-ci
Fix chrome can not be started with unit-tests due to missing shared libraries

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-06 01:20:19 +00:00
softwarefactory-project-zuul[bot]
c30639c4e6 Merge pull request #3166 from ryanpetrello/old-ansible-inventory-error-msg
provide a better ansible-inventory fallback error message old ansibles

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-05 22:32:13 +00:00
Ryan Petrello
5e84782b9c provide a better ansible-inventory fallback error message old ansibles
see: https://github.com/ansible/awx/issues/3139
2019-02-05 17:12:48 -05:00
mabashian
1a619de91f Makes priv escalation method a dynamic select element 2019-02-05 14:01:29 -05:00
softwarefactory-project-zuul[bot]
d134291097 Merge pull request #3123 from elyezer/users-crud-e2e
Add e2e tests for user creating and editing

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-05 18:54:49 +00:00
Bill Nottingham
4b669fb16d Remove limit on limit field.
This allows 'relaunch-on-failed' on an arbitrary number of failed hosts.
2019-02-05 13:30:51 -05:00
softwarefactory-project-zuul[bot]
b53621e74c Merge pull request #3152 from ryanpetrello/jsonb_prevent_field_lookups
prevent field lookups on Host.ansible_facts keys (it doesn't work)

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-05 17:24:06 +00:00
Elyézer Rezende
925c6543c4 Add users CRUD e2e tests 2019-02-05 14:59:59 -02:00
John Mitchell
56c0ab97ed Merge pull request #99 from jlmitch5/addOrgEmptyListAndUpdateCSS
Add org empty list and update css
2019-02-05 11:52:36 -05:00
Marliana Lara
8846e1427e Add Organization Details view and test 2019-02-05 10:52:33 -05:00
Ryan Petrello
bb5312f4fc prevent field lookups on Host.ansible_facts keys (it doesn't work)
under the hood, Host.ansible_facts is a postgres jsonb field which
performs match operations using the JSON containment operator (@>)

this operator _only_ works on exact matches on containment (i.e.,
"does the `ansible_distribution` jsonb value contain _this exact_ JSON
structure"):

SELECT ...
FROM main_host
WHERE ansible_facts @> '{"ansible_distribution": "centos"}'

SELECT ...
FROM main_host
WHERE ansible_facts @> '{"packages": {"dnsmasq": [{"version": 2}]}}'

postgres does _not_ expose any operator for fuzzy or lookup-based
matches with this operator, so host filter values like these don't
really make sense (postgres can't _filter_ in the way intended in these
examples):

ansible_distribution__startswith=\"Cent\"
ansible_distribution__icontains=\"CentOS\"
ansible_facts__packages__dnsmasq[]__version__startswith=\"2\"
2019-02-05 10:43:51 -05:00
softwarefactory-project-zuul[bot]
7333e55748 Merge pull request #3156 from Spredzy/schedule_max_jobs_conditiion
jt, wfjt: Ensure SCHEDULE_MAX_JOBS is accurately respect

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-05 13:35:35 +00:00
Yanis Guenane
5e20dcb6ca jt, wfjt: Ensure SCHEDULE_MAX_JOBS is accurately respect
Currently SCHEDULE_MAX_JOBS+1 can be scheduled rather than
SCHEDULE_MAX_JOBS. This is due to the fact that we using strictly
greater rather than greater or equal.

Imagine we set SCHEDULE_MAX_JOBS=1, current logic:

  * First time (count = 0), count < 1 -> proceed
  * Second time (count = 1), count =< 1 -> proceed
  * Third time (count = 2), count > 1 -> prevented

Imagine we set SCHEDULE_MAX_JOBS=1, new logic:

  * First time (count = 0), count < 1 -> proceed
  * Second time (count = 1), count =< 1 -> prevented

Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2019-02-05 13:44:39 +01:00
John Mitchell
736f1e1775 update conditional showing of empty list component 2019-02-04 15:39:44 -05:00
softwarefactory-project-zuul[bot]
cab6b8b333 Merge pull request #3147 from jbradberry/become_method_list
Expose the known privilege escalation methods in the API config view

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-02-04 17:12:28 +00:00
Jeff Bradberry
46020379aa Expose the known privilege escalation methods in the API config view
so that the UI can obtain them and make use of them for an autocomplete widget.
2019-02-04 11:45:27 -05:00
softwarefactory-project-zuul[bot]
e23fb31a4a Merge pull request #3140 from AlanCoding/isolate_venv
Use custom venv in inventory proot-ing

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-02 12:17:25 +00:00
Marliana Lara
17c95f200a Merge pull request #3136 from marshmalien/fix-inv-host-tab
Disable hosts toggle in smart inventory hosts tab
2019-02-01 16:36:02 -05:00
AlanCoding
7676ccdbac use custom venv in inventory prooting 2019-02-01 13:29:45 -05:00
softwarefactory-project-zuul[bot]
4626aa0144 Merge pull request #3093 from jbradberry/become_plugins
Support become plugins

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-01 17:48:09 +00:00
Marliana Lara
fb7596929f Disable hosts toggle in smart inventory hosts tab 2019-02-01 11:28:00 -05:00
softwarefactory-project-zuul[bot]
d63518d789 Merge pull request #3005 from b0urn3/devel
Add SCHEDULE_MAX_JOBS implementation for WFJTs for #2975

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-01 13:54:21 +00:00
Robert Zahradníček
6f1cbac324 Add SCHEDULE_MAX_JOBS implementation for WFJTs for #2975 2019-01-31 21:52:36 +01:00
softwarefactory-project-zuul[bot]
2b80f0f7b6 Merge pull request #3121 from ryanpetrello/busted-isolated
properly detect ansible-playbook vs ansible runs in bwrap arg building

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
             https://github.com/kdelee
2019-01-31 16:27:06 +00:00
Ryan Petrello
10945faba1 properly detect ansible-playbook vs ansible runs in bwrap arg building
a recent change (65641c7) made it so that we call
ansible-playbook using its _absolute path_ (i.e.,
/usr/bin/ansible-playbook, /var/lib/venv/xyz/bin/ansible-playbook), so
this logic is no longer correct
2019-01-31 11:06:50 -05:00
softwarefactory-project-zuul[bot]
d4ccb00338 Merge pull request #3118 from ryanpetrello/fix-3108
work around a bug in Django that breaks the stdout HTML view in py3

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-31 14:43:42 +00:00
Ryan Petrello
d10d5f1539 work around a bug in Django that breaks the stdout HTML view in py3
see: https://github.com/ansible/awx/issues/3108
2019-01-31 01:01:40 -05:00
Hideki Saito
3e5f328b52 Fix chrome can not be started with unit-tests due to missing shared libraries
- Added installation packages conforming to the unit-tests/Dockerfile

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-01-31 13:02:23 +09:00
Hideki Saito
d558ffd699 Fix chrome can not be started with unit-tests due to missing shared libraries
- Modify Dockerfile to install necesarry shared libraries for chrome

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-01-31 09:54:55 +09:00
John Mitchell
21bdd487e6 fix to tabs -- padding around and left most border 2019-01-30 16:32:42 -05:00
John Mitchell
4ce19a4b42 add empty list functionality to org list 2019-01-30 16:20:04 -05:00
John Mitchell
98cb8c6f6e update scss patternfly override file and add center empty list tweak 2019-01-30 16:20:04 -05:00
Michael Abashian
a2007b8e0c Merge pull request #98 from mabashian/selected-list
Adds selected list to lookup component
2019-01-30 15:58:14 -05:00
mabashian
0e9e17f957 Only update selected instance groups if the select button is clicked in the modal 2019-01-30 15:27:12 -05:00
softwarefactory-project-zuul[bot]
b64d401e74 Merge pull request #3086 from kialam/fix-3081-duplicate-template-expanded
Fix expanded view not persisting when a user copies a JT/WF.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-30 18:46:24 +00:00
softwarefactory-project-zuul[bot]
0a3f131adc Merge pull request #3100 from ryanpetrello/die_settings_migration_die
remove awx-manage migrate_to_database_settings

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-30 18:33:14 +00:00
Kia Lam
6f9cf6a649 Fix expanded view not persisting when a user copies a JT/WF. 2019-01-30 13:23:21 -05:00
softwarefactory-project-zuul[bot]
5db43b8283 Merge pull request #3101 from jakemcdermott/bump-prompt-credential-type-page-size
increase request page size for credential types in launch prompts

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-30 18:05:53 +00:00
mabashian
6ed36daef7 Fixes close button on tags in instance group form field 2019-01-30 12:59:22 -05:00
mabashian
5778c9cf05 Removes commented styles, use defined color variable in lockup 2019-01-30 12:46:00 -05:00
mabashian
2579e30ca1 Pulls in latest pf-react. Adds selected list component to org instance groups lookup 2019-01-30 12:46:00 -05:00
softwarefactory-project-zuul[bot]
aa9e60c508 Merge pull request #3087 from kialam/fix-3082-sidenav-on-resize
Some sidebar nav fixes.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-30 17:40:46 +00:00
softwarefactory-project-zuul[bot]
2162e8e0cc Merge pull request #3109 from ryanpetrello/overindent
fix overindent lint failures

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-30 17:36:52 +00:00
Ryan Petrello
1eeffe4ae2 remove awx-manage migrate_to_database_settings 2019-01-30 12:23:36 -05:00
John Mitchell
701eb6afa5 Merge pull request #97 from jlmitch5/newPagination
New pagination
2019-01-30 12:16:21 -05:00
John Mitchell
e4d44efea2 reduce disabled background color to increase contrast w border 2019-01-30 12:14:48 -05:00
Ryan Petrello
2927803a82 fix overindent lint failures 2019-01-30 12:12:39 -05:00
Jake McDermott
1b50b26901 support up to 200 credential types in launch prompts 2019-01-29 20:10:13 -05:00
softwarefactory-project-zuul[bot]
44819987f7 Merge pull request #3097 from ansible/jakemcdermott-sanitize-jdetails
sanitize reflected user input on job details page

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-29 21:34:32 +00:00
softwarefactory-project-zuul[bot]
9bf0d052ab Merge pull request #3089 from marshmalien/2330-execution-node
Add execution node field to job details panel

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-29 21:17:37 +00:00
Marliana Lara
5c98d04e09 Update execution node field from job status subscriber 2019-01-29 15:48:18 -05:00
Jeff Bradberry
6560ab0fab Migrated the inputs schema on existing CredentialTypes
to convert the custom become_method into a plain string.

related #2630

Signed-off-by: Jeff Bradberry <jeff.bradberry@gmail.com>
2019-01-29 15:04:35 -05:00
softwarefactory-project-zuul[bot]
efb7a729c7 Merge pull request #3091 from beeankha/dupe_logout_msg
Remove error message for regular logout

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-29 19:51:52 +00:00
Jeff Bradberry
6e1deed79e Removed the special-case logic for maintaining the schema of the become_method field
related #2630

Signed-off-by: Jeff Bradberry <jeff.bradberry@gmail.com>
2019-01-29 14:06:26 -05:00
beeankha
ad3721bdb2 Ensure all other error messages don't double up with the logout message 2019-01-29 13:09:28 -05:00
John Mitchell
3c0744629b update pagination component based on ux feedback 2019-01-29 12:50:29 -05:00
John Mitchell
990851aa3b wrap org list in Card for consistency between detail 2019-01-29 12:50:15 -05:00
Jake McDermott
ca64630740 sanitize reflected user input on job details page
This makes sure we're applying the 'sanitize' filter to reflected user input for some of the new information we're displaying on the job details page.
2019-01-29 09:35:57 -05:00
softwarefactory-project-zuul[bot]
8686575311 Merge pull request #3092 from ansible/jakemcdermott-patch-1
Install dependencies for Chromium in unit test image

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-28 22:26:59 +00:00
Jeff Bradberry
0ecd6542bf Changed the become_method field into one that takes arbitrary input
related #2630

Signed-off-by: Jeff Bradberry <jeff.bradberry@gmail.com>
2019-01-28 16:53:54 -05:00
beeankha
5e3d47683d Ensure error messages are showing up, but not doubled 2019-01-28 16:12:20 -05:00
Jake McDermott
73f617d811 Install dependencies for Chromium in unit test image 2019-01-28 15:57:17 -05:00
beeankha
ea7e15bfc4 Remove error message for regular logout 2019-01-28 15:16:28 -05:00
Marliana Lara
eca530c788 Add execution node field to job details panel 2019-01-28 13:48:50 -05:00
Kia Lam
c1b48e2c9c Some sidebar nav fixes.
- Set isExpanded state to false when window width is < 700px.
- Set `pointer-events` to `none` for logo to allow users to easily click on hamburger icon.
2019-01-28 13:25:44 -05:00
softwarefactory-project-zuul[bot]
9d501327fc Merge pull request #3078 from shawnmolnar/fixtypos
Fixed role download typo in help text

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-28 17:53:23 +00:00
Marliana Lara
65e369c0f3 Merge pull request #96 from marshmalien/refactor-url
Refactor Breadcrumbs, Tabs, routing
2019-01-28 12:02:23 -05:00
Molnar, Shawn
31b3bad658 Fixed role download typo in help text 2019-01-25 16:37:51 -08:00
Marliana Lara
9048c34a7d Fix merge conflicts and linting errors 2019-01-25 16:49:46 -05:00
Marliana Lara
21298c8872 Add Breadcrumbs test 2019-01-25 16:42:09 -05:00
Marliana Lara
b820e411d3 Refactor breadcrumbs, tabs, routing.
* Cleanup previous params logic from Notificaitons list
* Add shared breadcrumbs and tabs components
* Structure Organization screens to render only cardBody content
* Add styles
* Fetch organization when location changes
2019-01-25 16:42:04 -05:00
John Mitchell
dd522c240e remove test debuggers 2019-01-25 16:17:58 -05:00
John Mitchell
54e79a93d9 Merge pull request #95 from jlmitch5/fixLinting
Fix linting
2019-01-25 16:16:55 -05:00
softwarefactory-project-zuul[bot]
155c214df0 Merge pull request #3077 from mabashian/i18n-sweep
Mark strings for translation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-25 21:11:30 +00:00
John Mitchell
02d7006ea4 fix tests 2019-01-25 15:22:32 -05:00
mabashian
5931c13b04 Mark strings for translation 2019-01-25 14:21:35 -05:00
softwarefactory-project-zuul[bot]
5d7b7d5888 Merge pull request #3074 from kialam/projects-expand-collapse
Add expand/collapse toolbar to Projects List.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-25 17:41:01 +00:00
softwarefactory-project-zuul[bot]
53ad819d65 Merge pull request #3068 from kialam/job-template-expand-collapse
Add expand/collapse toolbar for Job Templates list.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-25 17:40:54 +00:00
softwarefactory-project-zuul[bot]
3ce3786303 Merge pull request #3071 from saito-hideki/pr/fix_doc_saml_team_attr_map
Fixed incorrect setting item name for SAML Team Attribute Mapping

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-25 16:45:29 +00:00
softwarefactory-project-zuul[bot]
46bc146e26 Merge pull request #3076 from ryanpetrello/test-data-cleanup
move awx.main.utils.ansible tests data into the correct location

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-25 16:38:38 +00:00
Ryan Petrello
88eaf1154a move awx.main.utils.ansible tests data into the correct location 2019-01-25 11:11:12 -05:00
Kia Lam
5421c243d7 Add expand/collapse toolbar to Projects List.
Add some responsive styling.
2019-01-25 10:31:38 -05:00
softwarefactory-project-zuul[bot]
5cdab1b57a Merge pull request #3070 from ryanpetrello/bye-bye-six
clean up unnecessary usage of the six library (awx only supports py3)

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-25 15:20:38 +00:00
softwarefactory-project-zuul[bot]
2a86c5b944 Merge pull request #3061 from jakemcdermott/inventory-scm-job-linkage
add linked status indicator for scm inventory project updates

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-25 13:05:36 +00:00
Ryan Petrello
daeeaf413a clean up unnecessary usage of the six library (awx only supports py3) 2019-01-25 00:19:48 -05:00
Hideki Saito
2d119f7b02 Fixed incorrect setting item name for SAML Team Attribute Mapping 2019-01-25 09:24:12 +09:00
softwarefactory-project-zuul[bot]
68950d56ca Merge pull request #3065 from ryanpetrello/dispatcher-reap-refactor
clean up some unnecessary dispatcher reaping code

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-24 22:30:45 +00:00
Jake McDermott
477c5df022 add linked status indicator for scm inventory project updates
Signed-off-by: Jake McDermott <yo@jakemcdermott.me>
2019-01-24 16:24:42 -05:00
softwarefactory-project-zuul[bot]
4c8f4f4cc5 Merge pull request #3067 from mabashian/2264-custom-venv
Adds environment to output details for jts and inv syncs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-24 20:35:49 +00:00
softwarefactory-project-zuul[bot]
6726e203b9 Merge pull request #3050 from jlmitch5/jobTimeoutInUi
Job timeout in ui

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-24 19:16:48 +00:00
Kia Lam
9a10811366 Add expand/collapse toolbar for Job Templates list. 2019-01-24 13:50:32 -05:00
mabashian
62bffaa7e6 Make environment subscribe-able 2019-01-24 13:08:19 -05:00
John Mitchell
7de89f6486 fix linting issues 2019-01-24 13:05:36 -05:00
mabashian
14423c4f3f Add param to getEnvironmentDetails allowing us to pass in a value rather than pulling it from the model 2019-01-24 12:58:29 -05:00
mabashian
8037cddfe5 Adds environment to output details for jts and inv syncs 2019-01-24 12:19:24 -05:00
John Mitchell
2588832629 remove debug flag from eslint 2019-01-24 12:08:39 -05:00
softwarefactory-project-zuul[bot]
be4b3c75b4 Merge pull request #3052 from jakemcdermott/inputs_enc
explicitly handle .inputs in decrypt_field, encrypt_field

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-01-24 17:04:30 +00:00
softwarefactory-project-zuul[bot]
818b261bea Merge pull request #3057 from kialam/add-list-toolbar
Expand and Collapse Jobs List

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-24 16:45:57 +00:00
John Mitchell
f37bdba645 update eslint config and add eslint ignore 2019-01-24 11:36:18 -05:00
Ryan Petrello
4707dc2a05 clean up some unnecessary dispatcher reaping code 2019-01-24 11:11:05 -05:00
Kia Lam
ebc2b821be Only show toolbar if the job list is not empty. 2019-01-24 10:44:58 -05:00
Kia Lam
85a875bbfe Styling changes. 2019-01-24 10:44:58 -05:00
Kia Lam
a9663c2900 Add expand/collapse toolbar to Jobs List view. 2019-01-24 10:44:58 -05:00
Kia Lam
05c24df9e3 Add list toolbar component. 2019-01-24 10:44:58 -05:00
Ryan Petrello
1becd4c39d Merge pull request #3066 from ryanpetrello/frosted-flakes-are-more-than-good
clean up some minor linting issues
2019-01-24 10:40:37 -05:00
Ryan Petrello
9817ab14d0 clean up some minor linting issues 2019-01-24 10:23:56 -05:00
Michael Abashian
28b5d43e1f Merge pull request #93 from mabashian/63-org-notifications
Add notification list to org
2019-01-24 09:21:13 -05:00
mabashian
47719776f2 More cleanup based on pr feedback. Adds org notif list page and tests 2019-01-23 16:53:02 -05:00
softwarefactory-project-zuul[bot]
51b51a9bf7 Merge pull request #3051 from ryanpetrello/record-venv-usage
record the virtualenv used when a job or inventory sync runs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-23 21:33:31 +00:00
softwarefactory-project-zuul[bot]
55c5dd06cf Merge pull request #3058 from ryanpetrello/ansible-inventory-custom-venv
use the correct ansible-inventory executable for custom venvs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-23 19:30:13 +00:00
mabashian
6c19d6ae4e Removes unnecessary fragment elements. Fixes vertical alignment on notif row item. Bind notification list functions to constructor 2019-01-23 14:13:51 -05:00
Ryan Petrello
0e5e23372d use the correct ansible-inventory executable for custom venvs 2019-01-23 14:07:48 -05:00
softwarefactory-project-zuul[bot]
1e44d5c833 Merge pull request #2899 from AlanCoding/copy_created_by
Copy WFJT created_by to jobs it spawns

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-23 16:53:49 +00:00
Ryan Petrello
f7bc8fb662 record the virtualenv used when a job or inventory sync runs
see: https://github.com/ansible/awx/issues/2264
2019-01-23 11:48:06 -05:00
softwarefactory-project-zuul[bot]
416dcc83c9 Merge pull request #3020 from beeankha/fix_unicode_error
Fix unicode error

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-01-23 15:26:07 +00:00
AlanCoding
13ed656506 Copy WFJT created_by to jobs it spawns 2019-01-23 09:33:14 -05:00
softwarefactory-project-zuul[bot]
f683f87ce3 Merge pull request #3053 from girishramnani/bug/jt-patch
resolved the error message for JT Patch

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-23 13:39:09 +00:00
Girish Ramnani
c15cbe0f6e resolved the error message for JT Patch
Signed-off-by: Girish Ramnani <girishramnani95@gmail.com>
2019-01-23 11:53:27 +05:30
Jake McDermott
a8728670e1 handle credential.inputs in decryption utils 2019-01-22 22:56:24 -05:00
softwarefactory-project-zuul[bot]
cf9dffbaf8 Merge pull request #3035 from ansible/e2e-websockets
E2E tests for websockets (and other things)

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-23 02:34:19 +00:00
Daniel Sami
3d1b32c72f websocket tests and fixture updates 2019-01-23 11:06:42 +09:00
John Mitchell
e95da84e5a make forks fill for value of 0 and update timeout help text based on docs feedback 2019-01-22 13:48:57 -05:00
John Mitchell
fcd759fa1f add timeout field to ui 2019-01-22 13:33:51 -05:00
softwarefactory-project-zuul[bot]
6772c81927 Merge pull request #3047 from jakemcdermott/npm-ci
use npm ci to install ui dependencies

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-22 17:28:40 +00:00
softwarefactory-project-zuul[bot]
774ec40989 Merge pull request #3048 from matburt/schema_detector_regex
Make schema generator handle alternative iso 8601 datetimes

Reviewed-by: awxbot
             https://github.com/awxbot
2019-01-22 17:09:23 +00:00
softwarefactory-project-zuul[bot]
b7ba280da3 Merge pull request #3040 from jiuka/709-support-ssl-connections-for-postgresql
Add pg_sslmode option to access PostgreSQL by ssl

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-22 16:51:41 +00:00
Matthew Jones
058e2c0d81 Make schema generator handle alternative iso 8601 datetimes 2019-01-22 11:44:56 -05:00
Marius Rieder
072919040b Omit DATABASE_SSLMODE if not set. 2019-01-22 17:24:44 +01:00
softwarefactory-project-zuul[bot]
91ae343e3b Merge pull request #2847 from marshmalien/testing-smart-inv-host-filter
Fix host_filter smart search bug when searching by "or" operator

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-22 16:10:26 +00:00
Jake McDermott
5afabc7a19 use npm ci to install ui dependencies 2019-01-22 11:04:58 -05:00
softwarefactory-project-zuul[bot]
4788f0814f Merge pull request #3045 from jakemcdermott/regenerate-package-lock
updating package-lock.json

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2019-01-22 15:01:43 +00:00
softwarefactory-project-zuul[bot]
c528ece5df Merge pull request #3046 from shanemcd/3.0.0
AWX 3.0.0

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-22 14:58:33 +00:00
Jake McDermott
a1c03cd6a1 update license files 2019-01-22 09:33:13 -05:00
Shane McDonald
42fbb81337 AWX 3.0.0 2019-01-22 09:32:39 -05:00
softwarefactory-project-zuul[bot]
5286e24721 Merge pull request #3044 from ryanpetrello/dispatcher-reap-db-error
detect dead DB connections in the dispatcher when reaping jobs

Reviewed-by: Chris Meyers
             https://github.com/chrismeyersfsu
2019-01-22 14:32:34 +00:00
Jake McDermott
0bde309d23 updating package-lock.json 2019-01-22 09:04:27 -05:00
Ryan Petrello
b2442d42a3 detect dead DB connections in the dispatcher when reaping jobs 2019-01-22 08:40:26 -05:00
softwarefactory-project-zuul[bot]
18409f89c5 Merge pull request #3042 from ryanpetrello/py3-sso-complete
fix a py3 bug that breaks the SSO complete endpoint

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-22 13:12:41 +00:00
softwarefactory-project-zuul[bot]
88d5fb0420 Merge pull request #3039 from AlanCoding/inventory_venv
Use custom virtual environment in inventory updates

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-01-22 13:12:37 +00:00
softwarefactory-project-zuul[bot]
1cc0f81913 Merge pull request #3034 from rooftopcellist/upgrade_social_auth_core
upgrade social-auth-core to v3.0.0

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-21 22:10:50 +00:00
Ryan Petrello
8cb8e63db5 fix a py3 bug that breaks the SSO complete endpoint 2019-01-21 17:04:13 -05:00
Christian Adams
8597670299 upgrade social-auth-core to v3.0.0 2019-01-21 16:35:47 -05:00
softwarefactory-project-zuul[bot]
c0ff4dad59 Merge pull request #3021 from jakemcdermott/credential_input_access_methods
add input access methods to credentials

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-21 21:10:12 +00:00
Marliana Lara
9b2ca04118 Fix host_filter smart search bug when searching by "or" operator 2019-01-21 15:50:33 -05:00
mabashian
c97dfeb725 Cleanup after change post... to create... 2019-01-21 15:46:11 -05:00
mabashian
2c19a5a1d7 Changed post to create in api.js. Removed capitalize text component in favor of css solution. Updates to empty list contents. Fixes padding on notifications list 2019-01-21 15:44:34 -05:00
softwarefactory-project-zuul[bot]
d98c60519e Merge pull request #2895 from AlanCoding/scm_vars
Allow SCM overwrite vars in the UI

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-21 19:13:47 +00:00
Marius Rieder
589531163a Add pg_sslmode option.
Allows to use PostgreSQL over SSL #709
2019-01-21 19:47:34 +01:00
mabashian
4f929c7052 Fix inadvertent merge conflict change 2019-01-21 13:30:15 -05:00
AlanCoding
5dd8c3ace2 Allow SCM overwrite vars in the UI 2019-01-21 13:27:57 -05:00
mabashian
58f99c8918 Adds notification list to orgs 2019-01-21 13:18:37 -05:00
softwarefactory-project-zuul[bot]
d021c253aa Merge pull request #2959 from crab86/devel
Add Grafana notification type

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-21 17:21:14 +00:00
softwarefactory-project-zuul[bot]
c48c8c04f4 Merge pull request #3038 from Spredzy/x_frame_options
Nginx: Specify X-Frame-Options "DENY" header

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-21 15:31:44 +00:00
softwarefactory-project-zuul[bot]
a2102c92ec Merge pull request #3030 from ryanpetrello/fix-non-utf8-scm
add robust handling of non-UTF8 when detecting inventory/playbooks

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2019-01-21 13:52:55 +00:00
AlanCoding
99288a5e18 Use custom virtual environment in inventory updates 2019-01-21 06:45:55 -05:00
Yanis Guenane
44c48d1d66 Nginx: Specify X-Frame-Options "DENY" header
Adding the X-Frame-Options "DENY"; header to avoid possible clickjacking
attack.

More info of the why available here:
https://www.owasp.org/index.php/Testing_for_Clickjacking_(OTG-CLIENT-009)

Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2019-01-21 12:34:17 +01:00
Daniel Sami
c785c38748 websocket tests initial commit 2019-01-21 13:54:03 +09:00
Sebastian
ebe0ded9c2 Add grafana notification type unit tests 2019-01-20 22:42:03 +01:00
Jake McDermott
2dadfbcc14 use credential input access methods in injectors.py 2019-01-20 14:02:01 -05:00
Jake McDermott
3a58a5b772 use credential input access methods in views/__init__.py 2019-01-20 13:08:41 -05:00
Jake McDermott
5010e98b8f use credential input access methods in projects.py 2019-01-20 13:08:38 -05:00
Jake McDermott
3ef4cc9bfa use credential input access methods in serializers.py 2019-01-20 13:08:34 -05:00
Jake McDermott
c01c671642 use credential input access methods in tasks.py 2019-01-20 13:08:30 -05:00
Jake McDermott
a86e270905 add credential input access methods 2019-01-20 13:08:23 -05:00
Sebastian
4058d18593 Add grafana notification type 2019-01-20 13:51:23 +01:00
Ryan Petrello
caa55f112f add robust handling of non-UTF8 when detecting inventory/playbooks 2019-01-19 13:25:41 -05:00
softwarefactory-project-zuul[bot]
d0af952685 Merge pull request #3027 from rooftopcellist/amend_auth_code_help_txt
correct authorization code expiration help-text

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-18 20:37:21 +00:00
softwarefactory-project-zuul[bot]
fbc7f496c5 Merge pull request #3024 from ryanpetrello/ldap-gc-deadlock
fix a deadlock when Python garbage collects LDAPBackend objects

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-18 19:25:11 +00:00
John Mitchell
bb19a4234e Merge pull request #3003 from jlmitch5/newSettingsInUI
add new settings to ui
2019-01-18 14:20:31 -05:00
softwarefactory-project-zuul[bot]
11f7e90f6a Merge pull request #3025 from ryanpetrello/django-cors-headers
add Django CORS middleware

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-18 18:47:14 +00:00
Christian Adams
5c080678a6 correct authorization code expiration help-text 2019-01-18 13:27:01 -05:00
John Mitchell
2df51a923d change grant reference to code in ui help text 2019-01-18 13:13:15 -05:00
Tyler Cross
0da0a8e67b CORS Support
Added the django-cors-headers app and middleware to make CORS possible.
2019-01-18 12:49:00 -05:00
John Mitchell
b75ba7ebea remove auth misc form and move fields under system misc form 2019-01-18 12:43:21 -05:00
John Mitchell
24de951f6c add access token and authorization code expiration settings to ui 2019-01-18 12:43:21 -05:00
John Mitchell
974306541e add isolated settings to ui 2019-01-18 12:43:21 -05:00
softwarefactory-project-zuul[bot]
d2fa5cc182 Merge pull request #3013 from ryanpetrello/ansible-py3-venv
add support for custom py3 ansible virtualenvs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-18 16:29:27 +00:00
Ryan Petrello
e45e4b3cda fix a deadlock when Python garbage collects LDAPBackend objects
we shouldn't call signal.disconnect in __del__ because it can lead to
deadlocks in Django signal dispatch code

The Signal.connect, Signal.disconnect, and Signal._live_receivers
methods all share a threading.Lock():

22a60f8d0b/django/dispatch/dispatcher.py (L49)

It's possible for this to lead to a deadlock:

1.  Have code that calls Signal._live_receivers and enter the critical
    path inside the shared threading.Lock()
2.  Python garbage collection occurs and finds one or more LDAPBackend
    objects with no more references
3.  This __del__ is called, which calls Signal.disconnect
4.  Code in Signal._disconnect attempts to obtain the (already held)
    threading.Lock
5.  Python hangs forever while attempting to garbage collect
2019-01-18 11:27:50 -05:00
Ryan Petrello
65641c7edd add support for custom py3 ansible virtualenvs 2019-01-18 10:55:53 -05:00
softwarefactory-project-zuul[bot]
5f01c3f5a8 Merge pull request #2994 from coreywan/pod-limits
Add POD Limits

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-18 04:28:11 +00:00
softwarefactory-project-zuul[bot]
7b39198f26 Merge pull request #2995 from coreywan/postgres_helm
adds persistence.storageClass and limits to postgress helm install

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-18 04:24:18 +00:00
Bianca
f1e3be5ec8 Removing unicode fix-related lines in ha.py 2019-01-17 14:42:38 -05:00
Bianca
bf5657a06a Update register_queue.py file to enable registration of instance groups with unicode 2019-01-17 14:36:46 -05:00
softwarefactory-project-zuul[bot]
f583dd73e8 Merge pull request #3008 from AlanCoding/inv_cleanup2
Remove deprecated logic & components from inventory import command

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-17 19:23:02 +00:00
softwarefactory-project-zuul[bot]
57b8aa4892 Merge pull request #3002 from themr0c/pg_password_10_character_limit
pg_password should be random 10 character alphanumeric string, when p…

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-17 18:15:38 +00:00
softwarefactory-project-zuul[bot]
474876872e Merge pull request #2999 from themr0c/issue-2991
related #2991 - Helm creation of postgreql on multiple namespaces

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-17 14:28:05 +00:00
softwarefactory-project-zuul[bot]
3eaed52b83 Merge pull request #3017 from ryanpetrello/beat-shelve-error
close the persistent shelve when we're done checking it

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2019-01-17 13:46:09 +00:00
AlanCoding
28822d891c remove unneeded steps in inventory import
Delete some cases that directly loads scripts due
to ansible-inventory group_vars problem (now fixed)

Delete intermediate method that was a go-between the
command and the loader class

Change return type of loader from MemInventory to
a simple python dict

remove backport script and star imports
2019-01-17 08:44:55 -05:00
Ryan Petrello
37dbfa88f9 close the persistent shelve when we're done checking it
this code was added to detect celerybeat shelve .db corruption, but it caused a different issue; opening the shelve in this way puts a write lock on it, which means that when we attempt to open it _again_ moments later, we can't.

when we're done checking the validity of the file, we need to close it
2019-01-17 08:20:21 -05:00
Fabrice Flore-Thebault
b6c30e8ef5 it's a limitation of the official postgres helm chart
Signed-off-by: Fabrice Flore-Thebault <themr0c@users.noreply.github.com>
2019-01-17 12:56:17 +01:00
Fabrice Flore-Thebault
d938c96a76 pg_password should be random 10 character alphanumeric string, when postgresql is running on kubernetes
Signed-off-by: Fabrice Flore-Thebault <themr0c@users.noreply.github.com>
2019-01-17 12:56:06 +01:00
softwarefactory-project-zuul[bot]
4ce18618cb Merge pull request #3014 from jakemcdermott/skip-ui-release-chromium-download
skip chromium download when using ui-release make target

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-17 04:58:22 +00:00
Jake McDermott
6c7f11395b skip chromium download when building release 2019-01-16 20:48:12 -05:00
softwarefactory-project-zuul[bot]
134950ade1 Merge pull request #3006 from ansible/documentation
Documentation of E2E test fixtures, etc.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-16 23:43:46 +00:00
Daniel Sami
7258a43bad rewording, typo corrections 2019-01-17 08:28:22 +09:00
Ryan Petrello
27f98163ff Merge pull request #3012 from ryanpetrello/fix-swagger-key-ordering
enforce key order when writing swagger docs JSON
2019-01-16 16:43:43 -05:00
Ryan Petrello
6d04bd34ce enforce key order when writing swagger docs JSON 2019-01-16 16:00:27 -05:00
softwarefactory-project-zuul[bot]
584ec9cf75 Merge pull request #2538 from ryanpetrello/py3
port awx to run natively on python3.6+

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-16 19:39:14 +00:00
kialam
3060abab1d Merge pull request #87 from ansible/lookup-form-component
Lookup form component
2019-01-16 13:32:28 -05:00
kialam
a70a0fa622 Bump Lookup component test coverage up. 2019-01-16 13:15:51 -05:00
Corey Wanless
aebeeb170e adds pod limits
Signed-off-by: Corey Wanless <corey.wanless@wwt.com>
2019-01-16 09:23:18 -06:00
Fabrice Flore-Thebault
c434d38876 adding helm chart version for postgresql
Signed-off-by: Fabrice Flore-Thebault <themr0c@users.noreply.github.com>
2019-01-16 09:40:49 +01:00
Daniel Sami
ae3ab89515 lint fix 2019-01-16 11:06:25 +09:00
Daniel Sami
0c250cd6af Updated parameter info 2019-01-16 10:44:22 +09:00
kialam
7230b4bf8d Bump up unit test coverage for OrganizationAdd component. 2019-01-15 15:51:37 -05:00
Ryan Petrello
33c1416f6c work around a py3 bug in celerybeat 2019-01-15 15:19:02 -05:00
kialam
fc32cf026f Address review feedback. 2019-01-15 15:15:17 -05:00
kialam
e8fe6fe33c Fix & Add unit tests. 2019-01-15 14:58:23 -05:00
Ryan Petrello
3d7fcb3835 fix a few isolated issues related to the py2 -> py3 move 2019-01-15 14:09:05 -05:00
Shane McDonald
04da4503db Python 3 / Upstream Kubernetes 2019-01-15 14:09:05 -05:00
Ryan Petrello
2016798e0f fix a few UTF-8 bugs on Ubuntu related to stdout text downloads 2019-01-15 14:09:05 -05:00
Ryan Petrello
39d119534c support isolated runs in py2 *and* py3 (for now)
once we merge in runner support for isolated environments, we can
revert this commit (because we'll always run isolated code using python3
executables)
2019-01-15 14:09:05 -05:00
Shane McDonald
d273472927 Enable py3 SCL if needed 2019-01-15 14:09:05 -05:00
Shane McDonald
5aa99b2ca1 Dependency updates for Python 3 2019-01-15 14:09:05 -05:00
Ryan Petrello
96b9bd6ab6 make py3 packaging work for k8s 2019-01-15 14:09:05 -05:00
Author: Jim Ladd
2c5bdf3611 fix some isolated py3 bugs 2019-01-15 14:09:05 -05:00
Ryan Petrello
af4234556e remove dm.xmlsec.binding
python-saml uses dm.xmlsec.binding only supports python2
by moving to py3, we now use python3-saml (which uses python-xmlsec
instead)

see: https://github.com/onelogin/python-saml/issues/145#issuecomment-222021691
2019-01-15 14:09:05 -05:00
Ryan Petrello
c6482137d1 parametrize PYTHON for Ubuntu py35 support 2019-01-15 14:09:05 -05:00
Ryan Petrello
f223df303f convert py2 -> py3 2019-01-15 14:09:01 -05:00
Ryan Petrello
f132ce9b64 switch image builds to py3 2019-01-15 13:25:13 -05:00
softwarefactory-project-zuul[bot]
f22fd58392 Merge pull request #3007 from AlanCoding/test_logging
Updates to logging, specifically for unit tests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-15 18:19:58 +00:00
AlanCoding
cccc038600 Updates to logging, specifically for unit tests 2019-01-15 11:34:54 -05:00
softwarefactory-project-zuul[bot]
b9607dd415 Merge pull request #2983 from mabashian/upgrade-jquery-mabashian
Upgrades jQuery and Bootstrap

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-15 14:06:33 +00:00
Fabrice Flore-Thebault
7b32262f75 revert pg_hostname
Signed-off-by: Fabrice Flore-Thebault <themr0c@users.noreply.github.com>
2019-01-15 14:59:17 +01:00
Fabrice Flore-Thebault
d69f6acf64 add helm repo update and fix helm upgrade
Signed-off-by: Fabrice Flore-Thebault <themr0c@users.noreply.github.com>
2019-01-15 14:48:26 +01:00
mabashian
66a859872e Fixes for numerous bootstrap upgrade bugs, uses variables for colors in bootstrap override style file 2019-01-15 08:40:35 -05:00
Fabrice Flore-Thebault
ef3aab1357 related #2991 - unify postgresql_service_name
Signed-off-by: Fabrice Flore-Thebault <themr0c@users.noreply.github.com>
2019-01-15 11:44:08 +01:00
Daniel Sami
62ebf85b96 Documentation of functions 2019-01-14 19:18:47 -05:00
Corey Wanless
0c074e0988 * adds persistence.storageClass and limits to postgress helm install
* adds new variables to the inventory

Signed-off-by: Corey Wanless <corey.wanless@wwt.com>
2019-01-14 11:28:21 -06:00
softwarefactory-project-zuul[bot]
32c705a62a Merge pull request #2996 from coreywan/setup-postgress-activation-wait
adds wait time for postgres setup as a variable

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-14 17:22:54 +00:00
mabashian
7194338653 Reduces flake on launch job e2e test 2019-01-14 10:54:37 -05:00
kialam
215c23609c Hook up 'x' remove button; rename ListItem component. 2019-01-14 09:45:49 -05:00
Fabrice Flore-Thebault
d43521bb77 fix #2991 - make Helm creation of postgreql succeed when installing multiple AWX on different namespaces on same kubernetes
Signed-off-by: Fabrice Flore-Thebault <themr0c@users.noreply.github.com>
2019-01-14 10:32:21 +01:00
Corey Wanless
b1710f9523 adds wait time for postgres setup as a variable 2019-01-11 22:23:43 -06:00
mabashian
3b456d3e72 Fix credential list e2e test 2019-01-11 16:44:59 -05:00
softwarefactory-project-zuul[bot]
12a04a6da6 Merge pull request #2956 from ansible/swap-diff-order-schema-change
swap file order so diff of schema makes more sense

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-11 20:11:42 +00:00
mabashian
99205fde16 Fixes linting errors 2019-01-11 13:06:52 -05:00
mabashian
8539eae114 Fixes for e2e tests 2019-01-11 12:50:01 -05:00
softwarefactory-project-zuul[bot]
3e2dd4f86b Merge pull request #2993 from ryanpetrello/fix-ctint-db-failure
catch _all_ types of django.db.utils.Error on CTinT key lookups

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-11 14:56:11 +00:00
Ryan Petrello
32c14d6eab catch _all_ types of django.db.utils.Error on CTinT key lookups 2019-01-11 08:49:47 -05:00
softwarefactory-project-zuul[bot]
4f9901db38 Merge pull request #2867 from AlanCoding/supervisor_names
Make docker environment interoperable with supervisorctl commands

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-11 13:28:35 +00:00
softwarefactory-project-zuul[bot]
a77c981e0c Merge pull request #2992 from AlanCoding/opt_dashboard
Optimize dashboard using Django annotation for sum

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-11 13:15:42 +00:00
AlanCoding
77d2364022 Make docker environment interoperable with supervisorctl commands 2019-01-10 13:41:15 -05:00
AlanCoding
d1b42fd583 Optimize dashboard using Django annotation for sum 2019-01-10 12:22:39 -05:00
mabashian
2dfb0abb69 Fixes jshint errors 2019-01-09 11:45:51 -05:00
mabashian
7bcbaabd71 Removed extraneous comments 2019-01-09 11:03:51 -05:00
mabashian
9c20e1b494 Upgrades jquery and bootstrap 2019-01-09 11:03:51 -05:00
kialam
c5cd659c83 Redirect user to org detail page after successful POST. 2019-01-08 16:09:30 -05:00
kialam
a1d1dc7a24 Style pop up modal 2019-01-08 15:56:37 -05:00
John Mitchell
a1419f0f20 Merge pull request #85 from jlmitch5/portalModeToMyView
update portal mode to my view and update translations
2019-01-08 14:00:54 -05:00
kialam
c085fc6751 Merge remote-tracking branch 'origin/master' into lookup-form-component 2019-01-08 13:47:06 -05:00
Marliana Lara
57b1c2c42c Merge pull request #86 from marshmalien/directory-structure
Move Organization screens and tests into new folder structure
2019-01-08 13:06:55 -05:00
kialam
395e30509b Fix linter and existing unit tests. 2019-01-07 17:17:22 -05:00
kialam
517ef8a2c9 Hook up add instance group functionality. 2019-01-07 16:56:39 -05:00
Marliana Lara
d040f063e9 Move Organization screens and tests into new folder structure 2019-01-07 15:33:27 -05:00
John Mitchell
e77efbfec2 update portal mode to my view and update translations 2019-01-07 15:23:31 -05:00
softwarefactory-project-zuul[bot]
2b5210842d Merge pull request #2977 from MarBra/devel
Fix typo in ca_trust_dir

Reviewed-by: Bill Nottingham
             https://github.com/wenottingham
2019-01-07 19:42:50 +00:00
kialam
f34ec4be10 Merge remote-tracking branch 'origin/master' into lookup-form-component 2019-01-07 14:40:35 -05:00
marcel
0b3e51458d Fix typo in ca_trust_dir
The correct path is used in docker-compose template:
- "{{ ca_trust_dir +':/etc/pki/ca-trust/source/anchors:ro' }}"
2019-01-07 19:29:34 +01:00
Marliana Lara
f521fe5cbc Merge pull request #79 from marshmalien/org-breadcrumb-tabs
Org Breadcrumb and Tabs
2019-01-07 11:23:51 -05:00
Marliana Lara
2d3152ef41 Add translation and small css tweaks 2019-01-07 11:15:11 -05:00
kialam
c63896fbb6 Implement basic lookup modal component. 2019-01-07 10:09:35 -06:00
Marliana Lara
f76e9bddf9 Update org utils test 2019-01-07 10:52:50 -05:00
Marliana Lara
83e300636d Move Tab components out into component directory 2019-01-07 10:52:50 -05:00
Marliana Lara
913077c489 Update tab content and related badge links 2019-01-07 10:52:50 -05:00
Marliana Lara
e782be10b6 Add Tab styles 2019-01-07 10:52:50 -05:00
Marliana Lara
7406421d1b Add PF Breadcrumb components 2019-01-07 10:52:47 -05:00
Jake McDermott
976c490dc3 Merge pull request #84 from jakemcdermott/tests-fixup
add more unit and functional test coverage
2019-01-07 07:50:11 -05:00
Jake McDermott
a83e5e5675 add unit test coverage for DataListToolbar.jsx 2019-01-07 07:40:31 -05:00
Jake McDermott
8756da59fa add unit test coverage for TowerLogo.jsx 2019-01-07 07:40:25 -05:00
Jake McDermott
4936238344 add more unit test coverage for index.jsx 2019-01-07 07:40:19 -05:00
Jake McDermott
cb0367ac28 handle null error response 2019-01-07 07:40:12 -05:00
Jake McDermott
48e1fbfb38 add unit test coverage for AnsibleSelect.jsx 2019-01-07 07:40:06 -05:00
Jake McDermott
bbd94fa4f7 add functional test coverage for App.jsx 2019-01-07 07:39:59 -05:00
Jake McDermott
164464c595 add more test coverage for api client 2019-01-07 07:39:51 -05:00
Jake McDermott
5bff942110 pagination test fixup 2019-01-07 07:39:42 -05:00
Jake McDermott
6a7ba87a02 org-add fixup
re-adding a changeset I missed when resolving a merge conflict earlier
2019-01-07 07:39:31 -05:00
Jake McDermott
3f2e47b1b1 Merge pull request #82 from jakemcdermott/page-toolbar-tests
add some tests for page toolbar and background wrapper
2019-01-04 15:28:06 -05:00
Jake McDermott
df6877bb99 Merge pull request #83 from jakemcdermott/update-webpack-dev-server
update webpack-dev-server
2019-01-04 15:20:54 -05:00
Jake McDermott
b69522b5aa add basic test for background wrapper component 2019-01-04 15:20:32 -05:00
Jake McDermott
95861491cb add more tests for header toolbar 2019-01-04 15:20:22 -05:00
Jake McDermott
e07db0c05e update webpack-dev-server 2019-01-04 15:12:57 -05:00
Jake McDermott
8d62b7a2e3 Merge pull request #75 from ansible/contributing-guide
Add a contributing doc to our repo.
2019-01-03 22:24:31 -05:00
Jake McDermott
f6f6643622 Merge pull request #81 from jakemcdermott/update-and-refactor
wip - update to pf-react 1.43 and refactor some things
2019-01-03 19:37:16 -05:00
Jake McDermott
0d565eb3e3 add header toolbar test 2019-01-03 18:11:26 -05:00
Jake McDermott
23e34bcbbe remove config pass-through
removing this for the time being to giving the config Context a try
2019-01-03 18:00:20 -05:00
Jake McDermott
87101a487d use constructor bound methods for pagination 2019-01-03 17:54:07 -05:00
Jake McDermott
6446e45165 use constructor bound methods for org view 2019-01-03 17:54:04 -05:00
Jake McDermott
afcfd1640e use constructor bound methods for org list 2019-01-03 17:54:01 -05:00
Jake McDermott
e015558190 use constructor bound methods for data toolbar 2019-01-03 17:53:58 -05:00
Jake McDermott
e5cdea8daf use constructor bound methods for logo 2019-01-03 17:53:55 -05:00
Jake McDermott
5948ecce16 use constructor bound methods for nav group 2019-01-03 17:53:52 -05:00
Jake McDermott
24208197e8 use constructor bound methods for Login 2019-01-03 17:53:49 -05:00
Jake McDermott
dce50fe18b update route group params 2019-01-03 17:53:46 -05:00
Jake McDermott
3e201d3ca0 add config pass-through to inline render 2019-01-03 17:53:43 -05:00
Jake McDermott
4ccce4cc9e add header toolbar component and move About modal control to App 2019-01-03 17:53:40 -05:00
Jake McDermott
31d0347553 test fixup 2019-01-03 17:53:37 -05:00
Jake McDermott
8f4437e17e initialize and pass api client to subviews 2019-01-03 17:53:34 -05:00
Jake McDermott
a023df2c17 add inline rendering prop to app component 2019-01-03 17:53:31 -05:00
Jake McDermott
f2760ed91c use default patternfly breakpoint token name 2019-01-03 17:53:28 -05:00
Jake McDermott
9c6df68557 decouple App and Login components 2019-01-03 17:53:25 -05:00
Jake McDermott
6efd523db2 move wrapper / shared components out of App component 2019-01-03 17:53:21 -05:00
Jake McDermott
f975f9fa75 add background component 2019-01-03 17:53:18 -05:00
Jake McDermott
a2601d5f67 remove conditional redirect component 2019-01-03 17:53:08 -05:00
Jake McDermott
18505b35b8 add params for component routing 2019-01-03 17:53:05 -05:00
Jake McDermott
8bd85193ab fix login page test for @patternfly/react-core 1.43.5 2019-01-03 17:53:01 -05:00
Jake McDermott
70840841c1 update LoginPage param names for @patternfly/react-core 1.43.5 2019-01-03 17:52:58 -05:00
Jake McDermott
1c483a42c6 update @patternfly/react-core to 1.43.5 2019-01-03 17:52:53 -05:00
Jake McDermott
2254bdb0e1 make default dev server target overridable with env vars 2019-01-03 17:52:46 -05:00
Jake McDermott
23bb32b7ad Merge pull request #72 from ansible/react-context-api
Implement React Context API
2019-01-03 15:28:54 -05:00
kialam
e8924e8f6f Fix linter errors. 2019-01-03 15:20:46 -05:00
kialam
e77d81dd5b Lift config context one level higher.
- Refactor About component to use config context.
- Update About component unit tests.
2019-01-03 15:20:41 -05:00
kialam
a217a387c6 Use new lifecycle method to update component state.
- Use component state to handle rendering of Ansible Select dropdown based on the number of custom virtualenvs the API returns.
2019-01-03 15:20:35 -05:00
kialam
13680a436c Add unit tests for recent changes to App.jsx. 2019-01-03 15:20:30 -05:00
kialam
6c307726db Use setState instead of sessionStorage for config data. 2019-01-03 15:20:23 -05:00
kialam
9bc87b3e80 Implement React Context API
- Move API GET request to /v2/config out to the top level of our App.
- Store /v2/config response data in sessionStorage.
- Use Context API to pass down relevant data to Organizations component.
- Wrap our AnsibleSelect component as a context consumer and pass in the list of Ansible Environments of the logged in user.
- Clear sessionStorage object when user logs out.
- Update unit tests.
2019-01-03 15:20:08 -05:00
Jake McDermott
f678e158f8 Merge pull request #57 from jlmitch5/updateComponentTests
Update component tests and bump back up coverage
2019-01-03 13:52:28 -05:00
John Mitchell
11583dbff0 update pagination tests 2019-01-03 13:37:56 -05:00
John Mitchell
e48c734925 update datelisttoolbar test 2019-01-03 13:37:46 -05:00
John Mitchell
e25dcb2448 update app and towerlogo tests and remove stale code 2019-01-03 13:37:41 -05:00
John Mitchell
ebd09883fe update DataListToolbar component and tests 2019-01-03 13:37:31 -05:00
Chris Meyers
d57fc998d5 Merge pull request #2972 from wwitzel3/devel
update to the latest asgi-amqp
2019-01-03 08:22:05 -05:00
Wayne Witzel III
1079051b12 update to the latest asgi-amqp 2019-01-03 07:52:16 -05:00
Chris Meyers
4641056829 Merge pull request #2942 from chrismeyersfsu/doc-tm_affinity
add docs for task manager node decider
2019-01-02 13:57:58 -05:00
chris meyers
db2bb19d65 add docs for task manager node decider 2019-01-02 12:17:28 -05:00
kialam
fefbb8fff8 Fix linter errors. 2019-01-02 09:19:11 -07:00
kialam
f5119e5d97 Lift config context one level higher.
- Refactor About component to use config context.
- Update About component unit tests.
2019-01-02 09:03:48 -07:00
kialam
5fcdd16f54 Use new lifecycle method to update component state.
- Use component state to handle rendering of Ansible Select dropdown based on the number of custom virtualenvs the API returns.
2018-12-22 09:03:44 -05:00
kialam
e30b198418 Remove duplicate REST call in add org component. 2018-12-21 11:56:39 -05:00
kialam
aaa9096b4e Add unit tests for recent changes to App.jsx. 2018-12-21 10:25:17 -05:00
kialam
4eb04b6f5c Use setState instead of sessionStorage for config data. 2018-12-21 10:20:07 -05:00
kialam
6dc11a926e Merge remote-tracking branch 'origin/master' into react-context-api 2018-12-21 10:16:50 -05:00
Elijah DeLee
e5ad2e44fb swap file order so diff of schema makes more sense
This way we will get +'s next to new content :)
2018-12-20 15:05:01 -05:00
softwarefactory-project-zuul[bot]
aa8cda0001 Merge pull request #2801 from ryanpetrello/more-robust-isolated-capacity
collect isolated capacity using a cache plugin, not stdout parsing

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-20 20:01:00 +00:00
Michael Abashian
7f1c3c8c6a Update readme to fix display of unit test commands 2018-12-20 09:52:03 -05:00
softwarefactory-project-zuul[bot]
949f383564 Merge pull request #2947 from wenottingham/spelling-is-gud
Fix 'credential' typo.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-19 13:54:47 +00:00
Bill Nottingham
479ad13630 Fix some more typos while here. 2018-12-18 16:23:17 -05:00
Bill Nottingham
23c2e1be31 Fix 'credential' typo. 2018-12-18 16:12:10 -05:00
kialam
fe857ad68b Merge remote-tracking branch 'origin/master' into react-context-api 2018-12-18 10:52:09 -05:00
kialam
fd513f704b Add a contributing doc to our repo. 2018-12-18 10:30:48 -05:00
softwarefactory-project-zuul[bot]
7628ef01f1 Merge pull request #2938 from mabashian/wf-details-click
Updates to workflow node details link

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-18 12:06:33 +00:00
kialam
46e9fcfda7 Merge pull request #53 from ansible/add-org-new
Basic Add Organization View
2018-12-17 17:14:05 -05:00
mabashian
c0730aa562 Prevent mousedown on details link from triggering pan functionality 2018-12-17 15:20:34 -05:00
Michael Abashian
32378266bd Merge pull request #59 from mabashian/45-list-ux
Small ux changes on the org list based on feedback
2018-12-17 14:55:19 -05:00
mabashian
67d6a9f9ea Fixes display of wf node details link in FF by adding height and width 2018-12-17 14:33:48 -05:00
kialam
ff0015e21d Hook up Cancel button
- Update unit tests.
- Add basic error handling for API requests in Add Orgs component.
2018-12-17 13:44:59 -05:00
mabashian
6ce88fdf4d Separates search dropdown items from sort dropdown items 2018-12-17 13:16:08 -05:00
mabashian
21cf1d85e3 Remove border-radius on add button 2018-12-17 12:40:20 -05:00
mabashian
d43f0cb2fc Removed extraneous style 2018-12-17 12:40:20 -05:00
mabashian
71ace1bc00 Small ux changes on the org list based on feedback 2018-12-17 12:40:20 -05:00
kialam
656e6d4f6a Add back missing style. 2018-12-17 12:39:41 -05:00
Jake McDermott
b375963165 Merge pull request #68 from ansible/refactor-nav
replace navitem generator with expandable navgroup component
2018-12-17 12:15:39 -05:00
kialam
b3b6e0515e Merge remote-tracking branch 'origin/add-org-new' into react-context-api 2018-12-17 11:59:46 -05:00
kialam
b8fc402d55 Implement React Context API
- Move API GET request to /v2/config out to the top level of our App.
- Store /v2/config response data in sessionStorage.
- Use Context API to pass down relevant data to Organizations component.
- Wrap our AnsibleSelect component as a context consumer and pass in the list of Ansible Environments of the logged in user.
- Clear sessionStorage object when user logs out.
- Update unit tests.
2018-12-17 11:44:11 -05:00
Michael Abashian
e58613b441 Merge pull request #70 from mabashian/69-hide-expand-collapse
Adds option to hide expand/collapse in toolbar and hides it for the org list
2018-12-17 11:40:24 -05:00
mabashian
14f1c4b652 Conditionally render rather than show expand/collapse 2018-12-17 11:28:34 -05:00
mabashian
f9854abfa1 Fixed linting error 2018-12-17 10:40:20 -05:00
mabashian
2697615dbf Undo GET request that was made for workflow node jobs missing a type and instead leverage the redirect route. The workflow node results redirect now works for all job types. 2018-12-17 10:26:01 -05:00
softwarefactory-project-zuul[bot]
a131250dc1 Merge pull request #2917 from AlanCoding/relaunch_sjt
Fx bug where some SJs could not be relaunched

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-17 15:07:32 +00:00
Michael Abashian
2d237b6dbb Merge pull request #2 from jakemcdermott/wf-details-click
add output redirect route for workflow playbook nodes
2018-12-17 09:41:41 -05:00
Jake McDermott
1bb86dbdf0 use beginning of location path name when checking for active items 2018-12-17 00:16:49 -05:00
Jake McDermott
3d730ef8d2 add basic unit test for expandable navgroup component 2018-12-17 00:16:31 -05:00
Jake McDermott
5d4aa56f4a refactor wrapped nav components to expandable nav group component 2018-12-16 23:40:54 -05:00
Jake McDermott
c8b15005b4 link to workflow playbook node route from workflow viewer 2018-12-14 19:22:23 -05:00
Jake McDermott
a5c4350695 add redirect route for workflow viewer 2018-12-14 19:20:01 -05:00
mabashian
9f18f8dbdb Fixes split job inside workflow details link bug 2018-12-14 18:04:39 -05:00
mabashian
a8e1c8960f Remove details function 2018-12-14 16:27:35 -05:00
mabashian
7f66053654 Changed workflow node details link to href so that i can be opened in new tab 2018-12-14 14:59:19 -05:00
softwarefactory-project-zuul[bot]
1d6c88b7e2 Merge pull request #2933 from ryanpetrello/openshift-ha-policy
configure an HA policy for openshift/k8s installs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-14 19:45:26 +00:00
softwarefactory-project-zuul[bot]
049f85f3c9 Merge pull request #2937 from mabashian/2932-schedule-prompts
Fixes bug scheduling jt where first survey question is optional

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-14 19:37:03 +00:00
Ryan Petrello
4858868428 configure an HA policy for openshift/k8s installs 2018-12-14 14:08:30 -05:00
mabashian
4e37076955 Fixes bug scheduling jt where first survey question is optional 2018-12-14 14:08:06 -05:00
kialam
9292b21a41 Merge remote-tracking branch 'origin/master' into add-org-new 2018-12-14 10:14:36 -05:00
mabashian
4a8791693f Adds option to hide expand/collapse in toolbar and hides it for the org list 2018-12-14 09:55:59 -05:00
Jake McDermott
9114c16a97 refactor navitem factory function to wrapped router-hoc nav components 2018-12-14 04:05:29 -05:00
Michael Abashian
b2ba863569 Merge pull request #51 from mabashian/43-lingui
Add support for i18n using lingui
2018-12-13 16:56:16 -05:00
softwarefactory-project-zuul[bot]
e6f654b568 Merge pull request #2924 from AlanCoding/run_as_root
Catch python error when unable to find user

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-13 18:01:55 +00:00
AlanCoding
65e110cdbf catch python error when unable to find user 2018-12-13 11:47:54 -05:00
softwarefactory-project-zuul[bot]
10e99c76a8 Merge pull request #2921 from GitStorm/patch-1
tower-cli config: host value needs to be URL

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-13 13:13:42 +00:00
GitStorm
b0e3bc96dd tower-cli config: host value needs to be URL
Since the key name "host" is slightly misleading, it would help to point out in this documentation, that in fact an URL is required for that key/value pair "host" in the tower-cli config. Failing to do so drops the follwing error:

Error: There was a network error of some kind trying to connect to Tower.
The most common  reason for this is a settings issue; is your "host" value in `tower-cli config` correct?
2018-12-13 11:52:56 +01:00
softwarefactory-project-zuul[bot]
59df54b363 Merge pull request #2919 from ryanpetrello/dispatcher-task-import-hardening
only allow the task dispatch worker to import and run decorated tasks

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-13 01:12:48 +00:00
Ryan Petrello
5950f26c69 only allow the task dispatch worker to import and run decorated tasks
this _technically_ prevents a remote code exploit where a user who has
access to publish AMQP messages to the dispatch queue could craft
a special message that would import and run arbitrary Python functions;
that said, the types of user with this privilege level are generally
_already_ the awx user (so they can already do this by hand if they
want)
2018-12-12 17:46:41 -05:00
mabashian
ef9f9e902e Update readme with new npm command syntax 2018-12-12 13:17:07 -05:00
AlanCoding
a3a5c6bf9f fix bug where some SJs could not be relaunched 2018-12-12 11:56:57 -05:00
mabashian
ac8553df85 Pull messages from the correct location 2018-12-12 11:30:50 -05:00
mabashian
6adcac85a6 Moves locales out of src and into build dir. Changes npm commands from extract/compile to extract-strings/compile-strings 2018-12-12 11:28:29 -05:00
kialam
7ea5ea2ecd Merge pull request #55 from ansible/ansible-environment-dropdown
Basic Ansible Environment Select Component
2018-12-12 11:03:00 -05:00
softwarefactory-project-zuul[bot]
ca16787e7c Merge pull request #2697 from ryanpetrello/smarter-websocket-expiry
stop various async background requests from bumping the session expiry

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-12 15:39:20 +00:00
kialam
44029c2191 Use object desctructuring. 2018-12-11 16:57:38 -05:00
kialam
9627a73978 Rename AnsibleEnvironmentSelect to AnsibleSelect
- Update references to the component.
2018-12-11 16:42:24 -05:00
kialam
9c7d449a4d Abstract out API get request to Add Org component.
- This makes it so we now have a generic select dropdown where we can pass data down as props.
2018-12-11 16:20:55 -05:00
softwarefactory-project-zuul[bot]
271bd10b47 Merge pull request #2907 from shanemcd/devel
Bump version to 2.1.2

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-11 17:59:17 +00:00
Ryan Petrello
c2660af60d stop various async background requests from bumping the session expiry
if a user has an active session that just sits on the dashboard or job
list, websocket messages that come in (for e.g., job status changes)
will trigger AJAX requests for more data; this process causes a user
with an idle login to continue to generate API requests, which in turn
ticks their expiry timer.  As a result, users with active sessions
sitting on these two (popular) pages will never be automatically logged
out via SESSION_MAX_AGE.

this change introduces a special header that the UI can use to signify
that a request shouldn't bump the expiry timer
2018-12-11 09:15:58 -05:00
kialam
d047bc876a Basic Ansible Environment Select Component
- Component conditionally renders based on # of virtual environments.
- User can add an Organization and associate it with a virtual environment.
2018-12-10 20:41:47 -05:00
kialam
27e13ca082 Add tests for Organization add view plus code refactoring. 2018-12-10 15:03:33 -05:00
kialam
9400bad990 Linter fixes. 2018-12-10 15:00:49 -05:00
kialam
1dd8175e11 Basic add organization functionality.
- Placeholders for Lookup Modal and Ansible Environment dropdown.
2018-12-10 15:00:16 -05:00
mabashian
356ad06d74 Add support for i18n using lingui 2018-12-10 10:17:00 -05:00
Marliana Lara
e736cfab36 Merge pull request #40 from marshmalien/side-nav-bug
Update active nav item based on url
2018-12-05 10:32:47 -05:00
Marliana Lara
a31ef24be6 Remove calling setState from render 2018-12-05 10:19:14 -05:00
John Mitchell
8f54ec681d Merge pull request #28 from jlmitch5/orgUrls
add routes and breadcrumbs for org detail/edit/related routes
2018-12-05 10:01:01 -05:00
John Mitchell
aaaf598ca1 remove commented out code in the data list toolbar 2018-12-05 09:57:11 -05:00
John Mitchell
00c9ae1376 update map function to be chained 2018-12-05 07:59:06 -05:00
John Mitchell
f83b59cb48 working commit of group and nav selection based on url 2018-12-05 07:59:06 -05:00
Marliana Lara
9341c4660c Update active nav item based on url 2018-12-05 07:58:59 -05:00
John Mitchell
e5320b6fa6 make current tab link replace instead of add new history item 2018-12-04 16:04:44 -05:00
John Mitchell
27542ea322 add tooltip test coverage 2018-12-04 15:27:43 -05:00
John Mitchell
3a8d95b03b working test commit 2018-12-04 14:46:18 -05:00
John Mitchell
aab6aa4ef9 working commit tests 2018-12-03 13:30:31 -05:00
John Mitchell
12c8267b12 update organizations structure and add unstyled sub routes and breadcrumbs 2018-12-03 13:30:30 -05:00
Michael Abashian
1e7ab9deed Merge pull request #30 from mabashian/update-pf-fix-login
Updates to login page after LoginPage and LoginForm components landed
2018-12-03 12:06:49 -05:00
mabashian
8f6b476388 Update sidebar override to ensure it is the same width as the masthead 2018-12-03 11:30:33 -05:00
mabashian
58d6e586cd Fixes login page after pf-react added LoginPage and LoginForm components 2018-11-29 16:50:56 -05:00
mabashian
7d2bc1c766 Bumps all patternfly versions to latest 2018-11-28 11:29:07 -05:00
Ryan Petrello
d5c6c589b2 add an AWX_ISOLATED_VERBOSITY setting for debugging isolated connections 2018-11-26 23:47:16 -05:00
Ryan Petrello
fc0a039097 collect isolated capacity using a cache plugin, not stdout parsing
reading capacity values using the jsonfile cache plugin is more robust
in scenarios where ansible-playbook may print non-JSON output (such as
-vvv or when a custom callback plugin like timer is enabled)
2018-11-26 17:08:42 -05:00
Marliana Lara
07d2a1ed1e Merge pull request #23 from marshmalien/about-modal
Add help dropdown and about modal
2018-11-20 11:33:39 -05:00
Marliana Lara
6d315568d2 Add help dropdown and about modal 2018-11-19 22:53:05 -05:00
Jake McDermott
7fdf27eece Merge pull request #5 from ansible/pf4-table
basic pf4 data list, toolbar, pagination
2018-11-19 11:35:28 -05:00
Jake McDermott
4e6e715f1f add parametrized unit tests for querystring module 2018-11-18 22:50:21 -05:00
Jake McDermott
9979eddbcd add basic component test for pagination 2018-11-18 22:50:15 -05:00
Jake McDermott
de96f6cf8a check tooltip in organization functional test 2018-11-18 22:50:09 -05:00
Jake McDermott
9111948959 add basic component test for data list toolbar 2018-11-18 22:49:59 -05:00
Jake McDermott
e3a5f32b57 wip - pf4 data list and pagination 2018-11-18 22:49:50 -05:00
Jake McDermott
546d5d5587 Merge pull request #20 from ansible/async-await
Start using async-await
2018-11-13 13:38:26 -05:00
kialam
b0855ee33d Fix unhandled promise reject from jenkins. 2018-11-13 13:31:24 -05:00
kialam
03f6e52cf1 Address PR review comments. 2018-11-13 10:55:18 -05:00
kialam
44e9d3919d Update unit tests. 2018-11-13 09:46:43 -05:00
kialam
f520be71d6 Begin using async/await. 2018-11-12 13:24:17 -05:00
Jake McDermott
06470a0e65 Merge pull request #19 from jlmitch5/useCollapsedHeader
Use collapsed header
2018-11-09 21:28:18 -05:00
John Mitchell
5ea40efd3a update pages to utilize collapsed modifier for padding override 2018-11-09 17:31:40 -05:00
John Mitchell
4632383a33 update app component to utilize collapsing header and update style overrides 2018-11-09 17:30:48 -05:00
Jake McDermott
ea0f3a64b1 Merge pull request #16 from jlmitch5/indexJsxTestsAndRestructure
finish unit test coverage
2018-11-06 12:32:29 -05:00
John Mitchell
df57b144c4 fix logout in App.jsx and update test 2018-11-06 12:25:36 -05:00
John Mitchell
7b099578c8 update App.jsx and improve coverage
abstract LogoutButton to component
2018-11-02 17:47:59 -04:00
John Mitchell
08d2718f5e add about page tests 2018-11-02 17:46:43 -04:00
John Mitchell
96b8ab47c4 add TowerLogo tests 2018-11-02 16:34:02 -04:00
John Mitchell
07f6508402 move ConditionalRedirect test to components subfolder 2018-11-02 16:33:40 -04:00
John Mitchell
a670a73fd0 update file mock to return file name 2018-11-02 16:32:51 -04:00
John Mitchell
90d1ab88b1 and index.jsx tests 2018-11-02 13:45:11 -04:00
John Mitchell
19dcf5ed59 update unit test mocks and restructure test dir structure 2018-11-02 13:44:13 -04:00
Jake McDermott
90273247ac Merge pull request #14 from ansible/pagesTests
pages unit tests
2018-10-31 14:52:46 -04:00
John Mitchell
8a3b8823ee move login page test under pages and add tests for all pages stubs 2018-10-31 14:44:18 -04:00
John Mitchell
b40c81cc3d Merge pull request #10 from jlmitch5/loginPageTests
Add login page tests
2018-10-31 09:45:35 -07:00
John Mitchell
e53a6a91d6 remove setTimeout hack for testing api.login Login.jsx handlers 2018-10-31 12:04:59 -04:00
John Mitchell
55586b9b2a convert post-api.login code to using async/await for Login.jsx 2018-10-31 12:04:33 -04:00
John Mitchell
986d299961 move login back to using finally handler and update tests 2018-10-31 10:28:51 -04:00
John Mitchell
7c97989e84 add more login page tests 2018-10-31 09:56:35 -04:00
John Mitchell
ecd8427a51 fix eslint issues with app and conditional redirect tests 2018-10-31 09:56:28 -04:00
Jake McDermott
5c2e6244c6 Merge pull request #13 from jlmitch5/updateBuildSystem
Update build system
2018-10-30 17:34:07 -04:00
John Mitchell
fed7f51476 update build system
polyfill new js features before executing tests
move jest config to file, update transformation exclusion to be okay with axios module
rename enzyme.config.js to jest.setup.js
remove currently unused redux deps
update babel to 7, use env preset as opposed to deprecated stage preset
move .babelrc to newer, favored babel.config.js preset
update all babel preset and plugin packages to those name spaced under @babel
2018-10-30 17:25:29 -04:00
John Mitchell
3ccfc5905e Merge pull request #8 from jlmitch5/navUpdates
update navigation
2018-10-29 12:29:07 -07:00
John Mitchell
74d3e55908 bump patternfly dep versions 2018-10-29 13:58:56 -04:00
John Mitchell
557e619db6 update page navigation
fix issue with jerky close and expand of nav
update nav to use expandle headers
separate settings pages out into separate stup page components
2018-10-26 17:24:34 -04:00
John Mitchell
2dfbae79bd update patternfly style overrides 2018-10-26 17:23:37 -04:00
John Mitchell
fd28cff412 add additional patternfly react packages 2018-10-26 17:23:27 -04:00
Jake McDermott
ca0127d889 Merge pull request #7 from ansible/testing
add unit and functional testing to the app
2018-10-24 22:03:43 -04:00
John Mitchell
05d72ae8cf update webpack and package.json with index.jsx entrypoint 2018-10-24 21:55:59 -04:00
John Mitchell
1caa5b1c54 fix eslint errors 2018-10-24 21:51:35 -04:00
John Mitchell
2245d6a22e update LoginPage component and test pseudocode 2018-10-24 21:35:43 -04:00
John Mitchell
3e9a85a58b remove stale route redirection components 2018-10-24 21:35:14 -04:00
John Mitchell
51c58d5645 remove babel config.js to favor .babelrc file 2018-10-24 21:34:20 -04:00
John Mitchell
cfb89f1e31 working commit LoginPage.jsx tests 2018-10-24 21:16:24 -04:00
John Mitchell
fba1a5b71a fix App.jsx test misnamed variables 2018-10-24 21:15:08 -04:00
John Mitchell
79e68b1dbe add coverage report 2018-10-24 21:11:52 -04:00
John Mitchell
3938d49a1f refactor auth redirect and add ConditionalRedirect unit tests and App unit and functional tests 2018-10-24 16:53:16 -04:00
John Mitchell
0373058540 update api.js api client, and axios mock, and add api.js unit tests 2018-10-24 16:52:11 -04:00
John Mitchell
22112f3dd8 update package-lock.json with new jest and enzyme testing dependencies 2018-10-24 16:50:37 -04:00
John Mitchell
a76ac805f2 add jest and enzyme testing dependencies and update infrastructure configuration to make testing work 2018-10-24 16:50:08 -04:00
Jake McDermott
311346b77b Merge pull request #6 from ansible/nav-login-fixup
nav login fixup
2018-10-16 00:31:52 -04:00
Jake McDermott
05af4c7c53 nav login fixup 2018-10-16 00:30:14 -04:00
Jake McDermott
9f2b2b3456 adding pf assets / styles 2018-10-15 12:55:11 -04:00
Jake McDermott
0fbd0c941a Merge pull request #4 from ansible/nav-login-updates
Nav login updates
2018-10-15 12:49:27 -04:00
Jake McDermott
a54fb0e27d Nav and login updates 2018-10-15 12:44:29 -04:00
Jake McDermott
ff53a9c8ea move logo component to folder 2018-10-15 12:44:14 -04:00
Jake McDermott
070cec19df handle fonts and images differently in webpack config 2018-10-15 12:44:07 -04:00
Jake McDermott
f639f353ec update pf react version 2018-10-15 12:43:52 -04:00
Jake McDermott
ab94398889 Update README.md 2018-10-12 11:54:09 -04:00
Jake McDermott
13f6e63f75 Merge pull request #1 from ansible/nav
wip - one way of approaching nav
2018-10-12 11:23:03 -04:00
Jake McDermott
b31edef9b2 one way of approaching nav 2018-10-11 22:48:39 -04:00
Jake McDermott
b2ebbc6a0a use a few more pf-core components 2018-09-26 21:39:04 -04:00
Jake McDermott
d926378cf5 add .gitignore 2018-09-26 20:59:50 -04:00
Jake McDermott
f8a4b01da5 lint 2018-09-26 20:59:41 -04:00
Jake McDermott
0986ebef33 avoid port collision with other tooling 2018-09-26 18:11:29 -04:00
Jake McDermott
065813ebc0 make default configuration work with awx development api server 2018-09-26 18:06:30 -04:00
Jake McDermott
a73c1dd28e Update README.md 2018-09-26 14:50:15 -04:00
Jake McDermott
421aa09383 Update README.md 2018-09-26 14:31:28 -04:00
Jake McDermott
72af9c1405 Update README.md 2018-09-26 14:02:10 -04:00
Jake McDermott
1bfa8b19ff update readme 2018-09-26 13:57:10 -04:00
Jake McDermott
43f3b484f9 initial commit 2018-09-25 10:53:35 -04:00
2322 changed files with 205786 additions and 54469 deletions

View File

@@ -1,6 +0,0 @@
[mini_dinstall]
fqdn = localhost
method = local
incoming = FIXME/deb-repo/mini-dinstall/incoming
run_dinstall = 0
post_upload_command = mini-dinstall -b -v

View File

@@ -1,20 +0,0 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
[Makefile]
indent_style = tab
[**.py]
indent_style = space
indent_size = 4
[**.{js,less,html}]
indent_style = space
indent_size = 4
[**.{json}]
indent_style = space
indent_size = 2

1
.env
View File

@@ -1,2 +1,3 @@
PYTHONUNBUFFERED=true
SELENIUM_DOCKER_TAG=latest

1
.github/BOTMETA.yml vendored
View File

@@ -1,3 +1,4 @@
---
files:
awx/ui/:
labels: component:ui

View File

@@ -7,12 +7,6 @@ about: Create a report to help us improve
##### ISSUE TYPE
- Bug Report
##### COMPONENT NAME
<!-- Pick the area of AWX for this issue, you can have multiple, delete the rest: -->
- API
- UI
- Installer
##### SUMMARY
<!-- Briefly describe the problem. -->

View File

@@ -7,16 +7,5 @@ about: Suggest an idea for this project
##### ISSUE TYPE
- Feature Idea
##### COMPONENT NAME
<!-- Pick the area of AWX for this issue, you can have multiple, delete the rest: -->
- API
- UI
- Installer
##### SUMMARY
<!-- Briefly describe the problem or desired enhancement. -->
##### ADDITIONAL INFORMATION
<!-- Include any links to sosreport, database dumps, screenshots or other
information. -->

16
.gitignore vendored
View File

@@ -8,6 +8,7 @@ reference-schema.json
.tags1
# Tower
awx-dev
awx/settings/local_*.py*
awx/*.sqlite3
awx/*.sqlite3_*
@@ -27,8 +28,12 @@ awx/ui/build_test
awx/ui/client/languages
awx/ui/templates/ui/index.html
awx/ui/templates/ui/installing.html
awx/ui_next/node_modules/
awx/ui_next/coverage/
awx/ui_next/build/locales/_build
/tower-license
/tower-license/**
tools/prometheus/data
# Tower setup playbook testing
setup/test/roles/postgresql
@@ -62,6 +67,7 @@ __pycache__
# UI build flag files
awx/ui/.deps_built
awx/ui/.release_built
awx/ui/.release_deps_built
# Testing
.cache
@@ -119,6 +125,7 @@ local/
requirements/vendor
.i18n_built
.idea/*
*credentials*.y*ml*
# AWX python libs populated by requirements.txt
awx/lib/.deps_built
@@ -126,4 +133,13 @@ awx/lib/site-packages
venv/*
use_dev_supervisor.txt
# Ansible module tests
/awx_collection_test_venv/
/awx_collection/*.tar.gz
/awx_collection/galaxy.yml
/sanity/
.idea/*
*.unison.tmp
*.#

View File

@@ -1,16 +0,0 @@
[DEFAULT]
archivedir = FIXME/deb-repo
mail_to =
verify_sigs = false
architectures = all, amd64
archive_style = flat
generate_release = true
mail_on_success = false
release_codename = ansible-tower
release_description = Ansible Tower
release_label = ansible-tower
release_origin = ansible-tower
[trusty]
[precise]

View File

@@ -1,6 +0,0 @@
[MASTER]
# Add files or directories to the blacklist. They should be base names, not
# paths.
ignore=site-packages,ui,migrations,data

12
.yamllint Normal file
View File

@@ -0,0 +1,12 @@
---
ignore: |
.tox
awx/main/tests/data/inventory/plugins/**
# vault files
awx/main/tests/data/ansible_utils/playbooks/valid/vault.yml
awx/ui/test/e2e/tests/smoke-vars.yml
extends: default
rules:
line-length: disable

168
CHANGELOG.md Normal file
View File

@@ -0,0 +1,168 @@
# Changelog
This is a list of high-level changes for each release of AWX. A full list of commits can be found at `https://github.com/ansible/awx/releases/tag/<version>`.
## 9.3.0 (Mar 12, 2020)
- Added the ability to specify an OAuth2 token description in the AWX CLI (https://github.com/ansible/awx/issues/6122)
- Added support for K8S service account annotations to the installer (https://github.com/ansible/awx/pull/6007)
- Added support for K8S imagePullSecrets to the installer (https://github.com/ansible/awx/pull/5989)
- Launching jobs (and workflows) using the --monitor flag in the AWX CLI now returns a non-zero exit code on job failure (https://github.com/ansible/awx/issues/5920)
- Improved UI performance for various job views when many simultaneous users are logged into AWX (https://github.com/ansible/awx/issues/5883)
- Updated to the latest version of Django to address a few open CVEs (https://github.com/ansible/awx/pull/6080)
- Fixed a critical bug which can cause AWX to hang and stop launching playbooks after a periodic of time (https://github.com/ansible/awx/issues/5617)
- Fixed a bug which caused delays in project update stdout for certain large SCM clones (as of Ansible 2.9+) (https://github.com/ansible/awx/pull/6254)
- Fixed a bug which caused certain smart inventory filters to mistakenly return duplicate hosts (https://github.com/ansible/awx/pull/5972)
- Fixed an unclear server error when creating smart inventories with the AWX collection (https://github.com/ansible/awx/issues/6250)
- Fixed a bug that broke Grafana notification support (https://github.com/ansible/awx/issues/6137)
- Fixed a UI bug which prevent users with read access to an organization from editing credentials for that organization (https://github.com/ansible/awx/pull/6241)
- Fixed a bug which prevent workflow approval records from recording a `started` and `elapsed` date (https://github.com/ansible/awx/issues/6202)
- Fixed a bug which caused workflow nodes to have a confusing option for `verbosity` (https://github.com/ansible/awx/issues/6196)
- Fixed an RBAC bug which prevented projects and inventory schedules from being created by certain users in certain contexts (https://github.com/ansible/awx/issues/5717)
- Fixed a bug that caused `role_path` in a project's config to not be respected due to an error processing `/etc/ansible/ansible.cfg` (https://github.com/ansible/awx/pull/6038)
- Fixed a bug that broke inventory updates for installs with custom home directories for the awx user (https://github.com/ansible/awx/pull/6152)
- Fixed a bug that broke fact data collection when AWX encounters invalid/unexpected fact data (https://github.com/ansible/awx/issues/5935)
## 9.2.0 (Feb 12, 2020)
- Added the ability to configure the convergence behavior of workflow nodes https://github.com/ansible/awx/issues/3054
- AWX now allows for a configurable global limit for fork count (per-job run). The default maximum is 200. https://github.com/ansible/awx/pull/5604
- Added the ability to specify AZURE_PUBLIC_CLOUD (for e.g., Azure Government KeyVault support) for the Azure credential plugin https://github.com/ansible/awx/issues/5138
- Added support for several additional parameters for Satellite dynamic inventory https://github.com/ansible/awx/pull/5598
- Added a new field to jobs for tracking the date/time a job is cancelled https://github.com/ansible/awx/pull/5610
- Made a series of additional optimizations to the callback receiver to further improve stdout write speed for running playbooks https://github.com/ansible/awx/pull/5677 https://github.com/ansible/awx/pull/5739
- Updated AWX to be compatible with Helm 3.x (https://github.com/ansible/awx/pull/5776)
- Optimized AWX's job dependency/scheduling code to drastically improve processing time in scenarios where there are many pending jobs scheduled simultaneously https://github.com/ansible/awx/issues/5154
- Fixed a bug which could cause SCM authentication details (basic auth passwords) to be reported to external loggers in certain failure scenarios (e.g., when a git clone fails and ansible itself prints an error message to stdout) https://github.com/ansible/awx/pull/5812
- Fixed a k8s installer bug that caused installs to fail in certain situations https://github.com/ansible/awx/issues/5574
- Fixed a number of issues that caused analytics gathering and reporting to run more often than necessary https://github.com/ansible/awx/pull/5721
- Fixed a bug in the AWX CLI that prevented JSON-type settings from saving properly https://github.com/ansible/awx/issues/5528
- Improved support for fetching custom virtualenv dependencies when AWX is installed behind a proxy https://github.com/ansible/awx/pull/5805
- Updated the bundled version of openstacksdk to address a known issue https://github.com/ansible/awx/issues/5821
- Updated the bundled vmware_inventory plugin to the latest version to address a bug https://github.com/ansible/awx/pull/5668
- Fixed a bug that can cause inventory updates to fail to properly save their output when run within a workflow https://github.com/ansible/awx/pull/5666
- Removed a number of pre-computed fields from the Host and Group models to improve AWX performance. As part of this change, inventory group UIs throughout the interface no longer display status icons https://github.com/ansible/awx/pull/5448
## 9.1.1 (Jan 14, 2020)
- Fixed a bug that caused database migrations on Kubernetes installs to hang https://github.com/ansible/awx/pull/5579
- Upgraded Python-level app dependencies in AWX virtual environment https://github.com/ansible/awx/pull/5407
- Running jobs no longer block associated inventory updates https://github.com/ansible/awx/pull/5519
- Fixed invalid_response SAML error https://github.com/ansible/awx/pull/5577
- Optimized the callback receiver to drastically improve the write speed of stdout for parallel jobs (https://github.com/ansible/awx/pull/5618)
## 9.1.0 (Dec 17, 2019)
- Added a command to generate a new SECRET_KEY and rekey the secrets in the database
- Removed project update locking when jobs using it are running
- Fixed slow queries for /api/v2/instances and /api/v2/instance_groups when smart inventories are used
- Fixed a partial password disclosure when special characters existed in the RabbitMQ password (CVE-2019-19342)
- Fixed hang in error handling for source control checkouts
- Fixed an error on subsequent job runs that override the branch of a project on an instance that did not have a prior project checkout
- Fixed an issue where jobs launched in isolated or container groups would incorrectly timeout
- Fixed an incorrect link to instance groups documentation in the user interface
- Fixed editing of inventory on Workflow templates
- Fixed multiple issues with OAuth2 token cleanup system jobs
- Fixed a bug that broke email notifications for workflow approval/deny https://github.com/ansible/awx/issues/5401
- Updated SAML implementation to automatically login if authorization already exists
- Updated AngularJS to 1.7.9 for CVE-2019-10768
## 9.0.1 (Nov 4, 2019)
- Fixed a bug in the installer that broke certain types of k8s installs https://github.com/ansible/awx/issues/5205
## 9.0.0 (Oct 31, 2019)
- Updated AWX images to use centos:8 as the parent image.
- Updated to ansible-runner 1.4.4 to address various bugs.
- Added oc and kubectl to the AWX images to support new container-based execution introduced in 8.0.0.
- Added some optimizations to speed up the deletion of large Inventory Groups.
- Fixed a bug that broke webhook launches for Job Templates that define a survey (https://github.com/ansible/awx/issues/5062).
- Fixed a bug in the CLI which incorrectly parsed launch time arguments for `awx job_templates launch` and `awx workflow_job_templates launch` (https://github.com/ansible/awx/issues/5093).
- Fixed a bug that caused inventory updates using "sourced from a project" to stop working (https://github.com/ansible/awx/issues/4750).
- Fixed a bug that caused Slack notifications to sometimes show the wrong bot avatar (https://github.com/ansible/awx/pull/5125).
- Fixed a bug that prevented the use of digits in Tower's URL settings (https://github.com/ansible/awx/issues/5081).
## 8.0.0 (Oct 21, 2019)
- The Ansible Tower Ansible modules have been migrated to a new official Ansible AWX collection: https://galaxy.ansible.com/awx/AWX
Please note that this functionality is only supported in Ansible 2.9+
- AWX now supports the ability to launch jobs from external webhooks (GitHub and GitLab integration are supported).
- AWX now supports Container Groups, a new feature that allows you to schedule and run playbooks on single-use kubernetes pods on-demand.
- AWX now supports sending notifications when Workflow steps are approved, denied, or time out.
- AWX now records the user who approved or denied Workflow steps.
- AWX now supports fetching Ansible Collections from private galaxy servers.
- AWX now checks the user's ansible.cfg for paths where role/collections may live when running project updates.
- AWX now uses PostgreSQL 10 by default.
- AWX now warns more loudly about underlying AMQP connectivity issues (https://github.com/ansible/awx/pull/4857).
- Added a few optimizations to drastically improve dashboard performance for larger AWX installs (installs with several hundred thousand jobs or more).
- Updated to the latest version of Ansible's VMWare inventory script (which adds support for vmware_guest_facts).
- Deprecated /api/v2/inventory_scripts/ (this endpoint - and the Custom Inventory Script feature - will be removed in a future release of AWX).
- Fixed a bug which prevented Organization Admins from removing users from their own Organization (https://github.com/ansible/awx/issues/2979)
- Fixed a bug which sometimes caused cluster nodes to fail to re-join with a cryptic error, "No instance found with the current cluster host id" (https://github.com/ansible/awx/issues/4294)
- Fixed a bug that prevented the use of launch-time passphrases when using credential plugins (https://github.com/ansible/awx/pull/4807)
- Fixed a bug that caused notifications assigned at the Organization level not to take effect for Workflows in that Organization (https://github.com/ansible/awx/issues/4712)
- Fixed a bug which caused a notable amount of CPU overhead on RabbitMQ health checks (https://github.com/ansible/awx/pull/5009)
- Fixed a bug which sometimes caused the <return> key to stop functioning in <textarea> elements (https://github.com/ansible/awx/issues/4192)
- Fixed a bug which caused request contention when the same OAuth2.0 token was used in multiple simultaneous requests (https://github.com/ansible/awx/issues/4694)
- Fixed a bug related to parsing multiple choice survey options (https://github.com/ansible/awx/issues/4452).
- Fixed a bug that caused single-sign-on icons on the login page to fail to render in certain Windows browsers (https://github.com/ansible/awx/issues/3924)
- Fixed a number of bugs that caused certain OAuth2 settings to not be properly respected, such as REFRESH_TOKEN_EXPIRE_SECONDS.
- Fixed a number of bugs in the AWX CLI, including a bug which sometimes caused long lines of stdout output to be unexpectedly truncated.
- Fixed a number of bugs on the job details UI which sometimes caused auto-scrolling stdout to become stuck.
- Fixed a bug which caused LDAP authentication to fail if the TLD of the server URL contained digits (https://github.com/ansible/awx/issues/3646)
- Fixed a bug which broke HashiCorp Vault integration on older versions of HashiCorp Vault.
## 7.0.0 (Sept 4, 2019)
- AWX now detects and installs Ansible Collections defined in your project (note - this feature only works in Ansible 2.9+) (https://github.com/ansible/awx/issues/2534)
- AWX now includes an official command line client. Keep an eye out for a follow-up email on this mailing list for information on how to install it and try it out.
- Added the ability to provide a specific SCM branch on jobs (https://github.com/ansible/awx/issues/282)
- Added support for Workflow Approval Nodes, a new feature which allows you to add "pause and wait for approval" steps into your workflows (https://github.com/ansible/awx/issues/1206)
- Added the ability to specify a specific HTTP method for webhook notifications (POST vs PUT) (https://github.com/ansible/awx/pull/4124)
- Added the ability to specify a username and password for HTTP Basic Authorization for webhook notifications (https://github.com/ansible/awx/pull/4124)
- Added support for customizing the text content of notifications (https://github.com/ansible/awx/issues/79)
- Added the ability to enable and disable hosts in dynamic inventory (https://github.com/ansible/awx/pull/4420)
- Added the description (if any) to the Job Template list (https://github.com/ansible/awx/issues/4359)
- Added new metrics for instance hostnames and pending jobs to the /api/v2/metrics/ endpoint (https://github.com/ansible/awx/pull/4375)
- Changed AWX's on/off toggle buttons to a non-text based style to simplify internationalization (https://github.com/ansible/awx/pull/4425)
- Events emitted by ansible for adhoc commands are now sent to the external log aggregrator (https://github.com/ansible/awx/issues/4545)
- Fixed a bug which allowed a user to make an organization credential in another organization without permissions to that organization (https://github.com/ansible/awx/pull/4483)
- Fixed a bug that caused `extra_vars` on workflows to break when edited (https://github.com/ansible/awx/issues/4293)
- Fixed a slow SQL query that caused performance issues when large numbers of groups exist (https://github.com/ansible/awx/issues/4461)
- Fixed a few minor bugs in survey field validation (https://github.com/ansible/awx/pull/4509) (https://github.com/ansible/awx/pull/4479)
- Fixed a bug that sometimes resulted in orphaned `ansible_runner_pi` directories in `/tmp` after playbook execution (https://github.com/ansible/awx/pull/4409)
- Fixed a bug that caused the `is_system_auditor` flag in LDAP configuration to not work (https://github.com/ansible/awx/pull/4396)
- Fixed a bug which caused schedules to disappear from the UI when toggled off (https://github.com/ansible/awx/pull/4378)
- Fixed a bug that sometimes caused stdout content to contain extraneous blank lines in newer versions of Ansible (https://github.com/ansible/awx/pull/4391)
- Updated to the latest Django security release, 2.2.4 (https://github.com/ansible/awx/pull/4410) (https://www.djangoproject.com/weblog/2019/aug/01/security-releases/)
- Updated the default version of git to a version that includes support for x509 certificates (https://github.com/ansible/awx/issues/4362)
- Removed the deprecated `credential` field from `/api/v2/workflow_job_templates/N/` (as part of the `/api/v1/` removal in prior AWX versions - https://github.com/ansible/awx/pull/4490).
## 6.1.0 (Jul 18, 2019)
- Updated AWX to use Django 2.2.2.
- Updated the provided openstacksdk version to support new functionality (such as Nova scheduler_hints)
- Added the ability to specify a custom cacert for the HashiCorp Vault credential plugin
- Fixed a number of bugs related to path lookups for the HashiCorp Vault credential plugin
- Fixed a bug which prevented signed SSH certificates from working, including the HashiCorp Vault Signed SSH backend
- Fixed a bug which prevented custom logos from displaying on the login page (as a result of a new Content Security Policy in 6.0.0)
- Fixed a bug which broke websocket connectivity in Apple Safari (as a result of a new Content Security Policy in 6.0.0)
- Fixed a bug on the job output page that occasionally caused the "up" and "down" buttons to not load additional output
- Fixed a bug on the job output page that caused quoted task names to display incorrectly
## 6.0.0 (Jul 1, 2019)
- Removed support for "Any" notification templates and their API endpoints e.g., /api/v2/job_templates/N/notification_templates/any/ (https://github.com/ansible/awx/issues/4022)
- Fixed a bug which prevented credentials from properly being applied to inventory sources (https://github.com/ansible/awx/issues/4059)
- Fixed a bug which can cause the task dispatcher to hang indefinitely when external logging support (e.g., Splunk, Logstash) is enabled (https://github.com/ansible/awx/issues/4181)
- Fixed a bug which causes slow stdout display when running jobs against smart inventories. (https://github.com/ansible/awx/issues/3106)
- Fixed a bug that caused SSL verification flags to fail to be respected for LDAP authentication in certain environments. (https://github.com/ansible/awx/pull/4190)
- Added a simple Content Security Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) to restrict access to third-party resources in the browser. (https://github.com/ansible/awx/pull/4167)
- Updated ovirt4 library dependencies to work with newer versions of oVirt (https://github.com/ansible/awx/issues/4138)
## 5.0.0 (Jun 21, 2019)
- Bump Django Rest Framework from 3.7.7 to 3.9.4
- Bump setuptools / pip dependencies
- Fixed bug where Recent Notification list would not appear
- Added notifications on job start
- Default to Ansible 2.8

View File

@@ -83,12 +83,10 @@ If you're not using Docker for Mac, or Docker for Windows, you may need, or choo
(host)$ pip install docker-compose
```
#### Node and npm
#### Frontend Development
The AWX UI requires the following:
See [the ui development documentation](awx/ui/README.md).
- Node 8.x LTS
- NPM 6.x LTS
### Build the environment
@@ -136,6 +134,8 @@ Run the following to build the AWX UI:
```bash
(host) $ make ui-devel
```
See [the ui development documentation](awx/ui/README.md) for more information on using the frontend development, build, and test tooling.
### Running the environment
#### Start the containers
@@ -156,8 +156,8 @@ If you start a second terminal session, you can take a look at the running conta
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa4a75d6d77b gcr.io/ansible-tower-engineering/awx_devel:devel "/tini -- /bin/sh ..." 23 seconds ago Up 15 seconds 0.0.0.0:5555->5555/tcp, 0.0.0.0:6899-6999->6899-6999/tcp, 0.0.0.0:8013->8013/tcp, 0.0.0.0:8043->8043/tcp, 22/tcp, 0.0.0.0:8080->8080/tcp tools_awx_1
e4c0afeb548c postgres:9.6 "docker-entrypoint..." 26 seconds ago Up 23 seconds 5432/tcp tools_postgres_1
aa4a75d6d77b gcr.io/ansible-tower-engineering/awx_devel:devel "/tini -- /bin/sh ..." 23 seconds ago Up 15 seconds 0.0.0.0:5555->5555/tcp, 0.0.0.0:7899-7999->7899-7999/tcp, 0.0.0.0:8013->8013/tcp, 0.0.0.0:8043->8043/tcp, 22/tcp, 0.0.0.0:8080->8080/tcp tools_awx_1
e4c0afeb548c postgres:10 "docker-entrypoint..." 26 seconds ago Up 23 seconds 5432/tcp tools_postgres_1
0089699d5afd tools_logstash "/docker-entrypoin..." 26 seconds ago Up 25 seconds tools_logstash_1
4d4ff0ced266 memcached:alpine "docker-entrypoint..." 26 seconds ago Up 25 seconds 0.0.0.0:11211->11211/tcp tools_memcached_1
92842acd64cd rabbitmq:3-management "docker-entrypoint..." 26 seconds ago Up 24 seconds 4369/tcp, 5671-5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp tools_rabbitmq_1

View File

@@ -2,96 +2,8 @@
## Introduction
Upgrades using Django migrations are not expected to work in AWX. As a result, to upgrade to a new version, it is necessary to export resources from the old AWX node and import them into a freshly-installed node with the new version. The recommended way to do this is to use the tower-cli send/receive feature.
Early versions of AWX did not support seamless upgrades between major versions and required the use of a backup and restore tool to perform upgrades.
This tool does __not__ support export/import of the following:
* Logs/history
* Credential passwords
* LDAP/AWX config
Users who wish to upgrade modern AWX installations should follow the instructions at:
### Install & Configure Tower-CLI
In terminal, pip install tower-cli (if you do not have pip already, install [here](https://pip.pypa.io/en/stable/installing/)):
```
$ pip install --upgrade ansible-tower-cli
```
The AWX host URL, user, and password must be set for the AWX instance to be exported:
```
$ tower-cli config host <old-awx-host.example.com>
$ tower-cli config username <user>
$ tower-cli config password <pass>
```
For more information on installing tower-cli look [here](http://tower-cli.readthedocs.io/en/latest/quickstart.html).
### Export Resources
Export all objects
```$ tower-cli receive --all > assets.json```
### Teardown Old AWX
Clean up remnants of the old AWX install:
```docker rm -f $(docker ps -aq)``` # remove all old awx containers
```make clean-ui``` # clean up ui artifacts
### Install New AWX version
If you are installing AWX as a dev container, pull down the latest code or version you want from GitHub, build
the image locally, then start the container
```
git pull # retrieve latest AWX changes from repository
make docker-compose-build # build AWX image
make docker-compose # run container
```
For other install methods, refer to the [Install.md](https://github.com/ansible/awx/blob/devel/INSTALL.md).
### Import Resources
Configure tower-cli for your new AWX host as shown earlier. Import from a JSON file named assets.json
```
$ tower-cli config host <new-awx-host.example.com>
$ tower-cli config username <user>
$ tower-cli config password <pass>
$ tower-cli send assets.json
```
--------------------------------------------------------------------------------
## Additional Info
If you have two running AWX hosts, it is possible to copy all assets from one instance to another
```$ tower-cli receive --tower-host old-awx-host.example.com --all | tower-cli send --tower-host new-awx-host.example.com```
#### More Granular Exports:
Export all credentials
```$ tower-cli receive --credential all > credentials.json```
> Note: This exports the credentials with blank strings for passwords and secrets
Export a credential named "My Credential"
```$ tower-cli receive --credential "My Credential"```
#### More Granular Imports:
You could import anything except an organization defined in a JSON file named assets.json
```$ tower-cli send --prevent organization assets.json```
https://github.com/ansible/awx/blob/devel/INSTALL.md#upgrading-from-previous-versions

View File

@@ -4,41 +4,45 @@ This document provides a guide for installing AWX.
## Table of contents
- [Getting started](#getting-started)
- [Clone the repo](#clone-the-repo)
- [AWX branding](#awx-branding)
- [Prerequisites](#prerequisites)
- [System Requirements](#system-requirements)
- [AWX Tunables](#awx-tunables)
- [Choose a deployment platform](#choose-a-deployment-platform)
- [Official vs Building Images](#official-vs-building-images)
- [OpenShift](#openshift)
- [Prerequisites](#prerequisites-1)
- [Deploying to Minishift](#deploying-to-minishift)
- [Pre-build steps](#pre-build-steps)
- [PostgreSQL](#postgresql)
- [Start the build](#start-the-build)
- [Post build](#post-build)
- [Accessing AWX](#accessing-awx)
- [Kubernetes](#kubernetes)
- [Prerequisites](#prerequisites-2)
- [Pre-build steps](#pre-build-steps-1)
- [Configuring Helm](#configuring-helm)
- [Start the build](#start-the-build-1)
- [Accessing AWX](#accessing-awx-1)
- [SSL Termination](#ssl-termination)
- [Docker or Docker Compose](#docker-or-docker-compose)
- [Prerequisites](#prerequisites-3)
- [Pre-build steps](#pre-build-steps-2)
- [Deploying to a remote host](#deploying-to-a-remote-host)
- [Inventory variables](#inventory-variables)
- [Installing AWX](#installing-awx)
* [Getting started](#getting-started)
+ [Clone the repo](#clone-the-repo)
+ [AWX branding](#awx-branding)
+ [Prerequisites](#prerequisites)
+ [System Requirements](#system-requirements)
+ [AWX Tunables](#awx-tunables)
+ [Choose a deployment platform](#choose-a-deployment-platform)
+ [Official vs Building Images](#official-vs-building-images)
* [Upgrading from previous versions](#upgrading-from-previous-versions)
* [OpenShift](#openshift)
+ [Prerequisites](#prerequisites-1)
+ [Pre-install steps](#pre-install-steps)
- [Deploying to Minishift](#deploying-to-minishift)
- [PostgreSQL](#postgresql)
+ [Run the installer](#run-the-installer)
+ [Post-install](#post-install)
+ [Accessing AWX](#accessing-awx)
* [Kubernetes](#kubernetes)
+ [Prerequisites](#prerequisites-2)
+ [Pre-install steps](#pre-install-steps-1)
+ [Configuring Helm](#configuring-helm)
+ [Run the installer](#run-the-installer-1)
+ [Post-install](#post-install-1)
+ [Accessing AWX](#accessing-awx-1)
+ [SSL Termination](#ssl-termination)
* [Docker-Compose](#docker-compose)
+ [Prerequisites](#prerequisites-3)
+ [Pre-install steps](#pre-install-steps-2)
- [Deploying to a remote host](#deploying-to-a-remote-host)
- [Inventory variables](#inventory-variables)
- [Docker registry](#docker-registry)
- [PostgreSQL](#postgresql-1)
- [Proxy settings](#proxy-settings)
- [Start the build](#start-the-build-2)
- [Post build](#post-build-1)
- [Accessing AWX](#accessing-awx-2)
- [PostgreSQL](#postgresql-1)
+ [Run the installer](#run-the-installer-2)
+ [Post-install](#post-install-2)
+ [Accessing AWX](#accessing-awx-2)
## Getting started
### Clone the repo
@@ -57,23 +61,26 @@ To install the assets, clone the `awx-logos` repo so that it is next to your `aw
Before you can run a deployment, you'll need the following installed in your local environment:
- [Ansible](http://docs.ansible.com/ansible/latest/intro_installation.html) Requires Version 2.4+
- [Ansible](http://docs.ansible.com/ansible/latest/intro_installation.html) Requires Version 2.8+
- [Docker](https://docs.docker.com/engine/installation/)
- [docker-py](https://github.com/docker/docker-py) Python module
+ A recent version
- [docker](https://pypi.org/project/docker/) Python module
+ This is incompatible with `docker-py`. If you have previously installed `docker-py`, please uninstall it.
+ We use this module instead of `docker-py` because it is what the `docker-compose` Python module requires.
- [GNU Make](https://www.gnu.org/software/make/)
- [Git](https://git-scm.com/) Requires Version 1.8.4+
- [Node 8.x LTS version](https://nodejs.org/en/download/)
- [Node 10.x LTS version](https://nodejs.org/en/download/)
- [NPM 6.x LTS](https://docs.npmjs.com/)
### System Requirements
The system that runs the AWX service will need to satisfy the following requirements
- At leasts 4GB of memory
- At least 4GB of memory
- At least 2 cpu cores
- At least 20GB of space
- Running Docker, Openshift, or Kubernetes
- If you choose to use an external PostgreSQL database, please note that the minimum version is 9.4.
- If you choose to use an external PostgreSQL database, please note that the minimum version is 9.6+.
### AWX Tunables
@@ -81,14 +88,14 @@ The system that runs the AWX service will need to satisfy the following requirem
### Choose a deployment platform
We currently support running AWX as a containerized application using Docker images deployed to either an OpenShift cluster, docker-compose or a standalone Docker daemon. The remainder of this document will walk you through the process of building the images, and deploying them to either platform.
We currently support running AWX as a containerized application using Docker images deployed to either an OpenShift cluster, a Kubernetes cluster, or docker-compose. The remainder of this document will walk you through the process of building the images, and deploying them to either platform.
The [installer](./installer) directory contains an [inventory](./installer/inventory) file, and a playbook, [install.yml](./installer/install.yml). You'll begin by setting variables in the inventory file according to the platform you wish to use, and then you'll start the image build and deployment process by running the playbook.
In the sections below, you'll find deployment details and instructions for each platform:
- [OpenShift](#openshift)
- [Kubernetes](#kubernetes)
- [Docker or Docker Compose](#docker-or-docker-compose).
- [Docker Compose](#docker-compose).
### Official vs Building Images
@@ -111,12 +118,34 @@ If these variables are present then all deployments will use these hosted images
> Multiple versions are provided. `latest` always pulls the most recent. You may also select version numbers at different granularities: 1, 1.0, 1.0.1, 1.0.0.123
## Upgrading from previous versions
Upgrading AWX involves rerunning the install playbook. Download a newer release from [https://github.com/ansible/awx/releases](https://github.com/ansible/awx/releases) and re-populate the inventory file with your customized variables.
For convenience, you can create a file called `vars.yml`:
```
admin_password: 'adminpass'
pg_password: 'pgpass'
rabbitmq_password: 'rabbitpass'
secret_key: 'mysupersecret'
```
And pass it to the installer:
```
$ ansible-playbook -i inventory install.yml -e @vars.yml
```
## OpenShift
### Prerequisites
To complete a deployment to OpenShift, you will obviously need access to an OpenShift cluster. For demo and testing purposes, you can use [Minishift](https://github.com/minishift/minishift) to create a single node cluster running inside a virtual machine.
When using OpenShift for deploying AWX make sure you have correct privileges to add the security context 'privileged', otherwise the installation will fail. The privileged context is needed because of the use of [the bubblewrap tool](https://github.com/containers/bubblewrap) to add an additional layer of security when using containers.
You will also need to have the `oc` command in your PATH. The `install.yml` playbook will call out to `oc` when logging into, and creating objects on the cluster.
The default resource requests per-deployment requires:
@@ -128,9 +157,9 @@ This can be tuned by overriding the variables found in [/installer/roles/kuberne
For more detail on how resource requests are formed see: [https://docs.openshift.com/container-platform/latest/dev_guide/compute_resources.html#dev-compute-resources](https://docs.openshift.com/container-platform/latest/dev_guide/compute_resources.html#dev-compute-resources)
### Pre-build steps
### Pre-install steps
Before starting the build process, review the [inventory](./installer/inventory) file, and uncomment and provide values for the following variables found in the `[all:vars]` section:
Before starting the install, review the [inventory](./installer/inventory) file, and uncomment and provide values for the following variables found in the `[all:vars]` section:
*openshift_host*
@@ -190,22 +219,22 @@ $ eval $(minishift docker-env)
By default, AWX will deploy a PostgreSQL pod inside of your cluster. You will need to create a [Persistent Volume Claim](https://docs.openshift.org/latest/dev_guide/persistent_volumes.html) which is named `postgresql` by default, and can be overridden by setting the `openshift_pg_pvc_name` variable. For testing and demo purposes, you may set `openshift_pg_emptydir=yes`.
If you wish to use an external database, in the inventory file, set the value of `pg_hostname`, and update `pg_username`, `pg_password`, `pg_database`, and `pg_port` with the connection information. When setting `pg_hostname` the installer will assume you have configured the database in that location and will not launch the postgresql pod.
If you wish to use an external database, in the inventory file, set the value of `pg_hostname`, and update `pg_username`, `pg_password`, `pg_admin_password`, `pg_database`, and `pg_port` with the connection information. When setting `pg_hostname` the installer will assume you have configured the database in that location and will not launch the postgresql pod.
### Start the build
### Run the installer
To start the build, you will pass two *extra* variables on the command line. The first is *openshift_password*, which is the password for the *openshift_user*, and the second is *docker_registry_password*, which is the password associated with *docker_registry_username*.
To start the install, you will pass two *extra* variables on the command line. The first is *openshift_password*, which is the password for the *openshift_user*, and the second is *docker_registry_password*, which is the password associated with *docker_registry_username*.
If you're using the OpenShift internal registry, then you'll pass an access token for the *docker_registry_password* value, rather than a password. The `oc whoami -t` command will generate the required token, as long as you're logged into the cluster via `oc cluster login`.
To start the build and deployment, run the following (docker_registry_password is optional if using official images):
Run the following command (docker_registry_password is optional if using official images):
```bash
# Start the build and deployment
# Start the install
$ ansible-playbook -i inventory install.yml -e openshift_password=developer -e docker_registry_password=$(oc whoami -t)
```
### Post build
### Post-install
After the playbook run completes, check the status of the deployment by running `oc get pods`:
@@ -322,9 +351,9 @@ This can be tuned by overriding the variables found in [/installer/roles/kuberne
For more detail on how resource requests are formed see: [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/)
### Pre-build steps
### Pre-install steps
Before starting the build process, review the [inventory](./installer/inventory) file, and uncomment and provide values for the following variables found in the `[all:vars]` section uncommenting when necessary. Make sure the openshift and standalone docker sections are commented out:
Before starting the install process, review the [inventory](./installer/inventory) file, and uncomment and provide values for the following variables found in the `[all:vars]` section uncommenting when necessary. Make sure the openshift and standalone docker sections are commented out:
*kubernetes_context*
@@ -344,7 +373,7 @@ If you want the AWX installer to manage creating the database pod (rather than i
Newer Kubernetes clusters with RBAC enabled will need to make sure a service account is created, make sure to follow the instructions here [https://docs.helm.sh/using_helm/#role-based-access-control](https://docs.helm.sh/using_helm/#role-based-access-control)
### Start the build
### Run the installer
After making changes to the `inventory` file use `ansible-playbook` to begin the install
@@ -352,7 +381,7 @@ After making changes to the `inventory` file use `ansible-playbook` to begin the
$ ansible-playbook -i inventory install.yml
```
### Post build
### Post-install
After the playbook run completes, check the status of the deployment by running `kubectl get pods --namespace awx` (replace awx with the namespace you used):
@@ -391,16 +420,16 @@ If your provider is able to allocate an IP Address from the Ingress controller t
Unlike Openshift's `Route` the Kubernetes `Ingress` doesn't yet handle SSL termination. As such the default configuration will only expose AWX through HTTP on port 80. You are responsible for configuring SSL support until support is added (either to Kubernetes or AWX itself).
## Docker or Docker-Compose
## Docker-Compose
### Prerequisites
- [Docker](https://docs.docker.com/engine/installation/) on the host where AWX will be deployed. After installing Docker, the Docker service must be started (depending on your OS, you may have to add the local user that uses Docker to the ``docker`` group, refer to the documentation for details)
- [docker-py](https://github.com/docker/docker-py) Python module.
- [docker-compose](https://pypi.org/project/docker-compose/) Python module.
+ This also installs the `docker` Python module, which is incompatible with `docker-py`. If you have previously installed `docker-py`, please uninstall it.
- [Docker Compose](https://docs.docker.com/compose/install/).
If you're installing using Docker Compose, you'll need [Docker Compose](https://docs.docker.com/compose/install/).
### Pre-build steps
### Pre-install steps
#### Deploying to a remote host
@@ -431,7 +460,7 @@ If you choose to use the official images then the remote host will be the one to
#### Inventory variables
Before starting the build process, review the [inventory](./installer/inventory) file, and uncomment and provide values for the following variables found in the `[all:vars]` section:
Before starting the install process, review the [inventory](./installer/inventory) file, and uncomment and provide values for the following variables found in the `[all:vars]` section:
*postgres_data_dir*
@@ -441,13 +470,21 @@ Before starting the build process, review the [inventory](./installer/inventory)
> Provide a port number that can be mapped from the Docker daemon host to the web server running inside the AWX container. Defaults to *80*.
*use_docker_compose*
*host_port_ssl*
> Switch to ``true`` to use Docker Compose instead of the standalone Docker install.
> Provide a port number that can be mapped from the Docker daemon host to the web server running inside the AWX container for SSL support. Defaults to *443*, only works if you also set `ssl_certificate` (see below).
*ssl_certificate*
> Optionally, provide the path to a file that contains a certificate and its private key.
*docker_compose_dir*
When using docker-compose, the `docker-compose.yml` file will be created there (default `/var/lib/awx`).
> When using docker-compose, the `docker-compose.yml` file will be created there (default `/tmp/awxcompose`).
*custom_venv_dir*
> Adds the custom venv environments from the local host to be passed into the containers at install.
*ca_trust_dir*
@@ -469,10 +506,6 @@ If you wish to tag and push built images to a Docker registry, set the following
> Username of the user that will push images to the registry. Defaults to *developer*.
*docker_remove_local_images*
> Due to the way that the docker_image module behaves, images will not be pushed to a remote repository if they are present locally. Set this to delete local versions of the images that will be pushed to the remote. This will fail if containers are currently running from those images.
**Note**
> These settings are ignored if using official images
@@ -496,11 +529,11 @@ If you wish to tag and push built images to a Docker registry, set the following
AWX requires access to a PostgreSQL database, and by default, one will be created and deployed in a container, and data will be persisted to a host volume. In this scenario, you must set the value of `postgres_data_dir` to a path that can be mounted to the container. When the container is stopped, the database files will still exist in the specified path.
If you wish to use an external database, in the inventory file, set the value of `pg_hostname`, and update `pg_username`, `pg_password`, `pg_database`, and `pg_port` with the connection information.
If you wish to use an external database, in the inventory file, set the value of `pg_hostname`, and update `pg_username`, `pg_password`, `pg_admin_password`, `pg_database`, and `pg_port` with the connection information.
### Start the build
### Run the installer
If you are not pushing images to a Docker registry, start the build by running the following:
If you are not pushing images to a Docker registry, start the install by running the following:
```bash
# Set the working directory to installer
@@ -520,14 +553,14 @@ $ cd installer
$ ansible-playbook -i inventory -e docker_registry_password=password install.yml
```
### Post build
### Post-install
After the playbook run completes, Docker will report up to 5 running containers. If you chose to use an existing PostgresSQL database, then it will report 4. You can view the running containers using the `docker ps` command, as follows:
```bash
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e240ed8209cd awx_task:1.0.0.8 "/tini -- /bin/sh ..." 2 minutes ago Up About a minute 8052/tcp awx_task
1cfd02601690 awx_web:1.0.0.8 "/tini -- /bin/sh ..." 2 minutes ago Up About a minute 0.0.0.0:80->8052/tcp awx_web
1cfd02601690 awx_web:1.0.0.8 "/tini -- /bin/sh ..." 2 minutes ago Up About a minute 0.0.0.0:443->8052/tcp awx_web
55a552142bcd memcached:alpine "docker-entrypoint..." 2 minutes ago Up 2 minutes 11211/tcp memcached
84011c072aad rabbitmq:3 "docker-entrypoint..." 2 minutes ago Up 2 minutes 4369/tcp, 5671-5672/tcp, 25672/tcp rabbitmq
97e196120ab3 postgres:9.6 "docker-entrypoint..." 2 minutes ago Up 2 minutes 5432/tcp postgres
@@ -597,14 +630,3 @@ Added instance awx to tower
The AWX web server is accessible on the deployment host, using the *host_port* value set in the *inventory* file. The default URL is [http://localhost](http://localhost).
You will prompted with a login dialog. The default administrator username is `admin`, and the password is `password`.
### Maintenance using docker-compose
After the installation, maintenance operations with docker-compose can be done by using the `docker-compose.yml` file created at the location pointed by `docker_compose_dir`.
Among the possible operations, you may:
- Stop AWX : `docker-compose stop`
- Upgrade AWX : `docker-compose pull && docker-compose up --force-recreate`
See the [docker-compose documentation](https://docs.docker.com/compose/) for details.

295
Makefile
View File

@@ -1,4 +1,4 @@
PYTHON ?= python
PYTHON ?= python3
PYTHON_VERSION = $(shell $(PYTHON) -c "from distutils.sysconfig import get_python_version; print(get_python_version())")
SITELIB=$(shell $(PYTHON) -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
OFFICIAL ?= no
@@ -18,6 +18,7 @@ COMPOSE_TAG ?= $(GIT_BRANCH)
COMPOSE_HOST ?= $(shell hostname)
VENV_BASE ?= /venv
COLLECTION_VENV ?= /awx_devel/awx_collection_test_venv
SCL_PREFIX ?=
CELERY_SCHEDULE_FILE ?= /var/lib/awx/beat.db
@@ -25,6 +26,9 @@ DEV_DOCKER_TAG_BASE ?= gcr.io/ansible-tower-engineering
# Python packages to install only from source (not from binary wheels)
# Comma separated list
SRC_ONLY_PKGS ?= cffi,pycparser,psycopg2,twilio
# These should be upgraded in the AWX and Ansible venv before attempting
# to install the actual requirements
VENV_BOOTSTRAP ?= pip==19.3.1 setuptools==41.6.0
# Determine appropriate shasum command
UNAME_S := $(shell uname -s)
@@ -53,26 +57,31 @@ WHEEL_FILE ?= $(WHEEL_NAME)-py2-none-any.whl
# UI flag files
UI_DEPS_FLAG_FILE = awx/ui/.deps_built
UI_RELEASE_DEPS_FLAG_FILE = awx/ui/.release_deps_built
UI_RELEASE_FLAG_FILE = awx/ui/.release_built
I18N_FLAG_FILE = .i18n_built
.PHONY: awx-link clean clean-tmp clean-venv requirements requirements_dev \
develop refresh adduser migrate dbchange dbshell runserver \
receiver test test_unit test_ansible test_coverage coverage_html \
develop refresh adduser migrate dbchange runserver \
receiver test test_unit test_coverage coverage_html \
dev_build release_build release_clean sdist \
ui-docker-machine ui-docker ui-release ui-devel \
ui-test ui-deps ui-test-ci VERSION
# remove ui build artifacts
clean-ui:
clean-ui: clean-languages
rm -rf awx/ui/static/
rm -rf awx/ui/node_modules/
rm -rf awx/ui/test/unit/reports/
rm -rf awx/ui/test/spec/reports/
rm -rf awx/ui/test/e2e/reports/
rm -rf awx/ui/client/languages/
rm -rf awx/ui_next/node_modules/
rm -rf awx/ui_next/coverage/
rm -rf awx/ui_next/build/locales/_build/
rm -f $(UI_DEPS_FLAG_FILE)
rm -f $(UI_RELEASE_DEPS_FLAG_FILE)
rm -f $(UI_RELEASE_FLAG_FILE)
clean-tmp:
@@ -89,21 +98,31 @@ clean-schema:
rm -rf schema.json
rm -rf reference-schema.json
clean-languages:
rm -f $(I18N_FLAG_FILE)
find . -type f -regex ".*\.mo$$" -delete
# Remove temporary build files, compiled Python files.
clean: clean-ui clean-dist
clean: clean-ui clean-api clean-awxkit clean-dist
rm -rf awx/public
rm -rf awx/lib/site-packages
rm -rf awx/job_status
rm -rf awx/job_output
rm -rf reports
rm -f awx/awx_test.sqlite3
rm -rf requirements/vendor
rm -rf tmp
rm -rf $(I18N_FLAG_FILE)
mkdir tmp
clean-api:
rm -rf build $(NAME)-$(VERSION) *.egg-info
find . -type f -regex ".*\.py[co]$$" -delete
find . -type d -name "__pycache__" -delete
rm -f awx/awx_test.sqlite3*
rm -rf requirements/vendor
rm -rf awx/projects
clean-awxkit:
rm -rf awxkit/*.egg-info awxkit/.tox awxkit/build/*
# convenience target to assert environment variables are defined
guard-%:
@@ -114,69 +133,86 @@ guard-%:
virtualenv: virtualenv_ansible virtualenv_awx
# virtualenv_* targets do not use --system-site-packages to prevent bugs installing packages
# but Ansible venvs are expected to have this, so that must be done after venv creation
virtualenv_ansible:
if [ "$(VENV_BASE)" ]; then \
if [ ! -d "$(VENV_BASE)" ]; then \
mkdir $(VENV_BASE); \
fi; \
if [ ! -d "$(VENV_BASE)/ansible" ]; then \
virtualenv --system-site-packages $(VENV_BASE)/ansible && \
$(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) --ignore-installed six packaging appdirs && \
$(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) --ignore-installed setuptools==36.0.1 && \
$(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) --ignore-installed pip==9.0.1; \
virtualenv -p python $(VENV_BASE)/ansible && \
$(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) $(VENV_BOOTSTRAP); \
fi; \
fi
virtualenv_ansible_py3:
if [ "$(VENV_BASE)" ]; then \
if [ ! -d "$(VENV_BASE)" ]; then \
mkdir $(VENV_BASE); \
fi; \
if [ ! -d "$(VENV_BASE)/ansible" ]; then \
virtualenv -p $(PYTHON) $(VENV_BASE)/ansible; \
$(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) $(VENV_BOOTSTRAP); \
fi; \
fi
# flit is needed for offline install of certain packages, specifically ptyprocess
# it is needed for setup, but not always recognized as a setup dependency
# similar to pip, setuptools, and wheel, these are all needed here as a bootstrapping issues
virtualenv_awx:
if [ "$(VENV_BASE)" ]; then \
if [ ! -d "$(VENV_BASE)" ]; then \
mkdir $(VENV_BASE); \
fi; \
if [ ! -d "$(VENV_BASE)/awx" ]; then \
virtualenv --system-site-packages $(VENV_BASE)/awx && \
$(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --ignore-installed six packaging appdirs && \
$(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --ignore-installed setuptools==36.0.1 && \
$(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --ignore-installed pip==9.0.1; \
virtualenv -p $(PYTHON) $(VENV_BASE)/awx; \
$(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) $(VENV_BOOTSTRAP); \
fi; \
fi
# --ignore-install flag is not used because *.txt files should specify exact versions
requirements_ansible: virtualenv_ansible
if [[ "$(PIP_OPTIONS)" == *"--no-index"* ]]; then \
cat requirements/requirements_ansible.txt requirements/requirements_ansible_local.txt | $(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) --ignore-installed -r /dev/stdin ; \
cat requirements/requirements_ansible.txt requirements/requirements_ansible_local.txt | $(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) -r /dev/stdin ; \
else \
cat requirements/requirements_ansible.txt requirements/requirements_ansible_git.txt | $(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) --no-binary $(SRC_ONLY_PKGS) --ignore-installed -r /dev/stdin ; \
cat requirements/requirements_ansible.txt requirements/requirements_ansible_git.txt | $(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) --no-binary $(SRC_ONLY_PKGS) -r /dev/stdin ; \
fi
$(VENV_BASE)/ansible/bin/pip uninstall --yes -r requirements/requirements_ansible_uninstall.txt
# Same effect as using --system-site-packages flag on venv creation
rm $(shell ls -d $(VENV_BASE)/ansible/lib/python* | head -n 1)/no-global-site-packages.txt
requirements_ansible_py3: virtualenv_ansible_py3
if [[ "$(PIP_OPTIONS)" == *"--no-index"* ]]; then \
cat requirements/requirements_ansible.txt requirements/requirements_ansible_local.txt | $(VENV_BASE)/ansible/bin/pip3 install $(PIP_OPTIONS) -r /dev/stdin ; \
else \
cat requirements/requirements_ansible.txt requirements/requirements_ansible_git.txt | $(VENV_BASE)/ansible/bin/pip3 install $(PIP_OPTIONS) --no-binary $(SRC_ONLY_PKGS) -r /dev/stdin ; \
fi
$(VENV_BASE)/ansible/bin/pip3 uninstall --yes -r requirements/requirements_ansible_uninstall.txt
# Same effect as using --system-site-packages flag on venv creation
rm $(shell ls -d $(VENV_BASE)/ansible/lib/python* | head -n 1)/no-global-site-packages.txt
requirements_ansible_dev:
if [ "$(VENV_BASE)" ]; then \
$(VENV_BASE)/ansible/bin/pip install pytest mock; \
fi
requirements_isolated:
if [ ! -d "$(VENV_BASE)/awx" ]; then \
virtualenv --system-site-packages $(VENV_BASE)/awx && \
$(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --ignore-installed six packaging appdirs && \
$(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --ignore-installed setuptools==35.0.2 && \
$(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --ignore-installed pip==9.0.1; \
fi;
$(VENV_BASE)/awx/bin/pip install -r requirements/requirements_isolated.txt
# Install third-party requirements needed for AWX's environment.
# this does not use system site packages intentionally
requirements_awx: virtualenv_awx
if [[ "$(PIP_OPTIONS)" == *"--no-index"* ]]; then \
cat requirements/requirements.txt requirements/requirements_local.txt | $(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --ignore-installed -r /dev/stdin ; \
cat requirements/requirements.txt requirements/requirements_local.txt | $(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) -r /dev/stdin ; \
else \
cat requirements/requirements.txt requirements/requirements_git.txt | $(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --no-binary $(SRC_ONLY_PKGS) --ignore-installed -r /dev/stdin ; \
cat requirements/requirements.txt requirements/requirements_git.txt | $(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --no-binary $(SRC_ONLY_PKGS) -r /dev/stdin ; \
fi
#$(VENV_BASE)/awx/bin/pip uninstall --yes -r requirements/requirements_tower_uninstall.txt
$(VENV_BASE)/awx/bin/pip uninstall --yes -r requirements/requirements_tower_uninstall.txt
requirements_awx_dev:
$(VENV_BASE)/awx/bin/pip install -r requirements/requirements_dev.txt
requirements: requirements_ansible requirements_awx
requirements_dev: requirements requirements_awx_dev requirements_ansible_dev
requirements_dev: requirements_awx requirements_ansible_py3 requirements_awx_dev requirements_ansible_dev
requirements_test: requirements
@@ -195,7 +231,7 @@ version_file:
if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
python -c "import awx as awx; print awx.__version__" > /var/lib/awx/.awx_version; \
python -c "import awx; print(awx.__version__)" > /var/lib/awx/.awx_version; \
# Do any one-time init tasks.
comma := ,
@@ -208,7 +244,7 @@ init:
if [ "$(AWX_GROUP_QUEUES)" == "tower,thepentagon" ]; then \
$(MANAGEMENT_COMMAND) provision_instance --hostname=isolated; \
$(MANAGEMENT_COMMAND) register_queue --queuename='thepentagon' --hostnames=isolated --controller=tower; \
$(MANAGEMENT_COMMAND) generate_isolated_key > /awx_devel/awx/main/expect/authorized_keys; \
$(MANAGEMENT_COMMAND) generate_isolated_key > /awx_devel/awx/main/isolated/authorized_keys; \
fi;
# Refresh development environment after pulling new code.
@@ -229,10 +265,6 @@ migrate:
dbchange:
$(MANAGEMENT_COMMAND) makemigrations
# access database shell, asks for password
dbshell:
sudo -u postgres psql -d awx-dev
server_noattach:
tmux new-session -d -s awx 'exec make uwsgi'
tmux rename-window 'AWX'
@@ -259,15 +291,7 @@ supervisor:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
supervisord --configuration /supervisor.conf --pidfile=/tmp/supervisor_pid
# Alternate approach to tmux to run all development tasks specified in
# Procfile.
honcho:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
honcho start -f tools/docker-compose/Procfile
supervisord --pidfile=/tmp/supervisor_pid -n
collectstatic:
@if [ "$(VENV_BASE)" ]; then \
@@ -279,7 +303,7 @@ uwsgi: collectstatic
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
uwsgi -b 32768 --socket 127.0.0.1:8050 --module=awx.wsgi:application --home=/venv/awx --chdir=/awx_devel/ --vacuum --processes=5 --harakiri=120 --master --no-orphans --py-autoreload 1 --max-requests=1000 --stats /tmp/stats.socket --lazy-apps --logformat "%(addr) %(method) %(uri) - %(proto) %(status)" --hook-accepting1-once="exec:awx-manage run_dispatcher --reload"
uwsgi -b 32768 --socket 127.0.0.1:8050 --module=awx.wsgi:application --home=/venv/awx --chdir=/awx_devel/ --vacuum --processes=5 --harakiri=120 --master --no-orphans --py-autoreload 1 --max-requests=1000 --stats /tmp/stats.socket --lazy-apps --logformat "%(addr) %(method) %(uri) - %(proto) %(status)" --hook-accepting1="exec:supervisorctl restart tower-processes:awx-dispatcher tower-processes:awx-receiver"
daphne:
@if [ "$(VENV_BASE)" ]; then \
@@ -343,7 +367,8 @@ pylint: reports
@(set -o pipefail && $@ | reports/$@.report)
genschema: reports
$(MAKE) swagger PYTEST_ARGS="--genschema"
$(MAKE) swagger PYTEST_ARGS="--genschema --create-db "
mv swagger.json schema.json
swagger: reports
@if [ "$(VENV_BASE)" ]; then \
@@ -355,8 +380,8 @@ check: flake8 pep8 # pyflakes pylint
awx-link:
cp -R /tmp/awx.egg-info /awx_devel/ || true
sed -i "s/placeholder/$(shell git describe --long | sed 's/\./\\./g')/" /awx_devel/awx.egg-info/PKG-INFO
cp -f /tmp/awx.egg-link /venv/awx/lib/python2.7/site-packages/awx.egg-link
sed -i "s/placeholder/$(shell cat VERSION)/" /awx_devel/awx.egg-info/PKG-INFO
cp -f /tmp/awx.egg-link /venv/awx/lib/python$(PYTHON_VERSION)/site-packages/awx.egg-link
TEST_DIRS ?= awx/main/tests/unit awx/main/tests/functional awx/conf/tests awx/sso/tests
@@ -366,9 +391,50 @@ test:
. $(VENV_BASE)/awx/bin/activate; \
fi; \
PYTHONDONTWRITEBYTECODE=1 py.test -p no:cacheprovider -n auto $(TEST_DIRS)
cd awxkit && $(VENV_BASE)/awx/bin/tox -re py2,py3
awx-manage check_migrations --dry-run --check -n 'vNNN_missing_migration_file'
test_combined: test_ansible test
prepare_collection_venv:
rm -rf $(COLLECTION_VENV)
mkdir $(COLLECTION_VENV)
$(VENV_BASE)/awx/bin/pip install --target=$(COLLECTION_VENV) git+https://github.com/ansible/tower-cli.git
COLLECTION_TEST_DIRS ?= awx_collection/test/awx
COLLECTION_PACKAGE ?= awx
COLLECTION_NAMESPACE ?= awx
COLLECTION_INSTALL = ~/.ansible/collections/ansible_collections/$(COLLECTION_NAMESPACE)/$(COLLECTION_PACKAGE)
test_collection:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
PYTHONPATH=$(COLLECTION_VENV):/awx_devel/awx_collection:$PYTHONPATH:/usr/lib/python3.6/site-packages py.test $(COLLECTION_TEST_DIRS)
flake8_collection:
flake8 awx_collection/ # Different settings, in main exclude list
test_collection_all: prepare_collection_venv test_collection flake8_collection
# WARNING: symlinking a collection is fundamentally unstable
# this is for rapid development iteration with playbooks, do not use with other test targets
symlink_collection:
rm -rf $(COLLECTION_INSTALL)
mkdir -p ~/.ansible/collections/ansible_collections/$(COLLECTION_NAMESPACE) # in case it does not exist
ln -s $(shell pwd)/awx_collection $(COLLECTION_INSTALL)
build_collection:
ansible-playbook -i localhost, awx_collection/template_galaxy.yml -e collection_package=$(COLLECTION_PACKAGE) -e collection_namespace=$(COLLECTION_NAMESPACE) -e collection_version=$(VERSION)
ansible-galaxy collection build awx_collection --force --output-path=awx_collection
install_collection: build_collection
rm -rf $(COLLECTION_INSTALL)
ansible-galaxy collection install awx_collection/$(COLLECTION_NAMESPACE)-$(COLLECTION_PACKAGE)-$(VERSION).tar.gz
test_collection_sanity: install_collection
cd $(COLLECTION_INSTALL) && ansible-test sanity
test_collection_integration: install_collection
cd $(COLLECTION_INSTALL) && ansible-test integration
test_unit:
@if [ "$(VENV_BASE)" ]; then \
@@ -376,12 +442,6 @@ test_unit:
fi; \
py.test awx/main/tests/unit awx/conf/tests/unit awx/sso/tests/unit
test_ansible:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/ansible/bin/activate; \
fi; \
py.test awx/lib/tests -c awx/lib/tests/pytest.ini
# Run all API unit tests with coverage enabled.
test_coverage:
@if [ "$(VENV_BASE)" ]; then \
@@ -453,7 +513,7 @@ messages:
# generate l10n .json .mo
languages: $(I18N_FLAG_FILE)
$(I18N_FLAG_FILE): $(UI_DEPS_FLAG_FILE)
$(I18N_FLAG_FILE): $(UI_RELEASE_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run languages
$(PYTHON) tools/scripts/compilemessages.py
touch $(I18N_FLAG_FILE)
@@ -461,13 +521,31 @@ $(I18N_FLAG_FILE): $(UI_DEPS_FLAG_FILE)
# End l10n TASKS
# --------------------------------------
# UI TASKS
# UI RELEASE TASKS
# --------------------------------------
ui-release: $(UI_RELEASE_FLAG_FILE)
$(UI_RELEASE_FLAG_FILE): $(I18N_FLAG_FILE) $(UI_RELEASE_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run build-release
touch $(UI_RELEASE_FLAG_FILE)
$(UI_RELEASE_DEPS_FLAG_FILE):
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 $(NPM_BIN) --unsafe-perm --prefix awx/ui ci --no-save awx/ui
touch $(UI_RELEASE_DEPS_FLAG_FILE)
# END UI RELEASE TASKS
# --------------------------------------
# UI TASKS
# --------------------------------------
ui-deps: $(UI_DEPS_FLAG_FILE)
$(UI_DEPS_FLAG_FILE):
$(NPM_BIN) --unsafe-perm --prefix awx/ui install --no-save awx/ui
@if [ -f ${UI_RELEASE_DEPS_FLAG_FILE} ]; then \
rm -rf awx/ui/node_modules; \
rm -f ${UI_RELEASE_DEPS_FLAG_FILE}; \
fi; \
$(NPM_BIN) --unsafe-perm --prefix awx/ui ci --no-save awx/ui
touch $(UI_DEPS_FLAG_FILE)
ui-docker-machine: $(UI_DEPS_FLAG_FILE)
@@ -481,15 +559,13 @@ ui-docker: $(UI_DEPS_FLAG_FILE)
ui-devel: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run build-devel -- $(MAKEFLAGS)
ui-release: $(UI_RELEASE_FLAG_FILE)
$(UI_RELEASE_FLAG_FILE): $(I18N_FLAG_FILE) $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run build-release
touch $(UI_RELEASE_FLAG_FILE)
ui-test: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run test
ui-lint: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) run --prefix awx/ui jshint
$(NPM_BIN) run --prefix awx/ui lint
# A standard go-to target for API developers to use building the frontend
ui: clean-ui ui-devel
@@ -497,16 +573,40 @@ ui-test-ci: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run test:ci
$(NPM_BIN) --prefix awx/ui run unit
testjs_ci:
echo "Update UI unittests later" #ui-test-ci
jshint: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) run --prefix awx/ui jshint
$(NPM_BIN) run --prefix awx/ui lint
ui-zuul-lint-and-test: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) run --prefix awx/ui jshint
$(NPM_BIN) run --prefix awx/ui lint
$(NPM_BIN) --prefix awx/ui run test:ci
$(NPM_BIN) --prefix awx/ui run unit
# END UI TASKS
# --------------------------------------
# UI NEXT TASKS
# --------------------------------------
ui-next-lint:
$(NPM_BIN) --prefix awx/ui_next install
$(NPM_BIN) run --prefix awx/ui_next lint
$(NPM_BIN) run --prefix awx/ui_next prettier-check
ui-next-test:
$(NPM_BIN) --prefix awx/ui_next install
$(NPM_BIN) run --prefix awx/ui_next test
ui-next-zuul-lint-and-test:
$(NPM_BIN) --prefix awx/ui_next install
$(NPM_BIN) run --prefix awx/ui_next lint
$(NPM_BIN) run --prefix awx/ui_next prettier-check
$(NPM_BIN) run --prefix awx/ui_next test
# END UI NEXT TASKS
# --------------------------------------
# Build a pip-installable package into dist/ with a timestamped version number.
dev_build:
$(PYTHON) setup.py dev_build
@@ -538,45 +638,46 @@ setup-bundle-build:
mkdir -p $@
docker-auth:
if [ "$(IMAGE_REPOSITORY_AUTH)" ]; then \
docker login -u oauth2accesstoken -p "$(IMAGE_REPOSITORY_AUTH)" $(IMAGE_REPOSITORY_BASE); \
@if [ "$(IMAGE_REPOSITORY_AUTH)" ]; then \
echo "$(IMAGE_REPOSITORY_AUTH)" | docker login -u oauth2accesstoken --password-stdin $(IMAGE_REPOSITORY_BASE); \
fi;
# This directory is bind-mounted inside of the development container and
# needs to be pre-created for permissions to be set correctly. Otherwise,
# Docker will create this directory as root.
awx/projects:
@mkdir -p $@
# Docker isolated rampart
docker-isolated:
TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml -f tools/docker-isolated-override.yml create
docker start tools_awx_1
docker start tools_isolated_1
echo "__version__ = '`git describe --long | cut -d - -f 1-1`'" | docker exec -i tools_isolated_1 /bin/bash -c "cat > /venv/awx/lib/python2.7/site-packages/awx.py"
docker-compose-isolated: awx/projects
CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml -f tools/docker-isolated-override.yml up
# Docker Compose Development environment
docker-compose: docker-auth
CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml up --no-recreate awx
docker-compose: docker-auth awx/projects
CURRENT_UID=$(shell id -u) OS="$(shell docker info | grep 'Operating System')" TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml up --no-recreate awx
docker-compose-cluster: docker-auth
docker-compose-cluster: docker-auth awx/projects
CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose-cluster.yml up
docker-compose-test: docker-auth
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /bin/bash
docker-compose-credential-plugins: docker-auth awx/projects
echo -e "\033[0;31mTo generate a CyberArk Conjur API key: docker exec -it tools_conjur_1 conjurctl account create quick-start\033[0m"
CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml -f tools/docker-credential-plugins-override.yml up --no-recreate awx
docker-compose-runtest:
docker-compose-test: docker-auth awx/projects
cd tools && CURRENT_UID=$(shell id -u) OS="$(shell docker info | grep 'Operating System')" TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /bin/bash
docker-compose-runtest: awx/projects
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /start_tests.sh
docker-compose-build-swagger:
docker-compose-build-swagger: awx/projects
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /start_tests.sh swagger
docker-compose-genschema:
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /start_tests.sh genschema
mv swagger.json schema.json
docker-compose-detect-schema-change:
$(MAKE) docker-compose-genschema
detect-schema-change: genschema
curl https://s3.amazonaws.com/awx-public-ci-files/schema.json -o reference-schema.json
# Ignore differences in whitespace with -b
diff -u -b schema.json reference-schema.json
diff -u -b reference-schema.json schema.json
docker-compose-clean:
docker-compose-clean: awx/projects
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm -w /awx_devel --service-ports awx make clean
cd tools && TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose rm -sf
@@ -584,12 +685,13 @@ docker-compose-build: awx-devel-build
# Base development image build
awx-devel-build:
docker build -t ansible/awx_devel -f tools/docker-compose/Dockerfile .
docker build -t ansible/awx_devel -f tools/docker-compose/Dockerfile \
--cache-from=$(DEV_DOCKER_TAG_BASE)/awx_devel:$(COMPOSE_TAG) .
docker tag ansible/awx_devel $(DEV_DOCKER_TAG_BASE)/awx_devel:$(COMPOSE_TAG)
#docker push $(DEV_DOCKER_TAG_BASE)/awx_devel:$(COMPOSE_TAG)
# For use when developing on "isolated" AWX deployments
awx-isolated-build:
docker-compose-isolated-build: awx-devel-build
docker build -t ansible/awx_isolated -f tools/docker-isolated/Dockerfile .
docker tag ansible/awx_isolated $(DEV_DOCKER_TAG_BASE)/awx_isolated:$(COMPOSE_TAG)
#docker push $(DEV_DOCKER_TAG_BASE)/awx_isolated:$(COMPOSE_TAG)
@@ -603,12 +705,15 @@ docker-clean:
docker-refresh: docker-clean docker-compose
# Docker Development Environment with Elastic Stack Connected
docker-compose-elk: docker-auth
docker-compose-elk: docker-auth awx/projects
CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml -f tools/elastic/docker-compose.logstash-link.yml -f tools/elastic/docker-compose.elastic-override.yml up --no-recreate
docker-compose-cluster-elk: docker-auth
docker-compose-cluster-elk: docker-auth awx/projects
TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose-cluster.yml -f tools/elastic/docker-compose.logstash-link-cluster.yml -f tools/elastic/docker-compose.elastic-override.yml up --no-recreate
prometheus:
docker run -u0 --net=tools_default --link=`docker ps | egrep -o "tools_awx(_run)?_([^ ]+)?"`:awxweb --volume `pwd`/tools/prometheus:/prometheus --name prometheus -d -p 0.0.0.0:9090:9090 prom/prometheus --web.enable-lifecycle --config.file=/prometheus/prometheus.yml
minishift-dev:
ansible-playbook -i localhost, -e devtree_directory=$(CURDIR) tools/clusterdevel/start_minishift_dev.yml
@@ -621,7 +726,7 @@ clean-elk:
docker rm tools_kibana_1
psql-container:
docker run -it --net tools_default --rm postgres:9.6 sh -c 'exec psql -h "postgres" -p "5432" -U postgres'
docker run -it --net tools_default --rm postgres:10 sh -c 'exec psql -h "postgres" -p "5432" -U postgres'
VERSION:
@echo "awx: $(VERSION)"

View File

@@ -1 +1 @@
2.1.2
9.3.0

View File

@@ -24,43 +24,32 @@ except ImportError: # pragma: no cover
import hashlib
try:
import django
from django.utils.encoding import force_bytes
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
from django.db.backends.base import schema
import django # noqa: F401
HAS_DJANGO = True
except ImportError:
HAS_DJANGO = False
else:
from django.db.backends.base import schema
from django.db.backends.utils import names_digest
if HAS_DJANGO is True:
# This line exists to make sure we don't regress on FIPS support if we
# upgrade Django; if you're upgrading Django and see this error,
# update the version check below, and confirm that FIPS still works.
if django.__version__ != '1.11.16':
raise RuntimeError("Django version other than 1.11.16 detected {}. \
Subclassing BaseDatabaseSchemaEditor is known to work for Django 1.11.16 \
and may not work in newer Django versions.".format(django.__version__))
class FipsBaseDatabaseSchemaEditor(BaseDatabaseSchemaEditor):
@classmethod
def _digest(cls, *args):
# See upgrade blocker note in requirements/README.md
try:
names_digest('foo', 'bar', 'baz', length=8)
except ValueError:
def names_digest(*args, length):
"""
Generates a 32-bit digest of a set of arguments that can be used to
shorten identifying names.
Generate a 32-bit digest of a set of arguments that can be used to shorten
identifying names. Support for use in FIPS environments.
"""
try:
h = hashlib.md5()
except ValueError:
h = hashlib.md5(usedforsecurity=False)
h = hashlib.md5(usedforsecurity=False)
for arg in args:
h.update(force_bytes(arg))
return h.hexdigest()[:8]
h.update(arg.encode())
return h.hexdigest()[:length]
schema.BaseDatabaseSchemaEditor = FipsBaseDatabaseSchemaEditor
schema.names_digest = names_digest
def find_commands(management_dir):
@@ -80,6 +69,23 @@ def find_commands(management_dir):
return commands
def oauth2_getattribute(self, attr):
# Custom method to override
# oauth2_provider.settings.OAuth2ProviderSettings.__getattribute__
from django.conf import settings
val = None
if 'migrate' not in sys.argv:
# certain Django OAuth Toolkit migrations actually reference
# setting lookups for references to model classes (e.g.,
# oauth2_settings.REFRESH_TOKEN_MODEL)
# If we're doing an OAuth2 setting lookup *while running* a migration,
# don't do our usual "Configure Tower in Tower" database setting lookup
val = settings.OAUTH2_PROVIDER.get(attr)
if val is None:
val = object.__getattribute__(self, attr)
return val
def prepare_env():
# Update the default settings environment variable based on current mode.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'awx.settings.%s' % MODE)
@@ -91,16 +97,12 @@ def prepare_env():
# Monkeypatch Django find_commands to also work with .pyc files.
import django.core.management
django.core.management.find_commands = find_commands
# Fixup sys.modules reference to django.utils.six to allow jsonfield to
# work when using Django 1.4.
import django.utils
try:
import django.utils.six
except ImportError: # pragma: no cover
import six
sys.modules['django.utils.six'] = sys.modules['six']
django.utils.six = sys.modules['django.utils.six']
from django.utils import six # noqa
# Monkeypatch Oauth2 toolkit settings class to check for settings
# in django.conf settings each time, not just once during import
import oauth2_provider.settings
oauth2_provider.settings.OAuth2ProviderSettings.__getattribute__ = oauth2_getattribute
# Use the AWX_TEST_DATABASE_* environment variables to specify the test
# database settings to use when management command is run as an external
# program via unit tests.

View File

@@ -38,12 +38,15 @@ register(
'OAUTH2_PROVIDER',
field_class=OAuth2ProviderField,
default={'ACCESS_TOKEN_EXPIRE_SECONDS': oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS,
'AUTHORIZATION_CODE_EXPIRE_SECONDS': 600},
'AUTHORIZATION_CODE_EXPIRE_SECONDS': oauth2_settings.AUTHORIZATION_CODE_EXPIRE_SECONDS,
'REFRESH_TOKEN_EXPIRE_SECONDS': oauth2_settings.REFRESH_TOKEN_EXPIRE_SECONDS},
label=_('OAuth 2 Timeout Settings'),
help_text=_('Dictionary for customizing OAuth 2 timeouts, available items are '
'`ACCESS_TOKEN_EXPIRE_SECONDS`, the duration of access tokens in the number '
'of seconds, and `AUTHORIZATION_CODE_EXPIRE_SECONDS`, the duration of '
'authorization grants in the number of seconds.'),
'of seconds, `AUTHORIZATION_CODE_EXPIRE_SECONDS`, the duration of '
'authorization codes in the number of seconds, and `REFRESH_TOKEN_EXPIRE_SECONDS`, '
'the duration of refresh tokens, after expired access tokens, '
'in the number of seconds.'),
category=_('Authentication'),
category_slug='authentication',
)
@@ -59,3 +62,15 @@ register(
category=_('Authentication'),
category_slug='authentication',
)
register(
'LOGIN_REDIRECT_OVERRIDE',
field_class=fields.CharField,
allow_blank=True,
required=False,
default='',
label=_('Login redirect override URL'),
help_text=_('URL to which unauthorized users will be redirected to log in. '
'If blank, users will be sent to the Tower login page.'),
category=_('Authentication'),
category_slug='authentication',
)

View File

@@ -80,7 +80,7 @@ class OAuth2ProviderField(fields.DictField):
default_error_messages = {
'invalid_key_names': _('Invalid key names: {invalid_key_names}'),
}
valid_key_names = {'ACCESS_TOKEN_EXPIRE_SECONDS', 'AUTHORIZATION_CODE_EXPIRE_SECONDS'}
valid_key_names = {'ACCESS_TOKEN_EXPIRE_SECONDS', 'AUTHORIZATION_CODE_EXPIRE_SECONDS', 'REFRESH_TOKEN_EXPIRE_SECONDS'}
child = fields.IntegerField(min_value=1)
def to_internal_value(self, data):
@@ -101,6 +101,10 @@ class DeprecatedCredentialField(serializers.IntegerField):
super(DeprecatedCredentialField, self).__init__(**kwargs)
def to_internal_value(self, pk):
try:
pk = int(pk)
except ValueError:
self.fail('invalid')
try:
Credential.objects.get(pk=pk)
except ObjectDoesNotExist:

View File

@@ -9,7 +9,7 @@ from functools import reduce
# Django
from django.core.exceptions import FieldError, ValidationError
from django.db import models
from django.db.models import Q
from django.db.models import Q, CharField, IntegerField, BooleanField
from django.db.models.fields import FieldDoesNotExist
from django.db.models.fields.related import ForeignObjectRel, ManyToManyField, ForeignKey
from django.contrib.contenttypes.models import ContentType
@@ -24,20 +24,6 @@ from rest_framework.filters import BaseFilterBackend
# AWX
from awx.main.utils import get_type_for_model, to_python_boolean
from awx.main.utils.db import get_all_field_names
from awx.main.models.credential import CredentialType
class V1CredentialFilterBackend(BaseFilterBackend):
'''
For /api/v1/ requests, filter out v2 (custom) credentials
'''
def filter_queryset(self, request, queryset, view):
# TODO: remove in 3.3
from awx.api.versioning import get_request_version
if get_request_version(request) == 1:
queryset = queryset.filter(credential_type__managed_by_tower=True)
return queryset
class TypeFilterBackend(BaseFilterBackend):
@@ -65,7 +51,7 @@ class TypeFilterBackend(BaseFilterBackend):
model = queryset.model
model_type = get_type_for_model(model)
if 'polymorphic_ctype' in get_all_field_names(model):
types_pks = set([v for k,v in types_map.items() if k in types])
types_pks = set([v for k, v in types_map.items() if k in types])
queryset = queryset.filter(polymorphic_ctype_id__in=types_pks)
elif model_type in types:
queryset = queryset
@@ -77,19 +63,19 @@ class TypeFilterBackend(BaseFilterBackend):
raise ParseError(*e.args)
def get_field_from_path(model, path):
def get_fields_from_path(model, path):
'''
Given a Django ORM lookup path (possibly over multiple models)
Returns the last field in the line, and also the revised lookup path
Returns the fields in the line, and also the revised lookup path
ex., given
model=Organization
path='project__timeout'
returns tuple of field at the end of the line as well as a corrected
path, for special cases we do substitutions
(<IntegerField for timeout>, 'project__timeout')
returns tuple of fields traversed as well and a corrected path,
for special cases we do substitutions
([<IntegerField for timeout>], 'project__timeout')
'''
# Store of all the fields used to detect repeats
field_set = set([])
field_list = []
new_parts = []
for name in path.split('__'):
if model is None:
@@ -125,13 +111,24 @@ def get_field_from_path(model, path):
raise PermissionDenied(_('Filtering on %s is not allowed.' % name))
elif getattr(field, '__prevent_search__', False):
raise PermissionDenied(_('Filtering on %s is not allowed.' % name))
if field in field_set:
if field in field_list:
# Field traversed twice, could create infinite JOINs, DoSing Tower
raise ParseError(_('Loops not allowed in filters, detected on field {}.').format(field.name))
field_set.add(field)
field_list.append(field)
model = getattr(field, 'related_model', None)
return field, '__'.join(new_parts)
return field_list, '__'.join(new_parts)
def get_field_from_path(model, path):
'''
Given a Django ORM lookup path (possibly over multiple models)
Returns the last field in the line, and the revised lookup path
ex.
(<IntegerField for timeout>, 'project__timeout')
'''
field_list, new_path = get_fields_from_path(model, path)
return (field_list[-1], new_path)
class FieldLookupBackend(BaseFilterBackend):
@@ -140,14 +137,18 @@ class FieldLookupBackend(BaseFilterBackend):
'''
RESERVED_NAMES = ('page', 'page_size', 'format', 'order', 'order_by',
'search', 'type', 'host_filter')
'search', 'type', 'host_filter', 'count_disabled', 'no_truncate')
SUPPORTED_LOOKUPS = ('exact', 'iexact', 'contains', 'icontains',
'startswith', 'istartswith', 'endswith', 'iendswith',
'regex', 'iregex', 'gt', 'gte', 'lt', 'lte', 'in',
'isnull', 'search')
def get_field_from_lookup(self, model, lookup):
# A list of fields that we know can be filtered on without the possiblity
# of introducing duplicates
NO_DUPLICATES_WHITELIST = (CharField, IntegerField, BooleanField)
def get_fields_from_lookup(self, model, lookup):
if '__' in lookup and lookup.rsplit('__', 1)[-1] in self.SUPPORTED_LOOKUPS:
path, suffix = lookup.rsplit('__', 1)
@@ -161,11 +162,16 @@ class FieldLookupBackend(BaseFilterBackend):
# FIXME: Could build up a list of models used across relationships, use
# those lookups combined with request.user.get_queryset(Model) to make
# sure user cannot query using objects he could not view.
field, new_path = get_field_from_path(model, path)
field_list, new_path = get_fields_from_path(model, path)
new_lookup = new_path
new_lookup = '__'.join([new_path, suffix])
return field, new_lookup
return field_list, new_lookup
def get_field_from_lookup(self, model, lookup):
'''Method to match return type of single field, if needed.'''
field_list, new_lookup = self.get_fields_from_lookup(model, lookup)
return (field_list[-1], new_lookup)
def to_python_related(self, value):
value = force_text(value)
@@ -192,11 +198,14 @@ class FieldLookupBackend(BaseFilterBackend):
def value_to_python(self, model, lookup, value):
try:
lookup = lookup.encode("ascii")
lookup.encode("ascii")
except UnicodeEncodeError:
raise ValueError("%r is not an allowed field name. Must be ascii encodable." % lookup)
field, new_lookup = self.get_field_from_lookup(model, lookup)
field_list, new_lookup = self.get_fields_from_lookup(model, lookup)
field = field_list[-1]
needs_distinct = (not all(isinstance(f, self.NO_DUPLICATES_WHITELIST) for f in field_list))
# Type names are stored without underscores internally, but are presented and
# and serialized over the API containing underscores so we remove `_`
@@ -223,12 +232,12 @@ class FieldLookupBackend(BaseFilterBackend):
raise ValueError('%s is not searchable' % new_lookup[:-8])
new_lookups = []
for rm_field in related_model._meta.fields:
if rm_field.name in ('username', 'first_name', 'last_name', 'email', 'name', 'description'):
if rm_field.name in ('username', 'first_name', 'last_name', 'email', 'name', 'description', 'playbook'):
new_lookups.append('{}__{}__icontains'.format(new_lookup[:-8], rm_field.name))
return value, new_lookups
return value, new_lookups, needs_distinct
else:
value = self.value_to_python_for_field(field, value)
return value, new_lookup
return value, new_lookup, needs_distinct
def filter_queryset(self, request, queryset, view):
try:
@@ -239,6 +248,7 @@ class FieldLookupBackend(BaseFilterBackend):
chain_filters = []
role_filters = []
search_filters = {}
needs_distinct = False
# Can only have two values: 'AND', 'OR'
# If 'AND' is used, an iterm must satisfy all condition to show up in the results.
# If 'OR' is used, an item just need to satisfy one condition to appear in results.
@@ -270,9 +280,12 @@ class FieldLookupBackend(BaseFilterBackend):
search_filter_relation = 'AND'
values = reduce(lambda list1, list2: list1 + list2, [i.split(',') for i in values])
for value in values:
search_value, new_keys = self.value_to_python(queryset.model, key, force_text(value))
search_value, new_keys, _ = self.value_to_python(queryset.model, key, force_text(value))
assert isinstance(new_keys, list)
search_filters[search_value] = new_keys
# by definition, search *only* joins across relations,
# so it _always_ needs a .distinct()
needs_distinct = True
continue
# Custom chain__ and or__ filters, mutually exclusive (both can
@@ -292,44 +305,13 @@ class FieldLookupBackend(BaseFilterBackend):
key = key[5:]
q_not = True
# Make legacy v1 Job/Template fields work for backwards compatability
# TODO: remove after API v1 deprecation period
if queryset.model._meta.object_name in ('JobTemplate', 'Job') and key in (
'credential', 'vault_credential', 'cloud_credential', 'network_credential'
) or queryset.model._meta.object_name in ('InventorySource', 'InventoryUpdate') and key == 'credential':
key = 'credentials'
# Make legacy v1 Credential fields work for backwards compatability
# TODO: remove after API v1 deprecation period
#
# convert v1 `Credential.kind` queries to `Credential.credential_type__pk`
if queryset.model._meta.object_name == 'Credential' and key == 'kind':
key = key.replace('kind', 'credential_type')
if 'ssh' in values:
# In 3.2, SSH and Vault became separate credential types, but in the v1 API,
# they're both still "kind=ssh"
# under the hood, convert `/api/v1/credentials/?kind=ssh` to
# `/api/v1/credentials/?or__credential_type=<ssh_pk>&or__credential_type=<vault_pk>`
values = set(values)
values.add('vault')
values = list(values)
q_or = True
for i, kind in enumerate(values):
if kind == 'vault':
type_ = CredentialType.objects.get(kind=kind)
else:
type_ = CredentialType.from_v1_kind(kind)
if type_ is None:
raise ParseError(_('cannot filter on kind %s') % kind)
values[i] = type_.pk
# Convert value(s) to python and add to the appropriate list.
for value in values:
if q_int:
value = int(value)
value, new_key = self.value_to_python(queryset.model, key, value)
value, new_key, distinct = self.value_to_python(queryset.model, key, value)
if distinct:
needs_distinct = True
if q_chain:
chain_filters.append((q_not, new_key, value))
elif q_or:
@@ -363,12 +345,12 @@ class FieldLookupBackend(BaseFilterBackend):
args.append(q)
if search_filters and search_filter_relation == 'OR':
q = Q()
for term, constrains in search_filters.iteritems():
for term, constrains in search_filters.items():
for constrain in constrains:
q |= Q(**{constrain: term})
args.append(q)
elif search_filters and search_filter_relation == 'AND':
for term, constrains in search_filters.iteritems():
for term, constrains in search_filters.items():
q_chain = Q()
for constrain in constrains:
q_chain |= Q(**{constrain: term})
@@ -379,7 +361,9 @@ class FieldLookupBackend(BaseFilterBackend):
else:
q = Q(**{k:v})
queryset = queryset.filter(q)
queryset = queryset.filter(*args).distinct()
queryset = queryset.filter(*args)
if needs_distinct:
queryset = queryset.distinct()
return queryset
except (FieldError, FieldDoesNotExist, ValueError, TypeError) as e:
raise ParseError(e.args[0])
@@ -402,6 +386,8 @@ class OrderByBackend(BaseFilterBackend):
order_by = value.split(',')
else:
order_by = (value,)
if order_by is None:
order_by = self.get_default_ordering(view)
if order_by:
order_by = self._validate_ordering_fields(queryset.model, order_by)
@@ -428,6 +414,12 @@ class OrderByBackend(BaseFilterBackend):
# Return a 400 for invalid field names.
raise ParseError(*e.args)
def get_default_ordering(self, view):
ordering = getattr(view, 'ordering', None)
if isinstance(ordering, str):
return (ordering,)
return ordering
def _validate_ordering_fields(self, model, order_by):
for field_name in order_by:
# strip off the negation prefix `-` if it exists

View File

@@ -5,8 +5,7 @@
import inspect
import logging
import time
import six
import urllib
import urllib.parse
# Django
from django.conf import settings
@@ -32,17 +31,23 @@ from rest_framework.permissions import AllowAny
from rest_framework.renderers import StaticHTMLRenderer, JSONRenderer
from rest_framework.negotiation import DefaultContentNegotiation
# cryptography
from cryptography.fernet import InvalidToken
# AWX
from awx.api.filters import FieldLookupBackend
from awx.main.models import * # noqa
from awx.main.models import (
UnifiedJob, UnifiedJobTemplate, User, Role, Credential,
WorkflowJobTemplateNode, WorkflowApprovalTemplate
)
from awx.main.access import access_registry
from awx.main.utils import * # noqa
from awx.main.utils import (
camelcase_to_underscore,
get_search_fields,
getattrd,
get_object_or_400,
decrypt_field
)
from awx.main.utils.db import get_all_field_names
from awx.api.serializers import ResourceAccessListElementSerializer, CopySerializer, UserSerializer
from awx.api.versioning import URLPathVersioning, get_request_version
from awx.api.versioning import URLPathVersioning
from awx.api.metadata import SublistAttachDetatchMetadata, Metadata
__all__ = ['APIView', 'GenericAPIView', 'ListAPIView', 'SimpleListAPIView',
@@ -87,14 +92,17 @@ class LoggedLoginView(auth_views.LoginView):
ret = super(LoggedLoginView, self).post(request, *args, **kwargs)
current_user = getattr(request, 'user', None)
if request.user.is_authenticated:
logger.info(smart_text(u"User {} logged in.".format(self.request.user.username)))
logger.info(smart_text(u"User {} logged in from {}".format(self.request.user.username,request.META.get('REMOTE_ADDR', None))))
ret.set_cookie('userLoggedIn', 'true')
current_user = UserSerializer(self.request.user)
current_user = JSONRenderer().render(current_user.data)
current_user = urllib.quote('%s' % current_user, '')
current_user = smart_text(JSONRenderer().render(current_user.data))
current_user = urllib.parse.quote('%s' % current_user, '')
ret.set_cookie('current_user', current_user, secure=settings.SESSION_COOKIE_SECURE or None)
return ret
else:
if 'username' in self.request.POST:
logger.warn(smart_text(u"Login failed for user {} from {}".format(self.request.POST.get('username'),request.META.get('REMOTE_ADDR', None))))
ret.status_code = 401
return ret
@@ -112,39 +120,12 @@ class LoggedLogoutView(auth_views.LogoutView):
return ret
def get_view_name(cls, suffix=None):
'''
Wrapper around REST framework get_view_name() to support get_name() method
and view_name property on a view class.
'''
name = ''
if hasattr(cls, 'get_name') and callable(cls.get_name):
name = cls().get_name()
elif hasattr(cls, 'view_name'):
if callable(cls.view_name):
name = cls.view_name()
else:
name = cls.view_name
if name:
return ('%s %s' % (name, suffix)) if suffix else name
return views.get_view_name(cls, suffix=None)
def get_view_description(view, html=False):
'''Wrapper around REST framework get_view_description() to continue
to support our historical div.
def get_view_description(cls, request, html=False):
'''
Wrapper around REST framework get_view_description() to support
get_description() method and view_description property on a view class.
'''
if hasattr(cls, 'get_description') and callable(cls.get_description):
desc = cls().get_description(request, html=html)
cls = type(cls.__name__, (object,), {'__doc__': desc})
elif hasattr(cls, 'view_description'):
if callable(cls.view_description):
view_desc = cls.view_description()
else:
view_desc = cls.view_description
cls = type(cls.__name__, (object,), {'__doc__': view_desc})
desc = views.get_view_description(cls, html=html)
desc = views.get_view_description(view, html=html)
if html:
desc = '<div class="description">%s</div>' % desc
return mark_safe(desc)
@@ -211,7 +192,7 @@ class APIView(views.APIView):
response.data['detail'] += ' To establish a login session, visit /api/login/.'
logger.info(status_msg)
else:
logger.warn(status_msg)
logger.warning(status_msg)
response = super(APIView, self).finalize_response(request, response, *args, **kwargs)
time_started = getattr(self, 'time_started', None)
response['X-API-Node'] = settings.CLUSTER_HOST_ID
@@ -224,6 +205,9 @@ class APIView(views.APIView):
response['X-API-Query-Count'] = len(q_times)
response['X-API-Query-Time'] = '%0.3fs' % sum(q_times)
if getattr(self, 'deprecated', False):
response['Warning'] = '299 awx "This resource has been deprecated and will be removed in a future release."' # noqa
return response
def get_authenticate_header(self, request):
@@ -257,14 +241,6 @@ class APIView(views.APIView):
# `curl https://user:pass@tower.example.org/api/v2/job_templates/N/launch/`
return 'Bearer realm=api authorization_url=/api/o/authorize/'
def get_view_description(self, html=False):
"""
Return some descriptive text for the view, as used in OPTIONS responses
and in the browsable API.
"""
func = self.settings.VIEW_DESCRIPTION_FUNCTION
return func(self.__class__, getattr(self, '_request', None), html)
def get_description_context(self):
return {
'view': self,
@@ -273,20 +249,14 @@ class APIView(views.APIView):
'swagger_method': getattr(self.request, 'swagger_method', None),
}
def get_description(self, request, html=False):
self.request = request
@property
def description(self):
template_list = []
for klass in inspect.getmro(type(self)):
template_basename = camelcase_to_underscore(klass.__name__)
template_list.append('api/%s.md' % template_basename)
context = self.get_description_context()
# "v2" -> 2
default_version = int(settings.REST_FRAMEWORK['DEFAULT_VERSION'].lstrip('v'))
request_version = get_request_version(self.request)
if request_version is not None and request_version < default_version:
context['deprecated'] = True
description = render_to_string(template_list, context)
if context.get('deprecated') and context.get('swagger_method') is None:
# render deprecation messages at the very top
@@ -304,7 +274,7 @@ class APIView(views.APIView):
# submitted data was rejected.
request_method = getattr(self, '_raw_data_request_method', None)
response_status = getattr(self, '_raw_data_response_status', 0)
if request_method in ('POST', 'PUT', 'PATCH') and response_status in xrange(400, 500):
if request_method in ('POST', 'PUT', 'PATCH') and response_status in range(400, 500):
return self.request.data.copy()
return data
@@ -347,7 +317,7 @@ class GenericAPIView(generics.GenericAPIView, APIView):
# form.
if hasattr(self, '_raw_data_form_marker'):
# Always remove read only fields from serializer.
for name, field in serializer.fields.items():
for name, field in list(serializer.fields.items()):
if getattr(field, 'read_only', None):
del serializer.fields[name]
serializer._data = self.update_raw_data(serializer.data)
@@ -382,12 +352,14 @@ class GenericAPIView(generics.GenericAPIView, APIView):
'model_verbose_name_plural': smart_text(self.model._meta.verbose_name_plural),
})
serializer = self.get_serializer()
metadata = self.metadata_class()
metadata.request = self.request
for method, key in [
('GET', 'serializer_fields'),
('POST', 'serializer_create_fields'),
('PUT', 'serializer_update_fields')
]:
d[key] = self.metadata_class().get_serializer_info(serializer, method=method)
d[key] = metadata.get_serializer_info(serializer, method=method)
d['settings'] = settings
return d
@@ -433,21 +405,21 @@ class ListAPIView(generics.ListAPIView, GenericAPIView):
continue
if getattr(field, 'related_model', None):
fields.add('{}__search'.format(field.name))
for rel in self.model._meta.related_objects:
name = rel.related_name
if isinstance(rel, OneToOneRel) and self.model._meta.verbose_name.startswith('unified'):
for related in self.model._meta.related_objects:
name = related.related_name
if isinstance(related, OneToOneRel) and self.model._meta.verbose_name.startswith('unified'):
# Add underscores for polymorphic subclasses for user utility
name = rel.related_model._meta.verbose_name.replace(" ", "_")
name = related.related_model._meta.verbose_name.replace(" ", "_")
if skip_related_name(name) or name.endswith('+'):
continue
fields.add('{}__search'.format(name))
m2m_rel = []
m2m_rel += self.model._meta.local_many_to_many
m2m_related = []
m2m_related += self.model._meta.local_many_to_many
if issubclass(self.model, UnifiedJobTemplate) and self.model != UnifiedJobTemplate:
m2m_rel += UnifiedJobTemplate._meta.local_many_to_many
m2m_related += UnifiedJobTemplate._meta.local_many_to_many
if issubclass(self.model, UnifiedJob) and self.model != UnifiedJob:
m2m_rel += UnifiedJob._meta.local_many_to_many
for relationship in m2m_rel:
m2m_related += UnifiedJob._meta.local_many_to_many
for relationship in m2m_related:
if skip_related_name(relationship.name):
continue
if relationship.related_model._meta.app_label != 'main':
@@ -520,9 +492,12 @@ class SubListAPIView(ParentMixin, ListAPIView):
parent = self.get_parent_object()
self.check_parent_access(parent)
qs = self.request.user.get_queryset(self.model).distinct()
sublist_qs = getattrd(parent, self.relationship).distinct()
sublist_qs = self.get_sublist_queryset(parent)
return qs & sublist_qs
def get_sublist_queryset(self, parent):
return getattrd(parent, self.relationship).distinct()
class DestroyAPIView(generics.DestroyAPIView):
@@ -599,7 +574,7 @@ class SubListCreateAPIView(SubListAPIView, ListCreateAPIView):
status=status.HTTP_400_BAD_REQUEST)
# Verify we have permission to add the object as given.
if not request.user.can_access(self.model, 'add', serializer.initial_data):
if not request.user.can_access(self.model, 'add', serializer.validated_data):
raise PermissionDenied()
# save the object through the serializer, reload and returned the saved
@@ -747,7 +722,7 @@ class SubListAttachDetachAPIView(SubListCreateAttachDetachAPIView):
def update_raw_data(self, data):
request_method = getattr(self, '_raw_data_request_method', None)
response_status = getattr(self, '_raw_data_response_status', 0)
if request_method == 'POST' and response_status in xrange(400, 500):
if request_method == 'POST' and response_status in range(400, 500):
return super(SubListAttachDetachAPIView, self).update_raw_data(data)
return {'id': None}
@@ -808,6 +783,7 @@ class RetrieveUpdateDestroyAPIView(RetrieveUpdateAPIView, DestroyAPIView):
class ResourceAccessList(ParentMixin, ListAPIView):
serializer_class = ResourceAccessListElementSerializer
ordering = ('username',)
def get_queryset(self):
obj = self.get_parent_object()
@@ -834,10 +810,6 @@ class CopyAPIView(GenericAPIView):
new_in_330 = True
new_in_api_v2 = True
def v1_not_allowed(self):
return Response({'detail': 'Action only possible starting with v2 API.'},
status=status.HTTP_404_NOT_FOUND)
def _get_copy_return_serializer(self, *args, **kwargs):
if not self.copy_return_serializer_class:
return self.get_serializer(*args, **kwargs)
@@ -851,17 +823,20 @@ class CopyAPIView(GenericAPIView):
def _decrypt_model_field_if_needed(obj, field_name, field_val):
if field_name in getattr(type(obj), 'REENCRYPTION_BLACKLIST_AT_COPY', []):
return field_val
if isinstance(field_val, dict):
if isinstance(obj, Credential) and field_name == 'inputs':
for secret in obj.credential_type.secret_fields:
if secret in field_val:
field_val[secret] = decrypt_field(obj, secret)
elif isinstance(field_val, dict):
for sub_field in field_val:
if isinstance(sub_field, six.string_types) \
and isinstance(field_val[sub_field], six.string_types):
try:
field_val[sub_field] = decrypt_field(obj, field_name, sub_field)
except InvalidToken:
# Catching the corner case with v1 credential fields
field_val[sub_field] = decrypt_field(obj, sub_field)
elif isinstance(field_val, six.string_types):
field_val = decrypt_field(obj, field_name)
if isinstance(sub_field, str) \
and isinstance(field_val[sub_field], str):
field_val[sub_field] = decrypt_field(obj, field_name, sub_field)
elif isinstance(field_val, str):
try:
field_val = decrypt_field(obj, field_name)
except AttributeError:
return field_val
return field_val
def _build_create_dict(self, obj):
@@ -914,8 +889,23 @@ class CopyAPIView(GenericAPIView):
create_kwargs[field.name] = CopyAPIView._decrypt_model_field_if_needed(
obj, field.name, field_val
)
# WorkflowJobTemplateNodes that represent an approval are *special*;
# when we copy them, we actually want to *copy* the UJT they point at
# rather than share the template reference between nodes in disparate
# workflows
if (
isinstance(obj, WorkflowJobTemplateNode) and
isinstance(getattr(obj, 'unified_job_template'), WorkflowApprovalTemplate)
):
new_approval_template, sub_objs = CopyAPIView.copy_model_obj(
None, None, WorkflowApprovalTemplate,
obj.unified_job_template, creater
)
create_kwargs['unified_job_template'] = new_approval_template
new_obj = model.objects.create(**create_kwargs)
logger.debug(six.text_type('Deep copy: Created new object {}({})').format(
logger.debug('Deep copy: Created new object {}({})'.format(
new_obj, model
))
# Need to save separatedly because Djang-crum get_current_user would
@@ -941,21 +931,20 @@ class CopyAPIView(GenericAPIView):
return ret
def get(self, request, *args, **kwargs):
if get_request_version(request) < 2:
return self.v1_not_allowed()
obj = self.get_object()
if not request.user.can_access(obj.__class__, 'read', obj):
raise PermissionDenied()
create_kwargs = self._build_create_dict(obj)
for key in create_kwargs:
create_kwargs[key] = getattr(create_kwargs[key], 'pk', None) or create_kwargs[key]
can_copy = request.user.can_access(self.model, 'add', create_kwargs) and \
request.user.can_access(self.model, 'copy_related', obj)
try:
can_copy = request.user.can_access(self.model, 'add', create_kwargs) and \
request.user.can_access(self.model, 'copy_related', obj)
except PermissionDenied:
return Response({'can_copy': False})
return Response({'can_copy': can_copy})
def post(self, request, *args, **kwargs):
if get_request_version(request) < 2:
return self.v1_not_allowed()
obj = self.get_object()
create_kwargs = self._build_create_dict(obj)
create_kwargs_check = {}
@@ -972,7 +961,7 @@ class CopyAPIView(GenericAPIView):
None, None, self.model, obj, request.user, create_kwargs=create_kwargs,
copy_name=serializer.validated_data.get('name', '')
)
if hasattr(new_obj, 'admin_role') and request.user not in new_obj.admin_role:
if hasattr(new_obj, 'admin_role') and request.user not in new_obj.admin_role.members.all():
new_obj.admin_role.members.add(request.user)
if sub_objs:
permission_check_func = None

View File

@@ -5,6 +5,8 @@ from collections import OrderedDict
# Django
from django.core.exceptions import PermissionDenied
from django.db.models.fields import PositiveIntegerField, BooleanField
from django.db.models.fields.related import ForeignKey
from django.http import Http404
from django.utils.encoding import force_text, smart_text
from django.utils.translation import ugettext_lazy as _
@@ -14,10 +16,14 @@ from rest_framework import exceptions
from rest_framework import metadata
from rest_framework import serializers
from rest_framework.relations import RelatedField, ManyRelatedField
from rest_framework.fields import JSONField as DRFJSONField
from rest_framework.request import clone_request
# AWX
from awx.api.fields import ChoiceNullField
from awx.main.fields import JSONField, ImplicitRoleField
from awx.main.models import InventorySource, NotificationTemplate
from awx.main.scheduler.kubernetes import PodManager
class Metadata(metadata.SimpleMetadata):
@@ -68,6 +74,8 @@ class Metadata(metadata.SimpleMetadata):
else:
for model_field in serializer.Meta.model._meta.fields:
if field.field_name == model_field.name:
if getattr(model_field, '__accepts_json__', None):
field_info['type'] = 'json'
field_info['filterable'] = True
break
else:
@@ -89,7 +97,15 @@ class Metadata(metadata.SimpleMetadata):
field_info['children'] = self.get_serializer_info(field)
if not isinstance(field, (RelatedField, ManyRelatedField)) and hasattr(field, 'choices'):
field_info['choices'] = [(choice_value, choice_name) for choice_value, choice_name in field.choices.items()]
choices = [
(choice_value, choice_name) for choice_value, choice_name in field.choices.items()
]
if not any(choice in ('', None) for choice, _ in choices):
if field.allow_blank:
choices = [("", "---------")] + choices
if field.allow_null and not isinstance(field, ChoiceNullField):
choices = [(None, "---------")] + choices
field_info['choices'] = choices
# Indicate if a field is write-only.
if getattr(field, 'write_only', False):
@@ -114,15 +130,55 @@ class Metadata(metadata.SimpleMetadata):
for (notification_type_name, notification_tr_name, notification_type_class) in NotificationTemplate.NOTIFICATION_TYPES:
field_info[notification_type_name] = notification_type_class.init_parameters
# Special handling of notification messages where the required properties
# are conditional on the type selected.
try:
view_model = field.context['view'].model
except (AttributeError, KeyError):
view_model = None
if view_model == NotificationTemplate and field.field_name == 'messages':
for (notification_type_name, notification_tr_name, notification_type_class) in NotificationTemplate.NOTIFICATION_TYPES:
field_info[notification_type_name] = notification_type_class.default_messages
# Update type of fields returned...
model_field = None
if serializer and hasattr(serializer, 'Meta') and hasattr(serializer.Meta, 'model'):
try:
model_field = serializer.Meta.model._meta.get_field(field.field_name)
except Exception:
pass
if field.field_name == 'type':
field_info['type'] = 'choice'
elif field.field_name == 'url':
elif field.field_name in ('url', 'custom_virtualenv', 'token'):
field_info['type'] = 'string'
elif field.field_name in ('related', 'summary_fields'):
field_info['type'] = 'object'
elif isinstance(field, PositiveIntegerField):
field_info['type'] = 'integer'
elif field.field_name in ('created', 'modified'):
field_info['type'] = 'datetime'
elif (
RelatedField in field.__class__.__bases__ or
isinstance(model_field, ForeignKey)
):
field_info['type'] = 'id'
elif (
isinstance(field, JSONField) or
isinstance(model_field, JSONField) or
isinstance(field, DRFJSONField) or
isinstance(getattr(field, 'model_field', None), JSONField) or
field.field_name == 'credential_passwords'
):
field_info['type'] = 'json'
elif (
isinstance(field, ManyRelatedField) and
field.field_name == 'credentials'
# launch-time credentials
):
field_info['type'] = 'list_of_ids'
elif isinstance(model_field, BooleanField):
field_info['type'] = 'boolean'
return field_info
@@ -157,10 +213,13 @@ class Metadata(metadata.SimpleMetadata):
finally:
view.request = request
for field, meta in actions[method].items():
for field, meta in list(actions[method].items()):
if not isinstance(meta, dict):
continue
if field == "pod_spec_override":
meta['default'] = PodManager().pod_definition
# Add type choices if available from the serializer.
if field == 'type' and hasattr(serializer, 'get_type_choices'):
meta['choices'] = serializer.get_type_choices()
@@ -213,6 +272,16 @@ class Metadata(metadata.SimpleMetadata):
if getattr(view, 'related_search_fields', None):
metadata['related_search_fields'] = view.related_search_fields
# include role names in metadata
roles = []
model = getattr(view, 'model', None)
if model:
for field in model._meta.get_fields():
if type(field) is ImplicitRoleField:
roles.append(field.name)
if len(roles) > 0:
metadata['object_roles'] = roles
from rest_framework import generics
if isinstance(view, generics.ListAPIView) and hasattr(view, 'paginator'):
metadata['max_page_size'] = view.paginator.max_page_size
@@ -232,28 +301,13 @@ class RoleMetadata(Metadata):
return metadata
# TODO: Tower 3.3 remove class and all uses in views.py when API v1 is removed
class JobTypeMetadata(Metadata):
def get_field_info(self, field):
res = super(JobTypeMetadata, self).get_field_info(field)
if field.field_name == 'job_type':
index = 0
for choice in res['choices']:
if choice[0] == 'scan':
res['choices'].pop(index)
break
index += 1
return res
class SublistAttachDetatchMetadata(Metadata):
def determine_actions(self, request, view):
actions = super(SublistAttachDetatchMetadata, self).determine_actions(request, view)
method = 'POST'
if method in actions:
for field in actions[method]:
for field in list(actions[method].keys()):
if field == 'id':
continue
actions[method].pop(field)

15
awx/api/metrics.py Normal file
View File

@@ -0,0 +1,15 @@
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
from django.conf.urls import url
from awx.api.views import (
MetricsView
)
urls = [
url(r'^$', MetricsView.as_view(), name='metrics_view'),
]
__all__ = ['urls']

View File

@@ -3,14 +3,28 @@
# Django REST Framework
from django.conf import settings
from django.core.paginator import Paginator as DjangoPaginator
from rest_framework import pagination
from rest_framework.response import Response
from rest_framework.utils.urls import replace_query_param
class DisabledPaginator(DjangoPaginator):
@property
def num_pages(self):
return 1
@property
def count(self):
return 200
class Pagination(pagination.PageNumberPagination):
page_size_query_param = 'page_size'
max_page_size = settings.MAX_PAGE_SIZE
count_disabled = False
def get_next_link(self):
if not self.page.has_next():
@@ -18,7 +32,7 @@ class Pagination(pagination.PageNumberPagination):
url = self.request and self.request.get_full_path() or ''
url = url.encode('utf-8')
page_number = self.page.next_page_number()
return replace_query_param(url, self.page_query_param, page_number)
return replace_query_param(self.cap_page_size(url), self.page_query_param, page_number)
def get_previous_link(self):
if not self.page.has_previous():
@@ -26,4 +40,30 @@ class Pagination(pagination.PageNumberPagination):
url = self.request and self.request.get_full_path() or ''
url = url.encode('utf-8')
page_number = self.page.previous_page_number()
return replace_query_param(url, self.page_query_param, page_number)
return replace_query_param(self.cap_page_size(url), self.page_query_param, page_number)
def cap_page_size(self, url):
if int(self.request.query_params.get(self.page_size_query_param, 0)) > self.max_page_size:
url = replace_query_param(url, self.page_size_query_param, self.max_page_size)
return url
def get_html_context(self):
context = super().get_html_context()
context['page_links'] = [pl._replace(url=self.cap_page_size(pl.url))
for pl in context['page_links']]
return context
def paginate_queryset(self, queryset, request, **kwargs):
self.count_disabled = 'count_disabled' in request.query_params
try:
if self.count_disabled:
self.django_paginator_class = DisabledPaginator
return super(Pagination, self).paginate_queryset(queryset, request, **kwargs)
finally:
self.django_paginator_class = DjangoPaginator
def get_paginated_response(self, data):
if self.count_disabled:
return Response({'results': data})
return super(Pagination, self).get_paginated_response(data)

View File

@@ -4,7 +4,7 @@ import json
# Django
from django.conf import settings
from django.utils import six
from django.utils.encoding import smart_str
from django.utils.translation import ugettext_lazy as _
# Django REST Framework
@@ -25,7 +25,7 @@ class JSONParser(parsers.JSONParser):
encoding = parser_context.get('encoding', settings.DEFAULT_CHARSET)
try:
data = stream.read().decode(encoding)
data = smart_str(stream.read(), encoding=encoding)
if not data:
return {}
obj = json.loads(data, object_pairs_hook=OrderedDict)
@@ -33,4 +33,4 @@ class JSONParser(parsers.JSONParser):
raise ParseError(_('JSON parse error - not a JSON object'))
return obj
except ValueError as exc:
raise ParseError(_('JSON parse error - %s\nPossible cause: trailing comma.' % six.text_type(exc)))
raise ParseError(_('JSON parse error - %s\nPossible cause: trailing comma.' % str(exc)))

View File

@@ -9,15 +9,15 @@ from rest_framework.exceptions import MethodNotAllowed, PermissionDenied
from rest_framework import permissions
# AWX
from awx.main.access import * # noqa
from awx.main.models import * # noqa
from awx.main.access import check_user_access
from awx.main.models import Inventory, UnifiedJob
from awx.main.utils import get_object_or_400
logger = logging.getLogger('awx.api.permissions')
__all__ = ['ModelAccessPermission', 'JobTemplateCallbackPermission',
__all__ = ['ModelAccessPermission', 'JobTemplateCallbackPermission', 'VariableDataPermission',
'TaskPermission', 'ProjectUpdatePermission', 'InventoryInventorySourcesUpdatePermission',
'UserPermission', 'IsSuperUser', 'InstanceGroupTowerPermission',]
'UserPermission', 'IsSuperUser', 'InstanceGroupTowerPermission', 'WorkflowApprovalPermission']
class ModelAccessPermission(permissions.BasePermission):
@@ -74,12 +74,8 @@ class ModelAccessPermission(permissions.BasePermission):
# FIXME: For some reason this needs to return True
# because it is first called with obj=None?
return True
if getattr(view, 'is_variable_data', False):
return check_user_access(request.user, view.model, 'change', obj,
dict(variables=request.data))
else:
return check_user_access(request.user, view.model, 'change', obj,
request.data)
return check_user_access(request.user, view.model, 'change', obj,
request.data)
def check_patch_permissions(self, request, view, obj=None):
return self.check_put_permissions(request, view, obj)
@@ -99,12 +95,11 @@ class ModelAccessPermission(permissions.BasePermission):
'''
# Don't allow anonymous users. 401, not 403, hence no raised exception.
if not request.user or request.user.is_anonymous():
if not request.user or request.user.is_anonymous:
return False
# Always allow superusers
if getattr(view, 'always_allow_superuser', True) and request.user.is_superuser \
and not hasattr(request.user, 'oauth_scopes'):
if getattr(view, 'always_allow_superuser', True) and request.user.is_superuser:
return True
# Check if view supports the request method before checking permission
@@ -164,6 +159,15 @@ class JobTemplateCallbackPermission(ModelAccessPermission):
return True
class VariableDataPermission(ModelAccessPermission):
def check_put_permissions(self, request, view, obj=None):
if not obj:
return True
return check_user_access(request.user, view.model, 'change', obj,
dict(variables=request.data))
class TaskPermission(ModelAccessPermission):
'''
Permission checks used for API callbacks from running a task.
@@ -192,6 +196,17 @@ class TaskPermission(ModelAccessPermission):
return False
class WorkflowApprovalPermission(ModelAccessPermission):
'''
Permission check used by workflow `approval` and `deny` views to determine
who has access to approve and deny paused workflow nodes
'''
def check_post_permissions(self, request, view, obj=None):
approval = get_object_or_400(view.model, pk=view.kwargs['pk'])
return check_user_access(request.user, view.model, 'approve_or_deny', approval)
class ProjectUpdatePermission(ModelAccessPermission):
'''
Permission check used by ProjectUpdateView to determine who can update projects
@@ -235,3 +250,7 @@ class InstanceGroupTowerPermission(ModelAccessPermission):
return False
return super(InstanceGroupTowerPermission, self).has_object_permission(request, view, obj)
class WebhookKeyPermission(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
return request.user.can_access(view.model, 'admin', obj, request.data)

View File

@@ -1,12 +1,13 @@
# Copyright (c) 2015 Ansible, Inc.
# All Rights Reserved.
from django.utils.safestring import SafeText
from prometheus_client.parser import text_string_to_metric_families
# Django REST Framework
from rest_framework import renderers
from rest_framework.request import override_method
import six
class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer):
'''
@@ -20,6 +21,19 @@ class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer):
return renderers.JSONRenderer()
return renderer
def get_content(self, renderer, data, accepted_media_type, renderer_context):
if isinstance(data, SafeText):
# Older versions of Django (pre-2.0) have a py3 bug which causes
# bytestrings marked as "safe" to not actually get _treated_ as
# safe; this causes certain embedded strings (like the stdout HTML
# view) to be improperly escaped
# see: https://github.com/ansible/awx/issues/3108
# https://code.djangoproject.com/ticket/28121
return data
return super(BrowsableAPIRenderer, self).get_content(renderer, data,
accepted_media_type,
renderer_context)
def get_context(self, data, accepted_media_type, renderer_context):
# Store the associated response status to know how to populate the raw
# data form.
@@ -71,8 +85,8 @@ class PlainTextRenderer(renderers.BaseRenderer):
format = 'txt'
def render(self, data, media_type=None, renderer_context=None):
if not isinstance(data, six.string_types):
data = six.text_type(data)
if not isinstance(data, str):
data = str(data)
return data.encode(self.charset)
@@ -90,3 +104,21 @@ class AnsiTextRenderer(PlainTextRenderer):
class AnsiDownloadRenderer(PlainTextRenderer):
format = "ansi_download"
class PrometheusJSONRenderer(renderers.JSONRenderer):
def render(self, data, accepted_media_type=None, renderer_context=None):
if isinstance(data, dict):
# HTTP errors are {'detail': ErrorDetail(string='...', code=...)}
return super(PrometheusJSONRenderer, self).render(
data, accepted_media_type, renderer_context
)
parsed_metrics = text_string_to_metric_families(data)
data = {}
for family in parsed_metrics:
for sample in family.samples:
data[sample[0]] = {"labels": sample[1], "value": sample[2]}
return super(PrometheusJSONRenderer, self).render(
data, accepted_media_type, renderer_context
)

File diff suppressed because it is too large Load Diff

View File

@@ -13,6 +13,17 @@ from rest_framework.views import APIView
from rest_framework_swagger import renderers
class SuperUserSchemaGenerator(SchemaGenerator):
def has_view_permissions(self, path, method, view):
#
# Generate the Swagger schema as if you were a superuser and
# permissions didn't matter; this short-circuits the schema path
# discovery to include _all_ potential paths in the API.
#
return True
class AutoSchema(DRFAuthSchema):
def get_link(self, path, method, base_url):
@@ -42,7 +53,6 @@ class AutoSchema(DRFAuthSchema):
return link
def get_description(self, path, method):
self.view._request = self.view.request
setattr(self.view.request, 'swagger_method', method)
description = super(AutoSchema, self).get_description(path, method)
return description
@@ -59,7 +69,7 @@ class SwaggerSchemaView(APIView):
]
def get(self, request):
generator = SchemaGenerator(
generator = SuperUserSchemaGenerator(
title='Ansible Tower API',
patterns=None,
urlconf=None

View File

@@ -5,7 +5,7 @@ The following lists the expected format and details of our rrules:
* INTERVAL is required
* SECONDLY is not supported
* TZID is not supported
* RRULE must preceed the rule statements
* RRULE must precede the rule statements
* BYDAY is supported but not BYDAY with a numerical prefix
* BYYEARDAY and BYWEEKNO are not supported
* Only one rrule statement per schedule is supported

View File

@@ -29,17 +29,6 @@ to the redirect_uri specified in the application. The client application will th
AWX will respond with the `access_token`, `token_type`, `refresh_token`, and `expires_in`. For more
information on testing this flow, refer to [django-oauth-toolkit](http://django-oauth-toolkit.readthedocs.io/en/latest/tutorial/tutorial_01.html#test-your-authorization-server).
## Create Token for an Application using Implicit grant type
Suppose we have an application "admin's app" of grant type `implicit`.
In API browser, first make sure the user is logged in via session auth, then visit authorization
endpoint with given parameters:
```text
http://localhost:8013/api/o/authorize/?response_type=token&client_id=L0uQQWW8pKX51hoqIRQGsuqmIdPi2AcXZ9EJRGmj&scope=read
```
Here the value of `client_id` should be the same as that of `client_id` field of underlying application.
On success, an authorization page should be displayed asking the logged in user to grant/deny the access token.
Once the user clicks on 'grant', the API browser will try POSTing to the same endpoint with the same parameters
in POST body, on success a 302 redirect will be returned.
## Create Token for an Application using Password grant type
@@ -56,6 +45,7 @@ For example:
```bash
curl -X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&username=<username>&password=<password>&scope=read" \
-u "gwSPoasWSdNkMDtBN3Hu2WYQpPWCO9SwUEsKK22l:fI6ZpfocHYBGfm1tP92r0yIgCyfRdDQt0Tos9L8a4fNsJjQQMwp9569e
IaUBsaVDgt2eiwOGe0bg5m5vCSstClZmtdy359RVx2rQK5YlIWyPlrolpt2LEpVeKXWaiybo" \
@@ -85,6 +75,7 @@ format:
The `/api/o/token/` endpoint is used for refreshing access token:
```bash
curl -X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=refresh_token&refresh_token=AL0NK9TTpv0qp54dGbC4VUZtsZ9r8z" \
-u "gwSPoasWSdNkMDtBN3Hu2WYQpPWCO9SwUEsKK22l:fI6ZpfocHYBGfm1tP92r0yIgCyfRdDQt0Tos9L8a4fNsJjQQMwp9569eIaUBsaVDgt2eiwOGe0bg5m5vCSstClZmtdy359RVx2rQK5YlIWyPlrolpt2LEpVeKXWaiybo" \
http://localhost:8013/api/o/token/ -i
@@ -114,6 +105,7 @@ Revoking is done by POSTing to `/api/o/revoke_token/` with the token to revoke a
```bash
curl -X POST -d "token=rQONsve372fQwuc2pn76k3IHDCYpi7" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u "gwSPoasWSdNkMDtBN3Hu2WYQpPWCO9SwUEsKK22l:fI6ZpfocHYBGfm1tP92r0yIgCyfRdDQt0Tos9L8a4fNsJjQQMwp9569eIaUBsaVDgt2eiwOGe0bg5m5vCSstClZmtdy359RVx2rQK5YlIWyPlrolpt2LEpVeKXWaiybo" \
http://localhost:8013/api/o/revoke_token/ -i
```

View File

@@ -1,7 +1,7 @@
# Cancel Inventory Update
Make a GET request to this resource to determine if the inventory update can be
cancelled. The response will include the following field:
canceled. The response will include the following field:
* `can_cancel`: Indicates whether this update can be canceled (boolean,
read-only)

View File

@@ -1,7 +1,7 @@
{% ifmeth GET %}
# Determine if a Job can be cancelled
# Determine if a Job can be canceled
Make a GET request to this resource to determine if the job can be cancelled.
Make a GET request to this resource to determine if the job can be canceled.
The response will include the following field:
* `can_cancel`: Indicates whether this job can be canceled (boolean, read-only)

View File

@@ -8,15 +8,15 @@ job template.
For example, using curl:
curl -H "Content-Type: application/json" -d '{"host_config_key": "HOST_CONFIG_KEY"}' http://server/api/v1/job_templates/N/callback/
curl -H "Content-Type: application/json" -d '{"host_config_key": "HOST_CONFIG_KEY"}' http://server/api/v2/job_templates/N/callback/
Or using wget:
wget -O /dev/null --post-data='{"host_config_key": "HOST_CONFIG_KEY"}' --header=Content-Type:application/json http://server/api/v1/job_templates/N/callback/
wget -O /dev/null --post-data='{"host_config_key": "HOST_CONFIG_KEY"}' --header=Content-Type:application/json http://server/api/v2/job_templates/N/callback/
You may also pass `extra_vars` to the callback:
curl -H "Content-Type: application/json" -d '{"host_config_key": "HOST_CONFIG_KEY", "extra_vars": {"key": "value"}}' http://server/api/v1/job_templates/N/callback/
curl -H "Content-Type: application/json" -d '{"host_config_key": "HOST_CONFIG_KEY", "extra_vars": {"key": "value"}}' http://server/api/v2/job_templates/N/callback/
The response will return status 202 if the request is valid, 403 for an
invalid host config key, or 400 if the host cannot be determined from the
@@ -30,7 +30,7 @@ A GET request may be used to verify that the correct host will be selected.
This request must authenticate as a valid user with permission to edit the
job template. For example:
curl http://user:password@server/api/v1/job_templates/N/callback/
curl http://user:password@server/api/v2/job_templates/N/callback/
The response will include the host config key as well as the host name(s)
that would match the request:

View File

@@ -1,7 +1,7 @@
# Cancel Project Update
Make a GET request to this resource to determine if the project update can be
cancelled. The response will include the following field:
canceled. The response will include the following field:
* `can_cancel`: Indicates whether this update can be canceled (boolean,
read-only)

View File

@@ -3,7 +3,7 @@ Launch a Job Template:
Make a POST request to this resource to launch the system job template.
Variables specified inside of the parameter `extra_vars` are passed to the
system job task as command line parameters. These tasks can be ran manually
system job task as command line parameters. These tasks can be run manually
on the host system via the `awx-manage` command.
For example on `cleanup_jobs` and `cleanup_activitystream`:

View File

@@ -1,6 +1,6 @@
{% ifmeth GET %}
# List Roles for a Team:
{% ifmeth GET %}
Make a GET request to this resource to retrieve a list of roles associated with the selected team.
{% include "api/_list_common.md" %}

View File

@@ -6,4 +6,4 @@ One result should be returned containing the following fields:
{% include "api/_result_fields_common.md" %}
Use the primary URL for the user (/api/v1/users/N/) to modify the user.
Use the primary URL for the user (/api/v2/users/N/) to modify the user.

View File

@@ -1,6 +1,6 @@
{% ifmeth GET %}
# List Roles for a User:
{% ifmeth GET %}
Make a GET request to this resource to retrieve a list of roles associated with the selected user.
{% include "api/_list_common.md" %}

View File

@@ -0,0 +1,12 @@
Webhook Secret Key:
Make a GET request to this resource to obtain the secret key for a job
template or workflow job template configured to be triggered by
webhook events. The response will include the following fields:
* `webhook_key`: Secret key that needs to be copied and added to the
webhook configuration of the service this template will be receiving
webhook events from (string, read-only)
Make an empty POST request to this resource to generate a new
replacement `webhook_key`.

View File

@@ -4,4 +4,7 @@
from __future__ import absolute_import, unicode_literals
from .urls import urlpatterns
__all__ = ['urlpatterns']
__all__ = ['urlpatterns', 'app_name']
app_name = 'api'

View File

@@ -12,6 +12,8 @@ from awx.api.views import (
CredentialOwnerUsersList,
CredentialOwnerTeamsList,
CredentialCopy,
CredentialInputSourceSubList,
CredentialExternalTest,
)
@@ -24,6 +26,8 @@ urls = [
url(r'^(?P<pk>[0-9]+)/owner_users/$', CredentialOwnerUsersList.as_view(), name='credential_owner_users_list'),
url(r'^(?P<pk>[0-9]+)/owner_teams/$', CredentialOwnerTeamsList.as_view(), name='credential_owner_teams_list'),
url(r'^(?P<pk>[0-9]+)/copy/$', CredentialCopy.as_view(), name='credential_copy'),
url(r'^(?P<pk>[0-9]+)/input_sources/$', CredentialInputSourceSubList.as_view(), name='credential_input_source_sublist'),
url(r'^(?P<pk>[0-9]+)/test/$', CredentialExternalTest.as_view(), name='credential_external_test'),
]
__all__ = ['urls']

View File

@@ -0,0 +1,17 @@
# Copyright (c) 2019 Ansible, Inc.
# All Rights Reserved.
from django.conf.urls import url
from awx.api.views import (
CredentialInputSourceDetail,
CredentialInputSourceList,
)
urls = [
url(r'^$', CredentialInputSourceList.as_view(), name='credential_input_source_list'),
url(r'^(?P<pk>[0-9]+)/$', CredentialInputSourceDetail.as_view(), name='credential_input_source_detail'),
]
__all__ = ['urls']

View File

@@ -8,6 +8,7 @@ from awx.api.views import (
CredentialTypeDetail,
CredentialTypeCredentialList,
CredentialTypeActivityStreamList,
CredentialTypeExternalTest,
)
@@ -16,6 +17,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/$', CredentialTypeDetail.as_view(), name='credential_type_detail'),
url(r'^(?P<pk>[0-9]+)/credentials/$', CredentialTypeCredentialList.as_view(), name='credential_type_credential_list'),
url(r'^(?P<pk>[0-9]+)/activity_stream/$', CredentialTypeActivityStreamList.as_view(), name='credential_type_activity_stream_list'),
url(r'^(?P<pk>[0-9]+)/test/$', CredentialTypeExternalTest.as_view(), name='credential_type_external_test'),
]
__all__ = ['urls']

View File

@@ -16,8 +16,6 @@ from awx.api.views import (
HostSmartInventoriesList,
HostAdHocCommandsList,
HostAdHocCommandEventsList,
HostFactVersionsList,
HostFactCompareView,
HostInsights,
)
@@ -35,8 +33,6 @@ urls = [
url(r'^(?P<pk>[0-9]+)/smart_inventories/$', HostSmartInventoriesList.as_view(), name='host_smart_inventories_list'),
url(r'^(?P<pk>[0-9]+)/ad_hoc_commands/$', HostAdHocCommandsList.as_view(), name='host_ad_hoc_commands_list'),
url(r'^(?P<pk>[0-9]+)/ad_hoc_command_events/$', HostAdHocCommandEventsList.as_view(), name='host_ad_hoc_command_events_list'),
url(r'^(?P<pk>[0-9]+)/fact_versions/$', HostFactVersionsList.as_view(), name='host_fact_versions_list'),
url(r'^(?P<pk>[0-9]+)/fact_view/$', HostFactCompareView.as_view(), name='host_fact_compare_view'),
url(r'^(?P<pk>[0-9]+)/insights/$', HostInsights.as_view(), name='host_insights'),
]

View File

@@ -13,8 +13,8 @@ from awx.api.views import (
InventorySourceCredentialsList,
InventorySourceGroupsList,
InventorySourceHostsList,
InventorySourceNotificationTemplatesAnyList,
InventorySourceNotificationTemplatesErrorList,
InventorySourceNotificationTemplatesStartedList,
InventorySourceNotificationTemplatesSuccessList,
)
@@ -29,8 +29,8 @@ urls = [
url(r'^(?P<pk>[0-9]+)/credentials/$', InventorySourceCredentialsList.as_view(), name='inventory_source_credentials_list'),
url(r'^(?P<pk>[0-9]+)/groups/$', InventorySourceGroupsList.as_view(), name='inventory_source_groups_list'),
url(r'^(?P<pk>[0-9]+)/hosts/$', InventorySourceHostsList.as_view(), name='inventory_source_hosts_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_any/$', InventorySourceNotificationTemplatesAnyList.as_view(),
name='inventory_source_notification_templates_any_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_started/$', InventorySourceNotificationTemplatesStartedList.as_view(),
name='inventory_source_notification_templates_started_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_error/$', InventorySourceNotificationTemplatesErrorList.as_view(),
name='inventory_source_notification_templates_error_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_success/$', InventorySourceNotificationTemplatesSuccessList.as_view(),

View File

@@ -6,7 +6,6 @@ from django.conf.urls import url
from awx.api.views import (
JobList,
JobDetail,
JobStart,
JobCancel,
JobRelaunch,
JobCreateSchedule,
@@ -23,7 +22,6 @@ from awx.api.views import (
urls = [
url(r'^$', JobList.as_view(), name='job_list'),
url(r'^(?P<pk>[0-9]+)/$', JobDetail.as_view(), name='job_detail'),
url(r'^(?P<pk>[0-9]+)/start/$', JobStart.as_view(), name='job_start'), # Todo: Remove In 3.3
url(r'^(?P<pk>[0-9]+)/cancel/$', JobCancel.as_view(), name='job_cancel'),
url(r'^(?P<pk>[0-9]+)/relaunch/$', JobRelaunch.as_view(), name='job_relaunch'),
url(r'^(?P<pk>[0-9]+)/create_schedule/$', JobCreateSchedule.as_view(), name='job_create_schedule'),

View File

@@ -1,7 +1,7 @@
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
from django.conf.urls import url
from django.conf.urls import include, url
from awx.api.views import (
JobTemplateList,
@@ -13,8 +13,8 @@ from awx.api.views import (
JobTemplateSchedulesList,
JobTemplateSurveySpec,
JobTemplateActivityStreamList,
JobTemplateNotificationTemplatesAnyList,
JobTemplateNotificationTemplatesErrorList,
JobTemplateNotificationTemplatesStartedList,
JobTemplateNotificationTemplatesSuccessList,
JobTemplateInstanceGroupsList,
JobTemplateAccessList,
@@ -34,8 +34,8 @@ urls = [
url(r'^(?P<pk>[0-9]+)/schedules/$', JobTemplateSchedulesList.as_view(), name='job_template_schedules_list'),
url(r'^(?P<pk>[0-9]+)/survey_spec/$', JobTemplateSurveySpec.as_view(), name='job_template_survey_spec'),
url(r'^(?P<pk>[0-9]+)/activity_stream/$', JobTemplateActivityStreamList.as_view(), name='job_template_activity_stream_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_any/$', JobTemplateNotificationTemplatesAnyList.as_view(),
name='job_template_notification_templates_any_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_started/$', JobTemplateNotificationTemplatesStartedList.as_view(),
name='job_template_notification_templates_started_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_error/$', JobTemplateNotificationTemplatesErrorList.as_view(),
name='job_template_notification_templates_error_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_success/$', JobTemplateNotificationTemplatesSuccessList.as_view(),
@@ -45,6 +45,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/object_roles/$', JobTemplateObjectRolesList.as_view(), name='job_template_object_roles_list'),
url(r'^(?P<pk>[0-9]+)/labels/$', JobTemplateLabelList.as_view(), name='job_template_label_list'),
url(r'^(?P<pk>[0-9]+)/copy/$', JobTemplateCopy.as_view(), name='job_template_copy'),
url(r'^(?P<pk>[0-9]+)/', include('awx.api.urls.webhooks'), {'model_kwarg': 'job_templates'}),
]
__all__ = ['urls']

View File

@@ -15,9 +15,10 @@ from awx.api.views import (
OrganizationCredentialList,
OrganizationActivityStreamList,
OrganizationNotificationTemplatesList,
OrganizationNotificationTemplatesAnyList,
OrganizationNotificationTemplatesErrorList,
OrganizationNotificationTemplatesStartedList,
OrganizationNotificationTemplatesSuccessList,
OrganizationNotificationTemplatesApprovalList,
OrganizationInstanceGroupsList,
OrganizationObjectRolesList,
OrganizationAccessList,
@@ -25,7 +26,7 @@ from awx.api.views import (
)
urls = [
urls = [
url(r'^$', OrganizationList.as_view(), name='organization_list'),
url(r'^(?P<pk>[0-9]+)/$', OrganizationDetail.as_view(), name='organization_detail'),
url(r'^(?P<pk>[0-9]+)/users/$', OrganizationUsersList.as_view(), name='organization_users_list'),
@@ -37,12 +38,14 @@ urls = [
url(r'^(?P<pk>[0-9]+)/credentials/$', OrganizationCredentialList.as_view(), name='organization_credential_list'),
url(r'^(?P<pk>[0-9]+)/activity_stream/$', OrganizationActivityStreamList.as_view(), name='organization_activity_stream_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates/$', OrganizationNotificationTemplatesList.as_view(), name='organization_notification_templates_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_any/$', OrganizationNotificationTemplatesAnyList.as_view(),
name='organization_notification_templates_any_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_started/$', OrganizationNotificationTemplatesStartedList.as_view(),
name='organization_notification_templates_started_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_error/$', OrganizationNotificationTemplatesErrorList.as_view(),
name='organization_notification_templates_error_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_success/$', OrganizationNotificationTemplatesSuccessList.as_view(),
name='organization_notification_templates_success_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_approvals/$', OrganizationNotificationTemplatesApprovalList.as_view(),
name='organization_notification_templates_approvals_list'),
url(r'^(?P<pk>[0-9]+)/instance_groups/$', OrganizationInstanceGroupsList.as_view(), name='organization_instance_groups_list'),
url(r'^(?P<pk>[0-9]+)/object_roles/$', OrganizationObjectRolesList.as_view(), name='organization_object_roles_list'),
url(r'^(?P<pk>[0-9]+)/access_list/$', OrganizationAccessList.as_view(), name='organization_access_list'),

View File

@@ -14,8 +14,8 @@ from awx.api.views import (
ProjectUpdatesList,
ProjectActivityStreamList,
ProjectSchedulesList,
ProjectNotificationTemplatesAnyList,
ProjectNotificationTemplatesErrorList,
ProjectNotificationTemplatesStartedList,
ProjectNotificationTemplatesSuccessList,
ProjectObjectRolesList,
ProjectAccessList,
@@ -34,10 +34,11 @@ urls = [
url(r'^(?P<pk>[0-9]+)/project_updates/$', ProjectUpdatesList.as_view(), name='project_updates_list'),
url(r'^(?P<pk>[0-9]+)/activity_stream/$', ProjectActivityStreamList.as_view(), name='project_activity_stream_list'),
url(r'^(?P<pk>[0-9]+)/schedules/$', ProjectSchedulesList.as_view(), name='project_schedules_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_any/$', ProjectNotificationTemplatesAnyList.as_view(), name='project_notification_templates_any_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_error/$', ProjectNotificationTemplatesErrorList.as_view(), name='project_notification_templates_error_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_success/$', ProjectNotificationTemplatesSuccessList.as_view(),
name='project_notification_templates_success_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_started/$', ProjectNotificationTemplatesStartedList.as_view(),
name='project_notification_templates_started_list'),
url(r'^(?P<pk>[0-9]+)/object_roles/$', ProjectObjectRolesList.as_view(), name='project_object_roles_list'),
url(r'^(?P<pk>[0-9]+)/access_list/$', ProjectAccessList.as_view(), name='project_access_list'),
url(r'^(?P<pk>[0-9]+)/copy/$', ProjectCopy.as_view(), name='project_copy'),

View File

@@ -9,8 +9,8 @@ from awx.api.views import (
SystemJobTemplateLaunch,
SystemJobTemplateJobsList,
SystemJobTemplateSchedulesList,
SystemJobTemplateNotificationTemplatesAnyList,
SystemJobTemplateNotificationTemplatesErrorList,
SystemJobTemplateNotificationTemplatesStartedList,
SystemJobTemplateNotificationTemplatesSuccessList,
)
@@ -21,8 +21,8 @@ urls = [
url(r'^(?P<pk>[0-9]+)/launch/$', SystemJobTemplateLaunch.as_view(), name='system_job_template_launch'),
url(r'^(?P<pk>[0-9]+)/jobs/$', SystemJobTemplateJobsList.as_view(), name='system_job_template_jobs_list'),
url(r'^(?P<pk>[0-9]+)/schedules/$', SystemJobTemplateSchedulesList.as_view(), name='system_job_template_schedules_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_any/$', SystemJobTemplateNotificationTemplatesAnyList.as_view(),
name='system_job_template_notification_templates_any_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_started/$', SystemJobTemplateNotificationTemplatesStartedList.as_view(),
name='system_job_template_notification_templates_started_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_error/$', SystemJobTemplateNotificationTemplatesErrorList.as_view(),
name='system_job_template_notification_templates_error_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_success/$', SystemJobTemplateNotificationTemplatesSuccessList.as_view(),

View File

@@ -11,10 +11,10 @@ from awx.api.generics import (
)
from awx.api.views import (
ApiRootView,
ApiV1RootView,
ApiV2RootView,
ApiV1PingView,
ApiV1ConfigView,
ApiV2PingView,
ApiV2ConfigView,
ApiV2SubscriptionView,
AuthView,
UserMeList,
DashboardView,
@@ -34,6 +34,8 @@ from awx.api.views import (
OAuth2ApplicationDetail,
)
from awx.api.views.metrics import MetricsView
from .organization import urls as organization_urls
from .user import urls as user_urls
from .project import urls as project_urls
@@ -47,6 +49,7 @@ from .inventory_update import urls as inventory_update_urls
from .inventory_script import urls as inventory_script_urls
from .credential_type import urls as credential_type_urls
from .credential import urls as credential_urls
from .credential_input_source import urls as credential_input_source_urls
from .role import urls as role_urls
from .job_template import urls as job_template_urls
from .job import urls as job_urls
@@ -69,12 +72,30 @@ from .instance import urls as instance_urls
from .instance_group import urls as instance_group_urls
from .oauth2 import urls as oauth2_urls
from .oauth2_root import urls as oauth2_root_urls
from .workflow_approval_template import urls as workflow_approval_template_urls
from .workflow_approval import urls as workflow_approval_urls
v1_urls = [
url(r'^$', ApiV1RootView.as_view(), name='api_v1_root_view'),
url(r'^ping/$', ApiV1PingView.as_view(), name='api_v1_ping_view'),
url(r'^config/$', ApiV1ConfigView.as_view(), name='api_v1_config_view'),
v2_urls = [
url(r'^$', ApiV2RootView.as_view(), name='api_v2_root_view'),
url(r'^credential_types/', include(credential_type_urls)),
url(r'^credential_input_sources/', include(credential_input_source_urls)),
url(r'^hosts/(?P<pk>[0-9]+)/ansible_facts/$', HostAnsibleFactsDetail.as_view(), name='host_ansible_facts_detail'),
url(r'^jobs/(?P<pk>[0-9]+)/extra_credentials/$', JobExtraCredentialsList.as_view(), name='job_extra_credentials_list'),
url(r'^jobs/(?P<pk>[0-9]+)/credentials/$', JobCredentialsList.as_view(), name='job_credentials_list'),
url(r'^job_templates/(?P<pk>[0-9]+)/extra_credentials/$', JobTemplateExtraCredentialsList.as_view(), name='job_template_extra_credentials_list'),
url(r'^job_templates/(?P<pk>[0-9]+)/credentials/$', JobTemplateCredentialsList.as_view(), name='job_template_credentials_list'),
url(r'^schedules/preview/$', SchedulePreview.as_view(), name='schedule_rrule'),
url(r'^schedules/zoneinfo/$', ScheduleZoneInfo.as_view(), name='schedule_zoneinfo'),
url(r'^applications/$', OAuth2ApplicationList.as_view(), name='o_auth2_application_list'),
url(r'^applications/(?P<pk>[0-9]+)/$', OAuth2ApplicationDetail.as_view(), name='o_auth2_application_detail'),
url(r'^applications/(?P<pk>[0-9]+)/tokens/$', ApplicationOAuth2TokenList.as_view(), name='application_o_auth2_token_list'),
url(r'^tokens/$', OAuth2TokenList.as_view(), name='o_auth2_token_list'),
url(r'^', include(oauth2_urls)),
url(r'^metrics/$', MetricsView.as_view(), name='metrics_view'),
url(r'^ping/$', ApiV2PingView.as_view(), name='api_v2_ping_view'),
url(r'^config/$', ApiV2ConfigView.as_view(), name='api_v2_config_view'),
url(r'^config/subscriptions/$', ApiV2SubscriptionView.as_view(), name='api_v2_subscription_view'),
url(r'^auth/$', AuthView.as_view()),
url(r'^me/$', UserMeList.as_view(), name='user_me_list'),
url(r'^dashboard/$', DashboardView.as_view(), name='dashboard_view'),
@@ -114,30 +135,15 @@ v1_urls = [
url(r'^unified_job_templates/$', UnifiedJobTemplateList.as_view(), name='unified_job_template_list'),
url(r'^unified_jobs/$', UnifiedJobList.as_view(), name='unified_job_list'),
url(r'^activity_stream/', include(activity_stream_urls)),
url(r'^workflow_approval_templates/', include(workflow_approval_template_urls)),
url(r'^workflow_approvals/', include(workflow_approval_urls)),
]
v2_urls = [
url(r'^$', ApiV2RootView.as_view(), name='api_v2_root_view'),
url(r'^credential_types/', include(credential_type_urls)),
url(r'^hosts/(?P<pk>[0-9]+)/ansible_facts/$', HostAnsibleFactsDetail.as_view(), name='host_ansible_facts_detail'),
url(r'^jobs/(?P<pk>[0-9]+)/extra_credentials/$', JobExtraCredentialsList.as_view(), name='job_extra_credentials_list'),
url(r'^jobs/(?P<pk>[0-9]+)/credentials/$', JobCredentialsList.as_view(), name='job_credentials_list'),
url(r'^job_templates/(?P<pk>[0-9]+)/extra_credentials/$', JobTemplateExtraCredentialsList.as_view(), name='job_template_extra_credentials_list'),
url(r'^job_templates/(?P<pk>[0-9]+)/credentials/$', JobTemplateCredentialsList.as_view(), name='job_template_credentials_list'),
url(r'^schedules/preview/$', SchedulePreview.as_view(), name='schedule_rrule'),
url(r'^schedules/zoneinfo/$', ScheduleZoneInfo.as_view(), name='schedule_zoneinfo'),
url(r'^applications/$', OAuth2ApplicationList.as_view(), name='o_auth2_application_list'),
url(r'^applications/(?P<pk>[0-9]+)/$', OAuth2ApplicationDetail.as_view(), name='o_auth2_application_detail'),
url(r'^applications/(?P<pk>[0-9]+)/tokens/$', ApplicationOAuth2TokenList.as_view(), name='application_o_auth2_token_list'),
url(r'^tokens/$', OAuth2TokenList.as_view(), name='o_auth2_token_list'),
url(r'^', include(oauth2_urls)),
]
app_name = 'api'
urlpatterns = [
url(r'^$', ApiRootView.as_view(), name='api_root_view'),
url(r'^(?P<version>(v2))/', include(v2_urls)),
url(r'^(?P<version>(v1|v2))/', include(v1_urls)),
url(r'^login/$', LoggedLoginView.as_view(
template_name='rest_framework/login.html',
extra_context={'inside_login_context': True}

14
awx/api/urls/webhooks.py Normal file
View File

@@ -0,0 +1,14 @@
from django.conf.urls import url
from awx.api.views import (
WebhookKeyView,
GithubWebhookReceiver,
GitlabWebhookReceiver,
)
urlpatterns = [
url(r'^webhook_key/$', WebhookKeyView.as_view(), name='webhook_key'),
url(r'^github/$', GithubWebhookReceiver.as_view(), name='webhook_receiver_github'),
url(r'^gitlab/$', GitlabWebhookReceiver.as_view(), name='webhook_receiver_gitlab'),
]

View File

@@ -0,0 +1,21 @@
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
from django.conf.urls import url
from awx.api.views import (
WorkflowApprovalList,
WorkflowApprovalDetail,
WorkflowApprovalApprove,
WorkflowApprovalDeny,
)
urls = [
url(r'^$', WorkflowApprovalList.as_view(), name='workflow_approval_list'),
url(r'^(?P<pk>[0-9]+)/$', WorkflowApprovalDetail.as_view(), name='workflow_approval_detail'),
url(r'^(?P<pk>[0-9]+)/approve/$', WorkflowApprovalApprove.as_view(), name='workflow_approval_approve'),
url(r'^(?P<pk>[0-9]+)/deny/$', WorkflowApprovalDeny.as_view(), name='workflow_approval_deny'),
]
__all__ = ['urls']

View File

@@ -0,0 +1,17 @@
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
from django.conf.urls import url
from awx.api.views import (
WorkflowApprovalTemplateDetail,
WorkflowApprovalTemplateJobsList,
)
urls = [
url(r'^(?P<pk>[0-9]+)/$', WorkflowApprovalTemplateDetail.as_view(), name='workflow_approval_template_detail'),
url(r'^(?P<pk>[0-9]+)/approvals/$', WorkflowApprovalTemplateJobsList.as_view(), name='workflow_approval_template_jobs_list'),
]
__all__ = ['urls']

View File

@@ -1,7 +1,7 @@
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
from django.conf.urls import url
from django.conf.urls import include, url
from awx.api.views import (
WorkflowJobTemplateList,
@@ -13,9 +13,10 @@ from awx.api.views import (
WorkflowJobTemplateSurveySpec,
WorkflowJobTemplateWorkflowNodesList,
WorkflowJobTemplateActivityStreamList,
WorkflowJobTemplateNotificationTemplatesAnyList,
WorkflowJobTemplateNotificationTemplatesErrorList,
WorkflowJobTemplateNotificationTemplatesStartedList,
WorkflowJobTemplateNotificationTemplatesSuccessList,
WorkflowJobTemplateNotificationTemplatesApprovalList,
WorkflowJobTemplateAccessList,
WorkflowJobTemplateObjectRolesList,
WorkflowJobTemplateLabelList,
@@ -32,15 +33,18 @@ urls = [
url(r'^(?P<pk>[0-9]+)/survey_spec/$', WorkflowJobTemplateSurveySpec.as_view(), name='workflow_job_template_survey_spec'),
url(r'^(?P<pk>[0-9]+)/workflow_nodes/$', WorkflowJobTemplateWorkflowNodesList.as_view(), name='workflow_job_template_workflow_nodes_list'),
url(r'^(?P<pk>[0-9]+)/activity_stream/$', WorkflowJobTemplateActivityStreamList.as_view(), name='workflow_job_template_activity_stream_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_any/$', WorkflowJobTemplateNotificationTemplatesAnyList.as_view(),
name='workflow_job_template_notification_templates_any_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_started/$', WorkflowJobTemplateNotificationTemplatesStartedList.as_view(),
name='workflow_job_template_notification_templates_started_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_error/$', WorkflowJobTemplateNotificationTemplatesErrorList.as_view(),
name='workflow_job_template_notification_templates_error_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_success/$', WorkflowJobTemplateNotificationTemplatesSuccessList.as_view(),
name='workflow_job_template_notification_templates_success_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_approvals/$', WorkflowJobTemplateNotificationTemplatesApprovalList.as_view(),
name='workflow_job_template_notification_templates_approvals_list'),
url(r'^(?P<pk>[0-9]+)/access_list/$', WorkflowJobTemplateAccessList.as_view(), name='workflow_job_template_access_list'),
url(r'^(?P<pk>[0-9]+)/object_roles/$', WorkflowJobTemplateObjectRolesList.as_view(), name='workflow_job_template_object_roles_list'),
url(r'^(?P<pk>[0-9]+)/labels/$', WorkflowJobTemplateLabelList.as_view(), name='workflow_job_template_label_list'),
url(r'^(?P<pk>[0-9]+)/', include('awx.api.urls.webhooks'), {'model_kwarg': 'workflow_job_templates'}),
]
__all__ = ['urls']

View File

@@ -10,6 +10,7 @@ from awx.api.views import (
WorkflowJobTemplateNodeFailureNodesList,
WorkflowJobTemplateNodeAlwaysNodesList,
WorkflowJobTemplateNodeCredentialsList,
WorkflowJobTemplateNodeCreateApproval,
)
@@ -20,6 +21,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/failure_nodes/$', WorkflowJobTemplateNodeFailureNodesList.as_view(), name='workflow_job_template_node_failure_nodes_list'),
url(r'^(?P<pk>[0-9]+)/always_nodes/$', WorkflowJobTemplateNodeAlwaysNodesList.as_view(), name='workflow_job_template_node_always_nodes_list'),
url(r'^(?P<pk>[0-9]+)/credentials/$', WorkflowJobTemplateNodeCredentialsList.as_view(), name='workflow_job_template_node_credentials_list'),
url(r'^(?P<pk>[0-9]+)/create_approval_template/$', WorkflowJobTemplateNodeCreateApproval.as_view(), name='workflow_job_template_node_create_approval'),
]
__all__ = ['urls']

View File

@@ -2,7 +2,7 @@
# All Rights Reserved.
from django.conf import settings
from django.core.urlresolvers import NoReverseMatch
from django.urls import NoReverseMatch
from rest_framework.reverse import _reverse
from rest_framework.versioning import URLPathVersioning as BaseVersioning
@@ -27,19 +27,6 @@ def drf_reverse(viewname, args=None, kwargs=None, request=None, format=None, **e
return url
def get_request_version(request):
"""
The API version of a request as an integer i.e., 1 or 2
"""
version = settings.REST_FRAMEWORK['DEFAULT_VERSION']
if request and hasattr(request, 'version'):
version = request.version
if version is None:
# For requests to /api/
return None
return int(version.lstrip('v'))
def reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra):
if request is None or getattr(request, 'version', None) is None:
# We need the "current request" to determine the correct version to

File diff suppressed because it is too large Load Diff

View File

@@ -44,11 +44,9 @@ from awx.api.serializers import (
InstanceGroupSerializer,
InventoryUpdateEventSerializer,
CustomInventoryScriptSerializer,
InventoryDetailSerializer,
JobTemplateSerializer,
)
from awx.api.views.mixin import (
ActivityStreamEnforcementMixin,
RelatedJobsPreventDeleteMixin,
ControlledByScmMixin,
)
@@ -62,7 +60,7 @@ class InventoryUpdateEventsList(SubListAPIView):
serializer_class = InventoryUpdateEventSerializer
parent_model = InventoryUpdate
relationship = 'inventory_update_events'
view_name = _('Inventory Update Events List')
name = _('Inventory Update Events List')
search_fields = ('stdout',)
def finalize_response(self, request, response, *args, **kwargs):
@@ -72,12 +70,16 @@ class InventoryUpdateEventsList(SubListAPIView):
class InventoryScriptList(ListCreateAPIView):
deprecated = True
model = CustomInventoryScript
serializer_class = CustomInventoryScriptSerializer
class InventoryScriptDetail(RetrieveUpdateDestroyAPIView):
deprecated = True
model = CustomInventoryScript
serializer_class = CustomInventoryScriptSerializer
@@ -94,6 +96,8 @@ class InventoryScriptDetail(RetrieveUpdateDestroyAPIView):
class InventoryScriptObjectRolesList(SubListAPIView):
deprecated = True
model = Role
serializer_class = RoleSerializer
parent_model = CustomInventoryScript
@@ -107,6 +111,8 @@ class InventoryScriptObjectRolesList(SubListAPIView):
class InventoryScriptCopy(CopyAPIView):
deprecated = True
model = CustomInventoryScript
copy_return_serializer_class = CustomInventoryScriptSerializer
@@ -116,17 +122,11 @@ class InventoryList(ListCreateAPIView):
model = Inventory
serializer_class = InventorySerializer
def get_queryset(self):
qs = Inventory.accessible_objects(self.request.user, 'read_role')
qs = qs.select_related('admin_role', 'read_role', 'update_role', 'use_role', 'adhoc_role')
qs = qs.prefetch_related('created_by', 'modified_by', 'organization')
return qs
class InventoryDetail(RelatedJobsPreventDeleteMixin, ControlledByScmMixin, RetrieveUpdateDestroyAPIView):
model = Inventory
serializer_class = InventoryDetailSerializer
serializer_class = InventorySerializer
def update(self, request, *args, **kwargs):
obj = self.get_object()
@@ -149,7 +149,7 @@ class InventoryDetail(RelatedJobsPreventDeleteMixin, ControlledByScmMixin, Retri
return Response(dict(error=_("{0}".format(e))), status=status.HTTP_400_BAD_REQUEST)
class InventoryActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView):
class InventoryActivityStreamList(SubListAPIView):
model = ActivityStream
serializer_class = ActivityStreamSerializer

41
awx/api/views/metrics.py Normal file
View File

@@ -0,0 +1,41 @@
# Copyright (c) 2018 Red Hat, Inc.
# All Rights Reserved.
# Python
import logging
# Django
from django.utils.translation import ugettext_lazy as _
# Django REST Framework
from rest_framework.response import Response
from rest_framework.exceptions import PermissionDenied
# AWX
# from awx.main.analytics import collectors
from awx.main.analytics.metrics import metrics
from awx.api import renderers
from awx.api.generics import (
APIView,
)
logger = logging.getLogger('awx.main.analytics')
class MetricsView(APIView):
name = _('Metrics')
swagger_topic = 'Metrics'
renderer_classes = [renderers.PlainTextRenderer,
renderers.PrometheusJSONRenderer,
renderers.BrowsableAPIRenderer,]
def get(self, request):
''' Show Metrics Details '''
if (request.user.is_superuser or request.user.is_system_auditor):
return Response(metrics().decode('UTF-8'))
raise PermissionDenied()

View File

@@ -31,48 +31,11 @@ from awx.main.models.organization import Team
from awx.main.models.projects import Project
from awx.main.models.inventory import Inventory
from awx.main.models.jobs import JobTemplate
from awx.conf.license import (
feature_enabled,
LicenseForbids,
)
from awx.api.exceptions import ActiveJobConflict
logger = logging.getLogger('awx.api.views.mixin')
class ActivityStreamEnforcementMixin(object):
'''
Mixin to check that license supports activity streams.
'''
def check_permissions(self, request):
ret = super(ActivityStreamEnforcementMixin, self).check_permissions(request)
if not feature_enabled('activity_streams'):
raise LicenseForbids(_('Your license does not allow use of the activity stream.'))
return ret
class SystemTrackingEnforcementMixin(object):
'''
Mixin to check that license supports system tracking.
'''
def check_permissions(self, request):
ret = super(SystemTrackingEnforcementMixin, self).check_permissions(request)
if not feature_enabled('system_tracking'):
raise LicenseForbids(_('Your license does not permit use of system tracking.'))
return ret
class WorkflowsEnforcementMixin(object):
'''
Mixin to check that license supports workflows.
'''
def check_permissions(self, request):
ret = super(WorkflowsEnforcementMixin, self).check_permissions(request)
if not feature_enabled('workflows') and request.method not in ('GET', 'OPTIONS', 'DELETE'):
raise LicenseForbids(_('Your license does not allow use of workflows.'))
return ret
class UnifiedJobDeletionMixin(object):
'''
Special handling when deleting a running unified job object.
@@ -307,3 +270,11 @@ class ControlledByScmMixin(object):
obj = super(ControlledByScmMixin, self).get_parent_object()
self._reset_inv_src_rev(obj)
return obj
class NoTruncateMixin(object):
def get_serializer_context(self):
context = super().get_serializer_context()
if self.request.query_params.get('no_truncate'):
context.update(no_truncate=True)
return context

View File

@@ -7,13 +7,8 @@ import logging
# Django
from django.db.models import Count
from django.contrib.contenttypes.models import ContentType
from django.utils.translation import ugettext_lazy as _
# AWX
from awx.conf.license import (
feature_enabled,
LicenseForbids,
)
from awx.main.models import (
ActivityStream,
Inventory,
@@ -50,7 +45,6 @@ from awx.api.serializers import (
InstanceGroupSerializer,
)
from awx.api.views.mixin import (
ActivityStreamEnforcementMixin,
RelatedJobsPreventDeleteMixin,
OrganizationCountsMixin,
)
@@ -69,24 +63,6 @@ class OrganizationList(OrganizationCountsMixin, ListCreateAPIView):
qs = qs.prefetch_related('created_by', 'modified_by')
return qs
def create(self, request, *args, **kwargs):
"""Create a new organzation.
If there is already an organization and the license of this
instance does not permit multiple organizations, then raise
LicenseForbids.
"""
# Sanity check: If the multiple organizations feature is disallowed
# by the license, then we are only willing to create this organization
# if no organizations exist in the system.
if (not feature_enabled('multiple_organizations') and
self.model.objects.exists()):
raise LicenseForbids(_('Your license only permits a single '
'organization to exist.'))
# Okay, create the organization as usual.
return super(OrganizationList, self).create(request, *args, **kwargs)
class OrganizationDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView):
@@ -140,6 +116,7 @@ class OrganizationUsersList(BaseUsersList):
serializer_class = UserSerializer
parent_model = Organization
relationship = 'member_role.members'
ordering = ('username',)
class OrganizationAdminsList(BaseUsersList):
@@ -148,6 +125,7 @@ class OrganizationAdminsList(BaseUsersList):
serializer_class = UserSerializer
parent_model = Organization
relationship = 'admin_role.members'
ordering = ('username',)
class OrganizationProjectsList(SubListCreateAttachDetachAPIView):
@@ -177,7 +155,7 @@ class OrganizationTeamsList(SubListCreateAttachDetachAPIView):
parent_key = 'organization'
class OrganizationActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView):
class OrganizationActivityStreamList(SubListAPIView):
model = ActivityStream
serializer_class = ActivityStreamSerializer
@@ -200,25 +178,28 @@ class OrganizationNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView)
model = NotificationTemplate
serializer_class = NotificationTemplateSerializer
parent_model = Organization
relationship = 'notification_templates_any'
class OrganizationNotificationTemplatesErrorList(SubListCreateAttachDetachAPIView):
class OrganizationNotificationTemplatesStartedList(OrganizationNotificationTemplatesAnyList):
relationship = 'notification_templates_started'
class OrganizationNotificationTemplatesErrorList(OrganizationNotificationTemplatesAnyList):
model = NotificationTemplate
serializer_class = NotificationTemplateSerializer
parent_model = Organization
relationship = 'notification_templates_error'
class OrganizationNotificationTemplatesSuccessList(SubListCreateAttachDetachAPIView):
class OrganizationNotificationTemplatesSuccessList(OrganizationNotificationTemplatesAnyList):
model = NotificationTemplate
serializer_class = NotificationTemplateSerializer
parent_model = Organization
relationship = 'notification_templates_success'
class OrganizationNotificationTemplatesApprovalList(OrganizationNotificationTemplatesAnyList):
relationship = 'notification_templates_approvals'
class OrganizationInstanceGroupsList(SubListAttachDetachAPIView):
model = InstanceGroup
@@ -244,4 +225,3 @@ class OrganizationObjectRolesList(SubListAPIView):
po = self.get_parent_object()
content_type = ContentType.objects.get_for_model(self.parent_model)
return Role.objects.filter(content_type=content_type, object_id=po.pk)

View File

@@ -2,6 +2,7 @@
# All Rights Reserved.
import logging
import operator
import json
from collections import OrderedDict
@@ -16,7 +17,10 @@ from rest_framework.permissions import AllowAny, IsAuthenticated
from rest_framework.response import Response
from rest_framework import status
import requests
from awx.api.generics import APIView
from awx.conf.registry import settings_registry
from awx.main.ha import is_ha_environment
from awx.main.utils import (
get_awx_version,
@@ -24,8 +28,9 @@ from awx.main.utils import (
get_custom_venv_choices,
to_python_boolean,
)
from awx.api.versioning import reverse, get_request_version, drf_reverse
from awx.conf.license import get_license, feature_enabled
from awx.api.versioning import reverse, drf_reverse
from awx.conf.license import get_license
from awx.main.constants import PRIVILEGE_ESCALATION_METHODS
from awx.main.models import (
Project,
Organization,
@@ -33,6 +38,7 @@ from awx.main.models import (
InstanceGroup,
JobTemplate,
)
from awx.main.utils import set_environ
logger = logging.getLogger('awx.api.views.root')
@@ -40,7 +46,7 @@ logger = logging.getLogger('awx.api.views.root')
class ApiRootView(APIView):
permission_classes = (AllowAny,)
view_name = _('REST API')
name = _('REST API')
versioning_class = None
swagger_topic = 'Versioning'
@@ -48,23 +54,22 @@ class ApiRootView(APIView):
def get(self, request, format=None):
''' List supported API versions '''
v1 = reverse('api:api_v1_root_view', kwargs={'version': 'v1'})
v2 = reverse('api:api_v2_root_view', kwargs={'version': 'v2'})
data = OrderedDict()
data['description'] = _('AWX REST API')
data['current_version'] = v2
data['available_versions'] = dict(v1 = v1, v2 = v2)
data['available_versions'] = dict(v2 = v2)
data['oauth2'] = drf_reverse('api:oauth_authorization_root_view')
if feature_enabled('rebranding'):
data['custom_logo'] = settings.CUSTOM_LOGO
data['custom_login_info'] = settings.CUSTOM_LOGIN_INFO
data['custom_logo'] = settings.CUSTOM_LOGO
data['custom_login_info'] = settings.CUSTOM_LOGIN_INFO
data['login_redirect_override'] = settings.LOGIN_REDIRECT_OVERRIDE
return Response(data)
class ApiOAuthAuthorizationRootView(APIView):
permission_classes = (AllowAny,)
view_name = _("API OAuth 2 Authorization Root")
name = _("API OAuth 2 Authorization Root")
versioning_class = None
swagger_topic = 'Authentication'
@@ -84,10 +89,10 @@ class ApiVersionRootView(APIView):
def get(self, request, format=None):
''' List top level resources '''
data = OrderedDict()
data['ping'] = reverse('api:api_v1_ping_view', request=request)
data['ping'] = reverse('api:api_v2_ping_view', request=request)
data['instances'] = reverse('api:instance_list', request=request)
data['instance_groups'] = reverse('api:instance_group_list', request=request)
data['config'] = reverse('api:api_v1_config_view', request=request)
data['config'] = reverse('api:api_v2_config_view', request=request)
data['settings'] = reverse('api:setting_category_list', request=request)
data['me'] = reverse('api:user_me_list', request=request)
data['dashboard'] = reverse('api:dashboard_view', request=request)
@@ -97,10 +102,11 @@ class ApiVersionRootView(APIView):
data['project_updates'] = reverse('api:project_update_list', request=request)
data['teams'] = reverse('api:team_list', request=request)
data['credentials'] = reverse('api:credential_list', request=request)
if get_request_version(request) > 1:
data['credential_types'] = reverse('api:credential_type_list', request=request)
data['applications'] = reverse('api:o_auth2_application_list', request=request)
data['tokens'] = reverse('api:o_auth2_token_list', request=request)
data['credential_types'] = reverse('api:credential_type_list', request=request)
data['credential_input_sources'] = reverse('api:credential_input_source_list', request=request)
data['applications'] = reverse('api:o_auth2_application_list', request=request)
data['tokens'] = reverse('api:o_auth2_token_list', request=request)
data['metrics'] = reverse('api:metrics_view', request=request)
data['inventory'] = reverse('api:inventory_list', request=request)
data['inventory_scripts'] = reverse('api:inventory_script_list', request=request)
data['inventory_sources'] = reverse('api:inventory_source_list', request=request)
@@ -123,26 +129,23 @@ class ApiVersionRootView(APIView):
data['activity_stream'] = reverse('api:activity_stream_list', request=request)
data['workflow_job_templates'] = reverse('api:workflow_job_template_list', request=request)
data['workflow_jobs'] = reverse('api:workflow_job_list', request=request)
data['workflow_approvals'] = reverse('api:workflow_approval_list', request=request)
data['workflow_job_template_nodes'] = reverse('api:workflow_job_template_node_list', request=request)
data['workflow_job_nodes'] = reverse('api:workflow_job_node_list', request=request)
return Response(data)
class ApiV1RootView(ApiVersionRootView):
view_name = _('Version 1')
class ApiV2RootView(ApiVersionRootView):
view_name = _('Version 2')
name = _('Version 2')
class ApiV1PingView(APIView):
class ApiV2PingView(APIView):
"""A simple view that reports very basic information about this
instance, which is acceptable to be public information.
"""
permission_classes = (AllowAny,)
authentication_classes = ()
view_name = _('Ping')
name = _('Ping')
swagger_topic = 'System Configuration'
def get(self, request, format=None):
@@ -155,29 +158,75 @@ class ApiV1PingView(APIView):
'ha': is_ha_environment(),
'version': get_awx_version(),
'active_node': settings.CLUSTER_HOST_ID,
'install_uuid': settings.INSTALL_UUID,
}
response['instances'] = []
for instance in Instance.objects.all():
response['instances'].append(dict(node=instance.hostname, heartbeat=instance.modified,
response['instances'].append(dict(node=instance.hostname, uuid=instance.uuid, heartbeat=instance.modified,
capacity=instance.capacity, version=instance.version))
response['instances'].sort()
sorted(response['instances'], key=operator.itemgetter('node'))
response['instance_groups'] = []
for instance_group in InstanceGroup.objects.all():
for instance_group in InstanceGroup.objects.prefetch_related('instances'):
response['instance_groups'].append(dict(name=instance_group.name,
capacity=instance_group.capacity,
instances=[x.hostname for x in instance_group.instances.all()]))
return Response(response)
class ApiV1ConfigView(APIView):
class ApiV2SubscriptionView(APIView):
permission_classes = (IsAuthenticated,)
view_name = _('Configuration')
name = _('Configuration')
swagger_topic = 'System Configuration'
def check_permissions(self, request):
super(ApiV1ConfigView, self).check_permissions(request)
super(ApiV2SubscriptionView, self).check_permissions(request)
if not request.user.is_superuser and request.method.lower() not in {'options', 'head'}:
self.permission_denied(request) # Raises PermissionDenied exception.
def post(self, request):
from awx.main.utils.common import get_licenser
data = request.data.copy()
if data.get('rh_password') == '$encrypted$':
data['rh_password'] = settings.REDHAT_PASSWORD
try:
user, pw = data.get('rh_username'), data.get('rh_password')
with set_environ(**settings.AWX_TASK_ENV):
validated = get_licenser().validate_rh(user, pw)
if user:
settings.REDHAT_USERNAME = data['rh_username']
if pw:
settings.REDHAT_PASSWORD = data['rh_password']
except Exception as exc:
msg = _("Invalid License")
if (
isinstance(exc, requests.exceptions.HTTPError) and
getattr(getattr(exc, 'response', None), 'status_code', None) == 401
):
msg = _("The provided credentials are invalid (HTTP 401).")
elif isinstance(exc, requests.exceptions.ProxyError):
msg = _("Unable to connect to proxy server.")
elif isinstance(exc, requests.exceptions.ConnectionError):
msg = _("Could not connect to subscription service.")
elif isinstance(exc, (ValueError, OSError)) and exc.args:
msg = exc.args[0]
else:
logger.exception(smart_text(u"Invalid license submitted."),
extra=dict(actor=request.user.username))
return Response({"error": msg}, status=status.HTTP_400_BAD_REQUEST)
return Response(validated)
class ApiV2ConfigView(APIView):
permission_classes = (IsAuthenticated,)
name = _('Configuration')
swagger_topic = 'System Configuration'
def check_permissions(self, request):
super(ApiV2ConfigView, self).check_permissions(request)
if not request.user.is_superuser and request.method.lower() not in {'options', 'head', 'get'}:
self.permission_denied(request) # Raises PermissionDenied exception.
@@ -202,13 +251,14 @@ class ApiV1ConfigView(APIView):
version=get_awx_version(),
ansible_version=get_ansible_version(),
eula=render_to_string("eula.md") if license_data.get('license_type', 'UNLICENSED') != 'open' else '',
analytics_status=pendo_state
analytics_status=pendo_state,
become_methods=PRIVILEGE_ESCALATION_METHODS,
)
# If LDAP is enabled, user_ldap_fields will return a list of field
# names that are managed by LDAP and should be read-only for users with
# a non-empty ldap_dn attribute.
if getattr(settings, 'AUTH_LDAP_SERVER_URI', None) and feature_enabled('ldap'):
if getattr(settings, 'AUTH_LDAP_SERVER_URI', None):
user_ldap_fields = ['username', 'password']
user_ldap_fields.extend(getattr(settings, 'AUTH_LDAP_USER_ATTR_MAP', {}).keys())
user_ldap_fields.extend(getattr(settings, 'AUTH_LDAP_USER_FLAGS_BY_GROUP', {}).keys())
@@ -217,7 +267,8 @@ class ApiV1ConfigView(APIView):
if request.user.is_superuser \
or request.user.is_system_auditor \
or Organization.accessible_objects(request.user, 'admin_role').exists() \
or Organization.accessible_objects(request.user, 'auditor_role').exists():
or Organization.accessible_objects(request.user, 'auditor_role').exists() \
or Organization.accessible_objects(request.user, 'project_admin_role').exists():
data.update(dict(
project_base_dir = settings.PROJECTS_ROOT,
project_local_paths = Project.get_local_path_choices(),
@@ -259,7 +310,8 @@ class ApiV1ConfigView(APIView):
# If the license is valid, write it to the database.
if license_data_validated['valid_key']:
settings.LICENSE = license_data
settings.TOWER_URL_BASE = "{}://{}".format(request.scheme, request.get_host())
if not settings_registry.is_setting_read_only('TOWER_URL_BASE'):
settings.TOWER_URL_BASE = "{}://{}".format(request.scheme, request.get_host())
return Response(license_data_validated)
logger.warning(smart_text(u"Invalid license submitted."),
@@ -273,6 +325,3 @@ class ApiV1ConfigView(APIView):
except Exception:
# FIX: Log
return Response({"error": _("Failed to remove license.")}, status=status.HTTP_400_BAD_REQUEST)

246
awx/api/views/webhooks.py Normal file
View File

@@ -0,0 +1,246 @@
from hashlib import sha1
import hmac
import logging
import urllib.parse
from django.utils.encoding import force_bytes
from django.utils.translation import ugettext_lazy as _
from django.views.decorators.csrf import csrf_exempt
from rest_framework import status
from rest_framework.exceptions import PermissionDenied
from rest_framework.permissions import AllowAny
from rest_framework.response import Response
from awx.api import serializers
from awx.api.generics import APIView, GenericAPIView
from awx.api.permissions import WebhookKeyPermission
from awx.main.models import Job, JobTemplate, WorkflowJob, WorkflowJobTemplate
logger = logging.getLogger('awx.api.views.webhooks')
class WebhookKeyView(GenericAPIView):
serializer_class = serializers.EmptySerializer
permission_classes = (WebhookKeyPermission,)
def get_queryset(self):
qs_models = {
'job_templates': JobTemplate,
'workflow_job_templates': WorkflowJobTemplate,
}
self.model = qs_models.get(self.kwargs['model_kwarg'])
return super().get_queryset()
def get(self, request, *args, **kwargs):
obj = self.get_object()
return Response({'webhook_key': obj.webhook_key})
def post(self, request, *args, **kwargs):
obj = self.get_object()
obj.rotate_webhook_key()
obj.save(update_fields=['webhook_key'])
return Response({'webhook_key': obj.webhook_key}, status=status.HTTP_201_CREATED)
class WebhookReceiverBase(APIView):
lookup_url_kwarg = None
lookup_field = 'pk'
permission_classes = (AllowAny,)
authentication_classes = ()
ref_keys = {}
def get_queryset(self):
qs_models = {
'job_templates': JobTemplate,
'workflow_job_templates': WorkflowJobTemplate,
}
model = qs_models.get(self.kwargs['model_kwarg'])
if model is None:
raise PermissionDenied
return model.objects.filter(webhook_service=self.service).exclude(webhook_key='')
def get_object(self):
queryset = self.get_queryset()
lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
filter_kwargs = {self.lookup_field: self.kwargs[lookup_url_kwarg]}
obj = queryset.filter(**filter_kwargs).first()
if obj is None:
raise PermissionDenied
return obj
def get_event_type(self):
raise NotImplementedError
def get_event_guid(self):
raise NotImplementedError
def get_event_status_api(self):
raise NotImplementedError
def get_event_ref(self):
key = self.ref_keys.get(self.get_event_type(), '')
value = self.request.data
for element in key.split('.'):
try:
if element.isdigit():
value = value[int(element)]
else:
value = (value or {}).get(element)
except Exception:
value = None
if value == '0000000000000000000000000000000000000000': # a deleted ref
value = None
return value
def get_signature(self):
raise NotImplementedError
def check_signature(self, obj):
if not obj.webhook_key:
raise PermissionDenied
mac = hmac.new(force_bytes(obj.webhook_key), msg=force_bytes(self.request.body), digestmod=sha1)
logger.debug("header signature: %s", self.get_signature())
logger.debug("calculated signature: %s", force_bytes(mac.hexdigest()))
if not hmac.compare_digest(force_bytes(mac.hexdigest()), self.get_signature()):
raise PermissionDenied
@csrf_exempt
def post(self, request, *args, **kwargs):
# Ensure that the full contents of the request are captured for multiple uses.
request.body
logger.debug(
"headers: {}\n"
"data: {}\n".format(request.headers, request.data)
)
obj = self.get_object()
self.check_signature(obj)
event_type = self.get_event_type()
event_guid = self.get_event_guid()
event_ref = self.get_event_ref()
status_api = self.get_event_status_api()
kwargs = {
'unified_job_template_id': obj.id,
'webhook_service': obj.webhook_service,
'webhook_guid': event_guid,
}
if WorkflowJob.objects.filter(**kwargs).exists() or Job.objects.filter(**kwargs).exists():
# Short circuit if this webhook has already been received and acted upon.
logger.debug("Webhook previously received, returning without action.")
return Response({'message': _("Webhook previously received, aborting.")},
status=status.HTTP_202_ACCEPTED)
kwargs = {
'_eager_fields': {
'launch_type': 'webhook',
'webhook_service': obj.webhook_service,
'webhook_credential': obj.webhook_credential,
'webhook_guid': event_guid,
},
'extra_vars': {
'tower_webhook_event_type': event_type,
'tower_webhook_event_guid': event_guid,
'tower_webhook_event_ref': event_ref,
'tower_webhook_status_api': status_api,
'tower_webhook_payload': request.data,
}
}
new_job = obj.create_unified_job(**kwargs)
new_job.signal_start()
return Response({'message': "Job queued."}, status=status.HTTP_202_ACCEPTED)
class GithubWebhookReceiver(WebhookReceiverBase):
service = 'github'
ref_keys = {
'pull_request': 'pull_request.head.sha',
'pull_request_review': 'pull_request.head.sha',
'pull_request_review_comment': 'pull_request.head.sha',
'push': 'after',
'release': 'release.tag_name',
'commit_comment': 'comment.commit_id',
'create': 'ref',
'page_build': 'build.commit',
}
def get_event_type(self):
return self.request.META.get('HTTP_X_GITHUB_EVENT')
def get_event_guid(self):
return self.request.META.get('HTTP_X_GITHUB_DELIVERY')
def get_event_status_api(self):
if self.get_event_type() != 'pull_request':
return
return self.request.data.get('pull_request', {}).get('statuses_url')
def get_signature(self):
header_sig = self.request.META.get('HTTP_X_HUB_SIGNATURE')
if not header_sig:
logger.debug("Expected signature missing from header key HTTP_X_HUB_SIGNATURE")
raise PermissionDenied
hash_alg, signature = header_sig.split('=')
if hash_alg != 'sha1':
logger.debug("Unsupported signature type, expected: sha1, received: {}".format(hash_alg))
raise PermissionDenied
return force_bytes(signature)
class GitlabWebhookReceiver(WebhookReceiverBase):
service = 'gitlab'
ref_keys = {
'Push Hook': 'checkout_sha',
'Tag Push Hook': 'checkout_sha',
'Merge Request Hook': 'object_attributes.last_commit.id',
}
def get_event_type(self):
return self.request.META.get('HTTP_X_GITLAB_EVENT')
def get_event_guid(self):
# GitLab does not provide a unique identifier on events, so construct one.
h = sha1()
h.update(force_bytes(self.request.body))
return h.hexdigest()
def get_event_status_api(self):
if self.get_event_type() != 'Merge Request Hook':
return
project = self.request.data.get('project', {})
repo_url = project.get('web_url')
if not repo_url:
return
parsed = urllib.parse.urlparse(repo_url)
return "{}://{}/api/v4/projects/{}/statuses/{}".format(
parsed.scheme, parsed.netloc, project['id'], self.get_event_ref())
def get_signature(self):
return force_bytes(self.request.META.get('HTTP_X_GITLAB_TOKEN') or '')
def check_signature(self, obj):
if not obj.webhook_key:
raise PermissionDenied
# GitLab only returns the secret token, not an hmac hash. Use
# the hmac `compare_digest` helper function to prevent timing
# analysis by attackers.
if not hmac.compare_digest(force_bytes(obj.webhook_key), self.get_signature()):
raise PermissionDenied

View File

@@ -78,9 +78,6 @@ register(
# the other settings change, the cached value for this setting will be
# cleared to require it to be recomputed.
depends_on=['ANSIBLE_COW_SELECTION'],
# Optional; licensed feature required to be able to view or modify this
# setting.
feature_required='rebranding',
# Optional; field is stored encrypted in the database and only $encrypted$
# is returned via the API.
encrypted=True,

View File

@@ -1,16 +1,19 @@
# Python
import os
import re
import logging
import urlparse
import urllib.parse as urlparse
from collections import OrderedDict
# Django
from django.core.validators import URLValidator
from django.core.validators import URLValidator, _lazy_re_compile
from django.utils.translation import ugettext_lazy as _
# Django REST Framework
from rest_framework.fields import * # noqa
import six
from rest_framework.fields import ( # noqa
BooleanField, CharField, ChoiceField, DictField, DateTimeField, EmailField,
IntegerField, ListField, NullBooleanField
)
logger = logging.getLogger('awx.conf.fields')
@@ -71,7 +74,7 @@ class StringListBooleanField(ListField):
return False
elif value in NullBooleanField.NULL_VALUES:
return None
elif isinstance(value, basestring):
elif isinstance(value, str):
return self.child.to_representation(value)
except TypeError:
pass
@@ -88,22 +91,70 @@ class StringListBooleanField(ListField):
return False
elif data in NullBooleanField.NULL_VALUES:
return None
elif isinstance(data, basestring):
elif isinstance(data, str):
return self.child.run_validation(data)
except TypeError:
pass
self.fail('type_error', input_type=type(data))
class StringListPathField(StringListField):
default_error_messages = {
'type_error': _('Expected list of strings but got {input_type} instead.'),
'path_error': _('{path} is not a valid path choice.'),
}
def to_internal_value(self, paths):
if isinstance(paths, (list, tuple)):
for p in paths:
if not isinstance(p, str):
self.fail('type_error', input_type=type(p))
if not os.path.exists(p):
self.fail('path_error', path=p)
return super(StringListPathField, self).to_internal_value(sorted({os.path.normpath(path) for path in paths}))
else:
self.fail('type_error', input_type=type(paths))
class URLField(CharField):
# these lines set up a custom regex that allow numbers in the
# top-level domain
tld_re = (
r'\.' # dot
r'(?!-)' # can't start with a dash
r'(?:[a-z' + URLValidator.ul + r'0-9' + '-]{2,63}' # domain label, this line was changed from the original URLValidator
r'|xn--[a-z0-9]{1,59})' # or punycode label
r'(?<!-)' # can't end with a dash
r'\.?' # may have a trailing dot
)
host_re = '(' + URLValidator.hostname_re + URLValidator.domain_re + tld_re + '|localhost)'
regex = _lazy_re_compile(
r'^(?:[a-z0-9\.\-\+]*)://' # scheme is validated separately
r'(?:[^\s:@/]+(?::[^\s:@/]*)?@)?' # user:pass authentication
r'(?:' + URLValidator.ipv4_re + '|' + URLValidator.ipv6_re + '|' + host_re + ')'
r'(?::\d{2,5})?' # port
r'(?:[/?#][^\s]*)?' # resource path
r'\Z', re.IGNORECASE)
def __init__(self, **kwargs):
schemes = kwargs.pop('schemes', None)
regex = kwargs.pop('regex', None)
self.allow_plain_hostname = kwargs.pop('allow_plain_hostname', False)
self.allow_numbers_in_top_level_domain = kwargs.pop('allow_numbers_in_top_level_domain', True)
super(URLField, self).__init__(**kwargs)
validator_kwargs = dict(message=_('Enter a valid URL'))
if schemes is not None:
validator_kwargs['schemes'] = schemes
if regex is not None:
validator_kwargs['regex'] = regex
if self.allow_numbers_in_top_level_domain and regex is None:
# default behavior is to allow numbers in the top level domain
# if a custom regex isn't provided
validator_kwargs['regex'] = URLField.regex
self.validators.append(URLValidator(**validator_kwargs))
def to_representation(self, value):
@@ -139,7 +190,7 @@ class KeyValueField(DictField):
def to_internal_value(self, data):
ret = super(KeyValueField, self).to_internal_value(data)
for value in data.values():
if not isinstance(value, six.string_types + six.integer_types + (float,)):
if not isinstance(value, (str, int, float)):
if isinstance(value, OrderedDict):
value = dict(value)
self.fail('invalid_child', input=value)

View File

@@ -1,64 +1,18 @@
# Copyright (c) 2016 Ansible, Inc.
# All Rights Reserved.
# Django
from django.core.signals import setting_changed
from django.dispatch import receiver
from django.utils.translation import ugettext_lazy as _
# Django REST Framework
from rest_framework.exceptions import APIException
# Tower
from awx.main.utils.common import get_licenser
from awx.main.utils import memoize, memoize_delete
__all__ = ['LicenseForbids', 'get_license', 'get_licensed_features',
'feature_enabled', 'feature_exists']
class LicenseForbids(APIException):
status_code = 402
default_detail = _('Your Tower license does not allow that.')
__all__ = ['get_license']
def _get_validated_license_data():
from awx.main.utils.common import get_licenser
return get_licenser().validate()
@receiver(setting_changed)
def _on_setting_changed(sender, **kwargs):
# Clear cached result above when license changes.
if kwargs.get('setting', None) == 'LICENSE':
memoize_delete('feature_enabled')
def get_license(show_key=False):
"""Return a dictionary representing the active license on this Tower instance."""
license_data = _get_validated_license_data()
if not show_key:
license_data.pop('license_key', None)
return license_data
def get_licensed_features():
"""Return a set of all features enabled by the active license."""
features = set()
for feature, enabled in _get_validated_license_data().get('features', {}).items():
if enabled:
features.add(feature)
return features
@memoize(track_function=True)
def feature_enabled(name):
"""Return True if the requested feature is enabled, False otherwise."""
validated_license_data = _get_validated_license_data()
if validated_license_data.get('license_type', 'UNLICENSED') == 'open':
return True
return validated_license_data.get('features', {}).get(name, False)
def feature_exists(name):
"""Return True if the requested feature name exists, False otherwise."""
return bool(name in _get_validated_license_data().get('features', {}))

View File

@@ -1,480 +0,0 @@
# Copyright (c) 2016 Ansible, Inc.
# All Rights Reserved.
# Python
import base64
import collections
import difflib
import json
import os
import shutil
# Django
from django.conf import settings
from django.core.management.base import BaseCommand, CommandError
from django.db import transaction
from django.utils.text import slugify
from django.utils.timezone import now
from django.utils.translation import ugettext_lazy as _
# Tower
from awx import MODE
from awx.conf import settings_registry
from awx.conf.fields import empty, SkipField
from awx.conf.models import Setting
from awx.conf.utils import comment_assignments
class Command(BaseCommand):
def add_arguments(self, parser):
parser.add_argument(
'category',
nargs='*',
type=str,
)
parser.add_argument(
'--dry-run',
action='store_true',
dest='dry_run',
default=False,
help=_('Only show which settings would be commented/migrated.'),
)
parser.add_argument(
'--skip-errors',
action='store_true',
dest='skip_errors',
default=False,
help=_('Skip over settings that would raise an error when commenting/migrating.'),
)
parser.add_argument(
'--no-comment',
action='store_true',
dest='no_comment',
default=False,
help=_('Skip commenting out settings in files.'),
)
parser.add_argument(
'--comment-only',
action='store_true',
dest='comment_only',
default=False,
help=_('Skip migrating and only comment out settings in files.'),
)
parser.add_argument(
'--backup-suffix',
dest='backup_suffix',
default=now().strftime('.%Y%m%d%H%M%S'),
help=_('Backup existing settings files with this suffix.'),
)
@transaction.atomic
def handle(self, *args, **options):
self.verbosity = int(options.get('verbosity', 1))
self.dry_run = bool(options.get('dry_run', False))
self.skip_errors = bool(options.get('skip_errors', False))
self.no_comment = bool(options.get('no_comment', False))
self.comment_only = bool(options.get('comment_only', False))
self.backup_suffix = options.get('backup_suffix', '')
self.categories = options.get('category', None) or ['all']
self.style.HEADING = self.style.MIGRATE_HEADING
self.style.LABEL = self.style.MIGRATE_LABEL
self.style.OK = self.style.SQL_FIELD
self.style.SKIP = self.style.WARNING
self.style.VALUE = self.style.SQL_KEYWORD
# Determine if any categories provided are invalid.
category_slugs = []
invalid_categories = []
for category in self.categories:
category_slug = slugify(category)
if category_slug in settings_registry.get_registered_categories():
if category_slug not in category_slugs:
category_slugs.append(category_slug)
else:
if category not in invalid_categories:
invalid_categories.append(category)
if len(invalid_categories) == 1:
raise CommandError('Invalid setting category: {}'.format(invalid_categories[0]))
elif len(invalid_categories) > 1:
raise CommandError('Invalid setting categories: {}'.format(', '.join(invalid_categories)))
# Build a list of all settings to be migrated.
registered_settings = []
for category_slug in category_slugs:
for registered_setting in settings_registry.get_registered_settings(category_slug=category_slug, read_only=False):
if registered_setting not in registered_settings:
registered_settings.append(registered_setting)
self._migrate_settings(registered_settings)
def _get_settings_file_patterns(self):
if MODE == 'development':
return [
'/etc/tower/settings.py',
'/etc/tower/conf.d/*.py',
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'settings', 'local_*.py')
]
else:
return [
os.environ.get('AWX_SETTINGS_FILE', '/etc/tower/settings.py'),
os.path.join(os.environ.get('AWX_SETTINGS_DIR', '/etc/tower/conf.d/'), '*.py'),
]
def _get_license_file(self):
return os.environ.get('AWX_LICENSE_FILE', '/etc/tower/license')
def _comment_license_file(self, dry_run=True):
license_file = self._get_license_file()
diff_lines = []
if os.path.exists(license_file):
try:
raw_license_data = open(license_file).read()
json.loads(raw_license_data)
except Exception as e:
raise CommandError('Error reading license from {0}: {1!r}'.format(license_file, e))
if self.backup_suffix:
backup_license_file = '{}{}'.format(license_file, self.backup_suffix)
else:
backup_license_file = '{}.old'.format(license_file)
diff_lines = list(difflib.unified_diff(
raw_license_data.splitlines(),
[],
fromfile=backup_license_file,
tofile=license_file,
lineterm='',
))
if not dry_run:
if self.backup_suffix:
shutil.copy2(license_file, backup_license_file)
os.remove(license_file)
return diff_lines
def _get_local_settings_file(self):
if MODE == 'development':
static_root = os.path.join(os.path.dirname(__file__), '..', '..', '..', 'ui', 'static')
else:
static_root = settings.STATIC_ROOT
return os.path.join(static_root, 'local_settings.json')
def _comment_local_settings_file(self, dry_run=True):
local_settings_file = self._get_local_settings_file()
diff_lines = []
if os.path.exists(local_settings_file):
try:
raw_local_settings_data = open(local_settings_file).read()
json.loads(raw_local_settings_data)
except Exception as e:
if not self.skip_errors:
raise CommandError('Error reading local settings from {0}: {1!r}'.format(local_settings_file, e))
return diff_lines
if self.backup_suffix:
backup_local_settings_file = '{}{}'.format(local_settings_file, self.backup_suffix)
else:
backup_local_settings_file = '{}.old'.format(local_settings_file)
diff_lines = list(difflib.unified_diff(
raw_local_settings_data.splitlines(),
[],
fromfile=backup_local_settings_file,
tofile=local_settings_file,
lineterm='',
))
if not dry_run:
if self.backup_suffix:
shutil.copy2(local_settings_file, backup_local_settings_file)
os.remove(local_settings_file)
return diff_lines
def _get_custom_logo_file(self):
if MODE == 'development':
static_root = os.path.join(os.path.dirname(__file__), '..', '..', '..', 'ui', 'static')
else:
static_root = settings.STATIC_ROOT
return os.path.join(static_root, 'assets', 'custom_console_logo.png')
def _comment_custom_logo_file(self, dry_run=True):
custom_logo_file = self._get_custom_logo_file()
diff_lines = []
if os.path.exists(custom_logo_file):
try:
raw_custom_logo_data = open(custom_logo_file).read()
except Exception as e:
if not self.skip_errors:
raise CommandError('Error reading custom logo from {0}: {1!r}'.format(custom_logo_file, e))
return diff_lines
if self.backup_suffix:
backup_custom_logo_file = '{}{}'.format(custom_logo_file, self.backup_suffix)
else:
backup_custom_logo_file = '{}.old'.format(custom_logo_file)
diff_lines = list(difflib.unified_diff(
['<PNG Image ({} bytes)>'.format(len(raw_custom_logo_data))],
[],
fromfile=backup_custom_logo_file,
tofile=custom_logo_file,
lineterm='',
))
if not dry_run:
if self.backup_suffix:
shutil.copy2(custom_logo_file, backup_custom_logo_file)
os.remove(custom_logo_file)
return diff_lines
def _check_if_needs_comment(self, patterns, setting):
files_to_comment = []
# If any diffs are returned, this setting needs to be commented.
diffs = comment_assignments(patterns, setting, dry_run=True)
if setting == 'LICENSE':
diffs.extend(self._comment_license_file(dry_run=True))
elif setting == 'CUSTOM_LOGIN_INFO':
diffs.extend(self._comment_local_settings_file(dry_run=True))
elif setting == 'CUSTOM_LOGO':
diffs.extend(self._comment_custom_logo_file(dry_run=True))
for diff in diffs:
for line in diff.splitlines():
if line.startswith('+++ '):
files_to_comment.append(line[4:])
return files_to_comment
def _check_if_needs_migration(self, setting):
# Check whether the current value differs from the default.
default_value = settings.DEFAULTS_SNAPSHOT.get(setting, empty)
if default_value is empty and setting != 'LICENSE':
field = settings_registry.get_setting_field(setting, read_only=True)
try:
default_value = field.get_default()
except SkipField:
pass
current_value = getattr(settings, setting, empty)
if setting == 'CUSTOM_LOGIN_INFO' and current_value in {empty, ''}:
local_settings_file = self._get_local_settings_file()
try:
if os.path.exists(local_settings_file):
local_settings = json.load(open(local_settings_file))
current_value = local_settings.get('custom_login_info', '')
except Exception as e:
if not self.skip_errors:
raise CommandError('Error reading custom login info from {0}: {1!r}'.format(local_settings_file, e))
if setting == 'CUSTOM_LOGO' and current_value in {empty, ''}:
custom_logo_file = self._get_custom_logo_file()
try:
if os.path.exists(custom_logo_file):
custom_logo_data = open(custom_logo_file).read()
if custom_logo_data:
current_value = 'data:image/png;base64,{}'.format(base64.b64encode(custom_logo_data))
else:
current_value = ''
except Exception as e:
if not self.skip_errors:
raise CommandError('Error reading custom logo from {0}: {1!r}'.format(custom_logo_file, e))
if current_value != default_value:
if current_value is empty:
current_value = None
return current_value
return empty
def _display_tbd(self, setting, files_to_comment, migrate_value, comment_error=None, migrate_error=None):
if self.verbosity >= 1:
if files_to_comment:
if migrate_value is not empty:
action = 'Migrate + Comment'
else:
action = 'Comment'
if comment_error or migrate_error:
action = self.style.ERROR('{} (skipped)'.format(action))
else:
action = self.style.OK(action)
self.stdout.write(' {}: {}'.format(
self.style.LABEL(setting),
action,
))
if self.verbosity >= 2:
if migrate_error:
self.stdout.write(' - Migrate value: {}'.format(
self.style.ERROR(migrate_error),
))
elif migrate_value is not empty:
self.stdout.write(' - Migrate value: {}'.format(
self.style.VALUE(repr(migrate_value)),
))
if comment_error:
self.stdout.write(' - Comment: {}'.format(
self.style.ERROR(comment_error),
))
elif files_to_comment:
for file_to_comment in files_to_comment:
self.stdout.write(' - Comment in: {}'.format(
self.style.VALUE(file_to_comment),
))
else:
if self.verbosity >= 2:
self.stdout.write(' {}: {}'.format(
self.style.LABEL(setting),
self.style.SKIP('No Migration'),
))
def _display_migrate(self, setting, action, display_value):
if self.verbosity >= 1:
if action == 'No Change':
action = self.style.SKIP(action)
else:
action = self.style.OK(action)
self.stdout.write(' {}: {}'.format(
self.style.LABEL(setting),
action,
))
if self.verbosity >= 2:
for line in display_value.splitlines():
self.stdout.write(' {}'.format(
self.style.VALUE(line),
))
def _display_diff_summary(self, filename, added, removed):
self.stdout.write(' {} {}{} {}{}'.format(
self.style.LABEL(filename),
self.style.ERROR('-'),
self.style.ERROR(int(removed)),
self.style.OK('+'),
self.style.OK(str(added)),
))
def _display_comment(self, diffs):
for diff in diffs:
if self.verbosity >= 2:
for line in diff.splitlines():
display_line = line
if line.startswith('--- ') or line.startswith('+++ '):
display_line = self.style.LABEL(line)
elif line.startswith('-'):
display_line = self.style.ERROR(line)
elif line.startswith('+'):
display_line = self.style.OK(line)
elif line.startswith('@@'):
display_line = self.style.VALUE(line)
if line.startswith('--- ') or line.startswith('+++ '):
self.stdout.write(' ' + display_line)
else:
self.stdout.write(' ' + display_line)
elif self.verbosity >= 1:
filename, lines_added, lines_removed = None, 0, 0
for line in diff.splitlines():
if line.startswith('+++ '):
if filename:
self._display_diff_summary(filename, lines_added, lines_removed)
filename, lines_added, lines_removed = line[4:], 0, 0
elif line.startswith('+'):
lines_added += 1
elif line.startswith('-'):
lines_removed += 1
if filename:
self._display_diff_summary(filename, lines_added, lines_removed)
def _discover_settings(self, registered_settings):
if self.verbosity >= 1:
self.stdout.write(self.style.HEADING('Discovering settings to be migrated and commented:'))
# Determine which settings need to be commented/migrated.
to_migrate = collections.OrderedDict()
to_comment = collections.OrderedDict()
patterns = self._get_settings_file_patterns()
for name in registered_settings:
comment_error, migrate_error = None, None
files_to_comment = []
try:
files_to_comment = self._check_if_needs_comment(patterns, name)
except Exception as e:
comment_error = 'Error commenting {0}: {1!r}'.format(name, e)
if not self.skip_errors:
raise CommandError(comment_error)
if files_to_comment:
to_comment[name] = files_to_comment
migrate_value = empty
if files_to_comment:
migrate_value = self._check_if_needs_migration(name)
if migrate_value is not empty:
field = settings_registry.get_setting_field(name)
assert not field.read_only
try:
data = field.to_representation(migrate_value)
setting_value = field.run_validation(data)
db_value = field.to_representation(setting_value)
to_migrate[name] = db_value
except Exception as e:
to_comment.pop(name)
migrate_error = 'Unable to assign value {0!r} to setting "{1}: {2!s}".'.format(migrate_value, name, e)
if not self.skip_errors:
raise CommandError(migrate_error)
self._display_tbd(name, files_to_comment, migrate_value, comment_error, migrate_error)
if self.verbosity == 1 and not to_migrate and not to_comment:
self.stdout.write(' No settings found to migrate or comment!')
return (to_migrate, to_comment)
def _migrate(self, to_migrate):
if self.verbosity >= 1:
if self.dry_run:
self.stdout.write(self.style.HEADING('Migrating settings to database (dry-run):'))
else:
self.stdout.write(self.style.HEADING('Migrating settings to database:'))
if not to_migrate:
self.stdout.write(' No settings to migrate!')
# Now migrate those settings to the database.
for name, db_value in to_migrate.items():
display_value = json.dumps(db_value, indent=4)
setting = Setting.objects.filter(key=name, user__isnull=True).order_by('pk').first()
action = 'No Change'
if not setting:
action = 'Migrated'
if not self.dry_run:
Setting.objects.create(key=name, user=None, value=db_value)
elif setting.value != db_value or type(setting.value) != type(db_value):
action = 'Updated'
if not self.dry_run:
setting.value = db_value
setting.save(update_fields=['value'])
self._display_migrate(name, action, display_value)
def _comment(self, to_comment):
if self.verbosity >= 1:
if bool(self.dry_run or self.no_comment):
self.stdout.write(self.style.HEADING('Commenting settings in files (dry-run):'))
else:
self.stdout.write(self.style.HEADING('Commenting settings in files:'))
if not to_comment:
self.stdout.write(' No settings to comment!')
# Now comment settings in settings files.
if to_comment:
to_comment_patterns = []
license_file_to_comment = None
local_settings_file_to_comment = None
custom_logo_file_to_comment = None
for files_to_comment in to_comment.values():
for file_to_comment in files_to_comment:
if file_to_comment == self._get_license_file():
license_file_to_comment = file_to_comment
elif file_to_comment == self._get_local_settings_file():
local_settings_file_to_comment = file_to_comment
elif file_to_comment == self._get_custom_logo_file():
custom_logo_file_to_comment = file_to_comment
elif file_to_comment not in to_comment_patterns:
to_comment_patterns.append(file_to_comment)
# Run once in dry-run mode to catch any errors from updating the files.
diffs = comment_assignments(to_comment_patterns, to_comment.keys(), dry_run=True, backup_suffix=self.backup_suffix)
# Then, if really updating, run again.
if not self.dry_run and not self.no_comment:
diffs = comment_assignments(to_comment_patterns, to_comment.keys(), dry_run=False, backup_suffix=self.backup_suffix)
if license_file_to_comment:
diffs.extend(self._comment_license_file(dry_run=False))
if local_settings_file_to_comment:
diffs.extend(self._comment_local_settings_file(dry_run=False))
if custom_logo_file_to_comment:
diffs.extend(self._comment_custom_logo_file(dry_run=False))
self._display_comment(diffs)
def _migrate_settings(self, registered_settings):
to_migrate, to_comment = self._discover_settings(registered_settings)
if not bool(self.comment_only):
self._migrate(to_migrate)
self._comment(to_comment)

View File

@@ -21,7 +21,8 @@ class Migration(migrations.Migration):
('modified', models.DateTimeField(default=None, editable=False)),
('key', models.CharField(max_length=255)),
('value', jsonfield.fields.JSONField(null=True)),
('user', models.ForeignKey(related_name='settings', default=None, editable=False, to=settings.AUTH_USER_MODEL, null=True)),
('user', models.ForeignKey(related_name='settings', default=None, editable=False,
to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)),
],
options={
'abstract': False,

View File

@@ -2,7 +2,6 @@
from __future__ import unicode_literals
from django.db import migrations
from awx.conf.migrations import _reencrypt
class Migration(migrations.Migration):
@@ -12,5 +11,8 @@ class Migration(migrations.Migration):
]
operations = [
migrations.RunPython(_reencrypt.replace_aesecb_fernet),
# This list is intentionally empty.
# Tower 3.2 included several data migrations that are no longer
# necessary (this list is now empty because Tower 3.2 is past EOL and
# cannot be directly upgraded to modern versions of Tower)
]

View File

@@ -22,7 +22,7 @@ def fill_ldap_group_type_params(apps, schema_editor):
modified=now())
init_attrs = set(inspect.getargspec(group_type.__init__).args[1:])
for k in group_type_params.keys():
for k in list(group_type_params.keys()):
if k not in init_attrs:
del group_type_params[k]

View File

@@ -1,31 +1,13 @@
import base64
import hashlib
import six
from django.utils.encoding import smart_str
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.ciphers import Cipher
from cryptography.hazmat.primitives.ciphers.algorithms import AES
from cryptography.hazmat.primitives.ciphers.modes import ECB
from awx.conf import settings_registry
__all__ = ['replace_aesecb_fernet', 'get_encryption_key', 'encrypt_field',
'decrypt_value', 'decrypt_value', 'should_decrypt_field']
def replace_aesecb_fernet(apps, schema_editor):
from awx.main.utils.encryption import encrypt_field
Setting = apps.get_model('conf', 'Setting')
for setting in Setting.objects.filter().order_by('pk'):
if settings_registry.is_setting_encrypted(setting.key):
if should_decrypt_field(setting.value):
setting.value = decrypt_field(setting, 'value')
setting.value = encrypt_field(setting, 'value')
setting.save()
__all__ = ['get_encryption_key', 'decrypt_field']
def get_encryption_key(field_name, pk=None):
@@ -77,38 +59,3 @@ def decrypt_field(instance, field_name, subfield=None):
key = get_encryption_key(field_name, getattr(instance, 'pk', None))
return decrypt_value(key, value)
def encrypt_field(instance, field_name, ask=False, subfield=None, skip_utf8=False):
'''
Return content of the given instance and field name encrypted.
'''
value = getattr(instance, field_name)
if isinstance(value, dict) and subfield is not None:
value = value[subfield]
if not value or value.startswith('$encrypted$') or (ask and value == 'ASK'):
return value
if skip_utf8:
utf8 = False
else:
utf8 = type(value) == six.text_type
value = smart_str(value)
key = get_encryption_key(field_name, getattr(instance, 'pk', None))
encryptor = Cipher(AES(key), ECB(), default_backend()).encryptor()
block_size = 16
while len(value) % block_size != 0:
value += '\x00'
encrypted = encryptor.update(value) + encryptor.finalize()
b64data = base64.b64encode(encrypted)
tokens = ['$encrypted', 'AES', b64data]
if utf8:
# If the value to encrypt is utf-8, we need to add a marker so we
# know to decode the data when it's decrypted later
tokens.insert(1, 'UTF8')
return '$'.join(tokens)
def should_decrypt_field(value):
if hasattr(value, 'startswith'):
return value.startswith('$encrypted$') and '$AESCBC$' not in value
return False

View File

@@ -33,7 +33,7 @@ class Setting(CreatedModifiedModel):
on_delete=models.CASCADE,
))
def __unicode__(self):
def __str__(self):
try:
json_value = json.dumps(self.value)
except ValueError:

View File

@@ -68,7 +68,7 @@ class SettingsRegistry(object):
def get_dependent_settings(self, setting):
return self._dependent_settings.get(setting, set())
def get_registered_categories(self, features_enabled=None):
def get_registered_categories(self):
categories = {
'all': _('All'),
'changed': _('Changed'),
@@ -77,10 +77,6 @@ class SettingsRegistry(object):
category_slug = kwargs.get('category_slug', None)
if category_slug is None or category_slug in categories:
continue
if features_enabled is not None:
feature_required = kwargs.get('feature_required', None)
if feature_required and feature_required not in features_enabled:
continue
if category_slug == 'user':
categories['user'] = _('User')
categories['user-defaults'] = _('User-Defaults')
@@ -88,7 +84,7 @@ class SettingsRegistry(object):
categories[category_slug] = kwargs.get('category', None) or category_slug
return categories
def get_registered_settings(self, category_slug=None, read_only=None, features_enabled=None, slugs_to_ignore=set()):
def get_registered_settings(self, category_slug=None, read_only=None, slugs_to_ignore=set()):
setting_names = []
if category_slug == 'user-defaults':
category_slug = 'user'
@@ -100,14 +96,10 @@ class SettingsRegistry(object):
if kwargs.get('category_slug', None) in slugs_to_ignore:
continue
if (read_only in {True, False} and kwargs.get('read_only', False) != read_only and
setting not in ('AWX_ISOLATED_PRIVATE_KEY', 'AWX_ISOLATED_PUBLIC_KEY')):
setting not in ('INSTALL_UUID', 'AWX_ISOLATED_PRIVATE_KEY', 'AWX_ISOLATED_PUBLIC_KEY')):
# Note: Doesn't catch fields that set read_only via __init__;
# read-only field kwargs should always include read_only=True.
continue
if features_enabled is not None:
feature_required = kwargs.get('feature_required', None)
if feature_required and feature_required not in features_enabled:
continue
setting_names.append(setting)
return setting_names
@@ -135,7 +127,6 @@ class SettingsRegistry(object):
category = field_kwargs.pop('category', None)
depends_on = frozenset(field_kwargs.pop('depends_on', None) or [])
placeholder = field_kwargs.pop('placeholder', empty)
feature_required = field_kwargs.pop('feature_required', empty)
encrypted = bool(field_kwargs.pop('encrypted', False))
defined_in_file = bool(field_kwargs.pop('defined_in_file', False))
if getattr(field_kwargs.get('child', None), 'source', None) is not None:
@@ -146,8 +137,6 @@ class SettingsRegistry(object):
field_instance.depends_on = depends_on
if placeholder is not empty:
field_instance.placeholder = placeholder
if feature_required is not empty:
field_instance.feature_required = feature_required
field_instance.defined_in_file = defined_in_file
if field_instance.defined_in_file:
field_instance.help_text = (

View File

@@ -1,8 +1,6 @@
# Django REST Framework
from rest_framework import serializers
import six
# Tower
from awx.api.fields import VerbatimField
from awx.api.serializers import BaseSerializer
@@ -47,12 +45,12 @@ class SettingFieldMixin(object):
"""Mixin to use a registered setting field class for API display/validation."""
def to_representation(self, obj):
if getattr(self, 'encrypted', False) and isinstance(obj, six.string_types) and obj:
if getattr(self, 'encrypted', False) and isinstance(obj, str) and obj:
return '$encrypted$'
return obj
def to_internal_value(self, value):
if getattr(self, 'encrypted', False) and isinstance(value, six.string_types) and value.startswith('$encrypted$'):
if getattr(self, 'encrypted', False) and isinstance(value, str) and value.startswith('$encrypted$'):
raise serializers.SkipField()
obj = super(SettingFieldMixin, self).to_internal_value(value)
return super(SettingFieldMixin, self).to_representation(obj)
@@ -90,7 +88,7 @@ class SettingSingletonSerializer(serializers.Serializer):
continue
extra_kwargs = {}
# Make LICENSE and AWX_ISOLATED_KEY_GENERATION read-only here;
# LICENSE is only updated via /api/v1/config/
# LICENSE is only updated via /api/v2/config/
# AWX_ISOLATED_KEY_GENERATION is only set/unset via the setup playbook
if key in ('LICENSE', 'AWX_ISOLATED_KEY_GENERATION'):
extra_kwargs['read_only'] = True

View File

@@ -1,23 +1,19 @@
# Python
from collections import namedtuple
import contextlib
import logging
import re
import sys
import threading
import time
import StringIO
import traceback
import urllib
import six
import urllib.parse
# Django
from django.conf import LazySettings
from django.conf import settings, UserSettingsHolder
from django.core.cache import cache as django_cache
from django.core.exceptions import ImproperlyConfigured
from django.db import ProgrammingError, OperationalError, transaction, connection
from django.db import transaction, connection
from django.db.utils import Error as DBError
from django.utils.functional import cached_property
# Django REST Framework
@@ -25,7 +21,6 @@ from rest_framework.fields import empty, SkipField
# Tower
from awx.main.utils import encrypt_field, decrypt_field
from awx.main.utils.db import get_tower_migration_version
from awx.conf import settings_registry
from awx.conf.models import Setting
from awx.conf.migrations._reencrypt import decrypt_field as old_decrypt_field
@@ -67,7 +62,7 @@ def normalize_broker_url(value):
match = re.search('(amqp://[^:]+:)(.*)', parts[0])
if match:
prefix, password = match.group(1), match.group(2)
parts[0] = prefix + urllib.quote(password)
parts[0] = prefix + urllib.parse.quote(password)
return '@'.join(parts)
@@ -90,46 +85,12 @@ def _ctit_db_wrapper(trans_safe=False):
logger.debug('Obtaining database settings in spite of broken transaction.')
transaction.set_rollback(False)
yield
except (ProgrammingError, OperationalError):
if 'migrate' in sys.argv and get_tower_migration_version() < '310':
logger.info('Using default settings until version 3.1 migration.')
except DBError:
if trans_safe:
if 'migrate' not in sys.argv and 'check_migrations' not in sys.argv:
logger.exception('Database settings are not available, using defaults.')
else:
# We want the _full_ traceback with the context
# First we get the current call stack, which constitutes the "top",
# it has the context up to the point where the context manager is used
top_stack = StringIO.StringIO()
traceback.print_stack(file=top_stack)
top_lines = top_stack.getvalue().strip('\n').split('\n')
top_stack.close()
# Get "bottom" stack from the local error that happened
# inside of the "with" block this wraps
exc_type, exc_value, exc_traceback = sys.exc_info()
bottom_stack = StringIO.StringIO()
traceback.print_tb(exc_traceback, file=bottom_stack)
bottom_lines = bottom_stack.getvalue().strip('\n').split('\n')
# Glue together top and bottom where overlap is found
bottom_cutoff = 0
for i, line in enumerate(bottom_lines):
if line in top_lines:
# start of overlapping section, take overlap from bottom
top_lines = top_lines[:top_lines.index(line)]
bottom_cutoff = i
break
bottom_lines = bottom_lines[bottom_cutoff:]
tb_lines = top_lines + bottom_lines
tb_string = '\n'.join(
['Traceback (most recent call last):'] +
tb_lines +
['{}: {}'.format(exc_type.__name__, str(exc_value))]
)
bottom_stack.close()
# Log the combined stack
if trans_safe:
if 'check_migrations' not in sys.argv:
logger.warning('Database settings are not available, using defaults, error:\n{}'.format(tb_string))
else:
logger.error('Error modifying something related to database settings.\n{}'.format(tb_string))
logger.exception('Error modifying something related to database settings.')
finally:
if trans_safe and is_atomic and rollback_set:
transaction.set_rollback(rollback_set)
@@ -141,6 +102,15 @@ def filter_sensitive(registry, key, value):
return value
class TransientSetting(object):
__slots__ = ('pk', 'value')
def __init__(self, pk, value):
self.pk = pk
self.value = value
class EncryptedCacheProxy(object):
def __init__(self, cache, registry, encrypter=None, decrypter=None):
@@ -168,16 +138,6 @@ class EncryptedCacheProxy(object):
def get(self, key, **kwargs):
value = self.cache.get(key, **kwargs)
value = self._handle_encryption(self.decrypter, key, value)
# python-memcached auto-encodes unicode on cache set in python2
# https://github.com/linsomniac/python-memcached/issues/79
# https://github.com/linsomniac/python-memcached/blob/288c159720eebcdf667727a859ef341f1e908308/memcache.py#L961
if six.PY2 and isinstance(value, six.binary_type):
try:
six.text_type(value)
except UnicodeDecodeError:
value = value.decode('utf-8')
logger.debug('cache get(%r, %r) -> %r', key, empty, filter_sensitive(self.registry, key, value))
return value
def set(self, key, value, log=True, **kwargs):
@@ -200,8 +160,6 @@ class EncryptedCacheProxy(object):
self.set(key, value, log=False, **kwargs)
def _handle_encryption(self, method, key, value):
TransientSetting = namedtuple('TransientSetting', ['pk', 'value'])
if value is not empty and self.registry.is_setting_encrypted(key):
# If the setting exists in the database, we'll use its primary key
# as part of the AES key when encrypting/decrypting
@@ -309,7 +267,7 @@ class SettingsWrapper(UserSettingsHolder):
self.__dict__['_awx_conf_preload_expires'] = time.time() + SETTING_CACHE_TIMEOUT
# Check for any settings that have been defined in Python files and
# make those read-only to avoid overriding in the database.
if not self._awx_conf_init_readonly and 'migrate_to_database_settings' not in sys.argv:
if not self._awx_conf_init_readonly:
defaults_snapshot = self._get_default('DEFAULTS_SNAPSHOT')
for key in get_writeable_settings(self.registry):
init_default = defaults_snapshot.get(key, None)
@@ -391,8 +349,9 @@ class SettingsWrapper(UserSettingsHolder):
setting = None
setting_id = None
if not field.read_only or name in (
# these two values are read-only - however - we *do* want
# these values are read-only - however - we *do* want
# to fetch their value from the database
'INSTALL_UUID',
'AWX_ISOLATED_PRIVATE_KEY',
'AWX_ISOLATED_PUBLIC_KEY',
):

View File

@@ -9,15 +9,11 @@ from django.core.cache import cache
from django.dispatch import receiver
# Tower
import awx.main.signals
from awx.conf import settings_registry
from awx.conf.models import Setting
from awx.conf.serializers import SettingSerializer
logger = logging.getLogger('awx.conf.signals')
awx.main.signals.model_serializer_mapping[Setting] = SettingSerializer
__all__ = []

View File

@@ -1,7 +1,8 @@
import urllib.parse
import pytest
from django.core.urlresolvers import resolve
from django.utils.six.moves.urllib.parse import urlparse
from django.urls import resolve
from django.contrib.auth.models import User
from rest_framework.test import (
@@ -33,7 +34,7 @@ def admin():
@pytest.fixture
def api_request(admin):
def rf(verb, url, data=None, user=admin):
view, view_args, view_kwargs = resolve(urlparse(url)[2])
view, view_args, view_kwargs = resolve(urllib.parse.urlparse(url)[2])
request = getattr(APIRequestFactory(), verb)(url, data=data, format='json')
if user:
force_authenticate(request, user=user)

View File

@@ -1,5 +1,5 @@
import pytest
import mock
from unittest import mock
from rest_framework import serializers
@@ -8,6 +8,7 @@ from awx.main.utils.encryption import decrypt_field
from awx.conf import fields
from awx.conf.registry import settings_registry
from awx.conf.models import Setting
from awx.sso import fields as sso_fields
@pytest.fixture
@@ -65,41 +66,6 @@ def test_non_admin_user_does_not_see_categories(api_request, dummy_setting, norm
assert not response.data['results']
@pytest.mark.django_db
@mock.patch(
'awx.conf.views.VERSION_SPECIFIC_CATEGORIES_TO_EXCLUDE',
{
1: set([]),
2: set(['foobar']),
}
)
def test_version_specific_category_slug_to_exclude_does_not_show_up(api_request, dummy_setting):
with dummy_setting(
'FOO_BAR',
field_class=fields.IntegerField,
category='FooBar',
category_slug='foobar'
):
response = api_request(
'get',
reverse('api:setting_category_list',
kwargs={'version': 'v2'})
)
for item in response.data['results']:
assert item['slug'] != 'foobar'
response = api_request(
'get',
reverse('api:setting_category_list',
kwargs={'version': 'v1'})
)
contains = False
for item in response.data['results']:
if item['slug'] != 'foobar':
contains = True
break
assert contains
@pytest.mark.django_db
def test_setting_singleton_detail_retrieve(api_request, dummy_setting):
with dummy_setting(
@@ -172,7 +138,7 @@ def test_setting_signleton_retrieve_hierachy(api_request, dummy_setting):
@pytest.mark.django_db
def test_setting_signleton_retrieve_readonly(api_request, dummy_setting):
def test_setting_singleton_retrieve_readonly(api_request, dummy_setting):
with dummy_setting(
'FOO_BAR',
field_class=fields.IntegerField,
@@ -218,6 +184,30 @@ def test_setting_singleton_update(api_request, dummy_setting):
assert response.data['FOO_BAR'] == 4
@pytest.mark.django_db
def test_setting_singleton_update_hybriddictfield_with_forbidden(api_request, dummy_setting):
# Some HybridDictField subclasses have a child of _Forbidden,
# indicating that only the defined fields can be filled in. Make
# sure that the _Forbidden validator doesn't get used for the
# fields. See also https://github.com/ansible/awx/issues/4099.
with dummy_setting(
'FOO_BAR',
field_class=sso_fields.SAMLOrgAttrField,
category='FooBar',
category_slug='foobar',
), mock.patch('awx.conf.views.handle_setting_changes'):
api_request(
'patch',
reverse('api:setting_singleton_detail', kwargs={'category_slug': 'foobar'}),
data={'FOO_BAR': {'saml_admin_attr': 'Admins', 'saml_attr': 'Orgs'}}
)
response = api_request(
'get',
reverse('api:setting_singleton_detail', kwargs={'category_slug': 'foobar'})
)
assert response.data['FOO_BAR'] == {'saml_admin_attr': 'Admins', 'saml_attr': 'Orgs'}
@pytest.mark.django_db
def test_setting_singleton_update_dont_change_readonly_fields(api_request, dummy_setting):
with dummy_setting(
@@ -241,7 +231,7 @@ def test_setting_singleton_update_dont_change_readonly_fields(api_request, dummy
@pytest.mark.django_db
def test_setting_singleton_update_dont_change_encripted_mark(api_request, dummy_setting):
def test_setting_singleton_update_dont_change_encrypted_mark(api_request, dummy_setting):
with dummy_setting(
'FOO_BAR',
field_class=fields.CharField,

View File

@@ -1,38 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
import pytest
import mock
from django.apps import apps
from awx.conf.migrations._reencrypt import (
replace_aesecb_fernet,
encrypt_field,
decrypt_field,
)
from awx.conf.settings import Setting
from awx.main.utils import decrypt_field as new_decrypt_field
@pytest.mark.django_db
@pytest.mark.parametrize("old_enc, new_enc, value", [
('$encrypted$UTF8$AES', '$encrypted$UTF8$AESCBC$', u'Iñtërnâtiônàlizætiøn'),
('$encrypted$AES$', '$encrypted$AESCBC$', 'test'),
])
def test_settings(old_enc, new_enc, value):
with mock.patch('awx.conf.models.encrypt_field', encrypt_field):
with mock.patch('awx.conf.settings.decrypt_field', decrypt_field):
setting = Setting.objects.create(key='SOCIAL_AUTH_GITHUB_SECRET', value=value)
assert setting.value.startswith(old_enc)
replace_aesecb_fernet(apps, None)
setting.refresh_from_db()
assert setting.value.startswith(new_enc)
assert new_decrypt_field(setting, 'value') == value
# This is here for a side-effect.
# Exception if the encryption type of AESCBC is not properly skipped, ensures
# our `startswith` calls don't have typos
replace_aesecb_fernet(apps, None)

View File

@@ -1,7 +1,7 @@
import pytest
from rest_framework.fields import ValidationError
from awx.conf.fields import StringListBooleanField, ListTuplesField
from awx.conf.fields import StringListBooleanField, StringListPathField, ListTuplesField, URLField
class TestStringListBooleanField():
@@ -62,7 +62,7 @@ class TestListTuplesField():
FIELD_VALUES = [
([('a', 'b'), ('abc', '123')], [("a", "b"), ("abc", "123")]),
]
FIELD_VALUES_INVALID = [
("abc", type("abc")),
([('a', 'b', 'c'), ('abc', '123', '456')], type(('a',))),
@@ -84,3 +84,71 @@ class TestListTuplesField():
assert e.value.detail[0] == "Expected a list of tuples of max length 2 " \
"but got {} instead.".format(t)
class TestStringListPathField():
FIELD_VALUES = [
((".", "..", "/"), [".", "..", "/"]),
(("/home",), ["/home"]),
(("///home///",), ["/home"]),
(("/home/././././",), ["/home"]),
(("/home", "/home", "/home/"), ["/home"]),
(["/home/", "/home/", "/opt/", "/opt/", "/var/"], ["/home", "/opt", "/var"])
]
FIELD_VALUES_INVALID_TYPE = [
1.245,
{"a": "b"},
("/home"),
]
FIELD_VALUES_INVALID_PATH = [
"",
"~/",
"home",
"/invalid_path",
"/home/invalid_path",
]
@pytest.mark.parametrize("value_in, value_known", FIELD_VALUES)
def test_to_internal_value_valid(self, value_in, value_known):
field = StringListPathField()
v = field.to_internal_value(value_in)
assert v == value_known
@pytest.mark.parametrize("value", FIELD_VALUES_INVALID_TYPE)
def test_to_internal_value_invalid_type(self, value):
field = StringListPathField()
with pytest.raises(ValidationError) as e:
field.to_internal_value(value)
assert e.value.detail[0] == "Expected list of strings but got {} instead.".format(type(value))
@pytest.mark.parametrize("value", FIELD_VALUES_INVALID_PATH)
def test_to_internal_value_invalid_path(self, value):
field = StringListPathField()
with pytest.raises(ValidationError) as e:
field.to_internal_value([value])
assert e.value.detail[0] == "{} is not a valid path choice.".format(value)
class TestURLField():
regex = "^https://www.example.org$"
@pytest.mark.parametrize("url,schemes,regex, allow_numbers_in_top_level_domain, expect_no_error",[
("ldap://www.example.org42", "ldap", None, True, True),
("https://www.example.org42", "https", None, False, False),
("https://www.example.org", None, regex, None, True),
("https://www.example3.org", None, regex, None, False),
("ftp://www.example.org", "https", None, None, False)
])
def test_urls(self, url, schemes, regex, allow_numbers_in_top_level_domain, expect_no_error):
kwargs = {}
kwargs.setdefault("allow_numbers_in_top_level_domain", allow_numbers_in_top_level_domain)
kwargs.setdefault("schemes", schemes)
kwargs.setdefault("regex", regex)
field = URLField(**kwargs)
if expect_no_error:
field.run_validators(url)
else:
with pytest.raises(ValidationError):
field.run_validators(url)

View File

@@ -119,20 +119,6 @@ def test_get_registered_read_only_settings(reg):
]
def test_get_registered_settings_with_required_features(reg):
reg.register(
'AWX_SOME_SETTING_ENABLED',
field_class=fields.BooleanField,
category=_('System'),
category_slug='system',
feature_required='superpowers',
)
assert reg.get_registered_settings(features_enabled=[]) == []
assert reg.get_registered_settings(features_enabled=['superpowers']) == [
'AWX_SOME_SETTING_ENABLED'
]
def test_get_dependent_settings(reg):
reg.register(
'AWX_SOME_SETTING_ENABLED',
@@ -173,45 +159,6 @@ def test_get_registered_categories(reg):
}
def test_get_registered_categories_with_required_features(reg):
reg.register(
'AWX_SOME_SETTING_ENABLED',
field_class=fields.BooleanField,
category=_('System'),
category_slug='system',
feature_required='superpowers'
)
reg.register(
'AWX_SOME_OTHER_SETTING_ENABLED',
field_class=fields.BooleanField,
category=_('OtherSystem'),
category_slug='other-system',
feature_required='sortapowers'
)
assert reg.get_registered_categories(features_enabled=[]) == {
'all': _('All'),
'changed': _('Changed'),
}
assert reg.get_registered_categories(features_enabled=['superpowers']) == {
'all': _('All'),
'changed': _('Changed'),
'system': _('System'),
}
assert reg.get_registered_categories(features_enabled=['sortapowers']) == {
'all': _('All'),
'changed': _('Changed'),
'other-system': _('OtherSystem'),
}
assert reg.get_registered_categories(
features_enabled=['superpowers', 'sortapowers']
) == {
'all': _('All'),
'changed': _('Changed'),
'system': _('System'),
'other-system': _('OtherSystem'),
}
def test_is_setting_encrypted(reg):
reg.register(
'AWX_SOME_SETTING_ENABLED',
@@ -237,7 +184,6 @@ def test_simple_field(reg):
category=_('System'),
category_slug='system',
placeholder='Example Value',
feature_required='superpowers'
)
field = reg.get_setting_field('AWX_SOME_SETTING')
@@ -246,7 +192,6 @@ def test_simple_field(reg):
assert field.category_slug == 'system'
assert field.default is empty
assert field.placeholder == 'Example Value'
assert field.feature_required == 'superpowers'
def test_field_with_custom_attribute(reg):

View File

@@ -4,6 +4,7 @@
# All Rights Reserved.
from contextlib import contextmanager
import codecs
from uuid import uuid4
import time
@@ -12,7 +13,6 @@ from django.core.cache.backends.locmem import LocMemCache
from django.core.exceptions import ImproperlyConfigured
from django.utils.translation import ugettext_lazy as _
import pytest
import six
from awx.conf import models, fields
from awx.conf.settings import SettingsWrapper, EncryptedCacheProxy, SETTING_CACHE_NOTSET
@@ -67,9 +67,9 @@ def test_cached_settings_unicode_is_auto_decoded(settings):
# https://github.com/linsomniac/python-memcached/issues/79
# https://github.com/linsomniac/python-memcached/blob/288c159720eebcdf667727a859ef341f1e908308/memcache.py#L961
value = six.u('Iñtërnâtiônàlizætiøn').encode('utf-8') # this simulates what python-memcached does on cache.set()
value = 'Iñtërnâtiônàlizætiøn' # this simulates what python-memcached does on cache.set()
settings.cache.set('DEBUG', value)
assert settings.cache.get('DEBUG') == six.u('Iñtërnâtiônàlizætiøn')
assert settings.cache.get('DEBUG') == 'Iñtërnâtiônàlizætiøn'
def test_read_only_setting(settings):
@@ -262,7 +262,7 @@ def test_setting_from_db_with_unicode(settings, mocker, encrypted):
encrypted=encrypted
)
# this simulates a bug in python-memcached; see https://github.com/linsomniac/python-memcached/issues/79
value = six.u('Iñtërnâtiônàlizætiøn').encode('utf-8')
value = 'Iñtërnâtiônàlizætiøn'
setting_from_db = mocker.Mock(id=1, key='AWX_SOME_SETTING', value=value)
mocks = mocker.Mock(**{
@@ -272,8 +272,8 @@ def test_setting_from_db_with_unicode(settings, mocker, encrypted):
}),
})
with mocker.patch('awx.conf.models.Setting.objects.filter', return_value=mocks):
assert settings.AWX_SOME_SETTING == six.u('Iñtërnâtiônàlizætiøn')
assert settings.cache.get('AWX_SOME_SETTING') == six.u('Iñtërnâtiônàlizætiøn')
assert settings.AWX_SOME_SETTING == 'Iñtërnâtiônàlizætiøn'
assert settings.cache.get('AWX_SOME_SETTING') == 'Iñtërnâtiônàlizætiøn'
@pytest.mark.defined_in_file(AWX_SOME_SETTING='DEFAULT')
@@ -434,7 +434,7 @@ def test_sensitive_cache_data_is_encrypted(settings, mocker):
def rot13(obj, attribute):
assert obj.pk == 123
return getattr(obj, attribute).encode('rot13')
return codecs.encode(getattr(obj, attribute), 'rot_13')
native_cache = LocMemCache(str(uuid4()), {})
cache = EncryptedCacheProxy(
@@ -471,7 +471,7 @@ def test_readonly_sensitive_cache_data_is_encrypted(settings):
def rot13(obj, attribute):
assert obj.pk is None
return getattr(obj, attribute).encode('rot13')
return codecs.encode(getattr(obj, attribute), 'rot_13')
native_cache = LocMemCache(str(uuid4()), {})
cache = EncryptedCacheProxy(

View File

@@ -1,110 +1,9 @@
#!/usr/bin/env python
# Python
import difflib
import glob
import os
import shutil
import six
# AWX
from awx.conf.registry import settings_registry
__all__ = ['comment_assignments', 'conf_to_dict']
def comment_assignments(patterns, assignment_names, dry_run=True, backup_suffix='.old'):
if isinstance(patterns, six.string_types):
patterns = [patterns]
diffs = []
for pattern in patterns:
for filename in sorted(glob.glob(pattern)):
filename = os.path.abspath(os.path.normpath(filename))
if backup_suffix:
backup_filename = '{}{}'.format(filename, backup_suffix)
else:
backup_filename = None
diff = comment_assignments_in_file(filename, assignment_names, dry_run, backup_filename)
if diff:
diffs.append(diff)
return diffs
def comment_assignments_in_file(filename, assignment_names, dry_run=True, backup_filename=None):
from redbaron import RedBaron, indent
if isinstance(assignment_names, six.string_types):
assignment_names = [assignment_names]
else:
assignment_names = assignment_names[:]
current_file_data = open(filename).read()
for assignment_name in assignment_names[:]:
if assignment_name in current_file_data:
continue
if assignment_name in assignment_names:
assignment_names.remove(assignment_name)
if not assignment_names:
return ''
replace_lines = {}
rb = RedBaron(current_file_data)
for assignment_node in rb.find_all('assignment'):
for assignment_name in assignment_names:
# Only target direct assignments to a variable.
name_node = assignment_node.find('name', value=assignment_name)
if not name_node:
continue
if assignment_node.target.type != 'name':
continue
# Build a new node that comments out the existing assignment node.
indentation = '{}# '.format(assignment_node.indentation or '')
new_node_content = indent(assignment_node.dumps(), indentation)
new_node_lines = new_node_content.splitlines()
# Add a pass statement in case the assignment block is the only
# child in a parent code block to prevent a syntax error.
if assignment_node.indentation:
new_node_lines[0] = new_node_lines[0].replace(indentation, '{}pass # '.format(assignment_node.indentation or ''), 1)
new_node_lines[0] = '{0}This setting is now configured via the Tower API.\n{1}'.format(indentation, new_node_lines[0])
# Store new node lines in dictionary to be replaced in file.
start_lineno = assignment_node.absolute_bounding_box.top_left.line
end_lineno = assignment_node.absolute_bounding_box.bottom_right.line
for n, new_node_line in enumerate(new_node_lines):
new_lineno = start_lineno + n
assert new_lineno <= end_lineno
replace_lines[new_lineno] = new_node_line
if not replace_lines:
return ''
# Iterate through all lines in current file and replace as needed.
current_file_lines = current_file_data.splitlines()
new_file_lines = []
for n, line in enumerate(current_file_lines):
new_file_lines.append(replace_lines.get(n + 1, line))
new_file_data = '\n'.join(new_file_lines)
new_file_lines = new_file_data.splitlines()
# If changed, syntax check and write the new file; return a diff of changes.
diff_lines = []
if new_file_data != current_file_data:
compile(new_file_data, filename, 'exec')
if backup_filename:
from_file = backup_filename
else:
from_file = '{}.old'.format(filename)
to_file = filename
diff_lines = list(difflib.unified_diff(current_file_lines, new_file_lines, fromfile=from_file, tofile=to_file, lineterm=''))
if not dry_run:
if backup_filename:
shutil.copy2(filename, backup_filename)
with open(filename, 'wb') as fileobj:
fileobj.write(new_file_data)
return '\n'.join(diff_lines)
__all__ = ['conf_to_dict']
def conf_to_dict(obj):
@@ -112,10 +11,3 @@ def conf_to_dict(obj):
'category': settings_registry.get_setting_category(obj.key),
'name': obj.key,
}
if __name__ == '__main__':
pattern = os.path.join(os.path.dirname(__file__), '..', 'settings', 'local_*.py')
diffs = comment_assignments(pattern, ['AUTH_LDAP_ORGANIZATION_MAP'])
for diff in diffs:
print(diff)

View File

@@ -17,13 +17,17 @@ from rest_framework import serializers
from rest_framework import status
# Tower
from awx.api.generics import * # noqa
from awx.api.generics import (
APIView,
GenericAPIView,
ListAPIView,
RetrieveUpdateDestroyAPIView,
)
from awx.api.permissions import IsSuperUser
from awx.api.versioning import reverse, get_request_version
from awx.main.utils import * # noqa
from awx.api.versioning import reverse
from awx.main.utils import camelcase_to_underscore
from awx.main.utils.handlers import AWXProxyHandler, LoggingConnectivityException
from awx.main.tasks import handle_setting_changes
from awx.conf.license import get_licensed_features
from awx.conf.models import Setting
from awx.conf.serializers import SettingCategorySerializer, SettingSingletonSerializer
from awx.conf import settings_registry
@@ -31,24 +35,17 @@ from awx.conf import settings_registry
SettingCategory = collections.namedtuple('SettingCategory', ('url', 'slug', 'name'))
VERSION_SPECIFIC_CATEGORIES_TO_EXCLUDE = {
1: set([
'named-url',
]),
2: set([]),
}
class SettingCategoryList(ListAPIView):
model = Setting # Not exactly, but needed for the view.
serializer_class = SettingCategorySerializer
filter_backends = []
view_name = _('Setting Categories')
name = _('Setting Categories')
def get_queryset(self):
setting_categories = []
categories = settings_registry.get_registered_categories(features_enabled=get_licensed_features())
categories = settings_registry.get_registered_categories()
if self.request.user.is_superuser or self.request.user.is_system_auditor:
pass # categories = categories
elif 'user' in categories:
@@ -56,8 +53,6 @@ class SettingCategoryList(ListAPIView):
else:
categories = {}
for category_slug in sorted(categories.keys()):
if category_slug in VERSION_SPECIFIC_CATEGORIES_TO_EXCLUDE[get_request_version(self.request)]:
continue
url = reverse('api:setting_singleton_detail', kwargs={'category_slug': category_slug}, request=self.request)
setting_categories.append(SettingCategory(url, category_slug, categories[category_slug]))
return setting_categories
@@ -68,13 +63,11 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView):
model = Setting # Not exactly, but needed for the view.
serializer_class = SettingSingletonSerializer
filter_backends = []
view_name = _('Setting Detail')
name = _('Setting Detail')
def get_queryset(self):
self.category_slug = self.kwargs.get('category_slug', 'all')
all_category_slugs = settings_registry.get_registered_categories(features_enabled=get_licensed_features()).keys()
for slug_to_delete in VERSION_SPECIFIC_CATEGORIES_TO_EXCLUDE[get_request_version(self.request)]:
all_category_slugs.remove(slug_to_delete)
all_category_slugs = list(settings_registry.get_registered_categories().keys())
if self.request.user.is_superuser or getattr(self.request.user, 'is_system_auditor', False):
category_slugs = all_category_slugs
else:
@@ -85,8 +78,7 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView):
raise PermissionDenied()
registered_settings = settings_registry.get_registered_settings(
category_slug=self.category_slug, read_only=False, features_enabled=get_licensed_features(),
slugs_to_ignore=VERSION_SPECIFIC_CATEGORIES_TO_EXCLUDE[get_request_version(self.request)]
category_slug=self.category_slug, read_only=False,
)
if self.category_slug == 'user':
return Setting.objects.filter(key__in=registered_settings, user=self.request.user)
@@ -96,8 +88,7 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView):
def get_object(self):
settings_qs = self.get_queryset()
registered_settings = settings_registry.get_registered_settings(
category_slug=self.category_slug, features_enabled=get_licensed_features(),
slugs_to_ignore=VERSION_SPECIFIC_CATEGORIES_TO_EXCLUDE[get_request_version(self.request)]
category_slug=self.category_slug,
)
all_settings = {}
for setting in settings_qs:
@@ -123,7 +114,7 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView):
if key == 'LICENSE' or settings_registry.is_setting_read_only(key):
continue
if settings_registry.is_setting_encrypted(key) and \
isinstance(value, basestring) and \
isinstance(value, str) and \
value.startswith('$encrypted$'):
continue
setattr(serializer.instance, key, value)
@@ -135,7 +126,7 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView):
setting.value = value
setting.save(update_fields=['value'])
settings_change_list.append(key)
if settings_change_list and 'migrate_to_database_settings' not in sys.argv:
if settings_change_list:
handle_setting_changes.delay(settings_change_list)
def destroy(self, request, *args, **kwargs):
@@ -150,7 +141,7 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView):
continue
setting.delete()
settings_change_list.append(setting.key)
if settings_change_list and 'migrate_to_database_settings' not in sys.argv:
if settings_change_list:
handle_setting_changes.delay(settings_change_list)
# When TOWER_URL_BASE is deleted from the API, reset it to the hostname
@@ -163,7 +154,7 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView):
class SettingLoggingTest(GenericAPIView):
view_name = _('Logging Connectivity Test')
name = _('Logging Connectivity Test')
model = Setting
serializer_class = SettingSingletonSerializer
permission_classes = (IsSuperUser,)
@@ -210,7 +201,7 @@ class SettingLoggingTest(GenericAPIView):
# in URL patterns and reverse URL lookups, converting CamelCase names to
# lowercase_with_underscore (e.g. MyView.as_view() becomes my_view).
this_module = sys.modules[__name__]
for attr, value in locals().items():
for attr, value in list(locals().items()):
if isinstance(value, type) and issubclass(value, APIView):
name = camelcase_to_underscore(attr)
view = value.as_view()

View File

@@ -1,25 +0,0 @@
# Copyright (c) 2016 Ansible by Red Hat, Inc.
#
# This file is part of Ansible Tower, but depends on code imported from Ansible.
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
from __future__ import (absolute_import, division, print_function)
# AWX Display Callback
from . import cleanup # noqa (registers control persistent cleanup)
from . import display # noqa (wraps ansible.display.Display methods)
from .module import AWXDefaultCallbackModule, AWXMinimalCallbackModule
__all__ = ['AWXDefaultCallbackModule', 'AWXMinimalCallbackModule']

View File

@@ -1,85 +0,0 @@
# Copyright (c) 2016 Ansible by Red Hat, Inc.
#
# This file is part of Ansible Tower, but depends on code imported from Ansible.
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
from __future__ import (absolute_import, division, print_function)
# Python
import atexit
import glob
import os
import pwd
# PSUtil
try:
import psutil
except ImportError:
raise ImportError('psutil is missing; {}bin/pip install psutil'.format(
os.environ['VIRTUAL_ENV']
))
__all__ = []
main_pid = os.getpid()
@atexit.register
def terminate_ssh_control_masters():
# Only run this cleanup from the main process.
if os.getpid() != main_pid:
return
# Determine if control persist is being used and if any open sockets
# exist after running the playbook.
cp_path = os.environ.get('ANSIBLE_SSH_CONTROL_PATH', '')
if not cp_path:
return
cp_dir = os.path.dirname(cp_path)
if not os.path.exists(cp_dir):
return
cp_pattern = os.path.join(cp_dir, 'ansible-ssh-*')
cp_files = glob.glob(cp_pattern)
if not cp_files:
return
# Attempt to find any running control master processes.
username = pwd.getpwuid(os.getuid())[0]
ssh_cm_procs = []
for proc in psutil.process_iter():
try:
pname = proc.name()
pcmdline = proc.cmdline()
pusername = proc.username()
except psutil.NoSuchProcess:
continue
if pusername != username:
continue
if pname != 'ssh':
continue
for cp_file in cp_files:
if pcmdline and cp_file in pcmdline[0]:
ssh_cm_procs.append(proc)
break
# Terminate then kill control master processes. Workaround older
# version of psutil that may not have wait_procs implemented.
for proc in ssh_cm_procs:
try:
proc.terminate()
except psutil.NoSuchProcess:
continue
procs_gone, procs_alive = psutil.wait_procs(ssh_cm_procs, timeout=5)
for proc in procs_alive:
proc.kill()

View File

@@ -1,98 +0,0 @@
# Copyright (c) 2016 Ansible by Red Hat, Inc.
#
# This file is part of Ansible Tower, but depends on code imported from Ansible.
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
from __future__ import (absolute_import, division, print_function)
# Python
import functools
import sys
import uuid
# Ansible
from ansible.utils.display import Display
# Tower Display Callback
from .events import event_context
__all__ = []
def with_context(**context):
global event_context
def wrap(f):
@functools.wraps(f)
def wrapper(*args, **kwargs):
with event_context.set_local(**context):
return f(*args, **kwargs)
return wrapper
return wrap
for attr in dir(Display):
if attr.startswith('_') or 'cow' in attr or 'prompt' in attr:
continue
if attr in ('display', 'v', 'vv', 'vvv', 'vvvv', 'vvvvv', 'vvvvvv', 'verbose'):
continue
if not callable(getattr(Display, attr)):
continue
setattr(Display, attr, with_context(**{attr: True})(getattr(Display, attr)))
def with_verbosity(f):
global event_context
@functools.wraps(f)
def wrapper(*args, **kwargs):
host = args[2] if len(args) >= 3 else kwargs.get('host', None)
caplevel = args[3] if len(args) >= 4 else kwargs.get('caplevel', 2)
context = dict(verbose=True, verbosity=(caplevel + 1))
if host is not None:
context['remote_addr'] = host
with event_context.set_local(**context):
return f(*args, **kwargs)
return wrapper
Display.verbose = with_verbosity(Display.verbose)
def display_with_context(f):
@functools.wraps(f)
def wrapper(*args, **kwargs):
log_only = args[5] if len(args) >= 6 else kwargs.get('log_only', False)
stderr = args[3] if len(args) >= 4 else kwargs.get('stderr', False)
event_uuid = event_context.get().get('uuid', None)
with event_context.display_lock:
# If writing only to a log file or there is already an event UUID
# set (from a callback module method), skip dumping the event data.
if log_only or event_uuid:
return f(*args, **kwargs)
try:
fileobj = sys.stderr if stderr else sys.stdout
event_context.add_local(uuid=str(uuid.uuid4()))
event_context.dump_begin(fileobj)
return f(*args, **kwargs)
finally:
event_context.dump_end(fileobj)
event_context.remove_local(uuid=None)
return wrapper
Display.display = display_with_context(Display.display)

View File

@@ -1,189 +0,0 @@
# Copyright (c) 2016 Ansible by Red Hat, Inc.
#
# This file is part of Ansible Tower, but depends on code imported from Ansible.
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
from __future__ import (absolute_import, division, print_function)
# Python
import base64
import contextlib
import datetime
import json
import multiprocessing
import os
import stat
import threading
import uuid
try:
import memcache
except ImportError:
raise ImportError('python-memcached is missing; {}bin/pip install python-memcached'.format(
os.environ['VIRTUAL_ENV']
))
from six.moves import xrange
__all__ = ['event_context']
class IsolatedFileWrite:
'''
Stand-in class that will write partial event data to a file as a
replacement for memcache when a job is running on an isolated host.
'''
def __init__(self):
self.private_data_dir = os.getenv('AWX_ISOLATED_DATA_DIR')
def set(self, key, value):
# Strip off the leading memcache key identifying characters :1:ev-
event_uuid = key[len(':1:ev-'):]
# Write data in a staging area and then atomic move to pickup directory
filename = '{}-partial.json'.format(event_uuid)
dropoff_location = os.path.join(self.private_data_dir, 'artifacts', 'job_events', filename)
write_location = '.'.join([dropoff_location, 'tmp'])
partial_data = json.dumps(value)
with os.fdopen(os.open(write_location, os.O_WRONLY | os.O_CREAT, stat.S_IRUSR | stat.S_IWUSR), 'w') as f:
f.write(partial_data)
os.rename(write_location, dropoff_location)
class EventContext(object):
'''
Store global and local (per thread/process) data associated with callback
events and other display output methods.
'''
def __init__(self):
self.display_lock = multiprocessing.RLock()
cache_actual = os.getenv('CACHE', '127.0.0.1:11211')
if os.getenv('AWX_ISOLATED_DATA_DIR', False):
self.cache = IsolatedFileWrite()
else:
self.cache = memcache.Client([cache_actual], debug=0)
def add_local(self, **kwargs):
if not hasattr(self, '_local'):
self._local = threading.local()
self._local._ctx = {}
self._local._ctx.update(kwargs)
def remove_local(self, **kwargs):
if hasattr(self, '_local'):
for key in kwargs.keys():
self._local._ctx.pop(key, None)
@contextlib.contextmanager
def set_local(self, **kwargs):
try:
self.add_local(**kwargs)
yield
finally:
self.remove_local(**kwargs)
def get_local(self):
return getattr(getattr(self, '_local', None), '_ctx', {})
def add_global(self, **kwargs):
if not hasattr(self, '_global_ctx'):
self._global_ctx = {}
self._global_ctx.update(kwargs)
def remove_global(self, **kwargs):
if hasattr(self, '_global_ctx'):
for key in kwargs.keys():
self._global_ctx.pop(key, None)
@contextlib.contextmanager
def set_global(self, **kwargs):
try:
self.add_global(**kwargs)
yield
finally:
self.remove_global(**kwargs)
def get_global(self):
return getattr(self, '_global_ctx', {})
def get(self):
ctx = {}
ctx.update(self.get_global())
ctx.update(self.get_local())
return ctx
def get_begin_dict(self):
event_data = self.get()
if os.getenv('JOB_ID', ''):
event_data['job_id'] = int(os.getenv('JOB_ID', '0'))
if os.getenv('AD_HOC_COMMAND_ID', ''):
event_data['ad_hoc_command_id'] = int(os.getenv('AD_HOC_COMMAND_ID', '0'))
if os.getenv('PROJECT_UPDATE_ID', ''):
event_data['project_update_id'] = int(os.getenv('PROJECT_UPDATE_ID', '0'))
event_data.setdefault('pid', os.getpid())
event_data.setdefault('uuid', str(uuid.uuid4()))
event_data.setdefault('created', datetime.datetime.utcnow().isoformat())
if not event_data.get('parent_uuid', None) and event_data.get('job_id', None):
for key in ('task_uuid', 'play_uuid', 'playbook_uuid'):
parent_uuid = event_data.get(key, None)
if parent_uuid and parent_uuid != event_data.get('uuid', None):
event_data['parent_uuid'] = parent_uuid
break
event = event_data.pop('event', None)
if not event:
event = 'verbose'
for key in ('debug', 'verbose', 'deprecated', 'warning', 'system_warning', 'error'):
if event_data.get(key, False):
event = key
break
max_res = int(os.getenv("MAX_EVENT_RES", 700000))
if event not in ('playbook_on_stats',) and "res" in event_data and len(str(event_data['res'])) > max_res:
event_data['res'] = {}
event_dict = dict(event=event, event_data=event_data)
for key in event_data.keys():
if key in ('job_id', 'ad_hoc_command_id', 'project_update_id', 'uuid', 'parent_uuid', 'created',):
event_dict[key] = event_data.pop(key)
elif key in ('verbosity', 'pid'):
event_dict[key] = event_data[key]
return event_dict
def get_end_dict(self):
return {}
def dump(self, fileobj, data, max_width=78, flush=False):
b64data = base64.b64encode(json.dumps(data))
with self.display_lock:
# pattern corresponding to OutputEventFilter expectation
fileobj.write(u'\x1b[K')
for offset in xrange(0, len(b64data), max_width):
chunk = b64data[offset:offset + max_width]
escaped_chunk = u'{}\x1b[{}D'.format(chunk, len(chunk))
fileobj.write(escaped_chunk)
fileobj.write(u'\x1b[K')
if flush:
fileobj.flush()
def dump_begin(self, fileobj):
begin_dict = self.get_begin_dict()
self.cache.set(":1:ev-{}".format(begin_dict['uuid']), begin_dict)
self.dump(fileobj, {'uuid': begin_dict['uuid']})
def dump_end(self, fileobj):
self.dump(fileobj, self.get_end_dict(), flush=True)
event_context = EventContext()

View File

@@ -1,29 +0,0 @@
# Copyright (c) 2016 Ansible by Red Hat, Inc.
#
# This file is part of Ansible Tower, but depends on code imported from Ansible.
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
from __future__ import (absolute_import, division, print_function)
# Python
import os
# Ansible
import ansible
# Because of the way Ansible loads plugins, it's not possible to import
# ansible.plugins.callback.minimal when being loaded as the minimal plugin. Ugh.
with open(os.path.join(os.path.dirname(ansible.__file__), 'plugins', 'callback', 'minimal.py')) as in_file:
exec(in_file.read())

View File

@@ -1,501 +0,0 @@
# Copyright (c) 2016 Ansible by Red Hat, Inc.
#
# This file is part of Ansible Tower, but depends on code imported from Ansible.
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
from __future__ import (absolute_import, division, print_function)
# Python
import codecs
import contextlib
import json
import os
import stat
import sys
import uuid
from copy import copy
# Ansible
from ansible import constants as C
from ansible.plugins.callback import CallbackBase
from ansible.plugins.callback.default import CallbackModule as DefaultCallbackModule
# AWX Display Callback
from .events import event_context
from .minimal import CallbackModule as MinimalCallbackModule
CENSORED = "the output has been hidden due to the fact that 'no_log: true' was specified for this result" # noqa
class BaseCallbackModule(CallbackBase):
'''
Callback module for logging ansible/ansible-playbook events.
'''
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'stdout'
# These events should never have an associated play.
EVENTS_WITHOUT_PLAY = [
'playbook_on_start',
'playbook_on_stats',
]
# These events should never have an associated task.
EVENTS_WITHOUT_TASK = EVENTS_WITHOUT_PLAY + [
'playbook_on_setup',
'playbook_on_notify',
'playbook_on_import_for_host',
'playbook_on_not_import_for_host',
'playbook_on_no_hosts_matched',
'playbook_on_no_hosts_remaining',
]
def __init__(self):
super(BaseCallbackModule, self).__init__()
self.task_uuids = set()
@contextlib.contextmanager
def capture_event_data(self, event, **event_data):
event_data.setdefault('uuid', str(uuid.uuid4()))
if event not in self.EVENTS_WITHOUT_TASK:
task = event_data.pop('task', None)
else:
task = None
if event_data.get('res'):
if event_data['res'].get('_ansible_no_log', False):
event_data['res'] = {'censored': CENSORED}
if event_data['res'].get('results', []):
event_data['res']['results'] = copy(event_data['res']['results'])
for i, item in enumerate(event_data['res'].get('results', [])):
if isinstance(item, dict) and item.get('_ansible_no_log', False):
event_data['res']['results'][i] = {'censored': CENSORED}
with event_context.display_lock:
try:
event_context.add_local(event=event, **event_data)
if task:
self.set_task(task, local=True)
event_context.dump_begin(sys.stdout)
yield
finally:
event_context.dump_end(sys.stdout)
if task:
self.clear_task(local=True)
event_context.remove_local(event=None, **event_data)
def set_playbook(self, playbook):
# NOTE: Ansible doesn't generate a UUID for playbook_on_start so do it for them.
self.playbook_uuid = str(uuid.uuid4())
file_name = getattr(playbook, '_file_name', '???')
event_context.add_global(playbook=file_name, playbook_uuid=self.playbook_uuid)
self.clear_play()
def set_play(self, play):
if hasattr(play, 'hosts'):
if isinstance(play.hosts, list):
pattern = ','.join(play.hosts)
else:
pattern = play.hosts
else:
pattern = ''
name = play.get_name().strip() or pattern
event_context.add_global(play=name, play_uuid=str(play._uuid), play_pattern=pattern)
self.clear_task()
def clear_play(self):
event_context.remove_global(play=None, play_uuid=None, play_pattern=None)
self.clear_task()
def set_task(self, task, local=False):
# FIXME: Task is "global" unless using free strategy!
task_ctx = dict(
task=(task.name or task.action),
task_uuid=str(task._uuid),
task_action=task.action,
task_args='',
)
try:
task_ctx['task_path'] = task.get_path()
except AttributeError:
pass
if C.DISPLAY_ARGS_TO_STDOUT:
if task.no_log:
task_ctx['task_args'] = "the output has been hidden due to the fact that 'no_log: true' was specified for this result"
else:
task_args = ', '.join(('%s=%s' % a for a in task.args.items()))
task_ctx['task_args'] = task_args
if getattr(task, '_role', None):
task_role = task._role._role_name
else:
task_role = getattr(task, 'role_name', '')
if task_role:
task_ctx['role'] = task_role
if local:
event_context.add_local(**task_ctx)
else:
event_context.add_global(**task_ctx)
def clear_task(self, local=False):
task_ctx = dict(task=None, task_path=None, task_uuid=None, task_action=None, task_args=None, role=None)
if local:
event_context.remove_local(**task_ctx)
else:
event_context.remove_global(**task_ctx)
def v2_playbook_on_start(self, playbook):
self.set_playbook(playbook)
event_data = dict(
uuid=self.playbook_uuid,
)
with self.capture_event_data('playbook_on_start', **event_data):
super(BaseCallbackModule, self).v2_playbook_on_start(playbook)
def v2_playbook_on_vars_prompt(self, varname, private=True, prompt=None,
encrypt=None, confirm=False, salt_size=None,
salt=None, default=None):
event_data = dict(
varname=varname,
private=private,
prompt=prompt,
encrypt=encrypt,
confirm=confirm,
salt_size=salt_size,
salt=salt,
default=default,
)
with self.capture_event_data('playbook_on_vars_prompt', **event_data):
super(BaseCallbackModule, self).v2_playbook_on_vars_prompt(
varname, private, prompt, encrypt, confirm, salt_size, salt,
default,
)
def v2_playbook_on_include(self, included_file):
event_data = dict(
included_file=included_file._filename if included_file is not None else None,
)
with self.capture_event_data('playbook_on_include', **event_data):
super(BaseCallbackModule, self).v2_playbook_on_include(included_file)
def v2_playbook_on_play_start(self, play):
self.set_play(play)
if hasattr(play, 'hosts'):
if isinstance(play.hosts, list):
pattern = ','.join(play.hosts)
else:
pattern = play.hosts
else:
pattern = ''
name = play.get_name().strip() or pattern
event_data = dict(
name=name,
pattern=pattern,
uuid=str(play._uuid),
)
with self.capture_event_data('playbook_on_play_start', **event_data):
super(BaseCallbackModule, self).v2_playbook_on_play_start(play)
def v2_playbook_on_import_for_host(self, result, imported_file):
# NOTE: Not used by Ansible 2.x.
with self.capture_event_data('playbook_on_import_for_host'):
super(BaseCallbackModule, self).v2_playbook_on_import_for_host(result, imported_file)
def v2_playbook_on_not_import_for_host(self, result, missing_file):
# NOTE: Not used by Ansible 2.x.
with self.capture_event_data('playbook_on_not_import_for_host'):
super(BaseCallbackModule, self).v2_playbook_on_not_import_for_host(result, missing_file)
def v2_playbook_on_setup(self):
# NOTE: Not used by Ansible 2.x.
with self.capture_event_data('playbook_on_setup'):
super(BaseCallbackModule, self).v2_playbook_on_setup()
def v2_playbook_on_task_start(self, task, is_conditional):
# FIXME: Flag task path output as vv.
task_uuid = str(task._uuid)
if task_uuid in self.task_uuids:
# FIXME: When this task UUID repeats, it means the play is using the
# free strategy, so different hosts may be running different tasks
# within a play.
return
self.task_uuids.add(task_uuid)
self.set_task(task)
event_data = dict(
task=task,
name=task.get_name(),
is_conditional=is_conditional,
uuid=task_uuid,
)
with self.capture_event_data('playbook_on_task_start', **event_data):
super(BaseCallbackModule, self).v2_playbook_on_task_start(task, is_conditional)
def v2_playbook_on_cleanup_task_start(self, task):
# NOTE: Not used by Ansible 2.x.
self.set_task(task)
event_data = dict(
task=task,
name=task.get_name(),
uuid=str(task._uuid),
is_conditional=True,
)
with self.capture_event_data('playbook_on_task_start', **event_data):
super(BaseCallbackModule, self).v2_playbook_on_cleanup_task_start(task)
def v2_playbook_on_handler_task_start(self, task):
# NOTE: Re-using playbook_on_task_start event for this v2-specific
# event, but setting is_conditional=True, which is how v1 identified a
# task run as a handler.
self.set_task(task)
event_data = dict(
task=task,
name=task.get_name(),
uuid=str(task._uuid),
is_conditional=True,
)
with self.capture_event_data('playbook_on_task_start', **event_data):
super(BaseCallbackModule, self).v2_playbook_on_handler_task_start(task)
def v2_playbook_on_no_hosts_matched(self):
with self.capture_event_data('playbook_on_no_hosts_matched'):
super(BaseCallbackModule, self).v2_playbook_on_no_hosts_matched()
def v2_playbook_on_no_hosts_remaining(self):
with self.capture_event_data('playbook_on_no_hosts_remaining'):
super(BaseCallbackModule, self).v2_playbook_on_no_hosts_remaining()
def v2_playbook_on_notify(self, handler, host):
# NOTE: Not used by Ansible < 2.5.
event_data = dict(
host=host.get_name(),
handler=handler.get_name(),
)
with self.capture_event_data('playbook_on_notify', **event_data):
super(BaseCallbackModule, self).v2_playbook_on_notify(handler, host)
'''
ansible_stats is, retoractively, added in 2.2
'''
def v2_playbook_on_stats(self, stats):
self.clear_play()
# FIXME: Add count of plays/tasks.
event_data = dict(
changed=stats.changed,
dark=stats.dark,
failures=stats.failures,
ok=stats.ok,
processed=stats.processed,
skipped=stats.skipped
)
# write custom set_stat artifact data to the local disk so that it can
# be persisted by awx after the process exits
custom_artifact_data = stats.custom.get('_run', {}) if hasattr(stats, 'custom') else {}
if custom_artifact_data:
# create the directory for custom stats artifacts to live in (if it doesn't exist)
custom_artifacts_dir = os.path.join(os.getenv('AWX_PRIVATE_DATA_DIR'), 'artifacts')
if not os.path.isdir(custom_artifacts_dir):
os.makedirs(custom_artifacts_dir, mode=stat.S_IXUSR + stat.S_IWUSR + stat.S_IRUSR)
custom_artifacts_path = os.path.join(custom_artifacts_dir, 'custom')
with codecs.open(custom_artifacts_path, 'w', encoding='utf-8') as f:
os.chmod(custom_artifacts_path, stat.S_IRUSR | stat.S_IWUSR)
json.dump(custom_artifact_data, f)
with self.capture_event_data('playbook_on_stats', **event_data):
super(BaseCallbackModule, self).v2_playbook_on_stats(stats)
@staticmethod
def _get_event_loop(task):
if hasattr(task, 'loop_with'): # Ansible >=2.5
return task.loop_with
elif hasattr(task, 'loop'): # Ansible <2.4
return task.loop
return None
def v2_runner_on_ok(self, result):
# FIXME: Display detailed results or not based on verbosity.
# strip environment vars from the job event; it already exists on the
# job and sensitive values are filtered there
if result._task.action in ('setup', 'gather_facts'):
result._result.get('ansible_facts', {}).pop('ansible_env', None)
event_data = dict(
host=result._host.get_name(),
remote_addr=result._host.address,
task=result._task,
res=result._result,
event_loop=self._get_event_loop(result._task),
)
with self.capture_event_data('runner_on_ok', **event_data):
super(BaseCallbackModule, self).v2_runner_on_ok(result)
def v2_runner_on_failed(self, result, ignore_errors=False):
# FIXME: Add verbosity for exception/results output.
event_data = dict(
host=result._host.get_name(),
remote_addr=result._host.address,
res=result._result,
task=result._task,
ignore_errors=ignore_errors,
event_loop=self._get_event_loop(result._task),
)
with self.capture_event_data('runner_on_failed', **event_data):
super(BaseCallbackModule, self).v2_runner_on_failed(result, ignore_errors)
def v2_runner_on_skipped(self, result):
event_data = dict(
host=result._host.get_name(),
remote_addr=result._host.address,
task=result._task,
event_loop=self._get_event_loop(result._task),
)
with self.capture_event_data('runner_on_skipped', **event_data):
super(BaseCallbackModule, self).v2_runner_on_skipped(result)
def v2_runner_on_unreachable(self, result):
event_data = dict(
host=result._host.get_name(),
remote_addr=result._host.address,
task=result._task,
res=result._result,
)
with self.capture_event_data('runner_on_unreachable', **event_data):
super(BaseCallbackModule, self).v2_runner_on_unreachable(result)
def v2_runner_on_no_hosts(self, task):
# NOTE: Not used by Ansible 2.x.
event_data = dict(
task=task,
)
with self.capture_event_data('runner_on_no_hosts', **event_data):
super(BaseCallbackModule, self).v2_runner_on_no_hosts(task)
def v2_runner_on_async_poll(self, result):
# NOTE: Not used by Ansible 2.x.
event_data = dict(
host=result._host.get_name(),
task=result._task,
res=result._result,
jid=result._result.get('ansible_job_id'),
)
with self.capture_event_data('runner_on_async_poll', **event_data):
super(BaseCallbackModule, self).v2_runner_on_async_poll(result)
def v2_runner_on_async_ok(self, result):
# NOTE: Not used by Ansible 2.x.
event_data = dict(
host=result._host.get_name(),
task=result._task,
res=result._result,
jid=result._result.get('ansible_job_id'),
)
with self.capture_event_data('runner_on_async_ok', **event_data):
super(BaseCallbackModule, self).v2_runner_on_async_ok(result)
def v2_runner_on_async_failed(self, result):
# NOTE: Not used by Ansible 2.x.
event_data = dict(
host=result._host.get_name(),
task=result._task,
res=result._result,
jid=result._result.get('ansible_job_id'),
)
with self.capture_event_data('runner_on_async_failed', **event_data):
super(BaseCallbackModule, self).v2_runner_on_async_failed(result)
def v2_runner_on_file_diff(self, result, diff):
# NOTE: Not used by Ansible 2.x.
event_data = dict(
host=result._host.get_name(),
task=result._task,
diff=diff,
)
with self.capture_event_data('runner_on_file_diff', **event_data):
super(BaseCallbackModule, self).v2_runner_on_file_diff(result, diff)
def v2_on_file_diff(self, result):
# NOTE: Logged as runner_on_file_diff.
event_data = dict(
host=result._host.get_name(),
task=result._task,
diff=result._result.get('diff'),
)
with self.capture_event_data('runner_on_file_diff', **event_data):
super(BaseCallbackModule, self).v2_on_file_diff(result)
def v2_runner_item_on_ok(self, result):
event_data = dict(
host=result._host.get_name(),
task=result._task,
res=result._result,
)
with self.capture_event_data('runner_item_on_ok', **event_data):
super(BaseCallbackModule, self).v2_runner_item_on_ok(result)
def v2_runner_item_on_failed(self, result):
event_data = dict(
host=result._host.get_name(),
task=result._task,
res=result._result,
)
with self.capture_event_data('runner_item_on_failed', **event_data):
super(BaseCallbackModule, self).v2_runner_item_on_failed(result)
def v2_runner_item_on_skipped(self, result):
event_data = dict(
host=result._host.get_name(),
task=result._task,
res=result._result,
)
with self.capture_event_data('runner_item_on_skipped', **event_data):
super(BaseCallbackModule, self).v2_runner_item_on_skipped(result)
def v2_runner_retry(self, result):
event_data = dict(
host=result._host.get_name(),
task=result._task,
res=result._result,
)
with self.capture_event_data('runner_retry', **event_data):
super(BaseCallbackModule, self).v2_runner_retry(result)
def v2_runner_on_start(self, host, task):
event_data = dict(
host=host.get_name(),
task=task
)
with self.capture_event_data('runner_on_start', **event_data):
super(BaseCallbackModule, self).v2_runner_on_start(host, task)
class AWXDefaultCallbackModule(BaseCallbackModule, DefaultCallbackModule):
CALLBACK_NAME = 'awx_display'
class AWXMinimalCallbackModule(BaseCallbackModule, MinimalCallbackModule):
CALLBACK_NAME = 'minimal'
def v2_playbook_on_play_start(self, play):
pass
def v2_playbook_on_task_start(self, task, is_conditional):
self.set_task(task)

View File

@@ -1,30 +0,0 @@
# Copyright (c) 2017 Ansible by Red Hat
#
# This file is part of Ansible Tower, but depends on code imported from Ansible.
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
from __future__ import (absolute_import, division, print_function)
# Python
import os
import sys
# Add awx/lib to sys.path.
awx_lib_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
if awx_lib_path not in sys.path:
sys.path.insert(0, awx_lib_path)
# Tower Display Callback
from awx_display_callback import AWXDefaultCallbackModule as CallbackModule # noqa

View File

@@ -1,30 +0,0 @@
# Copyright (c) 2017 Ansible by Red Hat
#
# This file is part of Ansible Tower, but depends on code imported from Ansible.
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
from __future__ import (absolute_import, division, print_function)
# Python
import os
import sys
# Add awx/lib to sys.path.
awx_lib_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
if awx_lib_path not in sys.path:
sys.path.insert(0, awx_lib_path)
# Tower Display Callback
from awx_display_callback import AWXMinimalCallbackModule as CallbackModule # noqa

View File

@@ -1,26 +0,0 @@
# Python
import os
import sys
# Based on http://stackoverflow.com/a/6879344/131141 -- Initialize awx display
# callback as early as possible to wrap ansible.display.Display methods.
def argv_ready(argv):
if argv and os.path.basename(argv[0]) in {'ansible', 'ansible-playbook'}:
import awx_display_callback # noqa
class argv_placeholder(object):
def __del__(self):
try:
argv_ready(sys.argv)
except Exception:
pass
if hasattr(sys, 'argv'):
argv_ready(sys.argv)
else:
sys.argv = argv_placeholder()

View File

@@ -1,2 +0,0 @@
[pytest]
addopts = -v

View File

@@ -1,353 +0,0 @@
# Copyright (c) 2017 Ansible by Red Hat
# All Rights Reserved
from __future__ import absolute_import
from collections import OrderedDict
import json
import mock
import os
import shutil
import sys
import tempfile
import pytest
# ansible uses `ANSIBLE_CALLBACK_PLUGINS` and `ANSIBLE_STDOUT_CALLBACK` to
# discover callback plugins; `ANSIBLE_CALLBACK_PLUGINS` is a list of paths to
# search for a plugin implementation (which should be named `CallbackModule`)
#
# this code modifies the Python path to make our
# `awx.lib.awx_display_callback` callback importable (because `awx.lib`
# itself is not a package)
#
# we use the `awx_display_callback` imports below within this file, but
# Ansible also uses them when it discovers this file in
# `ANSIBLE_CALLBACK_PLUGINS`
CALLBACK = os.path.splitext(os.path.basename(__file__))[0]
PLUGINS = os.path.dirname(__file__)
with mock.patch.dict(os.environ, {'ANSIBLE_STDOUT_CALLBACK': CALLBACK,
'ANSIBLE_CALLBACK_PLUGINS': PLUGINS}):
from ansible import __version__ as ANSIBLE_VERSION
from ansible.cli.playbook import PlaybookCLI
from ansible.executor.playbook_executor import PlaybookExecutor
from ansible.inventory.manager import InventoryManager
from ansible.parsing.dataloader import DataLoader
from ansible.vars.manager import VariableManager
# Add awx/lib to sys.path so we can use the plugin
path = os.path.abspath(os.path.join(PLUGINS, '..', '..', 'lib'))
if path not in sys.path:
sys.path.insert(0, path)
from awx_display_callback import AWXDefaultCallbackModule as CallbackModule # noqa
from awx_display_callback.events import event_context # noqa
@pytest.fixture()
def cache(request):
class Cache(OrderedDict):
def set(self, key, value):
self[key] = value
local_cache = Cache()
patch = mock.patch.object(event_context, 'cache', local_cache)
patch.start()
request.addfinalizer(patch.stop)
return local_cache
@pytest.fixture()
def executor(tmpdir_factory, request):
playbooks = request.node.callspec.params.get('playbook')
playbook_files = []
for name, playbook in playbooks.items():
filename = str(tmpdir_factory.mktemp('data').join(name))
with open(filename, 'w') as f:
f.write(playbook)
playbook_files.append(filename)
cli = PlaybookCLI(['', 'playbook.yml'])
cli.parse()
options = cli.parser.parse_args(['-v'])[0]
loader = DataLoader()
variable_manager = VariableManager(loader=loader)
inventory = InventoryManager(loader=loader, sources='localhost,')
variable_manager.set_inventory(inventory)
return PlaybookExecutor(playbooks=playbook_files, inventory=inventory,
variable_manager=variable_manager, loader=loader,
options=options, passwords={})
@pytest.mark.parametrize('event', {'playbook_on_start',
'playbook_on_play_start',
'playbook_on_task_start', 'runner_on_ok',
'playbook_on_stats'})
@pytest.mark.parametrize('playbook', [
{'helloworld.yml': '''
- name: Hello World Sample
connection: local
hosts: all
gather_facts: no
tasks:
- name: Hello Message
debug:
msg: "Hello World!"
'''}, # noqa
{'results_included.yml': '''
- name: Run module which generates results list
connection: local
hosts: all
gather_facts: no
vars:
results: ['foo', 'bar']
tasks:
- name: Generate results list
debug:
var: results
'''}, # noqa
])
def test_callback_plugin_receives_events(executor, cache, event, playbook):
executor.run()
assert len(cache)
assert event in [task['event'] for task in cache.values()]
@pytest.mark.parametrize('playbook', [
{'no_log_on_ok.yml': '''
- name: args should not be logged when task-level no_log is set
connection: local
hosts: all
gather_facts: no
tasks:
- shell: echo "SENSITIVE"
no_log: true
'''}, # noqa
{'no_log_on_fail.yml': '''
- name: failed args should not be logged when task-level no_log is set
connection: local
hosts: all
gather_facts: no
tasks:
- shell: echo "SENSITIVE"
no_log: true
failed_when: true
ignore_errors: true
'''}, # noqa
{'no_log_on_skip.yml': '''
- name: skipped task args should be suppressed with no_log
connection: local
hosts: all
gather_facts: no
tasks:
- shell: echo "SENSITIVE"
no_log: true
when: false
'''}, # noqa
{'no_log_on_play.yml': '''
- name: args should not be logged when play-level no_log set
connection: local
hosts: all
gather_facts: no
no_log: true
tasks:
- shell: echo "SENSITIVE"
'''}, # noqa
{'async_no_log.yml': '''
- name: async task args should suppressed with no_log
connection: local
hosts: all
gather_facts: no
no_log: true
tasks:
- async: 10
poll: 1
shell: echo "SENSITIVE"
no_log: true
'''}, # noqa
{'with_items.yml': '''
- name: with_items tasks should be suppressed with no_log
connection: local
hosts: all
gather_facts: no
tasks:
- shell: echo {{ item }}
no_log: true
with_items: [ "SENSITIVE", "SENSITIVE-SKIPPED", "SENSITIVE-FAILED" ]
when: item != "SENSITIVE-SKIPPED"
failed_when: item == "SENSITIVE-FAILED"
ignore_errors: yes
'''}, # noqa, NOTE: with_items will be deprecated in 2.9
{'loop.yml': '''
- name: loop tasks should be suppressed with no_log
connection: local
hosts: all
gather_facts: no
tasks:
- shell: echo {{ item }}
no_log: true
loop: [ "SENSITIVE", "SENSITIVE-SKIPPED", "SENSITIVE-FAILED" ]
when: item != "SENSITIVE-SKIPPED"
failed_when: item == "SENSITIVE-FAILED"
ignore_errors: yes
'''}, # noqa
])
def test_callback_plugin_no_log_filters(executor, cache, playbook):
executor.run()
assert len(cache)
assert 'SENSITIVE' not in json.dumps(cache.items())
@pytest.mark.parametrize('playbook', [
{'no_log_on_ok.yml': '''
- name: args should not be logged when no_log is set at the task or module level
connection: local
hosts: all
gather_facts: no
tasks:
- shell: echo "PUBLIC"
- shell: echo "PRIVATE"
no_log: true
- uri: url=https://example.org username="PUBLIC" password="PRIVATE"
- copy: content="PRIVATE" dest="/tmp/tmp_no_log"
'''}, # noqa
])
def test_callback_plugin_task_args_leak(executor, cache, playbook):
executor.run()
events = cache.values()
assert events[0]['event'] == 'playbook_on_start'
assert events[1]['event'] == 'playbook_on_play_start'
# task 1
assert events[2]['event'] == 'playbook_on_task_start'
assert events[3]['event'] == 'runner_on_ok'
# task 2 no_log=True
assert events[4]['event'] == 'playbook_on_task_start'
assert events[5]['event'] == 'runner_on_ok'
assert 'PUBLIC' in json.dumps(cache.items())
assert 'PRIVATE' not in json.dumps(cache.items())
# make sure playbook was successful, so all tasks were hit
assert not events[-1]['event_data']['failures'], 'Unexpected playbook execution failure'
@pytest.mark.parametrize('playbook', [
{'loop_with_no_log.yml': '''
- name: playbook variable should not be overwritten when using no log
connection: local
hosts: all
gather_facts: no
tasks:
- command: "{{ item }}"
register: command_register
no_log: True
with_items:
- "echo helloworld!"
- debug: msg="{{ command_register.results|map(attribute='stdout')|list }}"
'''}, # noqa
])
def test_callback_plugin_censoring_does_not_overwrite(executor, cache, playbook):
executor.run()
events = cache.values()
assert events[0]['event'] == 'playbook_on_start'
assert events[1]['event'] == 'playbook_on_play_start'
# task 1
assert events[2]['event'] == 'playbook_on_task_start'
# Ordering of task and item events may differ randomly
assert set(['runner_on_ok', 'runner_item_on_ok']) == set([data['event'] for data in events[3:5]])
# task 2 no_log=True
assert events[5]['event'] == 'playbook_on_task_start'
assert events[6]['event'] == 'runner_on_ok'
assert 'helloworld!' in events[6]['event_data']['res']['msg']
@pytest.mark.parametrize('playbook', [
{'strip_env_vars.yml': '''
- name: sensitive environment variables should be stripped from events
connection: local
hosts: all
tasks:
- shell: echo "Hello, World!"
'''}, # noqa
])
def test_callback_plugin_strips_task_environ_variables(executor, cache, playbook):
executor.run()
assert len(cache)
for event in cache.values():
assert os.environ['PATH'] not in json.dumps(event)
@pytest.mark.parametrize('playbook', [
{'custom_set_stat.yml': '''
- name: custom set_stat calls should persist to the local disk so awx can save them
connection: local
hosts: all
tasks:
- set_stats:
data:
foo: "bar"
'''}, # noqa
])
def test_callback_plugin_saves_custom_stats(executor, cache, playbook):
try:
private_data_dir = tempfile.mkdtemp()
with mock.patch.dict(os.environ, {'AWX_PRIVATE_DATA_DIR': private_data_dir}):
executor.run()
artifacts_path = os.path.join(private_data_dir, 'artifacts', 'custom')
with open(artifacts_path, 'r') as f:
assert json.load(f) == {'foo': 'bar'}
finally:
shutil.rmtree(os.path.join(private_data_dir))
@pytest.mark.parametrize('playbook', [
{'handle_playbook_on_notify.yml': '''
- name: handle playbook_on_notify events properly
connection: local
hosts: all
handlers:
- name: my_handler
debug: msg="My Handler"
tasks:
- debug: msg="My Task"
changed_when: true
notify:
- my_handler
'''}, # noqa
])
@pytest.mark.skipif(ANSIBLE_VERSION < '2.5', reason="v2_playbook_on_notify doesn't work before ansible 2.5")
def test_callback_plugin_records_notify_events(executor, cache, playbook):
executor.run()
assert len(cache)
notify_events = [x[1] for x in cache.items() if x[1]['event'] == 'playbook_on_notify']
assert len(notify_events) == 1
assert notify_events[0]['event_data']['handler'] == 'my_handler'
assert notify_events[0]['event_data']['host'] == 'localhost'
assert notify_events[0]['event_data']['task'] == 'debug'
@pytest.mark.parametrize('playbook', [
{'no_log_module_with_var.yml': '''
- name: ensure that module-level secrets are redacted
connection: local
hosts: all
vars:
- pw: SENSITIVE
tasks:
- uri:
url: https://example.org
user: john-jacob-jingleheimer-schmidt
password: "{{ pw }}"
'''}, # noqa
])
def test_module_level_no_log(executor, cache, playbook):
# https://github.com/ansible/tower/issues/1101
# It's possible for `no_log=True` to be defined at the _module_ level,
# e.g., for the URI module password parameter
# This test ensures that we properly redact those
executor.run()
assert len(cache)
assert 'john-jacob-jingleheimer-schmidt' in json.dumps(cache.items())
assert 'SENSITIVE' not in json.dumps(cache.items())

View File

@@ -2020,7 +2020,7 @@ msgstr ""
#: awx/main/conf.py:286
msgid ""
"Allows roles to be dynamically downlaoded from a requirements.yml file for "
"Allows roles to be dynamically downloaded from a requirements.yml file for "
"SCM projects."
msgstr ""
@@ -2835,7 +2835,7 @@ msgstr ""
#: awx/main/models/credential/__init__.py:979
msgid ""
"Enter the URL for the virtual machine that corresponds to your CloudForm "
"Enter the URL for the virtual machine that corresponds to your CloudForms "
"instance. For example, https://cloudforms.example.org"
msgstr ""

View File

@@ -2020,7 +2020,7 @@ msgstr ""
#: awx/main/conf.py:286
msgid ""
"Allows roles to be dynamically downlaoded from a requirements.yml file for "
"Allows roles to be dynamically downloaded from a requirements.yml file for "
"SCM projects."
msgstr ""
@@ -2835,7 +2835,7 @@ msgstr ""
#: awx/main/models/credential/__init__.py:979
msgid ""
"Enter the URL for the virtual machine that corresponds to your CloudForm "
"Enter the URL for the virtual machine that corresponds to your CloudForms "
"instance. For example, https://cloudforms.example.org"
msgstr ""

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More