Compare commits

..

4538 Commits

Author SHA1 Message Date
Kersom
6a9de16cda Merge pull request #10869 from AlexSCorey/10822-fixReactWarnings
Fixes several react warnings
2021-08-12 12:44:09 -04:00
Alex Corey
9d648edc19 fixes several react warnings 2021-08-12 09:08:40 -04:00
Shane McDonald
9da383fe2d Merge pull request #10866 from ansible/fix-awx-ee-name
Fix name of default awx ee
2021-08-12 08:06:34 -04:00
Elijah DeLee
86600531e2 Fix name of default awx ee
we are now tracking the latest tag
2021-08-11 22:06:56 -04:00
Shane McDonald
7505ecd284 Merge pull request #10865 from shanemcd/19.3.0
Bump version and changelog
2021-08-11 21:02:26 -04:00
Shane McDonald
a22de5a9ee Bump version and changelog 2021-08-11 19:51:06 -04:00
Tiago Góes
514616ad6e Merge pull request #10864 from tiagodread/awxkit
Generate a small random title size on awxkit when necessary
2021-08-11 19:14:19 -03:00
Tiago
4f5909ad21 Generate a small random size when necessary 2021-08-11 18:58:07 -03:00
Shane McDonald
aa98a5b5e1 Merge pull request #10858 from rooftopcellist/devel-receptor-runner
Install receptor and ansible-runner from devel branch
2021-08-11 16:43:13 -04:00
Christian Adams
93ee0a362f Merge pull request #10861 from kdelee/awx-ee-latest
Use awx-ee:latest to get latest receptor and runner
2021-08-11 16:27:18 -04:00
Christian M. Adams
56fd5c435d Install receptor and ansible-runner from devel
Signed-off-by: Christian M. Adams <rooftopcellist@gmail.com>
2021-08-11 16:22:24 -04:00
Tiago Góes
ebe5fff992 Merge pull request #10856 from tiagodread/awxkit
Update awxkit random_title setting non_ascii to False
2021-08-11 14:26:53 -03:00
Tiago
2a56be77b3 fix lint 2021-08-11 14:02:46 -03:00
Tiago
bf70200550 Update awxkit random_title setting non_ascii to False 2021-08-11 13:38:30 -03:00
Elijah DeLee
9b2d2a1856 Use awx-ee:latest to get latest receptor and runner
We are updating the requirements to get the latest receptor and runner in the task container,
we should also have the latest in the EE
2021-08-11 11:36:42 -04:00
Sarah Akus
ec729a3f15 Merge pull request #10820 from AlexSCorey/10654-10739-10740-fix
Host List Expand All and Survey List -> Tables
2021-08-11 09:58:49 -04:00
Alex Corey
34d0595bab adds locators 2021-08-11 09:44:54 -04:00
Alex Corey
b4243c6f03 adds dragging functionality to modal 2021-08-11 09:43:50 -04:00
Alex Corey
0aa82c2784 Adds expand all to Host List, and moved Survey list to table view 2021-08-11 09:43:50 -04:00
Jake McDermott
80053cea83 Merge pull request #10845 from nixocio/ui_add_more_ids
Update Ids for Job Details page
2021-08-10 10:39:28 -04:00
nixocio
100c1cbbce Update Ids for Job Details page
Update Ids for job details page to ease testing.

Also, distinguish between Project and Inventory Source Project.

See: https://github.com/ansible/awx/issues/10786#issuecomment-893658516
2021-08-09 17:05:13 -04:00
Bianca Henderson
1173dca900 Merge pull request #10809 from beeankha/remove_deprecated_params
Remove Collections Module Parameters Deprecated in Controller 4.0.0
2021-08-09 15:33:21 -04:00
Alex Corey
205935bc38 Merge pull request #10703 from AlexSCorey/10683-fixstrings
Marks dashboard chart axis labels for translation
2021-08-09 14:42:40 -04:00
Alex Corey
7025bc2678 marks dashboard chart axis labels for translation 2021-08-09 14:00:13 -04:00
Kersom
6cc6442f0d Merge pull request #10832 from nixocio/ui_issue_8020
Update inventory source sync button on kebab
2021-08-09 11:02:27 -04:00
Alex Corey
071973d89e Merge pull request #10828 from AlexSCorey/10628-ConvergenceData_10549-fix
Addresses permission problem on host group list and adds convergence data to Prompt Detail
2021-08-09 09:24:35 -04:00
Alex Corey
13ddc78b7d Addresses permission problem on host group list and adds convergence data to Prompt Detail 2021-08-09 09:04:22 -04:00
nixocio
bc083089bb Update inventory source sync button on kebab
Update inventory source sync button on kebab

See: https://github.com/ansible/awx/issues/8020
2021-08-06 16:31:07 -04:00
Bianca Henderson
ec66ffb1eb Merge pull request #10826 from beeankha/fix_collection_name_issue
Point to the Correct Name for AAP Within Collections
2021-08-06 14:32:46 -04:00
Kersom
3a6b228f6f Merge pull request #10821 from nixocio/ui_ids
Add Ids to ease tests
2021-08-06 11:41:59 -04:00
beeankha
bc365e2d01 Point to the correct name for AAP within collections 2021-08-06 10:13:06 -04:00
nixocio
e9b9dd3072 Add Ids to ease tests
Add Ids to ease tests.

See: https://github.com/ansible/awx/issues/8680#issuecomment-893663314
2021-08-06 10:12:06 -04:00
Jake McDermott
7b065ae0a0 Merge pull request #10789 from phemmer/patch-1
add minikube to github bug template
2021-08-06 10:04:00 -04:00
Patrick Hemmer
c10d556f17 add minikube to github bug template 2021-08-06 09:36:00 -04:00
Keith Grant
1ea0ff611a Merge pull request #10819 from keithjgrant/8474-hide-search-clear-all
Remove Clear All button in search when filters cleared
2021-08-05 11:20:24 -07:00
Keith J. Grant
92e35978dc remove Clear All button in search when filters cleared 2021-08-05 10:46:43 -07:00
Kersom
8d06c64495 Merge pull request #10772 from nixocio/ui_upgrade_formik
Upgrade formik
2021-08-05 13:14:00 -04:00
nixocio
fe8cd7188c Upgrade formik
Upgrade formik
2021-08-05 10:56:00 -04:00
Kersom
c721fe0b37 Merge pull request #10794 from nixocio/ui_issue_8680
Show PAT as part of bulk delete list
2021-08-05 10:33:09 -04:00
Kersom
ba1f89b9d8 Merge pull request #10796 from nixocio/ui_issue_job_id
Add job id to job details screen
2021-08-05 10:32:24 -04:00
Kersom
d94eba7179 Merge pull request #10810 from nixocio/ui_update_npm_container
Bump npm version inside container
2021-08-05 09:54:45 -04:00
nixocio
f2e8b90628 Bump npm version inside container
Bump npm version inside container

See: https://docs.npmjs.com/cli/v7/configuring-npm/package-lock-json#lockfileversion
2021-08-04 15:34:27 -04:00
Tiago Góes
2f0b5fc20a Merge pull request #10722 from AlexSCorey/10706-DisappearingField
Ensures that field is on screen behind the confirmation modal
2021-08-04 14:21:35 -03:00
Alex Corey
53817d3cbe ensures that field is on screen behind the confirmation modal 2021-08-03 18:08:11 -04:00
Bianca Henderson
c23f7f5bdc Merge pull request #10807 from beeankha/collections_doc_error
Fix Broken Collections Docs
2021-08-03 17:05:29 -04:00
Tiago Góes
4277149a3f Merge pull request #10797 from tiagodread/workflow-e2e
Update workflow to use pull_request_target
2021-08-03 17:31:59 -03:00
Tiago
3ba00c7a72 Add CODEOWNERS for e2e_test.yml 2021-08-03 17:18:47 -03:00
nixocio
0d2bc750e8 Show PAT as part of bulk delete list
* Show PAT as part of bulk delete list
* Update tooltip message in how to create a Personal Access Token

See: https://github.com/ansible/awx/issues/8680
2021-08-03 16:12:46 -04:00
nixocio
97a4122ceb Add job id to job details screen
Add job id to job details screen

See: https://github.com/ansible/awx/issues/10786
2021-08-03 16:11:54 -04:00
Tiago
8b165b333e Update workflow to use pull_request_target 2021-08-03 16:34:42 -03:00
beeankha
ea71fef2bd Add required params to collections docs file 2021-08-03 15:06:53 -04:00
beeankha
9409dc0085 Remove Collections module parameters deprecated in Controller 4.0.0 2021-08-03 14:55:45 -04:00
Tiago Góes
dae3f1a164 Merge pull request #10592 from mabashian/2032-workflow-node-alias
Adds support for workflow node aliasing via identifier field
2021-08-03 15:50:18 -03:00
mabashian
0213fb5412 Fix linting errors 2021-08-03 14:08:00 -04:00
mabashian
a4f263bc92 Fix bug where identifier is undefined 2021-08-03 14:07:56 -04:00
mabashian
231cccbb19 Adds support for workflow node aliasing via identifier field 2021-08-03 14:07:50 -04:00
kialam
791d24bcb6 Merge pull request #10801 from kialam/add-instances-node-type-ui
Add Node Type to Instances page and modify "Type" to "Policy Type."
2021-08-03 14:01:02 -04:00
Kia Lam
729723205f Fix unit tests. 2021-08-03 13:06:35 -04:00
Kia Lam
2474f60e00 Add Node Type to Instances page and modify "Type" to "Policy Type." 2021-08-03 13:06:34 -04:00
Tiago Góes
dbb5715fea Merge pull request #10803 from akus062381/add-ouia-wfjt-survey-prompt
WFJT Prompt- Survey- add OUIA locators for testability
2021-08-03 11:57:07 -03:00
akus062381
86ebce6d3d adding ouiaId locators to Survey Prompt step within Node Prompt Modal for WFJT
adding ouiaId locators to Survey Prompt step within Node Prompt Modal for WFJT
2021-08-03 10:36:24 -04:00
Bianca Henderson
e84a629ada Merge pull request #10788 from beeankha/fix_sanity_errors_collections
Fix Collections Errors
2021-08-03 08:56:43 -04:00
Kersom
1907859827 Merge pull request #10724 from nixocio/ui_issue_10676
Merge ui and ui_next in one dir
2021-08-03 08:33:13 -04:00
beeankha
cf4a68c9b3 Revert "Add required params to deprecated docstrings"
This reverts commit dea2ce6fde.
2021-08-02 23:15:30 -04:00
beeankha
dea2ce6fde Add required params to deprecated docstrings 2021-08-02 20:03:02 -04:00
nixocio
f85b2b6352 Merge ui and ui_next in one dir
Merge ui and ui_next in one dir

See: https://github.com/ansible/awx/issues/10676

Update django .po files

Update django .po files

Run `awx-manage makemessages`.
2021-08-02 10:40:24 -04:00
beeankha
e88e81928c Fix sanity errors for collections 2021-07-30 10:53:44 -04:00
Rebeccah Hunter
d89719c740 Merge pull request #10757 from rebeccahhh/instance_node_type
add a node_type field to the instance model
2021-07-28 17:52:27 -04:00
Jake McDermott
eef80c8875 Merge pull request #10781 from tiagodread/update-e2e-workflow
Use cypress base image from a public repo in quay
2021-07-28 16:51:25 -04:00
Jake McDermott
34bd0588b4 Merge pull request #10777 from nixocio/ui_issue_10775
Update usage of useBrandName
2021-07-28 16:46:18 -04:00
Tiago
bf8d70e657 Use cypress base image from a public repo in quay 2021-07-28 17:39:16 -03:00
Tiago Góes
b349774f92 Merge pull request #10572 from mabashian/790-mgt-jobs-workflow
Add UI support for management jobs in workflows
2021-07-28 16:15:38 -03:00
nixocio
452848ff27 Update usage of useBrandName
useBrandName return variables were updated. Update a few places using
this custom hook.

See: https://github.com/ansible/awx/issues/10775
2021-07-28 14:53:49 -04:00
Sarah Akus
5d345c22b4 Merge pull request #10635 from nixocio/ui_issue_10613
Add extra step to confirm edition of login redirect URL
2021-07-28 14:29:21 -04:00
nixocio
33502daf45 Add extra step to allow edition of login redirect URL
Add extra step to allow edition of login redirect URL

closes: https://github.com/ansible/awx/issues/10613
2021-07-28 12:08:54 -04:00
Jake McDermott
07a4683f08 Merge pull request #10741 from AlexSCorey/10495-ActionBtnOnEmptyState
Improves empty state messages for improve UX
2021-07-28 10:18:49 -04:00
Jake McDermott
e207b424b1 Merge pull request #10768 from nixocio/ui_issue_8593
Remove all groups filter
2021-07-28 10:06:16 -04:00
Jake McDermott
50279478c8 Update job list message 2021-07-28 10:04:58 -04:00
Tiago Góes
7b6fa1815a Merge pull request #10692 from nixocio/ui_issue_10663_again
Add auto-populate inventory host form
2021-07-28 10:32:08 -03:00
nixocio
b57966677e Remove all groups filter
Remove all groups filter

See: https://github.com/ansible/awx/issues/8593
2021-07-27 16:18:56 -04:00
Jake McDermott
dc79d76444 Merge pull request #10761 from nixocio/ui_issue_6800
Add string to be translated
2021-07-27 15:20:06 -04:00
nixocio
3c1de8d683 Add auto-populate inventory host form
Add auto-populate inventory host form

closes:https://github.com/ansible/awx/issues/10663
2021-07-27 13:03:51 -04:00
nixocio
b077f186d1 Add string to be translated
Add string to be translated

closes: https://github.com/ansible/awx/issues/6800
2021-07-27 11:22:08 -04:00
Jake McDermott
63075976c2 Merge pull request #10662 from AlexSCorey/updatesProdDeps
Updates Several UI Production Dependencies
2021-07-27 11:14:04 -04:00
mabashian
5f7db084d3 Fix linting errors 2021-07-27 09:02:43 -04:00
mabashian
1e30e33d30 Fix bug where page crashed if attempting to view system job node without extra vars 2021-07-27 09:02:43 -04:00
mabashian
874b497794 Update label on days field 2021-07-27 09:02:42 -04:00
mabashian
8374533c5f Ensure that days is always an integer 2021-07-27 09:02:42 -04:00
mabashian
034c665c83 Adds Variables detail to node view when node is a system job template 2021-07-27 09:02:42 -04:00
mabashian
d7521efc91 Fix days to keep bug when editing a new node 2021-07-27 09:02:42 -04:00
mabashian
4db6eaf1aa Add UI support for management jobs in workflows 2021-07-27 09:02:42 -04:00
Rebeccah
fd6ce66906 edit the provision_instance awx-manage command to include node_type when provisioning a new instance. 2021-07-26 16:36:44 -04:00
Rebeccah
f11b73da12 update node_type to be read-only 2021-07-26 16:13:57 -04:00
Tiago Góes
cfa5d1b11d set timeout limit for e2e tests (#10756) 2021-07-26 20:00:00 +00:00
Rebeccah
706f3f97ea add a new field to the instance model for use with receptor changes (incoming) 2021-07-26 15:53:56 -04:00
Alex Corey
34fdf11217 fixes tests 2021-07-26 14:21:31 -04:00
Alex Corey
3dec379052 adds missing license text files 2021-07-26 14:21:23 -04:00
Alex Corey
56fb5479e2 removes unuse license text files 2021-07-26 14:21:19 -04:00
Alex Corey
0a64f3274e updates d3, ansi-t0-html, has-ansi, httml-entities, sanitize-html, styled-components 2021-07-26 14:21:03 -04:00
Jake McDermott
57fa2c03f7 Merge pull request #10753 from ansible/jakemcdermott-patch-readme
Update CI results status badge
2021-07-26 11:38:47 -04:00
Jake McDermott
3ef8008f91 Update CI results status badge 2021-07-26 11:19:54 -04:00
Jake McDermott
70f69b6c8b Merge pull request #10751 from tiagodread/e2e-workflow
Update e2e workflow to use variable for e2e project name
2021-07-26 11:06:15 -04:00
Tiago
c50c0d3f1e Update e2e workflow to use variable for e2e project name 2021-07-26 11:51:12 -03:00
Tiago Góes
6740785054 Merge pull request #10725 from ansible/e2e-tests
Add E2E tests workflow
2021-07-26 11:32:32 -03:00
Tiago
777d37c4b8 Add workflow to run e2e tests when the label needs_test is applied to the PR 2021-07-23 19:13:20 -03:00
Shane McDonald
41321d8ad5 Merge pull request #10716 from oweel/10392-return_404_ad_hoc_command_events
Return 404 for ad_hoc_command_events list api. Remove api endtpoint
2021-07-23 17:35:57 -04:00
Keith Grant
e9b7f9ac40 Merge pull request #10713 from keithjgrant/10563-a11y-fixes
Fix multiple accessibility violations
2021-07-23 10:36:21 -07:00
Alex Corey
f3b6291918 Merge pull request #10634 from AlexSCorey/5200-AboutModalUpdate
Updates product name in About modal
2021-07-23 13:20:13 -04:00
Alex Corey
3c6e7b0983 Improves empty state messages for improve UX 2021-07-23 11:34:03 -04:00
Shane McDonald
09479be4ba Merge pull request #10738 from shanemcd/fix-docker-clean-volumes
Fix docker-clean-volumes target when not using minikube
2021-07-23 11:06:13 -04:00
Shane McDonald
18a51d1dd0 Fix docker-clean-volumes target when not using minikube
Without this patch, you get:

```
tools/docker-compose-minikube/_sources/minikube delete
make: tools/docker-compose-minikube/_sources/minikube: No such file or directory
```
2021-07-23 09:09:33 -04:00
Shane McDonald
7882cb9008 Merge pull request #10668 from oweel/devel
Fix ignoring --no-color for awx-manage list_instances command
2021-07-22 20:46:02 -04:00
Shane McDonald
05c7d3a60e Merge pull request #10108 from saito-hideki/issue/10057
Fix to handle ask_* parameters correctly when set false
2021-07-22 20:25:14 -04:00
Shane McDonald
c09050d1f2 Merge pull request #9944 from AlanCoding/schedule_teardown
Allow stable use of AWXKIT_PREVENT_TEARDOWN by disabling schedules at the end
2021-07-22 20:19:35 -04:00
Shane McDonald
dd9c6270ba Dont fail when pre-built CI image is not available 2021-07-22 19:43:34 -04:00
Shane McDonald
18d9bfa06e Merge pull request #10573 from Tompage1994/collection_inv_src_proj
Default source_project to organization for inventory source
2021-07-22 17:14:32 -04:00
Shane McDonald
ef82c1ce01 Merge pull request #10566 from strollo/webhook-headers-patch
Headers missing in webhook notification request
2021-07-22 17:08:56 -04:00
Shane McDonald
6a7aa77033 Merge pull request #10484 from ansible/chrismeyersfsu-patch-1
only get active long running queries
2021-07-22 15:58:10 -04:00
Shane McDonald
f683c7159d Merge pull request #10481 from brigzzy/compose_up_fix
Reorder docker compose up options
2021-07-22 15:57:39 -04:00
Shane McDonald
cd33db037d Merge pull request #9703 from tchellomello/double_ldap
Avoid double LDAP updates
2021-07-22 15:54:29 -04:00
Shane McDonald
8609a637f9 Merge pull request #9365 from mcharanrm/aa-workloads-firehose
tools/scripts/firehose.py: capture all job ids, attach events to all jobs ids and distribute the events
2021-07-22 15:52:16 -04:00
Shane McDonald
99ffd3898c Merge pull request #8023 from velzend/improve_logging_migrating_or_instance_not_registered
improve logging migrate or instance not registered
2021-07-22 15:50:33 -04:00
Shane McDonald
c36821d6e1 Merge pull request #7273 from jamesmarshall24/devel
Remove query_parameters from page loop causing 414
2021-07-22 15:49:16 -04:00
Shane McDonald
b3604ed94a Merge pull request #10511 from fosterseth/fix_haproxy_permission
run dev cluster haproxy container as root
2021-07-22 15:45:28 -04:00
Shane McDonald
0e30c6639a Merge pull request #10583 from coolbry95/waitfordb
wait for database connection
2021-07-22 14:12:30 -04:00
Keith J. Grant
f6037f9df5 run changes through updated v of prettier 2021-07-22 10:57:49 -07:00
Shane McDonald
0aca4d658a Bash nitpick 2021-07-22 13:56:58 -04:00
Sarabraj Singh
ca14cbefaf Merge pull request #10425 from sarabrajsingh/bugfix/preflight-check-postgres-version-4940
introduced a pre-flight check for postgres 12
2021-07-22 13:56:58 -04:00
coolbry95
041e22f609 wait for migrations in awx-web container 2021-07-22 13:56:58 -04:00
coolbry95
a21dcec85d wait for database connection
Signed-off-by: coolbry95 <coolbry95@gmail.com>
2021-07-22 13:56:58 -04:00
Keith J. Grant
55a9a4ca46 update selectors in tests to match id changes 2021-07-22 09:55:01 -07:00
Keith J. Grant
e32471adbd fix a11y id issues in team list and jt form 2021-07-22 08:58:00 -07:00
Keith J. Grant
77f2729a76 fix settings pages a11y issues 2021-07-22 08:58:00 -07:00
Keith J. Grant
5fb1b604bf ensure unique ids on jobs list 2021-07-22 08:58:00 -07:00
Keith J. Grant
29753c6b9b fix lookup field ids 2021-07-22 08:58:00 -07:00
Jake McDermott
1aacd94cb5 Merge pull request #10711 from ansible/pip-boto
Install boto to ci ansible python env
2021-07-22 11:08:35 -04:00
Jake McDermott
7bfc1702ab Merge pull request #10632 from The-Migus-Group/tss-plugin-amigus
Add Thycotic SecretServer support
2021-07-22 08:57:39 -04:00
Kersom
d68c118fd4 Merge pull request #10570 from nixocio/ui_remove_with_router
Remove mix usage of hooks and HOC for router
2021-07-22 08:34:55 -04:00
Alexander Komarov
27543aed1d Return 404 for ad_hoc_command_events list api. Remove api endtpoint 2021-07-22 15:04:00 +05:00
Adam Migus
edd3554c36 Breakdown the compound statement in tss_backend 2021-07-21 22:03:34 -04:00
Adam Migus
2025426a1b Use a callable function instead of a lambda. 2021-07-21 22:03:34 -04:00
Adam Migus
77ab35e7a8 Extract the field from the secret. 2021-07-21 22:03:33 -04:00
endlesstrax
9dc84d69d5 Update required for SDK v1 compatability 2021-07-21 22:03:32 -04:00
endlesstrax
fa7867e8a7 Fixed import error 2021-07-21 22:03:31 -04:00
endlesstrax
e6ed7f95f1 Added licences fro dataclasses and python-tss-sdk 2021-07-21 22:03:30 -04:00
endlesstrax
28de50f14e Updated the required sdk version to latest release v1.0.0 2021-07-21 22:03:29 -04:00
Adam Migus
7ec56a56e5 Fixed it. 2021-07-21 22:03:29 -04:00
Adam C. Migus
b0b295ba1e My changes. 2021-07-21 22:03:28 -04:00
Ricky White
0cc6bf9b60 Updated backend code 2021-07-21 22:03:27 -04:00
Ricky White
14b767abc3 Added thycotic_tss to test credential 2021-07-21 22:03:26 -04:00
Ricky White
f06c6d349c Added base tss plugin code. Not tested 2021-07-21 22:03:25 -04:00
Ricky White
d6621470b3 Added tss credential plugin 2021-07-21 22:03:25 -04:00
Ricky White
68ab6e4853 Added python-tss-sdk to requirements 2021-07-21 22:03:24 -04:00
Jake McDermott
3980864151 Install boto to ci ansible python env 2021-07-21 18:01:09 -04:00
Tiago
0c8f4fc9e7 Revert "add e2e tests to ci.yml"
This reverts commit 4f428af515.
2021-07-21 18:52:14 -03:00
Tiago
4f428af515 add e2e tests to ci.yml 2021-07-21 18:35:02 -03:00
Kersom
5d20acaa92 Merge pull request #10709 from nixocio/ui_fix_lint
Run prettier and lint
2021-07-21 17:15:48 -04:00
nixocio
05e5cd6bf1 Run prettier
Run prettier
2021-07-21 17:00:05 -04:00
Sarah Akus
53251434f2 Merge pull request #10696 from nixocio/ui_status_label
Create map of strings to be translated
2021-07-21 15:41:56 -04:00
Keith Grant
9704c57d6b Merge pull request #10665 from keithjgrant/disallow-test-network-requests
Disallow network requests in tests
2021-07-21 09:32:47 -07:00
Sarah Akus
9b7ef9ba21 Merge pull request #10700 from nixocio/ui_misalignment
Fix misalignment node approval timeout
2021-07-21 12:05:41 -04:00
Alexander Komarov
e7f1d1d0c1 Fix ignoring --no-color for awx-manage list_instances command 2021-07-21 20:55:24 +05:00
Marcelo Moreira de Mello
c9259ac45b Merge pull request #10675 from tchellomello/minikube-hack-macos
Workaround Minikube issue on MacOS and enable preflights
2021-07-21 10:56:14 -04:00
Marcelo Moreira de Mello
7e46499e18 Workaround Minikube issue on MacOS and enable preflights 2021-07-21 10:39:51 -04:00
nixocio
c1b2428b5d Create map of strings to be translated
Create map of strings to be translated to StatusLabel

closes:https://github.com/ansible/awx/issues/8586
2021-07-21 09:53:37 -04:00
Tiago Góes
c073583663 Merge pull request #10658 from AlexSCorey/updatesESLint_and_Prettier_and_relatedDeps
Updates Several Dev Dependencies
2021-07-21 10:50:22 -03:00
Sarah Akus
66fc92a97f Merge pull request #10679 from AlexSCorey/10549-AuditorsCanAssociateHostWithGroup
Enforces Proper permissions for Host Groups List
2021-07-21 09:45:38 -04:00
nixocio
10c8480247 Fix misalignment node approval timeout
Fix misalignment node approval timeout

closes:https://github.com/ansible/awx/issues/10515
2021-07-21 09:30:58 -04:00
Alex Corey
cfcaa4271c hits correct api end point to get options data for host groups list 2021-07-21 09:30:10 -04:00
Jake McDermott
872513617e Merge pull request #10660 from nixocio/ui_issue_9554
Bump size of SSO icons login screen
2021-07-20 16:56:39 -04:00
Keith J. Grant
9237ca4809 fix path to useBrandName in test 2021-07-20 13:47:46 -07:00
nixocio
719c9e824b Remove mix usage of hooks and HOC for router
There were a few cases that hooks and HOC were being used at the same on
a certain component. Remove HOC from those ones.
2021-07-20 16:47:39 -04:00
Keith J. Grant
9d01334a86 remove withRouter where not needed 2021-07-20 13:01:32 -07:00
Keith J. Grant
4c62bf268d fix test warning about open worker process 2021-07-20 13:01:31 -07:00
Keith J. Grant
3e79fa2dcb fail tests that initiate network requests 2021-07-20 13:01:31 -07:00
Shane McDonald
6715b88633 Update upload_schema.yml 2021-07-20 15:32:11 -04:00
Shane McDonald
556f8aff17 Update upload_schema.yml 2021-07-20 15:14:36 -04:00
Shane McDonald
c8322ee2f1 Merge pull request #10672 from shanemcd/actions
Reimplement CI jobs in GitHub Actions
2021-07-20 12:55:06 -04:00
Shane McDonald
d2017feb55 Specify which region to upload schema to 2021-07-20 12:23:06 -04:00
Shane McDonald
aa934b1dda Add post-merge GHA job for uploading api schema to s3 2021-07-20 12:23:05 -04:00
Jake McDermott
dd510ab90c Set maxworkers to 4 2021-07-20 12:23:04 -04:00
Shane McDonald
3353b3f3b7 Split out UI test and linters into different GHA jobs 2021-07-20 12:23:04 -04:00
Shane McDonald
e22612fc3e Fix image push job 2021-07-20 12:23:03 -04:00
Shane McDonald
baca30ef83 Dont lint GHA files 2021-07-20 12:23:02 -04:00
Shane McDonald
2622a1e764 Port CI jobs to GitHub Actions 2021-07-20 12:23:01 -04:00
Alex Corey
3def23883e updates several dependencies 2021-07-20 12:19:27 -04:00
softwarefactory-project-zuul[bot]
e77d297a28 Merge pull request #10510 from AlexSCorey/10440-8660-fix
Renders Command Module in job detail view and improves Ad Hoc Commands execution permissions

SUMMARY
This closes #10440 and #8660.
On the job details view we now render the command module name, and the arguments.  We also remove the run command button for user that do not have permission to launch a ad hoc command.
ISSUE TYPE
-enhancement
COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-20 15:28:24 +00:00
softwarefactory-project-zuul[bot]
8183179850 Merge pull request #10576 from AlexSCorey/9399-revampAdHocCommandsWorkflow
Adds Ad Hoc Preview step and adds workflow similar to prompt on launch

SUMMARY
This closes #9399 it also introduce the same workflow that prompt on launch uses in the Ad Hoc Commands, where the user to go between steps as they wish.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-20 13:31:37 +00:00
nixocio
52777681d1 Bump size of SSO icons login screen
Bump size of SSO icons login screen

closes: https://github.com/ansible/awx/issues/9554
2021-07-20 08:59:57 -04:00
Alex Corey
71a3a816e2 improves permissions for ad hoc commands execution and tooltip handling 2021-07-20 08:57:25 -04:00
Alex Corey
d389362ca3 renders ad hoc command fields in job detail view 2021-07-20 08:57:25 -04:00
Alex Corey
87890234f8 Adds Ad Hoc Preview step and adds workflow similar to prompt on launch 2021-07-20 08:56:10 -04:00
Alex Corey
fb91c8fba1 updates product name in About modal 2021-07-20 08:27:33 -04:00
softwarefactory-project-zuul[bot]
3f44c5d18b Merge pull request #10639 from weidongkl/devel
Fix inaccurate translation

SUMMARY

Fix some inaccurate translation in zh meesage.po

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


UI

AWX VERSION

devel branch

ADDITIONAL INFORMATION

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: weidong <None>
2021-07-20 02:17:50 +00:00
weidong
cf269fb337 Update Weekday's translation 2021-07-20 09:26:55 +08:00
softwarefactory-project-zuul[bot]
fd99b366c2 Merge pull request #10684 from rooftopcellist/compile-messages
Properly compile translated API strings

SUMMARY
Fixes: #10681
Now when make ui-devel is run, it will compile the API translated strings and display them to the client browser.
[chadams@chadams-work awx]$ make ui-devel
make[1]: Entering directory '/home/chadams/awx'
python3.8 tools/scripts/compilemessages.py
processing file django.po in /home/chadams/awx/awx/locale/fr/LC_MESSAGES
processing file django.po in /home/chadams/awx/awx/locale/zh/LC_MESSAGES
processing file django.po in /home/chadams/awx/awx/locale/en-us/LC_MESSAGES
processing file django.po in /home/chadams/awx/awx/locale/ja/LC_MESSAGES
processing file django.po in /home/chadams/awx/awx/locale/es/LC_MESSAGES
processing file django.po in /home/chadams/awx/awx/locale/nl/LC_MESSAGES
npm --prefix awx/ui_next --loglevel warn run compile-strings
...

ISSUE TYPE


Bugfix Pull Request

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-07-19 22:33:34 +00:00
softwarefactory-project-zuul[bot]
001f66980f Merge pull request #10562 from jakemcdermott/fix-relatives-2
Fix relative imports in src code, relocate src

(Lots of files modified but the changes are low-risk and automated)
This PR is a follow-up to #6954, specifically the part where we removed webpack aliases to pick up react-scripts.
SUMMARY

 Add the jsconfig.json w/  baseUrl to enable absolute imports from src. Replaces all the ../../../../../ importing
  jsx -> js extension renaming
 hooks directory
[ ] ui_next -> ui see: #10676

For posterity, the script used to fix the relative imports is included in the commit history.
python3 tools/fixrelative.py awx/ui_next/src
npm --prefix=awx/ui_next run lint -- --fix
npm --prefix=awx/ui_next run prettier

import argparse
import glob
import os
from shutil import move, copymode
from tempfile import mkstemp


def get_new_import_string(old_import_str, root):
    if not root.startswith("./"):
        raise Exception("root must start with './'")
    name = root.replace("./", "")
    left, right = old_import_str.split("from")
    left += "from '"
    _, trailing = right.split(name)

    return left + name + trailing


roots = [
    "./api",
    "./components",
    # "./constants",
    "./contexts",
    "./screens",
    "./types",
    "./util",
]


def get_root(line):
    matched_root = None
    for root in roots:
        if root in line:
            matched_root = root
            break
    if "jest" in line:
        matched_root = None
    return matched_root


def find_and_replace_roots(file_path, root_dir, preview):
    fh, temp_path = mkstemp()
    has_logged_file_name = False
    with os.fdopen(fh, "w") as new_file:
        with open(file_path) as old_file:
            for (line_number, line) in enumerate(old_file):
                matched_root = get_root(line)
                if matched_root:
                    new_line = get_new_import_string(line, matched_root)
                    if not preview:
                        new_file.write(new_line)
                    if not has_logged_file_name:
                        log_file_replacement(root_dir, file_path)
                        has_logged_file_name = True
                    log_line_replacement(line_number, line, new_line)
                elif not preview:
                    new_file.write(line)

    if not preview:
        copymode(file_path, temp_path)
        os.remove(file_path)
        move(temp_path, file_path)


def log_line_replacement(line_number, line, new_line):
    display_line = line.replace(os.linesep, "")
    display_new_line = new_line.replace(os.linesep, "")
    print(f"\t (line {line_number}): {display_line} --> {display_new_line}")


def log_file_replacement(root_dir, file_path):
    display_path = os.path.relpath(file_path, root_dir)
    print("")
    print(f"{display_path}:")


def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("root_dir", help="Root directory")
    parser.add_argument("--preview", help="Preview (no write)", action="store_true")
    args = parser.parse_args()
    return args


def run():
    args = parse_args()
    search_path = args.root_dir + "**/**/*.js*"

    for file_path in glob.iglob(search_path, recursive=True):
        find_and_replace_roots(file_path, args.root_dir, args.preview)


if __name__ == "__main__":
    run()

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-19 21:57:27 +00:00
Christian M. Adams
2f6855262e Properly compile translated API strings 2021-07-19 17:52:28 -04:00
Jake McDermott
954be5dd32 Regenerate translation string files 2021-07-19 13:33:54 -04:00
Jake McDermott
6d71997b51 Relocate hooks to hooks directory
mkdir awx/ui_next/src/hooks
mv awx/ui_next/src/util/use* awx/ui_next/src/hooks/
find ./awx/ui_next/src -type f -exec sed -i -e 's/util\/use/hooks\/use/g' {} \;
find ./awx/ui_next/src/hooks -type f -exec sed -i -e 's/from \x27\.\//from \x27util\//g' {} \;
find ./awx/ui_next/src/hooks -type f -exec sed -i -e 's/from \x27util\/use/from \x27\.\/use/g' {} \;
npm --prefix=awx/ui_next run lint -- --fix
npm --prefix=awx/ui_next run prettier
2021-07-19 13:33:45 -04:00
Jake McDermott
021e98b14a Remove script to switch relative imports 2021-07-19 13:33:42 -04:00
Jake McDermott
c92fffaecc Rename .jsx -> .js 2021-07-19 13:33:38 -04:00
Jake McDermott
595cf192b7 Fix relative imports
python tools/fixrelative.py awx/ui_next/src
npm --prefix=awx/ui_next run lint -- --fix
npm --prefix=awx/ui_next run prettier
2021-07-19 13:33:35 -04:00
Jake McDermott
0ee7d22e9d Add script to switch relative imports 2021-07-19 13:33:30 -04:00
Jake McDermott
dc1b312672 Enable absolute imports 2021-07-19 13:33:24 -04:00
softwarefactory-project-zuul[bot]
9820c8cd81 Merge pull request #10671 from fosterseth/fix_minikube_start_by_default
Fix conditional to check that minikube should start

SUMMARY

make docker-compose tries to start container group without this fix

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.2.2

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-07-19 15:46:53 +00:00
Seth Foster
d346dbb8ba Fix conditional to check that minikube should start 2021-07-19 11:05:05 -04:00
softwarefactory-project-zuul[bot]
81eb3be8d4 Merge pull request #10629 from nixocio/ui_issue_5687
Update User screens

Add modified field to user endpoints. The API returns the last login
date as the modified field to the users.
Modify user form layout to be as per mockups.
Remove last name and  first name from user row, since it is
already on the column title.


closes: #5687
closes: #9564

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 20:42:33 +00:00
softwarefactory-project-zuul[bot]
d01cd5517d Merge pull request #10606 from nixocio/ui_issue_10595
Display full keys advanced search smart inventory

Display full keys advanced search smart inventory

closes: #10595

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 20:42:27 +00:00
nixocio
faf295d7f2 Update User screens
* Add `modified` field to user endpoints. The API returns the last login
date as the `modified` field to the users.
* Add modified to user details.
* Modify user form layout to be as per mockups.
* Remove `last name` and  `first name` from user row, since it is
already on the column title.

closes: https://github.com/ansible/awx/issues/5687
closes: https://github.com/ansible/awx/issues/9564
2021-07-15 16:05:34 -04:00
softwarefactory-project-zuul[bot]
9bb7d918eb Merge pull request #10623 from AlexSCorey/4208-ExpandWholeList
Adds functionality for expand all 

SUMMARY
Closes #4208.  Adds basically the same work as useSelected, in a useExpanded hook.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 19:24:54 +00:00
softwarefactory-project-zuul[bot]
efed55d0c0 Merge pull request #10640 from nixocio/ui_issue_10095
Add edit icon to SurveyListItem

Add edit icon to SurveyListItem

closes: #10095

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 18:59:09 +00:00
softwarefactory-project-zuul[bot]
5f916e6237 Merge pull request #10622 from nixocio/ui_issue_10612
Update login redirect to a be text input field

Update login redirect to a be text input field. Allowing values like
/sso/login/saml/?idp=SSO
closes: #10612

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 18:59:05 +00:00
softwarefactory-project-zuul[bot]
d3143d9b1d Merge pull request #10621 from nixocio/ui_issue_10620
Fix close button alert modal

Fix close button alert modal
closes: #10620

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 18:59:02 +00:00
softwarefactory-project-zuul[bot]
207eaaf9b4 Merge pull request #10608 from nixocio/ui_issue_10548
Disable remove button if row is being dragged

Disable remove button if row is being dragged.
Also, disable drag button there is just one item selected.
closes: #10548

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 18:58:59 +00:00
softwarefactory-project-zuul[bot]
f16626c808 Merge pull request #10604 from nixocio/ui_update_rbac
Update RBAC sidebar

Update RBAC sidebar. Do the following:

Expose read-only applications to normal users in the UI
Expose read-only credential types to normal users in the UI


closes: #10432
closes: #10433

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 18:06:05 +00:00
softwarefactory-project-zuul[bot]
6533a255a7 Merge pull request #10578 from wenottingham/spuds_mckenzicon
Point REST API favicon at the one the UI uses

SUMMARY
Don't  ship one that is only used for the API browser.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API
UI

AWX VERSION
devel

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-07-15 17:34:19 +00:00
softwarefactory-project-zuul[bot]
f8ff9ffe62 Merge pull request #10598 from nixocio/ui_issue_10593
Identify sliced jobs on Job List and Job Details

Identify sliced jobs on Job List and Job details - for workflow jobs.
closes: #2479
closes: #10593
Jobs List

Job Details - Workflow Job

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 17:28:39 +00:00
nixocio
7cc3ac1a11 Identify sliced jobs on Job List and Job Details
Identify sliced jobs on Job List and Job details - for workflow jobs.

closes: https://github.com/ansible/awx/issues/2479
closes: https://github.com/ansible/awx/issues/10593
2021-07-15 12:51:53 -04:00
softwarefactory-project-zuul[bot]
9ed1f3bc0f Merge pull request #10636 from tchellomello/minikube-devel-hack
Incorporates Minikube to devel environment

SUMMARY

Incorporates Minikube to devel environment
This PR allows creating a smooth devel environment deploying Minikube connected to the AWX devel network interface using Docker.
Furthermore, both CredentialType  and Container Group gets created automatically.
Steps performed by the target make docker-compose-container-group

Downloads Minikube (currently supported Linux and MacOS)
Downloads kubectl (currently supported Linux and MacOS)
Starts Minikube using docker as backend
Creates a Service Account, Role and RoleBinding on Minikube
Exports Minikube ServiceAccount token to be used on AWX Credential
Creates Minikube AWX Credential
Creates Container Group to use Minikube backend
Starts regular AWX devel instances and connected with Minikube network

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

devel

ADDITIONAL INFORMATION
Quick step-by-step to use this PR:
$ make docker-compose-container-group-clean  # this will remove your database and any old Minikube already deployed
$ make docker-compose-container-group
Verifying some work:
$ kubectl get serviceaccount awx-devel
NAME        SECRETS   AGE
awx-devel   1         130m

$ kubectl get roles
NAME        CREATED AT
awx-devel   2021-07-15T00:47:37Z

$ kubectl get rolebindings
NAME        ROLE             AGE
awx-devel   Role/awx-devel   131m
Credential

Container Instance Group

After updating a Job Template and assigning to the Container Instance Group
kubectl get pods -w
NAME                     READY   STATUS    RESTARTS   AGE
automation-job-6-w6rmh   0/1     Pending   0          0s
automation-job-6-w6rmh   0/1     Pending   0          0s
automation-job-6-w6rmh   0/1     ContainerCreating   0          0s
automation-job-6-w6rmh   1/1     Running             0          5s
automation-job-6-w6rmh   1/1     Terminating         0          6s

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Marcelo Moreira de Mello <tchello.mello@gmail.com>
Reviewed-by: Sarabraj Singh <singh.sarabraj@gmail.com>
2021-07-15 16:46:26 +00:00
softwarefactory-project-zuul[bot]
4b81df2ab4 Merge pull request #10651 from gabyfulchic/patch-1
Update kubernetes pod doc url

SUMMARY
Just a little change allowing users to find the Kubernetes pod core documentation.
ISSUE TYPE

Docs Pull Request

COMPONENT NAME

UI

AWX VERSION
N/A
ADDITIONAL INFORMATION
N/A

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-07-15 16:40:09 +00:00
softwarefactory-project-zuul[bot]
8d7bd5fb0f Merge pull request #10656 from ansible/bump-ee-version
Update defaults.py

we missed this...need it for container groups to work out of the box in the dev environment

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-07-15 16:05:38 +00:00
softwarefactory-project-zuul[bot]
62a1eddd1a Merge pull request #10597 from AlexSCorey/10547-fix
Fixes missing key values in ad hoc credental step advanced search

SUMMARY
Resolves #10547
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 15:47:50 +00:00
softwarefactory-project-zuul[bot]
6e88e094ee Merge pull request #10580 from AlexSCorey/10499-fix
Removes tabs from survey form

SUMMARY
Resolves #10499
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 15:46:23 +00:00
Marcelo Moreira de Mello
b63313a08b Using awx-manage shell produces a better stdout during bootstrap 2021-07-15 11:43:20 -04:00
Elijah DeLee
b431067aa8 also update control plane ee 2021-07-15 11:30:21 -04:00
softwarefactory-project-zuul[bot]
39522a35c6 Merge pull request #10577 from nixocio/ui_issue_9550
Display error message if schedule does not exist

Display error message if schedule does not exist when redirecting to
details page.

closes: #9550

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 15:29:34 +00:00
Elijah DeLee
718b3bab4a Update defaults.py 2021-07-15 11:27:55 -04:00
softwarefactory-project-zuul[bot]
7d01cc45bc Merge pull request #10525 from nixocio/ui_issue_10497
Update EE lookup title

Upated EE lookup name to be singular. Also, another reference that to EE
that should be singular.
Closes: #10497

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
Reviewed-by: Sarah Akus <sakus@redhat.com>
2021-07-15 15:09:14 +00:00
Marcelo Moreira de Mello
f6a71e770d Incorporates Minikube to devel environment 2021-07-15 10:42:04 -04:00
gabyf
c0e9ffd65a Update container_groups.md 2021-07-15 14:21:48 +02:00
gabyf
c511597c0f Update kubernetes pod doc url 2021-07-15 14:17:28 +02:00
softwarefactory-project-zuul[bot]
0e75193e3d Merge pull request #10614 from keithjgrant/test-cleanup
Test cleanup

SUMMARY

Makes a unit test fail if any errors or warnings are logged (see setupTest.js)
Updates/fixes all tests that were logging errors
Fixes a key cause of test flake caused by Jobs.test.jsx (I have still seen a rogue "Network error" cause a flaky failure once; which I will hopefully take care of in a subsequent PR)
Removes all unnecessary calls to wrapper.unmount() (this also surfaced several instances of tests leaving asynchronous code running after test completion, which are now fixed)

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-14 19:33:32 +00:00
Keith J. Grant
a307421b82 attempt to fix ci/merge test error 2021-07-14 11:53:24 -07:00
softwarefactory-project-zuul[bot]
65ddc8c0bd Merge pull request #10633 from jbradberry/conditional-polymorphic-setnull
Conditional polymorphic setnull

SUMMARY


ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION



ADDITIONAL INFORMATION

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-07-14 18:42:42 +00:00
softwarefactory-project-zuul[bot]
7961bcb2cb Merge pull request #10631 from AlanCoding/inventory_delete
Wait until inventory is fully deleted in silent_delete

The silent_delete method does not appear to be used by the AWX CLI. I believe the only use is from:

  
    
      awx/awxkit/awxkit/api/pages/base.py
    
    
        Lines 185 to 187
      in
      eec4f8d
    
    
    
    

        
          
           def cleanup(self): 
        

        
          
               log.debug('{0.endpoint} cleaning up.'.format(self)) 
        

        
          
               return self._cleanup(self.delete) 
        
    
  


This is used in integration tests to cleanup at the end of a test. Whenever inventory gets deleted, this leads to various conflict scenarios and deadlocks. This tends to play out by:

DELETE request for the inventory object
DELETE request for the organization

within the request-response cycle, this cascade deletes other objects, or takes SET_NULL action



Because the actual inventory deletion happens in a separate task, this means that inventory and organization deletion cascades are happening simultaneously (dependent on timing and resources).
This is low-priority on our list of practical concerns, because the inventory object accurately reports that its deletion is in progress. Clients can workaround if needed - and that's what I'm trying to do here. In an effort to reduce the flakiness and erroneous errors in integration tests, I propose that this will basically serialize the teardown process (for a given test agent), and that will eliminate a large cluster of flaky errors.

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Jeff Bradberry <None>
2021-07-14 16:37:00 +00:00
nixocio
ef4feae9bf Add edit icon to SurveyListItem
Add edit icon to SurveyListItem

closes: https://github.com/ansible/awx/issues/10095
2021-07-14 10:57:26 -04:00
softwarefactory-project-zuul[bot]
df3a8d8718 Merge pull request #10591 from nixocio/ui_issue_2961
Update inventory prompt string for workflows

Update inventory prompt string for workflows
closes: #2961

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-14 14:10:33 +00:00
softwarefactory-project-zuul[bot]
4eca133080 Merge pull request #10581 from AlexSCorey/10544-fix
Prevents submission of jtform if name is > 512 characters

SUMMARY
This addresses #10544 by adding a maxLength validator to the name field on the Job Template form
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-14 13:46:07 +00:00
weidong
b7855a3c74 Fix inaccurate translation 2021-07-14 14:00:47 +08:00
Alan Rominger
397fab793d Avoid waiting for deletion in error cases 2021-07-13 13:49:09 -04:00
Jeff Bradberry
b0c511a7a2 Make non-polymorphic refs that slip through still work with our SET_NULL 2021-07-13 13:41:44 -04:00
Jeff Bradberry
d0d9266dd1 Revert "Null iso IG jobs before deleting (#5122)"
This reverts commit 1831b2591a.
2021-07-13 13:41:36 -04:00
Jeff Bradberry
7d97ad021f Revert "Development of patch for inventory source migration error"
This reverts commit 8772ca2e3a.
2021-07-13 13:40:44 -04:00
softwarefactory-project-zuul[bot]
4e97492ed6 Merge pull request #10619 from wenottingham/dont-think-we-need-this
Delete some old code related to the reencryption migration

We've moved past the point where this code would still be live.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION
current

ADDITIONAL INFORMATION
We could probably squash more of these?

Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-07-13 16:46:33 +00:00
softwarefactory-project-zuul[bot]
45a6d03dcd Merge pull request #10590 from shanemcd/downstream-fixes
Downstream fixes

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-07-13 16:24:59 +00:00
Shane McDonald
b0fe3d7f85 Bump ansible-runner to 2.0.1 2021-07-13 11:47:02 -04:00
Elijah DeLee
b8239c1b84 bump receptor to 1.0.0 GA 2021-07-13 11:47:02 -04:00
mabashian
994175f386 Properly set use_tls initial value to bool (false) 2021-07-13 11:47:02 -04:00
Alan Rominger
8772ca2e3a Development of patch for inventory source migration error 2021-07-13 11:47:01 -04:00
mabashian
3c43ed6d2d Update base docs string 2021-07-13 11:47:01 -04:00
mabashian
667121d325 Change dev brand name to Ansible AWX and remove Ansible string from about 2021-07-13 11:47:01 -04:00
Keith J. Grant
ed02f28cbe mark upload button strings for translation 2021-07-13 11:47:01 -04:00
Christian M. Adams
4ca6c1c6c5 Add more appropriate french translation for changing PROJECT_ROOTS 2021-07-13 11:47:01 -04:00
Christian M. Adams
35a5c4153c Corrected dynamic variables that got translated by accident
- Fixed extra braces & lack of braces
  - Fixed plural/singular notation that got translated by accident
2021-07-13 11:47:01 -04:00
ansible-translation-bot
11e7387055 UI translation strings for release_4.0 branch 2021-07-13 11:47:00 -04:00
Sarabraj Singh
0f51c56980 Merge pull request #10425 from sarabrajsingh/bugfix/preflight-check-postgres-version-4940
introduced a pre-flight check for postgres 12
2021-07-13 11:46:10 -04:00
Alan Rominger
3e6cbd5114 Wait until inventory is fully deleted in silent_delete 2021-07-13 07:50:58 -04:00
softwarefactory-project-zuul[bot]
486d6688e1 Merge pull request #10559 from nixocio/ui_mark_string
Mark string to be translated

Mark string to be translated

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-12 19:04:34 +00:00
softwarefactory-project-zuul[bot]
a08ca15f13 Merge pull request #10543 from nixocio/ui_issue_10553
Update last name for Resource Access List

Update last name for Resource Access List

Closes: #10533

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-12 18:57:23 +00:00
softwarefactory-project-zuul[bot]
13a94dd7ac Merge pull request #10523 from nixocio/ui_fix_settings
Fix Job Settings Page Break on Firefox

Fix Job Settings Page Break on Firefox
Closes: #10332
Firefox:

Chrome:

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-12 18:44:40 +00:00
Alex Corey
8198f045f9 removes unnecessary prop 2021-07-12 14:42:38 -04:00
Alex Corey
6a717a8f3c Adds functionality for expand all in lists that have list items that can be expanded 2021-07-12 14:42:19 -04:00
nixocio
212e924f9b Update EE lookup title
Update EE lookup title to be singular. Also, another reference that to EE
that should be singular.

Closes: https://github.com/ansible/awx/issues/10497
2021-07-12 14:39:30 -04:00
softwarefactory-project-zuul[bot]
45740b5ed0 Merge pull request #10520 from nixocio/ui_issue_6351
Remove custom component

Remove custom component since PF issue is now fixed.
Closes: #6351

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-12 18:32:38 +00:00
softwarefactory-project-zuul[bot]
6b865da025 Merge pull request #10512 from nixocio/ui_issue_5236
Add job status on expand row for hosts

Add job status on expand row for hosts

See: #5236

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-12 18:24:33 +00:00
softwarefactory-project-zuul[bot]
c1913b0d44 Merge pull request #10504 from nixocio/ui_issue_7524
Encode/decode question variables

Encode/decode question variables
See: #7524

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-12 17:57:50 +00:00
softwarefactory-project-zuul[bot]
e65f11c95e Merge pull request #10502 from mabashian/7668-disabled-node
Fix disabled node cover dimensions

SUMMARY
Closes #7668

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-07-12 17:38:41 +00:00
Keith J. Grant
09751efe95 fail tests if warning is logged 2021-07-09 13:19:15 -07:00
softwarefactory-project-zuul[bot]
f05827df69 Merge pull request #10617 from AlanCoding/collection_flake8
Run flake8 on the AWX collection in CI

We kind of assumed that linter issues like this would be picked up by ansible-test sanity, but they're not.
This seems to provide meaningful value. Unused variables are reflecting a lot of history of changes, and it's good to move on to leave those in the past.

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-07-09 20:17:34 +00:00
nixocio
70ec4b915c Update login redirect to a be text input field
Update login redirect to a be text input field. Allowing values like
`/sso/login/saml/?idp=SSO`

closes: https://github.com/ansible/awx/issues/10612
2021-07-09 16:08:13 -04:00
nixocio
5964ff6c93 Fix close button alert modal
Fix close button alert modal

closes: https://github.com/ansible/awx/issues/10620
2021-07-09 15:44:56 -04:00
Keith J. Grant
0185269d97 remove 4th batch of unmount() calls 2021-07-09 11:50:19 -07:00
Keith J. Grant
81c16f4fa7 remove 3rd batch of unmount calls 2021-07-09 11:04:18 -07:00
Alan Rominger
122f282e5d Add back in fixture 2021-07-09 13:32:31 -04:00
Alan Rominger
9b319cf2bf Fix pep8 failure 2021-07-09 13:08:57 -04:00
Alan Rominger
cb8441ed3d Remove added assertion that was wrong 2021-07-09 12:30:06 -04:00
Alan Rominger
08cb497689 Run flake8 on the AWX collection in CI 2021-07-09 12:01:28 -04:00
softwarefactory-project-zuul[bot]
68e309ee32 Merge pull request #10607 from AlanCoding/unused_exception
Remove unused exception about custom venvs

random cleanup

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-07-09 15:43:00 +00:00
Bill Nottingham
84b32a91f0 Delete some old code related to reencryption
We've moved past the point where this code would still be live.
2021-07-08 23:20:33 -04:00
Keith J. Grant
bf7663a0a1 remove 2nd batch of unecessary unmount calls 2021-07-08 17:06:15 -07:00
Keith J. Grant
86fcfdf69a remove 1st batch of unnecessary unmount calls 2021-07-08 16:51:46 -07:00
Keith J. Grant
58d64045a1 fix About test network call 2021-07-08 15:52:21 -07:00
Keith J. Grant
0e12c7deb4 fix flakey unit tests I hope 2021-07-08 14:33:38 -07:00
Keith J. Grant
78d6e21256 fix final logged errors in tests 2021-07-08 14:33:38 -07:00
Keith J. Grant
226ffafbd6 fix test errors (Sort, CredentialEdit, InventoryHost, JobTemplateEdit, etc) 2021-07-08 14:33:38 -07:00
Keith J. Grant
1b5fa9c799 fix errors logged in tests (scheduls/organization) 2021-07-08 14:33:38 -07:00
Keith J. Grant
ad2f042f97 fix tests with errors 2021-07-08 14:33:38 -07:00
Keith J. Grant
4b41bbbf34 fail tests if anything logs an error 2021-07-08 14:33:37 -07:00
nixocio
fb64df21c5 Disable remove button if row is being dragged
Disable remove button if row is being dragged.
Also, disable drag button there is just one item selected.

closes: https://github.com/ansible/awx/issues/10548
2021-07-08 15:13:29 -04:00
softwarefactory-project-zuul[bot]
adb6661015 Merge pull request #10589 from AlanCoding/null_traceback
No result_traceback is blank, not null

I kept staring at a failure where:

cannot create resource

was expected in result_traceback, but it was blank. The job had "error" status, sure enough.
Then I re-created, sure enough, the job was right there - error status, no explanation, no traceback, no indication of what happened. We did have logs though (which I still can't fully disambiguate).
After that initial confusion, I realized this is a server-side bug. The test is happy with what happens after this change.
I can re-organize this diff if needed.

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-07-07 19:41:27 +00:00
Alan Rominger
17f9b57028 Remove unused exception about custom venvs 2021-07-07 11:38:37 -04:00
Alan Rominger
e96080a512 No result_traceback is blank, not null 2021-07-07 11:37:30 -04:00
nixocio
9295496949 Display full keys advanced search smart inventory
Display full keys advanced search smart inventory

closes: https://github.com/ansible/awx/issues/10595
2021-07-07 11:33:20 -04:00
tpage
62fc62a3c5 Default source_project for inventory source to organization
Signed-off-by: tpage <tpage@redhat.com>
2021-07-07 15:31:32 +01:00
nixocio
267f0a7bbd Update RBAC sidebar
Update RBAC sidebar. Do the following:

* Expose read-only applications to normal users in the UI
* Expose read-only credential types to normal users in the UI

closes:https://github.com/ansible/awx/issues/10432
closes:https://github.com/ansible/awx/issues/10433
2021-07-07 10:18:45 -04:00
nixocio
6d9996cd0e Update inventory prompt string for workflows
Update inventory prompt string for workflows

closes: https://github.com/ansible/awx/issues/2961
2021-07-06 17:16:24 -04:00
Alex Corey
0a0c635de8 fixes missing key values in ad hoc credental step advanced search 2021-07-06 16:34:47 -04:00
Alex Corey
869b649b66 prevents submission of jtform if name is > 512 characters 2021-07-02 14:17:51 -04:00
Alex Corey
b41e70f9aa removes tabs from survey form 2021-07-02 09:40:22 -04:00
Bill Nottingham
a98ae2a87d Point REST API favicon at the one the UI uses 2021-07-01 16:10:33 -04:00
nixocio
f422677145 Display error message if schedule does not exist
Display error message if schedule does not exist when redirecting to
details page.

See: https://github.com/ansible/awx/issues/9550
2021-07-01 15:15:22 -04:00
softwarefactory-project-zuul[bot]
bc8e19b51d Merge pull request #10575 from AlexSCorey/fixesFailingUnitTest
Fixes failing test

SUMMARY
Fixes a failing unit test

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
2021-07-01 17:16:38 +00:00
softwarefactory-project-zuul[bot]
64631fca56 Merge pull request #10574 from ansible/jakemcdermott-patch-bug-template-2
Remove bug template title field

Leaving it blank disables the template.

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-07-01 16:22:12 +00:00
Alex Corey
49c84e6ca9 fixes failing test 2021-07-01 11:56:32 -04:00
Jake McDermott
c0f587a2bf Remove title field from bug template 2021-07-01 11:44:26 -04:00
softwarefactory-project-zuul[bot]
28147b71c5 Merge pull request #10567 from ansible/jakemcdermott-patch-bug-template
Remove default text from bug title

SUMMARY
We use labels for these, so the extra text isn't needed.
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
2021-07-01 14:19:38 +00:00
softwarefactory-project-zuul[bot]
be93178e65 Merge pull request #10564 from sarabrajsingh/bump-django-to-2.2.20
bumped django version to 2.2.20 in devel

SUMMARY


Bumped Django version from 2.2.16 -> 2.2.20 for the devel environment. All builds, tests and tests consuming the AWX_USE_FIPS flag passed in Jenkins.
AWX Issue - ansible/tower#4930
ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.2.2

Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-07-01 14:11:15 +00:00
Jake McDermott
147e50730d Remove default text from bug title 2021-07-01 09:01:45 -04:00
softwarefactory-project-zuul[bot]
f88b3806f2 Merge pull request #10508 from jakemcdermott/bug-report-form
Add bug report form for github issues

SUMMARY

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-07-01 12:39:57 +00:00
daniele strollo
24a8653fab Update webhook_backend.py
At the request via webhook just uses default pre configured headers (with Agent/ContentType) by ignoring at all customer provided headers (self.headers).
Thus the OAuth authentication via Bearer cannot be implemented since custom headers are not sent to service so receiving Unauthorized response.

Solution is merging the default headers with custom ones (custom headers will override default ones in case of key clash).
2021-07-01 12:08:14 +02:00
Hideki Saito
70f9d6f015 Fix to handle parameters with Boolean values correctly
* Addresses the issue #10057

Signed-off-by: Hideki Saito <saito@fgrep.org>
2021-07-01 13:39:51 +09:00
Sarabraj Singh
46cd62f3f0 bumped django version to 2.2.20 in devel 2021-06-30 17:10:40 -04:00
nixocio
6f6f601ca8 Fix Job Settings Page Break on Firefox
Fix Job Settings Page Break on Firefox

Closes: https://github.com/ansible/awx/issues/10332
2021-06-30 16:11:58 -04:00
softwarefactory-project-zuul[bot]
9ea6696bf9 Merge pull request #10561 from fosterseth/fix_collection_sanity_pylint
Fix pylint 2.9 errors in awx collection

SUMMARY

fixes errors like these
ERROR: plugins/modules/workflow_launch.py:131:4: consider-using-dict-items: Consider iterating with .items()

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.2.2

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-06-30 20:08:57 +00:00
Seth Foster
a9013c43fa fix pylint 2.9 errors in awx collection 2021-06-30 14:28:35 -04:00
nixocio
48dc1dfa17 Mark string to be translated
Mark string to be translated
2021-06-30 11:25:29 -04:00
softwarefactory-project-zuul[bot]
a58d571858 Merge pull request #10422 from AlanCoding/quay_default
Make quay.io the registry URL default

SUMMARY
It's unclear what format the registry "Authentication URL" should be.

It's too late to change the strings because of translations, ping @rooftopcellist, but this change would clarify the format without adding wording.
ISSUE TYPE

Feature Pull Request
Docs Pull Request

COMPONENT NAME

API

ADDITIONAL INFORMATION
Seems to behave pretty good in the UI.

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-06-29 18:06:39 +00:00
Alan Rominger
b329d9cbf4 Make quay.io the registry URL default 2021-06-29 13:26:51 -04:00
nixocio
5c0c788d10 Update last name for Resource Access List
Update last name for Resource Access List

Closes: https://github.com/ansible/awx/issues/10533
2021-06-29 13:14:14 -04:00
softwarefactory-project-zuul[bot]
772e9f0d6b Merge pull request #10430 from AlanCoding/awxkit_tox
Run flake8 on awxkit

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-06-29 16:09:09 +00:00
Alan Rominger
f0cd6b2457 Run flake8 on awxkit 2021-06-29 11:32:59 -04:00
softwarefactory-project-zuul[bot]
9cd5566869 Merge pull request #10538 from AlanCoding/collection_pep
Fix ansible-test pep8 bug and add notable release

Fixes
Error Message
The test `ansible-test sanity --test pep8` failed with 1 error:
Stacktrace
test/awx/test_project.py:28:1: E302: expected 2 blank lines, found 1

And add a notable release to the https://galaxy.ansible.com/awx/awx page

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Seth Foster <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-06-29 15:13:14 +00:00
softwarefactory-project-zuul[bot]
747231d350 Merge pull request #10537 from chrismeyersfsu/fix-fork
reload settings on fork or new thread

Reloading settings will re-import cache. Django cache is thread aware,
but keeping an old reference to the cache avoids the awareness.

The performance team that was hitting this every time before. With this change they are unable to recreated.

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-29 12:53:30 +00:00
Alan Rominger
b8f5dda6da Fix ansible-test pep8 bug and add notable release 2021-06-28 22:37:10 -04:00
nixocio
21de95862e Add job status on expand row for hosts
Add job status on expand row for hosts.

Also, update HostDetail to remove the addition of `type=job` since it is
already present on the API hosts endpoint.

See: https://github.com/ansible/awx/issues/5236
2021-06-28 16:01:59 -04:00
Chris Meyers
84116349ab reload settings on fork or new thread
* Reloading settings will re-import cache. Django cache is thread aware,
but keeping an old reference to the cache avoids the awareness.
2021-06-28 13:53:11 -04:00
softwarefactory-project-zuul[bot]
c09cad3e6d Merge pull request #10522 from AlanCoding/close_file
Close file before returning

Resolves
/home/alancoding/repos/tower-qa/tests/lib/plugins/pytest_restqa/plugin.py:122: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/alancoding/repos/tower-qa/scripts/resource_loading/data_latest_loading.yml' mode='r' encoding='UTF-8'>
  qe_config.resources = PseudoNamespace(yaml_file.load_file(config.option.resource_file))

We have this same pattern earlier in the file.

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-28 17:52:37 +00:00
softwarefactory-project-zuul[bot]
ce20c8e77b Merge pull request #10536 from shanemcd/bump-19.2.2
Bump versions for AWX 19.2.2

Reviewed-by: Seth Foster <None>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
2021-06-28 17:15:41 +00:00
Shane McDonald
73bb475503 Bump version + changelog 2021-06-28 12:25:44 -04:00
Shane McDonald
6df5c0331a Use Ansible Runner 2.0.0 release 2021-06-28 12:25:19 -04:00
softwarefactory-project-zuul[bot]
dc7bd73431 Merge pull request #10532 from shanemcd/downstream-fixes
Downstream fixes

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-06-28 15:31:31 +00:00
softwarefactory-project-zuul[bot]
017bb63023 Merge pull request #10528 from fosterseth/fix_collection_copy_from_error
Fix awx collections copy_item warning keyword error

SUMMARY


warn() does not take keyword 'msg'
add testing around the copy_from parameter for project creation


ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.2.1

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-06-28 15:16:51 +00:00
softwarefactory-project-zuul[bot]
5d4fc9613d Merge pull request #10524 from beeankha/ee_test_playbook
Add Integration Test Playbook for execution_environment Collections Module

SUMMARY

Adressing Issue #10454

Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-06-28 15:06:20 +00:00
Alan Rominger
f126a6343b Fix bug setting execution_node to null (not blank) (#5169) 2021-06-28 10:51:06 -04:00
Jeff Bradberry
40f5ff362c Bump ansible-runner to 2.0.0.0rc3 2021-06-28 10:51:06 -04:00
Shane McDonald
1ed170fff0 Dont overwrite result_traceback if it was already set. 2021-06-28 10:51:06 -04:00
Jeff Bradberry
d5deedc822 Make sure that validation of managed EEs makes sense
- missing fields in a patch request should be ignored
- compare the organization pks, if present
2021-06-28 10:51:05 -04:00
Alex Corey
9992bf03b0 resolves crashing details view 2021-06-28 10:51:05 -04:00
Alex Corey
04839a037a prevent delete of instance groups list item controlplan and default 2021-06-28 10:51:05 -04:00
Marliana Lara
f541fe9904 Add comment to explain why we resolve the promises sequentially 2021-06-28 10:51:05 -04:00
Marliana Lara
162ea776fd Add order selected list to instance group lookups 2021-06-28 10:51:05 -04:00
Alan Rominger
f1273d5810 Show tracebacks from dependency failures (#5154) 2021-06-28 10:51:05 -04:00
Alan Rominger
390e1f9a0a Fix obvious logical bug with project folder pre-creation (#5155) 2021-06-28 10:51:04 -04:00
Keith J. Grant
8dc788dbcb clean up responsive behavior of advanced search 2021-06-28 10:51:04 -04:00
Shane McDonald
397908543d Disable activity stream for updates in status handler 2021-06-28 10:51:04 -04:00
Jeff Bradberry
3be29d54ad Bump ansible-runner to 2.0.0.0rc2 and receptorctl to 1.0.0.0rc1 2021-06-28 10:51:04 -04:00
Shane McDonald
03fb12d4c2 Force system jobs to always run on control plane 2021-06-28 10:51:04 -04:00
Tiago
69388edaf9 fix lint 2021-06-28 10:51:04 -04:00
Marliana Lara
1e750cfed9 Add datalist test selectors 2021-06-28 10:51:04 -04:00
Shane McDonald
1ba51c0357 Fix unit tests
Signed-off-by: Shane McDonald <me@shanemcd.com>
2021-06-28 10:51:03 -04:00
Shane McDonald
2fa27000ab Prevent inventory updates started via projects from running on controlplane 2021-06-28 10:51:03 -04:00
nixocio
057bd6e625 Remove plus button job output
Remove plus button job output since this feature was not implemented yet.
And it will be evaluated for a future release.

See: https://github.com/ansible/awx/issues/6613
2021-06-28 10:51:03 -04:00
Alan Rominger
d0b7d970c4 Create partition for 2 job types that bypass TM (#5138)
* Create partition for 2 job types that bypass TM

* Mock create_partition in unit tests
2021-06-28 10:51:03 -04:00
Christian M. Adams
5ffffebe34 Attempt to check/wait for migrations 30x (~12 min)
- the task container needs to wait longer for migrations to complete for fresh installs before starting services
  - otherwise, services start prematurely and clutter the logs with errors because migrations are mid-flight
2021-06-28 10:51:03 -04:00
Marliana Lara
b98544264b Rename draggable prop and fix typos 2021-06-28 10:51:03 -04:00
Shane McDonald
0d7ef709bf Prevent jobs from trying to run on controlplane in k8s 2021-06-28 10:51:02 -04:00
Jake McDermott
1211faf8df Only derive row count from max counter when job is running. 2021-06-28 10:51:02 -04:00
Jake McDermott
dc327ceaeb Autofix problematic dependencies 2021-06-28 10:51:02 -04:00
Shane McDonald
0f25720634 Update minikube docs 2021-06-28 10:51:02 -04:00
Alex Corey
28a62ea774 properly validates credential password fields 2021-06-28 10:51:02 -04:00
Kia Lam
d3c5397721 Add link to project update job details on job details page. 2021-06-28 10:51:02 -04:00
nixocio
f06490a5f8 Fix disparity of dev server and prod build
Fix disparity of dev server and prod build

See: https://github.com/ansible/awx/issues/9997
2021-06-28 10:51:02 -04:00
Marliana Lara
9fddf7c5cf Add draggable selected list to galaxy credential lookup 2021-06-28 10:51:01 -04:00
nixocio
673f722b71 Update inventory list filters
Update inventory list filters

See: https://github.com/ansible/awx/issues/7675
2021-06-28 10:51:01 -04:00
Jake McDermott
4de477686e Update help text for hashivault credential plugin 2021-06-28 10:51:01 -04:00
Jake McDermott
4cc734ce6e Enable instance group creation for non-k8s deployments only 2021-06-28 10:51:01 -04:00
Jake McDermott
f08bf4766d Add read-only settings for IS_K8S 2021-06-28 10:51:01 -04:00
nixocio
77b0b9a4e3 Disable edit fields for managed EE, except pull
Disable edit fields for managed EE, except pull options.

See: https://github.com/ansible/tower/issues/5016
2021-06-28 10:51:01 -04:00
Keith J. Grant
487d78cc72 Don't reload template when navigating to edit form 2021-06-28 10:51:00 -04:00
mabashian
f0a6567cd8 Hide host_filter search key when hiding smart inventories 2021-06-28 10:51:00 -04:00
mabashian
8246d4a298 Remove smart inventories from host form inv lookup 2021-06-28 10:51:00 -04:00
Bill Nottingham
cd83030668 Rename sosreport plugin 2021-06-28 10:51:00 -04:00
mabashian
88d492371b Link users to workflow approval details from workflow node 2021-06-28 10:51:00 -04:00
Keith J. Grant
9316ace3f6 delete commented line 2021-06-28 10:51:00 -04:00
Keith J. Grant
55b5060944 remove duplicate JT credential fetch 2021-06-28 10:51:00 -04:00
Keith J. Grant
0be68fe84f reduce duplicate network request in JT form 2021-06-28 10:50:59 -04:00
Seth Foster
5da02690c1 Fix copy_from warning message
- warn() does not take keyword 'msg'
- add testing around the copy_from parameter for project creation
2021-06-26 01:28:02 -04:00
beeankha
c417c5e219 Add test playbook for EE collections module 2021-06-25 18:01:26 -04:00
Alan Rominger
02cccbe608 Close file before returning 2021-06-25 14:47:44 -04:00
nixocio
18e63ae6da Remove custom component
Remove custom component since PF issue is now fixed.

See: https://github.com/ansible/awx/issues/6351
2021-06-25 13:47:40 -04:00
Jake McDermott
bb78a0b4ec Add bug report form 2021-06-25 08:41:54 -04:00
Seth Foster
7bc7c9c4bd haproxy specify user 2021-06-24 13:54:24 -04:00
nixocio
804bd840f1 Encode/decode question variables
Encode/decode question variables

See: https://github.com/ansible/awx/issues/7524
2021-06-23 16:08:33 -04:00
mabashian
e4a52703f9 Fix disabled node cover dimensions 2021-06-23 12:49:40 -04:00
softwarefactory-project-zuul[bot]
2afa406b7f Merge pull request #10490 from shanemcd/downstream-fixes
Downstream fixes

Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-06-22 17:24:12 +00:00
Alan Rominger
1831b2591a Null iso IG jobs before deleting (#5122)
This is a workaround for polymorphic SET_NULL bug
2021-06-22 10:57:16 -04:00
Alex Corey
3cdd35f2cf default credentials are selected on POL load 2021-06-22 10:49:41 -04:00
Alan Rominger
1422bb2043 Fix tower upgrade (#5114)
* Hack to avoid creating both tower and controller CredentialType

* Remove line used for testing
2021-06-22 10:49:41 -04:00
mabashian
695787be4e Fix broken test 2021-06-22 10:49:40 -04:00
mabashian
e1b8f30d8f Extract strings 2021-06-22 10:49:40 -04:00
mabashian
293924168f Make expanded view ee detail warning match unexpanded 2021-06-22 10:49:40 -04:00
mabashian
7c72be7025 Adds a link to the ee migration docs in a popover when ee is missing 2021-06-22 10:49:40 -04:00
Alan Rominger
4a85983eb7 Symlink modules for 2.9 compat (#5103)
* Symlink modules for 2.9 compat

* Avoid symlinks in completeness tests
2021-06-22 10:49:40 -04:00
Seth Foster
82c510e51e remove tower_token alias (#5110) 2021-06-22 10:49:39 -04:00
Alan Rominger
0508a9267c Minor patch to right wording for 400 error (#5109) 2021-06-22 10:49:39 -04:00
Elijah DeLee
11e416995a accept old env vars
this broke our build of the cli docs
2021-06-22 10:49:39 -04:00
Seth Foster
bb3fc3caa8 controller_token, alias tower_token 2021-06-22 10:49:39 -04:00
nixocio
ab40006535 Link to instance group from org details when present
Link to instance group from org details when present

See: https://github.com/ansible/awx/issues/4953
2021-06-22 10:49:39 -04:00
Alan Rominger
53fe08af61 Update collection inventory_source options 2021-06-22 10:49:38 -04:00
Alan Rominger
a8083296e6 Make safe variable duplications for rename (#5093)
* Make safe variable duplications to controller

* Back out some changes to be smarter

* Update test to new vars
2021-06-22 10:49:38 -04:00
nixocio
95e796a88a Remove URL params when closing wizard
Remove URL params when closing wizard

See: https://github.com/ansible/awx/issues/10240
2021-06-22 10:49:38 -04:00
Bill Nottingham
0c0028541d Update inventory/cred names in UI 2021-06-22 10:49:38 -04:00
Amol Gautam
32cc7e976a Refactored awx/settings/defaults.py 2021-06-22 10:49:38 -04:00
Alex Corey
3495f75fa0 adds verbosity to payload 2021-06-22 10:49:37 -04:00
Jeff Bradberry
493e6cc527 Make the isolated removal migration non-atomic
We are apparently running into problems with pending triggers under
some circumstances.
2021-06-22 10:49:37 -04:00
Amol Gautam
7510b243bb Fixed UI linting 2021-06-22 10:49:37 -04:00
Christian M. Adams
e06ebb1f11 Fix credential test for default cred test 2021-06-22 10:49:37 -04:00
Alan Rominger
cc616206b3 Pass current apps to CredentialType setup method 2021-06-22 10:49:37 -04:00
Christian M. Adams
06b04007a0 Rename managed_by_tower to managed 2021-06-22 10:49:36 -04:00
Alan Rominger
6db4732bf3 Rename the TOWER_ settings 2021-06-22 10:49:36 -04:00
Alan Rominger
ead7907173 Update another test for tower to controller rename 2021-06-22 10:49:36 -04:00
Amol Gautam
68f0ae612e Fixed Migration 2021-06-22 10:49:36 -04:00
Alan Rominger
8c1bc97c2f Fix up unit tests after tower to controller rename 2021-06-22 10:49:36 -04:00
Amol Gautam
b64c2d6861 Removed references to tower in InventorySource and Credentials
--- Removed reference to tower in  InventorySource and InventoryUpdate model
--- Added a migration for above change
--- Added new CONTROLLER* variables in awx/main/models/credentials/__init__.py
--- Migrated awxkit to new CONTROLLER* variables
--- Updated the tests to use new CONTROLLER* variables
--- Fix some issues with upgrade path, rename more cases
2021-06-22 10:49:35 -04:00
Yanis Guenane
645f7f6dac Expand sos report plugin compatibility
sos 4 now uses sos.report.plugin when sos 3 was using sos.plugins. This
change allows compatibility with both.
2021-06-22 10:49:35 -04:00
Chris Meyers
0a5e9da287 replace default oci runtime runc with crun
* Our tests could consistently get awx jobs into a deadlocked state
whenever the parallelism was high. Even podman ps would hang when the
system was in this state. We don't know exactly where in runc the bug is
but the deadlocks stopped happening when we changed the OCI runtime
environment to crun.
2021-06-22 10:49:35 -04:00
nixocio
a60abe38a8 Allow space on host filter for smart inventory
Allow space on host filter for smart inventory

Fix: https://github.com/ansible/tower/issues/4874
2021-06-22 10:49:35 -04:00
mabashian
51abbb9464 Fixes bug where UI wasn't handling an array of survey answer choices 2021-06-22 10:49:34 -04:00
Alex Corey
560b4ebf71 offers an empty values as a choice on single select survey questions that are not required.
Also changes the single select component to a <Select variant='single'> component
following patternfly design guidelines
2021-06-22 10:49:34 -04:00
Alan Rominger
5a7a1b8f20 Remove inventory_as_dict which would mess with downstream templating (#5085) 2021-06-22 10:49:34 -04:00
nixocio
f1ca272394 Remove test button from logging settings screen
Remove test button from logging settings screen

Closes: https://github.com/ansible/awx/issues/9409
2021-06-22 10:49:34 -04:00
mabashian
8697387d13 Fix failing test 2021-06-22 10:49:34 -04:00
Bill Nottingham
1e68519c99 Remove insights_credential from inventory 2021-06-22 10:49:33 -04:00
mabashian
0947d30682 Fixes visual bug where revert button showed up above input 2021-06-22 10:49:33 -04:00
mabashian
c993c8b3b9 Fixes bug where email notification ssl and tls were a dropdown instead of checkboxes 2021-06-22 10:49:33 -04:00
Alex Corey
2ce09d0dcc adds job id to job name in job list delete modal 2021-06-22 10:49:33 -04:00
Keith J. Grant
25bca532c2 delete commented code 2021-06-22 10:49:33 -04:00
Keith J. Grant
fb897891c9 delete PaginatedDataList, move toolbar buttons to PaginatedTable dir 2021-06-22 10:49:32 -04:00
Keith J. Grant
421d8f215c Convert lists to tables
- ProjectJobTemplatesList
- UserTokenList
2021-06-22 10:49:32 -04:00
Keith J. Grant
3db92ca668 Convert more lists to tables
- Smart Inventory Hosts List
- Organization EE List
- Organization Teams list
2021-06-22 10:49:32 -04:00
Keith J. Grant
c6fa85036e convert ee template list, host group list to tables 2021-06-22 10:49:32 -04:00
Keith J. Grant
0b4a296181 convert ApplicationTokenList, HostFilterLookup to tables 2021-06-22 10:49:32 -04:00
nixocio
1665acd58a Allow edit fields to custom credential types
The logic to disable certain fields is just valid for `encrypted`
fields. Since the multiline field - no secret, does not have a button to `replace`
the content to null  - it was always set to disabled.

Fix: https://github.com/ansible/awx/issues/10079
2021-06-22 10:49:31 -04:00
Seth Foster
75a27c38c2 Add a periodic task to reap unreleased receptor work units
- Add work_unit_id field to UnifiedJob
2021-06-22 10:49:31 -04:00
nixocio
7b9bcd0481 Remove EE from WorkflowJobTemplate screens
Remove EE from WorkflowJobTemplate screens

Related ansible/awx#10443
Related ansible/awx#10399
2021-06-22 10:49:31 -04:00
Alan Rominger
15444bef70 Show inventory source POST in OPTIONS for inventory admins (#5076) 2021-06-22 10:49:31 -04:00
mabashian
f4bc69d5f7 Fixes bug where cred password fiield was displaying ASK 2021-06-22 10:49:31 -04:00
mabashian
29d57ea403 Fixes bug where toolbar was hidden on user token list 2021-06-22 10:49:30 -04:00
Elijah DeLee
ea5bd45d03 log perf of requests at debug level 2021-06-22 10:31:15 -04:00
softwarefactory-project-zuul[bot]
165a529ae0 Merge pull request #10480 from mscherer/fix_freenode
Remove more freenode from docs

SUMMARY
Removing more mention of Freenode, since we moved to Libera.
ISSUE TYPE

Docs Pull Request

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-21 17:24:55 +00:00
Chris Meyers
5975082954 only get active long running queries
Getting all connections that have been alive > 5 minutes is noisy. Instead, we want only queries that are active and have been alive for more than 5 minutes. This will filter out any idle connections.
2021-06-21 09:57:29 -04:00
Brigzzy
c1409f3dc7 Reorder docker compose up options 2021-06-20 12:29:43 -07:00
Michael Scherer
1c31a56395 Remove more freenode from docs 2021-06-19 11:32:02 +02:00
softwarefactory-project-zuul[bot]
0c120782d4 Merge pull request #10463 from mayasd/patch-1
Update Dockerfile.j2

SUMMARY
Jobs unable to start because podman trying to use systemd cgroup manager. See error below :
WARN[0000] Failed to add conmon to systemd sandbox cgroup: dial unix /run/systemd/private: connect: no such file or directory
Error: OCI runtime error: systemd cgroup flag passed, but systemd support for managing cgroups is not available

related #10099


ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION
awx: 19.0.0

ADDITIONAL INFORMATION

According to this PR containers/podman#7009, podman switch references from libpod.conf to containers.conf.
According to containers.conf man (https://github.com/containers/common/blob/main/docs/containers.conf.5.md), configuration file is a TOML file but engine section declaration is missing.

thanks to @Siorde too 👍

Reviewed-by: Chris Meyers <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-17 21:19:30 +00:00
Shane McDonald
6ba053d4ee Update release date in changelog for 19.2.1 2021-06-17 14:39:39 -04:00
softwarefactory-project-zuul[bot]
3ecd26b5d8 Merge pull request #10468 from wenottingham/platforms
List platforms that developers regularly run the dev env on

SUMMARY
Other platforms are generally untested.
ISSUE TYPE

Docs Pull Request

Reviewed-by: Julen Landa Alustiza <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-06-17 17:24:42 +00:00
Bill Nottingham
bdf753ce23 Update tools/docker-compose/README.md
Co-authored-by: Shane McDonald <me@shanemcd.com>
2021-06-17 11:56:29 -04:00
Bill Nottingham
0f54516b38 List platforms that developers regularly run the dev env 2021-06-17 11:50:36 -04:00
softwarefactory-project-zuul[bot]
a56e32b59b Merge pull request #10464 from AlanCoding/ee_docs
Update and expand docs/ folder for EEs

This has some new content about EE precedence, which I don't think we've documented anywhere else, thinking of @tvo318 here, content was developed by @jbradberry
(I think the numbers 2 and 3 in the global job default EE may still be subject to revision, just a warning)
@shanemcd #10324 is incorporated into this
This mentions @rebeccahhh's venv migration stuff, but I'm trying to write the absolute minimum possible while still mentioning migration.

Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Jeff Bradberry <None>
2021-06-17 13:07:07 +00:00
softwarefactory-project-zuul[bot]
026d5e6bdb Merge pull request #10465 from shanemcd/downstream-fixes
Downstream fixes

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-06-16 21:44:52 +00:00
Shane McDonald
03e73156ea Allow inventory updates to run in container groups 2021-06-16 17:11:43 -04:00
Alan Rominger
0b6208047c Correct the function of the -q option for migration helper commands 2021-06-16 16:26:38 -04:00
Alan Rominger
f14129de9b Further copy editing of EE docs 2021-06-16 16:18:21 -04:00
Jeff Bradberry
6c1ba03235 Remove EE from the workflow job template collection module 2021-06-16 15:41:09 -04:00
Jeff Bradberry
85bb4e976f Execution environments are meaningless for workflows
so, remove them from the API endpoints for workflows.  Also, tear out
the WFJT.execution_environment step in the resolver.  If we want that
to be a thing, it ought to be a .default_environment instead.
2021-06-16 15:41:09 -04:00
Shane McDonald
d1d3711fee Add yamllint to dev dependencies 2021-06-16 15:41:09 -04:00
Shane McDonald
d671366cad Add flake8 back to requirements_dev.txt 2021-06-16 15:41:08 -04:00
Shane McDonald
f9043864ce Create make target for api linter tasks 2021-06-16 15:41:08 -04:00
nixocio
a1ded8db3f Linkify credentials on JobTemplate and Organization Details
Linkify credentials on JobTemplate and Organization Details.

See: https://github.com/ansible/awx/issues/385
2021-06-16 15:41:08 -04:00
Alex Corey
cf6b6d831f adds visualizer button to output toolbar 2021-06-16 15:41:08 -04:00
Alex Corey
736cd4df36 refetches smart inventory after edit save 2021-06-16 15:41:08 -04:00
nixocio
8d99f79de4 Hide Edit button for non system admin
Hide Edit button for non system admin

See: https://github.com/ansible/tower/issues/5032
2021-06-16 15:41:08 -04:00
Alex Corey
1c70773cc2 shows user type fields only for sys admins 2021-06-16 15:41:07 -04:00
mabashian
c76a7d638f Removes tooltip from user in page toolbar 2021-06-16 15:41:07 -04:00
mabashian
7a455d08d7 Change Options to Enabled Options in various details views 2021-06-16 15:41:07 -04:00
nixocio
2c5bcf268d Update UI to reflect new API EE changes
* Show resolved EE for job template details.
* Do not show EE if a certain job status still running, since EE on the
API is not set yet. It was causing the bug to temporarily show `missing
resource`.
* Fix discrepancy about job types for list and details.

See: https://github.com/ansible/awx/issues/10327
Also: https://github.com/ansible/awx/issues/10399
2021-06-16 15:41:07 -04:00
mabashian
32cee852f0 Swap underscore for hyphen 2021-06-16 15:41:07 -04:00
mabashian
8c1cd9ee71 Fixes bug where source list page would crash if first sync was running 2021-06-16 15:41:07 -04:00
Alex Corey
da951714d1 resolves iinfinite loop 2021-06-16 15:41:07 -04:00
Alan Rominger
2309feb6bd Make ExecutionEnvironment awxkit class able to handle null values in payload 2021-06-16 15:41:06 -04:00
nixocio
4d2c64ebb4 Add RBAC rules to the side-nav
Add RBAC rules to the side-nav

System Admin
System Auditor
Org Admin
Notification Admin
Execution Environment Admin
Normal User

Those are the user profiles taken in consideration when displaying the
side-nav.

See: https://github.com/ansible/awx/issues/4426
2021-06-16 15:37:25 -04:00
nixocio
04f6fe6cd2 Disable inventory field when editing host
Disable inventory field when editing host

See: https://github.com/ansible/awx/issues/10229
2021-06-16 15:37:25 -04:00
Bill Nottingham
372baa12a5 Update runner version. 2021-06-16 15:37:25 -04:00
mabashian
21e6e5701e Addresses bug where advanced search by groups wasn't working on host list 2021-06-16 15:37:25 -04:00
Alex Corey
276a18b339 fixes next button and internationalizes nav buttons on wizard 2021-06-16 15:37:25 -04:00
mabashian
666acb9756 Extract strings 2021-06-16 15:37:25 -04:00
mabashian
0eff3e6bac Pull brand name from default.strings.json 2021-06-16 15:37:24 -04:00
mabashian
9af16c18c9 Dont reconnect job output socket if it closes cleanly 2021-06-16 15:37:24 -04:00
Elijah DeLee
f0bcfc6024 add EE information to assert_status
This should help debugging to know what the EE was when an unexpected
status was found.
2021-06-16 15:37:24 -04:00
Elijah DeLee
d946103961 log perf of requests at debug level 2021-06-16 15:37:24 -04:00
Alan Rominger
52d6f36b7c Incorporate review comments about EE docs 2021-06-16 14:24:48 -04:00
softwarefactory-project-zuul[bot]
b10eb6f4c2 Merge pull request #10382 from AlanCoding/downstream_waterslide
Handle inventory types where Automation Hub collection names differ

Some collections will be moving, which is #10323
Yet, other collections will change name, which this is intended to address.

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Sarabraj Singh <singh.sarabraj@gmail.com>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-06-16 18:15:08 +00:00
Alan Rominger
21aa1fc11f Handle inventory types where Automation Hub collection names differ
Move imports added by Bill to be in-line, because utils should not import models at top

Remove more get_licenser inline imports
2021-06-16 13:39:52 -04:00
softwarefactory-project-zuul[bot]
d4a3143b0e Merge pull request #10456 from jbradberry/danger-danger-will-robinson
Remove isolated instances and groups

SUMMARY
before we remove the fields that allow us to correctly identify them.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Chris Meyers <None>
2021-06-16 15:30:48 +00:00
Alan Rominger
4478052b71 Update and expand docs/ folder for EEs 2021-06-16 11:23:59 -04:00
softwarefactory-project-zuul[bot]
b92c5076a2 Merge pull request #10446 from fosterseth/fix_a10431_validate_ee_image_field
Add validation for EE image field name

related #10431
SUMMARY

Adds validation for the EE image name

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.2.1

Reviewed-by: Seth Foster <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Jeff Bradberry <None>
2021-06-16 14:34:45 +00:00
Tim
a3383716ab Update Dockerfile.j2
Jobs unable to start because podman trying to use systemd cgroup manager. See error below :

```
WARN[0000] Failed to add conmon to systemd sandbox cgroup: dial unix /run/systemd/private: connect: no such file or directory
Error: OCI runtime error: systemd cgroup flag passed, but systemd support for managing cgroups is not available
```

* According to this PR https://github.com/containers/podman/pull/7009, podman switch references from libpod.conf to containers.conf.
* According to containers.conf man (https://github.com/containers/common/blob/main/docs/containers.conf.5.md), configuration file is a TOML file but engine section declaration is missing.
2021-06-16 15:03:37 +02:00
Seth Foster
61846e88ca Add validator for ee image field name
awxkit default ee image name is now a fixed valid (but bogus) name, rather than random unicode
2021-06-15 20:06:49 -04:00
Jeff Bradberry
93e90228a2 Remove isolated instances and groups
before we remove the fields that allow us to correctly identify them.
2021-06-15 17:36:26 -04:00
softwarefactory-project-zuul[bot]
395af1b5e4 Merge pull request #10425 from sarabrajsingh/bugfix/preflight-check-postgres-version-4940
introduced a pre-flight check for postgres 12

SUMMARY


Introduced a pre-flight check to check the version of Postgres 12 before the application starts - ansible/tower#4940
ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.2.0

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Sarabraj Singh <singh.sarabraj@gmail.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-15 13:46:58 +00:00
softwarefactory-project-zuul[bot]
5d7bdb3cbc Merge pull request #10449 from mscherer/patch-1
Update irc server

SUMMARY

See ansible/community#613

ISSUE TYPE


Docs Pull Request

COMPONENT NAME


Doc

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-15 11:18:12 +00:00
mscherer
95d40f037d Update irc server
See https://github.com/ansible/community/issues/613
2021-06-15 10:19:40 +02:00
softwarefactory-project-zuul[bot]
ef67f9c65d Merge pull request #10436 from AlanCoding/installed_default
Prefer installer defaults over user-defined global EEs

The installer knows better than the user

Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-06-15 00:59:06 +00:00
softwarefactory-project-zuul[bot]
8a4421dc0c Merge pull request #10290 from amigus/dsv
Add Thycotic DevOps Secrets Vault support

SUMMARY
Add a Credential Plugin for Thycotic DevOps Secrets Vault
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API
UI

AWX VERSION
awx: 19.1.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Adam C. Migus <adam@migus.org>
Reviewed-by: Matthew Jones <bsdmatburt@gmail.com>
2021-06-14 19:22:59 +00:00
softwarefactory-project-zuul[bot]
2900bbbbd8 Merge pull request #10441 from shanemcd/bump-19.2.1
AWX 19.2.1

Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-06-14 19:05:42 +00:00
softwarefactory-project-zuul[bot]
a6c09daf1e Merge pull request #10414 from sean-m-sullivan/devel
Add Job data to return on wait failures

SUMMARY
This adds the returned results to the returned data when jobs fail when waited on. This brings it inline with information returned on success.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

awx collection

AWX VERSION
19.2.0

ADDITIONAL INFORMATION
before:
{
  "changed": false,
  "elapsed": 3.806,
  "finished": "2021-06-10T15:24:52.861344Z",
  "id": 153,
  "msg": "The Workflow Node - fail, failed",
  "started": "2021-06-10T15:24:49.055652Z",
  "status": "failed"
}
after:
{
  "changed": false,
  "elapsed": 3.806,
  "finished": "2021-06-10T15:24:52.861344Z",
  "id": 153,
  "job_data": {
    "allow_simultaneous": false,
    "artifacts": {
      "test": "fail"
    },
    "canceled_on": null,
    "controller_node": "",
    "created": "2021-06-10T15:24:48.504122Z",
    "custom_virtualenv": "/var/lib/awx/venv/ansible",
    "description": "",
    "diff_mode": false,
    "elapsed": 3.806,
    "event_processing_finished": true,
    "execution_node": "localhost",
    "extra_vars": "{\"fail\": \"workflow\"}",
    "failed": true,
    "finished": "2021-06-10T15:24:52.861344Z",
    "force_handlers": false,
    "forks": 0,
    "host_status_counts": {
      "failures": 1
    },
    "id": 153,
    "instance_group": 1,
    "inventory": 1,
    "job_args": "[\"bwrap\", \"--die-with-parent\", \"--unshare-pid\", \"--dev-bind\", \"/\", \"/\", \"--proc\", \"/proc\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/ansible_runner_pi_uai8yldi/tmp5wid0rwm\", \"/etc/ssh\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/ansible_runner_pi_uai8yldi/tmp5wmz8ule\", \"/etc/tower\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/ansible_runner_pi_uai8yldi/tmp4akvmhfo\", \"/home\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/ansible_runner_pi_uai8yldi/tmplpgjkbaw\", \"/tmp\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/ansible_runner_pi_uai8yldi/tmpgrdxeea3\", \"/var/lib/awx\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/ansible_runner_pi_uai8yldi/tmp2hidif23\", \"/var/lib/awx/job_status\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/ansible_runner_pi_uai8yldi/tmps2sv03e3\", \"/var/lib/awx/projects\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/ansible_runner_pi_uai8yldi/tmpoqb_xxh7\", \"/var/log\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/ansible_runner_pi_uai8yldi/tmpyjok4bi3\", \"/var/tmp\", \"--ro-bind\", \"/var/lib/awx/venv/ansible\", \"/var/lib/awx/venv/ansible\", \"--ro-bind\", \"/var/lib/awx/venv/awx\", \"/var/lib/awx/venv/awx\", \"--bind\", \"/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm\", \"/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm\", \"--chdir\", \"/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/project\", \"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/artifacts/153/ssh_key_data && rm -f /tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/artifacts/153/ssh_key_data && ansible-playbook -u excalibrax --ask-pass -i /tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/tmp93bq8ck1 -e @/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/env/extravars fail.yml\"]",
    "job_cwd": "/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/project",
    "job_env": {
      "ANSIBLE_CALLBACK_PLUGINS": "/var/lib/awx/venv/awx/lib64/python3.6/site-packages/ansible_runner/callbacks",
      "ANSIBLE_COLLECTIONS_PATHS": "/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/requirements_collections:~/.ansible/collections:/usr/share/ansible/collections",
      "ANSIBLE_FORCE_COLOR": "True",
      "ANSIBLE_HOST_KEY_CHECKING": "False",
      "ANSIBLE_INVENTORY_UNPARSED_FAILED": "True",
      "ANSIBLE_PARAMIKO_RECORD_HOST_KEYS": "False",
      "ANSIBLE_RETRY_FILES_ENABLED": "False",
      "ANSIBLE_ROLES_PATH": "/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/requirements_roles:~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles",
      "ANSIBLE_SSH_CONTROL_PATH_DIR": "/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/cp",
      "ANSIBLE_STDOUT_CALLBACK": "awx_display",
      "ANSIBLE_VENV_PATH": "/var/lib/awx/venv/ansible",
      "AWX_HOST": "https://10.42.42.212",
      "AWX_ISOLATED_DATA_DIR": "/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm/artifacts/153",
      "AWX_PRIVATE_DATA_DIR": "/tmp/bwrap_153_uqo3h55g/awx_153_rvlvv4nm",
      "DJANGO_LIVE_TEST_SERVER_ADDRESS": "localhost:9013-9199",
      "DJANGO_SETTINGS_MODULE": "awx.settings.production",
      "HOME": "/var/lib/awx",
      "INVENTORY_ID": "1",
      "INVOCATION_ID": "6dfbb88bc6484622a4f44ffbc1196b44",
      "JOB_ID": "153",
      "JOURNAL_STREAM": "9:24634",
      "LANG": "en_US.UTF-8",
      "MAX_EVENT_RES": "700000",
      "PATH": "/var/lib/awx/venv/ansible/bin:/var/lib/awx/venv/awx/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin",
      "PROJECT_REVISION": "debeb7bd98d23a5d69103f024280ac5f8927d58a",
      "PROOT_TMP_DIR": "/tmp",
      "PS1": "(awx) ",
      "PWD": "/var/lib/awx",
      "PYTHONPATH": "/var/lib/awx/venv/ansible/lib/python3.6/site-packages:",
      "RUNNER_OMIT_EVENTS": "False",
      "RUNNER_ONLY_FAILED_EVENTS": "False",
      "SHLVL": "0",
      "SUPERVISOR_ENABLED": "1",
      "SUPERVISOR_GROUP_NAME": "tower-processes",
      "SUPERVISOR_PROCESS_NAME": "awx-dispatcher",
      "SUPERVISOR_SERVER_URL": "unix:///var/run/supervisor/supervisor.sock",
      "TZ": "UTC",
      "USER": "awx",
      "VIRTUAL_ENV": "/var/lib/awx/venv/ansible"
    },
    "job_explanation": "",
    "job_slice_count": 1,
    "job_slice_number": 0,
    "job_tags": "",
    "job_template": 14,
    "job_type": "run",
    "launch_type": "workflow",
    "limit": "",
    "modified": "2021-06-10T15:24:48.953892Z",
    "name": "fail",
    "organization": 1,
    "passwords_needed_to_start": [
      
    ],
    "playbook": "fail.yml",
    "playbook_counts": {
      "play_count": 1,
      "task_count": 3
    },
    "project": 13,
    "related": {
      "activity_stream": "/api/v2/jobs/153/activity_stream/",
      "cancel": "/api/v2/jobs/153/cancel/",
      "create_schedule": "/api/v2/jobs/153/create_schedule/",
      "created_by": "/api/v2/users/1/",
      "credentials": "/api/v2/jobs/153/credentials/",
      "inventory": "/api/v2/inventories/1/",
      "job_events": "/api/v2/jobs/153/job_events/",
      "job_host_summaries": "/api/v2/jobs/153/job_host_summaries/",
      "job_template": "/api/v2/job_templates/14/",
      "labels": "/api/v2/jobs/153/labels/",
      "notifications": "/api/v2/jobs/153/notifications/",
      "organization": "/api/v2/organizations/1/",
      "project": "/api/v2/projects/13/",
      "relaunch": "/api/v2/jobs/153/relaunch/",
      "source_workflow_job": "/api/v2/workflow_jobs/152/",
      "stdout": "/api/v2/jobs/153/stdout/",
      "unified_job_template": "/api/v2/job_templates/14/"
    },
    "result_traceback": "",
    "scm_branch": "",
    "scm_revision": "debeb7bd98d23a5d69103f024280ac5f8927d58a",
    "skip_tags": "",
    "start_at_task": "",
    "started": "2021-06-10T15:24:49.055652Z",
    "status": "failed",
    "summary_fields": {
      "created_by": {
        "first_name": "",
        "id": 1,
        "last_name": "",
        "username": "admin"
      },
      "credentials": [
        {
          "cloud": false,
          "description": "",
          "id": 1,
          "kind": "ssh",
          "name": "Demo Credential"
        }
      ],
      "instance_group": {
        "id": 1,
        "is_containerized": false,
        "name": "tower"
      },
      "inventory": {
        "description": "",
        "has_active_failures": true,
        "has_inventory_sources": false,
        "hosts_with_active_failures": 1,
        "id": 1,
        "inventory_sources_with_failures": 0,
        "kind": "",
        "name": "Demo Inventory",
        "organization_id": 1,
        "total_groups": 0,
        "total_hosts": 1,
        "total_inventory_sources": 0
      },
      "job_template": {
        "description": "",
        "id": 14,
        "name": "fail"
      },
      "labels": {
        "count": 0,
        "results": [
          
        ]
      },
      "organization": {
        "description": "",
        "id": 1,
        "name": "Default"
      },
      "project": {
        "description": "",
        "id": 13,
        "name": "fail",
        "scm_type": "git",
        "status": "successful"
      },
      "source_workflow_job": {
        "description": "",
        "elapsed": 4.89,
        "failed": true,
        "id": 152,
        "name": "fail_workflow",
        "status": "failed"
      },
      "unified_job_template": {
        "description": "",
        "id": 14,
        "name": "fail",
        "unified_job_type": "job"
      },
      "user_capabilities": {
        "delete": true,
        "start": true
      }
    },
    "timeout": 0,
    "type": "job",
    "unified_job_template": 14,
    "url": "/api/v2/jobs/153/",
    "use_fact_cache": false,
    "verbosity": 0,
    "webhook_credential": null,
    "webhook_guid": "",
    "webhook_service": ""
  },
  "msg": "The Workflow Node - fail, failed",
  "started": "2021-06-10T15:24:49.055652Z",
  "status": "failed"
}

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-06-14 18:58:38 +00:00
Alan Rominger
92c6ddf13c Prefer installer defaults over user-defined global EEs
Add a basic level of testing around get_default_execution_environment
2021-06-14 14:13:39 -04:00
Jake McDermott
c6ac2f56dc Update CHANGELOG.md 2021-06-14 14:09:53 -04:00
Sarabraj Singh
7a130a0616 flipped MODE switch for postgres check 2021-06-14 13:55:11 -04:00
Shane McDonald
188f0417d2 Fix typo 2021-06-14 13:38:41 -04:00
Shane McDonald
d38401fd18 Bump version to 19.2.1 2021-06-14 12:32:20 -04:00
Shane McDonald
dadf8940cc Remove outdated info from changelog 2021-06-14 12:32:10 -04:00
softwarefactory-project-zuul[bot]
6a36f802c2 Merge pull request #10434 from wenottingham/runner-update
Update runner to 2.0b1

SUMMARY
Newly released.

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-06-12 04:26:17 +00:00
Adam Migus
5509686f5b Remove unused imports to fix build. 2021-06-11 23:49:45 -04:00
Adam Migus
1ee241199e Refactor to simplify
- Remove eval and the expression metadata attribute
- Remove locale conditional on the tld field
2021-06-11 23:49:45 -04:00
Adam Migus
67d828cf80 Backout accidential changes to settings/defaults 2021-06-11 23:49:45 -04:00
Adam Migus
86c91509b3 Add Thycotic DevOps Secrets Vault support 2021-06-11 23:49:45 -04:00
Adam Migus
bfd1abd79c Add license for python-dsv-sdk to docs/licenses 2021-06-11 23:49:44 -04:00
Adam Migus
c169cf6d58 Fix test_credential.py
- Add 'thycotic_dsv' to the list of expected credential types
2021-06-11 23:49:44 -04:00
Adam Migus
9679c154f3 Backout accidential changes to settings/defaults 2021-06-11 23:49:44 -04:00
Adam Migus
a317b6bede Add Thycotic DevOps Secrets Vault support 2021-06-11 23:49:44 -04:00
Sarabraj Singh
f73de11acc introduced a pre-flight check for postgres 12 2021-06-11 23:18:38 -04:00
softwarefactory-project-zuul[bot]
6f16d64929 Merge pull request #10429 from AlanCoding/teardown_global_ee
Make ExecutionEnvironment awxkit class able to handle null values in …

This is how the Project class does it, and I can confirm it makes factories.execution_environment(organization=None) work correctly.

Reviewed-by: Jeff Bradberry <None>
2021-06-11 20:36:47 +00:00
softwarefactory-project-zuul[bot]
8a6656aa90 Merge pull request #10417 from mabashian/10411-inv-src-sync-details
Fixes bug where source list page would crash if first sync was running

SUMMARY
link #10411
The ID being passed to the cancel button was incorrect as well.  We want to reference current_job not last_job.

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Kersom <None>
Reviewed-by: Sarah Akus <sarah.akus@gmail.com>
2021-06-11 20:33:33 +00:00
Bill Nottingham
95ba6de172 Update runner to 2.0b1 2021-06-11 15:04:43 -04:00
softwarefactory-project-zuul[bot]
63aacd4e38 Merge pull request #10416 from mabashian/10400-search-keys
Addresses bug where advanced search by groups wasn't working on host list

SUMMARY
link #10400
OK so this got a bit more complicated than I wanted it to but I think on the whole this is a nice improvement.  In the initial bug report it was noted that we were ignoring the or/not operators when searching on a related key (in this case it was groups).  We were also ignoring the modifier at the end (icontains, exact, startswith, etc).  Since we were always defaulting to __search for these types of keys this was actually valid.  The API doesn't like us attempting to do something like ?or__groups__search=foo or ?groups__search__icontains because they aren't valid.  So, I changed the UX a little bit.  A user can still do a fuzzy search on a related key but the prefix is disabled in this case:

I changed the third dropdown (specifically for related keys) to contain the following options: search, id, name__icontains which I think would be the three most general cases.  id and name__icontains do allow for prefixing (or, not, and).
This should make searching on related keys a little bit easier and a little bit more flexible since name and id weren't possible in the UI before.
Once place where this is a little different is the host filter in the smart inventory form.  Using __search currently throws an error when the user attempts to save.  I believe this is an API bug and will file it as such but for now I prevent users from attempting to use __search by removing it as an option for this particular list.  When this bug gets fixed in the API we can remove this logic.
I also noticed that there was a bug where or__ search terms were being converted to and when using the Smart Inventory button on the host list so I fixed that.
Here's the fix in action:

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-11 18:12:01 +00:00
Alan Rominger
b39b80b036 Make ExecutionEnvironment awxkit class able to handle null values in payload 2021-06-11 13:32:46 -04:00
sean-m-ssullivan
214c27a5cf add job data to filed wait jobs 2021-06-11 09:45:28 -04:00
mabashian
ae83032ff3 Swap underscore for hyphen 2021-06-10 16:42:03 -04:00
softwarefactory-project-zuul[bot]
2e0dd61bb6 Merge pull request #10413 from AlexSCorey/10404-RoleAccessSaveButton
fixes next button and internationalizes nav buttons on wizard

SUMMARY
Resolves #10404 and it internationalizes the next button.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-10 19:13:19 +00:00
mabashian
25aae9abc6 Fixes bug where source list page would crash if first sync was running 2021-06-10 15:06:13 -04:00
mabashian
8b20d770a2 Addresses bug where advanced search by groups wasn't working on host list 2021-06-10 13:46:27 -04:00
Alex Corey
6726b72fe2 fixes next button and internationalizes nav buttons on wizard 2021-06-10 11:21:57 -04:00
softwarefactory-project-zuul[bot]
e610b77f8d Merge pull request #10397 from mabashian/job-output-socket-reconnect
Don't reconnect job output socket if it closes cleanly

SUMMARY
See #9795 (comment)
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-10 14:51:14 +00:00
softwarefactory-project-zuul[bot]
2490929fd5 Merge pull request #10394 from mabashian/brand-name
Pull brand name from default.strings.json

SUMMARY
We were pulling this string from variables.js.
There were several places where the brand name was not being pulled dynamically - this PR addresses that.  This changes the way we set the document title a little bit.  Since we needed access to a dynamic string, I went down the JS route to set this.

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Sarah Akus <sarah.akus@gmail.com>
2021-06-09 23:07:37 +00:00
softwarefactory-project-zuul[bot]
29ec0dc82a Merge pull request #10376 from mabashian/3831-settings-changes
Changes settings revert all to send DELETE on individual endpoint rather than PATCHing

SUMMARY
Resolves #3831
#3831 (comment) is a good explanation of the state of the new UI as well as the old.  The Misc System settings were the most problematic part of this since that form pulled fields from both /api/v2/settings/system and /api/v2/settings/authentication.  In order to revert these fields with a DELETE request I needed to split this form up into Miscellaneous System and Miscellaneous Authentication.  The Activity Stream Settings also needed to be absorbed by the Miscellaneous System Settings.
All settings forms (except noted below) will now issue a DELETE request to revert all the fields for a particular settings subsection.
There was one form that I did not change the Revert All functionality on and that was the LDAP Settings form(s).  The UI splits these fields out into 5 different subforms and reverting one (issuing a DELETE on /api/v2/settings/ldap) would revert all the ldap settings which I think is undesirable.
This fix has the added benefit of cleaning up future activity stream entries for reverting an entire settings category.
I also consulted with @wenottingham and @gamuniz on some fields that were present in the api but missing in the ui and I added those.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-09 21:29:06 +00:00
Shane McDonald
301d7a02c2 Update README.md 2021-06-09 17:21:39 -04:00
Shane McDonald
81e6ead99c Update README.md 2021-06-09 17:20:44 -04:00
softwarefactory-project-zuul[bot]
158fe23d7c Merge pull request #8650 from wenottingham/discovering-new-insights
Add support for Insights as an inventory source

SUMMARY
Use the insights inventory plugin as an inventory source.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API

ADDITIONAL INFORMATION
Requires at minimum RedHatInsights/ansible-collections-insights#14

Reviewed-by: Bill Nottingham <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Chris Meyers <None>
2021-06-09 21:08:35 +00:00
softwarefactory-project-zuul[bot]
b3705357ba Merge pull request #10403 from nixocio/ui_issue_8890
Fix host filter chips on smart inventory

Fix host filter chips on smart inventory

See: #8890

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Sarah Akus <sarah.akus@gmail.com>
2021-06-09 20:58:34 +00:00
Bill Nottingham
f460f70513 Remove host insights view 2021-06-09 16:34:32 -04:00
Bill Nottingham
b6ced2b8dc Add UI bits 2021-06-09 16:34:32 -04:00
Bill Nottingham
be18803250 Add support for Insights as an inventory source 2021-06-09 16:34:32 -04:00
softwarefactory-project-zuul[bot]
f26d975005 Merge pull request #10378 from jbradberry/control-plane-ee
Control plane EE

SUMMARY
Per discussion, we are now going to have privileged execution environments for use on the control plane, and these will not be allowed to be edited or deleted.
related ansible/tower#5016
TODO

 reinstate the restrictive RBAC for managed_by_tower=True EEs
 convert any EEs automatically installed prior into managed_by_tower=False EEs
 change the resolver so that ordinary jobs do not get a managed EE, and project updates only get a managed EE
 allow sysadmin users to edit the pull field for managed EEs
 automatically disassociate EEs that get deleted from the DEFAULT_EXECUTION_ENVIRONMENT setting #10363

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Seth Foster <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-06-09 20:25:37 +00:00
mabashian
a7a17a2063 Extract strings 2021-06-09 16:13:20 -04:00
mabashian
9e657059f3 Pull brand name from default.strings.json 2021-06-09 16:11:04 -04:00
Jeff Bradberry
486bcd80f8 Make sure that the delete capability isn't hardcoded to be the same as edit 2021-06-09 15:45:02 -04:00
softwarefactory-project-zuul[bot]
e4f21ec294 Merge pull request #10291 from AlexSCorey/10152-AddsPFDatePicker-v2
Resolves issue where FireFox users could not schedule a job template

SUMMARY
This addresses #10152 and #6214
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

ADDITIONAL INFORMATION

Reviewed-by: Michael Abashian <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-09 18:52:29 +00:00
softwarefactory-project-zuul[bot]
3cb3819be9 Merge pull request #10395 from mabashian/10333-default-galaxy-cred
Preselect default galaxy cred when creating new org

SUMMARY
link #10333

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Yago Marques <yagomarquesja@gmail.com>
2021-06-09 18:16:52 +00:00
softwarefactory-project-zuul[bot]
122b36dcc5 Merge pull request #10388 from jakemcdermott/fix-favico
Use favicon for dev and prod builds

SUMMARY

Reviewed-by: Michael Abashian <None>
Reviewed-by: Sarah Akus <sarah.akus@gmail.com>
2021-06-09 18:10:39 +00:00
Jeff Bradberry
2d1a859719 Remove unused import 2021-06-09 13:48:23 -04:00
Shane McDonald
f882ac420d Fix tests 2021-06-09 13:48:23 -04:00
Shane McDonald
373cd9c20b Remove usage of AWXReceptorJob in metadata.py 2021-06-09 13:48:23 -04:00
Shane McDonald
673afdf1b5 Only install ansible-core for collection tests
Faster!
2021-06-09 13:48:23 -04:00
Jeff Bradberry
7a16782ebf Fix a problem with using PrimaryKeyRelatedField in our settings registry
DRF, when using this field, short-circuits the call to
.to_representation() when the value is None, since clearly you aren't
going to be able to get the .pk attribute off of it in that case.  We
were previously unconditionally calling .to_representation() which
throws an error when we try to clear the value of
DEFAULT_EXECUTION_ENVIRONMENT.
2021-06-09 13:48:23 -04:00
Jeff Bradberry
8ede74a7f6 Deal with the possibility of get_default_pod_spec not finding an EE 2021-06-09 13:48:23 -04:00
Jeff Bradberry
19da9955ce Make sure that managed EEs can't be deleted 2021-06-09 13:48:23 -04:00
Jeff Bradberry
e6e1f97048 Add a signal handler to remove the default EE if it gets deleted 2021-06-09 13:48:16 -04:00
softwarefactory-project-zuul[bot]
0a63c2d4a0 Merge pull request #10385 from mabashian/version_context_processor
Adds version context processor back in to fix api browser doc link

SUMMARY
Here's what it looks like on devel now (note the URL in the bottom left):

Here's what it looks like after the change (note the URL in the bottom left):

I dropped this in as it was before the removal of the old UI.  I believe the new UI needs access to some of these variables as well to force assets to be refetched after upgrade.
Also of note: I have no idea what I'm doing with django so please help me to become educated if I've done something silly here.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-06-09 15:44:45 +00:00
softwarefactory-project-zuul[bot]
493109782d Merge pull request #10402 from AlexSCorey/10350-TeamAddLoop
Stops infinte REST calls on ResourcesAccessAdd workflow

SUMMARY
resolves #10350
There is no functionality changes, I just moved the location of the variables so they are defined outside of the component.
E2E test triggered
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-09 15:33:11 +00:00
mabashian
0195bab931 Drop in favicon.ico from old app 2021-06-09 11:22:40 -04:00
Jake McDermott
e570810bdb Use favicon for dev and prod builds 2021-06-09 11:22:40 -04:00
Jeff Bradberry
9f1e8a1ae2 Allow sysadmins to be able to change the pull field for managed EEs 2021-06-09 11:11:56 -04:00
nixocio
9a0c159943 Fix host filter chips on smart inventory
Fix host filter chips on smart inventory

See: https://github.com/ansible/awx/issues/8890
2021-06-09 10:26:18 -04:00
Jeff Bradberry
9aa56b1247 Update the EE resolver logic
so that the control plane managed EE is kept separate.
2021-06-09 10:03:35 -04:00
Jeff Bradberry
d4d21a1511 Remove the managed flag from all existing EEs
This flag henceforth is going to be used only for the "control plane"
execution environments, which sysadmins will not be allowed to alter.
2021-06-09 10:03:35 -04:00
Alex Corey
27a2c842ac resolve infinite api calls 2021-06-09 07:50:00 -04:00
softwarefactory-project-zuul[bot]
87dcc49429 Merge pull request #10380 from nixocio/ui_remove_not
Do not show `not` as choice for Advanced Search on Smart Inventory

Do not show not set type as a  choice for Advanced Search on Smart Inventory since
this feature is not implemented on the API side yet.

See: #2817

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-08 21:43:54 +00:00
softwarefactory-project-zuul[bot]
805ca53765 Merge pull request #10390 from rooftopcellist/update-translations
Update translation make target for ui_next

SUMMARY
This adds the --clean flag to the extract-strings command (cleans up obsolete strings) and separates out the extract-template command.
ISSUE TYPE


Feature Pull Request

COMPONENT NAME


Translation Automation

AWX VERSION

19.2.0

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-06-08 21:36:02 +00:00
Shane McDonald
070034047c Merge pull request #10377 from kdelee/control_plane_ee
Break out control plane EE as its own thing
2021-06-08 17:25:01 -04:00
softwarefactory-project-zuul[bot]
53c50947d1 Merge pull request #10347 from nixocio/ui_issue_9232
Update advanced search for Smart Inventories

Update advanced search for Smart Inventories
Update usage of conditional operators for advanced search for Smart Inventories
Not operator is not supported yet - See: #2817
See: #9232

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-08 21:16:35 +00:00
softwarefactory-project-zuul[bot]
108a6e11f4 Merge pull request #10384 from keithjgrant/6189-instance-list-table
Convert InstanceList to table

SUMMARY
Converts InstanceList to Paginated Table
addresses #6189 and #10160
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Kersom <None>
Reviewed-by: Sarah Akus <sarah.akus@gmail.com>
2021-06-08 21:04:22 +00:00
softwarefactory-project-zuul[bot]
a4bc306b96 Merge pull request #9084 from marshmalien/5057-launched-by
Extend launched by details to handle scheduled JTs and WFJTs

SUMMARY
Issue: #5057
Launched By detail should link to the schedule that launched the job.

ISSUE TYPE


Enhancement Pull Request

COMPONENT NAME


UI

Reviewed-by: Kersom <None>
Reviewed-by: Sarah Akus <sarah.akus@gmail.com>
2021-06-08 20:49:39 +00:00
softwarefactory-project-zuul[bot]
9106c3f813 Merge pull request #10373 from AlanCoding/limit_docs
Add OPTIONS documentation for new job limit feature

Looking at the docs and stuff from #10023
I'm sure this is somewhere else too, but this is the place that users should naturally expect it to be.

Reviewed-by: Chris Meyers <None>
2021-06-08 20:22:55 +00:00
softwarefactory-project-zuul[bot]
3340ef9c91 Merge pull request #10053 from AlanCoding/dropsies
Intentionally drop job event websocket messages in excess of 30 per second (configurable)

SUMMARY
The UI no longer follows the latest job events from websocket messages. Because of that, there's no reason to send messages for all events if the job event rate is high.
I used 30 because this is the number of events that I guesstimate will show in one page in the UI.
Needs the setting added in the UI.
This adds skip_websocket_message to event event_data. We could promote it to a top-level key for job events, if that is preferable aesthetically. Doing this allows us to test this feature without having to connect a websocket client. Ping @mabashian @chrismeyersfsu
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API
UI

ADDITIONAL INFORMATION
Scenario walkthrough:
a job is producing 1,000 events per second. User launches it, the screen fills up in, say 1/4 of a second. The scrollbar indicates content beyond the bottom of the screen. Now, for 3/4ths of a second, the scrollbar stays still. After that, it updates the scrollbar to the current line number that the job is on. The scrollbar continues to update the length of the output effectively once per second.

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Chris Meyers <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-06-08 20:10:45 +00:00
mabashian
fc171deb79 Dont reconnect job output socket if it closes cleanly 2021-06-08 16:08:39 -04:00
Elijah DeLee
f2dac36dd1 Remove the cred too if not passed
NOW....should be idempotent and remove the the cred if it is not passed
2021-06-08 15:52:53 -04:00
Christian M. Adams
fb1a5c0db5 Update translation make target for ui_next 2021-06-08 15:26:00 -04:00
mabashian
d6a06c40f1 Preselect default galaxy cred when creating new org 2021-06-08 15:19:36 -04:00
softwarefactory-project-zuul[bot]
a6383e7f79 Merge pull request #10324 from shanemcd/default_queue_name
Introduce distinct controlplane instance group

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Matthew Jones <bsdmatburt@gmail.com>
Reviewed-by: Yanis Guenane <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-06-08 19:18:35 +00:00
Shane McDonald
3063073395 Merge pull request #9980 from fosterseth/fix_t4958_rename_collection
Rename awx_collection modules
2021-06-08 15:12:04 -04:00
Seth Foster
9eda6359f0 False to false to fix linter 2021-06-08 14:33:30 -04:00
Seth Foster
1deaf55ba4 syntax error in runtime.yml 2021-06-08 14:33:30 -04:00
Seth Foster
44c50bbbf7 add redirect for lookup and inventory plugins 2021-06-08 14:33:29 -04:00
Seth Foster
c9e7747f2d black ignore awx_collection 2021-06-08 14:33:29 -04:00
Seth Foster
199b4b6b47 fixed up jinja2 templating and documentation 2021-06-08 14:33:29 -04:00
Seth Foster
f06485feca fqcn redirects, and raise from sanity test fix 2021-06-08 14:33:29 -04:00
Seth Foster
4bd910493a sanity tests 2021-06-08 14:33:28 -04:00
Seth Foster
cd100fd770 fix super and kwargs 2021-06-08 14:33:28 -04:00
Seth Foster
157adb828e various sanity fixes 2021-06-08 14:33:28 -04:00
Seth Foster
b26e33ca34 remove eula_accepted 2021-06-08 14:33:28 -04:00
Sarabraj Singh
27a1254883 fixed ansible-test sanity import tests; removed sanity-ignore files 2021-06-08 14:33:28 -04:00
Sarabraj Singh
535bbfcc39 fixed validate-modules sanity tests 2021-06-08 14:33:27 -04:00
Sarabraj Singh
d2d511f596 switched to semenatic versioning for version numbers in plugins, library and tools packages 2021-06-08 14:33:27 -04:00
Sarabraj Singh
25ca8d22d6 added collection name to module.deprecate() calls; fixed pep8 linting issues 2021-06-08 14:33:27 -04:00
Sarabraj Singh
378a0711c2 linted AUTH_ARGSPEC to make it easier to read (<180 characters in the same line) 2021-06-08 14:33:26 -04:00
Sarabraj Singh
8fd9225629 removed un-reference-able python modules from ignore-2.9.txt 2021-06-08 14:33:26 -04:00
Seth Foster
ee8c1638c5 remove deprecated modules 2021-06-08 14:33:26 -04:00
Seth Foster
4add72b9d2 actually make use of option aliases 2021-06-08 14:33:25 -04:00
Seth Foster
54dd24b96b auth_plugin env alternative 2021-06-08 14:33:25 -04:00
Seth Foster
7d06fc74dd tower_username to controller_username, etc 2021-06-08 14:33:25 -04:00
Seth Foster
1a2e56c785 restore tower_legacy.py, update examples to include CONTROLLER_HOST 2021-06-08 14:33:25 -04:00
Seth Foster
a7b29f6112 controller_inventory.yml in addition to tower_inventory.yml 2021-06-08 14:33:24 -04:00
Seth Foster
39b26c8f0e Added env variable CONTROLLER_HOST, et al. Add awx.awx namespace to the runtime.yml redirects, and added templating task to change to ansible.controller 2021-06-08 14:33:24 -04:00
Seth Foster
1ade9b3a7d various references to tower 2021-06-08 14:33:24 -04:00
Seth Foster
82c5803e59 mostly includes renaming non-syntax references to tower 2021-06-08 14:33:24 -04:00
Seth Foster
9f4172ce7b upstream 2021-06-08 14:33:23 -04:00
Seth Foster
ef56571772 controller_meta, templating 2021-06-08 14:33:23 -04:00
Seth Foster
6911a59f39 fix unit tests 2021-06-08 14:33:23 -04:00
Seth Foster
7a63785255 more rename, mostly in test 2021-06-08 14:33:23 -04:00
Seth Foster
a695274cb6 regex replace tower_*: to '' 2021-06-08 14:33:22 -04:00
Seth Foster
44fed1d7c1 pycharm refactor rename files and class, linux rename tower_ controller_ 2021-06-08 14:33:22 -04:00
nixocio
be48d3eefd Update advanced search for Smart Inventories
Update usage of conditional operators for advanced search for Smart Inventories

Not is not supported yet - See: https://github.com/ansible/awx/issues/2817

See: https://github.com/ansible/awx/issues/9232
2021-06-08 13:41:06 -04:00
mabashian
3cc6a4cf44 Go back to tracking currentlyLoading via state and not ref 2021-06-08 13:33:54 -04:00
mabashian
ddf4fbc4ce Fix linting errors 2021-06-08 13:33:54 -04:00
mabashian
f0e7f2dbcd Adds logic to try to keep visible page accurate in follow mode 2021-06-08 13:33:54 -04:00
Alan Rominger
579d49033a Remove debugging log message 2021-06-08 13:33:54 -04:00
Alan Rominger
210d5084f0 Move skip flag up from event_data and pop it off 2021-06-08 13:33:54 -04:00
Alan Rominger
53e8a9e709 Fix bug 2021-06-08 13:33:53 -04:00
Alan Rominger
15effd7ade Add some conditions for always-send and never-send event types
Always send websocket messages for
  high priority events like playbook_on_stats

Never send websocket messages for
  events with no output
  unless they are a high priority event type
2021-06-08 13:33:53 -04:00
Alan Rominger
b919befc90 Add option to record websocket received time 2021-06-08 13:33:53 -04:00
Jake McDermott
faded278e3 Disable follow mode on scroll 2021-06-08 13:33:53 -04:00
Jake McDermott
768ac01f58 Add basic output tailing
When follow mode is enabled, fix the scroll position to the highest row
so that the output panel is always displaying the latest events.
2021-06-08 13:33:53 -04:00
Alan Rominger
4052603238 make sure log format does not error 2021-06-08 13:33:53 -04:00
Alan Rominger
b306c6f258 Put new setting in defaults so unit tests will run 2021-06-08 13:33:52 -04:00
Alan Rominger
4b6b8f2bdd Finish up the immediate or average rate method 2021-06-08 13:33:52 -04:00
Alan Rominger
70420dc3e4 THIS DOES NOT WORK pass events if they fit either timing criteria 2021-06-08 13:33:52 -04:00
Alan Rominger
50ca2d47ce Further log adjustments 2021-06-08 13:33:52 -04:00
Alan Rominger
faa0a6cf9a fix up log wording 2021-06-08 13:33:52 -04:00
Alan Rominger
01228cea02 Implement max event websocket rate as setting 2021-06-08 13:33:50 -04:00
Alan Rominger
cbb461ab71 Fix bug 2021-06-08 13:33:23 -04:00
Alan Rominger
b551608f16 Move websocket skip logic into event_handler 2021-06-08 13:33:22 -04:00
Marliana Lara
7a25f22078 Remove i18n prop 2021-06-08 13:33:03 -04:00
Alan Rominger
b43d8e2c7f Enforce a 30-per-second max event websocket rate 2021-06-08 13:32:05 -04:00
softwarefactory-project-zuul[bot]
2ad84b60b3 Merge pull request #10381 from AlanCoding/tox_configish
Enter flake8 rules in tox config as actual config entries

I really like to do things like
flake8 awx/main/models

but this is made impractical where running flake8 for the project carries with it an assumption that you will pass a specific set of options.
https://flake8.pycqa.org/en/latest/user/configuration.html
Blessedly, flake8 is flexible in their config options so that it may weather the storm of python project config wars.

Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-06-08 15:49:01 +00:00
Marliana Lara
d1981fcb4a Extend launched by details to handle scheduled JTs and WFJTs 2021-06-08 11:34:58 -04:00
softwarefactory-project-zuul[bot]
df8ce801cf Merge pull request #10325 from wenottingham/count-von-count
Add a field for hosts automated across to the subscription info

SUMMARY
This is populated by the new table we've added.
Update the subs check to check against this, not imported hosts.

ISSUE TYPE

Feature Pull Request
Bugfix Pull Request

COMPONENT NAME

API
UI

Reviewed-by: Bill Nottingham <None>
Reviewed-by: Amol Gautam <amol_gautam25@yahoo.co.in>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Chris Meyers <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-08 15:30:43 +00:00
nixocio
50e6348bef Do not show not as choice for Advanced Search on Smart Inventory
Do not show `not` as choice for Advanced Search on Smart Inventory since
this feature is not implemented on the API side yet.

See: https://github.com/ansible/awx/issues/2817
2021-06-08 11:17:01 -04:00
Alan Rominger
5ab449c90f Add event-specific template to all event types 2021-06-08 11:01:14 -04:00
softwarefactory-project-zuul[bot]
66a9ffc376 Merge pull request #10339 from mabashian/8596-websocket-connecting-state
Only attempt to reconnect socket if connection wasn't closed cleanly

SUMMARY
link #8596
After some investigation, I believe that this error is caused by the reconnect logic that we have.  When the component that references the ws hook unmounts, we disconnect the socket.  There's some logic in the onclose method that attempts to reconnect the socket but if we've disconnected cleanly we shouldn't try to reconnect (because we probably meant to disconnect in the first place).
This should clean up the console errors that we've been seeing about the socket already being in a connected state since we won't have timers running past the lifecycle of the component.
cc @keithjgrant does this sound good to you?
Here's the spec for the disconnect event https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#properties
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-08 14:36:41 +00:00
Alex Corey
16c6e2d716 uses pf date and time picker to schedule form 2021-06-08 10:32:38 -04:00
softwarefactory-project-zuul[bot]
ac5b53b13c Merge pull request #10334 from mabashian/outdated-revision
Adds ability to refresh project revision on sync'd rows in the project list

SUMMARY
This PR also adds the revision to the project details view as well as handles updating the revision on the project details view when the project is done syncing.
Since the project revision is not included in the websocket payload, when a project is done syncing the displayed revision may be out of date.  As such, we wanted to expose that information to the user and give them the ability to "refresh" and fetch the new revision.
Here's what that flow looks like:

When a particular row finishes syncing the user should see this in place of the revision:

Clicking on that refresh button goes out and fetches the updated project (and with it the potentially updated revision).
We don't do this automatically on the projects list (and force the user to click on the refresh button) is due to issues we've had in the past with the UI triggering API calls based on websocket events.
The flow when a user is on the project details view is a little different because I wasn't as worried about spamming the API with requests.
When a project finishes syncing and the user is viewing the details I do go ahead and automatically refresh the project data (and with it, the revision).  Here's what that looks like:

A few other notes:

@tiagodread @akus062381 @one-t I'm almost certain this is going to break some tests because I removed the ClipboardCopyButton in favor of PF's ClipboardCopy component.  This component looks and behaves slightly differently from our home grown solution.  Additionally, the PF ClipboardCopy button does not expose the ouiaId prop so I had to add a data-cy on that component.  You'll likely have to use that identifier to then grab the button inside in order to test out the clipboard copy functionality.
Source Control Revision is a net-new detail in the project details.  I think this was simply missed on our initial build of this page.

Here are the identifiers on the various bits:



Note that the identifiers on the project rows have the id of the project appended to them for uniqueness.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Michael Abashian <None>
Reviewed-by: Sarah Akus <sarah.akus@gmail.com>
2021-06-08 14:14:54 +00:00
softwarefactory-project-zuul[bot]
6d433cc42a Merge pull request #10379 from jakemcdermott/fix-logout-reload2
Avoid reload on manual logout

SUMMARY
#10383
Instead of reloading, set the authRedirectTo context variable to "/logout" and handle it as a special case when routing

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
2021-06-08 13:58:14 +00:00
softwarefactory-project-zuul[bot]
7c442f3f50 Merge pull request #10359 from AlanCoding/stop_setting_venv
Remove uses of ansible_virtualenv_path

Run a job with recent AWX, then inspect:
In [2]: Job.objects.order_by('-created').first().custom_virtualenv
Out[2]: '/var/lib/awx/venv/ansible'

We shouldn't do this. The job was ran after the custom_virtualenv field has become entirely informative / non-functional. It is very arguable whether jobs should keep this field. For pre-migration jobs, it is an accurate record of fact, so I'm not going out of my way to argue for removal.
With this change, new jobs will record a blank value for custom_virtualenv, which is more correct, because we don't do this.
I have carefully looked over @rebeccahhh's #10090, and I don't see any way that ansible_virtualenv_path is used. Model use is reported for templates, so that doesn't block removing the field on jobs either.

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Bill Nottingham <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-08 12:26:38 +00:00
Alan Rominger
d79f73ab7a Remove references to Ansible venv path because it does not exist 2021-06-07 21:14:35 -04:00
Alan Rominger
b26eaa3bd2 Remove uses of ansible_virtualenv_path 2021-06-07 21:14:35 -04:00
mabashian
de46fb409e Adds version context processor back in to fix api browser doc link 2021-06-07 19:52:01 -04:00
Keith J. Grant
8078daa733 convert InstanceList to table 2021-06-07 15:06:12 -07:00
softwarefactory-project-zuul[bot]
e4931bde6c Merge pull request #10346 from jakemcdermott/fix-9905
Disable cancel button on http 405

SUMMARY
for #9905
When a 405 is received, it means the job is already cancelled. Treat the
request as a success and don't show an error modal.
We disable the button to handle a rare scenario where we receive the 405 long before
the job status is properly updated to "cancelled" over websockets. We want to prevent
more cancel requests when this happens. We're disabling instead of hiding the button
because, assuming the status hasn't changed over sockets, the buttons that usually
replace the cancel button on the toolbar won't be shown yet and we don't want to
needlessly flicker and shift button positions around by rapidly loading and unloading
a different number of buttons onto the bar.

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Sarah Akus <sarah.akus@gmail.com>
2021-06-07 21:25:05 +00:00
Elijah DeLee
e2b0a4f7a7 Make changed result accurate for credentials 2021-06-07 17:16:14 -04:00
Jake McDermott
5da6b02801 Avoid reload on manual logout 2021-06-07 16:51:06 -04:00
Elijah DeLee
326184da0f fixup changed behavior for EEso its accurate 2021-06-07 16:50:53 -04:00
Alan Rominger
dad5533816 Enter flake8 rules in tox config as actual config entries 2021-06-07 16:21:50 -04:00
Bill Nottingham
ca07946c24 Adjust subscription calculation & warning behavior
- Add a field for hosts automated across

  This is populated by the new table we've added.
- Update the subs check to check against this, not imported hosts.
- Reword messages on inventory import
2021-06-07 15:47:55 -04:00
Elijah DeLee
2ce276455a Break out control plane EE as its own thing 2021-06-07 15:39:20 -04:00
mabashian
4db6b8c1fe Rolls back aggressive find/replace on fetchProjects 2021-06-07 14:21:34 -04:00
mabashian
03209fe2f2 Updates onCopy functions to use navigator.clipboard instead of deprecated execCommand 2021-06-07 14:18:27 -04:00
softwarefactory-project-zuul[bot]
7832639c25 Merge pull request #10361 from nixocio/ui_issue_10355
Update message for missing EE for Job pages

Update message for missing EE for Job pages
See: #10355

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Kersom <None>
Reviewed-by: Michael Abashian <None>
2021-06-07 18:18:15 +00:00
mabashian
121db42699 Fix data-cy 2021-06-07 13:33:08 -04:00
mabashian
ddb6c775b1 Adds dataCy to revision copy in project details 2021-06-07 13:33:07 -04:00
mabashian
7467779ea9 Remove clipboard copy button component 2021-06-07 13:33:07 -04:00
mabashian
66f140bb70 Adds ability to get latest revision from project list when a project is done syncing. Automatically refresh project data on project detail when it's done syncing. 2021-06-07 13:33:06 -04:00
mabashian
151f9e79ed Move debug message inside if statement so that it only triggers when we try to reconnect 2021-06-07 13:30:19 -04:00
mabashian
f83343592b Only attempt to reconnect socket if connection wasn't closed cleanly 2021-06-07 13:29:14 -04:00
mabashian
12504c9bc3 Changes settings revert all to send DELETE on individual endpoint rather than PATCHing 2021-06-07 13:19:16 -04:00
Shane McDonald
023cc68ba2 Surface default instance group names in /api/v2/settings/all 2021-06-07 12:22:58 -04:00
Shane McDonald
ec8ac6f1a7 Introduce distinct controlplane instance group 2021-06-07 11:25:59 -04:00
Yanis Guenane
82c4f6bb88 Define a DEFAULT_QUEUE_NAME 2021-06-07 11:25:23 -04:00
Alan Rominger
5beb68f527 Remove templates from views that were removed 2021-06-07 11:15:19 -04:00
Alan Rominger
2eb1e4bbe3 Add OPTIONS documentation for new job limit feature 2021-06-07 11:11:22 -04:00
Shane McDonald
d3b20e6585 Merge pull request #10362 from shanemcd/runner-alpha-5
Bump to Ansible Runner alpha 5 release
2021-06-04 16:51:19 -04:00
nixocio
310cc2fd03 Update message for missing EE for Job pages
Update message for missing EE for Job pages

See: https://github.com/ansible/awx/issues/10355
2021-06-04 16:04:39 -04:00
softwarefactory-project-zuul[bot]
1fd6ba0bfc Merge pull request #10349 from AlexSCorey/8401-MoreFiltersonDashboard
Adds more filters to dashboard chart

SUMMARY
Resolves #8401 and #10356
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION



ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-04 19:56:10 +00:00
softwarefactory-project-zuul[bot]
b64f966db1 Merge pull request #10090 from rebeccahhh/custom_venv_command
add a new awx-manage command `custom_venvs`

add an awx-manage command that gets pip freeze data from custom_venv and outputs to command line stdout
SUMMARY

part of #7062  - this command is a glorified pip freeze + some extra stuff, people could navigate to each of their custom virtual environments themselves and run a pip freeze, but this allows them to not, and everyone likes their life to be easier. The extra stuff allows users to see the connections that their existing virtual envs have in awx to things like organizations, jobs, inventory updates, and projects.

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.1.0

ADDITIONAL INFORMATION

This is built off of existing code and there is a line that gets custom venv paths from the settings module, that line does not seem to be working. I have written around that but want to make a note of it.

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-06-04 18:44:52 +00:00
softwarefactory-project-zuul[bot]
891eeb22a5 Merge pull request #10343 from chrismeyersfsu/doc-job_event_performance
add docs on debugging job event perf

related to ansible/tower#4985

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-06-04 17:17:16 +00:00
softwarefactory-project-zuul[bot]
0f6e221c14 Merge pull request #10023 from ansible/db_partition_analytics_cmeyers2
Db partition analytics cmeyers2

Keep old primary key based analytics gathering for unpartitioned
tables.
Use created time on new partitioned tables.

80 million partitioned + 1.5 million unpartitioned Events



Query
awx-manage gather_analytics --dry-run Time
Micro Benchmark Query Time*
Query Only Time**




sequential index scan, multiple ::json casts, 100,000 event batches
102m7.836s
6s
80 minutes


sequential index scan, optimized json cast, 100,000 event batches
48m9.276s
2.2s
30.4 minutes


sequential index scan, optimized json cast, 1,00,000 event batches
39m35.094s
10s
13.3 minutes


sequential table scan, optimized json cast, per-partition batch 600,000 ***
36m42.081s
11.5s
25.5 minutes



*micro benchmarking consists of simply copying a query, running it manually, and observing the runtime.
**micro benchmark time x (80 million / batch size)
**Note that this testing does NOT include the extra modified range query that is needed for correctness. We expect this to be quite fast and is only needed to catch edge case events.

Reviewed-by: Ladislav Smola <lsmola@redhat.com>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-06-04 16:48:11 +00:00
Shane McDonald
239f20ede5 Bump to Ansible Runner alpha 5 release 2021-06-04 12:22:53 -04:00
Chris Meyers
ffbbcd2bf6 fix tests, add pagination tests
* job_created is a fake field as far as Django is concerned. Under the
hood, in postgres, this is the partition key so it is real. sqlite
doesn't support partitioning so we need to fake some things.
Specifically, we need to remove job_created from being auto-added to
get_event_queryset()
* Add pagination tests for <unified_job_name>/<id>/<job_events>?limit=x
endpoint to make sure the paginator is wired up.
2021-06-04 09:17:09 -07:00
Jake McDermott
b648957c8e Update pagination scheme for jobs
* Use an initial request for max event `counter` to get the total row count,
otherwise rely on websocket message counters to update remote row count

* For running jobs, request event ranges with counters to handle events getting
saved to db out of display order

* For jobs that are no longer running, continue to use page/pageSize scheme for
paging through the job events
2021-06-04 09:17:09 -07:00
Jim Ladd
31fe500921 move get_queryset handling to child view 2021-06-04 09:17:09 -07:00
Chris Meyers
2131703ca0 add/remove indexes, more get_event_querset()
* Do not cascade delete unified job events. We will clean those up in
cleanup_job runs
* Add limit pagination to all unified job events endpoints
2021-06-04 09:17:09 -07:00
Jim Ladd
c429563126 update view to handle hosts/N/ad_hoc_command_events 2021-06-04 09:17:09 -07:00
Chris Meyers
1a1d66d2a2 bump db partition migration 2021-06-04 09:17:09 -07:00
Chris Meyers
30871bd6cf close db and cache connection in new threads 2021-06-04 09:17:09 -07:00
Chris Meyers
321135da3d add limit pagination to jobs/<id>/job_events/
* trigger via jobs/<id>/job_events/?limit=10
* Can and should be used in conjunction with an indexed set of fields to
generate efficient pagination queries. i.e.
jobs/<id>/job_events?limit=10&start_line__gte=10
* If limit is not specified in the query params then the default
pagination will be used.
2021-06-04 09:17:09 -07:00
Jim Ladd
2a23b4c719 bump migration 2021-06-04 09:17:09 -07:00
Jim Ladd
f7d2f7a5e6 lint 2021-06-04 09:17:09 -07:00
Jim Ladd
e371de38ed update job cleanup tests for sqlite-based execution 2021-06-04 09:17:09 -07:00
Jim Ladd
84af610a1f remove rebase cruft 2021-06-04 09:17:09 -07:00
Jim Ladd
ef9f9129ba bump migration 2021-06-04 09:17:09 -07:00
Jim Ladd
7b188aafea lint 2021-06-04 09:17:09 -07:00
Chris Meyers
6ce227a6b6 bump migrations 2021-06-04 09:17:09 -07:00
Chris Meyers
1c97b9a046 no longer get the size of the gather set
* Before, we would get the min and max pk of the set we are to gather.
This changeset removes that.
* Before, we would, basically, know the size of the set we are to gather
and would query 100,000 of those job event records at a time. That logic
is now gone.
* Now, for unpartitioned job events we gather 4 hours at a time by
created time.
* Now, for partitioned job events we gather 4 hours at a time by
modified time.
2021-06-04 09:17:09 -07:00
Chris Meyers
137111351c bump migrations after devel rebase 2021-06-04 09:17:09 -07:00
Chris Meyers
c5a1e4c704 remove order by from partitioned events query
* The order by results in an in-memory sort that COULD blow out the
worker mem buffer and result in sorting having to take place on disk.
* This WILL happen with a default postgres 4MB mem buffer. We saw as
much as 20MB used. Note that AWX defaults postgres mem worker buffer to
3% of the DB memory on external installs and 1% on same-node installs.
So for a 16GB remote DB this would not be a problem.
* We are going to avoid this problem all together by NOT doing a sort
when gathering. Instead, we will sort remotely, in analytics.
2021-06-04 09:17:09 -07:00
Chris Meyers
4f058245e4 conditionally project job_created
* Old, _unpartitioned_main_jobevent table does not have the job_created
column
* New, main_jobevent does.
* Always in clude the job_created column. NULL if old, job_created if
new
* Bump events_table schema version from 1.2 to 1.3 because of the
job_created field
2021-06-04 09:17:08 -07:00
Chris Meyers
ecdf6cccf8 json cast optimization
* We found that having multiple `::json` casts in a query slows down
queries more and more by =~> 33%.
* This change coerces postgres into only casting once. Micro
benchmarking shows =~ 2-3x performance boost
2021-06-04 09:17:08 -07:00
Chris Meyers
4d7edbbad0 analytics support for db partitions
* Keep old primary key based analytics gathering for unpartitioned
tables.
* Use created time on new partitioned tables.
2021-06-04 09:17:08 -07:00
Jim Ladd
0f9f3f58e2 bump migration 2021-06-04 09:17:08 -07:00
Chris Meyers
34c4967d27 Revert "query for jobevents based on table location"
This reverts commit 278dc521fffb85d4faa023ccd634044cfd3b3d75.
2021-06-04 09:17:08 -07:00
Jim Ladd
6123b8e148 query for jobevents based on table location
* pre-migration jobevents live in unpartitioned table
  where only created field has index
* post-migration jobevents live in partitions
  where modified field has index
  (and should be used to ensure no events are missing)
2021-06-04 09:17:08 -07:00
Jim Ladd
b86d365dde collect job events based on job event modified time
* when collecting job events by creation time
  it is possible to miss events that were created
  at one point, but actually committed to the db
  much later.
* since events' modified time is set when they are
  committed to the db, we shouldn't miss any job events
* selecting job events by modified time wasn't possible
  beforehand because we didn't have an index for
  jobevent's modified field
2021-06-04 09:17:08 -07:00
Chris Meyers
4efbd45b3c add support for db partition in cleanup_jobs
Changes in old unpartitioned cleanup logic:
* Manually cascade delete events related to job(s)

(new partitions cleanup logic) For each event type:
* Get the event partitions that are within the cleanup date range
* Get a list of jobs to delete that are in the cutoff range.
* Jobs that are running, pending, or waiting in the job list are special.
* Use the special list to further filter the partition drop list.
* Drop partitions
* delete jobs
2021-06-04 09:17:08 -07:00
Jim Ladd
fb97687d14 lint 2021-06-04 09:17:08 -07:00
Jim Ladd
0f53d9b911 bump db partition migration 2021-06-04 09:17:08 -07:00
Jim Ladd
5a785798b0 is_partitioned should default to true when pk not set 2021-06-04 09:17:08 -07:00
Jim Ladd
14168297bd set event horizon to -1 for empty tables 2021-06-04 09:17:08 -07:00
Jim Ladd
7e1814e234 mock has_unpartitioned_events in collection tests
.. just like we do with the main awx tests
2021-06-04 09:17:08 -07:00
Jim Ladd
bdf11aa962 add migrations for Unpartitioned{Job}Event proxy models 2021-06-04 09:17:08 -07:00
Jim Ladd
46807205f8 Move created kwargs to right place 2021-06-04 09:17:08 -07:00
Jim Ladd
d749c172eb Ensure View.model exists before checking type 2021-06-04 09:17:08 -07:00
Jim Ladd
81db8091ea test updates
* when tests create a UnifiedJob and JobEvent,
  the two need to have the same value for job creation time
* some view validation was skipped due to `model` being
  a property in some cases now
2021-06-04 09:17:08 -07:00
Jim Ladd
5c1a33382c update mocks to reflect new migration
* instead of mocking `created_or_epoch` (which no longer exists)
* .. mock `Unified_Job.has_unpartitioned_events`
2021-06-04 09:17:08 -07:00
Jim Ladd
db6f565dca black formatting 2021-06-04 09:17:08 -07:00
Jim Ladd
6b4effc85a bump partition migration to 135 2021-06-04 09:17:08 -07:00
Jim Ladd
74a0c5bac5 Minor rebase fallout
* fix import
* remove dropped url
2021-06-04 09:17:08 -07:00
Jim Ladd
661cf0afb3 short-circuit event_processing_finished for wf jobs
* wf jobs are a wrapper for other jobs
* they do not process their own job events
2021-06-04 09:17:08 -07:00
Ryan Petrello
fbb74a9896 remove code that leaves behind old bigint tables on fresh installs
we don't need this code at all anymore - the bigint migration is long
gone, and anybody upgrading to this version of AWX has already
migrated their data
2021-06-04 09:17:08 -07:00
Ryan Petrello
200901e53b upgrade to partitions without a costly bulk data migration
keep pre-upgrade events in an old table (instead of a partition)

- instead of creating a default partition, keep all events in special
"unpartitioned" tables
- track these tables via distinct proxy=true models
- when generating the queryset for a UnifiedJob's events, look at the
  creation date of the job; if it's before the date of the migration,
  query on the old unpartitioned table, otherwise use the more modern table
  that provides auto-partitioning
2021-06-04 09:17:08 -07:00
Jim Ladd
0eddd5ce7f Enable partition pruning when fetching job's events 2021-06-04 09:17:07 -07:00
Jim Ladd
a7cabec3d0 bump partition migration to 0132 2021-06-04 09:17:07 -07:00
Jim Ladd
b98b3ced1c update tests to reflect new job_event schema 2021-06-04 09:17:07 -07:00
Jim Ladd
8501a45531 lint fixes 2021-06-04 09:17:07 -07:00
Jim Ladd
14b610dabf bump partition migration 2021-06-04 09:17:07 -07:00
Jim Ladd
a1d1e70e43 correct constraint name 2021-06-04 09:17:07 -07:00
Jim Ladd
0fa0a517ac create tmp schema to reference when creating partitioned table
* if we use the actual old job events table
  and make tweaks to its schema
  namely, dropping the pkey constraint,
  then when we go to migrate the old job events
  we will be forcing postgres to do a sequential scan
  on the old table, which effectively causes the migration to hang
2021-06-04 09:17:07 -07:00
Jim Ladd
28f9c0be0b Do not cascade delete job_events
* want to drop job_event _partitions_
  .. instead of having the job events associated with a job
     automatically get cleaned up for us
2021-06-04 09:17:07 -07:00
Jim Ladd
373edbf8c0 Update reference to partition migration 2021-06-04 09:17:07 -07:00
Ryan Petrello
b19bcdd882 remove the global /api/v2/job_events/ endpoint 2021-06-04 09:17:07 -07:00
Ryan Petrello
08b96a0bd7 correct filter events on the migration event horizon
events that existed *prior* to the partition migration will have
`job_created=1970-01-01` auto-applied at migration time; as such,
queries for these events e.g., /api/v2/job/N/job_events/
use 1970-01-01 in related event searche

events created *after* the partition migration (net-new playbook runs
will have `job_created` values that *exactly match* the related
`UnifiedJob.created` field.
2021-06-04 09:17:07 -07:00
Jim Ladd
1e45e2ab9b Rev migration number 2021-06-04 09:17:07 -07:00
Ryan Petrello
2a58605727 some more events view cleanup 2021-06-04 09:17:07 -07:00
Ryan Petrello
c7ab3ea86e move the partition data migration to be a post-upgrade async process
this copies the approach we took with the bigint migration
2021-06-04 09:17:07 -07:00
Jim Ladd
67046513ae Push changes before rebasing 2021-06-04 09:17:07 -07:00
Jim Ladd
f9b439ae82 include job_created field in all job event types 2021-06-04 09:17:07 -07:00
Jim Ladd
80b08d17e3 Continue updating job event views 2021-06-04 09:17:07 -07:00
Jim Ladd
f642c520bd Update fields for job event models to match raw sql operations
* raw sql commands were in migration to partition table
* .. just needed to add FakeAddField entries for the new
     job_created field added to each job event model
* .. and also needed to actually list the new field on the model classes
2021-06-04 09:17:07 -07:00
Jim Ladd
221ddeb915 Fix migration for _all_ job event tables
- each job event table has a different name for the
  fk referencing the unified job id
- create a mapping so that we get the col name correct
  for each table
2021-06-04 09:17:07 -07:00
Jim Ladd
d90d0fb503 fix initial partition creation
* call create_partition correctly (include tblname)
* reference 'awx_epoch'
2021-06-04 09:17:07 -07:00
Jim Ladd
2c529f50af Update querysets for remaining job event views
- search should use job creation date
  so that only the table partition with the relevant job events
  is searched
2021-06-04 09:17:07 -07:00
Jim Ladd
acfa1c4d1d Drop todo / question / conditional
* can safely assume job_created is set
* .. and if it isn't, we want to expose that bug
2021-06-04 09:17:07 -07:00
Jim Ladd
ea2afeec1f Drop todo / answered question 2021-06-04 09:17:07 -07:00
Jim Ladd
a5cfc3036f create_partition needs tblname 2021-06-04 09:17:07 -07:00
Jim Ladd
ec484f81cf Partition *all* job event tables 2021-06-04 09:17:06 -07:00
Jim Ladd
2ffa22e38f Misc doc clean-up 2021-06-04 09:17:06 -07:00
Jim Ladd
8fb313638c get job events based on job creation date 2021-06-04 09:17:06 -07:00
Jim Ladd
0eb1984b22 Only create partitions for regular jobs 2021-06-04 09:17:06 -07:00
Jim Ladd
f259b0a71b Move partition start date to 2000 2021-06-04 09:17:06 -07:00
Jim Ladd
82df3ebddb add option to create partitions that span a single minute
* turned on by default currently for testing
2021-06-04 09:17:06 -07:00
Jim Ladd
c87d7b0d79 fix import 2021-06-04 09:17:06 -07:00
Jim Ladd
612e91263c auto-create partition 2021-06-04 09:17:06 -07:00
Jim Ladd
445042c0f4 Create partition only if it doesn't exist 2021-06-04 09:17:06 -07:00
Jim Ladd
0c289205de Give new primary key constraint unique name, create first live partition 2021-06-04 09:17:06 -07:00
Jim Ladd
ba45592d93 create helper method to create partitions
* create_partition()
2021-06-04 09:17:06 -07:00
Jim Ladd
7e0f2b0f08 first partition is _not_ a special case after all 2021-06-04 09:17:06 -07:00
Jim Ladd
fb30528197 Dynamically create initial partitions
* First partition holds all events up to this very moment
* And second partition starts where first left off and runs
  .. through rest of current hour
* From there, dynamically generated partitions will cover
  one hour at a time
2021-06-04 09:17:06 -07:00
Jim Ladd
48f1910075 Remove temporary catch-all partition 2021-06-04 09:17:06 -07:00
Jim Ladd
0cb2d79889 Only save job_created field on JobEvent for the time being
* Once other job event tables are migrated, remove this
2021-06-04 09:17:06 -07:00
Jim Ladd
1af1a5e9da Convert job_created to string for serialization 2021-06-04 09:17:06 -07:00
Jim Ladd
c0d38e91f5 When saving JobEvents, include job_created
* this is the partition key
* .. used to determine which partition job event rows are sent to
2021-06-04 09:17:06 -07:00
Jim Ladd
2f737f644f Drop primary key index before creating partition table
* Partition tables require unique contstraints to include the
  partition key (uniqueness can only be enforced _inside_
  of a given partition table)
2021-06-04 09:17:06 -07:00
Jim Ladd
0574baf7f7 Create fake partition
* Just to get things working
* Will implement dynamic creation of partitions later
2021-06-04 09:17:06 -07:00
Jim Ladd
f70473dc0b When copying main_jobevent, include all table metadata
* copy the table just like we do in the bigint migration
* without this we lose sequences and very likely other things
  as well
* we want the new table to be identical to the old table,
  so 'including all' makes sense
2021-06-04 09:17:06 -07:00
Jim Ladd
de0b25862b By default, save job_created as null in db
* Want to avoid saving date as empty string
* Should default to null so that it's obvious the field is empty
2021-06-04 09:17:06 -07:00
Jim Ladd
6ff15a928a Register new column created by SQL
* .. using FakeAddField model type
* .. without doing this, Django won't know
     about the field we created using raw SQL
2021-06-04 09:17:06 -07:00
Jim Ladd
d10d1963c1 Rename / remove old main_jobevent table 2021-06-04 09:17:06 -07:00
Jim Ladd
c6acca08d5 first draft of db partitioning 2021-06-04 09:17:06 -07:00
Chris Meyers
9946959599 clarify reference to code to be pasted 2021-06-04 12:10:10 -04:00
Chris Meyers
9ce171d349 Merge pull request #8 from beeankha/doc_edits
Doc Edits
2021-06-04 11:12:47 -04:00
softwarefactory-project-zuul[bot]
12f2975809 Merge pull request #10358 from jakemcdermott/fix-credlink
Make IG credential linkable

SUMMARY
Make the instance group credential detail link to the cred

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-04 15:12:03 +00:00
softwarefactory-project-zuul[bot]
945125454b Merge pull request #10357 from jakemcdermott/fix-inventory-host-search-config
Add search config for inventory hosts

SUMMARY
Adds search config for inventory hosts.
(includes default icontains, etc.)

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-04 15:05:25 +00:00
softwarefactory-project-zuul[bot]
ea67c70437 Merge pull request #10257 from mabashian/6073-typeahead-lookup
Adds support for typing values into single select lookups

SUMMARY
link #6073
This adds support for typing values into single select lookups.  Multi-select lookups (credentials on the JT form, instance groups, etc) will remain unchanged.
An input is now rendered next to the lookup button which will allow users to type a value in.
Here's the button (which opens the modal):

Here's the input (which lets users type a value in):

There's a debounce on the input so that we only make a request to check to see if the name is valid after a second of no typing.
The tricky part of this implementation was handling validation on the lookup fields.  If a user types in a string that does not exactly match a value that they can use then we want to show an error indicating that no matching value was found:

but this was tricky because some of these fields are required so the validation functions would need to change a bit.
Since the typed text and the actual underlying value of the lookup are different the validation function would need to have access to both values whenever it runs for this to work.  This meant either storing the typed text up at the form level or pushing the validation down into the lookup(s).  After talking with @keithjgrant we decided to go down the route of pushing the validation down to the lookups.
You can now pass an optional validation function down to the various lookups that will get combined with the typeahead validation via the useField hook.
Here's the whole thing in action:

ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Michael Abashian <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-04 15:03:53 +00:00
beeankha
f2f2483708 Doc edits 2021-06-04 11:01:06 -04:00
Alex Corey
8c61a49e01 prevents dashboard counts from reloading with line chart filters change 2021-06-04 10:55:40 -04:00
Jake McDermott
88ff68295b Make IG credential linkable 2021-06-04 10:27:14 -04:00
Jake McDermott
d93f62c030 Add search config for inventory hosts 2021-06-04 09:51:43 -04:00
Chris Meyers
ae5b11a2a9 add docs on debugging job event perf 2021-06-04 09:12:23 -04:00
Rebeccah
baade775ab remove changes to root.py to keep the custom virtualenvs listed in api/config 2021-06-04 09:11:23 -04:00
Rebeccah
bd2da80cea restructure so the -q is actually completely quiet 2021-06-04 09:11:22 -04:00
Rebeccah
550ab82f63 add the conditionals for incorrect paths and helpful info for if a user does that
and remove unused import
2021-06-04 09:11:22 -04:00
Rebeccah
cece7ff741 add a -q flag to make scripting easier and general improvements for readability 2021-06-04 09:11:22 -04:00
Rebeccah
c0b812c47a split unified job templates out into jts and projects because workflows
don't have custom virtualenvs & rename file so the command is shorter

update copypasta and add sanity check
2021-06-04 09:11:22 -04:00
Rebeccah
b256e5b79d adding in a 3rd command that shows the associated templates, orgs, and invs the venv is tied to 2021-06-04 09:11:22 -04:00
Rebeccah
2ed3038a5c fixed what would be a rather embarrassing misspeeeling 2021-06-04 09:11:21 -04:00
Rebeccah
779ca8b260 split the one command into two for clarity and remove unused imports 2021-06-04 09:11:21 -04:00
Shane McDonald
137fedfc9b Rename custom venv export command and add usability tweaks
- Uses a positional argument instead of a named arg
- More helpful output
2021-06-04 09:11:21 -04:00
Shane McDonald
256a47618f Ignore awx venv
- General usability / readibility improvements
2021-06-04 09:11:20 -04:00
Rebeccah
dfaa69be51 add an awx-manage command that gets pip freeze data from custom_venvs and outputs to command line stdout
remove analytics tests for counts of custom venvs, bump collector version, and remove list of custom venvs from API
2021-06-04 09:11:16 -04:00
softwarefactory-project-zuul[bot]
c34fa30ea7 Merge pull request #10342 from mabashian/10338-checkbox-double-select
Fixes bug where checkbox list item was selecting things twice

SUMMARY
Resolves #10338
There was a click event on the row and the underlying checkbox.  I got rid of the underlying click event so now its only handled at the row level.

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-03 21:37:05 +00:00
softwarefactory-project-zuul[bot]
3e5ee9d57a Merge pull request #10322 from jbradberry/show-ee-resolver
Expose the EE resolver to the API

SUMMARY
This change exposes the output of .resolve_execution_environment() for job templates as a new summary field in the API.  Note that this is only exposed for the detail views, not the list views.  Also, there is the caveat for job templates that may be run under workflows that the workflow EE might override the results of this value.
related #10210
ISSUE TYPE

Feature Pull Request

COMPONENT NAME


API

AWX VERSION

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Chris Meyers <None>
Reviewed-by: Jeff Bradberry <None>
2021-06-03 21:11:33 +00:00
softwarefactory-project-zuul[bot]
c7dd3996df Merge pull request #10351 from AlanCoding/sliced_ee
Skip sliced jobs from the workflow EE logic

Addressing some unanticipated fallout from #10305
Sliced jobs rely on creating a workflow job, but they do not have a workflow_job_template, so in those cases, that was causing a traceback.
2021-06-03 20:10:52,319 ERROR    [a17ebd7f] awx.main.dispatch Worker failed to run task awx.main.tasks.RunJob(*[341], **{}
Traceback (most recent call last):
  File "/awx_devel/awx/main/dispatch/worker/task.py", line 90, in perform_work
    result = self.run_callable(body)
  File "/awx_devel/awx/main/dispatch/worker/task.py", line 65, in run_callable
    return _call(*args, **kwargs)
  File "/awx_devel/awx/main/tasks.py", line 759, in _wrapped
    return f(self, *args, **kwargs)
  File "/awx_devel/awx/main/tasks.py", line 1264, in run
    self.instance = self.update_model(self.instance.pk, execution_environment=self.instance.resolve_execution_environment())
  File "/awx_devel/awx/main/models/mixins.py", line 477, in resolve_execution_environment
    if wf_template.execution_environment is not None:
AttributeError: 'NoneType' object has no attribute 'execution_environment'

that is fixed with this, at least for my one simple test case
This left jobs hanging out in "waiting" status, which is really not good.

Reviewed-by: Jeff Bradberry <None>
2021-06-03 21:02:01 +00:00
softwarefactory-project-zuul[bot]
e342919735 Merge pull request #10323 from wenottingham/look-over-there
Add additional controller directory for collections for inventory update

SUMMARY
This may be present in some scenarios with additional collections for inventory usage.

Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-06-03 20:42:04 +00:00
Jeff Bradberry
d0991bab9e Expose the EE resolver to the job template detail API endpoints 2021-06-03 16:35:50 -04:00
Alan Rominger
efcbea1fc5 Skip sliced jobs from the workflow EE logic 2021-06-03 16:20:47 -04:00
Alex Corey
1537b84ec8 adds more filters to dashboard chart 2021-06-03 15:31:43 -04:00
softwarefactory-project-zuul[bot]
30b7535ca2 Merge pull request #10348 from rooftopcellist/container_groups_error
Fix error msg wording and sdb docs

SUMMARY

Fixes wording in container groups error message
Updates ports for sdb debugging docs

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-03 19:02:34 +00:00
Christian M. Adams
fe02c0b157 Fix error msg wording and sdb docs 2021-06-03 14:24:18 -04:00
mabashian
177901eca6 Adds assertion to ensure that only one chip is shown when a checkbox list item is selected 2021-06-03 14:01:04 -04:00
mabashian
c2c93e7a66 Fix unit test failures 2021-06-03 13:50:26 -04:00
Bill Nottingham
00e60d2698 Add additional controller directory for collections for inventory update 2021-06-03 13:26:23 -04:00
Jake McDermott
ec1408fbd1 Disable cancel button on http 405
When a 405 is received, it means the job is already cancelled. Treat the
request as a success and don't show an error modal.

We disable the button to handle a rare scenario where we receive the 405 long before
the job status is properly updated to "cancelled" over websockets. We want to prevent
more cancel requests when this happens. We're disabling instead of hiding the button
because, assuming the status hasn't changed over sockets, the buttons that usually
replace the cancel button on the toolbar won't be shown yet and we don't want to
needlessly flicker and shift button positions around by rapidly loading and unloading
a different number of buttons onto the bar.
2021-06-03 13:02:03 -04:00
softwarefactory-project-zuul[bot]
23c3e62211 Merge pull request #10345 from sarabrajsingh/bugfix/bump-ansible-runner-version
updated ansible-runner version from 2.0.0a2 -> 2.0.0a4 in requirement…

SUMMARY
version bump (ansible-runner 2.0.0a2 -> 2.0.0a4)
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION

awx: 19.2.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-03 16:49:38 +00:00
Sarabraj Singh
383c2bba58 updated ansible-runner version from 2.0.0a2 -> 2.0.0a4 in requirements files 2021-06-03 11:53:57 -04:00
softwarefactory-project-zuul[bot]
8adb53b5a8 Merge pull request #10292 from mabashian/8824-role-modal
Fixes bug where user/team role add modal state is not cleared on close

SUMMARY
link #8824
I modeled these changes after the pattern that existed between ResourceAccessList and AddResourceRole.  The key to fixing this bug is that the component that renders the wizard needs to be unmounted when the wizard closes so that the state, etc get cleared out before the next time the wizard is opened.  In order to achieve that I needed to decouple the add button from the wizard.
The sort of weird part of this pattern (and this exists in the ResourceAccessList as well) is error handling.  We pass the error back and set that to state before rendering the modal which isn't quite as clean as having the request made out at the list level and leveraging our hooks for error handling but I decided to just get in and get out and not worry about trying to refactor too much.
Here it is in action:

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
2021-06-03 15:52:40 +00:00
softwarefactory-project-zuul[bot]
92401e5328 Merge pull request #10301 from kdelee/unqualified_images
Force fully qualified image names

If we try and pull an unqualified image name, jobs hang on a podman
prompt.
I set the permissions as 644 because thats what worked for me because rootless podman needs to be able to read the file, but maybe there is another way to achieve that

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-06-03 15:45:24 +00:00
softwarefactory-project-zuul[bot]
d360fb212e Merge pull request #10258 from kdelee/ee_singular_awx_cli
allow singular execution_environment for cli

this makes "execution_environments" or "execution_environment" work
which is helpful
Now these both work:
awx execution_environments create --name foobar --image quay.io/ansible/awx-ee:latest

awx execution_environment create --name foobar1 --image quay.io/ansible/awx-ee:latest

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Jeff Bradberry <None>
2021-06-03 14:11:27 +00:00
mabashian
4c1b0297e7 Fixes bug where checkbox list item was selecting things twice 2021-06-03 09:48:20 -04:00
softwarefactory-project-zuul[bot]
a0b14b994d Merge pull request #8763 from wenottingham/licenses-to-kill
Restore UI license checker

27219d3 removed the license checker for UI dependencies as part of removing the UI. We actually still need it, just pointed at the new UI.
This brings it back, and updates it to do so. It also removes no longer needed license files.
It doesn't pass yet, as I haven't added licenses for the new UI dependencies in this PR. Hi @jakemcdermott.

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-06-02 23:48:52 +00:00
softwarefactory-project-zuul[bot]
168c022d3e Merge pull request #10329 from keithjgrant/6853-select-all-quirks
Clear list selections on pagination/search/sort

SUMMARY
Updates nearly every list* so that URL param changes (pagination, search, or sort) clear the selection. This prevents the list of selected items in state from including items that may no longer appear on screen — preventing the user from accidentally deleting or otherwise altering an item they may not realize they still have selected.
This also updates the useSelected hook to provide selectAll and clearSelected functions. Any lists that weren't yet already using this hook have been updated to do so.
Addresses #6853 and #7509
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

ADDITIONAL INFORMATION
*Lists that do not include this change are modals where the user is expected to paginate through screens and make several selections along the way (e.g. Multi Credential select modal), and lists that still use PaginatedDataList and are yet to be converted to PaginatedTable
Note: I originally wanted to make the clearSelected prop on PaginatedTable required, so any lists that don't have this fix applied would fail loudly. Unfortunately that wasn't possible, as there were a few lists that should not have this behavior, so I had to leave it as an optional prop.

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-06-02 23:11:41 +00:00
Shane McDonald
5adfacba64 Merge pull request #10321 from kdelee/management_cmd_ee_creds
Create default EE in seperate awx-managment cmd
2021-06-02 18:37:52 -04:00
Shane McDonald
52eeace20f Register default EEs when booting dev env 2021-06-02 18:19:41 -04:00
Keith J. Grant
21ff1d714d add useSelected tests for new functions 2021-06-02 14:48:53 -07:00
Keith J. Grant
eeca5512be update remaining lists to clear selection on pagination/search/sort 2021-06-02 14:41:20 -07:00
Keith J. Grant
143a4a61b3 clear list selection on navigate (first batch) 2021-06-02 14:41:20 -07:00
softwarefactory-project-zuul[bot]
fef24355ab Merge pull request #9908 from marshmalien/session-work
Add Session context and redirects

SUMMARY
Issues:
#8272 #9197 #8155 #9311

When user is logged out due to inactivity, redirect to the Login Page with a warning alert stating that their session expired.
When a user logs in on one tab, redirect from login page to home on the other tabs.
Clear session state when it expires and/or when a user logs out.
Redirect users to direct link destination after authentication

@AlexSCorey is looking at possibly rolling #9915 (SSO login redirect override URL is not working) into this PR
ISSUE TYPE


Feature Pull Request

COMPONENT NAME


UI

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-02 21:17:47 +00:00
softwarefactory-project-zuul[bot]
d70dfec6b6 Merge pull request #10215 from keithjgrant/9218-sort-in-modal
fix namespaced url params

SUMMARY
Fixes issues when multiple lists are on the page (generally only occurs now when on a list page with an open modal that contains a second list) — Navigating within the modal list currently wipes out URL parameters for the main list, causing the page to reload, which closes the modal. The fix prevents changes to one set of namespaced URL parameters from wiping out URL parameters from another namespace

Refactors query string utils to consolidate a lot of repeated logic from components into a new util, updateQueryString. Use this function to modify query string parameters while maintaining params for multiple namespaces at the same time.
QS utils that are no longer needed have been deleted: replaceParams and encodeNonDefaultQueryString

Addresses #10181 and #9218
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: John Mitchell <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-06-02 21:01:49 +00:00
softwarefactory-project-zuul[bot]
49eccfb19f Merge pull request #10335 from mabashian/10129-multi-choice-survey
Properly validate multiple choice survey questions

SUMMARY
link #10129
In action:

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
2021-06-02 20:41:20 +00:00
Shane McDonald
223c5bdaf6 Tweaks to register_default_execution_environments command
- The credential will always be updated. I dont think we want to decrypt the password here for comparison
- Preserve newlines in help text
2021-06-02 16:26:58 -04:00
Elijah DeLee
e740cfcb52 revert change to serializer and use get_or_create
still need to fix up the handling of the verify-ssl bool, since
it is not being respected
2021-06-02 16:16:36 -04:00
softwarefactory-project-zuul[bot]
65b03174ea Merge pull request #10304 from akus062381/add-ouia-to-yaml-jason-buttons
Adds ouiaId to YAML and JSON buttons in Variables Detail

small change to add a better locator to these buttons. if we do not do this, our locators for our visual tests are not good and will eventually break tests

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-06-02 19:51:31 +00:00
mabashian
134d84ded9 Adds unique ouiaId to MultiButtonToggle 2021-06-02 14:48:37 -04:00
akus062381
5707d65d0f fix 2021-06-02 14:48:10 -04:00
akus062381
9956538224 yay 2021-06-02 14:48:10 -04:00
Elijah DeLee
7818b2008f Allow modifications of managed_by_tower creds
Sysadmins may need to modify managed_by_tower credentials, the
only known case of which is a default container registry credential
for use by the default execution environments, which are also managed_by_tower
and allow modifications.
2021-06-02 13:05:02 -04:00
Elijah DeLee
043aff6a8c Create default EE in seperate awx-managment cmd
Create EE at a seperate time and also attach a registry credential if
auth information provided

This command can be run multiple times on the same instance and should be
idempotent.
2021-06-02 12:23:01 -04:00
softwarefactory-project-zuul[bot]
7725c6f18f Merge pull request #10305 from jbradberry/resolve-workflow-ee
Include the EE set on a workflow template in the resolver hierarchy

SUMMARY
This step comes immediately after checking the actual job/template for
an explicitly set EE.
Note that now, because of how jobs are spawned off of workflow nodes,
the call to .resolve_execution_environment() no longer happens in
.create_unified_job().  The job instance within .create_unified_job()
doesn't yet have access to the node that it will be attached to,
making it impossible to use this information in the resolver if called
there.
related #9560
ISSUE TYPE


Feature Pull Request
Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-06-02 16:22:39 +00:00
mabashian
16a3f7c2df Properly validate multiple choice survey questions 2021-06-02 10:38:11 -04:00
softwarefactory-project-zuul[bot]
896d895934 Merge pull request #10326 from chrismeyersfsu/fix-iso_path_sharing
when sharing paths use little z

AWX_ISOLATION_SHOW_PATHS will be shared between containers. Strange
file not found error can crop up when concurrently accessing shared
directories between multiple containers that are bind mounted with big
Z. So make sure we use little z.

Fixes errors like below:
fatal: [localhost]: FAILED! => {"changed": false, "cmd": "/usr/bin/git ls-remote file:///opt/tmpawx/at_DrunkMail525450112299457413919634186288881628802211907645041298254_test/ -h refs/heads/HEAD", "msg": "fatal: '/opt/tmpawx/at_DrunkMail525450112299457413919634186288881628802211907645041298254_test/' does not appear to be a git repository\\nfatal: Could not read from remote repository.\\n\\nPlease make sure you have the correct access rights\\nand the repository exists.", "rc": 128, "stderr": "fatal: '/opt/tmpawx/at_DrunkMail525450112299457413919634186288881628802211907645041298254_test/' does not appear to be a git repository\\nfatal: Could not read from remote repository.\\n\\nPlease make sure you have the correct access rights\\nand the repository exists.\\n", "stderr_lines": ["fatal: '/opt/tmpawx/at_DrunkMail525450112299457413919634186288881628802211907645041298254_test/' does not appear to be a git repository", "fatal: Could not read from remote repository.", "", "Please make sure you have the correct access rights", "and the repository exists."], "stdout": "", "stdout_lines": []}```

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-01 19:55:14 +00:00
Chris Meyers
067e6a5163 when sharing paths use little z
* AWX_ISOLATION_SHOW_PATHS will be shared between containers. Strange
file not found error can crop up when concurrently accessing shared
directories between multiple containers that are bind mounted with big
Z. So make sure we use little z.
2021-06-01 15:11:25 -04:00
Marliana Lara
92f567539f Update .po strings 2021-06-01 14:43:11 -04:00
Marliana Lara
951f6d4636 Redirect user after authenticating through social auth 2021-06-01 13:28:33 -04:00
Marliana Lara
811fa514d2 Remove useMemo from session context 2021-06-01 13:28:33 -04:00
Marliana Lara
a097602d7f Add Session context and redirect on auth 2021-06-01 13:28:29 -04:00
softwarefactory-project-zuul[bot]
a286324ab7 Merge pull request #10313 from YoungjuWang/patch-1
Update README.md

SUMMARY
Guide for running docker-compose with detached mode
ISSUE TYPE


Docs Pull Request

AWX VERSION

19.1.0

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-06-01 16:16:08 +00:00
Shane McDonald
64bd49da16 Delete dependabot.yml 2021-06-01 09:19:33 -04:00
softwarefactory-project-zuul[bot]
5622bf1a0a Merge pull request #10260 from mabashian/8249-resource-name-launch
Adds resource name and description to launch and schedule prompt wizards

SUMMARY
link #8249
link #7254
Launch with description:

Launch without description:

ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Kersom <None>
Reviewed-by: Michael Abashian <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-06-01 13:14:37 +00:00
softwarefactory-project-zuul[bot]
862f40a643 Merge pull request #10320 from shanemcd/bump-19.2.0
Bump version and update for 19.2.0

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-06-01 12:59:22 +00:00
softwarefactory-project-zuul[bot]
41e3a69001 Merge pull request #10225 from AlanCoding/deletions
Remove code and settings no longer used

Connect #8740

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-06-01 12:42:32 +00:00
Shane McDonald
cabc60792b Bump version and update for 19.2.0 2021-06-01 08:18:21 -04:00
왕영주 (Youngju Wang)
eb305edafd Update README.md
How to run docker-compose with '-d' option
2021-05-31 17:49:43 +09:00
Keith J. Grant
e6cfd726c6 don't reload host if query string changes 2021-05-27 13:22:47 -07:00
mabashian
ec78f5a9ec Add name/description to mock resources in tests 2021-05-27 16:18:03 -04:00
mabashian
d711a9aed3 Mark string for translation 2021-05-27 16:11:19 -04:00
mabashian
4836a5b1a9 Extract strings 2021-05-27 15:57:00 -04:00
softwarefactory-project-zuul[bot]
57b093aa2a Merge pull request #10294 from kdelee/clarify_help_msg
clarify format of date for host_metric

SUMMARY


@amolgautam25 @AlanCoding let me know what you think -- I was taking a second look at the CLI and took me a bit to remember the format it wants is YYYY-MM-DD

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Amol Gautam <amol_gautam25@yahoo.co.in>
2021-05-27 19:26:48 +00:00
Jeff Bradberry
d3cc439fa8 Include the EE set on a workflow template in the resolver hierarchy
This step comes immediately after checking the actual job/template for
an explicitly set EE.

Note that now, because of how jobs are spawned off of workflow nodes,
the call to .resolve_execution_environment() no longer happens in
.create_unified_job().  The job instance within .create_unified_job()
doesn't yet have access to the node that it will be attached to,
making it impossible to use this information in the resolver if called
there.
2021-05-27 15:22:44 -04:00
softwarefactory-project-zuul[bot]
fabc67eeb3 Merge pull request #10279 from mabashian/8852-checkbox-list-item
Fixes bug where users were unable to click on text next to checkboxes/radios in modals

SUMMARY
link #8852
This should impact lists in modals where the user can select one or more of the rows.  They should now be able to click on the text/row in order to select.  Examples:

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-27 19:06:50 +00:00
softwarefactory-project-zuul[bot]
c29a7ccf8b Merge pull request #10102 from jbradberry/disable-local-users
Add the ability to disable local authentication

SUMMARY
When an external authentication system is enabled, users would like the ability to disable local authentication for enhanced security.
related #4553
TODO

 create a configure-Tower-in-Tower setting,  DISABLE_LOCAL_AUTH
 expose the setting in the settings UI
 be able to query out all local-only users

User.objects.filter(Q(profile__isnull=True) | Q(profile__ldap_dn=''), enterprise_auth__isnull=True, social_auth__isnull=True)
see: awx/main/utils/common.py, get_external_account


 write a thin wrapper around the Django model-based auth backend
 update the UI tests to include the new setting
 be able to trigger a side-effect when this setting changes
 revoke all OAuth2 tokens for users that do not have a remote
auth backend associated with them
 revoke sessions for local-only users

ultimately I did this by adding a new middleware that checks the value of this new setting and force-logouts any local-only user making a request after it is enabled


 settings API endpoint raises a validation error if there are no external users or auth sources configured

The remote user existence validation has been removed, since ultimately we can't know for sure if a sysadmin-level user will still have access to the UI.  This is being dealt with by using a confirmation modal, see below.


 add a modal asking the user to confirm that they want to turn this setting on

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API
UI

AWX VERSION

Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Mat Wilson <mawilson@redhat.com>
Reviewed-by: Michael Abashian <None>
Reviewed-by: Chris Meyers <None>
2021-05-27 18:37:47 +00:00
mabashian
af162b6897 Use expandable section when description is longer than 512 characters to avoid making the wizard unusably long 2021-05-27 14:28:54 -04:00
softwarefactory-project-zuul[bot]
dd269804fd Merge pull request #10234 from rooftopcellist/rm_eula_acceptance
Remove explicit eula acceptance

SUMMARY
Issue: ansible/tower#4948
This PR changes the entitlement process to no require explicit acceptance of the Eula, but still display it for the user to read.
ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API
UI

AWX VERSION

19.1.0

ADDITIONAL INFO
If the eula_accepted field is passed, it will just be ignored.

Reviewed-by: Bill Nottingham <None>
2021-05-27 17:54:21 +00:00
mabashian
ad5cc3a393 Adds click event to table row to handle selecting/unselecting checkbox/radio 2021-05-27 12:23:03 -04:00
mabashian
50de068a02 Refactor functions that check typed text in lookups 2021-05-27 11:09:06 -04:00
Elijah DeLee
5d838b8980 Force fully qualified image names
If we try and pull an unqualified image name, jobs hang on a podman
prompt.
2021-05-27 10:59:25 -04:00
mabashian
4ec7ba0107 Adds support for typing values into single select lookups 2021-05-27 10:53:36 -04:00
mabashian
fa7a459e50 Fixes bug where user/team role add modal state is not cleared on close 2021-05-27 10:51:46 -04:00
mabashian
4b4e57889e Remove unused disabled prop 2021-05-27 10:50:11 -04:00
mabashian
f4ba87ea4f Fixes bug where users were unable to click on text next to checkboxes in modals 2021-05-27 10:47:31 -04:00
mabashian
dc64da6f72 Adds resource name and description to launch and schedule prompt wizards 2021-05-27 10:45:38 -04:00
softwarefactory-project-zuul[bot]
4e129d3d04 Merge pull request #10295 from wenottingham/nope--not-there-anymore
Move irc references to point to irc.libera.chat

c.f. ansible-community/community-topics#19 (comment)

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Matthew Jones <bsdmatburt@gmail.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-27 13:59:06 +00:00
softwarefactory-project-zuul[bot]
7542ebda48 Merge pull request #10293 from tchellomello/awx-doc
Redirect documentation to awx-operator docs

SUMMARY
CC: @shanemcd
Related: ansible/awx-operator#330
The PR ansible/awx-operator#330 enhances the AWX installation process via the awx-operator.
This PR redirects the installation notes to the awx-operator page so we can simplify and easy maintain the docs in one place.
ISSUE TYPE


Docs Pull Request

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-27 13:59:01 +00:00
mabashian
ff559a81db Remove eula checkbox from UI 2021-05-27 09:26:33 -04:00
Christian M. Adams
909cdc2425 Remove explicit eula acceptance 2021-05-27 09:26:32 -04:00
Bill Nottingham
8b183b5f5d Move irc references to point to irc.libera.chat
c.f. https://github.com/ansible-community/community-topics/issues/19#issuecomment-849071636
2021-05-27 00:36:30 -04:00
softwarefactory-project-zuul[bot]
da13196e59 Merge pull request #10278 from nixocio/ui_de_explanation
Update message about Default Execution Environment

Update message about Default Execution Environment
Organizations

Projects

See: #9715

Reviewed-by: Bill Nottingham <None>
Reviewed-by: Kersom <None>
2021-05-26 21:55:40 +00:00
Marcelo Moreira de Mello
d333b0080f Redirect documentation to awx-operator docs 2021-05-26 17:34:47 -04:00
Elijah DeLee
75de8a30f6 clarify format of date for host_metric 2021-05-26 17:31:11 -04:00
nixocio
3e2affb08e Update message about Default Execution Environment
Update message about Default Execution Environment

See: https://github.com/ansible/awx/issues/9715
2021-05-26 17:11:08 -04:00
softwarefactory-project-zuul[bot]
42dbd4ea73 Merge pull request #10289 from rooftopcellist/container-group-typo
The list secrets role rule is no longer not needed for container groups

SUMMARY
The list secrets role rule is no longer not needed for container groups.  This was simplified to just get the single matching secret using the read_namespaced_secret() method.

Reviewed-by: Seth Foster <None>
2021-05-26 19:18:07 +00:00
Christian M. Adams
36f47f3696 The list secrets role rule is no longer not needed for container groups 2021-05-26 14:38:56 -04:00
softwarefactory-project-zuul[bot]
c4eceb0915 Merge pull request #10180 from AlexSCorey/10162-ConvertOptionsList
Converts Options lists and other modal lists to tables

SUMMARY
This addresses #10162.  Note this issue I found while working on this #10181
Kicked Off E2E
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-26 15:11:46 +00:00
softwarefactory-project-zuul[bot]
a8b2b5892c Merge pull request #10267 from mabashian/10138-activity-stream
Fixes bug where activity stream changes were displaying as [object object]

SUMMARY
Resolves #10138
Here it is working:

In this case the value passed to the VariablesDetail component is a straight up JSON object (not a stringified JSON object) which that component does not seem to like in its current state.
Rather than looking at changing the VariablesDetail implementation I decided to just stringify the object before it gets passed in.  Since this object is generated by the backend I think it's safe to assume it will always be an object.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-26 15:01:23 +00:00
softwarefactory-project-zuul[bot]
f0129c857b Merge pull request #10271 from beeankha/galaxy_cred_export_bug
Enable Export of Galaxy Credentials Associated to Organizations

SUMMARY

Addresses #9342

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.1.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
2021-05-26 14:55:19 +00:00
softwarefactory-project-zuul[bot]
66789fa713 Merge pull request #10268 from wenottingham/branding-take-2
Update branding to match guidelines

SUMMARY
Name of product feature is Insights for AAP.

Reviewed-by: Michael Abashian <None>
2021-05-25 22:14:02 +00:00
softwarefactory-project-zuul[bot]
82a585dbe2 Merge pull request #10269 from nixocio/ui_migration_issue
Update migration page as per latest name changes

Update migration page as per latest name changes

  
    
    

    rename.mov
    
  

  

  


See: #8355

Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-05-25 21:44:54 +00:00
softwarefactory-project-zuul[bot]
2b4732f07b Merge pull request #10204 from rooftopcellist/container-groups-registry-creds
Container groups registry creds

SUMMARY
Fixes #10114
In VM-based installs, the user provides image pull creds to us, then we put them in an authfile and give it to podman via --authfile.
This is not so simple with ContainerGroups because we need to use the k8s API to apply a podspec to create containers in this paradigm.
Currently, the EE pod gets created, but errors when pulling the custom EE in from the private repo:

This work will modify the init() for the AWXReceptorJob class to create a k8s secret in the given namespace, then specify that secret name in the pod-spec as an imagePullSecret
Also, the imagePullPolicy was not being enforced when running JT's in EE's using container groups, this is because the imagePullPolicy nevery got set on the pod spec.
ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

devel

  
    
    

    
    

  


ADDITIONAL INFORMATION
Issues that this solves:

Image pull secret now gets created in the cluster namespace specified by the user for that container group.
imagePullSecret name gets set on the pod spec
If the pull secret already exists in the namespace, delete it, then create it.  (kube_api.replace_namespaced_secret did not work for this case...)
Enforce imagePullPolicy for EE's in container groups
Basic error handling

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Chris Meyers <None>
2021-05-25 21:03:44 +00:00
beeankha
02cd646b44 Update awxkit to enable export of Galaxy credentials associated to organizations 2021-05-25 16:52:54 -04:00
Bill Nottingham
c9ac18db24 Update branding to match guidelines 2021-05-25 16:25:34 -04:00
nixocio
5e369dc9e2 Update migration page as per latest name changes
Update migration page as per latest name changes

See: https://github.com/ansible/awx/issues/8355
2021-05-25 16:18:00 -04:00
mabashian
e0e66e3818 Fixes bug where activity stream changes were displaying as [object object] 2021-05-25 15:23:15 -04:00
Alex Corey
0a276a6276 resolves some poor styling on some lists 2021-05-25 15:21:01 -04:00
Christian M. Adams
536c02dc55 Simplify hostname parsing 2021-05-25 15:19:40 -04:00
Christian M. Adams
d607dfd5d8 Added error handling for pull secret creation requests
- Check (only) the existing secret to see if it's value would change.
2021-05-25 14:58:01 -04:00
softwarefactory-project-zuul[bot]
d2d62adcb9 Merge pull request #10248 from AlexSCorey/updatedPF
Updates PF

SUMMARY
This is a dependency bump for PF so that I can get an update that fixes a validation bug in pf date picker.
E2E test have been triggered
ISSUE TYPE
dep bump
COMPONENT NAME

UI

AWX VERSION



ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-25 18:57:55 +00:00
Christian M. Adams
cea6d8c3cb Use utf-8 & properly parse hostname from registry URL 2021-05-25 14:44:42 -04:00
Christian M. Adams
8316a1d198 Create pull secret in cluster and use it in PodSpec
- base64 encode secret values before creating the secret
  - Construct valid .dockerconfigjson
  - Cancel jobs where it will obviously fail & error handling
  - Check if the secret exists first, then attempts to replace it if it does.
2021-05-25 14:44:42 -04:00
Christian M. Adams
a0840ddec2 Enforce EE pull policy on Container Groups 2021-05-25 14:44:41 -04:00
softwarefactory-project-zuul[bot]
e28bed5a6c Merge pull request #9904 from MaximilianMeister/approval-docs
Document usage of workflow job template nodes with approvals

SUMMARY

I'm not sure if this procedure is mandatory, but it was the only way it worked for me.
It's already documented in one sentence that you can create all workflow template nodes first and then link them later. However in the Examples it has been missing to make it explicit, as it's not really intuitive when you create the nodes and link them at the same time, it won't work and you run into #8777
ISSUE TYPE


Docs Pull Request

AWX VERSION

awx: 19.0.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Maximilian Meister <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-05-25 17:22:08 +00:00
softwarefactory-project-zuul[bot]
25bb3fbd59 Merge pull request #10261 from shanemcd/bump-receptor
Bump receptor and receptorctl

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Yanis Guenane <None>
2021-05-25 17:09:30 +00:00
softwarefactory-project-zuul[bot]
f2cd630a90 Merge pull request #10251 from kdelee/options_ee
tweak message about image pull option

SUMMARY

I'm not sure if it is OK to change the migration in this way.
This message in the UI didn't make sense to me. If you all prefer the existing message, that is fine...I just think it is weird and doesn't tell you what it does.
If I don't care, I can leave it on --------- in the UI which is "do whatever the default is"
If I do care, its weird to choose an option saying I don't choose and option.

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Jeff Bradberry <None>
2021-05-25 16:19:41 +00:00
Shane McDonald
63d702d1aa Bump receptor and receptorctl 2021-05-25 11:58:10 -04:00
Elijah DeLee
b74990c480 allow singular execution_environment for cli
this makes "execution_environments" or "execution_environment" work
which is helpful
2021-05-25 11:28:47 -04:00
softwarefactory-project-zuul[bot]
d6c5a23e05 Merge pull request #10239 from mabashian/disable-pendo
Only initialize pendo if the key is available

SUMMARY
Don't bootstrap/init pendo if the key is missing or empty string

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-25 12:46:51 +00:00
mabashian
dd1bda3b67 Fix broken app container test 2021-05-25 08:06:06 -04:00
mabashian
82c3348b15 Only initialize pendo if the key is available 2021-05-24 17:34:00 -04:00
Elijah DeLee
058189dfcf tweak message about image pull option 2021-05-24 17:20:53 -04:00
softwarefactory-project-zuul[bot]
e2140ad7a8 Merge pull request #10250 from tiagodread/locators-screens
Add locators to screen page titles

Adds locators around the screen title so that we can use it in e2e tests.

Reviewed-by: Kersom <None>
2021-05-24 20:30:58 +00:00
softwarefactory-project-zuul[bot]
fedc40d578 Merge pull request #10230 from amolgautam25/issue_315_receptor
Adding AWX_CONTAINER_GROUP_POD_LAUNCH_TIMEOUT in defaults.py

--- Adding a new global variable AWX_CONTAINER_GROUP_POD_LAUNCH_TIMEOUT in defaults.py
--- Passing this parameter in receptor_params in AWXReceptorJob class
SUMMARY

Related issue : ansible/receptor#315
Corresponding PR on receptor side : ansible/receptor#316
I have added a global variable AWX_CONTAINER_GROUP_POD_LAUNCH_TIMEOUT  ( and set default value as 5 minutes ).
This will be passed onto Receptor in case a job is container group task.

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.1.0

ADDITIONAL INFORMATION




File Name : awx/main/tasks.py
Class Name : AWXReceptorJob
Function name: receptor_params(self)
Before the change the value of receptor_params before returning was :
{'secret_kube_config': '---\n'
                       'apiVersion: v1\n'
                       'clusters:\n'
                       '- cluster:\n'
                       '    insecure-skip-tls-verify: true\n'
                       '    server: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       '  name: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       'contexts:\n'
                       '- context:\n'
                       '    cluster: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       '    namespace: default\n'
                       '    user: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       '  name: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       'current-context: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       'kind: Config\n'
                       'preferences: {}\n'
                       'users:\n'
                       '- name: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       '  user:\n'
                       '    token: '
                       'sha256~otM0Z2vC8qfzm3eV0tfz-0V4DXKPqLC_Pp1gxXKuC-c\n',
 'secret_kube_pod': '---\n'
                    'apiVersion: v1\n'
                    'kind: Pod\n'
                    'metadata:\n'
                    '  labels:\n'
                    '    ansible-awx: 04366fdb-65ec-4efc-bb01-685e9ca7e05b\n'
                    "    ansible-awx-job-id: '21'\n"
                    '  name: automation-job-21\n'
                    '  namespace: default\n'
                    'spec:\n'
                    '  containers:\n'
                    '  - args:\n'
                    '    - ansible-runner\n'
                    '    - worker\n'
                    '    - --private-data-dir=/runner\n'
                    '    image: quay.io/ansible/awx-ee:0.2.0\n'
                    '    name: worker\n'}
>>>

After the change the value of receptor_params before returning is :
{'pod_pending_timeout': '5m',
 'secret_kube_config': '---\n'
                       'apiVersion: v1\n'
                       'clusters:\n'
                       '- cluster:\n'
                       '    insecure-skip-tls-verify: true\n'
                       '    server: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       '  name: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       'contexts:\n'
                       '- context:\n'
                       '    cluster: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       '    namespace: default\n'
                       '    user: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       '  name: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       'current-context: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       'kind: Config\n'
                       'preferences: {}\n'
                       'users:\n'
                       '- name: '
                       'https://api.tower.ocp4.testing.ansible.com:6443\n'
                       '  user:\n'
                       '    token: '
                       'sha256~otM0Z2vC8qfzm3eV0tfz-0V4DXKPqLC_Pp1gxXKuC-c\n',
 'secret_kube_pod': '---\n'
                    'apiVersion: v1\n'
                    'kind: Pod\n'
                    'metadata:\n'
                    '  labels:\n'
                    '    ansible-awx: 04366fdb-65ec-4efc-bb01-685e9ca7e05b\n'
                    "    ansible-awx-job-id: '21'\n"
                    '  name: automation-job-21\n'
                    '  namespace: default\n'
                    'spec:\n'
                    '  containers:\n'
                    '  - args:\n'
                    '    - ansible-runner\n'
                    '    - worker\n'
                    '    - --private-data-dir=/runner\n'
                    '    image: quay.io/ansible/awx-ee:0.2.0\n'
                    '    name: worker\n'}
>>>

We can see that an extra parameter has been added : 'pod_pending_timeout': '5m',
####Additional changes :
--- Removed AWX_CONTAINER_GROUP_POD_LAUNCH_RETRIES from defaults.py as it was not being used anywhere
--- Removed AWX_CONTAINER_GROUP_POD_LAUNCH_RETRY_DELAY from defaults.py as it was not being used anywhere

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Amol Gautam <amol_gautam25@yahoo.co.in>
Reviewed-by: Seth Foster <None>
2021-05-24 20:05:52 +00:00
Tiago
aeed2e0128 add locators to screen page titles 2021-05-24 16:22:38 -03:00
fedora
0c917caa2a --- Adding AWX_CONTAINER_GROUP_POD_LAUNCH_TIMEOUT in defaults.py
--- Passing this parameter in receptor_params in AWXReceptorJob class
--- Removed AWX_CONTAINER_GROUP_POD_LAUNCH_RETRIES from defaults.py as it was not being used anywhere
--- Removed AWX_CONTAINER_GROUP_POD_LAUNCH_RETRY_DELAY from defaults.py as it was not being used anywhere
2021-05-24 11:33:01 -04:00
Alex Corey
4fe4856d02 updates patternfly react core so that we can get time picker validation bug fix 2021-05-24 10:57:50 -04:00
Alan Rominger
cb1df4a334 Remove code and settings no longer used 2021-05-24 09:44:58 -04:00
Alex Corey
c456b944a5 Converts all Lists inside a modal, mostly components that use OptionsList, to paginated tables 2021-05-24 09:08:06 -04:00
Bill Nottingham
6d052fdab4 UI licenses 2021-05-21 16:25:55 -04:00
softwarefactory-project-zuul[bot]
7801590bef Merge pull request #10245 from tiagodread/add-testability
Add testability to the search and pagination fields

Add locators to search fields
See: #10241

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-05-21 17:26:27 +00:00
Tiago
d834afd541 Pagination 2021-05-21 12:40:42 -03:00
Tiago
34ac60b35c Search and AdvancedSearch 2021-05-21 12:31:55 -03:00
Bill Nottingham
51538b7688 Restore UI license checker removed as part of removing old UI
Remove no longer needed license files.
2021-05-21 00:37:11 -04:00
softwarefactory-project-zuul[bot]
b771929b6e Merge pull request #10195 from nixocio/ui_issue_9377
Fix null issue for limit

Fix null issue for limit.
See: #9377

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-05-20 21:33:48 +00:00
softwarefactory-project-zuul[bot]
a25eec5cfa Merge pull request #9654 from amolgautam25/issue_4687
Adding host_metrics for customers who don't have automation analytics

SUMMARY

I am trying to accomplish the following:

 Create a new model that stores details about hostname
 create corresponding migrations for it
 Update the table (main_hostmetrics) after playbook execution
 retrieve the data with custom awx-manage command :  awx-manage host_metrics --since <date> --until <date>


ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 18.0.0


ADDITIONAL INFORMATION

Reviewed-by: Ryan Petrello <ryan@ryanpetrello.com>
Reviewed-by: Amol Gautam <amol_gautam25@yahoo.co.in>
Reviewed-by: Chris Meyers <None>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Bill Nottingham <None>
Reviewed-by: Ladislav Smola <lsmola@redhat.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-05-20 13:55:46 +00:00
Alex Corey
3b5641c41b adds confirmation modal to switch 2021-05-20 09:31:31 -04:00
Keith J. Grant
8ac3cc1542 delete qs utils that are no longer used 2021-05-19 13:49:57 -07:00
Keith J. Grant
908263df50 Rewrite updateQueryString to preserve namespaces
* Refactors ActivityStream to use updateQueryString
2021-05-19 13:23:46 -07:00
softwarefactory-project-zuul[bot]
68f214c2be Merge pull request #8185 from AlanCoding/sniff_files_final
Use inventory and env private_data_dir subfolders

SUMMARY
This is another part of trying to get AWX to follow ansible-runner best practices.
See docs:
https://ansible-runner.readthedocs.io/en/stable/intro.html#runner-input-directory-hierarchy
So what runner & people expect is:
.
├── env
│   ├── envvars
│   ├── extravars
│   ├── passwords
│   ├── cmdline
│   ├── settings
│   └── ssh_key
├── inventory
│   └── hosts
└── project
    ├── test.yml
    └── roles
        └── testrole
            ├── defaults
            ├── handlers
            ├── meta
            ├── README.md
            ├── tasks
            ├── tests
            └── vars

What we were producing was something more like
├── cp
├── env
│   ├── cmdline
│   ├── envvars
│   ├── extravars
│   ├── passwords
│   ├── settings
│   └── ssh_key
├── project
│   ├── ansible.cfg
│   ├── ansible_env.yml
│   ├── async_tasks.yml
<snip>
│   └── vault.yml
└── tmp3evnorsu

There was no inventory folder, and inventory was stored in tmp3evnorsu as a top-level file. Any credential files were also saved in that same structure.
With this change, it's more like:
├── cp
├── env
│   ├── cmdline
│   ├── envvars
│   ├── extravars
│   ├── passwords
│   └── settings
├── inventory
│   └── tmp94xjm0d7
└── project
    ├── ansible.cfg
    ├── ansible_env.yml
    ├── async_tasks.yml
<snip>
    └── vault.yml

and any credential files (starting with tmp) are dumped into the env folder.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API

AWX VERSION
14.1.0

ADDITIONAL INFORMATION
The motivation for this is that ansible-runner may require specific mounts for every file of directory in the private_data_dir. As such, we really don't want randomized filenames in the top level directory. I don't know for sure this is the direction we are going to go, but this seems like a defensible change on its own, to better adhere to the practices someone familiar with ansible-runner would expect.

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Chris Meyers <None>
2021-05-19 17:24:33 +00:00
Jeff Bradberry
2aa3fe756e Remove the remote user existence validation
since we are going to do a confirmation modal dialog instead.
2021-05-19 10:27:51 -04:00
softwarefactory-project-zuul[bot]
20dd436ee9 Merge pull request #10226 from wenottingham/one-more
Rename one more Tower bit.

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-05-19 00:59:02 +00:00
Bill Nottingham
34f4dc521b Rename one more Tower bit. 2021-05-18 19:26:18 -04:00
softwarefactory-project-zuul[bot]
7e307a69ce Merge pull request #10217 from AlexSCorey/updatelingui
Updates LingUI Again

SUMMARY
This updates ling ui to bring in their latest release so that we don't have to run npm extract-strings every time we add/update a <Plural> or a string with a variable inside it.
ISSUE TYPE
-dependency upgrade
COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-05-18 22:01:55 +00:00
Keith J. Grant
7f6e022852 rename replaceNamespacedParams to updateQueryString 2021-05-18 14:15:26 -07:00
softwarefactory-project-zuul[bot]
282914e809 Merge pull request #10191 from chrismeyersfsu/fix-threading_tracebacks
close db and cache connection in new threads

It's not safe to share or re-use django db connections nor django cache connections across new threads nor processes.

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-18 19:41:58 +00:00
Keith J. Grant
d324c12348 add qs test confirming default values are omitted 2021-05-18 12:20:24 -07:00
Keith J. Grant
fd5e22a3f6 fix integer fields in removeParams; maintain page_size/sort 2021-05-18 12:00:20 -07:00
softwarefactory-project-zuul[bot]
7eaf1db3e0 Merge pull request #10206 from tchellomello/update_ee_via_operator
Commits settings.DEFAULT_EXECUTION_ENVIRONMENTS updates into the database

SUMMARY
Fixes: ansible/awx-operator#256
cc: @shanemcd
Cannot update execution environment version in place by updating the AWX spec via awx-operator.  For example, consider the scenario below:
spec:
  tower_ee_images:
    - image: registry.tatu.home/ansible/awx-ee:0.1.0
      name: My Custom Execution Environment

The expectation would be once you modify the AWX spec to the version below, the EE should reflect this change once the awx-operator finishes its reconciliation.
After:
spec:
  tower_ee_images:
    - image: registry.tatu.home/ansible/awx-ee:0.2.0
      name: My Custom Execution Environment

-- deployment got updated
- args:
        - receptor
        - --config
        - /etc/receptor.conf
        image: registry.tatu.home/ansible/awx-ee:0.2.0
        imagePullPolicy: IfNotPresent
        name: awx-devel-ee-ee
Besides the awx-operator updated the YAML deployment as expected, the change did not hit the database.
awx=# select * from main_executionenvironment;
 id |    created    |   modified    | description |     image      | managed_by_tower | created_by_id | credential_id | modified_by_id | organization_id |      name      | pull 
----+---------------+---------------+-------------+----------------+------------------+---------------+---------------+----------------+-----------------+----------------+------
  1 | 2021-05-11 15.| 2021-05-11 15.|             | registry.tatu..| t                |             1 |               |              1 |                 | My Custom Exec.| 
    |.:24:02.674302.|.:24:02.674327.|             |.home/ansible/a.|                  |               |               |                |                 |.ution Environm.| 
    |.+00           |.+00           |             |.wx-ee:0.1.0    |                  |               |               |                |                 |.ent            | 
(1 row)
ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

devel

ADDITIONAL INFORMATION


Quick proof of concept
>>> settings.DEFAULT_EXECUTION_ENVIRONMENTS
[{'name': 'My Custom Execution Environment', 'image': 'registry.tatu.home/ansible/awx-ee:0.2.0'}]
>>> [a.name for a in  ExecutionEnvironment.objects.all()]
['My Custom Execution Environment']
>>> [a.image for a in  ExecutionEnvironment.objects.all()]
['registry.tatu.home/ansible/awx-ee:0.2.0']

*** updating to new but keeping name 
>>> _, created = ExecutionEnvironment.objects.update_or_create(name='My Custom Execution Environment', defaults={'image': 'registry.tatu.home/ansible/awx-ee:0.3.0', 'managed_by_tower': True})
>>> [a.name for a in  ExecutionEnvironment.objects.all()]
['My Custom Execution Environment']
>>> [a.image for a in  ExecutionEnvironment.objects.all()]
['registry.tatu.home/ansible/awx-ee:0.3.0']

*** adding a new name
>>> _, created = ExecutionEnvironment.objects.update_or_create(name='My Custom Execution Environment2', defaults={'image': 'registry.tatu.home/ansible/awx-ee:0.3.0', 'managed_by_tower': True})
>>> [a.name for a in  ExecutionEnvironment.objects.all()]
['My Custom Execution Environment2', 'My Custom Execution Environment']
>>> [a.image for a in  ExecutionEnvironment.objects.all()]
['registry.tatu.home/ansible/awx-ee:0.3.0', 'registry.tatu.home/ansible/awx-ee:0.3.0']

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-18 18:36:07 +00:00
softwarefactory-project-zuul[bot]
1b1608cff9 Merge pull request #10221 from jbradberry/check-for-pre-commit-script
Add a check for the existence of pre-commit.sh

SUMMARY
so that you don't get stuck when working on branches that don't have this yet.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-05-18 18:33:54 +00:00
fedora
cb7b2289b7 Fixed Migration 2021-05-18 14:08:42 -04:00
fedora
c1ea489043 created a new model 'HostMetrics' which will contain the first timestamp and the most recent timestamp of any automation on a given object and Added a new 'awx-manage' command. command : awx-manage host_metrics --since <datetime> --until <datetime> 2021-05-18 13:56:45 -04:00
Jeff Bradberry
c887f84a05 Add a check for the existence of pre-commit.sh
so that you don't get stuck when working on branches that don't have this yet.
2021-05-18 13:20:55 -04:00
softwarefactory-project-zuul[bot]
fb7c827bff Merge pull request #10068 from wenottingham/fail-early-fail-often
Have the project update playbook warn if role/collection syncing is disabled

In recent AWX, a galaxy credential (even a blank one for galaxy.ansible.com) is required to sync role/collection content. This is done so that server precedence can be properly set, and so that it can be configured to pull only from a private content host.
This does lead to bug reports where the credentials are not set, and users don't understand why their content is not syncing. This makes that more clear.

Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-05-18 15:29:21 +00:00
Alex Corey
5f03768f5d updates ling ui so that we do not need to run npm extract-strings as often 2021-05-18 10:53:36 -04:00
softwarefactory-project-zuul[bot]
df3bd2e082 Merge pull request #10133 from mabashian/ui-next-pendo
Adds support for pendo initialization across the app

SUMMARY
We were already bootstrapping pendo as part of the subscription code I just moved that code to a more general place.  When the app container mounts (after login or on refresh) we check to see if the pendo flag is turned on.  If it is, we initialize pendo.  If it's not then we do nothing.  If a user goes into settings and manually changes the pendo tracking setting then we trigger a hard reload of the browser tab (to take the new setting into account and either initialize or not).  This functionality existed in the old UI as well.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Michael Abashian <None>
Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-18 14:51:07 +00:00
softwarefactory-project-zuul[bot]
3d80eb30b3 Merge pull request #10209 from beeankha/fix_integration_tests
Fix failing integration test playbooks

SUMMARY

Addressing issue #10104

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


Collections

Reviewed-by: Seth Foster <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-05-18 14:13:25 +00:00
softwarefactory-project-zuul[bot]
5ad48bda6c Merge pull request #10203 from jakemcdermott/add-default-error-boundary
Add default error boundary around screens

SUMMARY
Catch any unhandled non-async errors with an error boundary around screens. This will show a generic error message instead
of crashing the page.
The react docs decently summarize the general concept of error boundaries. The example code is informative, but there appears to be a few more edge cases that need to be dealt with. Rather than re-implement solutions for those, I decided to pull in a simple and well-tested library.
ADDITIONAL INFORMATION
before

after

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-18 00:30:29 +00:00
softwarefactory-project-zuul[bot]
fd60105db3 Merge pull request #10005 from AlanCoding/force_on_override
Update with force option if branch_override

Addresses a reported issue where force-pushing to feature branches did not work.
Connect #9371 (comment)

Reviewed-by: Bill Nottingham <None>
2021-05-17 23:58:31 +00:00
Keith J. Grant
25903431bc refactor JobOutput to use replaceNamespacedParams util 2021-05-17 15:25:16 -07:00
Keith J. Grant
f8374def64 refactor ListHeader to use replaceNamespacedParams 2021-05-17 15:09:37 -07:00
beeankha
82807a1b20 Update ad hoc command cancel test 2021-05-17 16:46:01 -04:00
softwarefactory-project-zuul[bot]
61ae80819f Merge pull request #10212 from sarabrajsingh/bugfix/create-seperator-worker-thread-for-transmit-jobs-9952
created a TransmitterThread class to start transmit jobs within. Surr…

SUMMARY

Surfaced this bug while fixing issue #9952.
Receptor-ctl would hang trying to read from a socket pair that is never closed, when the transmit job was executed yet threw an exception. This anomaly occurred when using a k8s cluster (Openshift in our case) as the execution environment.
FYI - for now, this only applies to container groups.
We moved the transmit function to execute in its own thread, and rejoin the calling function (_run_internal) when it finishes transmitting, and bubbling up exceptions if any occurred in the thread.

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.1.0

ADDITIONAL INFORMATION

Steps to reproduce bug:

Create an ansible project with some files (or roles) and commit to a git repository
Purposely commit a broken symlink on any file in the project files to git
Create a credential set that authenticates to your k8s cluster in AWX
Create a container instance group that leverages the credentials from Step 3 in AWX
Create a project in AWX that leverages the ansible project/git repo from Step 1
Create a job template that leverages the AWX project from Step 4 and set your EE to the container instance group from Step 3
Execute the job from Step 5

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-17 20:16:12 +00:00
beeankha
62a9c74040 Fix failing integration test playbooks 2021-05-17 15:56:39 -04:00
softwarefactory-project-zuul[bot]
0e74f51aa3 Merge pull request #10134 from AlexSCorey/10132-RelatedGroupsCnverttoTables
converts inventory groups related groups and related hosts to tables

SUMMARY
This addresses #10132
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-05-17 19:07:57 +00:00
Keith J. Grant
9bbaa6993f refactor param changes to use new util function 2021-05-17 11:49:02 -07:00
softwarefactory-project-zuul[bot]
966eead93f Merge pull request #10121 from saito-hideki/issue/10104
Remove source_script from tower_inventory_source integration test

SUMMARY
source_script parameter is on longer available in the current version AWX API(#9822), so we need to remove it from the integration test of tower_inventory_source module

Fixes #10104

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

awx_collections

AWX VERSION
devel

  
    
    

    
    

  


ADDITIONAL INFORMATION
None

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Hideki Saito <saito@fgrep.org>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-05-17 18:46:24 +00:00
Sarabraj Singh
12cea1191e created a TransmitterThread class to start transmit jobs within. Surrounded ansible_runner.interface.run() in a try/except block to prevent the call from hanging on a socket pair that doesn't close 2021-05-17 14:35:13 -04:00
Alan Rominger
5dac46cd7d Update with force option if branch_override 2021-05-17 11:57:46 -04:00
softwarefactory-project-zuul[bot]
2c2aaa7fea Merge pull request #10182 from jakemcdermott/standardize-dependency-updates
Use development container when updating dependencies

GOAL
When adding, updating, or removing a package, the resultant changeset to the package.json and package-lock.json files that we check into devel should be consistent and reproducible, regardless of who is doing the update or what machine they're doing the update on.
SUMMARY OF CHANGES

Even though we usually run the ui development tooling outside of the awx development container, we should standardize on using this environment to update packages to ensure some consistency.
Use npm ci instead of npm install as the default package installation command, since we generally want to modify package files only when updating deps
You can run into memory limits from docker or node when building in the container, so increase the node memory limit and add a note to the docs that you may need to increase the container memory limit in your docker-for-mac settings (or similar tool, if you use it)

Reviewed-by: Kersom <None>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-17 15:22:16 +00:00
Marcelo Moreira de Mello
997525076d update_or_create EE via settings.DEFAULT_EXECUTION_ENVIRONMENTS 2021-05-17 00:41:06 -04:00
softwarefactory-project-zuul[bot]
3b280e1b32 Merge pull request #10205 from jbradberry/favicon-fix
Add an nginx location directive for the favicon

SUMMARY
Add an nginx location directive for the favicon so that the rewrite rule that adds slashes to the ends of requested
urls doesn't get to it.
related #8618
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API
UI

AWX VERSION

Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-05-14 19:25:35 +00:00
softwarefactory-project-zuul[bot]
a8b6db3967 Merge pull request #10179 from nixocio/ui_issue_9126_2
Update login message to avoid duplicate brand name

Returned brandName already contain the name brand Ansible. Update to
avoid name brand repetition.
Also update brandName on document title.
See: #9126

Reviewed-by: Kersom <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-14 19:04:36 +00:00
Jeff Bradberry
bcf93810ad Add an nginx location directive for the favicon
so that the rewrite rule that adds slashes to the ends of requested
urls doesn't get to it.
2021-05-14 14:00:57 -04:00
Hideki Saito
0cb33bd278 Remove source_script from tower_inventory_source integration test
* Fixes #10104

Signed-off-by: Hideki Saito <saito@fgrep.org>
2021-05-15 00:18:37 +09:00
Jake McDermott
8c2ca29f4e Add default error boundary around screens
Catch any unhandled non-async errors with an error boundary
around screens. This will show a generic error message instead
of crashing the page.
2021-05-14 10:40:48 -04:00
softwarefactory-project-zuul[bot]
f1767d05b0 Merge pull request #10202 from tiagodread/3420-fix
Use non-root path links

Resolves ansible/tower#3420
Use non-root path for links

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-05-14 13:44:45 +00:00
softwarefactory-project-zuul[bot]
b1cd7eb997 Merge pull request #9988 from mabashian/9163-admin-approvals-page
Fixes bug where workflow approvals page would crash if deleted username was referenced

SUMMARY
link #9163
The tooltip on the status labels for completed workflow approvals attempts to show the username of the user that acted on it.  If that user has been deleted then the key is not present in the object.  This would cause the page to crash.
To fix this, I conditionally show a different string when the username is not available.  If a user wants to see which deleted user acted on the approval they'll have to go to the activity stream.

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Mat Wilson <mawilson@redhat.com>
2021-05-14 13:17:37 +00:00
Tiago
0f8533f123 use non-root path 2021-05-14 10:00:18 -03:00
softwarefactory-project-zuul[bot]
2191ab1c6c Merge pull request #10148 from keithjgrant/8907-launch-prompt-vars-validation
Add Variables field validation in launch prompt

SUMMARY

Adds validation for the Variables field during launch prompts.
Prevents unexpected expanding of YAML expressions in the default value (similar to #7506) — this was caused by the default value being parsed into a JavaScript object and then re-translated back to YAML when mounting the "Other Prompts" step

addresses #8907
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-13 21:01:09 +00:00
mabashian
9975d4764d Extract strings 2021-05-13 16:38:41 -04:00
mabashian
31907423ce Fixes bug where workflow approvals page would crash if deleted username was referenced 2021-05-13 16:37:04 -04:00
nixocio
94d46a6e96 Fix null issue for limit
Fix null issue for limit.

See: https://github.com/ansible/awx/issues/9377
2021-05-13 14:26:18 -04:00
Jeff Bradberry
6f4c41a8d3 Add validation checks
that prevent the setting from being turned on if remote auth systems
and users are not already present.
2021-05-13 13:57:33 -04:00
Jeff Bradberry
81de931711 Add a new middleware to force-logout local-only users
when the DISABLE_LOCAL_AUTH setting is set.  This avoids the ugliness
of getting a SuspiciousOperation error for any request/response cycles
that are in flight when a user gets bounced.
2021-05-13 13:55:44 -04:00
Jeff Bradberry
9e7f004ca6 Add a signal handler to invalidate sessions and tokens for local users
when this setting gets turned on.
2021-05-13 13:55:44 -04:00
Jeff Bradberry
5c664eadf9 Write a thin wrapper around the standard Django auth backend 2021-05-13 13:55:44 -04:00
Jeff Bradberry
26b7e9de40 Add a new setting, DISABLE_LOCAL_AUTH
and expose it in the settings UI.
2021-05-13 13:55:44 -04:00
softwarefactory-project-zuul[bot]
09801d0a9a Merge pull request #10159 from AlanCoding/inventory_ig
Add instance_group to inventory update serializer

SUMMARY
Inventory updates run remotely, in the execution plane. This adds the instance_group field to the inventory update serializer to help clarify this reality.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API

Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-13 17:50:45 +00:00
softwarefactory-project-zuul[bot]
a332f46f31 Merge pull request #10171 from jakemcdermott/remove-job-isolated-settings
Remove all AWX_ISOLATED* fields

I believe this should address #10123. The issue mentions a worker-json.js 404 and, while we should fix that at some point, I don't think it's actually related to the save not working.
SUMMARY
I noticed the job settings form wasn't saving on devel.
After some debugging, I found that removing the AWX_ISOLATED_CHECK_INTERVAL and AWX_ISOLATED_LAUNCH_TIMEOUT made the form saveable again.
It doesn't seem like we use any of the AWX_ISOLATED* fields anymore (not to be confused with AWX_ISOLATION* fields, which we do use) so this PR removes them all.
cc @wenottingham @shanemcd @marshmalien  @gamuniz @tiagodread @jbradberry

Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Bill Nottingham <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-13 17:32:15 +00:00
Jake McDermott
6f6d9e2f15 Update dependency update examples
There's no need to make a production build when updating dependencies,
just reiinstall
2021-05-13 13:09:30 -04:00
Jake McDermott
cd7c85490b Handle and document potential memory limit issues
* Increase node memory limit
* Add note to docs that you may need to increase container memory thresholds
imposed by docker-for-mac and similar tools if you're using them
2021-05-13 12:55:37 -04:00
Jake McDermott
a9ec7038de Use npm ci as default package installation command
We don't want to generate new package.json and package-lock.json
files unless we're explicitly updating new dependencies.
2021-05-13 12:55:28 -04:00
Jake McDermott
795e3c84fc Use development container when updating dependencies 2021-05-13 12:55:22 -04:00
softwarefactory-project-zuul[bot]
f2b2e64426 Merge pull request #10190 from jbradberry/fix-precommit-for-macs
Remove the shebang line from pre-commit.sh

SUMMARY

since bash isn't available by default on OS X.

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION



  
    
    

    
    

  


ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
2021-05-13 15:24:24 +00:00
Chris Meyers
9b7bc5109a close db and cache connection in new threads 2021-05-13 11:13:26 -04:00
Jeff Bradberry
d07887bd91 Remove the shebang line from pre-commit.sh
since bash isn't available by default on OS X.
2021-05-13 10:49:24 -04:00
softwarefactory-project-zuul[bot]
bb47bdbc43 Merge pull request #10185 from jakemcdermott/fix-10170
Drop the word 'name' from image field, add examples

for #10170
We call this field "Image" in other places, so we want it to match. Also, "Image name" can be confusing because people may think they just need to provide the image name instead of the full image location, which includes registry and tag version.
cc @gamuniz @nixocio @beeankha @tiagodread

Reviewed-by: Kersom <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Julen Landa Alustiza <None>
2021-05-13 14:44:38 +00:00
softwarefactory-project-zuul[bot]
d477f04d75 Merge pull request #10175 from AlanCoding/only_have_eyes_for_you
Add more fields to .only since they get referenced

SUMMARY
Fixes a performance bottleneck when saving playbook_on_stats for jobs that use --limit against a small number of hosts while it has a large number in the inventory.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

ADDITIONAL INFORMATION
'tis the problem with .only(), that only the developer who wrote the queryset remembers that the other fields cannot be referenced except at the cost of another query
https://github.com/ansible/awx/pull/7352/files

Reviewed-by: Chris Meyers <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-05-13 14:44:33 +00:00
Alan Rominger
e5f059806b Add instance_group to inventory update serializer 2021-05-13 09:00:43 -04:00
Alan Rominger
6649b435ce Fix flake8 error 2021-05-13 08:57:19 -04:00
Alan Rominger
ae320ab228 Do not set openstack env var to blank string 2021-05-13 08:57:19 -04:00
Alan Rominger
29c961e52a Remove comment 2021-05-13 08:57:19 -04:00
Alan Rominger
fd466c5cff Finish converting the runner strings 2021-05-13 08:57:19 -04:00
Alan Rominger
623cf0b4cd Start migrating the /runner path references 2021-05-13 08:57:18 -04:00
Alan Rominger
d33a748eea Clean up and test patch changing methods 2021-05-13 08:57:18 -04:00
Alan Rominger
1f1cdf8859 start on path helper methods 2021-05-13 08:57:18 -04:00
Alan Rominger
334be9eb25 Use durable switch from container to host path 2021-05-13 08:57:18 -04:00
Alan Rominger
8f9373085a Fix credential env folder, test_tasks.py 2021-05-13 08:57:18 -04:00
Alan Rominger
11c5d577d6 Fix rel path for other inventories 2021-05-13 08:57:17 -04:00
Alan Rominger
0e17023ba3 Inventory directory already pre-created 2021-05-13 08:57:17 -04:00
Alan Rominger
3c785fbff3 update unit tests to new behavior 2021-05-13 08:57:16 -04:00
Alan Rominger
0061c57577 update inventory injector tests 2021-05-13 08:56:38 -04:00
Alan Rominger
f59da78328 Use inventory and env private_data_dir subfolders
This avoids writing files to the top level
  of the ansible-runner private_data_dir

Inventory is moved to be in the standard "inventory" folder

Credential related files are moved inside of the "env" folder

Also pre-create these folders when preparing for a job run

With this, args is the only top-level file still remaining
2021-05-13 08:56:38 -04:00
softwarefactory-project-zuul[bot]
117bb07f0d Merge pull request #10187 from jakemcdermott/warn-and-recompile-lint
Warn but still recompile on lint error

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
2021-05-12 21:32:55 +00:00
softwarefactory-project-zuul[bot]
01fdc482be Merge pull request #10169 from jakemcdermott/fix-10127
Always resolve launching status

SUMMARY
Resolves #10127
Always resolve the launching status after any intermediate async activity that needs to occur while loading prompts, etc.

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-12 21:31:35 +00:00
softwarefactory-project-zuul[bot]
875abcd31a Merge pull request #10161 from nixocio/ui_issue_10144
Display error for boolean fields

Display error when modifying Allow Override Branch on Projects.
See: #10144

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Kersom <None>
2021-05-12 21:30:09 +00:00
Jake McDermott
3468153619 Warn but still recompile on lint error 2021-05-12 16:47:49 -04:00
softwarefactory-project-zuul[bot]
27b1d15a7a Merge pull request #10063 from nixocio/ui_issue_7777_style
Add slider to adjust capacity_adjustment

Add slider to adjust capacity adjustment.
Also add a new custom hook, useDebounce.

See: #7777

Reviewed-by: Kersom <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-12 20:17:28 +00:00
Jake McDermott
39ce0ade6d Update image descriptions, add examples 2021-05-12 16:10:42 -04:00
nixocio
dfb0710d69 Add slider to adjust capacity_adjustment
Add slider to adjust capacity adjustment.

Also add a new custom hook, useDebounce.

See: https://github.com/ansible/awx/issues/7777
2021-05-12 15:42:31 -04:00
nixocio
f6c9621510 Display error for boolean fields
Display error when modifying Allow Override Branch on Projects.

See: https://github.com/ansible/awx/issues/10144
2021-05-12 14:49:16 -04:00
softwarefactory-project-zuul[bot]
7f90a8b2b3 Merge pull request #10183 from beeankha/null_ee_show_error
Show Error if No Execution Environment is Found on Project Sync or Job Run

SUMMARY

Duplicate of PR #10147 fixing issue #10118

Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-12 18:47:50 +00:00
mabashian
0d17dfcd87 Pass config request through to subscription edit 2021-05-12 14:47:07 -04:00
mabashian
91134b2537 Remove erroneouos extra param 2021-05-12 14:47:06 -04:00
mabashian
3a56d2447c Adds support for pendo initialization across the app 2021-05-12 14:47:06 -04:00
softwarefactory-project-zuul[bot]
550a66553e Merge pull request #10113 from AlexSCorey/10045-ProjectListIssues
Adds Job Cancel Button

SUMMARY
This addresses part of #10045 and adds a sync cancel button on the projects list.  It also expands the usage of that button to the Project details page, and the Inventory Source list.  It does this by introducing a new component called JobCancelButton, that basically takes the work of the job cancel button on the Output toolbar and refactors it slightly to make it useable in these other areas.  This button could also be used in the Inventory Source details page once we have websockets hooked up for that view and we can track the status of the sync. (#9013)
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Kersom <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-12 18:27:06 +00:00
Jake McDermott
7fbe01352f Drop the word name from image field input
This field is labeled as just "Image" in other places, so we want
it to match. Also, "name" can be confusing because users will think
they just need to provide the image name instead of the full image
location, which includes registry and tag version.
2021-05-12 14:26:18 -04:00
beeankha
3520a6e066 Update fixtures on unit tests 2021-05-12 14:00:04 -04:00
beeankha
19d7f3e346 Update unit tests 2021-05-12 13:56:46 -04:00
softwarefactory-project-zuul[bot]
71f9476a51 Merge pull request #9759 from ghjm/idempotence_is_a_thing
Make tower_license module idempotent

SUMMARY
Currently, the tower_license module always installs a license, without checking if Tower is already licensed.  In general, Ansible modules are supposed to be idempotent.  This PR updates the module to check whether Tower is already licensed, and do nothing in that case.  A new parameter force is provided so the user can always install the license, or override an existing license with a new one.
ISSUE TYPE
Bughancement
COMPONENT NAME
awx_collection
AWX VERSION
awx: 18.0.0
(but really Tower 3.8.2)

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Graham Mainwaring <graham@mhn.org>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-05-12 17:44:47 +00:00
Tiago
ffcf76ddd0 update ouiaId 2021-05-12 14:41:10 -03:00
softwarefactory-project-zuul[bot]
d36babf506 Merge pull request #10145 from nixocio/ui_issue_8788
Allow modify scm branch override

Source Control Branch was not being displayed as part of the
JobTemplate Edit, since the project did not have the variable
allow_override as part of the summary_fields.


Add source control details for JobDetail and WorkflowJobTemplateDetail


See: #8788

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Mat Wilson <mawilson@redhat.com>
2021-05-12 17:37:14 +00:00
softwarefactory-project-zuul[bot]
a73cb0280c Merge pull request #10184 from jbradberry/explicit-pre-commit-script
Break out the pre-commit hook into an explicit script

SUMMARY

This means that

we don't have to be always updating the underlying .git/hooks/pre-commit file
updates to the logic will just work automatically
the logic of the conditional invocation of black has been fixed so that AWX_IGNORE_BLACK=1 should work correctly now


ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION



  
    
    

    
    

  


ADDITIONAL INFORMATION

Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Jeff Bradberry <None>
2021-05-12 16:37:27 +00:00
Jeff Bradberry
1e5a0dc7c5 Break out the pre-commit hook into an explicit script
This means that

- we don't have to be always updating the underlying .git/hooks/pre-commit file
- updates to the logic will just work automatically
- the logic of the black logic has been fixed so that AWX_IGNORE_BLACK=1 should work right now
2021-05-12 11:54:17 -04:00
beeankha
fd5f3a82d2 Show error if no Execution Environment is found on project sync/job run 2021-05-12 11:52:12 -04:00
softwarefactory-project-zuul[bot]
e970620672 Merge pull request #10174 from jbradberry/remove-isolated-instances
Data migration to remove the isolated instances from the database

SUMMARY


ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION



  
    
    
  


ADDITIONAL INFORMATION

Reviewed-by: Elyézer Rezende <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-05-12 14:27:03 +00:00
nixocio
1befacaf39 Update login message to avoid duplicate brand name
Returned brandName already contain the name brand Ansible. Update to
avoid name brand repetition.

See: https://github.com/ansible/awx/issues/9126
2021-05-12 08:44:28 -04:00
softwarefactory-project-zuul[bot]
e9bf25f108 Merge pull request #10176 from shanemcd/bye-docker
Use base image from quay.io/centos/centos

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-05-11 21:04:25 +00:00
Alex Corey
6c06b0432b adds job cancel button to job detail page and to job list 2021-05-11 16:35:08 -04:00
softwarefactory-project-zuul[bot]
a7c50b77ea Merge pull request #10048 from wenottingham/analyze-that
Update analytics branding

SUMMARY
cc @kyleabenson @benthomasson
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API
UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-11 20:28:24 +00:00
Alan Rominger
164255e516 Remove fields not needed from .only 2021-05-11 16:26:12 -04:00
softwarefactory-project-zuul[bot]
74282c5dfb Merge pull request #10173 from nixocio/ui_issue_10078
Display Edit/Delete on EE details page as per last API changes

Display Edit/Delete buttons on details page for EE managed by tower.
See: #10078

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-11 20:25:31 +00:00
Shane McDonald
afa3501194 Use base image from quay.io/centos/centos 2021-05-11 16:24:59 -04:00
Alan Rominger
0f5629b514 Add more fields to .only since they get referenced 2021-05-11 16:14:55 -04:00
Tiago
0db58f0edd update ouiaId 2021-05-11 16:02:39 -04:00
Alex Corey
7f022b1555 adds job cancel button to job detail page 2021-05-11 16:02:39 -04:00
Alex Corey
9f80f918c5 allows canceling of all jobs on job output page 2021-05-11 16:01:52 -04:00
Alex Corey
34fe255336 disables delete button on project details page 2021-05-11 16:00:55 -04:00
Alex Corey
03265c05ca fixes setstate, and double tooltip 2021-05-11 16:00:55 -04:00
Alex Corey
6c7e1fc4eb Adds Job Cancel Button
This refactors the cancel button on the job output page so that it can be used on the Project List page,
the Project detail page, and the Inventory Source list page. Once websockets are ready for the Inventory Source details page
and we can track the status of the source we can use this button there too.
2021-05-11 16:00:55 -04:00
Bill Nottingham
8683872927 Update analytics branding 2021-05-11 15:46:56 -04:00
Jeff Bradberry
7b47d7e7f6 Data migration to remove the isolated instances from the database 2021-05-11 15:46:39 -04:00
softwarefactory-project-zuul[bot]
19d000e97f Merge pull request #10157 from AlanCoding/minikube_docs
minikube instructions adjustments from debugging

SUMMARY
The awx-operator examples expect the tower_image_version as a separate var, and can error without that.
Also, there's still an issue getting going with ansible/deploy-operator.yml's Deploy Operator task. I'm still looking into that, the associated hack might change.
ISSUE TYPE

Docs Pull Request

COMPONENT NAME

API

AWX VERSION
19.1.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-11 19:00:02 +00:00
nixocio
8f54627ea6 Display Edit/Delete on EE details page as per last API changes
Display Edit/Delete buttons on details page for EE managed by tower.

See: https://github.com/ansible/awx/issues/10078
2021-05-11 13:39:07 -04:00
Jake McDermott
6bb8fd3fd6 Remove all AWX_ISOLATED* fields 2021-05-11 13:21:18 -04:00
Jake McDermott
6e97020eae Always resolve launching status 2021-05-11 12:14:53 -04:00
softwarefactory-project-zuul[bot]
30997b30b6 Merge pull request #10168 from nixocio/ui_fix_typos
Fix typos

Fix typos
I had to run npm run extract-strings since the typos were present on the Plural component.

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-05-11 14:17:42 +00:00
nixocio
499321cdf7 Fix typos
Fix typos
2021-05-11 09:30:40 -04:00
softwarefactory-project-zuul[bot]
a581e26414 Merge pull request #10163 from nixocio/ui_remove_dupe
Remove duplicated API calls unit-test

Remove duplicated API calls unit-test

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-05-10 21:18:28 +00:00
nixocio
26b1a82164 Remove duplicated API calls unit-test
Remove duplicated API calls unit-test
2021-05-10 16:03:47 -04:00
softwarefactory-project-zuul[bot]
f5cc927a15 Merge pull request #10086 from jakemcdermott/fix-9370
Avoid prop reference error when recreating survey

SUMMARY
For #9370
The survey object is undefined when recreating a survey after deleting it. Add optional chaining on survey fields to avoid prop reference error.

Reviewed-by: Kersom <None>
2021-05-10 15:34:36 +00:00
Alan Rominger
7ec0464072 minikube instructions adjustments from debugging 2021-05-10 11:30:14 -04:00
Jake McDermott
b94a9c19e7 Avoid prop reference error when recreating survey
The survey object is undefined when recreating a survey after deleting it.
Add optional chaining on survey fields to avoid prop reference error.
2021-05-10 10:39:04 -04:00
softwarefactory-project-zuul[bot]
1c73407edf Merge pull request #10150 from QiYuTechDev/devel
`console.warning` is not exists on browser

SUMMARY

fix typo error for console.warn

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


UI

AWX VERSION

19.1.0

ADDITIONAL INFORMATION

console.warning is not exists function in browser envirment.

Reviewed-by: Kersom <None>
2021-05-10 13:51:56 +00:00
奇遇科技
a4d15b20ff console.warning is not exists on browser
fix typo error for `console.warn`
2021-05-10 02:49:25 +00:00
Keith J. Grant
83b6a91623 validate variables field in launch prompt 2021-05-07 16:13:38 -07:00
nixocio
5fb9afc9f5 Allow modify scm branch override
* Source Control Branch was not being displayed as part of the
JobTemplate Edit, since the project did not have the variable
`allow_override` as part of the summary_fields.

* Add source control details for JobDetail and WorkflowJobTemplateDetail

See: https://github.com/ansible/awx/issues/8788
2021-05-07 15:34:34 -04:00
softwarefactory-project-zuul[bot]
82af78fe33 Merge pull request #10131 from AlexSCorey/10088-ConverTeamsSubTabstoTables
Converts Teams Roles tab to tables

SUMMARY
Addresses #10088.  Converts The Roles tab inside of Teams to tables view.
E2E workflows triggered
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-07 18:10:19 +00:00
softwarefactory-project-zuul[bot]
d60014987f Merge pull request #9924 from AlexSCorey/6464-SurveyMultipleChoiceRedesign
Redesign survey multiple choice 

SUMMARY
Addresses #6464.
This new design improves UI and reduces the risk to having mismatching choices and default values.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Sarah Akus <sarah.akus@gmail.com>
2021-05-07 17:37:23 +00:00
softwarefactory-project-zuul[bot]
55b8dcdd8d Merge pull request #10097 from sean-m-sullivan/devel
add custom_venv for backward compatibility

SUMMARY
As per #10055 , this is the proposal to add back custom virtual environments to the modules. With the understanding that they will not be tested. But to allow users of Ansible Tower 3.8 the ability to use newer features and bugfixes in awx.awx as applicable, without restorting to backporting these removals. Would expect these to remain for a time after Tower moves to Execution environments as teams/companies adopt the next version of tower.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

awx_collection

AWX VERSION
19.1.0

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-05-07 17:19:24 +00:00
softwarefactory-project-zuul[bot]
03261c4782 Merge pull request #10141 from nixocio/ui_fix_prop_typo
Fix prop typo

Fix prop typo.
See: https://www.patternfly.org/2020.04/documentation/react/components/select#props

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-05-07 17:05:09 +00:00
Alex Corey
a6778604e1 updates strings 2021-05-07 12:53:51 -04:00
Alex Corey
c441d6cd55 adds ouiaId and blank target for tooltip 2021-05-07 12:51:33 -04:00
Alex Corey
eebcab610e allows for resetting the values in edit mode 2021-05-07 12:51:33 -04:00
Alex Corey
783a0963ff moves and renames new field component. adresses console errors, removes unneeded props adds back isVaid prop on formfield 2021-05-07 12:51:33 -04:00
Alex Corey
dbc235cfb6 updates strings 2021-05-07 12:51:33 -04:00
Alex Corey
9dde854baa This puts the formatted default and choice values on the formik object.
When we go to submit the form to the api we format it again in a way
the api will recognize.  Allowing formik to manage updating, the choices
and the default values this way cleans up the code and removes a bunch of unnecessary
splitting and joining of the choices an default choices strings
2021-05-07 12:50:31 -04:00
Alex Corey
98375a0328 Adds styling, and dynamic rendering of extra fields 2021-05-07 12:48:26 -04:00
Alex Corey
264b13f33c can write in inputs properly 2021-05-07 12:48:26 -04:00
Alex Corey
35a9e7e565 some refactoring, and checking and unchecking boxes 2021-05-07 12:48:26 -04:00
Alex Corey
e088c7385a adding and removing inputs properly 2021-05-07 12:48:26 -04:00
softwarefactory-project-zuul[bot]
372c80ee44 Merge pull request #10140 from AlexSCorey/boldifyUsersSubListsName
Adds bold to some list items 

SUMMARY
Some list items were not bolded during conversion to tables mistakenly
kicked off E2E tests
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
2021-05-07 15:27:34 +00:00
Alex Corey
5a1810e191 fxes pagination and removes console warnings 2021-05-07 11:26:50 -04:00
nixocio
dee0b61bc2 Fix prop typo
Fix prop typo.

See: https://www.patternfly.org/2020.04/documentation/react/components/select#props
2021-05-07 11:13:07 -04:00
Alex Corey
2c82d32720 Adds bold to some list items that were missed during conversion to tables 2021-05-07 10:14:24 -04:00
sean-m-ssullivan
715aead961 add custom_venv for backward compatibility 2021-05-07 09:01:35 -05:00
softwarefactory-project-zuul[bot]
ddb1d12a79 Merge pull request #10019 from mabashian/9635-cred-bugs
Fixes for a couple of credential form bugs

SUMMARY
link #9635
This addresses the first and second bullet points in the linked issue.  The third is actually covered by a separate PR.
The ace editor fix was to simply wrap it in a div and apply the previous styling to that div instead of the editor.
The secret key/details page crashing was caused by a race condition when would redirect back to the details view after editing.  The details view was rendering with some stale data and a key that was expected to be there was not.  To fix this I wrapped the request to fetch the credential detail in a useRequest hook and show the loading spinner while this request is outstanding.  Only after the request resolves do we try to render the details view so that it always has the up to date object.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-06 21:49:55 +00:00
Alex Corey
8fe437380d converts inventory groups related groups and related hosts to tables 2021-05-06 16:32:12 -04:00
softwarefactory-project-zuul[bot]
2d81143c98 Merge pull request #10066 from tiagodread/ouia-ids
Add testability for e2e tests

Resolves #9511
Resolves #9503
Resolves #9512

Reviewed-by: Kersom <None>
2021-05-06 20:15:49 +00:00
softwarefactory-project-zuul[bot]
a219e27e0b Merge pull request #10116 from nixocio/ui_issue_9126
Update Login page

Update Login page.

See: #9126

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-06 20:15:45 +00:00
Tiago
d428a540a0 ouiaId to AddDropDownButton ToolbarAddButton TemplateList InventoryList
add testability to DataListToolbar.jsx

add testability to AssociateModal.jsx HostGroupsList.jsx

fix lint

add ouiaId to InventoryGroupHostList.jsx

add ouiaId to ExecutionEnvironmentList.jsx

add ouiaId to InstanceGroupList.jsx

add ouiaId to InstanceGroupDetails.jsx

add ouiaId to ScheduleList.jsx and ContainerGroupDetails.jsx
2021-05-06 16:29:52 -03:00
Alex Corey
e1b6e1509c Converts Teams Roles tab to tables 2021-05-06 12:00:02 -04:00
softwarefactory-project-zuul[bot]
1d6579e110 Merge pull request #10106 from rooftopcellist/compose-opts-order
Docker-compose requires the options to be passed before up

SUMMARY
The $(COMPOSE_UP_OPTS) in the docker-compose make target need to come before the up command or else they are not parsed correctly.
ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

19.0.0

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-05-05 19:20:34 +00:00
nixocio
c50bd8d6e6 Update Login page
Update Login page.

See: https://github.com/ansible/awx/issues/9126
2021-05-05 14:10:28 -04:00
softwarefactory-project-zuul[bot]
13e1fc9839 Merge pull request #10100 from Spredzy/rename-job
Rename awx to automation for pod names

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-05 12:28:50 +00:00
Christian M. Adams
a205ddeed6 Docker-compose requires the options to be passed before up 2021-05-04 16:54:16 -04:00
softwarefactory-project-zuul[bot]
d7742d7340 Merge pull request #10044 from AlexSCorey/9977-ScheduleSurvey
Properly adds survey default values on Schedules

SUMMARY
This addresses #9977. This also fixes a bug where the extra_data was not rendering properly in schedule details
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-04 19:43:18 +00:00
softwarefactory-project-zuul[bot]
ce675319b7 Merge pull request #10105 from nixocio/ui_update_date_tooltip
Make date consistent on tooltip display

Make date consistent on tooltip to display info about job.
There are 3 places that define similar function on the code basis. Make
them consistent in how to display date.
Search for generateLastJobTooltip on code basis.

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
2021-05-04 19:19:21 +00:00
Alex Corey
610138caeb Properly adds survey default values on Schedules 2021-05-04 14:56:19 -04:00
softwarefactory-project-zuul[bot]
25137b40d3 Merge pull request #10040 from keithjgrant/6189-misc-tables
Convert Inventory sub-lists to tables

SUMMARY
Converts Inventory Access, Hosts, Groups, and Sources lists to tables
Addresses #6189
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-04 18:40:53 +00:00
mabashian
9b92d1584d Run prettier 2021-05-04 14:21:36 -04:00
mabashian
11d024abdb Adds missing code after rebase 2021-05-04 14:16:13 -04:00
mabashian
57433a59d7 Fix bug where changing credential field from plugin to string crashed application 2021-05-04 14:14:13 -04:00
mabashian
5ac4a9aca6 Fix bug with credential plugin code editor width 2021-05-04 14:09:39 -04:00
nixocio
5b92c9e8f3 Make date consistent on tooltip display
Make date consistent on tooltip to display info about job.
There are 3 places that define similar function on the code basis. Make
them consistent in how to display date.
2021-05-04 13:51:08 -04:00
Tiago
7951c2f014 change testability locator 2021-05-04 14:26:55 -03:00
Tiago
2cfdf08500 add testability 2021-05-04 14:00:24 -03:00
softwarefactory-project-zuul[bot]
10474cd64c Merge pull request #10077 from sean-m-sullivan/job_launch_tags
Fix tower_job_launch tags being passed to API

SUMMARY
#10008
Fix tower_job_launch tags being passed to API
Previously the wrong field was being used on the api to pass tags, also while the module accepts lists, the API does not, so it would error. Take a users list, and converts to comma separated string, in order to maintain status quo.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

awx_collection

AWX VERSION
19.1.0

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-05-04 16:13:16 +00:00
softwarefactory-project-zuul[bot]
da9a075000 Merge pull request #10047 from sean-m-sullivan/org_label
add org search to labels

SUMMARY
After having an issue with labels I saw that orgs were referenced, Remembering #7567 implemented the code to do the search for orgs so you can search for labels within an org, Tests include creating the same named label in two orgs, and the search not erroring out that it found two labels of that name.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

awx_collection

AWX VERSION
19.0.0

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
2021-05-04 15:55:51 +00:00
Tiago
510a546d8c add testability 2021-05-04 11:00:48 -03:00
Yanis Guenane
562f78e53d Rename awx to automation for pod names 2021-05-04 14:17:45 +02:00
softwarefactory-project-zuul[bot]
e08590290c Merge pull request #10094 from jladdjr/awx_8853_add_notification_error_to_nt_listview
add notification error to notification template list view

In support of #8853
Updates /api/v2/notification_templates to include the error field for summary_fields -> recent_notifications

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-05-04 04:21:52 +00:00
Keith J. Grant
e2c8519b77 convert InventoryHostGroups list to table 2021-05-03 16:00:09 -07:00
softwarefactory-project-zuul[bot]
86b683a8f1 Merge pull request #10096 from shanemcd/devel
Fix CSP error on Safari

This was causing:
[Error] Refused to execute a script because its hash, its nonce, or
'unsafe-inline' does not appear in the script-src directive of the Content
Security Policy. (migrations_notran, line 16)

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-05-03 21:46:04 +00:00
Shane McDonald
1ad561c307 Fix CSP error on Safari
This was causing:

```
[Error] Refused to execute a script because its hash, its nonce, or
'unsafe-inline' does not appear in the script-src directive of the Content
Security Policy. (migrations_notran, line 16)
```
2021-05-03 17:12:30 -04:00
Keith Grant
7b60733da0 delete comment
Co-authored-by: Marliana Lara <marliana.lara@gmail.com>
2021-05-03 13:53:57 -07:00
Keith Grant
d7ce328046 fix id string
Co-authored-by: Marliana Lara <marliana.lara@gmail.com>
2021-05-03 13:53:57 -07:00
Keith J. Grant
25a4a112b3 remove unecessary i18n wrappers; fix HostToggle tooltip 2021-05-03 13:53:57 -07:00
Keith J. Grant
cbe2a78287 convert inventory source list to tables 2021-05-03 13:53:57 -07:00
Keith J. Grant
83ceacf588 convert inventory groups list to tables 2021-05-03 13:53:57 -07:00
Keith J. Grant
fe0ad30245 fix inventory access/hosts lists tests 2021-05-03 13:53:57 -07:00
Keith J. Grant
0ac6ba9c99 convert inventory access/hosts lists to tables 2021-05-03 13:53:57 -07:00
softwarefactory-project-zuul[bot]
f8ecdbf287 Merge pull request #10056 from keithjgrant/6189-user-sublist-tables
Convert user sub-lists to tables

SUMMARY
Converts User Organizations, Teams, and Roles lists to tables
Addresses #6189
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-03 20:20:11 +00:00
Jim Ladd
a6f3817488 verify notification errors included in NT list view 2021-05-03 13:17:34 -07:00
Jim Ladd
e4eb03259b include error field in notification template's list of recent notifs 2021-05-03 13:17:34 -07:00
softwarefactory-project-zuul[bot]
0ccc93a166 Merge pull request #10089 from jbradberry/fix-get-default-ee
Fix projects to use the utility function get_default_execution_environment

SUMMARY


ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION



ADDITIONAL INFORMATION

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-03 19:47:53 +00:00
Keith J. Grant
2672c2ffe3 add default ouia-id to paginated tables 2021-05-03 12:04:33 -07:00
Jeff Bradberry
204083fcdc Fix projects to use the utility function get_default_execution_environment 2021-05-03 14:00:19 -04:00
Keith J. Grant
b21db2fd31 fix user list sorting issues; clean up comments 2021-05-03 10:57:17 -07:00
Keith J. Grant
d1cb0781ce update tests for new user sub-list tables 2021-05-03 10:57:17 -07:00
Keith J. Grant
7c86edd825 convert user sub-lists to tables 2021-05-03 10:57:17 -07:00
softwarefactory-project-zuul[bot]
3addbeab4c Merge pull request #10085 from jbradberry/fix-check-migrations
Make the check_migrations command a direct alias of makemigration

SUMMARY
Make the check_migrations command a direct alias of makemigration.
It already more or less was, but it previously did some machinations
around copying and modifying the database settings.  These on-the-fly
changes to the database connection no longer work after the
rearrangement of settings files, so let's just get rid of it.
Example, from running make test:
  py3: commands succeeded
  congratulations :)
awx-manage check_migrations --dry-run --check  -n 'missing_migration_file'
Traceback (most recent call last):
  File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/db/backends/base/base.py", line 217, in ensure_connection
    self.connect()
  File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/db/backends/base/base.py", line 195, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/db/backends/sqlite3/base.py", line 194, in get_new_connection
    conn = Database.connect(**conn_params)
sqlite3.OperationalError: unable to open database file

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION
awx: 19.1.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-03 15:45:40 +00:00
softwarefactory-project-zuul[bot]
5096f1459d Merge pull request #10059 from AlexSCorey/RemoveI18nStuff
Removes remaining I18n props, HOCs and misc objects

SUMMARY
This Removes withI18n, the i18n object and all the places that it is passed around as a prop, or argument.
E2E Tests have been triggered.  There should be no functional or visual impact. E2E results
ISSUE TYPE
-Dependency Upgrade
COMPONENT NAME

UI

AWX VERSION



ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-03 15:24:50 +00:00
softwarefactory-project-zuul[bot]
a3de251732 Merge pull request #10084 from jbradberry/revert-managed-by-tower-ee-lock
Revert the code that prevents sysadmins from changing managed EEs

SUMMARY
related #10078
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION
awx: 19.1.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-05-03 15:13:09 +00:00
Jeff Bradberry
686d750ad9 Make the check_migrations command a direct alias of makemigration
It already more or less was, but it previously did some machinations
around copying and modifying the database settings.  These on-the-fly
changes to the database connection no longer work after the
rearrangement of settings files, so let's just get rid of it.
2021-05-03 11:01:52 -04:00
Jeff Bradberry
39f26fe576 Revert the code that prevents sysadmins from changing managed EEs
ref #10078
2021-05-03 10:25:18 -04:00
Alex Corey
7a9bcc1e1e Removes remaining I18n props, HOCs and mics objects 2021-05-03 10:10:40 -04:00
softwarefactory-project-zuul[bot]
72a940bef1 Merge pull request #10081 from nixocio/ui_fix_style_warning
Fix unit-test styling warning

Fix unit-test styling warning.
      Warning: Unsupported style property white-space. Did you mean
      whiteSpace?

Style still valid after change:

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-05-03 13:54:14 +00:00
softwarefactory-project-zuul[bot]
cb26087c2a Merge pull request #9931 from seiwailai/issue-9872-sync-feedback
project: Add last job status as for project sync feedback feature.

SUMMARY
Fixes #9872

Add last job status as for the project sync feedback feature. When users clicked the sync button on the project page, last job status will eventually update the status to Pending, Waiting, Running, and final result (Successful, Cancelled, Failed, Error). The implementation requires the WebSocket connection to ensure synchronous status update.
In particular, the last job status is similar to the functionality of status in the project list (status in ProjectListItem.jsx). More specifically, the last job status accompanied by a job link that allowing the user to navigate to the job output page. Besides, there is also the tooltip that allowing the user to view the information related to the most recent sync, covering information like JOB ID, STATUS, FINISHED.
The rationale of having the last job status instead of redirection or toast notification is that:

User has choices on whether to redirect to the job output. If the user wishes to navigate to job output, he/she can click the link. Besides, the user might have other projects to be synced right after the current project and he/she may want to proceed back to the project list page instead of the job output page. If we implement force redirection, it would take a longer time to navigate to the project list page.
The status update on last job status is fundamentally similar to toast notification where the user can immediately be notified if he/she already clicked the sync button to launch the job.

Nevertheless, this PR requires further discussion. Any comments are welcomed!

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


UI


awx/ui_next/src/screens/Project/Project.jsx
awx/ui_next/src/screens/Project/useWsProject.js - Added websocket implementation
awx/ui_next/src/screens/Project/ProjectDetail/ProjectDetail.jsx

AWX VERSION

awx: 19.0.0

ADDITIONAL INFORMATION

In case if users spam the sync button, we will need to ensure the fluent UI on the most recent sync tooltip and last job status. Thus, we would not want to update our last job status to Pending if there is a current running job.
For instance, we clicked sync for a particular project twice.

For the first sync, our last job status should immediately change to Pending, then Waiting, then Running, then result (which are Successful, Failed, Error, Cancelled).
For the second sync, if we have a running job, we should not update our UI to Pending, otherwise our most recent sync tooltip UI will lose our current running job and we cannot navigate to the job link through the link provided by last job status tooltip.

Issue of sync button click spam
Ideally, we should prevent any spamming on the sync button using backend logic to reduce overload on the server as we already have a similar running project. Together with backend logic, we can disable the sync button right after we start to sync a project.
However, if we only disable sync through the frontend, this seems insecure as people with bad intentions might able to change the button disable attribute.

After

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Sei Wai Lai <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-05-03 13:28:40 +00:00
softwarefactory-project-zuul[bot]
7d6a8adb79 Merge pull request #10067 from mabashian/test-warning-cleanup-3
Unit test warning cleanup

SUMMARY
These commits target the warnings that look like:
Can't perform a React state update on an unmounted component
The underlying problem here is that we have network requests that are being made by components that are subsequently being unmounted.  When the network request resolves, we attempt to update some state but the component is no longer mounted and the warning is triggered.  To address this I consolidated a lot of isMounted code into a single hook which can be used across the app to check to see whether the component in question is still mounted before attempting to update state inside of a useEffect.  This primarily applies to network requests.
I think this points to a larger issue which is that we sometimes mount components prematurely.  For example, when the job template edit component is mounted we actually mount:

JobTemplateForm (briefly)
ContentLoading
JobTemplateForm

Network requests triggered by the first mount of JobTemplateForm are suscepitble to attempting to update state on an unmounted component.  I believe this pattern exists in many places across the app but I haven't tried to solve this in this PR.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
Reviewed-by: Kersom <None>
2021-05-03 13:22:35 +00:00
nixocio
c1e0def013 Fix unit-test styling warning
Fix unit-test styling warning.

```console.error
      Warning: Unsupported style property white-space. Did you mean
      whiteSpace?
```
2021-05-03 09:22:18 -04:00
sean-m-ssullivan
5993db76d3 fix job launch inputs 2021-05-01 23:08:44 -05:00
Shane McDonald
929ed3e09d Merge pull request #10074 from shanemcd/bump-19.1.0
Bump changelog and version files for 19.1.0
2021-05-01 07:56:47 -04:00
Shane McDonald
f83a005038 Bump changelog and version files for 19.1.0 2021-05-01 07:43:01 -04:00
Bill Nottingham
c0afd67432 Have the project update playbook warn if role/collection syncing is disabled.
Make it more clear that a credential is required.
2021-04-30 16:06:00 -04:00
mabashian
5b71681494 Fixes test warnings where state updates were being triggered after component unmounts 2021-04-30 15:34:39 -04:00
mabashian
f63312c811 Prevent multi credential state updates from happening after unmount 2021-04-30 15:34:39 -04:00
seiwailai
0886414c72 ProjectList: Change job status UI update logic.
1. Render current job status if there is current waiting, pending or running job.\n 2. Render last job status if there is no current job.
2021-05-01 03:30:16 +08:00
seiwailai
30d78e8857 Project: Added project last job status UI with websocket feature
1. Activate web socket once get into project detail page to ensure job status update synchronization.\n 2. Show last job status if there is no current job.\n 3. Show current job status if there is any current pending, waiting or running job.
2021-05-01 03:30:16 +08:00
seiwailai
07d01c49c0 ProjectListItem: Disabled sync button and render tooltip on sync.
Added feature of disabling sync button when users click sync button and rendering tooltip when disabled sync button on hover.
2021-05-01 03:30:16 +08:00
seiwailai
bb896c0b02 ProjectSyncButton: Add tests.
Add 'disable button and set onClick to undefined on sync' and 'should render tooltip on sync'
2021-05-01 03:30:16 +08:00
seiwailai
95634bf0b8 useWsProject: Add tests for useWsProject.jsx.
Add tests like 'should return project detail', 'should establish websocket connection' and 'should update project status'.
2021-05-01 03:30:16 +08:00
seiwailai
e6735b595c project: Add disable sync button feature.
Disable sync button if there is any pending, waiting or running job
2021-05-01 03:30:16 +08:00
seiwailai
03d8987d93 project: Add last job status as for feedback feature. 2021-05-01 03:30:16 +08:00
softwarefactory-project-zuul[bot]
f5c176701b Merge pull request #10031 from wenottingham/whats-in-a-name--mostly-just-letters
Assorted renaming and string changes

SUMMARY
Goal was to hit user-facing strings and docs.
Didn't try and catch all comments, although did a few when in those files.

Reviewed-by: Bill Nottingham <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-04-30 19:24:28 +00:00
Bill Nottingham
8a4bffcd50 Fix UI tests 2021-04-30 14:32:05 -04:00
Bill Nottingham
c8cf28f266 Assorted renaming and string changes 2021-04-30 14:32:05 -04:00
softwarefactory-project-zuul[bot]
e0d6b138b0 Merge pull request #10062 from shanemcd/fix-ee-cg
A couple EE bug fixes

See commit messages for more info

Reviewed-by: Seth Foster <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-04-30 17:10:23 +00:00
Shane McDonald
f94db36273 Forcibly ensure that the correct ansible-runner command is used for CG pods 2021-04-30 12:34:26 -04:00
Shane McDonald
77c573d64a Fix bug where incorrect EE was being used for Container Group pods 2021-04-30 12:21:03 -04:00
Shane McDonald
0badc2fff7 Explicitly set args for container group pods
A user may try to use an EE that does not have the custom entrypoint script used
by the default AWX EE
2021-04-30 12:16:52 -04:00
sean-m-ssullivan
666e9c5c2f add search label by org 2021-04-29 16:14:09 -05:00
softwarefactory-project-zuul[bot]
43d33281a5 Merge pull request #10004 from AlexSCorey/9864-AddEEtoAdHocWizard
Adds an execution environment step to the ad hoc commands

SUMMARY
This addresses some of #9864 by adding a step to select an execution environment to the ad hoc commands wizard
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-29 20:43:55 +00:00
softwarefactory-project-zuul[bot]
6bea5dd294 Merge pull request #9957 from jbradberry/isolated-removal
Isolated removal

SUMMARY
Removal of the isolated nodes feature.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API

AWX VERSION

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Elyézer Rezende <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-29 19:15:43 +00:00
Alex Corey
1d442452b0 adds advanced search functionality and lists correct EEs 2021-04-29 14:23:28 -04:00
softwarefactory-project-zuul[bot]
ed259cf0aa Merge pull request #10036 from seiwailai/issue-10029-project-list-cols-misaligned
ProjectList: Fixes columns misalignment.

Fixes #10029.
SUMMARY


ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


UI - ProjectList.jsx

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-29 14:39:24 +00:00
Maximilian Meister
d57f2ab496 Document usage of workflow job template nodes with approvals
Fixes #8777
2021-04-29 10:56:57 +02:00
softwarefactory-project-zuul[bot]
ba7b55bfe3 Merge pull request #10041 from mabashian/test-warning-cleanup-2
Unit test warning cleanup

SUMMARY
Cleans up warnings thrown on several unit tests
COMPONENT NAME

UI

Reviewed-by: Kersom <None>
2021-04-28 19:15:28 +00:00
softwarefactory-project-zuul[bot]
64efc2c006 Merge pull request #10037 from nixocio/ui_fix_warning
Fix a few unit-tests warnings

Fix a few unit-test warnings

Reviewed-by: Michael Abashian <None>
2021-04-28 19:14:45 +00:00
softwarefactory-project-zuul[bot]
028c48c409 Merge pull request #10042 from AlanCoding/old_docs
Remove inventory-related docs which are outdated or wrong

SUMMARY
Around 10% of this is updating docs for #9822
The rest of it is updating for changes that took place long ago, but docs still has stuff which is now wrong.
ISSUE TYPE

Docs Pull Request

COMPONENT NAME

API

Reviewed-by: Chris Meyers <None>
2021-04-28 18:56:23 +00:00
Alan Rominger
ee68dd00aa Remove inventory-related docs which are outdated or wrong 2021-04-28 14:00:05 -04:00
mabashian
6f7d594d0f Fix linting errors 2021-04-28 12:59:54 -04:00
mabashian
cc5a73aeb9 Fixes React does not recognize the ouiaId prop on a DOM element warning in NotificationTemplateList test 2021-04-28 12:59:54 -04:00
mabashian
04ca1cb1a3 Fixes Invalid prop credential.id of type number supplied to CredentialEdit, expected object warning in CredentialEdit test 2021-04-28 12:59:54 -04:00
mabashian
94b9892a1b Fixes bug with workflow form test throwing warning about Failed prop type: The prop value.name is marked as required in OrganizationLookup, but its value is undefined 2021-04-28 12:59:54 -04:00
mabashian
61f0edc5e8 Fix Each child in a list should have a unique "key" prop warnings in unit tests 2021-04-28 12:59:54 -04:00
softwarefactory-project-zuul[bot]
24a903142a Merge pull request #10035 from sean-m-sullivan/survey_idempotent
Make Workflow Surveys Idempotent

SUMMARY
Update the Workflow survey check to be in line with job template check.
Resolving issue #7554
Found that it was returning json/status_code, and needed to reference json output.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME
awx_collection
AWX VERSION
19.0.0

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-28 15:56:06 +00:00
nixocio
1471945b9e Fix a few unit-tests warnings
Fix a few unit-test warnings
2021-04-28 10:29:28 -04:00
seiwailai
58147f8bc1 ProjectList: Fixes columns misalignment.
Fixes #10029.
2021-04-28 22:21:00 +08:00
softwarefactory-project-zuul[bot]
cd6e8969d5 Merge pull request #10034 from akus062381/add-locators-template-list-jsx
add ouiaId to toolbar delete button

In working on fixing a broken e2e test, I discovered an element that needed a better locator in order to allow testability.

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-28 13:48:14 +00:00
sean-m-ssullivan
c22c0a393c update tests and survey change status 2021-04-27 19:32:21 -05:00
akus062381
efd9e22adc fixed failing test 2021-04-27 16:53:35 -04:00
softwarefactory-project-zuul[bot]
acb6e3e6e9 Merge pull request #10032 from nixocio/ui_update_timeout
Bump timeout for unit-tests

Bump timeout for unit-tests.

Reviewed-by: Michael Abashian <None>
2021-04-27 20:17:42 +00:00
softwarefactory-project-zuul[bot]
31c35fd473 Merge pull request #10033 from mabashian/test-warning-cleanup-1
Fix warning thrown about CodeDetail rows prop

SUMMARY
Warning:
  ● Console

    console.error
      Warning: Invalid argument supplied to oneOfType, expected an instance of array.

      61 |   dataCy: string,
      62 |   helpText: string,
    > 63 |   rows: oneOfType(number, string),
         |         ^
      64 |   mode: oneOf(['javascript', 'yaml', 'jinja2']).isRequired,
      65 | };
      66 | CodeDetail.defaultProps = {

      at printWarning (node_modules/prop-types/factoryWithTypeCheckers.js:23:15)
      at createUnionTypeChecker (node_modules/prop-types/factoryWithTypeCheckers.js:365:47)
      at Object.<anonymous> (src/components/DetailList/CodeDetail.jsx:63:9)
      at Object.<anonymous> (src/screens/Setting/shared/SettingDetail.jsx:5:1)

Reviewed-by: Kersom <None>
2021-04-27 20:01:21 +00:00
softwarefactory-project-zuul[bot]
881ea1295f Merge pull request #10025 from shanemcd/better-errors
Improve error handling / display when Ansible Runner errors

Before you would see unhelpful error messages like:
Traceback (most recent call last):
  File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/tasks.py", line 1397, in run
    res = receptor_job.run()
  File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/tasks.py", line 2957, in run
    return self._run_internal(receptor_ctl)
  File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/tasks.py", line 3008, in _run_internal
    raise RuntimeError(detail)
RuntimeError: exit status 0

Now you will see the underlying error:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/ansible_runner/streaming.py", line 108, in run
    utils.unstream_dir(zip_data, self.private_data_dir)
  File "/usr/local/lib/python3.8/site-packages/ansible_runner/utils.py", line 104, in unstream_dir
    data = base64.b85decode(data)
  File "/usr/lib64/python3.8/base64.py", line 463, in b85decode
    raise ValueError('bad base85 character at position %d'
ValueError: bad base85 character at position 121

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-27 19:40:51 +00:00
mabashian
86aad8b910 Fix warning thrown about CodeDetail rows prop 2021-04-27 15:26:59 -04:00
Shane McDonald
8374b41e21 Improve error handling / display when Ansible Runner errors 2021-04-27 14:20:27 -04:00
nixocio
f9dc5cd32b Bump timeout for unit-tests
Bump timeout for unit-tests.
2021-04-27 14:15:08 -04:00
akus062381
b2497a84ad small change 2021-04-27 14:11:57 -04:00
akus062381
315018b274 small fix 2021-04-27 13:17:49 -04:00
akus062381
033adcb8b8 fixed locators 2021-04-27 13:13:50 -04:00
softwarefactory-project-zuul[bot]
54d50e2459 Merge pull request #10000 from sean-m-sullivan/project_update_fix
Fix project update

SUMMARY
Fixing bug found in #8686
Found that the on change was not triggering due to no actual changes in the Post, Set so when project update is set to true, that the wait for update is Always triggered. Also added logic from project_update to set changed status depending on if refspec changes.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

awx_collection

AWX VERSION
19.0.0

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: John Westcott IV <None>
Reviewed-by: Sean Sullivan <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-04-27 16:53:01 +00:00
softwarefactory-project-zuul[bot]
cca3698d19 Merge pull request #9965 from mabashian/8835-team-permissions
Hide teams option when adding access role to a team

SUMMARY
link #8835
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-27 14:34:09 +00:00
softwarefactory-project-zuul[bot]
bf892443df Merge pull request #10003 from jbradberry/analytics-4-week-logging
Log adjustments made to the analytics interval due to the 4-week limit

SUMMARY
If the user passes in the since and/or until parameters, sometimes they will be truncated to limit the data to only 4 weeks.  Emit a log message when this happens.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION

Reviewed-by: Jim Ladd <None>
Reviewed-by: Chris Meyers <None>
Reviewed-by: Jeff Bradberry <None>
2021-04-27 13:55:56 +00:00
softwarefactory-project-zuul[bot]
35e778b7ae Merge pull request #9960 from mabashian/9955-cred-bool
Fixes bug where credential form checkboxes were erroneously checked

SUMMARY
link #9955
A couple of things going on here.

Updating initialValues.inputs was also modifying credential.inputs because initialValues.inputs was originally a reference to credential.inputs.  I changed this so that initialValues.inputs now starts off as a clone of credential.inputs.
https://github.com/ansible/awx/compare/devel...mabashian:9955-cred-bool?expand=1#diff-db8df3eaf3e3b3117f845786dea77451fba53e9d6a3f49ae367a26137039fc35L256 <- this line was erroneously evaluating to false when the value of an input was false.  We actually just want to make sure the key exists in the object before dropping in to this block.  This is what actually fixes the bug.  Before this change we would fall in to https://github.com/ansible/awx/compare/devel...mabashian:9955-cred-bool?expand=1#diff-db8df3eaf3e3b3117f845786dea77451fba53e9d6a3f49ae367a26137039fc35R268 where the checkbox value would be erroneously set.

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-27 13:49:14 +00:00
softwarefactory-project-zuul[bot]
5c03fa9e84 Merge pull request #9435 from nixocio/ui_issue_9433
Fix misalignment checkbox final build

Fix misalignment checkbox final build on Organization Lookup.
See: #9433

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-27 13:16:40 +00:00
nixocio
2b5fe0e6c4 Fix misalignment checkbox final build
Fix misalignment checkbox final build on Organization Lookup.

See: https://github.com/ansible/awx/issues/9433
2021-04-26 21:43:57 -04:00
softwarefactory-project-zuul[bot]
7095e266a5 Merge pull request #10024 from rooftopcellist/build_awx_docs
Add docs for building and using custom awx image

SUMMARY
Docs for how to build and push a custom AWX image to be used by the awx-operator.
ISSUE TYPE


Docs Pull Request

AWX VERSION

19.0.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-04-27 01:43:34 +00:00
sean-m-ssullivan
a75cbe683c project update fix 2021-04-26 16:17:02 -05:00
Jeff Bradberry
584fda5178 Add some unit tests around the analytics interval calculations 2021-04-26 16:21:25 -04:00
Christian M. Adams
191a25cccc Add docs for building and using custom awx image 2021-04-26 15:50:57 -04:00
softwarefactory-project-zuul[bot]
6267b264bf Merge pull request #9998 from nixocio/ui_update_pf
Update patternfly packages

Update patternfly packages

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-26 18:42:13 +00:00
Alex Corey
e6bde23aea Adds an execution environment step to the ad hoc commands 2021-04-26 14:02:36 -04:00
Jeff Bradberry
4857c5edcb Break out the main interval trimming calculation into a new function 2021-04-26 13:31:05 -04:00
Jeff Bradberry
f4d848e596 Log adjustments made to the analytics interval due to the 4-week limit 2021-04-26 13:31:05 -04:00
softwarefactory-project-zuul[bot]
1e7b7d1a30 Merge pull request #10021 from AlanCoding/black_upgrade
Modify formatting in response to black update

This seems to have changed sometime between versions 20.8b1 and 21.4b0

Reviewed-by: Seth Foster <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-26 15:42:20 +00:00
Alan Rominger
67f7998ab9 Modify formatting in response to black update 2021-04-26 10:51:27 -04:00
softwarefactory-project-zuul[bot]
0bdd873bd3 Merge pull request #9896 from sean-m-sullivan/approval_node
Add workflow approval and node wait modules

SUMMARY
Please see #9878 this is a clean PR after redoing my fork.
Add a module to find a workflow approval node and approve or deny it, based on Issue #8013.
Add a module to wait for a specific workflow node to complete and return information on it.
Both of these are based on tests I have been creating for testing workflows.
Scenario
Launch workflow
Wait for A node in the workflow to finish, compare output to expected output.
If it matches, approve the approval node, otherwise deny the approval node.
Workflow completes.
Even used in concert I've added the wait feature to both of these so a user can wait on either to appear.
This does require a workflow to use unique names on the job nodes they are waiting on, As the job # is created on the fly, it would be difficult for user to specify, A future update could explore searching for a specific identifier among a workflow template and then finding that job created by that identifier.
Currently without the modules this depends on generous use of the uri module, with until and retry coupled together.
ISSUE TYPE
Feature Pull Request

COMPONENT NAME
awx-collection
AWX VERSION
19.0.0

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-24 22:52:50 +00:00
softwarefactory-project-zuul[bot]
cf51dc5cea Merge pull request #9895 from sean-m-sullivan/workflow_schema
Tower workflow schema

SUMMARY
See #9309 This is a clean PR of that, after an errant rebase
Adds a way to add entire workflow node schemas to workflows. Either through the workflow schema module or the workflow job template module.
This speeds up workflow creation vs the workflow node module by 3x.
The model for the schemas is the format used by the tower_export module.
The main difference between this and the workflow node module is that the loops are done in python. Traditionally if you have a workflow with 10 nodes, ansible tasks need to be invoked 19 times. 1x to create the workflow, 10 x to initially create the nodes, and then one time for each node that is not an endpoint in the schema. This removes the need to loop and invoke many times.
ISSUE TYPE
Feature Pull Request

COMPONENT NAME
awx-collection
AWX VERSION
17.0.1

Reviewed-by: John Westcott IV <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-23 22:00:34 +00:00
softwarefactory-project-zuul[bot]
c29fda0385 Merge pull request #10013 from shanemcd/bump-runner-and-ee
Upgrade Ansible Runner and AWX EE

Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-04-23 19:20:06 +00:00
softwarefactory-project-zuul[bot]
203f5763ad Merge pull request #10011 from beeankha/remove_custom_source_option
Remove 'custom' as a Source Option from inventory_source Module

These changes are related to PR #9822

Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-04-23 19:03:29 +00:00
Shane McDonald
0cbfd1129f Update to AWX EE 0.2.0 2021-04-23 14:32:42 -04:00
Shane McDonald
208bde6215 Update to Runner 2.0.0 alpha 2 2021-04-23 14:32:30 -04:00
beeankha
ac42604aa7 Remove 'custom' as a source option from inventory_source module 2021-04-23 13:31:42 -04:00
softwarefactory-project-zuul[bot]
a744f0d30f Merge pull request #9897 from AlexSCorey/9891-Plural
Properly tags Plural-able strings for translation, and removes unnecessary i18n

SUMMARY
This resolves #9891.
It also begings the process of remove i18n._(t string) in places in favor of this syntax
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION



ADDITIONAL INFORMATION

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Kersom <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-23 17:12:04 +00:00
softwarefactory-project-zuul[bot]
555b25321e Merge pull request #9982 from jladdjr/jladd_explain_setting_gather_no_matter_what_devel
[devel] add clarifying comment re: AUTOMATION_ANALYTICS_LAST_GATHER being set regardless

(the comment in the changeset pretty much says it all)

Reviewed-by: Chris Meyers <None>
2021-04-23 17:07:13 +00:00
sean-m-ssullivan
ec312358e2 fix completeness 2021-04-23 11:57:24 -05:00
softwarefactory-project-zuul[bot]
fa02fd8563 Merge pull request #9995 from mabashian/7670-delete-workflow-survey
Fixes bug deleting the last workflow survey question

SUMMARY
link #7670

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-23 16:54:28 +00:00
softwarefactory-project-zuul[bot]
eb648d9447 Merge pull request #10002 from shanemcd/goodbye-binaries
Stop installing kubectl/oc

Realized this when looking at #9428

Reviewed-by: Chris Meyers <None>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-04-23 16:43:01 +00:00
Alex Corey
2143b60ebf remove snapshots 2021-04-23 12:34:40 -04:00
Alex Corey
4acae40d4a fixes spelling error 2021-04-23 12:31:39 -04:00
Alex Corey
71500a6554 Properly tags Plural-able strings for translation, and removes unnecessary i18n 2021-04-23 12:31:38 -04:00
softwarefactory-project-zuul[bot]
8e579b2e74 Merge pull request #9996 from AlexSCorey/RemoveSnapShots
Removes Snapshot tests

SUMMARY
Removes snapshot tests
ISSUE TYPE
COMPONENT NAME

UI

AWX VERSION



ADDITIONAL INFORMATION

Reviewed-by: Michael Abashian <None>
2021-04-23 15:08:29 +00:00
softwarefactory-project-zuul[bot]
78195a4203 Merge pull request #9999 from shanemcd/password-policies
Allow users to set password policies via AUTH_PASSWORD_VALIDATORS

Reviewed-by: Elyézer Rezende <None>
2021-04-23 14:45:21 +00:00
Shane McDonald
146fb720db Stop installing kubectl/oc
These are no longer needed with Container Groups v2 under Receptor
2021-04-23 09:15:15 -04:00
softwarefactory-project-zuul[bot]
9fd2c5ba16 Merge pull request #9993 from chrismeyersfsu/fix-gather_analytics_first_time_run
fix running analytics for the first time

related to #9992

Reviewed-by: Jeff Bradberry <None>
2021-04-23 12:09:43 +00:00
Shane McDonald
27c15caddd Allow users to set password policies via AUTH_PASSWORD_VALIDATORS 2021-04-22 18:13:36 -04:00
Jake McDermott
a7fe519063 Update patternfly packages 2021-04-22 17:00:26 -04:00
softwarefactory-project-zuul[bot]
8d20add2d5 Merge pull request #9943 from AlexSCorey/9115-SSOFix
Fixes SSO Redirect

SUMMARY
This fixes #9115 by simply checking if there is a redirect url in and then replacing it with the existing url in history, navigating the user to the correct login url.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-04-22 20:47:52 +00:00
Alex Corey
4d339fe275 Removes Snapshot tests 2021-04-22 16:44:54 -04:00
mabashian
9bfbf8d556 Fixes bug deleting the last workflow survey question 2021-04-22 16:30:47 -04:00
softwarefactory-project-zuul[bot]
bcbf0bac8c Merge pull request #9994 from pabelanger/devel
Add bindep.txt file for execution environments

This will be used by ansible-builder, for people creating EEs.
Signed-off-by: Paul Belanger pabelanger@redhat.com

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-22 20:06:30 +00:00
Alex Corey
c64fec0d98 Fixes SSO Redirect 2021-04-22 15:36:21 -04:00
Paul Belanger
6fb57fb5fc Add bindep.txt file for execution environments
This will be used by ansible-builder, for people creating EEs.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2021-04-22 15:27:39 -04:00
sean-m-ssullivan
224c3de2c9 linting 2021-04-22 13:39:34 -05:00
sean-m-ssullivan
ce1f3009f9 add tower workflow schema update 2021-04-22 13:39:33 -05:00
softwarefactory-project-zuul[bot]
4cd4845617 Merge pull request #9990 from tchellomello/issue_238_wait_db_populate
Wait for the database migrations before starting

cc: @shanemcd  @Spredzy
SUMMARY
Before starting the tower-task container, we should wait for the database schema migrations to complete to avoid misleading users.
This is much more evident on newer installations as the tower-task container will be noisy and populated with SQL errors which is a false positive due to the database being populated.
See the ansible/awx-operator#238 for more information
Fixes: ansible/awx-operator#238

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

devel

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-22 17:51:37 +00:00
Chris Meyers
afe4279e5f fix running analytics for the first time 2021-04-22 13:40:30 -04:00
softwarefactory-project-zuul[bot]
88f70253a5 Merge pull request #9945 from AlanCoding/fileglob
Move to fileglob loop for yml requirement locations

SUMMARY
Overdue followup on #8312
I knew there was more research needed, but didn't know what form it would take until I got my hands dirty.
This entails a look and feel change.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API

ADDITIONAL INFORMATION

It has a warning... but I don't dislike it.

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Jake Jackson  <jljacks93@gmail.com>
2021-04-22 16:06:48 +00:00
Marcelo Moreira de Mello
f397679cc5 Wait for the database migrations before starting 2021-04-22 11:51:39 -04:00
softwarefactory-project-zuul[bot]
3fc4baae06 Merge pull request #9975 from mabashian/9852-delete-inv-src
Fixes bug where users could not delete a single inventory source

SUMMARY
link #9852
Also fixes a bug that I came across with deletion warnings.  The deletion warning was showing a count for workflow nodes that referenced any inventory source with the same parent inventory.  For example:
Create an inventory
Create two inventory sources invsrc1 and invsrc2
Create a workflow with a node that syncs invsrc1
Attempt to delete invsrc2
The warning will indicate that there's 1 workflow node that uses the inventory source but that's actually not true.  There should be no deletion warning in this case.
This PR addresses ^^
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-22 15:29:08 +00:00
Jeff Bradberry
65cee65fad Update the docs to remove references to isolated nodes 2021-04-22 10:20:11 -04:00
Jeff Bradberry
17e3279f1c Remove isolated nodes from the API views and serializers 2021-04-22 10:20:11 -04:00
Jeff Bradberry
a17c34f041 Remove the isolation-specific settings
- AWX_ISOLATED_PUBLIC_KEY
- AWX_ISOLATED_PRIVATE_KEY
- AWX_ISOLATED_KEY_GENERATION
- AWX_ISOLATED_HOST_KEY_CHECKING
- AWX_ISOLATED_USERNAME
- AWX_ISOLATED_CONNECTION_TIMEOUT
- AWX_ISOLATED_LAUNCH_TIMEOUT
- AWX_ISOLATED_PERIODIC_CHECK
- AWX_ISOLATED_CHECK_INTERVAL
2021-04-22 10:20:11 -04:00
Jeff Bradberry
1819a7963a Make the necessary changes to the models
- remove InstanceGroup.controller
- remove Instance.last_isolated_check
- remove .is_isolated and .is_controller methods/properties
- remove .choose_online_controller_node() method
- remove .supports_isolation() and replace with .can_run_containerized
- simplify .can_run_containerized
2021-04-22 10:17:02 -04:00
Jeff Bradberry
6a599695db Remove the IsolatedManager and its associated playbooks and plugins 2021-04-22 10:17:02 -04:00
Jeff Bradberry
b0cdfe7625 Clean up the management commands 2021-04-22 10:11:27 -04:00
Jeff Bradberry
efabc05270 Chop out the dev environment isolated node 2021-04-22 10:11:27 -04:00
softwarefactory-project-zuul[bot]
c1a009d128 Merge pull request #9958 from AlexSCorey/9910-PluralAriaLabel
Fixes object rendered on dom in aria-label

SUMMARY
This addresses #9910. Aria-labels that use <Plural/> won't work properly.  In this case I used aria-labelledby and passed it the id of the button.  I tested it with a screen reader and that fixed it.  I also fixed some JobListCancelButton tooltips
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-22 13:45:01 +00:00
softwarefactory-project-zuul[bot]
8142f5fb55 Merge pull request #9822 from AlanCoding/boom_no_scripts
Remove custom inventory scripts from the API

SUMMARY
Connect #7775
AWX VERSION
18.0.0

Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-22 13:17:15 +00:00
Alan Rominger
8241ebbc9a Fix migration order of operations bug 2021-04-22 08:36:49 -04:00
Alan Rominger
5f39b6276d Add command to export custom inventory scripts to tar file 2021-04-22 08:36:48 -04:00
Alan Rominger
8c0366675a Remove source_script from awx collection 2021-04-22 08:36:48 -04:00
Alan Rominger
b40e8d15c0 Fix migration bug
Bump migration number

Skip data migration for fresh migrations
  where ContentType for custom inventory scripts
  has not yet been created
    no scripts will exist in this case, so no-op
2021-04-22 08:36:48 -04:00
Alan Rominger
f28ad90bf3 Remove source_script field from serializers
Remove some other uses of source_script
2021-04-22 08:36:48 -04:00
Alan Rominger
8440e3f41d Remove ForeignKey relations involving CustomInventoryScript
Add migration to carry out corresponding schema change

Add data migration to delete inventory sources
  which are the custom type

Split migration into two files
  data migration touches same rows as schema migration
2021-04-22 08:36:48 -04:00
Alan Rominger
33b6da4456 Remove filter_by_class where it was not working 2021-04-22 08:36:48 -04:00
Alan Rominger
a54aab9717 Remove old uses of CustomInventoryScript
some uses are minor references

Fix some test fails
2021-04-22 08:36:48 -04:00
Alan Rominger
38352063e8 Remove custom inventory script API 2021-04-22 08:36:46 -04:00
Alan Rominger
855cb162b7 Change inventory source factory defaults
Also set source_path to a newly merged test-playbooks script
  this gives similar behavior to the prior default script
2021-04-22 08:34:38 -04:00
Jim Ladd
fb97a79aca add clarifying comment re: AUTOMATION_ANALYTICS_LAST_GATHER being set regardless 2021-04-21 21:28:32 -07:00
softwarefactory-project-zuul[bot]
4a8c63c579 Merge pull request #9649 from jakemcdermott/pkg-updates
Fix problematic dependencies

SUMMARY
Fixes high-severity warnings for problematic dependencies.
These fixes required updating react-scripts to a later version, which broke many of our tests due to breaking changes in how test setup works. As such, this PR also updates a lot of tests.

Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-21 23:04:01 +00:00
softwarefactory-project-zuul[bot]
2740155877 Merge pull request #9883 from shanemcd/remove-resource-profiling
Remove resource profiling feature

Reviewed-by: Ryan Petrello <ryan@ryanpetrello.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-21 22:25:51 +00:00
softwarefactory-project-zuul[bot]
e67b5f57b4 Merge pull request #9951 from shanemcd/ignore-tls-container-registries
Add option for ignoring tls on Container Registry credentials

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-21 22:18:50 +00:00
Shane McDonald
cfc8b485ee Fix linter 2021-04-21 17:48:21 -04:00
Shane McDonald
21c493724c Remove resource profiling feature 2021-04-21 17:47:45 -04:00
Shane McDonald
658543c0fd Fix up some test fallout 2021-04-21 17:40:43 -04:00
Jake McDermott
562ba53833 Update to react-scripts 4
Co-authored-by: nixocio <nixocio@gmail.com>
2021-04-21 17:33:34 -04:00
Shane McDonald
17b8589ff2 Add option for ignoring tls on Container Registry credentials 2021-04-21 16:28:13 -04:00
Alex Corey
2d2d7b14a9 fixes object rendered on dom in aria-label 2021-04-21 16:07:13 -04:00
Shane McDonald
bcf911daf1 Fix permission assignment on rendered registry auth files
- This file shouldnt need the executable bit
- Should have been setting permissions before writing any data
- No need to close the file since we're using open w/ a context manager
2021-04-21 16:03:11 -04:00
mabashian
968c056057 Fix typo in test mock 2021-04-21 14:47:08 -04:00
mabashian
c48fbec30c Fixes bug where users could not delete a single inventory source 2021-04-21 14:42:38 -04:00
softwarefactory-project-zuul[bot]
0cdf57f31f Merge pull request #9974 from shanemcd/stop-using-devel
Stop instructing folks to install from devel

Reviewed-by: Chris Meyers <None>
2021-04-21 18:00:27 +00:00
Shane McDonald
edaec8dfbb Stop instructing folks to install from devel 2021-04-21 13:22:03 -04:00
softwarefactory-project-zuul[bot]
eec4f8dcc2 Merge pull request #9973 from shanemcd/fix-adhoc-commands
Fix issue where ad-hoc commands for multiple hosts ran on single host

Should resolve #9685

Reviewed-by: Matthew Jones <bsdmatburt@gmail.com>
2021-04-21 17:17:36 +00:00
softwarefactory-project-zuul[bot]
5ef7dd894a Merge pull request #9600 from keithjgrant/3167-variables-formatting
Initialize variables field/detail with formatted JSON strings

SUMMARY
When a variables detail or variables field are mounted with JSON code, this ensures the JSON is formatted with friendly whitespace, regardless how it was originally formatted when saved.
addresses #3167
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-21 17:07:46 +00:00
Shane McDonald
7fd5a4e79a Fix issue where ad-hoc commands for multiple hosts ran on single host 2021-04-21 12:41:51 -04:00
softwarefactory-project-zuul[bot]
b862434bec Merge pull request #9689 from rooftopcellist/i18n_devel_translations
I18n devel translations

SUMMARY
First round of translations for ui_next.  I have also included:

necessary changes to import fr, nl, es, zh, and also add them to the catalog.
fixed a syntax error that was keeping strings from compiling.

ISSUE TYPE


Feature

COMPONENT NAME


Translations

AWX VERSION

devel

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-04-21 15:00:29 +00:00
softwarefactory-project-zuul[bot]
f5a69d37dc Merge pull request #9971 from ansible/chrismeyersfsu-more_debug_docs
add slow query tracing to docs

Add information on how to trace slow queries back to awx nodes.

Reviewed-by: Jeff Bradberry <None>
2021-04-21 14:26:04 +00:00
Chris Meyers
54a1712767 add slow query tracing to docs
Add information on how to trace slow queries back to awx nodes.
2021-04-21 09:02:24 -04:00
mabashian
fe4440f7e9 Hide teams option when adding access role to a team 2021-04-20 17:29:10 -04:00
softwarefactory-project-zuul[bot]
ddcbef8545 Merge pull request #9932 from marshmalien/5070-expanded-project-list
Add expanded row content to project list

SUMMARY
#5070
Add the following details to expanded area:

Description
Organization
Execution Environment
Last modified
Last used


ISSUE TYPE


Feature Pull Request

COMPONENT NAME


UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-20 21:10:15 +00:00
softwarefactory-project-zuul[bot]
fc2d877983 Merge pull request #9964 from tiagodread/update-ouiaid-relaunch-feature
Adding ouiaid to RelaunchDropdown.jsx

Adding testability to this component

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-20 20:47:55 +00:00
Christian M. Adams
40be9607ee Importing the langs is now done in the lingui config 2021-04-20 16:34:23 -04:00
akus062381
673579fe26 adding ouiaid to relaunchdropdown.jsx 2021-04-20 17:06:51 -03:00
softwarefactory-project-zuul[bot]
0ca024c929 Merge pull request #9912 from fosterseth/fix_t4919_jt_slow_load
Return distinct labels for normal Users

SUMMARY


Create a single label and add it to 2 or more JTs
Visit /api/v2/labels as superuser and you'll see a single label
Create a normal user and give admin role to each JT in step 1
Visit /api/v2/labels as this normal user and you will see duplicate entries for the label. Number of entries will be equal to the number of JTs in step 1


ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.0.0

Reviewed-by: Seth Foster <None>
Reviewed-by: Jeff Bradberry <None>
2021-04-20 17:22:35 +00:00
mabashian
07d08b57d1 Fixes typo 2021-04-20 13:12:31 -04:00
mabashian
9540ed4364 Fixes bug where credential form checkboxes were erroneously checked 2021-04-20 13:00:44 -04:00
softwarefactory-project-zuul[bot]
182d4d3098 Merge pull request #9907 from fosterseth/feat_a9212_image_cleanup
Add cleanup_images scheduled task

SUMMARY

#9212
Removes dangling podman images on the system
[70e6cc8a] awx.main.tasks Cleanup execution environment images: deleting quay.io/fosterseth/awx-ee:v1, 643 MB

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.0.0

Reviewed-by: Seth Foster <None>
Reviewed-by: Ryan Petrello <ryan@ryanpetrello.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-20 16:03:24 +00:00
Marliana Lara
95db251314 Test project list row renders expanded details 2021-04-20 11:28:17 -04:00
Seth Foster
8ab81216f3 unused import 2021-04-20 11:16:32 -04:00
Seth Foster
1e3cfdc986 just remove dangling images 2021-04-20 11:16:32 -04:00
Seth Foster
c64ec6bbf8 check if is_k8s 2021-04-20 11:16:32 -04:00
Seth Foster
4566e7a2a6 check subprocess returncode 2021-04-20 11:16:32 -04:00
Seth Foster
3912f2b57c remove migration file 2021-04-20 11:16:32 -04:00
Seth Foster
fa61ec6b3c Remove system job, replace with scheduled task 2021-04-20 11:16:31 -04:00
Seth Foster
33567f8729 delete_prefix local 2021-04-20 11:16:31 -04:00
Seth Foster
1c888ca58b cleanup stdout 2021-04-20 11:16:31 -04:00
Seth Foster
f98b92073d Add cleanup_images system job template
- Removes podman images on the system that are not assigned to an
execution environment
2021-04-20 11:16:31 -04:00
softwarefactory-project-zuul[bot]
1d89ecaf4f Merge pull request #9954 from jbradberry/missing-dry-run-check
Add in the missing dry-run check for csv analytics collectors

SUMMARY
Follow on bug fix for the analytics gathering feature.  @chrismeyersfsu noticed that dry-run gathers of sufficiently large data was breaking out of the loop after the first csv chunk was packaged.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION
awx: 19.0.0

Reviewed-by: Chris Meyers <None>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Julen Landa Alustiza <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-20 15:10:43 +00:00
Seth Foster
7583525366 Return distinct labels for non-admin Users 2021-04-20 10:59:38 -04:00
Christian M. Adams
b729377a2c Fix syntax error with fr translations 2021-04-20 10:57:10 -04:00
Christian M. Adams
c7de869a07 Manually commit in translated ui_next strings 2021-04-20 10:49:46 -04:00
ansible-translation-bot
459874e4b5 UI translation strings for devel branch 2021-04-20 10:24:09 -04:00
Marliana Lara
329df4c0b5 Add expanded row section to project list 2021-04-20 10:10:06 -04:00
Jeff Bradberry
b9389208dd Add in the missing dry-run check for csv analytics collectors 2021-04-20 09:36:29 -04:00
softwarefactory-project-zuul[bot]
ce588a6af5 Merge pull request #9950 from tiagodread/ouia-ids
[Testability] Job template details delete button

Resolves #9510

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-20 00:34:41 +00:00
softwarefactory-project-zuul[bot]
7223ab4d29 Merge pull request #9899 from seiwailai/issue-9898-invalid-type-field
metadata: Fixes invalid model classes field.

Fixes #9441.
SUMMARY

Set type' field's filterable as True only if the model classes contain type field such as UnifiedJob, WorkflowApproval, UnifiedJobTemplate, Project and SystemJobTemplate

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API - metadata.py

AWX VERSION

awx: 19.0.0

ADDITIONAL INFORMATION

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Sei Wai Lai <None>
2021-04-19 22:44:53 +00:00
Tiago
8135ac4883 job template details delete button 2021-04-19 19:38:25 -03:00
softwarefactory-project-zuul[bot]
16bd9b44dc Merge pull request #9933 from marshmalien/4977-expanded-job-list
Add expanded row content to job list

SUMMARY
#4977
Add the following details to expanded section:

Job Template
Workflow Job Template
Source Workflow Job
Project
Execution Environment


ISSUE TYPE


Feature Pull Request

COMPONENT NAME


UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-19 22:28:55 +00:00
softwarefactory-project-zuul[bot]
a857352e30 Merge pull request #9940 from seiwailai/issue-9911-not-display-error-message
CredentialPluginField: Fixes bug to display invalid helper text for empty required field.

Fixes #9911. Include the HTML element of displaying helper text which is similar to FormGroup.tsx's inValidHelperText implementation
Signed-off-by: seiwailai laiseiwai@gmail.com
SUMMARY

Under normal circumstances, we initiate input fields using FormGroup element. However, for credentials purpose, we customized the FormGroup by adding another children element called CredentialPluginInput which comprised of Input Group. Thus, events related to the input fields will happen within the InputGroup logic. However, the Input Group doesn't have the functionality of rendering error at the moment.
Thus, we should explicitly render the error under FormGroup element if there is an error and needed to be displayed.

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


UI: CredentialPluginField.jsx

AWX VERSION

awx=19.0.0

ADDITIONAL INFORMATION


After

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-19 22:20:50 +00:00
softwarefactory-project-zuul[bot]
19da1ad263 Merge pull request #9925 from keithjgrant/4249-prevent-double-launch
Prevent double-clicking/double-launching jobs

SUMMARY
Prevents double-launching a job if the user double-clicks the launch icon. This is done by disabling the button upon first launch. Applied to all instances of <LaunchButton>.
Addresses: #4249
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-19 22:17:21 +00:00
softwarefactory-project-zuul[bot]
e346dbfc97 Merge pull request #9934 from DiegoTc/devel
Updating installation documentation 

Updating installation documentation due to bug. Adding this will prevent users to encounter errrors at the moment of installing awx.
SUMMARY

New users will encounter problems installing awx, as there's a bug using a specific version of minikube. Adding a note, so users are aware of this and don't struggle in the installation process.

ISSUE TYPE


Docs Pull Request

AWX VERSION

latest

ADDITIONAL INFORMATION


https://github.com/ansible/awx-operator/issues/205

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-19 21:58:00 +00:00
Keith J. Grant
dff43e973e add LaunchButton test to cover disabled launch button behavior 2021-04-19 13:09:16 -07:00
Alan Rominger
27d56726a3 Remove yaml_exts play variable 2021-04-19 15:55:29 -04:00
Alan Rominger
032341c7fc Move to fileglob loop for yml requirement locations 2021-04-19 15:45:51 -04:00
seiwailai
a4de7fffaf metadata: Fixes invalid model classes field.
Fixes #9441.
2021-04-20 02:51:46 +08:00
Keith J. Grant
804cf74cd8 fix formatting JSON on initialize 2021-04-19 11:00:27 -07:00
Keith J. Grant
b817967377 delete unused function 2021-04-19 09:38:50 -07:00
Keith J. Grant
768fe94088 initialize variables field/detail with formatted JSON strings 2021-04-19 09:37:42 -07:00
AlanCoding
51f4a40cd4 Allow preserving schedules with prevent_teardown 2021-04-19 12:34:14 -04:00
softwarefactory-project-zuul[bot]
8375141d67 Merge pull request #9942 from shanemcd/dont-reap-pods-when-debugging
Dont reap pods when settings.RECEPTOR_RELEASE_WORK = False

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-04-19 16:06:50 +00:00
Keith J. Grant
5e228c4d98 LaunchButton: rename isSending to isLaunching 2021-04-19 09:05:15 -07:00
Shane McDonald
e30b4ca875 Dont reap pods when settings.RECEPTOR_RELEASE_WORK = False 2021-04-19 09:06:23 -04:00
seiwailai
850d04b5c0 CredentialPluginField: Fixes bug to display invalid helper text for empty required field.
Fixes #9911. Include the jsx element of displaying helper text which is similar to FormGroup.tsx's inValidHelperText implementation

Signed-off-by: seiwailai <laiseiwai@gmail.com>
2021-04-19 14:09:16 +08:00
Diego Turcios
54cb303ac5 Signed-off-by: Diego Turcios <diegoturciostc@gmail.com>
Updating installation documentation due to [bug](https://github.com/ansible/awx-operator/issues/205). Adding this will prevent users to encounter errrors at the moment of installing awx.
2021-04-16 19:34:33 -06:00
Marliana Lara
956cffe073 Add missing details to job list expanded row section 2021-04-16 15:31:08 -04:00
softwarefactory-project-zuul[bot]
d834519aae Merge pull request #9914 from dhoppe/fix_architecture
Define variables in the correct Ansible role

SUMMARY
This pull request is related to #9913.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

Docker

AWX VERSION
awx: 19.0.0

ADDITIONAL INFORMATION
This pull request ensures that tini is downloaded for the correct architecture.
$ grep tini Dockerfil
# Install tini
RUN curl -L -o /usr/bin/tini https://github.com/krallin/tini/releases/download/v0.19.0/tini-arm64 && \
    chmod +x /usr/bin/tini

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-16 17:41:41 +00:00
softwarefactory-project-zuul[bot]
d53d41b84a Merge pull request #9776 from AlexSCorey/9019-MultiChart
Observability Metrics

SUMMARY
This adds the chart for Observability Metrics (#9019).  To see the chart you need to navigate to /metrics.  Also, its best if you run a build that has multiple instances.  This will do that for you COMPOSE_TAG=devel CLUSTER_NODE_COUNT=2 make docker-compose.
When this feature loads the user has to select an instance (1, or all) and a metric to render data on the graph.  Once they select those items, the chart appears and we start to make requests to the api every 3 seconds to get the data. (Currently the api does not support web sockets for this feature) If the user changes the values for either of the drop down items the chart resets.  The chart also only show the last 50 data points.
There is a "tooltip" that is rendered at the bottom left hand side.  I decided to put it there, instead of on the chart itself because this chart could get quite crowded depending the number of data points rendered and the number of instances rendering lines.
The X axis is sort of meaningless.  The values below simply render the number of api requests. This isn't a value of time. Since the main goal of this feature is to show significant changes instead of tryin to pinpoint when the change occurs I felt that showing a time stamp on this axis would crowd the axis as well.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Mat Wilson <mawilson@redhat.com>
2021-04-15 21:59:28 +00:00
softwarefactory-project-zuul[bot]
a194dfdbbb Merge pull request #9884 from nixocio/ui_issue_9769
Do not allow EE to modify Org

Do not allow EE to modify Org.
See: #9769
Also: #9874

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-15 21:59:19 +00:00
Keith J. Grant
dc0256441f disable launch buttons to prevent double-clicking 2021-04-15 14:51:39 -07:00
softwarefactory-project-zuul[bot]
08a969bf8b Merge pull request #9922 from jbradberry/write-pre-commit-always
Always overwrite the contents of .git/hooks/pre-commit

SUMMARY
Set the make command to always write into the pre-commit hook file, even if it already exists.  This will allow this file to be updated when changes are made without the developer having to jump through hoops or remember that it is a thing.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION

Reviewed-by: Ryan Petrello <None>
2021-04-15 20:25:26 +00:00
Jeff Bradberry
2793b5b01e Always overwrite the contents of .git/hooks/pre-commit 2021-04-15 14:21:53 -04:00
softwarefactory-project-zuul[bot]
32200cd893 Merge pull request #9875 from keithjgrant/a11y-fixes
Accessibility fixes

SUMMARY
Fixes numerous accessibility issues, including:

updates CodeEditor so label correctly points at associated textarea
fixes issues with tabs on dashboard and details pages
adds missings ids
adds alt text to logo
removes duplicate ids on some lists

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Keith Grant <keithjgrant@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-15 17:39:07 +00:00
softwarefactory-project-zuul[bot]
6fef4e1ab7 Merge pull request #9593 from keithjgrant/7506-yaml-json-eval-fix-2
Don't unnecessarily expand YAML expressions

SUMMARY
Prevents variables fields from expanding YAML expressions when possible:

In the detail view, the user may toggle to JSON (seeing the data structure fully expanded), but toggling back to YAML will continue to display the original un-expanded value with expressions intact
In edit mode, this works the same way, UNLESS the user edits the value while in JSON mode.

Addresses #7506
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Chris Meyers <None>
2021-04-15 17:34:44 +00:00
softwarefactory-project-zuul[bot]
ad07d31b9a Merge pull request #9219 from mazhead/devel
Adding the scm_track_submodules option for project

SUMMARY
Adding the scm_track_submodules option which should fix the related #7846
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API
UI

AWX VERSION
awx: 17.0.1

ADDITIONAL INFORMATION
This option will add the track_submodules option which is described in the ansible git module: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/git_module.html

if yes, submodules will track the latest commit on their master branch (or other branch specified in .gitmodules). If no, submodules will be kept at the revision specified by the main project. This is equivalent to specifying the --remote flag to git submodule update.

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: None <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-04-15 17:28:41 +00:00
mazhead
5bb93e1f5d Update SharedFields.jsx 2021-04-15 15:23:05 +02:00
nixocio
95f5188462 Do not allow EE to modify Org
Do not allow EE to modify Org.

See: https://github.com/ansible/awx/issues/9769
2021-04-15 09:11:26 -04:00
Dennis Hoppe
1d4a83e613 Define variables tini_architecture and kubectl_architecture in the correct Ansible role 2021-04-15 12:38:49 +02:00
Keith J. Grant
8f2ef6ce01 VariablesField: don't run Formik validation on mode change 2021-04-14 16:15:18 -07:00
softwarefactory-project-zuul[bot]
c633313152 Merge pull request #9903 from nixocio/ui_remove_not_used_code
Remove not used code

Remove not used code

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-14 16:35:08 +00:00
Keith J. Grant
637b540a4d fix button selection in VariablesField tests 2021-04-14 09:25:15 -07:00
Keith J. Grant
8dd4e68385 change CodeEditor onChange back to our debounce implementation 2021-04-14 09:25:15 -07:00
Keith J. Grant
dff3103d96 add more robust handling of JSON/YAML toggle to prevent expanding YAML expressions 2021-04-14 09:25:15 -07:00
Keith J. Grant
1bd71024e3 Don't unecessarily expand YAML expressions
If the user toggles a VariablesField to JSON then back to YAML without
editing the field content, revert to the initial YAML value to maintain
any shorthand expressions
2021-04-14 09:22:57 -07:00
Keith J. Grant
634c9892df VariablesDetail: don't evaluate YAML expressions 2021-04-14 09:13:53 -07:00
nixocio
7435458a7b Remove not used code
Remove not used code
2021-04-14 10:36:18 -04:00
softwarefactory-project-zuul[bot]
2ebd4c72c1 Merge pull request #9862 from jakemcdermott/remove-suppress
Use built-in suppress from contextlib

In python3, we use the built-in suppress from contextlib.

Reviewed-by: Ryan Petrello <None>
2021-04-14 12:35:39 +00:00
Keith J. Grant
e05fdf9ebb update tests to match new ids 2021-04-13 13:11:44 -07:00
Keith J. Grant
1dc3b80c68 add missing titles/labels, remove duplicate IDs 2021-04-13 13:11:44 -07:00
Keith J. Grant
77cc3306a5 add typeahead aria labels to all Select boxes 2021-04-13 13:11:44 -07:00
Keith J. Grant
f807b76044 revert RoutedTabs to buttons pending PF fix 2021-04-13 13:11:44 -07:00
Keith J. Grant
ac0f534208 update inventory group tests 2021-04-13 13:11:44 -07:00
Keith J. Grant
c738772cd5 translate brand logo alt text 2021-04-13 13:11:44 -07:00
Keith J. Grant
79118cfbe2 fix Schedule tests 2021-04-13 13:11:44 -07:00
Keith J. Grant
445b2fef84 update VariablesField test for new id 2021-04-13 13:11:44 -07:00
Keith J. Grant
94038006aa fix a11y bugs in RoutedTabs, UserList 2021-04-13 13:11:44 -07:00
Keith J. Grant
be9622d03f fix missing ids/alt for a11y fixes 2021-04-13 13:11:44 -07:00
Keith J. Grant
03fbeb2a27 fix a11y labels on dashboard tabs 2021-04-13 13:11:43 -07:00
Keith J. Grant
30f08582ed add id to code editor input fields 2021-04-13 13:11:43 -07:00
softwarefactory-project-zuul[bot]
6dd5fc937b Merge pull request #9683 from rebeccahhh/devel
Pull with credentials from protected registries

SUMMARY

relates to #7066
if a credential is associated with an EE this will create a JSON authfile that is then passed with the pull request to the host of the registry

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 18.0.0


TODOs

 Remove separate token field from the registry credential.
 Rename the existing password field to say "password/token"
 Ensure only registry credentials can be associated with an EE #9628
 Write out the auth.json file to the pdd_wrapper_ directory. #9683 (comment)
 Use secure permissions for auth.json #9683 (comment)

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Nana  <natr@hey.com>
2021-04-13 20:09:52 +00:00
mazhead
83d340ab1f Updated migration + serializers as suggested
Signed-off-by: mazhead <mazhead@gmail.com>
2021-04-13 21:39:24 +02:00
softwarefactory-project-zuul[bot]
b82318161c Merge pull request #9890 from ryanpetrello/schedule-invalid-ujt
allow schedules to be disabled even if the associated UJT isn't valid

see: #8641

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Jeff Bradberry <None>
2021-04-13 17:20:51 +00:00
Alex Corey
90081e4e6e updates file names and adds breadcrumb 2021-04-13 12:40:05 -04:00
softwarefactory-project-zuul[bot]
cd372e4c74 Merge pull request #9889 from ryanpetrello/cors-allow-list
update django-cors-headers and switch to inclusive settings name

see: #9177

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-04-13 16:38:15 +00:00
Alex Corey
b933155f07 fixes some domain issues for x and y axis 2021-04-13 12:13:25 -04:00
Alex Corey
51257a2f62 Adds observability metrics chart
wip

tooltip renders with colors and disappears

scales y axis properly

adds legend without buttlets

adds legend data but needs styling

adds legend, and cleans up code

show help text
2021-04-13 12:13:25 -04:00
Rebeccah
0d2ab5f61e add in OR to the UI label for editing a registry credential 2021-04-13 11:54:44 -04:00
Shane McDonald
4a62932ecd Store auth.json is pdd_wrapper directory 2021-04-13 11:54:43 -04:00
Rebeccah
e61d0c5cb7 credential validation for execution envs to allow only registry credentials to be associated with them, also adding security precautions for authfile and password, also combined token & password into one term to align with Quay, and added handling to account for users not filling in credential data and add a has_inputs function to simplify checking if the host, username, and password are present in the credential 2021-04-13 11:54:33 -04:00
Rebeccah
7c57aebd46 if there is a credential associated with an EE, create a JSON structure and write it to a file, then use that file to pull from protected registries from quay and edit the credential type for registries so that they combine the password and token fields into one field 2021-04-13 11:50:29 -04:00
softwarefactory-project-zuul[bot]
98bb296c6a Merge pull request #9874 from fosterseth/fix_a9769_ee_rbac_change_org
Prevent execution environment from being assigned to a new organization

SUMMARY

related #9769

ee organization can be changed to null (less restrictive)
if organization is null, cannot be assigned to org (more restrictive)
if org is assigned, it cannot be set to a different org


ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 19.0.0

Reviewed-by: Kersom <None>
Reviewed-by: Chris Meyers <None>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Seth Foster <None>
2021-04-13 15:24:44 +00:00
softwarefactory-project-zuul[bot]
e67923382a Merge pull request #9892 from ryanpetrello/record-unit-id
record the receptor unit ID on the job record for debugging purposes

see: #8641

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-12 21:31:35 +00:00
softwarefactory-project-zuul[bot]
4de7cf0296 Merge pull request #9835 from ryanpetrello/saml-galaxy-cred
automatically setup default Galaxy credentials on SAML login

Reviewed-by: Chris Meyers <None>
2021-04-12 21:16:19 +00:00
Ryan Petrello
4db3c36ac3 record the receptor unit ID on the job record for debugging purposes
see: https://github.com/ansible/awx/issues/8641
2021-04-12 16:53:51 -04:00
softwarefactory-project-zuul[bot]
f5c00431bd Merge pull request #7391 from xstasi/devel
Add tower group for collection modules

SUMMARY
It would be useful to be able to declare module defaults for all tower modules, which is accomplished with module groups.
See: https://docs.ansible.com/ansible/latest/user_guide/playbooks_module_defaults.html
This very simple PR adds the group definition

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-12 20:53:02 +00:00
Ryan Petrello
b5f77bfe4c allow schedules to be disabled even if the UJT isn't valid
see: https://github.com/ansible/awx/issues/8641
2021-04-12 16:01:52 -04:00
Ryan Petrello
f137ff7d43 update django-cors-headers and switch to inclusive settings name
see: https://github.com/ansible/awx/issues/9177
2021-04-12 15:14:27 -04:00
Jake McDermott
2c61e8f6de Use built-in suppress from contextlib
In python3, we can use the built-in suppress from contextlib

https://docs.python.org/3/library/contextlib.html#contextlib.suppress
2021-04-12 14:47:50 -04:00
Seth Foster
1e4b44e54f Prevent ee from being assigned to a new organization
- ee organization can be changed to null (less restrictive)
- if organization is null, cannot be assigned to org (more restrictive)
- if org is assigned, it cannot be set to a different org
2021-04-12 14:15:21 -04:00
softwarefactory-project-zuul[bot]
c72cc6486c Merge pull request #9537 from AlexSCorey/lingUIUpdate
Updates Ling UI

SUMMARY
This PR updates Ling ui. One of the reasons for updating this dependency was that they were deprecating withI18n().  They changed their minds on that so we didn't need to urgently remove all those HOCs.  Thus, we can now make that conversion a bit slower a couple of files at a time.
One other thing:  When we are changing the string based on a count of an item (ie. Cancel Job vs. Cancel Jobs) we should use ling ui's <Plural> component. However, in order to show the update strings passed to that component the developer will have to run npm run extract-strings each time they are changed to render the updated strings properly. More info here.
ISSUE TYPE
-dependency  upgrade
COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Sergio Moreno <sergiomorenoalbert@gmail.com>
2021-04-12 17:57:27 +00:00
softwarefactory-project-zuul[bot]
9ee7281b0b Merge pull request #9886 from ryanpetrello/autoflake
sprinkle back in some flake8 to catch missing imports

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Ryan Petrello <None>
2021-04-12 17:35:40 +00:00
mazhead
5f93ba7690 Update awx/ui_next/src/screens/Project/shared/ProjectSubForms/SharedFields.jsx
Accept suggestion

Co-authored-by: Shane McDonald <me@shanemcd.com>
2021-04-12 19:02:51 +02:00
Ryan Petrello
300f5a3a1f use flake8 to lint for a few things black doesn't catch
black does *not* warn about missing or extraneous imports,
so let's bring back flake8 in our linting to check for them
2021-04-12 12:55:39 -04:00
mazhead
9f68ffc1cc Update default
Signed-off-by: mazhead <mazhead@gmail.com>
2021-04-12 18:27:16 +02:00
softwarefactory-project-zuul[bot]
ae1fd5a814 Merge pull request #9885 from beeankha/remove_old_tower_name_from_docs
Change Reference of 'ansible-tower-service' to 'automation-controller-service' in Docs File

Related to the work done in #9720

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-12 15:29:07 +00:00
mazhead
f1a987793c Black fix
Signed-off-by: mazhead <mazhead@gmail.com>
2021-04-12 16:58:28 +02:00
beeankha
7c13d749b1 Change 'ansible-tower-service' to 'automation-controller-service' 2021-04-12 10:56:55 -04:00
mazhead
d479237734 Fix merge issue
Signed-off-by: mazhead <mazhead@gmail.com>
2021-04-12 16:47:44 +02:00
softwarefactory-project-zuul[bot]
bdd41c70af Merge pull request #9847 from fosterseth/fix_t4922_job_elapsed_time_incorrect
Fix elapsed time on job showing incorrect value

SUMMARY

Elapsed time would always stay at zero

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 18.0.0

Reviewed-by: Seth Foster <None>
Reviewed-by: Ryan Petrello <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
Reviewed-by: Jeff Bradberry <None>
2021-04-12 14:35:04 +00:00
mazhead
c6eb7da68d Adding the scm_track_submodules option which should fix the https://github.com/ansible/awx/issues/7846
Signed-off-by: mazhead <mazhead@gmail.com>
2021-04-12 16:22:23 +02:00
softwarefactory-project-zuul[bot]
311c44341e Merge pull request #9873 from wenottingham/not-any-more-they-arent
Update templates for installer changes

SUMMARY
Some of the options aren't valid any more.

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-09 22:20:47 +00:00
Bill Nottingham
d012362ade Update templates for installer changes 2021-04-09 17:42:42 -04:00
softwarefactory-project-zuul[bot]
ce2e41a6fa Merge pull request #9858 from marshmalien/7662-expanded-template-list-item
Add missing template list expanded section details

SUMMARY
Issue: #7662

Add the following detail items:

Description
Organization and link to organization details
Credentials


Move Credential and Label details to the bottom of the expanded section and make them stretch the entire width of the row.


COMPONENT NAME


UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-09 21:10:12 +00:00
Marliana Lara
62c91aea4a Fix bug where falsy details return 0 2021-04-09 15:54:38 -04:00
softwarefactory-project-zuul[bot]
a0780aa287 Merge pull request #9586 from keithjgrant/8906-code-editor-validation-2
Add VariablesField YAML/JSON validation

SUMMARY
Validates YAML or JSON syntax in the variables field on blur. Prevents formik from submitting the form while this error is present.
addresses #8906, #8907
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-09 19:07:50 +00:00
Marliana Lara
0bc4702a26 Add execution environment detail to template expanded row 2021-04-09 14:40:59 -04:00
softwarefactory-project-zuul[bot]
6e46183ba6 Merge pull request #9814 from nixocio/ui_issue_9176
Do not validate optional survey

Do not validate optional survey.
See: #9176

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-09 17:35:22 +00:00
softwarefactory-project-zuul[bot]
8a86867f69 Merge pull request #9861 from jakemcdermott/fix-9296
Fix non-translatable template string

SUMMARY
The template string for the trademark doesn't seem like it can be used for a valid translation key. This caused the raw variable to be displayed for production builds instead of a readable string.  see: #9296 (comment)
ADDITIONAL INFORMATION
Screenshots, after applying this patch:
development environment


production build

Reviewed-by: Kersom <None>
2021-04-09 16:53:36 +00:00
softwarefactory-project-zuul[bot]
c7a2a1b9f6 Merge pull request #9869 from jakemcdermott/fix-cred-validation-prop
Use validated prop in cred plugin field

SUMMARY
Fxes an initialization bug for cred plugin fields, introduced by this commit
This pr applies the patch described below:
cc @marshmalien @unlikelyzero

before


after

Reviewed-by: John Hill <johill@redhat.com>
2021-04-09 16:20:20 +00:00
Jake McDermott
4e75e9438e Use validated prop in cred plugin field 2021-04-09 10:50:58 -04:00
Jake McDermott
b75d0c1dad Fix non-translatable template string 2021-04-08 19:09:19 -04:00
Marliana Lara
aa69a493b6 Add remaining expanded template list item details 2021-04-08 16:03:46 -04:00
softwarefactory-project-zuul[bot]
cb32f5b096 Merge pull request #9755 from nixocio/ui_issue_9752
Remove isolated and controller from the UI

Remove isolated and controller from the UI.
See: #9752

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-08 18:48:17 +00:00
Seth Foster
89e28d6d4a fix awx_collections tests by comparing Decimal to float, instead of comparing strings 2021-04-08 13:38:35 -04:00
Seth Foster
f05ffa521a the returned self.elapsed should be decimal, instead of float, to match django model field type 2021-04-08 11:36:40 -04:00
Alex Corey
a3aab7228d updates importing messages properly 2021-04-08 09:58:53 -04:00
Alex Corey
385c4a16db updates the method of loading locales 2021-04-08 09:14:41 -04:00
Alex Corey
43c8cabaa6 Updates Lingui 2021-04-08 09:14:40 -04:00
softwarefactory-project-zuul[bot]
b85559fe13 Merge pull request #9848 from marshmalien/subscription-docs-link
Update subscription docs link to use single source of truth

SUMMARY
Related: #8428

Update subscription edit form documentation links to use the docs link utility.
Fix broken unit tests

COMPONENT NAME


UI

Reviewed-by: Keith Grant <None>
2021-04-07 21:54:27 +00:00
Seth Foster
09c176847d string 2021-04-07 17:30:46 -04:00
Marliana Lara
5ff2e7442c Update subscription docs link to use single source of truth 2021-04-07 16:21:52 -04:00
softwarefactory-project-zuul[bot]
6eb1e147a1 Merge pull request #9840 from shanemcd/bump-19
Update version and changelog for version 19

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Ryan Petrello <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-07 19:59:11 +00:00
Seth Foster
8c73a51730 Fix elapsed time on job showing incorrect value
- job elapsed time showed 0.0, during and after the job run
2021-04-07 15:54:43 -04:00
softwarefactory-project-zuul[bot]
725fe99df8 Merge pull request #9844 from nixocio/ui_fix_plural_issue
Fix issue related to plural

Fix issue related to plural
Manually tested. make ui-devel

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-07 19:13:54 +00:00
softwarefactory-project-zuul[bot]
840f5b7264 Merge pull request #9836 from jakemcdermott/fix-9830-9296
Use shared logo img and dynamic copyright date

for #9830, #9296

Reviewed-by: Kersom <None>
2021-04-07 19:05:50 +00:00
nixocio
98dd3c7798 Fix issue related to plural
Fix issue related to plural
2021-04-07 14:41:21 -04:00
softwarefactory-project-zuul[bot]
e8f0a3dbd5 Merge pull request #9843 from tiagodread/fix-doc-link
Remove duple // for docs link on PageHeaderToolBar

Related: #9842

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-07 18:28:45 +00:00
Keith J. Grant
812a4e53df add VariablesField YAML/JSON validation 2021-04-07 11:16:44 -07:00
softwarefactory-project-zuul[bot]
f9981c0825 Merge pull request #9496 from marshmalien/settings-subscription-wizard
Subscription wizard

SUMMARY

Adds subscriptions routes
Extends Config context to return an array with two items: config state and config setter

Update components that use Config with the new return pattern


Move mock config into setupTests.js
Return only the routes the user is "authorized" (valid license key) to view

Subscription Details view: /settings/subscription/details

This is our standard details view
Clicking Edit will send the user to subscription wizard view /settings/subscription/edit
Route is not accessible when license type is OPEN

Subscription Add wizard view: /settings/subscription_management
Step 1 - Subscription:

If a user does not have a Red Hat Ansible Automation Platform subscription, they can request a trial subscription via the link
Toggle between uploading a subscription manifest .zip file or retrieving subscriptions using Red Hat credentials (username and password)
Get Subscriptions button fetches subscriptions and displays them in a modal



Step 2 - Tracking and analytics:

Shows two checkboxes to enable User analytics and Automation analytics
If the user has previously selected the RH subscription manifest flow, checking the Automation Analytics box will display required RH username and password fields
If the user has previously selected the RH username/password flow, they will not see this additional username/password field if Automation Analytics is checked


Step 3 - EULA: https://tower-mockups.testing.ansible.com/patternfly/settings/settings-license-step-03/

Submission should show a success message and navigate user to dashboard if this is the initial launch and to the subscription detail view if they are editing the subscription
Failed submission should show a wizard form error

ISSUE TYPE

Feature

COMPONENT NAME

UI

ADDITIONAL INFORMATION

Reviewed-by: Michael Abashian <None>
Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-07 18:13:48 +00:00
Jake McDermott
ee68a7ff09 Update CHANGELOG.md 2021-04-07 13:52:58 -04:00
Tiago
84e6980e49 Remove duple // 2021-04-07 14:52:15 -03:00
softwarefactory-project-zuul[bot]
091027fefc Merge pull request #9803 from shanemcd/cluster-migrate-once
Cluster dev env: only run migrations on first node

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-07 16:59:52 +00:00
Shane McDonald
5df50066a6 Update version and changelog for version 19 2021-04-07 12:29:34 -04:00
Jake McDermott
6da224f27e Ignore no-literal rule for AboutModal component 2021-04-07 11:14:22 -04:00
Ryan Petrello
8ea247123a automatically setup default Galaxy credentials on SAML login 2021-04-07 10:19:19 -04:00
Jake McDermott
3f040eba6d Use shared logo img and dynamic copyright date 2021-04-07 10:01:27 -04:00
softwarefactory-project-zuul[bot]
d309f8c54b Merge pull request #9825 from jbradberry/analytics-naive-datetimes-fix
Adjust datetimes to be aware when using awx-manage gather_analytics

SUMMARY
Adjust datetimes to be aware when using awx-manage gather_analytics
Also, make sure that an explicit since parameter will win over
default until=now() when calculating the 4-week data limit.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION

Reviewed-by: Ryan Petrello <None>
2021-04-07 13:54:52 +00:00
softwarefactory-project-zuul[bot]
f48e600563 Merge pull request #9673 from jborean93/pwsh-request
Fix up request tower ps script

SUMMARY
Fixes the request_tower_configuration.ps1 script with the following:

Added PowerShell 6+ support, can now run on Linux
Removes the uneeded strict and ErrorActionPreference settings which could impact the global settings
Enables TLS 1.2 support on Windows PowerShell
Fixes -insecure handling for certificates

Works across ps versions
Original didn't actually work (at least in my testing)
Hopefully doesn't impact the global state


Fixes IE not loaded error on Windows PowerShell when running on a new profile
Changes the encoding to UTF-8 (no BOM) and made it executable

Can now be invoked on Linux like ./request_tower_configuration.ps1 ...
There are no non-ASCII chars in the script so this won't matter on Windows



Fixes #9434
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

Tools

AWX VERSION
N/A

Reviewed-by: Ryan Petrello <None>
2021-04-07 13:18:43 +00:00
softwarefactory-project-zuul[bot]
a10c3c0493 Merge pull request #9827 from ansible/jakemcdermott-playbook-max-size
Limit the visible playbook select region

SUMMARY
before

after

Reviewed-by: Kersom <None>
2021-04-07 01:06:55 +00:00
Jake McDermott
2dc9c1a1c8 Limit the visible playbook select region 2021-04-06 17:36:42 -04:00
softwarefactory-project-zuul[bot]
229a3d6f23 Merge pull request #9758 from nixocio/ui_issue_9187
Do not allow user to attempt to delete a running job

Do not allow user to attempt to delete a running job
See: #9187

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Kersom <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-06 21:32:13 +00:00
softwarefactory-project-zuul[bot]
478e8c0c0b Merge pull request #9821 from ryanpetrello/analytics-null-byte
replace null unicode with nothing in analytics collection

replaces #9279
cc @Ladas

Reviewed-by: Chris Meyers <None>
2021-04-06 21:16:12 +00:00
Marliana Lara
440bdee56d Add subscription wizard and redirect logic 2021-04-06 17:09:33 -04:00
softwarefactory-project-zuul[bot]
868f68035f Merge pull request #9819 from shanemcd/fix-reaper
Update pod reaper to work with receptor launched pods

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Alan Rominger <arominge@redhat.com>
2021-04-06 20:32:55 +00:00
softwarefactory-project-zuul[bot]
84ab88b073 Merge pull request #9710 from nixocio/ui_issue_6663
Make Org a required field for org admins on WFJT

Make Org a required field for org admins on WFJT.
See: #6663

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-06 20:32:51 +00:00
Jeff Bradberry
62c7554ec4 Adjust datetimes to be aware when using awx-manage gather_analytics
Also, make sure that an explicit `since` parameter will win over
default `until=now()` when calculating the 4-week data limit.
2021-04-06 15:59:54 -04:00
softwarefactory-project-zuul[bot]
3742090d6f Merge pull request #9804 from sean-m-sullivan/job_template_instance_groups
instance groups options for modules

SUMMARY
Add ability to set instance groups in organization, job templates, and inventories.
#9788
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

awx-collection

AWX VERSION
18.0.0

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-06 19:27:19 +00:00
softwarefactory-project-zuul[bot]
c3736134ed Merge pull request #9815 from keithjgrant/4837-docs-links
Create single source of truth for outgoing Docs link URLs

SUMMARY
Adds a utility function to generate links to the correct version of documentation and updates/adds a number of docs links throughout the app.
Addresses #8428
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-04-06 19:22:19 +00:00
softwarefactory-project-zuul[bot]
d6964c7266 Merge pull request #9818 from jakemcdermott/fix-9817
Configure ace editor to not use blob worker

SUMMARY
Intended to address #9817

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Ryan Petrello <None>
2021-04-06 19:22:16 +00:00
sean-m-ssullivan
9d500e89f5 update test logic 2021-04-06 13:48:05 -05:00
Keith J. Grant
37a4f2975b add tests for getDocsBaseUrl util 2021-04-06 11:45:31 -07:00
Ryan Petrello
f694cd14d7 replace null unicode with nothing in analytics collection 2021-04-06 14:19:21 -04:00
softwarefactory-project-zuul[bot]
62be41036c Merge pull request #9358 from jbradberry/job-event-analytics-v1
Gather job event analytics by last pk instead of created datetime

SUMMARY
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API

AWX VERSION
awx: 17.0.1

Reviewed-by: Bill Nottingham <None>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Ryan Petrello <None>
Reviewed-by: Ladislav Smola <lsmola@redhat.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Jim Ladd <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
2021-04-06 18:02:22 +00:00
Keith J. Grant
d924b873b3 update existing docs links to use current version util 2021-04-06 10:46:28 -07:00
softwarefactory-project-zuul[bot]
33f1197b23 Merge pull request #9813 from nixocio/ui_capital_issue
Update capitalization for a few screens

Update capitalization for EE and Instance Groups screens to better align
with mock ups.

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-06 17:15:21 +00:00
softwarefactory-project-zuul[bot]
e5159fd28d Merge pull request #9662 from jakemcdermott/fix-9636
Fix cred type display on form initialization

SUMMARY
For #9636 and #8828

Reviewed-by: Kersom <None>
2021-04-06 16:30:01 +00:00
nixocio
e843872b98 Do not allow user to attempt to delete a running job
Do not allow user to attempt to delete a running job

See: https://github.com/ansible/awx/issues/9187
2021-04-06 10:24:51 -04:00
Jake McDermott
f444870c0c Disable credential type field on edit 2021-04-06 09:04:00 -04:00
Jake McDermott
6dac50b1e0 Display cred type name on initialization 2021-04-06 09:03:53 -04:00
Jake McDermott
241f73ebf7 Configure ace editor to not use blob worker
We don't rely on ace-editor using the blob worker
and leaving it on causes CSP errors.
2021-04-06 08:56:15 -04:00
Keith J. Grant
4227f7276b add docs links to notification templates, project scm 2021-04-05 15:41:33 -07:00
Keith J. Grant
64b9d61dd4 add some links to docs 2021-04-05 15:41:33 -07:00
Shane McDonald
2d48b24ef2 Update pod reaper to work with receptor launched pods 2021-04-05 17:45:15 -04:00
Shane McDonald
6294ddfded AWX_CONTAINER_GROUP_KEEP_POD -> RECEPTOR_KEEP_WORK 2021-04-05 17:44:40 -04:00
Jeff Bradberry
f8b91f9b0e Fixes
- use parse_datetime from Django for the datetime_hook
- deal with a fencepost error in the events slicer
2021-04-05 13:58:32 -04:00
Jeff Bradberry
f85e8a44de Properly parse datetimes from AUTOMATION_ANALYTICS_LAST_ENTRIES 2021-04-05 13:58:32 -04:00
Jeff Bradberry
6030c5cf4c Rationalize the interval calculations for analytics gathering
- `since` should not be after `until`
- neither `since` nor `until` should be in the future
- `since`, `AUTOMATION_ANALYTICS_LAST_GATHER`, and `AUTOMATION_ANALYTICS_LAST_ENTRIES[key]` should be truncated to 4 weeks prior to `until`
- an explicit `since` parameter should always take precedence over the settings values
2021-04-05 13:58:32 -04:00
Jeff Bradberry
8ce3a14da5 A couple more fixes:
- stop trying to ship csv slices when one breaks
- only update LAST_ENTRIES if all of the files in a time/pk slice succeed
- don't allow an explicit --until parameter to set the GATHER/ENTRIES values backwards
2021-04-05 13:58:32 -04:00
Jeff Bradberry
1dacd7e8cf Only clean up tarballs if we had all successfully ship 2021-04-05 13:58:32 -04:00
Jeff Bradberry
39886da4b6 Deal with datetimes in AUTOMATION_ANALYTICS_LAST_ENTRIES 2021-04-05 13:58:32 -04:00
Jeff Bradberry
99daa4319e Require the config.json file to be in dry-run tarballs 2021-04-05 13:58:32 -04:00
Jeff Bradberry
3568558571 A couple of bug fixes 2021-04-05 13:58:32 -04:00
Jeff Bradberry
0b31e771b1 Fix the gather_analytics management command
Previously, invoking the command with neither of the --ship or
--dry-run flags would result in effectively doing a dry run.  With the
stricter checks now in place in analytics.core.gather, let's make sure
that we pass the 'dry-run' parameter in to gather() in the no-flags
case.
2021-04-05 13:58:32 -04:00
Jeff Bradberry
772da61980 If a csv collector is successful but results in no files, increment anyway 2021-04-05 13:58:32 -04:00
Jeff Bradberry
9cde10c93a Fix problems with the package() function 2021-04-05 13:58:32 -04:00
Jeff Bradberry
1bf37266b4 Differentiate the log level depending on whether we are run from the task 2021-04-05 13:58:32 -04:00
Jeff Bradberry
77f7e88e68 Address the problems with trying to use a JSONField 2021-04-05 13:58:32 -04:00
Jeff Bradberry
3e4e255d3f Require config collector data for all posts to analytics
We need the cluster ID when consuming all incoming data.
2021-04-05 13:58:32 -04:00
Jeff Bradberry
a448cb17d9 Refactor analytics.gather
With the change to use pk-based interval slicing for the job events
table, we need analytics.gather to be the code that manages all of the
"expensive" collector slicing.  While we are at it, let's ship each
chunked tarball file as we produce it.
2021-04-05 13:58:32 -04:00
nixocio
eda9bcbf62 Do not validate optional survey
Do not validate optional survey.

See: https://github.com/ansible/awx/issues/9176
2021-04-05 13:30:24 -04:00
nixocio
87c03c1139 Update capitalization for a few screens
Update capitalization for EE and Instance Groups screens to better align
with mock ups.
2021-04-05 12:59:36 -04:00
softwarefactory-project-zuul[bot]
775c0b02ee Merge pull request #9811 from wenottingham/irc-change
Move to webchat.freenode.net.

SUMMARY
See #9806

Reviewed-by: Ryan Petrello <None>
2021-04-05 15:44:04 +00:00
Bill Nottingham
806d04c9b0 Move to webchat.freenode.net. 2021-04-05 11:13:51 -04:00
softwarefactory-project-zuul[bot]
434c0fcd86 Merge pull request #9809 from shanemcd/update-image-ref
Update placeholder image variable in inventory file

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-04-05 15:11:43 +00:00
softwarefactory-project-zuul[bot]
9238b66344 Merge pull request #9802 from shanemcd/remove-more-ansible
Remove invocation of Ansible from launch script

This was missed in the initial EE PR. Ansible is no longer installed inside of the web & task containers, causing this to show up in the container logs:
/usr/bin/launch_awx.sh: line 18: ansible: command not found
/usr/bin/launch_awx.sh: line 19: ansible: command not found

Reviewed-by: Ryan Petrello <None>
2021-04-05 15:10:37 +00:00
softwarefactory-project-zuul[bot]
6b1ee7f126 Merge pull request #9777 from nixocio/ui_issue_9770
Filter EE also by Organization for JT

Filter EE also by Organization for JT.
See: #9770

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-04-05 14:54:59 +00:00
softwarefactory-project-zuul[bot]
f7e5f7c434 Merge pull request #9810 from jogleasonjr/patch-1
Fix docker-compose up options

SUMMARY
Should the up options be after the up command? I'm assuming COMPOSE_UP_OPTS exists so we can run detached like so:
COMPOSE_UP_OPTS=-d make docker-compose
If I am misunderstanding the purpose of COMPOSE_UP_OPTS, is there other guidance on how to autostart AWX detached?
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

Installer

AWX VERSION
awx: 18.0.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-05 13:41:40 +00:00
John Gleason
e074872b8d Fix docker-compose up options
Should the `up` options be after the `up` command? I'm assuming `COMPOSE_UP_OPTS` exists so we can run detached like so:

`COMPOSE_UP_OPTS=-d make docker-compose`

If I am misunderstanding the purpose of `COMPOSE_UP_OPTS`, is there other guidance on how to autostart AWX detached?
2021-04-05 08:04:25 -05:00
Shane McDonald
2e6e38e77c Update placeholder image variable in inventory file 2021-04-05 09:03:47 -04:00
sean-m-ssullivan
46fb2d2086 linting 2021-04-03 14:04:42 -05:00
sean-m-ssullivan
f9d2db696b add instance groups 2021-04-03 14:00:56 -05:00
Sean Sullivan
f35ce93fb1 Merge pull request #64 from ansible/devel
Rebase
2021-04-03 13:17:25 -05:00
Shane McDonald
7b25216ee9 Cluster dev env: only run migrations on first node 2021-04-03 13:23:29 -04:00
Shane McDonald
f985376d64 Remove invocation of Ansible from launch script
This was missed in the initial EE PR. Ansible is no longer installed inside of
the web & task containers, causing this to show up in the container logs:

```
/usr/bin/launch_awx.sh: line 18: ansible: command not found
/usr/bin/launch_awx.sh: line 19: ansible: command not found
```
2021-04-03 11:53:41 -04:00
softwarefactory-project-zuul[bot]
91c2f80e22 Merge pull request #9797 from shanemcd/nicer-logs
Make logs more readable in development environment

This uses https://github.com/coderanger/supervisor-stdout to prefix process
names before log messages in the dev env
Before:

After:

Reviewed-by: Jim Ladd <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-04-03 15:50:09 +00:00
Shane McDonald
fccfef442c Make logs more readable in development environment
This uses https://github.com/coderanger/supervisor-stdout to prefix process
names before log messages in the dev env
2021-04-02 14:16:51 -04:00
softwarefactory-project-zuul[bot]
941e99018a Merge pull request #9737 from jlmitch5/workflowConvergence
workflow convergence

Satisfies #7669
This adds the ability to set convergence from any nodes (default) to all nodes to the workflow feature.  Specifically:
There is an additional convergence dropdown located on the bottom of the first "node type" step for all node types:

This field defaults to "Any" on add node and whatever the api has the field set to on edit node.  It resets to any if you change the node type dropdown (even on edit when changing and then changing back to the original type...I can update that point depending on what UX is preferred).
tvo created a new link explicitly to the explanation in documentation of what the convergence setting does here, and I link to it in the help popover shown in the screenshot below.
Consistent with the old UI, When "All" is selected, a small tab is displayed with the label "ALL" in the node visualizer.  "Any" nodes do not get any sort of tab.

A slight tweak compared to the old ui...I set the tab's border and background to be the same color as the border of the node to create a consistent look for the node across various states and confirmed this behavior was good with @trahman73
OLD:



NEW:

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: John Hill <johill@redhat.com>
2021-04-02 16:53:50 +00:00
softwarefactory-project-zuul[bot]
3964d7aa20 Merge pull request #9720 from Spredzy/rename_to_controller
Rename ansible-tower file to automation-controller

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-02 09:58:48 +00:00
Alessandro Grassi
664d19510f Add tower group for collection modules 2021-04-02 08:51:02 +02:00
Graham Mainwaring
b3d1c7ff9f Add force parameter to argument_spec 2021-04-01 20:47:30 -04:00
Graham Mainwaring
caec347371 Make sure changed is always set 2021-04-01 20:45:11 -04:00
Graham Mainwaring
26154d22d3 Make tower_license module idempotent
Signed-off-by: Graham Mainwaring <graham@mhn.org>
2021-04-01 20:45:11 -04:00
Yanis Guenane
f89cf95c51 Rename ansible-tower file to automation-controller 2021-04-01 21:09:48 +02:00
John Hill
e90f720153 Attempt at adding locators for select options 2021-04-01 15:08:14 -04:00
John Mitchell
06f8867417 update selectos for convergence 2021-04-01 13:06:31 -04:00
John Mitchell
225c3263d0 add convergence to workflows 2021-04-01 13:06:31 -04:00
softwarefactory-project-zuul[bot]
2594b90565 Merge pull request #9786 from Spredzy/wheel_again
Add wheel in venv creation

The generated based venv from python3.8 -m venv vs. virtualenv -p python38 is different. This changes aims to address the differences.
It was introduced as part of the Python 3.8 migration.
#8778

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-04-01 16:06:12 +00:00
Yanis Guenane
1a8a137e9c Add wheel in venv creation
The generated based venv from `python3.8 -m venv` vs. `virtualenv -p
python38` is different. This changes aims to address the differences.

It was introduced as part of the Python 3.8 migration.
https://github.com/ansible/awx/pull/8778
2021-04-01 17:20:41 +02:00
nixocio
ff7a7945ca Filter EE also by Organization for JT
Filter EE also by Organization for JT.

See: https://github.com/ansible/awx/issues/9770
2021-03-31 17:06:25 -04:00
softwarefactory-project-zuul[bot]
b9d92ff4fd Merge pull request #9775 from shanemcd/bump-receptor
Update receptor version used in dev environment

Reviewed-by: Jeff Bradberry <None>
2021-03-31 20:49:57 +00:00
softwarefactory-project-zuul[bot]
416951ca86 Merge pull request #9774 from shanemcd/receptorctl-pypi
Use receptorctl from pypi

Reviewed-by: Yanis Guenane <None>
2021-03-31 20:40:03 +00:00
Shane McDonald
5180fccd12 Update receptor version used in dev environment 2021-03-31 16:20:26 -04:00
Shane McDonald
c39a4051d7 Use receptorctl from pypi 2021-03-31 15:10:25 -04:00
softwarefactory-project-zuul[bot]
5eae035f60 Merge pull request #9773 from jakemcdermott/fix-9772
Fix rounding error in output pagination controls

for #9772

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-31 19:01:11 +00:00
Jake McDermott
6047eb6172 Fix rounding error in output pagination controls 2021-03-31 12:30:46 -04:00
softwarefactory-project-zuul[bot]
7f176b988f Merge pull request #9708 from beeankha/bump_ipython_version
Bump Up Version of iPython to be Compatible with Python 3.8.5

SUMMARY

Problem:
With Python version being upgraded, iPython now throws errors like this in the AWX shell:
bash-4.4$ echo "from datetime import timedelta; job = Job.objects.get(id=3); job.job_events.update(created=F('created') - timedelta(weeks=5))" | awx-manage shell_plus
~~snip~~
In [1]: ---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/usr/lib64/python3.8/codeop.py in __call__(self, source, filename, symbol)
    134 
    135     def __call__(self, source, filename, symbol):
--> 136         codeob = compile(source, filename, symbol, self.flags, 1)
    137         for feature in _features:
    138             if codeob.co_flags & feature.compiler_flag:
TypeError: required field "type_ignores" missing from Module

TypeError: required field "type_ignores" missing from Module is mentioned in this iPython issue:
ipython/ipython#12558
Solution:
Upgrade iPython to latest version, which is 7.21.0. After doing this, the same command run in the shell works:
bash-4.4$ echo "from datetime import timedelta; job = Job.objects.get(id=3); job.job_events.update(created=F('created') - timedelta(weeks=5))" | awx-manage shell_plus
~~snip~~
In [1]: Out[1]: 16
In [2]: Do you really want to exit ([y]/n)? 


ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 18.0.0

Reviewed-by: Seth Foster <None>
Reviewed-by: Jeff Bradberry <None>
2021-03-31 15:23:29 +00:00
Bianca Henderson
730741e978 Merge branch 'devel' into bump_ipython_version 2021-03-31 10:49:24 -04:00
softwarefactory-project-zuul[bot]
45d9ec94ad Merge pull request #9585 from keithjgrant/8031-variables-expand-2
Add Expand button to variables fields

SUMMARY
Adds expand button to variables fields and details. Clicking it opens the code editor & YAML/JSON toggles in a large modal
Addresses #8031
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Mat Wilson <mawilson@redhat.com>
2021-03-30 22:37:40 +00:00
softwarefactory-project-zuul[bot]
85b3d7c515 Merge pull request #9739 from nixocio/ui_issue_9723
Add templates screen to EE

Add templates screen to EE.
See: #9723

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-30 19:58:13 +00:00
nixocio
e56c5dbfe3 Remove isolated and controller from the UI
Remove isolated and controller from the UI.

See: https://github.com/ansible/awx/issues/9752
2021-03-30 14:19:13 -04:00
softwarefactory-project-zuul[bot]
5cd44cde99 Merge pull request #9754 from shanemcd/git-race
Fix race condition that causes InvalidGitRepositoryError

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-03-30 18:06:32 +00:00
nixocio
86a22927cd Make Org a required field for org admins on WFJT
Make Org a required field for org admins on WFJT.

See: https://github.com/ansible/awx/issues/6663
2021-03-30 13:38:49 -04:00
Shane McDonald
4a726b7f6f Fix race condition that causes InvalidGitRepositoryError 2021-03-30 13:33:17 -04:00
softwarefactory-project-zuul[bot]
16c18886e8 Merge pull request #9729 from sean-m-sullivan/project_update_changed
Update changed logic on project update

SUMMARY
Related to #8349
Found the inventory source does not have a way to track it, so did not do that part.
However scm revision is tracked for project update, as we already retrieve this data when looking for the existing item and waiting, put in logic to compare the two values when wait is true.
Also double checked the integration tests, and believe this should not change them, as its looking for result is success not changed in all but the first update.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

awx_collection

AWX VERSION
18.0.0

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-03-30 15:07:45 +00:00
softwarefactory-project-zuul[bot]
99e65300a2 Merge pull request #9686 from nixocio/ui_issue_9416
Update RBAC for EE

Update RBAC for EE details page.
See: #9416

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-30 14:59:47 +00:00
softwarefactory-project-zuul[bot]
c16079e5f8 Merge pull request #9741 from shanemcd/fix-project-inventories
Fix inventories-from-projects when running in Kubernetes

Related: #9704
Will also require a new release of the operator which will contain ansible/awx-operator#155

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Chris Meyers <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
2021-03-30 14:48:48 +00:00
sean-m-ssullivan
dde408ea1a update docs 2021-03-30 09:35:52 -05:00
softwarefactory-project-zuul[bot]
63798df06c Merge pull request #9748 from shanemcd/runner-2-alpha-1
Use Ansible Runner 2.0 alpha 1

Reviewed-by: Yanis Guenane <None>
2021-03-30 13:47:30 +00:00
Shane McDonald
54308c5fa1 Use Ansible Runner 2.0 alpha 1 2021-03-30 09:08:39 -04:00
softwarefactory-project-zuul[bot]
657f366e21 Merge pull request #9744 from shanemcd/fix-k8s-ca
Fix k8s credentials that use a custom ca cert

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-03-30 13:00:03 +00:00
sean-m-ssullivan
fce544bb73 add test logic 2021-03-29 22:14:06 -05:00
Shane McDonald
4beeeae9f1 Fix k8s credentials that use a custom ca cert 2021-03-29 17:49:50 -04:00
softwarefactory-project-zuul[bot]
8673631e64 Merge pull request #9742 from nixocio/ui_improve_ee_details
Add managed by tower as part of the EE details page

Add managed by tower as part of the EE details page.
See: #8171

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-29 21:42:21 +00:00
softwarefactory-project-zuul[bot]
3de04d33c8 Merge pull request #9743 from beeankha/fix_collections_linting_issues
Fix Collections Linting Errors (Format String Specifications)

Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-03-29 20:50:18 +00:00
beeankha
b1119d2972 Fix format specification linting erros 2021-03-29 16:11:06 -04:00
nixocio
ac41af8a54 Add managed by tower as part of the EE details page
Add managed by tower as part of the EE details page.

See: https://github.com/ansible/awx/issues/8171
2021-03-29 15:08:54 -04:00
softwarefactory-project-zuul[bot]
94eeea6c33 Merge pull request #9738 from beeankha/update_schedule_sort
Enable ?page_size=1 to Fetch Correct Objects on JT Endpoint

SUMMARY

Problem:
When multiple schedules are made from a single JT and a URL sort is done via:
api/v2/job_templates/[id]/schedules/?page_size=1
... the first half of the results come back with the same ID. 🤔
Solution:
Implementing a backup sort via ID on the schedules model fixes this problem, and now all schedules on the job template endpoint are being fetched properly.

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 18.0.0

ADDITIONAL INFORMATION

This might fix #9632

Reviewed-by: Seth Foster <None>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
2021-03-29 19:03:33 +00:00
Shane McDonald
b73759e380 Fix collection test 2021-03-29 15:03:28 -04:00
Shane McDonald
a5b29201a4 Update tests to use ee fixture 2021-03-29 14:45:21 -04:00
Shane McDonald
f80c2cbfc3 Delete test for unused code 2021-03-29 14:45:03 -04:00
Shane McDonald
3d533e5661 Fix container group OPTIONS request 2021-03-29 13:26:59 -04:00
Shane McDonald
91351f7e3b Fix default setting for KEEP_POD 2021-03-29 13:13:05 -04:00
Shane McDonald
9bc0bf0ee7 Fix inventory updates when running inside of k8s 2021-03-29 13:09:56 -04:00
Shane McDonald
9d17d40b86 Add setting for keeping container group pod after job run
Helpful for debugging
2021-03-29 13:09:31 -04:00
Shane McDonald
eeb6aaaea9 Always use EE resolving logic 2021-03-29 13:09:13 -04:00
Shane McDonald
1e9b221486 Use revolved EE for Container Group tasks 2021-03-29 13:05:57 -04:00
nixocio
115a344842 Add templates screen to EE
Add templates screen to EE.

See: https://github.com/ansible/awx/issues/9723
2021-03-29 12:44:37 -04:00
softwarefactory-project-zuul[bot]
03ab9f4e2a Merge pull request #9735 from jbradberry/update-docker-file-version
Update the versioning on the docker-compose template

SUMMARY
Some versions of docker-compose will break with the new addition of
name parameters without this.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

Installer

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-03-29 16:15:27 +00:00
beeankha
675286c1ac Enable ?page_size=1 in URL to fetch correct objects on schedules endpoint 2021-03-29 11:52:20 -04:00
Jeff Bradberry
b6ccd02f3d Update the versioning on the docker-compose template
Some versions of docker-compose will break with the new addition of
name parameters without this.
2021-03-29 10:39:22 -04:00
softwarefactory-project-zuul[bot]
a2e63bd1e2 Merge pull request #9732 from shanemcd/fix-pdd-detection
Fix awxkit function that detects private data directories in job args

Reviewed-by: Yago Marques <yagomarquesja@gmail.com>
2021-03-29 13:46:32 +00:00
Shane McDonald
8fb393c0a1 Fix awxkit function that detects private data directories in job args 2021-03-29 09:11:56 -04:00
sean-m-ssullivan
c2b5ffcc1c linting 2021-03-29 00:21:29 -05:00
sean-m-ssullivan
dbcdbe0770 add logic to changed status 2021-03-28 22:35:38 -05:00
Sean Sullivan
0b6acdbcc9 Merge pull request #62 from ansible/devel
Rebase
2021-03-28 22:19:59 -05:00
softwarefactory-project-zuul[bot]
ba2fd6f801 Merge pull request #9725 from ryanpetrello/500-unauth-wf-approval
fix an HTTP 500 error for unauthenticated users

see: #7243

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-27 03:08:47 +00:00
softwarefactory-project-zuul[bot]
cd489262bc Merge pull request #9726 from shanemcd/nicer-black-output
Hide commands that are being run for `make black`

Before:
$ make black
command -v black >/dev/null 2>&1 || { echo "could not find black on your PATH, you may need to \`pip install black\`, or set AWX_IGNORE_BLACK=1" && exit 1; }
could not find black on your PATH, you may need to `pip install black`, or set AWX_IGNORE_BLACK=1
make: *** [Makefile:275: black] Error 1

After:
$ make black
could not find black on your PATH, you may need to `pip install black`, or set AWX_IGNORE_BLACK=1
make: *** [Makefile:275: black] Error 1

Reviewed-by: Ryan Petrello <None>
2021-03-26 21:47:43 +00:00
softwarefactory-project-zuul[bot]
950f772b49 Merge pull request #9722 from beeankha/remove_tower_cli
Remove/Modify Usage of tower-cli (Deprecated) in Collections Test

tower-cli is no longer being maintained; this PR removes three test tasks that are no longer necessary from awx_collection/tests/integration/targets/tower_project_manual/tasks/create_project_dir.yml, and it modifies the last task in that test file to use awx-cli instead.

I also noticed this warning while running Collections tests:
awx/main/tasks.py:2109
  /awx_devel/awx/main/tasks.py:2109: DeprecationWarning: invalid escape sequence \s
    d['Password:\s*?$'] = 'scm_password'  # noqa

This PR modifies that part of /awx_devel/awx/main/tasks.py into a raw string to fix this issue.

FYI, some deprecated Collections modules depend on the usage of tower-cli, but those tests are currently getting skipped:
awx_collection/test/awx/test_send_receive.py::test_receive_send_jt SKIPPED (The tower-cli library is needed to run th...) [ 56%]
awx_collection/test/awx/test_workflow_template.py::test_create_workflow_job_template SKIPPED (The tower-cli library i...) [ 73%]
awx_collection/test/awx/test_workflow_template.py::test_with_nested_workflow SKIPPED (The tower-cli library is needed...) [ 74%]
awx_collection/test/awx/test_workflow_template.py::test_schema_with_branches SKIPPED (The tower-cli library is needed...) [ 74%]
awx_collection/test/awx/test_workflow_template.py::test_with_missing_ujt SKIPPED (The tower-cli library is needed to ...) [ 75%]

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Ryan Petrello <None>
2021-03-26 21:24:37 +00:00
Shane McDonald
eac7c409d1 Hide commands that are being run for make black 2021-03-26 17:11:04 -04:00
softwarefactory-project-zuul[bot]
ffdce7b1d0 Merge pull request #9724 from ryanpetrello/timey-whimey
fix up a bug in rsyslogd error handling

@kdelee I'm unclear on why this is actually happening, so I'm just gonna cheat and generate a datestring

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-03-26 21:02:18 +00:00
Ryan Petrello
6062d1ec9f fix an HTTP 500 error for unauthenticated users
see: https://github.com/ansible/awx/issues/7243
2021-03-26 16:40:48 -04:00
Ryan Petrello
4eb85ad23e fix up a bug in rsyslogd error handling
see: https://github.com/ansible/tower/issues/4915
2021-03-26 16:27:53 -04:00
beeankha
b681d1078f Update unit test to pull in product names that are no longer hardcoded 2021-03-26 16:17:14 -04:00
beeankha
f38c9e7478 Update manual project Collection integration test to be compatible with EEs 2021-03-26 15:35:52 -04:00
softwarefactory-project-zuul[bot]
f75a0ca1b6 Merge pull request #9713 from jakemcdermott/fix-9701
Don't append a slash to file paths

for #9701

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
2021-03-26 18:38:29 +00:00
beeankha
81024f8dfe Remove/modify usage of tower-cli in Collections tests 2021-03-26 11:46:08 -04:00
Jake McDermott
93d1df4e4b Use custom text for setting source path 2021-03-26 11:34:29 -04:00
Jake McDermott
a86196cfa3 Don't append a slash to file paths 2021-03-26 11:34:20 -04:00
softwarefactory-project-zuul[bot]
499d80c4b0 Merge pull request #9653 from nixocio/ui_issue_9088
Add EE to the settings page

Allow a system admin to set the global default execution environment.
See: #9088
This PR is also addressing the issue: #9669
Edit:


Details

Reviewed-by: Kersom <None>
Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-26 14:40:56 +00:00
softwarefactory-project-zuul[bot]
6aff5d9b5a Merge pull request #9697 from ryanpetrello/ansible-version
remove ansible_version from the API config and metrics endpoints

AWX no longer includes Ansible on the control plane and there is no
"global" version of Ansible aside from what's configured at the
Execution Environment level
see: #9472

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Ladislav Smola <lsmola@redhat.com>
Reviewed-by: Yanis Guenane <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-25 21:33:53 +00:00
softwarefactory-project-zuul[bot]
db21b17ccd Merge pull request #9696 from dhoppe/patch-1
Set a custom name for Docker volumes

SUMMARY
This pull request is related to #9695 and will make sure that the command make docker-compose does not create additional Docker volumes with the wrong prefix.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

Installer

AWX VERSION
awx: 18.0.0

ADDITIONAL INFORMATION
The current version of docker-compose.yml.j2 does not care about the Docker volumes created during the execution of migrate.yml. This means new Docker volumes will be created with the wrong prefix, which only contain the preloaded data.
This does not make sense, because I want to keep my data and according to the docs, the following command is necessary to load the demo data.
$ docker exec tools_awx_1 awx-manage create_preload_data

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-03-25 20:57:56 +00:00
softwarefactory-project-zuul[bot]
dee8ed70cd Merge pull request #9711 from jladdjr/let_jupyter_install_ipython
let jupyter install ipython

running akit with ipython on py38:
In [1]: jt = v2.job_templates.create()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/usr/lib64/python3.8/codeop.py in __call__(self, source, filename, symbol)
    141
    142     def __call__(self, source, filename, symbol):
--> 143         codeob = compile(source, filename, symbol, self.flags, 1)
    144         for feature in _features:
    145             if codeob.co_flags & feature.compiler_flag:

TypeError: required field "type_ignores" missing from Module

Looks like we need a newer version of ipython:
ipython/ipython#12558 (comment)
.. because we pinned ipython in 2017
a39b1e8
If I try to install the newer ipython alongside jupyter, pip's dep resolver mentions a conflict
.. but if we just install jupyter there are no conflicts and a newer ipython (that avoids the original issue) gets installed.
pip freeze | grep "ipython\|jupyter"
ipython==7.21.0
ipython-genutils==0.2.0
jupyter==1.0.0
jupyter-client==6.1.12
jupyter-console==6.4.0
jupyter-core==4.7.1
jupyterlab-pygments==0.1.2
jupyterlab-widgets==1.0.0

In [1]: jt = v2.job_templates.create()

In [2]: jt
Out[2]:
{
    "id": 12,
    "type": "job_template",
    "url": "/api/v2/job_templates/12/",

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-03-25 20:56:27 +00:00
Jim Ladd
a1aec29e48 let jupyter install ipython 2021-03-25 13:17:21 -07:00
nixocio
d3eb66b6fe Update RBAC for EE
Update RBAC for EE details page.

See: https://github.com/ansible/awx/issues/9416
2021-03-25 15:55:59 -04:00
softwarefactory-project-zuul[bot]
6087d5cb9c Merge pull request #9461 from fosterseth/feat_metrics_via_redis
Add subsystem metrics that propagate through Redis

SUMMARY

#9019 -- list of metrics and their purpose / description
#9012
#9056
#8629
Use Redis to store metrics pertaining to the performance and health of subsystems such as the callback receiver and task manager. It is thread / multiprocess safe and should be fast enough to handle a high volume of data.
This data shows up at the /api/v2/metrics endpoint
You can filter down nodes using /api/v2/metrics/?subsystemonly=1&node=awx-1
You can also filter down to a specific metric,
/api/v2/metrics/?subsystemonly=1&metrics=callback_receiver_events_insert_db_seconds&node=awx-1

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 17.0.1

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Chris Meyers <None>
Reviewed-by: Seth Foster <None>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-03-25 19:54:21 +00:00
Seth Foster
0c569c67fd Add subsystem metrics
- Adds a Metrics() class that can track data such as number of
events the callback receiver inserted into database
- Exposes this metric data at the api/v2/metrics/ endpoint.
This data is prometheus-friendly
- Metric data is stored in memory, then periodically saved to Redis.
- Metric data is periodically broadcast to other nodes in the cluster,
so that each node has a copy of the most recent metric data collected.
2021-03-25 15:23:52 -04:00
Shane McDonald
f8a698d127 Update minikube.md 2021-03-25 15:21:01 -04:00
softwarefactory-project-zuul[bot]
b5c3857a63 Merge pull request #9551 from beeankha/loosen_collection_ver_check
Loosen Collections vs Tower Version Check

SUMMARY

Connecting issue #9532
This change will make it so that if the major version numbers of Collections + Tower matches, a warning will not get activated.

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


Collections

AWX VERSION

awx: 17.0.1

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Jeff Bradberry <None>
Reviewed-by: John Westcott IV <None>
2021-03-25 19:10:07 +00:00
softwarefactory-project-zuul[bot]
690045c8e0 Merge pull request #9671 from fosterseth/fix_4602_pending_jobs_incorrect_metrics
Fix api/v2/metrics data displaying incorrect value

SUMMARY

How to reproduce bug

Disable all instances
Queue up 5 jobs, (if using same JT, enable concurrent jobs)
Enable instance so jobs will start running
Refresh /api/v2/metrics endpoint. You should see a metric that says awx_status_total{status="pending"} 5.0. Once you see this, don't refresh again.
Wait for all jobs to finish.
Now start refreshing the api/v2/metrics endpoint. Every once in a while you will see this pending jobs metric show (awx_status_total{status="pending"} 5.0) even though there are no jobs in pending state

Fix
Use a locally defined prometheus registry instead of a global registry. Each time the endpoint is refreshed, a new, local registry is set up with prometheus objects (Gauge, Info). Since we aren't actually incrementing these metrics across api calls, we should be safe. That is to say, we just lookup the values from the database and set the prometheus values explicitly.

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 18.0.0

Reviewed-by: Ryan Petrello <None>
2021-03-25 19:10:04 +00:00
softwarefactory-project-zuul[bot]
874505e2a3 Merge pull request #9707 from shanemcd/quay
Devel images are now on Quay

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Jim Ladd <None>
2021-03-25 19:04:19 +00:00
Seth Foster
3f342feadd Fix api/v2/metrics data displaying incorrect value
- Use a locally defined prometheus registry instead of global registry
2021-03-25 14:22:17 -04:00
softwarefactory-project-zuul[bot]
f46c968742 Merge pull request #9706 from ryanpetrello/black-deleted
only run black on files added or modified in the commit

git rm <somefile>
git commit

black will attempt to lint the file path to the deleted file (and will fail, because the file is gone)
--diff-filter will limit what we run listing against to files in the changes that are added or modified
https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-03-25 18:00:05 +00:00
beeankha
cdb2832f05 Bump up version of iPython to be compatible with Python 3.8.5 2021-03-25 13:50:02 -04:00
Shane McDonald
8bb90dde33 Devel images are now on Quay 2021-03-25 13:27:19 -04:00
softwarefactory-project-zuul[bot]
fa3e55be91 Merge pull request #9588 from AlexSCorey/9456-9466-UserAndTeamsAccessAdd
Fixes a bug with ResourceAccess Add

SUMMARY
This addresses #9456 and #9466
The user can now properly add roles to a resource.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

ADDITIONAL INFORMATION

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-25 17:26:23 +00:00
Ryan Petrello
81266cf7a7 only run black on files added or modified in the commit 2021-03-25 13:26:14 -04:00
nixocio
b110a4a94e Add EE to the settings page
Allow a system admin to set the global default execution environment.

See: https://github.com/ansible/awx/issues/9088

This PR is also addressing the issue: https://github.com/ansible/awx/issues/9669
2021-03-25 13:07:01 -04:00
softwarefactory-project-zuul[bot]
d286a77010 Merge pull request #9699 from nixocio/ui_small_fixes
Small UI updates

Small UI updates

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-25 17:04:50 +00:00
softwarefactory-project-zuul[bot]
a7992d06e3 Merge pull request #9659 from jakemcdermott/fix-7657
Support job cancellation through details panel

SUMMARY
for #7657
edit: also addresses #8838 cc @nixocio

Reviewed-by: Kersom <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-25 16:58:03 +00:00
softwarefactory-project-zuul[bot]
705881123c Merge pull request #9345 from AlexSCorey/5546-DeleteWarnings
Adds delete warnings on lists

SUMMARY
This addresses #5546.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Keith Grant <None>
Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
Reviewed-by: Kersom <None>
2021-03-25 16:52:13 +00:00
Marcelo Moreira de Mello
fd3475a813 Only update LDAP user when necessary 2021-03-25 11:10:11 -04:00
Ryan Petrello
db20bbe682 remove ansible_version from the API config and metrics endpoints
AWX no longer includes Ansible on the control plane and there is no
"default" version of Ansible aside from what's configured at the
Execution Environment level

see: https://github.com/ansible/awx/issues/9472
2021-03-25 11:09:47 -04:00
John Westcott IV
75a99bb1d5 Fixing version check 2021-03-25 10:56:34 -04:00
John Westcott IV
aa9906ebae Fixing issues 2021-03-25 10:39:03 -04:00
John Westcott IV
bb43ecb0b5 Splitting out AWX and Tower versions 2021-03-25 10:39:03 -04:00
beeankha
e2b290ff99 Use distutils instead of semver, add/update unit tests 2021-03-25 10:39:03 -04:00
beeankha
b2665c084e Loosen Collections v Tower version check 2021-03-25 10:39:03 -04:00
nixocio
133b25d6ad Small UI updates
Small UI updates
2021-03-25 10:17:55 -04:00
softwarefactory-project-zuul[bot]
ecc839169a Merge pull request #9670 from ryanpetrello/burst-your-bubble
remove unnecessary references to bwrap, bubblewrap, and proot

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Ryan Petrello <None>
Reviewed-by: Bill Nottingham <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-03-25 13:55:22 +00:00
Dennis Hoppe
9390452f02 Set a custom name for Docker volumes 2021-03-25 12:51:05 +01:00
softwarefactory-project-zuul[bot]
ef691507b3 Merge pull request #9690 from ryanpetrello/relnotes-next
Add some release notes for the next major version of AWX

Reviewed-by: Yanis Guenane <None>
2021-03-25 08:43:52 +00:00
softwarefactory-project-zuul[bot]
11563e8333 Merge pull request #9691 from ryanpetrello/38-requirements
build requirements with python3.8

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Yanis Guenane <None>
2021-03-25 08:41:37 +00:00
Ryan Petrello
4773c54bf2 build requirements with python3.8 2021-03-24 21:47:55 -04:00
Ryan Petrello
5d210a1063 remove unnecessary references to bwrap, bubblewrap, and proot 2021-03-24 21:20:08 -04:00
Ryan Petrello
97ae4ec250 Add some release notes for the next major version of AWX 2021-03-24 21:19:27 -04:00
softwarefactory-project-zuul[bot]
73cc9e7b35 Merge pull request #9688 from ryanpetrello/fix-busted-collection-pep8
fix busted pep8 collection tests

see: psf/black#1841

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Matt Clay <None>
2021-03-24 21:59:43 +00:00
softwarefactory-project-zuul[bot]
2b965e5523 Merge pull request #8778 from Spredzy/bump_to_python38
Python: Bump to python 3.8

SUMMARY
Bumping default python used in awx and ansible venv to python 3.8
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

API

AWX VERSION

devel

ADDITIONAL INFORMATION

N/A

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Bill Nottingham <None>
Reviewed-by: Yanis Guenane <None>
2021-03-24 21:41:32 +00:00
Ryan Petrello
9d9b7a226d fix busted pep8 collection tests
see: https://github.com/psf/black/issues/1841
2021-03-24 17:28:04 -04:00
Yanis Guenane
5544e84f79 Add missing license for distro 2021-03-24 22:10:53 +01:00
softwarefactory-project-zuul[bot]
41e2920211 Merge pull request #9682 from ryanpetrello/custom-cred-open-ssh-newline
fix a bug that improperly formats OpenSSH keys in custom credential types

cc @ghjm
see: #9361

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-24 20:07:08 +00:00
Yanis Guenane
6d8874d627 Fix test issues 2021-03-24 21:02:33 +01:00
Yanis Guenane
e04e4e8c85 Python: Bump to python 3.8 2021-03-24 21:02:32 +01:00
Keith J. Grant
fb257d0add add ouia ids to variables expand buttons 2021-03-24 13:00:28 -07:00
Sean Sullivan
a378e897ad Merge pull request #56 from ansible/devel
Rebase
2021-03-24 13:29:15 -05:00
softwarefactory-project-zuul[bot]
23d72a9b6c Merge pull request #9201 from amolgautam25/issue_5057
Properly set launched_by for jobs launched by scheduled workflows : Issue 5057

SUMMARY

with respect to the issue 5057, there should be a way by which the UI should know , if a job was launched from a workflow , and that workflow was launched from a schedule.

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 17.0.1

ADDITIONAL INFORMATION


This PR tries to solve the issue 5057. 
There is an edge case , where the API response is not very clear. When a JT is invoked from a workflow , and that workflow is invoked from a schedule, the API response does not convey how the job was launched. 

So, I have added the schedule id of the schedule that invoked the workflow and which in turn invokes the JT. The new key in API response is 'launched_by', and it has the schedule id. In all  the 5 previous cases mentioned in the initial issue , the 'launched_by' field is blank ( that is empty string ( "" )).

Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Ryan Petrello <None>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Amol Gautam <amol_gautam25@yahoo.co.in>
Reviewed-by: Nana  <natr@hey.com>
2021-03-24 17:48:39 +00:00
fedora
e7e18b854f Added ‘launched_by’ property and ‘ancestor_job’ property in UnifiedJob class
'launched_by’ property returns summary  { id,type,name,url } of object that launched the current UnifiedJob
'ancestor_job’ property returns summary { id,type,name,url } of the first workflow in case the current UnifiedJob was started by a workflow or a workflow chain
Added ‘launched_by’ field and ‘get_launched_by’ function in ‘UnifiedJobSerializer’ , to expose the ‘launched_by’ field in GET ‘api/v2/unified_job/id’ response
Added ‘ancestor_job’ field in the summary field of UnifiedJob in the GET ‘api/v2/unified_job/id’ response
2021-03-24 13:12:23 -04:00
softwarefactory-project-zuul[bot]
633f5419e0 Merge pull request #9684 from ryanpetrello/black-help-message
add a helpful error message for people who want to run `make black`

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-03-24 16:48:56 +00:00
Ryan Petrello
1d1630bc1c add a helpful error message for people who want to run make black 2021-03-24 12:13:05 -04:00
Ryan Petrello
48f4e6dd23 fix a bug that improperly formats OpenSSH keys in custom credential types 2021-03-24 10:18:25 -04:00
softwarefactory-project-zuul[bot]
634d432de4 Merge pull request #9627 from jainnikhil30/fix_large_file_project_sync
fix the large file parsing in project sync

SUMMARY
Fixes the issue of scm update stuck on reading large files because of islice trying to read the whole file.
ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

Reviewed-by: Ryan Petrello <None>
Reviewed-by: None <None>
2021-03-24 13:46:00 +00:00
Jordan Borean
b222f10d68 Missed ErrorAction in the params 2021-03-24 12:21:50 +10:00
Jordan Borean
1b6cfd803c Fix up request tower ps script 2021-03-24 12:12:02 +10:00
Nikhil Jain
60d6832971 fix the large file parsing in project sync 2021-03-23 15:17:47 -04:00
Alex Corey
06ce1c2a92 adds instance group warnings 2021-03-23 15:03:22 -04:00
Jake McDermott
72d700e125 Use the type-specific job models
Add the expected launch and run methods to the different job type
models. Include a new helper function to look up the right model
given a job type and use it in place of switch statements or
passing the type in to build a url.
2021-03-23 15:02:27 -04:00
Jake McDermott
a706eb608a Support job cancellation through details panel 2021-03-23 14:48:50 -04:00
softwarefactory-project-zuul[bot]
646c9cc708 Merge pull request #9639 from nixocio/ui_issue_9628
Filter credential type by Container Registry for EE

Filter credential type by Container Registry for EE form.
See: #9628

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-23 16:22:49 +00:00
softwarefactory-project-zuul[bot]
e042abbbb3 Merge pull request #9656 from nixocio/ui_issue_9308
Add EE as one activity stream option

Add EE as one activity stream option.
See: #9308

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-23 16:18:28 +00:00
softwarefactory-project-zuul[bot]
3538974c8a Merge pull request #9666 from ryanpetrello/more-18-changes
a few changelog modifications for 18.0.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-03-23 16:07:41 +00:00
softwarefactory-project-zuul[bot]
9a61c43687 Merge pull request #9664 from jakemcdermott/fix-cred-plugin-dev
Fix service reference error for cred plugin dev env

SUMMARY
Intended to fix the error I see when running COMPOSE_TAG=devel make docker-compose-credential-plugins:

Reviewed-by: Ryan Petrello <None>
2021-03-23 15:55:00 +00:00
softwarefactory-project-zuul[bot]
f2876b9ac5 Merge pull request #9634 from ryanpetrello/black
move code linting to a stricter pep8-esque auto-formatting tool, black

black (https://pypi.org/project/black/#description) is a strict superset of PEP8
It's also a tool that auto-formats your code on the fly for you based on its ruleset.
With this PR, you can run make check, and any style issues will automatically be applied.
Additionally, with this PR, if you spin up the development environment using our make targets, you'll automatically get a pre-commit hook installed that automatically runs linting prior to commit.
If you don't like this behavior, or don't want it locally, you can:
~ export AWX_IGNORE_BLACK=1
...but it's important to note that we won't merge your PR if it doesn't adhere to our style guidelines (which will run automatically as part of pre-merge CI).

Reviewed-by: Jeff Bradberry <None>
Reviewed-by: Ryan Petrello <None>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Seth Foster <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Rebeccah Hunter <rhunter@redhat.com>
2021-03-23 15:54:55 +00:00
Ryan Petrello
2799d09d55 add a CHANGELOG note about the move to Quay 2021-03-23 11:23:59 -04:00
Ryan Petrello
9811e65921 a few changelog modifications for 18.0.0 2021-03-23 10:57:47 -04:00
Alex Corey
652e7a500b adds counts for inventory groups and hosts that are related to an inventory source 2021-03-23 10:41:08 -04:00
Alex Corey
be148b5fd4 Adds more execution environment resource to delete warnings 2021-03-23 10:41:08 -04:00
Alex Corey
6e401fa02f fixes credential type delete warnings 2021-03-23 10:41:08 -04:00
Alex Corey
c2e224bb86 adds tests 2021-03-23 10:41:08 -04:00
Alex Corey
7e7bb5261b Adds delete warnings on the lists and detail pages that have resources that are used by other resources 2021-03-23 10:33:28 -04:00
Shane McDonald
14f42af700 Update CHANGELOG.md 2021-03-23 10:30:59 -04:00
Ryan Petrello
f6beb7105d add the ability to ignore black linting on commit with AWX_IGNORE_BLACK 2021-03-23 10:18:43 -04:00
Ryan Petrello
244d9e70e2 reformat some code with black after rebasing 2021-03-23 10:03:52 -04:00
Ryan Petrello
b2cf45820e automatically add a dev environment pre-commit hook to run code linting 2021-03-23 10:03:48 -04:00
Alex Corey
4f257655a9 allows proper submission of roles 2021-03-23 10:00:26 -04:00
Ryan Petrello
7200cbc94a move black CLI arguments into a pyproject.toml 2021-03-23 09:40:00 -04:00
Ryan Petrello
c2ef0a6500 move code linting to a stricter pep8-esque auto-formatting tool, black 2021-03-23 09:39:58 -04:00
Jake McDermott
201c3f56e7 Fix service reference error for cred plugin dev env 2021-03-23 09:20:42 -04:00
nixocio
87d51c1038 Filter credential type by Container Registry for EE
Filter credential type by Container Registry for EE form.

See: https://github.com/ansible/awx/issues/9628
2021-03-22 16:13:04 -04:00
softwarefactory-project-zuul[bot]
9b702e46fe Merge pull request #9655 from ansible/jakemcdermott-patch-changelog
Update some links and notes in the changelog

SUMMARY
Fix typo, remove duplicate change note, fix a wrong link, add link to the ui virtualenv removal

Reviewed-by: Ryan Petrello <None>
2021-03-22 19:47:22 +00:00
softwarefactory-project-zuul[bot]
9608539710 Merge pull request #9596 from nixocio/ui_issue_9592
Allow one to select non-global execution environments for organizations

Allow one to select non-global EE when editing an Organization.
See: #9592
All those EE should be present as a choice when editing the Default organization.

Editing Default organization.

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-22 19:38:44 +00:00
nixocio
e45c3fb8e9 Add EE as one activity stream option
Add EE as one activity stream option.

See: https://github.com/ansible/awx/issues/9308
2021-03-22 15:02:35 -04:00
Jake McDermott
23ac8d346f Update some links and notes in the changelog 2021-03-22 14:59:04 -04:00
Shane McDonald
ff00239c09 Update CHANGELOG.md 2021-03-22 13:05:52 -04:00
Shane McDonald
fc7b2212e6 Merge pull request #9652 from shanemcd/fix-changelog-dates
Fix changelog dates
2021-03-22 12:53:36 -04:00
Shane McDonald
ade0734af7 Fix changelog dates 2021-03-22 12:42:40 -04:00
Shane McDonald
1efd189d52 Revert "Remove search filtering from changelog"
This reverts commit f6fb3e0b41.
2021-03-22 12:40:11 -04:00
softwarefactory-project-zuul[bot]
52799c169e Merge pull request #9605 from fosterseth/fix_dev_cluster_port_conflict
fix port conflict in dev cluster

SUMMARY

problem: loop adds 100 to ports 7899 and 7999, which would yield 7999 to 8099 on the next iteration, so the 7999 is conflicting
fix: add 1000 instead
Also, haproxy was being defined twice, now it renders once.

ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 17.0.1

Reviewed-by: Seth Foster <None>
Reviewed-by: Ryan Petrello <None>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-03-22 15:30:18 +00:00
softwarefactory-project-zuul[bot]
73f819b632 Merge pull request #9647 from jbradberry/ignore-vscode
Instruct git to ignore the .vscode/ directory

SUMMARY
Instruct git to ignore the .vscode/ directory
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

API

AWX VERSION
awx: 18.0.0

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
2021-03-22 15:18:38 +00:00
softwarefactory-project-zuul[bot]
f3116a3250 Merge pull request #9648 from tiagodread/ouiaid-01
add ouiaID to select and cancel buttons on modals

SUMMARY
Add ouiaId prop to select and cancel button within modals

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-22 15:14:55 +00:00
softwarefactory-project-zuul[bot]
43522d30e6 Merge pull request #9576 from AlexSCorey/9373-InventorySourceSilentFailure
Fixes silent error on SCM subform

SUMMARY
This addresses #9373.  It disallows the user to select both Update on launch and update on project update. It also adds a bit of info to the tool tip including a link to the project in question so the user can edit the project to allow them to update on launch and on project update
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-22 15:10:50 +00:00
Seth Foster
f8641bfa5e fix port conflict in dev cluster. Output only one haproxy def 2021-03-22 10:45:50 -04:00
Tiago Goes
8b9a92f306 add ouiaID to select and cancel buttons on modals 2021-03-22 11:41:51 -03:00
Jeff Bradberry
c508695ed0 Instruct git to ignore the .vscode/ directory 2021-03-22 10:24:11 -04:00
softwarefactory-project-zuul[bot]
305f717e88 Merge pull request #9646 from shanemcd/pdd-wrapper
Create a wrapper directory for the private data dir

Reviewed-by: None <None>
Reviewed-by: Ryan Petrello <None>
Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-03-22 14:15:40 +00:00
softwarefactory-project-zuul[bot]
7d190da1c4 Merge pull request #9544 from AlexSCorey/9485-9319-7516-fix
Fixes Several Bugs

SUMMARY
This address #9485 (Job template project field validate), #9319 (Job Details view only would show job type run, even if it was a job type check, #7516 (changes the Completed Jobs tab for a JT or WFJT to show Jobs since it show completed and pending/running jobs).
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: John Mitchell <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-22 14:00:08 +00:00
Shane McDonald
fd63937fa2 Create a wrapper directory for the private data dir 2021-03-22 09:24:48 -04:00
softwarefactory-project-zuul[bot]
5e64e8771e Merge pull request #9613 from mabashian/8921-node-cred-password
Prevent users from selecting credentials that prompt for passwords on workflow nodes and schedules

SUMMARY
link #8921
If a user selects a job template with default credentials that prompt for passwords (but does not prompt for credentials) then the user should not be allowed to create the node and a different JT must be selected:

If a user selects a credential that prompts for passwords when creating/editing a workflow node or schedule then we show this error:

If a user removes a credential that exists in the default collection of credentials on the JT then it must be replaced.  This is the error we show:

If a user attempts to create a schedule for a job template with default credentials that prompt (but does not prompt for credentials) then the API responds with this error:

I believe this UX is consistent with the old UI but I am double checking that now.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-22 13:17:26 +00:00
softwarefactory-project-zuul[bot]
597435141d Merge pull request #9563 from AlexSCorey/8769-WizardFailure
Fixes crashing wizard, and adds error handle on adding role

SUMMARY
This addresses #8769.  It also adds error handling if there is some sort of request error during the submit request.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

AWX VERSION
ADDITIONAL INFORMATION

Reviewed-by: John Mitchell <None>
2021-03-22 12:16:48 +00:00
softwarefactory-project-zuul[bot]
f11bc1154a Merge pull request #9637 from mabashian/ouiaids
Adds ouiaId's to various buttons

SUMMARY
@tiagodread @unlikelyzero @one-t @akus062381 this will likely break something because I changed some existing ouia-id's so that they are a consistent structure.
^^ Let's let one of them merge this
I also removed an unused component

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: John Hill <johill@redhat.com>
2021-03-21 19:55:56 +00:00
softwarefactory-project-zuul[bot]
cfff30f024 Merge pull request #9519 from mabashian/7603-custom-login
Adds support for html in custom login text

SUMMARY
link #7603
I couldn't come up with a way to do this without breaking up the component and discontinuing use of the LoginPage PF component.  This is because LoginPage expects the textContent component (what we use to display the custom login text) to be a string.  By using the underlying LoginPage components I reconstructed the login page and got more control over that prop.
The custom message in the old UI supported both strings and HTML:

So we need to support rendering HTML but we need to do it in a safe way.  Our solution to that was https://docs.angularjs.org/api/ngSanitize.  React doesn't seem to have anything like this built in so I went looking for outside help.  html-entities is already included in our project but as best as I can tell that lib is mainly focused on swapping special characters out for html entities.  I wanted something that was going to strip the HTML of bits that could be exploited by a malicious actor.
I settled on https://www.npmjs.com/package/sanitize-html because it was a) small and b) actively maintained.  The API was simple and let me sanitize the HTML before setting it using dangerouslySetInnerHTML.  If we need to tweak the configuration away from the default values then we can certainly do that.


ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-19 22:45:42 +00:00
mabashian
3cbb516bac Fixed changelog 2021-03-19 18:07:51 -04:00
mabashian
467536f93f Prevent users from selecting credentials that prompt for passwords on workflow nodes and schedules 2021-03-19 18:04:23 -04:00
softwarefactory-project-zuul[bot]
3878d8f7d8 Merge pull request #9642 from mabashian/9640-workflow-output
Only attempt to fetch event options on non workflow jobs

SUMMARY
link #9640
This was fallout from output search filtering.  We need this request for non workflow jobs so that we can build the search options.
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

UI

Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-19 21:42:21 +00:00
mabashian
112bab274d Fixes linting errors 2021-03-19 17:21:16 -04:00
mabashian
9b3aa60468 Only attempt to fetch event options on non workflow jobs 2021-03-19 16:52:26 -04:00
mabashian
1d01efa024 Adds data-cy attributes to some login components 2021-03-19 15:55:22 -04:00
softwarefactory-project-zuul[bot]
f98c6b5c5b Merge pull request #9638 from mabashian/cred-type-ouia-ids
Adds identifiers to various credential elements

SUMMARY
See commits

Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-19 19:37:06 +00:00
mabashian
854da96976 Add line to changelog 2021-03-19 15:12:18 -04:00
mabashian
3211323a4e Adds support for html in custom login text 2021-03-19 15:06:51 -04:00
mabashian
2d396927dd Adds identifiers to credential details 2021-03-19 14:59:17 -04:00
mabashian
54e2608cf4 Adds identifier to credential type options 2021-03-19 14:50:07 -04:00
mabashian
44cd8819f4 Remove CollapsibleSection as it's no longer used in the app. Adds ouiaId's to various buttons. 2021-03-19 14:33:06 -04:00
softwarefactory-project-zuul[bot]
5c0850b279 Merge pull request #9368 from mabashian/7256-cred-password-replace
Add support for replace/revert on secret credential fields

SUMMARY
link #7256
Note that this only applies to editing an existing credential.  You should not see this button on fields when adding a new credential.
When editing an existing credential the replace button should show up on fields where secret is true and the field has an existing value that is not an external credential.  Examples:



Fields with external credentials should look the same:

Initially the button tooltip should say Replace.  Clicking Replace will clear out the previously saved value and enable the form field:

The tooltip will change to Revert.  Clicking Revert will take the field back to it's original state.
I also noticed a race condition which would result in the input fields (subform) not being populated due to the form rendering before the request(s) were completed.  I fixed this.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Kersom <None>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-19 17:40:16 +00:00
softwarefactory-project-zuul[bot]
7a512c1de7 Merge pull request #9208 from mabashian/job-output-search-2
Add support for filtering and pagination on job output

SUMMARY
link #6612
link #5906
This PR adds the ability to filter job events and also includes logic to handle fetching filtered job events across different pages.
Note that the verbosity dropdown included in #5906 is not included in this work.  I don't think that's possible without api changes.
As part of this work, I converted JobOutput.jsx from a class based component to a functional component.  I've tried my best to make sure that all existing functionality has remained the same by comparing the experience of this branch to devel.
Like the old UI, the output filter is disabled while the job is running.
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

UI

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
2021-03-19 16:38:23 +00:00
softwarefactory-project-zuul[bot]
5bdc8b0015 Merge pull request #9497 from ryanpetrello/bump-18
Bump version to 18.0.0

Reviewed-by: Shane McDonald <me@shanemcd.com>
Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
Reviewed-by: Jim Ladd <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-19 16:00:08 +00:00
mabashian
385ef0b0a4 Adds ouiaId's to output page control buttons 2021-03-19 11:27:43 -04:00
mabashian
6495779e40 Fix bug where output was not loading after job finished and cancel button was shown instead of delete 2021-03-19 10:48:05 -04:00
softwarefactory-project-zuul[bot]
012902f4fe Merge pull request #9598 from beeankha/ansible_version_analytics
Enable Ansible version to be collected from EEs

SUMMARY

Connecting issue #9473
This PR, along with this Ansible-Runner PR, enables us to obtain the Ansible (core) version for each execution environment that is utilized. This info can be gathered from the new ansible_version column on the main_unifiedjobs table.

ISSUE TYPE


Feature Pull Request

COMPONENT NAME


API

AWX VERSION

awx: 17.0.1

ADDITIONAL INFORMATION
Screenshot/example of the DB output:

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Bianca Henderson <beeankha@gmail.com>
Reviewed-by: Ladislav Smola <lsmola@redhat.com>
Reviewed-by: Shane McDonald <me@shanemcd.com>
2021-03-19 14:06:03 +00:00
mabashian
65bdf0baf7 Add support for replace/revert on secret credential fields 2021-03-19 09:59:13 -04:00
Shane McDonald
f6fb3e0b41 Remove search filtering from changelog
This has not landed yet
2021-03-19 09:01:33 -04:00
softwarefactory-project-zuul[bot]
6fae6168d9 Merge pull request #9619 from mabashian/9568-session-modal-ouia
Adds ouiaId's to session modal and buttons

SUMMARY
link #9568

Reviewed-by: Kersom <None>
2021-03-19 12:57:25 +00:00
Shane McDonald
9f91190f4b Add changelog entries for installer directory and custom venv removals 2021-03-18 18:56:47 -04:00
Ryan Petrello
23f2ac4cbc Bump version to 18.0.0
Co-Authored-By: Shane McDonald <me@shanemcd.com>
Co-Authored-By: AlanCoding <arominge@redhat.com>
Co-Authored-By: Rebeccah Hunter <rhunter@redhat.com>
Co-Authored-By: Graham Mainwaring <graham@mhn.org>
Co-Authored-By: Jeff Bradberry <jeff.bradberry@gmail.com>
Co-Authored-By: beeankha <beeankha@gmail.com>
Co-Authored-By: Elyézer Rezende <elyezermr@gmail.com>
Co-Authored-By: Yanis Guenane <yguenane@redhat.com>
Co-Authored-By: Jim Ladd <jladd@redhat.com>
Co-Authored-By: Seth Foster <fosterbseth@gmail.com>
Co-Authored-By: Elijah DeLee <kdelee@redhat.com>
Co-Authored-By: Tiago Góes <tiago.goes2009@gmail.com>
Co-Authored-By: Yago Marques <yagomarquesja@gmail.com>
Co-Authored-By: shebangbash <ndasilva@redhat.com>
Co-Authored-By: Jake McDermott <jmcdermott@ansible.com>
Co-Authored-By: Christian Adams <rooftopcellist@gmail.com>
Co-Authored-By: nixocio <nixocio@gmail.com>
Co-Authored-By: Caleb Boylan <calebboylan@gmail.com>
2021-03-18 18:56:47 -04:00
softwarefactory-project-zuul[bot]
f06141eb00 Merge pull request #9616 from shanemcd/awx-logos
Fix paths used for detecting and copying awx-logos

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Ryan Petrello <None>
2021-03-18 22:23:11 +00:00
softwarefactory-project-zuul[bot]
a971e20e05 Merge pull request #9618 from beeankha/fix_cred_input_source_test_lint_errors
Fix Linting Errors in Credential Input Source Test File

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-18 22:10:57 +00:00
softwarefactory-project-zuul[bot]
edc97a24b2 Merge pull request #9617 from shanemcd/derp
Use correct image for awx-manage inventory_import

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
2021-03-18 22:09:11 +00:00
mabashian
8dec13a25d Adds ouiaId's to session modal and buttons 2021-03-18 16:58:07 -04:00
beeankha
586019fe8f Fix linting errors in credential input source test file 2021-03-18 15:18:57 -04:00
Shane McDonald
d7b8a20a75 Use correct image for awx-manage inventory_import 2021-03-18 15:18:47 -04:00
Shane McDonald
d98e4c304f Fix paths used for detecting and copying awx-logos 2021-03-18 15:09:45 -04:00
mabashian
eb4dca9dc1 Fix padding on output search 2021-03-18 14:15:14 -04:00
mabashian
74460fa2d7 Adds ouiaId's to output page buttons 2021-03-18 14:08:55 -04:00
mabashian
ac06f9e432 Fix output search styling 2021-03-18 14:08:34 -04:00
mabashian
2c8d524b1a Revert "Fix output search styling"
This reverts commit 46728a0931.
2021-03-18 14:07:44 -04:00
mabashian
46728a0931 Fix output search styling 2021-03-18 14:07:13 -04:00
beeankha
39d785070c Check for the existence of ansible.txt file explicitly 2021-03-18 13:51:54 -04:00
beeankha
dca29e756d Update migration file order and name 2021-03-18 13:50:19 -04:00
beeankha
2a9d728b70 Set max string length to a wayyyy bigger number just in case 2021-03-18 12:55:48 -04:00
beeankha
ef6297377b Enable Ansible version to be collected from EEs 2021-03-18 12:55:48 -04:00
mabashian
73fb332af3 Adds line to changelog for output pagination 2021-03-18 09:57:11 -04:00
mabashian
16ad68a6b0 Fix typo after merge conflict 2021-03-18 09:53:50 -04:00
mabashian
88c4feb3ae Fix test after updating page index 2021-03-18 09:53:50 -04:00
mabashian
f65839ec8f Move loading spinner inside output panel 2021-03-18 09:53:50 -04:00
mabashian
8e0a22c766 Fix page number when only fetching one row 2021-03-18 09:53:50 -04:00
mabashian
c0fb2ddbdc Adds ability to cancel jobs from output page back in 2021-03-18 09:53:50 -04:00
mabashian
d60bec8155 Use delete item hook for job output delete 2021-03-18 09:53:50 -04:00
mabashian
98da019d12 Add support for filtering and pagination on job output 2021-03-18 09:53:50 -04:00
Alex Corey
40f0f5ddf7 fixes erroneous validation warning, template Jobs tab, job detail job type 2021-03-17 17:39:21 -04:00
softwarefactory-project-zuul[bot]
31124e07c6 Merge pull request #9589 from nixocio/ui_issue_9250
Do not allow user to modify EE managed by tower

Do not allow user to attempt to modify EE managed by tower.
See: #9250

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-17 21:22:10 +00:00
softwarefactory-project-zuul[bot]
cb1ab742e8 Merge pull request #9595 from nixocio/ui_issue_9307
Add copy functionality to EE

Add copy functionality to EE.
See: #9307

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-17 16:44:08 -04:00
softwarefactory-project-zuul[bot]
93093b9bc6 Merge pull request #9595 from nixocio/ui_issue_9307
Add copy functionality to EE

Add copy functionality to EE.
See: #9307

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-03-17 20:33:56 +00:00
nixocio
5fa44c61d2 Add copy functionality to EE
Add copy functionality to EE.

See: https://github.com/ansible/awx/issues/9307
2021-03-17 15:49:39 -04:00
Alex Corey
7290de22e2 addes better tooltip selector 2021-03-17 15:38:58 -04:00
Alex Corey
10d95c9aef Fixes silent error on SCM subform 2021-03-17 15:32:14 -04:00
softwarefactory-project-zuul[bot]
da74c61a09 Merge pull request #9606 from nixocio/ui_add_selectors
Improve selectors to ease testing

Improve selectors to ease testing

Reviewed-by: Keith Grant <None>
2021-03-17 18:12:22 +00:00
Tiago Goes
d93ef9f6de add ouiaID 2021-03-17 14:35:00 -03:00
softwarefactory-project-zuul[bot]
209c5c9378 Merge pull request #9599 from kdelee/refactor_awxkit_fk_fields
refactor payload construction for awxkit

This fixes container_group creation to allow passing
"is_container_group" and "credential" to the "create" method
on instance groups, and refactors other page objects
to use a common utility function to eliminate copy-pasted code
This will help us update to set is_container_group correctly as is now needed since de52ade

Reviewed-by: Ryan Petrello <None>
2021-03-17 17:10:59 +00:00
softwarefactory-project-zuul[bot]
6b1110f1c3 Merge pull request #9570 from nixocio/ui_issue_9190
Remove custom virtual env

Remove custom virtual from the UI.
Also, surface missing-resource warnings on list items for UJTs that were using
custom virtualenvs. And related details page.
See: #9190
Also: #9207

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Mat Wilson <mawilson@redhat.com>
2021-03-17 16:57:41 +00:00
nixocio
ec08997b63 Improve selectors to ease testing
Improve selectors to ease testing
2021-03-17 12:19:31 -04:00
softwarefactory-project-zuul[bot]
09150fe21d Merge pull request #9542 from ryanpetrello/centrify
Add support for Centrify Vault as a credential plugin

replaces #8952
cc @surbhijain1502 @Asharma-bhavna @badrogh

Reviewed-by: Ryan Petrello <None>
Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Chris Meyers <None>
2021-03-17 14:52:25 +00:00
Elijah DeLee
3562be8317 refactor payload construction for awxkit
This fixes container_group creation to allow passing
"is_container_group" and "credential" to the "create" method
on instance groups, and refactors other page objects
to use a common utility function to eliminate copy-pasted code
2021-03-17 10:40:00 -04:00
Ryan Petrello
dc8115681a bump the migration version number for Centrify 2021-03-17 10:20:11 -04:00
Ryan Petrello
6f0f56f4f6 verify all Centrify HTTPS requests 2021-03-17 10:19:03 -04:00
Ryan Petrello
1b2d457090 fix a bug in the Centrify Vault plugin 2021-03-17 10:19:03 -04:00
Ryan Petrello
764322b87b more centrify fixes 2021-03-17 10:19:03 -04:00
Asharma-bhavna
51005c0342 Bugs identified during flake8 testing 2021-03-17 10:19:03 -04:00
Asharma-bhavna
cccd021d8b Removed explicitly calling of python json module 2021-03-17 10:19:03 -04:00
Asharma-bhavna
18752a637f Code changes suggested by AWX repo reviewer team 2021-03-17 10:19:03 -04:00
surbhijain1502
bbf283d1fd Change namespace placing in the array 2021-03-17 10:19:03 -04:00
surbhijain1502
f83126643a Removed account name as secret, query changed 2021-03-17 10:19:03 -04:00
surbhijain1502
d913d622d3 Centrify Vault Plugin
To read Inputs and fetch the data from PAS Portal
2021-03-17 10:19:03 -04:00
surbhijain1502
f062554e82 To test Centrify Vault Credential Source 2021-03-17 10:19:03 -04:00
surbhijain1502
2d0eae26bc Adding Centrify plugin namespace to test 2021-03-17 10:19:03 -04:00
surbhijain1502
45937f0be3 Registering Centrify Plugin as entrypoint
Register Plugin
2021-03-17 10:19:03 -04:00
softwarefactory-project-zuul[bot]
e0d9100dc4 Merge pull request #9597 from shanemcd/oops
Dont require is_container_group in payload when creating InstanceGroups

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
Reviewed-by: Ryan Petrello <None>
2021-03-16 21:19:58 +00:00
Shane McDonald
19d0524461 Dont require is_container_group in payload when creating InstanceGroups 2021-03-16 16:46:24 -04:00
nixocio
4db5c496d0 Allow one to select non-global execution environments for organizations
Allow one to select non-global EE when editing an Organization.

See: https://github.com/ansible/awx/issues/9592
2021-03-16 16:32:21 -04:00
nixocio
babea5d599 Remove custom virtual env
Remove custom virtual from the UI.

Also, surface missing-resource warnings on list items for UJTs that were using
custom virtualenvs.

Fix some uni-tests warnings.

See: https://github.com/ansible/awx/issues/9190
Also: https://github.com/ansible/awx/issues/9207
2021-03-16 14:51:27 -04:00
softwarefactory-project-zuul[bot]
a2e3bf1030 Merge pull request #9590 from jerem991/devel
Hashicorp Vault Credential Plugin : Support for namespace

SUMMARY

Added the support for Vault Namespace (Enterprise feature)
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

credential_plugins/hashivault.py
AWX VERSION
1.7.0
ADDITIONAL INFORMATION
Adding specific X-Vault-Namespace header when Namespace option is set.

Reviewed-by: Ryan Petrello <None>
2021-03-16 14:40:17 +00:00
Jérémie Ben Arros
1550989482 add vault namespace support 2021-03-16 09:27:22 -04:00
Jérémie
d94a49ac74 Update hashivault.py 2021-03-16 09:16:55 -04:00
softwarefactory-project-zuul[bot]
de52adedef Merge pull request #9584 from shanemcd/explicit-is_container_group
Explicit db field for is_container_group

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
Reviewed-by: Ryan Petrello <None>
2021-03-15 18:57:01 +00:00
Keith J. Grant
e8886a5525 fix InventoryGroupDetails test 2021-03-15 11:42:09 -07:00
Shane McDonald
876d4316e1 Fix collection tests 2021-03-15 14:14:03 -04:00
Keith J. Grant
659f68f280 add VariablesField expand test 2021-03-15 10:56:30 -07:00
Keith J. Grant
f867c9e476 fix type errors in VariablesDetail 2021-03-15 10:56:21 -07:00
Keith J. Grant
d6a5a1e0d0 add expand button to VariablesDetail 2021-03-15 10:55:42 -07:00
Keith J. Grant
b1ce5e24e3 add expand button to VariablesField 2021-03-15 10:55:31 -07:00
Shane McDonald
4a4d25329b Update instance_group module with is_container_group 2021-03-15 13:34:45 -04:00
Shane McDonald
e6f06a95da Remove unnecessary code from launch script
- Ansible is no longer installed on the control plane
- We register the instance / instance group at dispatcher startup
2021-03-15 13:30:31 -04:00
Shane McDonald
b15a75676d Fix container group tests 2021-03-15 13:28:40 -04:00
Jake McDermott
098ec63944 Add container group flag to add/edit data 2021-03-15 13:28:40 -04:00
Shane McDonald
1c4a376758 Explicit db field for is_container_group
We now have Container Groups that dont require a credential.
2021-03-15 13:28:39 -04:00
softwarefactory-project-zuul[bot]
a52f050f44 Merge pull request #9505 from shanemcd/inventory_import-podman
Update inventory_import to run inside of an EE

Option 2 identified in #9504

Reviewed-by: Ryan Petrello <None>
2021-03-15 16:47:35 +00:00
Shane McDonald
836335b4c5 Update inventory_import to run inside of an EE 2021-03-15 12:17:19 -04:00
softwarefactory-project-zuul[bot]
f10bf4c067 Merge pull request #9344 from mabashian/5990-translate-start-node
Mark start node for translation

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2021-03-15 14:17:17 +00:00
softwarefactory-project-zuul[bot]
138211da64 Merge pull request #9468 from mabashian/8789-workflow-inv-prompt
Adds warning message to inventory step when launching wfjt or creating node with wfjt

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-15 13:53:35 +00:00
softwarefactory-project-zuul[bot]
44befa7847 Merge pull request #9581 from saito-hideki/pr/proper_format_with_flake8_v3.9
Removed trailing whitespace to pass awx-api-lint check

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-15 13:50:22 +00:00
Hideki Saito
b9950deaf9 Modify to address flake8 v3.9 format check
* Removed trailing whitespace to pass awx-api-lint check

Signed-off-by: Hideki Saito <saito@fgrep.org>
2021-03-15 17:30:08 +09:00
softwarefactory-project-zuul[bot]
8ba9eef97b Merge pull request #9281 from keithjgrant/8905-codemirror-replacement
AceEditor - codemirror replacement

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2021-03-12 23:22:26 +00:00
softwarefactory-project-zuul[bot]
9342cb012a Merge pull request #9374 from sean-m-sullivan/copy_awx_collection
Add Copy to option to awx collection modules.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-12 22:00:48 +00:00
Sean Sullivan
0f04851ab7 Merge branch 'devel' into copy_awx_collection 2021-03-12 15:26:59 -06:00
Keith J. Grant
c90dfbb7e0 debounce CodeEditor onChange for performance improvement 2021-03-12 12:26:07 -08:00
Keith J. Grant
05f93032f5 fix CodeEditor tests 2021-03-12 08:54:19 -08:00
Keith J. Grant
726b5ddc26 fix lint error 2021-03-12 08:28:26 -08:00
softwarefactory-project-zuul[bot]
9c8dbdc7a5 Merge pull request #9558 from jainnikhil30/fix_tower_user
fix the tower_user module to update the fields properly

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-12 15:21:06 +00:00
softwarefactory-project-zuul[bot]
c170d4c4f6 Merge pull request #9575 from jainnikhil30/tower_collection_integration_test_fix
fix tower collection integration test race condition

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-12 14:01:36 +00:00
Nikhil Jain
0ee49dae76 fix tower collection integration test race condition 2021-03-12 14:57:52 +05:30
Keith J. Grant
4ea7c8a534 CodeEditor bugfixes
* fix typing space character
* hide cursor when editor doesn't have user focus
* show help text any time editor is in focus
* fix content shifting when help text appears/disappears
* remove 80 character "print limit" line
2021-03-11 16:20:05 -08:00
softwarefactory-project-zuul[bot]
8298b76dff Merge pull request #9569 from jbradberry/further-fix-for-ee-deletion
Undo the polymorphic.SET_NULL for Organization

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-11 21:47:59 +00:00
softwarefactory-project-zuul[bot]
52a46dd765 Merge pull request #9566 from wenottingham/version-note
Note that we need to match python versions.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-11 21:27:56 +00:00
Jeff Bradberry
5bec4a51c6 Undo the polymorphic.SET_NULL for Organization
It isn't polymorphic.
2021-03-11 15:50:57 -05:00
Bill Nottingham
fd658d44c9 Note that we need to match python versions.
(Some libraries don't have the same deps across python versions.)
2021-03-11 15:48:41 -05:00
softwarefactory-project-zuul[bot]
6a296419d2 Merge pull request #9360 from kdelee/log_request_time
create performance logger to log api response time

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2021-03-11 20:02:48 +00:00
softwarefactory-project-zuul[bot]
5b5f07d639 Merge pull request #9481 from kdelee/pin_websocket
pin websocket-client lib

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-11 19:39:11 +00:00
softwarefactory-project-zuul[bot]
27c56d4148 Merge pull request #9523 from jbradberry/ee-association-rbac
Fix the RBAC for attaching an EE to various objects

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-11 19:34:19 +00:00
softwarefactory-project-zuul[bot]
ae7396b0cf Merge pull request #9562 from jbradberry/ee-polymorphic-set-null
Make sure that EE foreign keys are polymorphic.SET_NULL

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-11 19:34:08 +00:00
softwarefactory-project-zuul[bot]
c677e4b18e Merge pull request #9557 from ryanpetrello/no-more-ansible-requirements
remove requirements_ansible logic from the update script

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-11 18:40:08 +00:00
softwarefactory-project-zuul[bot]
32f02fc91c Merge pull request #9561 from ryanpetrello/fork-you
clean stale dispatcher connections closer to post-fork

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-11 17:20:56 +00:00
Ryan Petrello
588cb1e403 fix some requirements updater breakage
- remove requirements_ansible logic from the update script
- removed the need for py2-specific system dependencies
- update to the latest pip-tools and move to the new long format
  (https://github.com/jazzband/pip-tools/pull/1237)
- fixed a few busted references to receptorctl @ devel
2021-03-11 11:54:01 -05:00
Alex Corey
5971a84e74 fixes crashing wizard, and adds error handle on adding role 2021-03-11 11:50:17 -05:00
Jeff Bradberry
e31fc37215 Make sure that EE foreign keys are polymorphic.SET_NULL
Deleting EEs that had been attached to something was failing.
2021-03-11 11:25:59 -05:00
Ryan Petrello
572c0fbb74 clean stale dispatcher connections closer to post-fork
see: https://github.com/ansible/awx/issues/9559
2021-03-11 11:14:13 -05:00
Nikhil Jain
2aa30226f4 removing some invalid chars 2021-03-11 20:07:31 +05:30
Nikhil Jain
53da8e0775 removing some invalid chars 2021-03-11 19:50:11 +05:30
Nikhil Jain
8e53453737 remove the extra result in test 2021-03-11 19:35:53 +05:30
Nikhil Jain
80023017a2 fix the tower_user module to update the fields properly 2021-03-11 19:14:50 +05:30
Sean Sullivan
10c357d0f1 Merge pull request #52 from ansible/devel
Rebase
2021-03-10 11:25:03 -06:00
softwarefactory-project-zuul[bot]
e8b2072ea5 Merge pull request #9536 from rooftopcellist/dev-db-test
consolidate conditional pytest sqlite3 db settings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-10 15:57:14 +00:00
softwarefactory-project-zuul[bot]
9e89c16b38 Merge pull request #9533 from jbradberry/less-chatty-logs
Reduce the log level for some of the more spammy sources

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-10 15:26:43 +00:00
Christian M. Adams
ca19b9e9d4 consolidate conditional pytest sqlite3 db settings 2021-03-10 10:16:37 -05:00
Ryan Petrello
269e71c069 clarify this migration is only for 17.x -> 18.x 2021-03-10 09:41:50 -05:00
sean-m-ssullivan
857a5718e5 update logic 2021-03-09 18:40:15 -06:00
Keith J. Grant
6f7a717664 hide CodeEditor touch controls menu 2021-03-09 15:01:00 -08:00
Keith J. Grant
0b57522dce CodeEditor: don't type newline when pressing enter to start edit mode 2021-03-09 15:01:00 -08:00
Keith J. Grant
c2a2bf39d5 don't show CodeEditor control help text in readonly mode 2021-03-09 15:01:00 -08:00
Keith J. Grant
6b2cee2f69 add tests ensuring forms pass correct value to CodeEditor fields 2021-03-09 15:01:00 -08:00
Keith J. Grant
4e55c98bc6 add more code editor tests 2021-03-09 15:01:00 -08:00
Keith J. Grant
143d41fb2a add value assertions to code editor tests 2021-03-09 15:01:00 -08:00
Keith J. Grant
c975f65bbc CodeEditor: fix hidden error message 2021-03-09 15:01:00 -08:00
Keith J. Grant
2995cde7cb add AceEditor to changelog 2021-03-09 15:01:00 -08:00
Keith J. Grant
221021a798 disable interactive elements of CodeEditor in readOnly mode 2021-03-09 15:00:26 -08:00
Keith J. Grant
411d69204b remove codemirror dependencies 2021-03-09 15:00:26 -08:00
Keith J. Grant
19f4de0d05 add keyboard navigation help text to CodeEditor 2021-03-09 15:00:26 -08:00
Keith J. Grant
070c67ffe8 rename CodeMirror to CodeEditor 2021-03-09 15:00:26 -08:00
Keith Grant
5c38011ad5 styling Ace CodeEditor 2021-03-09 15:00:25 -08:00
Keith Grant
4e9c6a956d add code editor focus/blur keyboard controls 2021-03-09 15:00:25 -08:00
Keith Grant
1afdd7ac1d Ace editor POC 2021-03-09 15:00:25 -08:00
softwarefactory-project-zuul[bot]
3312db61c3 Merge pull request #9460 from mabashian/6528-unit-tests
Adds tests for workflow save error handling

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2021-03-09 19:55:43 +00:00
Jeff Bradberry
0ca8fd7752 Update the debugging docs 2021-03-09 14:42:10 -05:00
softwarefactory-project-zuul[bot]
5bdf9a108c Merge pull request #9439 from mabashian/9410-workflow-node-disable-jt
Disable job templates in node modal that are missing inv or project

Reviewed-by: Mat Wilson <mawilson@redhat.com>
             https://github.com/one-t
2021-03-09 19:41:18 +00:00
Jeff Bradberry
0a6d13c1b9 Reduce the log level for some of the more spammy sources 2021-03-09 14:16:37 -05:00
softwarefactory-project-zuul[bot]
3673e7c3f4 Merge pull request #9530 from ryanpetrello/more-docker-install-notes
restore note about cloning the stable release branch for Docker installs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-09 17:44:04 +00:00
softwarefactory-project-zuul[bot]
b0324acd0e Merge pull request #9318 from mabashian/9223-notif-toast
Adds toast to notification template list whenever test notification finishes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-09 17:25:26 +00:00
Ryan Petrello
b6eeb2e77f restore note about cloning the stable release branch for Docker installs 2021-03-09 12:09:11 -05:00
softwarefactory-project-zuul[bot]
6bbbe23a96 Merge pull request #9528 from ryanpetrello/17.1.0-notes
update the changelog w/ notes for 17.1.0

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2021-03-09 16:32:35 +00:00
Jeff Bradberry
097f465f39 Fix the RBAC for attaching an EE to various objects
- Organization.default_environment
- Project.default_environment
- JobTemplate.execution_environment
- WorkflowJobTemplate.execution_environment

System jobs are not editable by anyone other than a system admin, so
we don't need to check.  It appears that unified job templates can't
be created or edited outside of the endpoints for the specific types.
2021-03-09 11:00:03 -05:00
Ryan Petrello
58337b9e2e update the changelog w/ notes for 17.1.0 2021-03-09 10:58:50 -05:00
softwarefactory-project-zuul[bot]
2601631f28 Merge pull request #9489 from nixocio/ui_issue_9487
Fix diassociate EE from JT and WFJT 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-09 15:25:54 +00:00
softwarefactory-project-zuul[bot]
48537e8202 Merge pull request #9398 from nixocio/ui_fix_variable_name
Update variables as returned by useRequest

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-09 14:37:56 +00:00
mabashian
0345a0c8e2 Remove Start from linter ignore array 2021-03-09 08:30:40 -05:00
mabashian
65c71b812e Mount with contexts now that i18n is used on workflow start node 2021-03-09 08:30:40 -05:00
mabashian
510b4197ac Mark start node for translation 2021-03-09 08:30:40 -05:00
sean-m-ssullivan
55855e9e63 fix lint and update test 2021-03-08 21:56:16 -06:00
mabashian
6a32164438 Adds support for ouiaId's on copy buttons 2021-03-08 16:11:22 -05:00
mabashian
811186308c Adds note to changelog about notification toasts 2021-03-08 15:23:39 -05:00
mabashian
d96383b317 Fixes bug where some toasts would reappear after being closed 2021-03-08 15:22:08 -05:00
mabashian
83a9c3470e Adds toast to notification template list whenever test notification finishes 2021-03-08 15:22:08 -05:00
sean-m-ssullivan
701a69b5e5 Merge branch 'ansible-devel' into copy_awx_collection 2021-03-08 10:18:47 -06:00
sean-m-ssullivan
295e40002e update 2021-03-08 10:18:34 -06:00
nixocio
7c2f6c95a6 Update variables as returned by useRequest
Update variables to be consistent with variables returned by useRequest.
2021-03-07 17:37:52 -05:00
nixocio
fbd46f7799 Fix diassociate EE from JT and WFJT
Allow EE to be removed from JT and WFJT.

Also, add unit-test related to those changes.

See: https://github.com/ansible/awx/issues/9487
2021-03-07 13:34:25 -05:00
softwarefactory-project-zuul[bot]
c9ec0d31f1 Merge pull request #9498 from ryanpetrello/bye-bye-virtualenv
remove custom_virtualenv support from the AWX collection and docs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-06 14:12:32 +00:00
softwarefactory-project-zuul[bot]
85f7dc4222 Merge pull request #9500 from shanemcd/fix-sdb
Fix sdb in dev env

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-05 23:14:31 +00:00
softwarefactory-project-zuul[bot]
1c8851b716 Merge pull request #9499 from elyezer/update-collection
Linter fixes for Execution Environments module

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-05 22:56:31 +00:00
Shane McDonald
afe8dc6ad9 Fix sdb in dev env 2021-03-05 17:41:25 -05:00
Elyézer Rezende
f294aabcc9 Linter fixes for Execution Environments module
Fix linter for the recently added Execution Environments module

Signed-off-by: Elyézer Rezende <elyezermr@gmail.com>
2021-03-05 16:13:21 -05:00
Ryan Petrello
4c60999161 remove custom_virtualenv support from the AWX collection and docs 2021-03-05 15:38:46 -05:00
softwarefactory-project-zuul[bot]
18ba40506f Merge pull request #9480 from wenottingham/burn-it
Remove ansible venvs & collection infrastructure.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-05 19:29:05 +00:00
softwarefactory-project-zuul[bot]
2ae82b9302 Merge pull request #9452 from ryanpetrello/rsyslogd-last-ditch
make rsyslogd socket emit failures a bit less verbose (but still write to stderr)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-05 19:14:33 +00:00
softwarefactory-project-zuul[bot]
ec3b225c76 Merge pull request #9494 from ryanpetrello/older-install-instructions-warning
point people at install instructions for older stable releases

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-05 17:13:13 +00:00
Ryan Petrello
53d8e8b332 point people at install instructions for older stable releases 2021-03-05 11:38:19 -05:00
softwarefactory-project-zuul[bot]
3fd0c29a95 Merge pull request #9490 from shanemcd/delete-old-installer
Delete old installer / update INSTALL.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-05 15:31:37 +00:00
softwarefactory-project-zuul[bot]
8fb17cfbdb Merge pull request #9488 from nixocio/ui_fix_rerererender
Fix extra re-render for Job Template

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-05 15:12:05 +00:00
softwarefactory-project-zuul[bot]
e4d227a791 Merge pull request #9483 from rooftopcellist/rm_messages
Remove messages.js files that do not need to be committed to the repo

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-05 14:02:50 +00:00
softwarefactory-project-zuul[bot]
0123469e7e Merge pull request #9492 from chrismeyersfsu/fix-docker-compose-cluster-for-real
default cluster node count env var to 1

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-05 13:40:11 +00:00
Jake McDermott
d494645914 Add i18n config file to frontend container image 2021-03-05 08:24:31 -05:00
Chris Meyers
80c2249bdb default cluster node count env var to 1 2021-03-05 08:00:53 -05:00
Shane McDonald
6df65c95a7 Update INSTALL.md 2021-03-04 18:34:39 -05:00
Shane McDonald
119e80c717 Delete the old installer directory 2021-03-04 18:28:49 -05:00
nixocio
b7e614beee Fix extra re-render for Job Template
Fix extra re-render for Job Template.

Also, update a few unit-tests.

See: https://github.com/ansible/awx/issues/9479
2021-03-04 16:47:07 -05:00
softwarefactory-project-zuul[bot]
f231216584 Merge pull request #9471 from chrismeyersfsu/fix-docker_cluster
fix up awx docker cluster

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-04 21:24:54 +00:00
Chris Meyers
16a6fb5adc add docs for cluster dev mode 2021-03-04 15:23:04 -05:00
Chris Meyers
7b1edda368 support receptor in multi cluster nodes 2021-03-04 15:04:36 -05:00
Shane McDonald
69edef430c Get clustered dev env working 2021-03-04 14:56:22 -05:00
Chris Meyers
6f1f64118b wip 2021-03-04 14:54:41 -05:00
softwarefactory-project-zuul[bot]
e1e0bb30a9 Merge pull request #9450 from jakemcdermott/fix-9230
Use credential_type for prompted multicred select categories

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-04 19:51:59 +00:00
Jake McDermott
95ec009758 Add language catalog compile step before test commands 2021-03-04 13:25:31 -05:00
Jake McDermott
55b948bf39 Remove checkout from Makefile 2021-03-04 13:13:32 -05:00
Christian M. Adams
34df47ceba Remove messages.js files that do not need to be committed to the repo
* also clean up old .PHONY entries
2021-03-04 13:13:27 -05:00
Bill Nottingham
0505e38071 Remove ansible venvs & collection infrastructure. 2021-03-04 13:06:06 -05:00
softwarefactory-project-zuul[bot]
eb131f64cc Merge pull request #9482 from shanemcd/create_preload_data-on-dev-boot
Create admin user / run create_preload_data when dev env boots

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-04 17:05:44 +00:00
Shane McDonald
a3a47834fd Create admin user / run create_preload_data when dev env boots 2021-03-04 11:26:43 -05:00
Elijah DeLee
88a91cfeba pin websocket-client lib
They've made breaking changes that is going to take
some deeper investigation to update awxkit to use

This is only used for development purposes, and should
have not impact on the "awx" cli entry point
2021-03-04 11:09:32 -05:00
softwarefactory-project-zuul[bot]
6aab88259a Merge pull request #8030 from ansible/execution-environments
Execution Environments

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-04 14:15:13 +00:00
nixocio
0a4a1bed0a Add EE to inventory sources
Add EE to inventory sources

See: https://github.com/ansible/awx/issues/9189
2021-03-03 18:56:07 -05:00
nixocio
62215ca432 Add organization to EE details page
Add organization to EE details page.

See: https://github.com/ansible/awx/issues/9432
2021-03-03 18:56:07 -05:00
nixocio
fd21603c0e Update EE breadcrumb to use name instead of image
Update EE breadcrumb to use name instead of image to be consistent with
the other screens.

See: https://github.com/ansible/awx/issues/9087
2021-03-03 18:56:07 -05:00
Shane McDonald
aab58f5ae7 Dont require credential for Container Groups
Might want to follow up and make this only apply to Tower on Kubernetes
2021-03-03 18:56:07 -05:00
Shane McDonald
29ff69a774 For container group pods, use namespace Tower is deployed into by default 2021-03-03 18:56:07 -05:00
nixocio
33d7342ffe Linkify reference to EE on details page
Linkify reference to EE on a few details page.

See: https://github.com/ansible/awx/issues/9189
2021-03-03 18:56:07 -05:00
Shane McDonald
609b17aa20 Use receptor 0.9.6 2021-03-03 18:56:07 -05:00
Shane McDonald
e23a2b4506 Use var instead of set_fact 2021-03-03 18:56:07 -05:00
Shane McDonald
eba12a6207 Add ui_next to .dockerignore 2021-03-03 18:56:07 -05:00
Shane McDonald
03c5cc779b Only install podman in local dev env 2021-03-03 18:56:07 -05:00
Shane McDonald
065b943870 Fix mode for k8s launch scripts 2021-03-03 18:56:07 -05:00
nixocio
6e67ae68fd Add Execution Environments into a few screens
Add EE to the following screens:

* Job Template
* Organization
* Project
* Workflow Job Template

Also, add a new lookup component - ExecutionEnvironmentLoookup.

See: https://github.com/ansible/awx/issues/9189
2021-03-03 18:56:05 -05:00
Shane McDonald
adf708366a Add "copy" to EE related links 2021-03-03 18:52:55 -05:00
Rebeccah
4d2fcfd8c1 add a functional test for creating an EE, remove bum copy function because it's not needed, copy works from the base class
moved AWXKit pull additions to separate PR and made some changes that were causing linting errors in tests and add copy to show_capabilities for the ee serializer
2021-03-03 18:52:55 -05:00
Rebeccah
0921de5d2b adding needed url endpoint for copy functionality and the beginning of some testing that can be fleshed out more fully in later work 2021-03-03 18:52:55 -05:00
nixocio
f2801e0c03 Minor update EE tables
* Add table header `actions`
* Add `name` as default search

See: https://github.com/ansible/awx/issues/7884
Also: https://github.com/ansible/awx/issues/9087
2021-03-03 18:52:55 -05:00
Shane McDonald
befc658042 Wire up --pull option for EEs 2021-03-03 18:52:55 -05:00
Shane McDonald
883fa4906a Fix receptor.conf path in dev env 2021-03-03 18:52:55 -05:00
beeankha
60827143bb Bump up unified_jobs_table version for new column addition 2021-03-03 18:52:55 -05:00
beeankha
5b17ab6873 Enable EE collections info to be loaded as valid JSON vs stringified JSON 2021-03-03 18:52:55 -05:00
beeankha
0e80f663ab Add installed_collections column to unified job query 2021-03-03 18:52:55 -05:00
beeankha
cb95de0862 Assign entire file path to variable 2021-03-03 18:52:55 -05:00
beeankha
86a3a79be4 Enable utilized EE Collections name and version info to be detected 2021-03-03 18:52:55 -05:00
Jeff Bradberry
b417fc3803 Turn off permissions check bypassing for admins when hitting the execution environment list and detail views. 2021-03-03 18:52:55 -05:00
Jeff Bradberry
5b2adc89cf Make the managed_by_tower field read-only for EEs (similar to how we deal with it not being settable for Credentials) and add permissions checking for Org EE Admins.
can_add: gets an explicit role to check against, `'execution_environment_admin_role'`
can_change: leverages `self.check_related()` for the case where the Org is not changing, but also adds an explicit check for the EE Admin Role when the Org is changing to an explicit different Org.
2021-03-03 18:52:55 -05:00
Rebeccah
41fb21911e add execution_environment_admin_role to the an organizations read role, which access.py uses for determining access to reading an ee within an organization,
add migration file for execution_env_admin role addition to read_roles within an organization,

and set check related to mandatory
2021-03-03 18:52:55 -05:00
Rebeccah
eaa74b40c1 add org admins as able to control EEs even if they don't have the ee_admin role for the specific ee and prevent managed_by_tower EEs from being edited/deleted 2021-03-03 18:52:55 -05:00
Jake McDermott
cf513b33ee Add name field 2021-03-03 18:52:55 -05:00
nixocio
a39e1a528b Add execution environment list to Organizations
Add execution environment list to Organizations

See: https://github.com/ansible/awx/issues/8210
2021-03-03 18:52:55 -05:00
Elijah DeLee
05dded397d make sure we use built in credential type
this way we can pass kind="registry" to akit creat method and
we get the correct built in type
2021-03-03 18:52:55 -05:00
Shane McDonald
ae5a1117d4 Use official Receptor 0.9.5 release 2021-03-03 18:52:55 -05:00
Rebeccah
b1361c8fe2 edit original migration file, add blank string as acceptable to model 2021-03-03 18:52:55 -05:00
Rebeccah
20ee73ce73 default pull options for container images to None, also adding pull options to awxkit 2021-03-03 18:52:55 -05:00
nixocio
0bd8012fd9 Update selectors on EE details page to ease testing
Update selectors on EE details page to ease testing.
2021-03-03 18:52:55 -05:00
Shane McDonald
05ef51f710 Add migration to reset custom pod specs 2021-03-03 18:52:55 -05:00
nixocio
d6b5990cd2 Migrate EE list to tables
Migrate EE list to tables.

See:https://github.com/ansible/awx/issues/7884
2021-03-03 18:52:55 -05:00
nixocio
26f7a2ba81 Update Job Detail container group variable
`is_containerized` was updated on the API side to be
`is_container_group`.
2021-03-03 18:52:55 -05:00
Shane McDonald
0381a3ac8c Container Pull Option -> Pull
Co-authored-by: Jake McDermott <yo@jakemcdermott.me>
2021-03-03 18:52:55 -05:00
Rebeccah
4b40cb3abb changed the field name from 'container_options' to simply 'pull' 2021-03-03 18:52:55 -05:00
Jake McDermott
b0265b060b Remove client-side url validator 2021-03-03 18:52:55 -05:00
Jake McDermott
4ca33579a5 Add an interface for new ee options 2021-03-03 18:52:55 -05:00
Rebeccah
31e7e10f30 migration for container options for EE model
Co-authored-by: Shane McDonald <me@shanemcd.com>
2021-03-03 18:52:55 -05:00
Rebeccah
92f0af684c execution model pull container options added 2021-03-03 18:52:55 -05:00
Shane McDonald
6a7520d10f Handle quota exceeded in Container Groups v2 2021-03-03 18:52:55 -05:00
Shane McDonald
f2dfa132a7 Install Ansible only for collection tests 2021-03-03 18:52:55 -05:00
Shane McDonald
ddcbc408b9 Remove Ansible from control plane
Execution Environments or bust!
2021-03-03 18:52:55 -05:00
Shane McDonald
ea39cbce73 Update receptor.conf in dev env 2021-03-03 18:52:55 -05:00
Shane McDonald
44d7d68322 Update default ee image 2021-03-03 18:52:55 -05:00
Shane McDonald
9f39bab2b8 Quick fix for jobs failing in dev environment / VMs
The other alternative here is to go all the way with
https://github.com/ansible/ansible-runner/pull/617, which is proving to be
difficult if not impossible.
2021-03-03 18:52:55 -05:00
Shane McDonald
8eb4dafb17 Fix missing postgresql module 2021-03-03 18:52:55 -05:00
Shane McDonald
428f8addf8 Create default EE as a part of create_preload_data 2021-03-03 18:52:55 -05:00
Shane McDonald
57b317d440 Get system jobs working under new deployment model (#9221) 2021-03-03 18:52:55 -05:00
nixocio
68f9c5137d Mark string to translation
Mark string to translation
2021-03-03 18:52:55 -05:00
Shane McDonald
9f97efece8 Stop and kill dispatcher and callback reciever as group 2021-03-03 18:52:55 -05:00
Shane McDonald
1a68df275c Set correct SDB_NOTIFY_HOST in minikube env 2021-03-03 18:52:55 -05:00
Shane McDonald
86363e260e Provide new default pod defintion in CG metadata (#9181) 2021-03-03 18:52:55 -05:00
Alan Rominger
8f66793276 Assure that unit_id is always defined (#9180) 2021-03-03 18:52:55 -05:00
Alan Rominger
c7e0e30f93 Make sure project updates run in default EE (#9172)
* Make sure project updates run in default EE

* Remove project execution_environment field from collection
2021-03-03 18:52:55 -05:00
Yago Marques
8ab7745e3a WIP Inclusion of the EE option in the payloads within the Organization and Projects. (#9145)
* add ee option on factories for organizations

* add new lines

* remove inventory from the options

* remove line

* remove line from projects

* fix the tuple

* fix lint problems
2021-03-03 18:52:55 -05:00
Shane McDonald
fd0c4ec869 Pin to latest version of PyYAML
Fixes https://github.com/yaml/pyyaml/issues/478
2021-03-03 18:52:55 -05:00
Alan Rominger
a435843f23 Exception handling to always release work units 2021-03-03 18:52:55 -05:00
Ryan Petrello
f850f8d3e0 introduce a new global flag for denoating K8S-based deployments
- In K8S-based installs, only container groups are intended to be used
  for playbook execution (JTs, adhoc, inventory updates), so in this
  scenario, other job types have a task impact of zero.
- In K8S-based installs, traditional instances have *zero* capacity
  (because they're only members of the control plane where services
  - http/s, local control plane execution - run)
- This commit also includes some changes that allow for the task manager
  to launch tasks with task_impact=0 on instances that have capacity=0
  (previously, an instance with zero capacity would never be selected
  as the "execution node"

This means that when IS_K8S=True, any Job Template associated with an
Instance Group will never actually go from pending -> running (because
there's no capacity - all playbooks must run through Container Groups).
For an improved ux, our intention is to introduce logic into the
operator install process such that the *default* group that's created at
install time is a *Container Group* that's configured to point at the
K8S cluster where awx itself is deployed.
2021-03-03 18:52:55 -05:00
Alan Rominger
c29d476919 Fix obvious code error with foreman inventory 2021-03-03 18:52:55 -05:00
Alan Rominger
b05b6b2e03 Fix minor syntax error failing AdHocCommands 2021-03-03 18:52:55 -05:00
Alan Rominger
3f76499c56 Use the fully qualified inventory plugin name only for foreman 2021-03-03 18:52:55 -05:00
Shane McDonald
e63383bde6 Add PATH to blocked inventory source vars
This used to be skiped because PATH was already present in the env we
constructed for runner.
2021-03-03 18:52:55 -05:00
Shane McDonald
c6be92cdf6 Create awx group in container 2021-03-03 18:52:55 -05:00
Shane McDonald
341e1e34e3 Dont zip/unzip private data dir for local jobs 2021-03-03 18:52:55 -05:00
Shane McDonald
70755a395b Make receptorctl easier to use in dev env 2021-03-03 18:52:55 -05:00
Shane McDonald
fe9b24cde2 flake8 2021-03-03 18:52:55 -05:00
Shane McDonald
70f7a082bb Minimally functional container group v2 w/ receptor 2021-03-03 18:52:55 -05:00
Shane McDonald
9df29e8fc4 Use official awx-ee by default 2021-03-03 18:52:55 -05:00
Shane McDonald
d37cb64aaf Delete some old container group v1 code 2021-03-03 18:52:55 -05:00
Shane McDonald
1d9f01a201 Deleted unused build_params_process_isolation method 2021-03-03 18:52:55 -05:00
Shane McDonald
373bb443aa UnifiedJob#is_containerized -> UnifiedJob#is_container_group_task 2021-03-03 18:52:55 -05:00
Shane McDonald
286b1d4e25 InstanceGroup#is_containerized -> InstanceGroup#is_container_group 2021-03-03 18:52:55 -05:00
Shane McDonald
7b7465f168 Update receptor config to allow for runtime options 2021-03-03 18:52:55 -05:00
Shane McDonald
e453afa064 FOLLOW UP ON THIS: Fix fact_cache directory location
The part where we pass in the runner params to the processor phase is
legit. Need to investigate why the fact_cache directory is no longer nested
under job.id.
2021-03-03 18:52:55 -05:00
Shane McDonald
cf96275f1b Pull awx -> receptor job code into its own class 2021-03-03 18:52:54 -05:00
Shane McDonald
be8168b555 Surface errors when launching jobs through Receptor
This will raise errors such as:

exec: "ansible-runner": executable file not found in $PATH
2021-03-03 18:52:54 -05:00
Shane McDonald
fd92ba0c0b Actually cancel things 2021-03-03 18:52:54 -05:00
Shane McDonald
0184a7c267 Create receptor mesh in cluster development environment 2021-03-03 18:52:54 -05:00
Shane McDonald
81f6d36a3a Set SDB_NOTIFY_HOST for all processes 2021-03-03 18:52:54 -05:00
Shane McDonald
f1df4c54f8 Begin integrating receptor 2021-03-03 18:52:54 -05:00
Shane McDonald
521d3d5edb Initial EE integration 2021-03-03 18:52:54 -05:00
Shane McDonald
acee22435b Update ExecutionEnvironments.jsx with breadcrumb replacement 2021-03-03 18:52:54 -05:00
Shane McDonald
0c497fa682 Get podman-in-docker working under cgroups v2 2021-03-03 18:52:54 -05:00
Alan Rominger
90b9c7861c Allow jobs to run in the base ansible-runner image (#8949) 2021-03-03 18:52:54 -05:00
Alan Rominger
eb5bf599e3 Fix raw archive project updates
Several squashed commits

Fix git bug introduced by setting remote tmp in project path
change shebang back to py3 again
Revert shebang change
2021-03-03 18:52:54 -05:00
Alan Rominger
10e68c6fb3 Fix unit test fallout 2021-03-03 18:52:54 -05:00
Alan Rominger
49bdadcdbf Fix yet another host vs container path bug 2021-03-03 18:52:54 -05:00
Alan Rominger
015fc29c1c Fix another svn issue due to pre-existing folder 2021-03-03 18:52:54 -05:00
Alan Rominger
0dfb183cb6 Fix another credential path-in-container bug 2021-03-03 18:52:54 -05:00
Alan Rominger
ba14634318 Fix collection pep8 failure 2021-03-03 18:52:54 -05:00
Alan Rominger
b953478225 Change the default EE location 2021-03-03 18:52:54 -05:00
Jeff Bradberry
9964ba7c9a Improve the behavior of EE resolution for ad hoc commands
- call resolve_execution_environment during AdHocCommand.save()
- wrap the fallback call of the resolver in tasks.py in disable_activity_stream()
2021-03-03 18:52:54 -05:00
Shane McDonald
12b8349e88 Show EE images that are managed by tower in UI 2021-03-03 18:52:54 -05:00
Jeff Bradberry
c74d60f3f3 Make sure that the new credential type is in the choices list 2021-03-03 18:52:54 -05:00
Jeff Bradberry
44ad6bfdce Insert a default EE into the development environment 2021-03-03 18:52:54 -05:00
Jeff Bradberry
fde7a1e3e5 Ensure that the updated job instance is used
when attaching an EE.
2021-03-03 18:52:54 -05:00
Jeff Bradberry
4a0fc3e1af Ensure that a fallback EE is available to be found
for the failing tests.
2021-03-03 18:52:54 -05:00
Jeff Bradberry
5f1da2b923 Adjust ExecutionEnvironmentAccess to account for the new EE admin role 2021-03-03 18:52:54 -05:00
Jeff Bradberry
e7bf81883b Populate the EE name field in awxkit 2021-03-03 18:52:54 -05:00
Jeff Bradberry
4993a9e6ec Move the resolve_execution_environment method to the mixin class
so that it can be used with AdHocCommands as well.
2021-03-03 18:52:54 -05:00
Jeff Bradberry
8562c378c0 Make use of the EE resolver code when launching jobs 2021-03-03 18:52:54 -05:00
Jeff Bradberry
6d935f740c Fill in the new execution environment collection module
as well as changes to other ones that need to be able to attach EEs.
2021-03-03 18:52:54 -05:00
Jeff Bradberry
c1133b3f6d Add in more model changes around execution environments
- a new unique name field to EE
- a new configure-Tower-in-Tower setting DEFAULT_EXECUTION_ENVIRONMENT
- an Org-level execution_environment_admin_role
- a default_environment field on Project
- a new Container Registry credential type
- order EEs by reverse of the created timestamp
- a method to resolve which EE to use on jobs
2021-03-03 18:52:54 -05:00
Alan Rominger
c0faa39b53 Remove files moved to the ansible/awx-ee repo
These have been moved to:

https://github.com/ansible/awx-ee

that will be the home for the processes needed to
build this execution environment.
2021-03-03 18:52:54 -05:00
Alan Rominger
7a433f4e8f Change the shebang back to just python 2021-03-03 18:52:54 -05:00
Alan Rominger
2302496724 Add back in the subversion requirement 2021-03-03 18:52:54 -05:00
Alan Rominger
54681eb055 Add utility method to get controller private_data_dir 2021-03-03 18:52:54 -05:00
Alan Rominger
b716e2b099 Make insights integration tests pass again 2021-03-03 18:52:54 -05:00
Alan Rominger
69dcbe0865 More inventory update containerization fixes 2021-03-03 18:52:54 -05:00
Shane McDonald
14a8e3da5e WIP: containerized inventory updates. Thanks ALAN!! 2021-03-03 18:52:54 -05:00
Shane McDonald
6ff1424e8c Fix tests after rebasing in inventory update refactor 2021-03-03 18:52:54 -05:00
nixocio
9786dc08d3 Add organization as part of creating/editing an execution environments
Add organization as part of creating/editing an execution environments

If one is a `system admin` the Organization is an optional field. Not
providing an Organization makes the execution environment globally
available.

If one is a `org admin` the Organization is a required field.

See: https://github.com/ansible/awx/issues/7887
2021-03-03 18:52:54 -05:00
Shane McDonald
ecaa66c13b Fix linter 2021-03-03 18:52:54 -05:00
Shane McDonald
ee1d322336 WIP: Module for EEs 2021-03-03 18:52:54 -05:00
Shane McDonald
1f4a45a698 Remove "pull" field from EE mixin
I think this should go on the EE definition itself
2021-03-03 18:52:54 -05:00
Shane McDonald
966bb6fc74 Back to green 2021-03-03 18:52:54 -05:00
Shane McDonald
f554f45288 Add license for receptor 2021-03-03 18:52:54 -05:00
Shane McDonald
5c2b2dea0c REVERT ME: Install community.general in image
This is needed for the wait_fors in the launch scripts to work
2021-03-03 18:52:54 -05:00
Shane McDonald
fd9373a9ec Use official receptor image 2021-03-03 18:52:54 -05:00
Shane McDonald
82a641e173 Add AWX EE definition 2021-03-03 18:52:54 -05:00
Shane McDonald
490f719fd9 Add new ee container 2021-03-03 18:52:54 -05:00
Shane McDonald
46f5cb6b7a Install receptorctl in awx venv 2021-03-03 18:52:54 -05:00
Shane McDonald
efb25b7b9e Use WIP version of collections_requirements.yml
Pulled from ansible-builder/test/data/awx
2021-03-03 18:52:54 -05:00
Shane McDonald
87b13ead12 REVERT ME: Install ansible/devel for now 2021-03-03 18:52:54 -05:00
Alan Rominger
7c6975baec Collections volume permission fix, and container group fix
Use same image for both types of container isolation

Inventory move fix related to container groups
2021-03-03 18:52:54 -05:00
Kersom
6e6cd51b4d Update usage of summary_fields for execution environments (#8217)
Update usage of summary_fields for execution environments. Also, update
unit-tests to cover this change.

See: https://github.com/ansible/awx/issues/8216
2021-03-03 18:52:54 -05:00
Jeff Bradberry
3d233faed8 Expose the user capabilities dict for EEs (#8208) 2021-03-03 18:52:54 -05:00
Kersom
54d0f173dc Add details page for Execution Environments (#8172)
* Add feature to Add/Edit Execution Environments

Add feature to Add/Edit Execution Environments.

Also, add key for `ExecutionEnvironmentsList`.

See: https://github.com/ansible/awx/issues/7887

* Add details page for execution environments

Add details page for execution environments

See: https://github.com/ansible/awx/issues/8171
2021-03-03 18:52:54 -05:00
Kersom
684b9bd47a Add feature to Add/Edit Execution Environments (#8165)
* Add feature to Add/Edit Execution Environments

Add feature to Add/Edit Execution Environments.

Also, add key for `ExecutionEnvironmentsList`.

See: https://github.com/ansible/awx/issues/7887

* Update registry credential label
2021-03-03 18:52:54 -05:00
Alan Rominger
9530c6ca50 Changes to get execution environments factories working (#8126) 2021-03-03 18:52:54 -05:00
Kersom
b7209d1694 Add list Execution Environments (#8148)
See: https://github.com/ansible/awx/issues/7886
2021-03-03 18:52:54 -05:00
Alan Rominger
9d806ddb82 Initial minimal hooking up of JT EEs to jobs 2021-03-03 18:52:54 -05:00
Alan Rominger
332c802317 Deal with missing HOME env var 2021-03-03 18:52:54 -05:00
Alan Rominger
9660e27246 Fix project folder deletion
Fix another absolute path reference in containers
2021-03-03 18:52:54 -05:00
Alan Rominger
64f45da4d2 Fix pathing issue for credential file references 2021-03-03 18:52:54 -05:00
Alan Rominger
73418e41f3 Fix pathing issue with custom credentials
also fix some minor flake8 issues
2021-03-03 18:52:54 -05:00
Alan Rominger
6e2010ca40 Respect user proot show paths when using containers 2021-03-03 18:52:54 -05:00
Alan Rominger
50433789ae Purge environment variables to work with ansible-runner changes
Remove inventory scripts show because they no longer exist

Remove reference to non-existent callback directory

Remove more references to removed paths
2021-03-03 18:52:54 -05:00
Alan Rominger
a3f0158a94 Add Z to volume mount
Update to AWX execution environment
  use the special 2.9 container image
  revert setting back for merge

Fix another permission error by mapping 2 folders
  also create folders before running
2021-03-03 18:52:54 -05:00
Alan Rominger
130bf076f4 Add Z to volume mount
Set ansible-runner back to main fork due to merge
2021-03-03 18:52:54 -05:00
Shane McDonald
06d7a61ca1 Initial EE integration 2021-03-03 18:52:54 -05:00
Kersom
297fecba3a Add execution environments files (#7909)
Update navigation bar and routing system to add execution environments.
Also, add stub files for the remaining related work.

See: https://github.com/ansible/awx/issues/7885
Also: https://github.com/ansible/awx/issues/7884
2021-03-03 18:52:54 -05:00
Jeff Bradberry
3cbf384ad1 Run a receptor node in the dev environment 2021-03-03 18:52:54 -05:00
Jeff Bradberry
45a0084f78 Add a sublist api view for the UJTs that use a given execution environment 2021-03-03 18:52:54 -05:00
Jeff Bradberry
f9741b619c Make changes to support capture by the activity stream
Including exposing a new API view for a particular EE's activity
stream objects.
2021-03-03 18:52:54 -05:00
Jeff Bradberry
5ec7378135 Add a new Swagger topic 2021-03-03 18:52:54 -05:00
Jeff Bradberry
c05e4e07ee Expose execution environments in awxkit and awx-cli 2021-03-03 18:52:54 -05:00
Jeff Bradberry
cc429f9741 Expose an API view for all of the execution environments under an org 2021-03-03 18:52:54 -05:00
Jeff Bradberry
cb766c6a95 Add execution_environment and pull to the fields for UJs and UJTs 2021-03-03 18:52:54 -05:00
Jeff Bradberry
3c637cd54c Change OrganizationSerializer to show and set default_environment 2021-03-03 18:52:53 -05:00
Jeff Bradberry
61cbd34586 Add in the basic list and detail api views 2021-03-03 18:52:53 -05:00
Jeff Bradberry
9697999ddd Create the RBAC access class for execution environments 2021-03-03 18:52:53 -05:00
Jeff Bradberry
41613ff544 Add a new ExecutionEnvironment model 2021-03-03 18:52:53 -05:00
softwarefactory-project-zuul[bot]
0af7f046f0 Merge pull request #9474 from ryanpetrello/badges
add some new fancy badges

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-03 21:55:51 +00:00
Ryan Petrello
efe03c396b add some new fancy badges 2021-03-03 16:27:04 -05:00
mabashian
9b1d6ab441 Adds ouiaId to inventory warning 2021-03-03 13:38:12 -05:00
mabashian
e9d524ebc0 Space out the inventory warning 2021-03-03 13:36:06 -05:00
sean-m-ssullivan
c4d8d5ee9e Merge branch 'copy_awx_collection' of github.com:sean-m-sullivan/awx into copy_awx_collection 2021-03-03 12:20:53 -06:00
mabashian
75746f2c69 Adds warning message to inventory step when launching wfjt or creating node with wfjt 2021-03-03 13:20:30 -05:00
sean-m-ssullivan
6d88a81cbd update logic 2021-03-03 12:20:13 -06:00
Sean Sullivan
56d6479cd8 Merge pull request #48 from ansible/devel
Rebase
2021-03-03 09:56:54 -06:00
softwarefactory-project-zuul[bot]
7be129f9fa Merge pull request #9464 from beeankha/test_playbook_cleanup
Integration Test Playbook Cleanup for Collections

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-03 15:55:24 +00:00
softwarefactory-project-zuul[bot]
4d21d699bb Merge pull request #9465 from nixocio/ui_unfix_async
Revert change on WorkflowJobTemplateAdd

Reviewed-by: Kersom
             https://github.com/nixocio
2021-03-03 15:40:39 +00:00
nixocio
899a5fca0b Revert change on WorkflowJobTemplateAdd
Revert removal of `await` on WorkflowJobTemplateAdd

See: https://github.com/ansible/awx/pull/9459
2021-03-03 10:05:42 -05:00
Ryan Petrello
4456ae2d71 if rsyslogd cannot be reached, note the failure in sys.stderr
see: https://github.com/ansible/awx/issues/8505
2021-03-03 09:46:33 -05:00
beeankha
3153587c90 Clean up Collections test playbooks 2021-03-03 09:44:35 -05:00
Sean
a0090c7c52 update logic 2021-03-02 23:55:03 -06:00
softwarefactory-project-zuul[bot]
3903e88a47 Merge pull request #8992 from saito-hideki/awx/issue/8839
Add inventory source and project links to details view of Jobs list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-03 02:09:06 +00:00
softwarefactory-project-zuul[bot]
11b8ca1ef9 Merge pull request #9443 from rooftopcellist/update_translations_targets
Update translations targets

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-02 23:52:56 +00:00
softwarefactory-project-zuul[bot]
0b54ee65f5 Merge pull request #9459 from nixocio/ui_fix_minor_issues
Fix minor UI issues

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-02 19:51:07 +00:00
Christian M. Adams
6b8267d2b8 add extract-template to pot target 2021-03-02 14:45:34 -05:00
mabashian
1f93d3ad69 Adds tests for workflow save error handling. Removes unnecessary code that was attempting to remove credentials from a new node. 2021-03-02 14:27:48 -05:00
nixocio
5969d9e3e2 Fix minor UI issues
Fix minor UI issues

* fix typo
* add string to be translated
* remove not necessary `await`
2021-03-02 14:13:56 -05:00
Sean Sullivan
e05db68bde Reverted tower credential test
Reverted tower credential test
2021-03-02 13:00:08 -06:00
Jake McDermott
e92f1187d2 Use credential_type for prompted multicred select categories 2021-03-02 10:27:49 -05:00
Christian M. Adams
53d0611cf8 Update translation make targets and add init PO files 2021-03-02 09:51:04 -05:00
softwarefactory-project-zuul[bot]
d1c49d45bf Merge pull request #9047 from AlexSCorey/8923-JTPOLPagination
Fixes pagination issue on modal

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-03-01 20:04:12 +00:00
mabashian
a293a60d5c Disable job templates in node modal that are missing inv or project 2021-03-01 11:47:34 -05:00
softwarefactory-project-zuul[bot]
4cdec9c297 Merge pull request #9417 from mabashian/typeahead-select-ouia
Adds ouia id's to typeahead select components

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-27 19:52:07 +00:00
softwarefactory-project-zuul[bot]
4baada37d8 Merge pull request #9037 from dejongm/devel
Update defaults.py RH Satellite settings to use new Foreman plugin variables.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-25 16:34:31 +00:00
mabashian
cb3f7b9ef5 Remove duplicate ouia id 2021-02-25 11:15:56 -05:00
mabashian
1c7fbc2806 Adds ouia id's to typeahead select components 2021-02-25 11:15:10 -05:00
softwarefactory-project-zuul[bot]
060578b30b Merge pull request #9196 from keithjgrant/6189-admin-list-tables
Convert admin pages lists to tables

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-25 13:40:50 +00:00
softwarefactory-project-zuul[bot]
cb05b54404 Merge pull request #9224 from jakemcdermott/add-mgmt-jobs
Add system jobs interface w/ configurable data retention

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2021-02-24 19:08:55 +00:00
Jake McDermott
218b97883d Fix schedule loading flicker 2021-02-24 12:20:37 -05:00
Jake McDermott
d337948bd6 Use system job type as identifier 2021-02-24 12:20:30 -05:00
Jake McDermott
5d51a4e781 Fix system job list item key 2021-02-24 12:20:27 -05:00
Jake McDermott
a0beb9e445 Remove instructions to add on empty mgmt jobs 2021-02-24 12:20:24 -05:00
Jake McDermott
a9aa91d9f2 Remove duplicate notification admin request 2021-02-24 12:20:20 -05:00
Jake McDermott
2f56a20484 Add data retention field for schedule creation 2021-02-24 12:20:17 -05:00
Jake McDermott
4985fb6ffa Add case insensitive search for Name 2021-02-24 12:20:14 -05:00
Jake McDermott
b545a6510f Fix Data retention label 2021-02-24 12:20:12 -05:00
Jake McDermott
df7b168911 Add actions column
Co-authored-by: Tiago Góes <tiago.goes2009@gmail.com>
2021-02-24 12:20:09 -05:00
Jake McDermott
83b449fd30 Add sysjob data retention to schedules
* Migate management jobs list to tables
 * Use cancel link variant for consistency with other prompts
 * Add basic test coverage for sysjobs
 * Remove select-all from mgmt jobs
 * Remove unneeded component variables
 * Fix missing schedule breadcrumb
 * Optimize data fetching with useCallback
2021-02-24 12:20:05 -05:00
Jake McDermott
a00c8920ce Remove default sysjob days 2021-02-24 12:20:03 -05:00
Jake McDermott
a07b1a19f3 Add system prompt and config 2021-02-24 12:20:00 -05:00
Jake McDermott
a95e554a16 Only render edit control if editable 2021-02-24 12:19:57 -05:00
Jake McDermott
4c92d02540 Add mgmt job details 2021-02-24 12:19:54 -05:00
Jake McDermott
a0bdf8cdae Add default sysjob days 2021-02-24 12:19:52 -05:00
Jake McDermott
daaabd935c Add mgmt job launch 2021-02-24 12:19:49 -05:00
Jake McDermott
eaf55728d8 Add mgmt job list 2021-02-24 12:19:46 -05:00
Jake McDermott
45acd15c82 Add mgmt job notifications 2021-02-24 12:19:43 -05:00
Jake McDermott
3f936cd5e7 Add mgmt job schedules 2021-02-24 12:19:40 -05:00
Jake McDermott
5d9d486f9c Resolve notification admin status with config 2021-02-24 12:19:37 -05:00
Jake McDermott
d3f2dedbd5 Add routing system for mgmt jobs 2021-02-24 12:19:31 -05:00
softwarefactory-project-zuul[bot]
fe605596b5 Merge pull request #9406 from nixocio/ui_issue_9323
Do not show tooltip with empty content

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-24 15:52:56 +00:00
nixocio
bf601fc988 Do not show tooltip with empty content
Do not show tooltip with empty content.

See: https://github.com/ansible/awx/issues/9323
2021-02-24 09:29:53 -05:00
softwarefactory-project-zuul[bot]
7f36efe8dd Merge pull request #9400 from ansible/local-docker-update-notes
some more data migration notes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-24 14:19:32 +00:00
softwarefactory-project-zuul[bot]
615cc11d0d Merge pull request #9120 from AlexSCorey/9043-InventoryFileField
Inventory File field and playbook field are both now type ahead.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-24 14:15:28 +00:00
softwarefactory-project-zuul[bot]
3b520cdeee Merge pull request #9391 from sean-m-sullivan/collections_md_update
Collections md update

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2021-02-23 23:01:20 +00:00
Ryan Petrello
c245abefcb some more data migration notes
some things I noticed while going through an upgrade
2021-02-23 17:23:37 -05:00
softwarefactory-project-zuul[bot]
6a093c8e8b Merge pull request #9395 from rooftopcellist/migrate-path
fix dev env migrate.yml path in docs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-23 21:38:27 +00:00
Christian M. Adams
2097b014e8 fix dev env migrate.yml path in docs 2021-02-23 16:04:22 -05:00
softwarefactory-project-zuul[bot]
fb6ce4bed3 Merge pull request #9387 from rooftopcellist/secret_key_dev
Mount SECRET_KEY into dev env & document it

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-23 20:22:58 +00:00
Shane McDonald
7ae19a8ba3 Fix tests 2021-02-23 14:50:27 -05:00
softwarefactory-project-zuul[bot]
240556b5d6 Merge pull request #9392 from rooftopcellist/update-docs-ansible-install
Add ansible requirement for dev env docs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-23 18:37:36 +00:00
Christian M. Adams
1b6976205c Add ansible requirement for dev env docs 2021-02-23 13:03:47 -05:00
sean-m-sullivan
ce21dec0d0 update 2021-02-23 11:50:29 -06:00
softwarefactory-project-zuul[bot]
22df3047e6 Merge pull request #9381 from wenottingham/no-more-email
Make email not required for a user in the UI.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-23 16:27:56 +00:00
softwarefactory-project-zuul[bot]
79cb11d905 Merge pull request #9385 from ryanpetrello/buildkit
build images using Buildkit

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-23 15:20:06 +00:00
Ryan Petrello
be79b6e907 build images using Buildkit 2021-02-23 09:32:00 -05:00
Christian M. Adams
2239c8d6e5 Add full path to data migration example in docs 2021-02-23 09:07:37 -05:00
Shane McDonald
7394535022 Remove default SECRET_KEY
We should never be using default values for sensitive information
2021-02-23 08:46:42 -05:00
Christian M. Adams
ec40f62c4d Mount SECRET_KEY into dev env & document it 2021-02-22 18:46:47 -05:00
softwarefactory-project-zuul[bot]
5e6c978a47 Merge pull request #9289 from rooftopcellist/docker-community
Replace Local Docker Install with Community Docker-Compose

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-22 23:25:24 +00:00
Alex Corey
a54352898e makes the inventory file field creatable 2021-02-22 18:05:09 -05:00
Christian M. Adams
b583aeb646 Pass docker project_name whenever docker-compose is used
- Also, do no explicitly name containers
2021-02-22 17:05:51 -05:00
Christian M. Adams
af6af052d0 Remove unneeded roles from the installer directory 2021-02-22 15:37:24 -05:00
Shane McDonald
70325fd249 Remove nodejs from list of required dependencies to install 2021-02-22 13:44:22 -05:00
Shane McDonald
e935b06c39 Fix docker-compose-clean 2021-02-22 13:44:22 -05:00
Shane McDonald
8f9758803e Set compose project dir for backwards compatibility 2021-02-22 13:44:22 -05:00
Christian M. Adams
9672e72834 Consolidate the Local Docker installer and the dev env
- removes local_docker installer and points community users to our development environment (make docker-compose)
  - provides a migration path from Local Docker Compose installations --> the dev environment
  - the dev env can now be configured to use an external database
  - consolidated the Local Docker and dev env docker-compose.yml files into one template file, used by the dockerfile role
  - added a 'sources' role to template out config files
  - the postgres data dir is no longer a bind-mount, it is a docker volume
  - the redis socket is not longer a bind-mount, it is a docker volume
  - the local_settings.py.docker-compose file no longer needs to be copied over in the dev env
  - Create tmp rsyslog.conf in rsyslog volume to avoid cross-linking. Previously, the tmp code-generated rsyslog.conf was being written to /tmp (by default).  As a result, we were attempting to shutil.move() across volumes.
  - move k8s image build and push roles under tools/ansible
  - See tools/docker-compose/README.md for usage of these changes
2021-02-22 13:44:19 -05:00
Bill Nottingham
fb07be36b5 Make email not required for a user in the UI.
It's already not required in the API.
2021-02-22 13:28:03 -05:00
softwarefactory-project-zuul[bot]
0f6d2c36a0 Merge pull request #9131 from sezanzeb/patch-1
Document admin_password in INSTALL.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-22 17:36:55 +00:00
softwarefactory-project-zuul[bot]
805ba2568c Merge pull request #9322 from jainnikhil30/workflow_launch_type_metavar
add workflow_job_launch_type in metavars

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-22 17:27:32 +00:00
softwarefactory-project-zuul[bot]
e0bbd36b99 Merge pull request #9378 from tchellomello/guid-configmap-k8s
Added GUID filters for k8s/OCP environment

Reviewed-by: awxbot
             https://github.com/awxbot
2021-02-22 15:00:28 +00:00
softwarefactory-project-zuul[bot]
3b1b55946e Merge pull request #9334 from mabashian/8372-pending-approvals
Add pending approvals badge to application header

Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
             https://github.com/tiagodread
2021-02-22 14:47:30 +00:00
Alex Corey
189804932e Inventory File field and playbook field are both now type ahead. 2021-02-22 09:15:27 -05:00
Marcelo Moreira de Mello
61da965d54 Added GUID filters for k8s/OCP environment 2021-02-22 09:13:22 -05:00
softwarefactory-project-zuul[bot]
1f1657d880 Merge pull request #9210 from AlexSCorey/7692-PromptsOnSchedules
Prompts on schedules

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-22 13:25:12 +00:00
sean-m-sullivan
57f4db25d2 linting 2021-02-21 23:51:21 -06:00
sean-m-sullivan
115726ed83 fix completness 2021-02-21 23:29:30 -06:00
sean-m-sullivan
9a7dd38cbb add copy to modules 2021-02-21 19:49:14 -06:00
Sean Sullivan
74a5247d9d Merge pull request #42 from ansible/devel
Rebase
2021-02-20 05:58:30 -06:00
softwarefactory-project-zuul[bot]
cc18cf650e Merge pull request #9369 from jbradberry/fix-broken-logos
Fix the broken paths to the favicon and logo in the API browser

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2021-02-19 20:30:01 +00:00
Jeff Bradberry
78ccf3c674 Fix the broken paths to the favicon and logo in the API browser 2021-02-19 14:56:26 -05:00
Alex Corey
96531eff7a fixes survey row alignment issue 2021-02-19 14:27:50 -05:00
Alex Corey
561390d405 Refactors to add warning icon and disable save if schedule has missing values 2021-02-19 14:27:50 -05:00
Alex Corey
c608d761a2 Adds Prompting for schedule 2021-02-19 14:27:50 -05:00
Alex Corey
61c0beccff Updates props being passed to Schedules to more accuratly reflect what they are 2021-02-19 14:27:49 -05:00
softwarefactory-project-zuul[bot]
182a7e8e5c Merge pull request #9251 from Saurabh-Thakre/Saurabh-Thakre-patch-1
Fixed the Customized Notification returning incorrect values for host_status_counts

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-19 16:07:30 +00:00
mcharanrm
412015b7bd tools/scripts/firehose.py: capture all job ids, attach events to all jobs ids and distribute the events 2021-02-19 19:10:34 +05:30
Elijah DeLee
0e6c14e707 create performance logger to log api response time
this middleware allready existed, and we were trying to log this
data but it was not working.

Hope is these logs will be able to be shipped via external logging
and we could use kibana to track response time of different endpoints
2021-02-18 18:39:12 -05:00
softwarefactory-project-zuul[bot]
080c430b82 Merge pull request #9356 from mabashian/fix-test-warnings
Fix a few unit test console warnings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-18 15:14:44 +00:00
mabashian
40c6b346c1 Adds note to changelog about pending workflow approval count 2021-02-18 09:43:44 -05:00
mabashian
1c61fafbc7 Add pending approvals badge to application header 2021-02-18 09:42:51 -05:00
mabashian
afe36974de Fix a few unit test console warnings 2021-02-18 09:14:15 -05:00
softwarefactory-project-zuul[bot]
99460a76d8 Merge pull request #9347 from AlexSCorey/TestCoverageScript
Don't instrument for coverage by default unless CI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-18 13:51:47 +00:00
softwarefactory-project-zuul[bot]
efbbbc0bdc Merge pull request #9188 from nixocio/ui_issue_8707
Allow user to remove organization from credentials

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-18 13:51:39 +00:00
Alex Corey
9090cb830d Don't instrument for coverage by default unless CI 2021-02-18 08:09:19 -05:00
Saurabh Thakre
6aca9d80bb Updated notifications.py
Fixed the customized notification returning incorrect values for host_status_counts

Update notifications.py

Removed if condition

Added exception handling

A nitpick
2021-02-18 12:24:14 +00:00
nixocio
33deaa7d0b Allow user to remove organization from credentials
Allow user to remove organization from credentials.

See: https://github.com/ansible/awx/issues/8707
2021-02-17 16:11:09 -05:00
softwarefactory-project-zuul[bot]
0bd4a8c16d Merge pull request #9340 from ansible/jakemcdermott-changelog
Add some items to the upcoming changelog

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-17 21:08:43 +00:00
softwarefactory-project-zuul[bot]
c98c6db664 Merge pull request #8640 from AlexSCorey/8130-DiplayOrgAdmins
Adds filter by role on Org access lists

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-17 21:00:09 +00:00
Jake McDermott
31e6d7cc0a Add some items to the upcoming changelog 2021-02-17 15:36:12 -05:00
softwarefactory-project-zuul[bot]
c758e6f8cf Merge pull request #9343 from beeankha/remove_unused_files
Remove Unused JSON Test Files

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2021-02-17 20:27:51 +00:00
softwarefactory-project-zuul[bot]
242c4e2533 Merge pull request #9338 from amolgautam25/fix-for-tower-issue-4696
fix for issue 4696(tower) , Upstream commit for tower PR 4840

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-17 20:15:59 +00:00
softwarefactory-project-zuul[bot]
d7d496553e Merge pull request #9332 from ryanpetrello/guid-trace
add a per-request GUID and log as it travels through background services

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-17 20:07:44 +00:00
Alex Corey
1f59d6182b Adds filtering for system level roles 2021-02-17 15:05:31 -05:00
beeankha
64b49feeee Remove functional test files that are no longer in use 2021-02-17 14:42:50 -05:00
Keith Grant
2419a592b4 convert NotificationList to tables 2021-02-17 11:10:35 -08:00
Keith Grant
eb66a03a30 fix duplicate tooltip on notification template edit button 2021-02-17 11:09:25 -08:00
Keith Grant
87cf797153 convert application list to tables 2021-02-17 11:08:33 -08:00
Keith Grant
a481fc3cc9 convert instance group list to tables 2021-02-17 11:08:33 -08:00
Keith Grant
c3bab52a61 convert notification template list to tables 2021-02-17 11:08:33 -08:00
Keith Grant
b3cdefec23 convert CredentialTypeList to tables 2021-02-17 11:07:47 -08:00
Ryan Petrello
3cc3cf1f80 add a per-request GUID and log as it travels through background services
see: https://github.com/ansible/awx/issues/9329
2021-02-17 12:54:13 -05:00
Alex Corey
2a9a471181 adds sorting by role on org access lists 2021-02-17 11:17:20 -05:00
softwarefactory-project-zuul[bot]
2a37430eab Merge pull request #9336 from mabashian/9310-cred-edit
Fix bug where credential inputs were not filled on edit

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-17 16:02:37 +00:00
fedora
29520f1ca6 fix for issue 4696(tower) , Upstream commit for tower PR 4840 2021-02-17 10:14:06 -05:00
mabashian
051efa4a19 Adds unit test coverage for input rendering on credential edit 2021-02-17 09:56:48 -05:00
mabashian
e26015a084 Fix bug where credential inputs were not filled on edit 2021-02-16 18:50:24 -05:00
softwarefactory-project-zuul[bot]
4cb0366fcf Merge pull request #9320 from nixocio/ui_fix_minor_typo
Fix typo

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-16 16:58:57 +00:00
softwarefactory-project-zuul[bot]
365b3a2366 Merge pull request #9313 from sean-m-sullivan/job_template_limit
Fix defaults that were set to empty string in collections.

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2021-02-16 16:40:13 +00:00
softwarefactory-project-zuul[bot]
5c35bb335a Merge pull request #9324 from ansible/dependabot/pip/requirements/atomicwrites-1.4.0
Bump atomicwrites from 1.1.5 to 1.4.0 in /requirements

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-16 16:33:16 +00:00
softwarefactory-project-zuul[bot]
0df85b0a27 Merge pull request #9277 from nixocio/ui_7777_update_pf4
Update Patternfly to allow access to slider component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-16 16:28:10 +00:00
nixocio
02c8f4cc59 Update Patternfly to allow access to slider component
Update Patternfly to allow access to slider component

See: https://github.com/ansible/awx/issues/7777
2021-02-16 10:44:22 -05:00
dependabot[bot]
fbe5832d5a Bump atomicwrites from 1.1.5 to 1.4.0 in /requirements
Bumps [atomicwrites](https://github.com/untitaker/python-atomicwrites) from 1.1.5 to 1.4.0.
- [Release notes](https://github.com/untitaker/python-atomicwrites/releases)
- [Commits](https://github.com/untitaker/python-atomicwrites/compare/1.1.5...1.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-16 14:43:53 +00:00
softwarefactory-project-zuul[bot]
b4956de6e4 Merge pull request #9306 from jlosito/dependabot-config
Allow dependabot to check python dependencies

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-16 14:43:24 +00:00
John Losito
5e91ae7b03 Change dependabot schedule to monthly 2021-02-16 09:07:31 -05:00
Nikhil Jain
1468e5908a add workflow_job_launch_type in metavars 2021-02-16 18:19:37 +05:30
softwarefactory-project-zuul[bot]
6e8c71a231 Merge pull request #9304 from wenottingham/stacks-n-such
Fix Openstack credential region implementation.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-16 03:40:12 +00:00
softwarefactory-project-zuul[bot]
56868dbedd Merge pull request #9225 from nixocio/ui_issue_8670
Add relaunch against failed hosts

Reviewed-by: Mat Wilson <mawilson@redhat.com>
             https://github.com/one-t
2021-02-16 00:18:07 +00:00
nixocio
3c8f5f666f Fix typo
Fix typo on error message
2021-02-15 17:41:32 -05:00
Sean Sullivan
c7bfc60be3 Merge pull request #41 from ansible/devel
Rebase
2021-02-15 14:23:29 -06:00
sean-m-sullivan
62d91365a7 add test for ad hoc no module arg 2021-02-15 12:23:18 -06:00
softwarefactory-project-zuul[bot]
4e48118704 Merge pull request #9287 from mabashian/7679-copy-inv-w-source
Disable inventory copy button when inventory has sources

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-15 17:19:49 +00:00
softwarefactory-project-zuul[bot]
8bcc91518e Merge pull request #9295 from jainnikhil30/add_diff_support
add support for diff mode in tower_settings module

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-15 16:52:32 +00:00
mabashian
f6bddfd336 Fix linting error in CopyButton test 2021-02-15 11:33:38 -05:00
mabashian
a691caf346 Disable inventory copy button when inventory has sources. Refactor copy button props since tooltip is now handled by the ActionItem component. 2021-02-15 11:19:01 -05:00
Nikhil Jain
3ad2bb1bb9 remove whitespaces 2021-02-15 09:31:16 +05:30
sean-m-sullivan
5548f7e91d fix default value bug 2021-02-14 17:17:04 -06:00
Sean Sullivan
6d08c11506 Merge pull request #39 from ansible/devel
Rebase
2021-02-14 01:29:54 -06:00
John Losito
055222bb82 Allow dependabot to check python dependencies 2021-02-13 20:37:33 -05:00
Hideki Saito
82a226d1fe Add links to inventory source and project to inventory update details view of Jobs list
* Addresses #8839

Signed-off-by: Hideki Saito <saito@fgrep.org>
2021-02-13 22:08:35 +09:00
Bill Nottingham
e93518a030 Fix Openstack credential region implementation.
The injector wasn't using the same variable name as the model.
2021-02-12 17:44:44 -05:00
nixocio
33b1028882 Add relaunch against failed hosts
Add relaunch against failed hosts

See: https://github.com/ansible/awx/issues/8670
2021-02-12 17:29:00 -05:00
softwarefactory-project-zuul[bot]
67f1f9ac69 Merge pull request #9278 from AlexSCorey/PreLingUI-Upgrade-3
Fixes final files in preparation for lingui upgrade

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-12 22:00:46 +00:00
softwarefactory-project-zuul[bot]
f99f183d53 Merge pull request #9301 from jbradberry/bump-ansible-runner
Bump ansible-runner to get the pexpect fix

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-12 19:59:59 +00:00
softwarefactory-project-zuul[bot]
2e179609d9 Merge pull request #9300 from darrenjones24/devel
Fix #9298 by upgrading pip allowing use of custom_venvs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-12 17:21:35 +00:00
Jeff Bradberry
8fb0b401ce Bump ansible-runner to get the pexpect fix 2021-02-12 12:08:21 -05:00
darren
ed124c693a remove unecessary --update 2021-02-12 16:47:14 +00:00
softwarefactory-project-zuul[bot]
949c777546 Merge pull request #9284 from sean-m-sullivan/fix-awx_collection-docs
Fix awx collection docs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-12 16:31:13 +00:00
darren
3f5cb645f2 fix 9298 by upgrading pip allowing use of custom_venvs 2021-02-12 16:24:18 +00:00
sean-m-sullivan
d83771f082 revert changes 2021-02-12 08:35:27 -06:00
Nikhil Jain
b177c7b558 add support diff mode in tower_settings module 2021-02-12 08:19:32 +05:30
sean-m-sullivan
2b664d6958 add default 2021-02-11 12:28:55 -06:00
softwarefactory-project-zuul[bot]
909c2513ac Merge pull request #9116 from AlexSCorey/8944-CredTypeLookup
Fixes missing credential types and makes credential type field a type ahead

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-11 04:02:44 +00:00
softwarefactory-project-zuul[bot]
5f7c056f13 Merge pull request #9290 from jakemcdermott/relax-yall
Relax client-side email validator

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-11 02:27:58 +00:00
softwarefactory-project-zuul[bot]
56881c25c9 Merge pull request #9288 from mabashian/9060-job-tags
Show job and skip tags on job detail view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-10 23:38:34 +00:00
softwarefactory-project-zuul[bot]
aa855c1d57 Merge pull request #9170 from nixocio/ui_issue_7676_tables
Add tooltips to inventory sync status

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-10 22:54:37 +00:00
Jake McDermott
09b097d6b9 Relax client-side email validator 2021-02-10 17:35:30 -05:00
sean-m-sullivan
ed8b4a3c70 Merge branch 'fix-awx_collection-docs' of github.com:sean-m-sullivan/awx into fix-awx_collection-docs 2021-02-10 15:45:38 -06:00
sean-m-sullivan
d4f86e8999 update test 2021-02-10 15:45:17 -06:00
Alex Corey
17627ed6ce Closes select on selection and truncates list items 2021-02-10 14:56:53 -05:00
Alex Corey
32ddfdf590 adds static ID for testing 2021-02-10 14:56:53 -05:00
Alex Corey
4a2a6949a8 Fixes missing credential types and makes credential type drop down a typeahead component 2021-02-10 14:56:53 -05:00
mabashian
5ba6d14e4d Show job and skip tags on job detail view 2021-02-10 13:42:27 -05:00
Sean Sullivan
c7793e0b9c Merge pull request #38 from ansible/devel
Rebase
2021-02-10 10:22:40 -06:00
Sean Sullivan
44d7915993 Merge pull request #37 from ansible/devel
Rebase
2021-02-10 10:21:50 -06:00
softwarefactory-project-zuul[bot]
2ef08b1d13 Merge pull request #9052 from jgroom33/patch-1
Update custom_virtualenvs.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-10 16:20:18 +00:00
Sean Sullivan
16aa73fc2c Update inventory source req fields
As per the gui, and testing, source is a required field.
2021-02-10 08:47:51 -06:00
Sean Sullivan
5013d74f46 Remove required field in doc
new name is not a required field, removing that designation from the docs.
2021-02-10 08:42:06 -06:00
softwarefactory-project-zuul[bot]
3d54ab9a0f Merge pull request #8897 from wenottingham/right-on-schedule
Add schedule info from summary fields to allowed notification content.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-09 22:41:13 +00:00
Alex Corey
9420837dae Fixes final files in preparation for lingui upgrade 2021-02-09 17:24:15 -05:00
softwarefactory-project-zuul[bot]
a613cb2f78 Merge pull request #9227 from sean-m-sullivan/project_update
Add project update to project module

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-09 22:00:19 +00:00
softwarefactory-project-zuul[bot]
92c9f6b0f7 Merge pull request #9268 from fosterseth/fix_requirements_json_log_formatter
Add version to json-log-formatter in requirements.txt file

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-09 16:32:19 +00:00
softwarefactory-project-zuul[bot]
c7a558b027 Merge pull request #9274 from constreference/9273
[9273]: Add missing symlinks for awx-manage

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-09 16:21:28 +00:00
Siva Renganathan
4f40381b46 [9273]: Add missing symlinks for awx-manage
This fixes the issue addressed in 9273
The symlinks are created on the build container as opposed to the final
container causing awx-manage command to break.

Signed-off-by: Siva Renganathan <siva.rg@protonmail.com>
2021-02-09 20:37:11 +05:30
softwarefactory-project-zuul[bot]
2c9ef3bae6 Merge pull request #9182 from keithjgrant/6189-hosts-users-teams-tables
Convert Hosts/Users/Teams list to tables

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-09 13:16:59 +00:00
sean-m-sullivan
f82163499c update python 2021-02-08 23:10:34 -06:00
Seth Foster
6f7bdc04c0 fix requirements file 2021-02-08 23:06:07 -05:00
softwarefactory-project-zuul[bot]
9fc8144f8e Merge pull request #9265 from shanemcd/fix-notification-tests
Fix test notifications

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2021-02-08 23:24:24 +00:00
softwarefactory-project-zuul[bot]
f670a01bf7 Merge pull request #9264 from jakemcdermott/fix-output-error-attr-no-stdout
Handle error state with traceback and no stdout

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2021-02-08 23:13:12 +00:00
Shane McDonald
0e2fb02185 Fix test notifications 2021-02-08 17:49:20 -05:00
Jake McDermott
b0520ae0e4 Handle error state with traceback and no stdout 2021-02-08 17:20:24 -05:00
softwarefactory-project-zuul[bot]
471ee46171 Merge pull request #9240 from marshmalien/7040-cancel-btn-style
Update cancel button style to "link"

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-08 19:21:09 +00:00
softwarefactory-project-zuul[bot]
fc6acbd9d1 Merge pull request #9148 from keithjgrant/6189-credentials-table
Convert Credentials & Projects lists to PaginatedTable

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-08 13:21:45 +00:00
Jim Ladd
5b3bb1e81d set schedule.next_run to datetime.datetime
* Update JobNotificationMixin.context_stub
* .. TestJobNotificationMixin.CONTEXT_STRUCTURE
2021-02-05 13:56:56 -08:00
Bill Nottingham
7b757f17a9 Add schedule info from summary fields to allowed notification content. 2021-02-05 13:56:56 -08:00
softwarefactory-project-zuul[bot]
753749d2b4 Merge pull request #9123 from nixocio/ui_issue_8355
Update migration page

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-05 18:38:09 +00:00
softwarefactory-project-zuul[bot]
73d4d14a62 Merge pull request #9199 from jakemcdermott/fix-8848
Add ability to cancel running jobs from output view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-05 03:21:02 +00:00
Keith Grant
13131e96b6 delete unused import 2021-02-04 16:21:57 -08:00
Keith Grant
aaaeb37812 hide table scrollbar when not needed 2021-02-04 14:04:21 -08:00
Keith Grant
dfcfdc7a4e add actions column header to host, user, team lists 2021-02-04 13:52:37 -08:00
Keith Grant
4ca8862b51 convert TeamsList to tables 2021-02-04 13:52:37 -08:00
Keith Grant
e886ce57aa convent UsersList to tables 2021-02-04 13:52:27 -08:00
Keith Grant
f747edca0c convert HostList to PaginatedTable 2021-02-04 13:52:14 -08:00
softwarefactory-project-zuul[bot]
ba318f8670 Merge pull request #9130 from fosterseth/feat_wip_job_lifecycle
log job lifecycle

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-04 19:40:12 +00:00
sean-m-sullivan
9d359a080b updating completeness parameters 2021-02-04 11:33:49 -06:00
Seth Foster
41d0a2f7b9 Add job lifecycle logging
Various	points (e.g. created, running, processing events), are
structured into	json format and	output to /var/log/tower/job_lifecycle.log

As part	of this	work, the DependencyGraph is reworked to return
which job object is doing the blocking, rather than a boolean.
2021-02-04 12:25:51 -05:00
Marliana Lara
379824bbf7 Update cancel buttons to link style 2021-02-04 12:22:52 -05:00
softwarefactory-project-zuul[bot]
47de2ddcb5 Merge pull request #9231 from jakemcdermott/fix-9229
Prevent url smashing from prompted inputs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-04 16:44:24 +00:00
Jake McDermott
14686e8b16 Prevent enter-submit on prompt steps 2021-02-03 23:22:42 -05:00
sean-m-sullivan
f35c16e4f0 update 2021-02-03 18:47:32 -06:00
Sean Sullivan
226a689f7b Merge pull request #36 from ansible/devel
Rebase
2021-02-03 18:40:12 -06:00
softwarefactory-project-zuul[bot]
54d63ee437 Merge pull request #8726 from jakemcdermott/fix-8709
Show job traceback stdout and error details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-03 19:42:09 +00:00
Alex Corey
fe9bd37c74 fixes pagination issue on modal 2021-02-03 12:33:33 -05:00
Keith Grant
0b633c2b6c convert project list to PaginatedTable 2021-02-03 09:01:43 -08:00
Keith Grant
8081d66872 convert credentials list to table 2021-02-03 09:01:22 -08:00
softwarefactory-project-zuul[bot]
40cf4ff209 Merge pull request #9045 from keithjgrant/6189-schedules-list
Convert SchedulesList, WorkflowApprovalList to tables

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-03 14:08:53 +00:00
softwarefactory-project-zuul[bot]
554f96ccef Merge pull request #8869 from mabashian/6510-schedule-detail-prompts
Fix prompted values section of schedule details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-03 00:56:23 +00:00
mabashian
1a5cdd05c5 Adds more test coverage around Prompted Values and when those fields get shown 2021-02-02 18:58:08 -05:00
mabashian
bb67d62d81 Adds variables to track showing limit/job type/scm branch/verbosity fields in Prompted Values 2021-02-02 18:58:08 -05:00
mabashian
a9288c82fc Adds missing verbosity detail. Adds flag for showing the diff mode detail. 2021-02-02 18:58:08 -05:00
mabashian
5a70989ff5 Hide Prompted Fields section when tags/skip tags are prompted but have no values 2021-02-02 18:58:08 -05:00
mabashian
56139423d9 Use PF variables where possible in styles 2021-02-02 18:58:08 -05:00
mabashian
ffd9a239ba Fix prompted values section of schedule details and updated PromptDetail to match ScheduleDetail prompt UX 2021-02-02 18:58:08 -05:00
Keith Grant
00b47f1dbf add table header to ScheduleList 2021-02-02 15:12:41 -08:00
Keith Grant
eb2a9baadd Convert WorkflowApprovalList to table 2021-02-02 15:12:41 -08:00
Keith Grant
953fa3fe0d convert Schedules list to PaginatedTable 2021-02-02 15:12:41 -08:00
softwarefactory-project-zuul[bot]
b20adac33d Merge pull request #9114 from keithjgrant/6189-template-list-tables
Convert TemplateList to PaginatedTable

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-02 20:28:58 +00:00
Keith Grant
186aa6cc99 update snapshot 2021-02-02 11:59:17 -08:00
Keith Grant
27b0f874cc remove unused var 2021-02-02 11:45:34 -08:00
Keith Grant
669e963e38 combine TemplateList/DashboardTemplateList into shared component 2021-02-02 11:45:34 -08:00
Keith Grant
03eb9bafb7 add missing template list data; add ids to relevant page elements 2021-02-02 11:44:20 -08:00
Keith Grant
78ef11d558 update Template list tests 2021-02-02 11:44:20 -08:00
Keith Grant
ad71dc3e98 add expandable row details to template list 2021-02-02 11:44:20 -08:00
Keith Grant
f3410f6517 convert TemplateList to tables 2021-02-02 11:44:20 -08:00
softwarefactory-project-zuul[bot]
7d432e484c Merge pull request #9205 from beeankha/fix_pylint_error
Fix Pylint Error

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-02 19:19:46 +00:00
softwarefactory-project-zuul[bot]
271eb4043a Merge pull request #9094 from AlexSCorey/TransLintPOC
Adds translation linting and addresses issues the linter found

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-02 17:28:31 +00:00
softwarefactory-project-zuul[bot]
cc9ee550d9 Merge pull request #9185 from sean-m-sullivan/add_orgs_job_launch
Add orgs job launch

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2021-02-02 16:05:42 +00:00
softwarefactory-project-zuul[bot]
7a8d9394be Merge pull request #6106 from egmar/ghe-auth-support
Support for Github Enteprise for authentication

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-02 15:59:22 +00:00
Jake McDermott
339d430de1 Add ability to cancel jobs 2021-02-02 10:39:19 -05:00
softwarefactory-project-zuul[bot]
6f24fda168 Merge pull request #9104 from sean-m-sullivan/survey_logic
Survey logic for awx modules

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2021-02-02 15:33:20 +00:00
beeankha
3ad9aa902d Fix pylint throwaway variable error 2021-02-02 08:56:42 -05:00
softwarefactory-project-zuul[bot]
3408f5270e Merge pull request #9203 from ryanpetrello/new-logo
Update with the new logo

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-01 21:40:27 +00:00
Ryan Petrello
d365705e05 Revert "Remove old logo"
This reverts commit b24a1746ae.
2021-02-01 16:00:07 -05:00
Alex Corey
1f81592b5c adds translation linting and addresses issues the linter found 2021-02-01 13:14:54 -05:00
softwarefactory-project-zuul[bot]
0f0857747d Merge pull request #9198 from Zokormazo/ui-next-typo
Docs: Fix npm install command line

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-02-01 14:19:18 +00:00
Julen Landa Alustiza
ff27c486bf Fix npm install command line
Signed-off-by: Julen Landa Alustiza <jlandaal@redhat.com>
2021-02-01 12:05:41 +01:00
Jake McDermott
e7719e3fdc Splice result_traceback into first row stdout 2021-01-31 22:15:51 -05:00
Jake McDermott
7a6cbe2685 Display status explanation message when available 2021-01-31 22:15:49 -05:00
Jake McDermott
b2328d17a4 Render result tracebacks as stdout 2021-01-31 22:15:43 -05:00
Egor Margineanu
b8790db84a [PATCH] Rebase and update the Settings options file. Source: 65b4811
Fixed Github Enterprise labels
2021-01-29 23:41:12 +01:00
softwarefactory-project-zuul[bot]
89646e7799 Merge pull request #8661 from marshmalien/setting-jobs-ui
Add job settings form and unit tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-29 21:01:40 +00:00
softwarefactory-project-zuul[bot]
1b32dad745 Merge pull request #9192 from jakemcdermott/fix-9191
Fix container group detail link outs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-29 19:38:40 +00:00
softwarefactory-project-zuul[bot]
5ab0b91a0d Merge pull request #9057 from keithjgrant/9049-inventory-table-responsiveness
Fix inventory list responsive behavior

Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
             https://github.com/tiagodread
2021-01-29 19:14:37 +00:00
Keith Grant
da6f793468 delete unused import 2021-01-29 10:41:48 -08:00
Sean Sullivan
ce44a056ad Merge pull request #35 from ansible/devel
Rebase
2021-01-29 09:27:42 -06:00
Sean Sullivan
54aababd0f Merge pull request #34 from ansible/devel
Rebase
2021-01-29 09:26:40 -06:00
Marliana Lara
8a58a73cb0 Handle reverting falsy values that are not null or undefined 2021-01-29 09:27:21 -05:00
Marliana Lara
db4d84b94c Add job settings form and unit tests 2021-01-29 09:24:51 -05:00
Egor Margineanu
604b42929d Improved labels and help text for Github Enterprise SSO configuration fields.
Signed-off-by: Egor Margineanu <egor.margineanu@gmail.com>
2021-01-29 13:09:40 +01:00
Egor Margineanu
a90ff45e98 Added changes from 645701a and 4692e2f 2021-01-29 13:09:40 +01:00
mabashian
d461090415 Adds support for github enterprise auth methods in ui_next 2021-01-29 13:09:27 +01:00
Egor Margineanu
9ccee200f3 Removed GHE forms from ui folder
Fixed org/team field names based on @constreference feedback
Added support for Github Enteprise for authentication
2021-01-29 13:01:08 +01:00
Keith Grant
a74fe57691 remove extra inventory columns; add horizontal scroll to wide tables 2021-01-28 16:34:46 -08:00
nixocio
3f5e1518ee Update migration page
Update migration to add styling. Also, use django template and context
to inject variables into the migration page.

See: https://github.com/ansible/awx/issues/8355
2021-01-28 17:46:36 -05:00
sean-m-sullivan
e433e3ebc2 update logic 2021-01-28 15:19:28 -06:00
softwarefactory-project-zuul[bot]
88cd154c97 Merge pull request #9038 from AlexSCorey/8998-BrokenLink
fixes broken link and adds test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-28 20:58:59 +00:00
Jake McDermott
6fcaba6540 Fix container group detail link outs 2021-01-28 15:45:25 -05:00
sean-m-sullivan
cc0d658b1c fix typo 2021-01-28 10:16:27 -06:00
softwarefactory-project-zuul[bot]
792928aae8 Merge pull request #9069 from chrismeyersfsu/logrotate
remove python log rotation in favor of system

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-28 14:48:33 +00:00
sean-m-sullivan
aa5219cf30 fix verbage 2021-01-28 08:36:13 -06:00
Sean Sullivan
9e7882fce2 Merge pull request #33 from ansible/devel
Rebase
2021-01-28 08:32:50 -06:00
sean-m-sullivan
c40ca718d0 add org to job launch 2021-01-28 08:31:52 -06:00
Chris Meyers
67daca04e0 remove python log rotation in favor of system
* The cron ran logrotate will now rotate our log files instead of python
* If not error log file is specified in the config then do not include
it as a paremter to rsyslog omhttp module. This is useful for
containers.
2021-01-28 09:19:08 -05:00
Keith Grant
c3ca43d9bc hide inventory groups/hosts/sources columns when screen width doesn't allow 2021-01-27 15:45:57 -08:00
softwarefactory-project-zuul[bot]
a534a80360 Merge pull request #8970 from keithjgrant/6189-job-list-tables
Convert JobList to PaginatedTable

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-27 21:44:16 +00:00
Sean Sullivan
012189cb10 Merge pull request #32 from ansible/devel
Rebase
2021-01-27 12:47:08 -06:00
Keith Grant
0feeaf0453 fix select boxes in JobList 2021-01-27 09:26:19 -08:00
Keith Grant
7bf7cebd72 Add id to table sort headers 2021-01-27 08:36:30 -08:00
softwarefactory-project-zuul[bot]
b7475442fb Merge pull request #9135 from jainnikhil30/fix_wrong_survey_spec_handling_collection
Fix the handling of wrong survey spec in awx collection

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-27 15:48:15 +00:00
softwarefactory-project-zuul[bot]
11874d38e2 Merge pull request #8783 from marshmalien/setting-saml-ui-edit-forms
Add SAML and UI setting edit forms

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-27 01:30:37 +00:00
softwarefactory-project-zuul[bot]
ce59f1817a Merge pull request #9035 from mabashian/8915-source-workflow-link
Display source workflow job when available on job details view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-26 22:31:59 +00:00
Keith Grant
2e7b53cf90 remove job data duplicated in expanded view 2021-01-26 14:22:50 -08:00
Keith Grant
afdb4f9709 add id to expanded job rows 2021-01-26 14:18:10 -08:00
Keith Grant
2c17d56acd create LaunchedByDetail to consolidate shared code between detail & list 2021-01-26 14:09:49 -08:00
Keith Grant
8bde6060c4 add expandable rows to JobList 2021-01-26 14:09:49 -08:00
Keith Grant
da16785201 convert JobList to PaginatedTable 2021-01-26 14:09:49 -08:00
softwarefactory-project-zuul[bot]
b7eb1a4c59 Merge pull request #9156 from shanemcd/minikube-dev-env
Minikube-based development environment

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-26 21:10:08 +00:00
Shane McDonald
47740f62f4 Add ingress variable to minikube doc 2021-01-26 15:18:37 -05:00
Shane McDonald
fb7b36cfbd Add note about needing openshift python lib 2021-01-26 15:14:06 -05:00
Shane McDonald
ba8c44f8a6 Add note on how to access AWX in minikube 2021-01-26 15:07:04 -05:00
nixocio
287d181af7 Add tooltips to inventory sync status
Add tooltips to inventory sync status on Inventory List.

See: https://github.com/ansible/awx/issues/7676
2021-01-26 13:50:01 -05:00
softwarefactory-project-zuul[bot]
dfa65225d9 Merge pull request #9048 from AlexSCorey/8961-AuditorCanAddUserRoles
fixes erroneous render of add button

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-26 18:48:43 +00:00
softwarefactory-project-zuul[bot]
aa4ca300f5 Merge pull request #9169 from rooftopcellist/version-1101
Bump version to 17.0.1 & update changelog

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-26 18:22:28 +00:00
Marliana Lara
12f6c05a4a Format certificates/keys in setting detail and hide pendo when off 2021-01-26 12:47:28 -05:00
Marliana Lara
bbde149ab1 Add UI settings form 2021-01-26 12:47:27 -05:00
Marliana Lara
9cf3066591 Add SAML settings edit form 2021-01-26 12:47:27 -05:00
Christian M. Adams
8d8aadb193 Bump version to 17.0.1 & update changelog 2021-01-26 12:35:14 -05:00
softwarefactory-project-zuul[bot]
3194690e5f Merge pull request #9093 from marshmalien/fix-setting-toggle-id
Fix setting toggle on click behavior

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2021-01-26 17:16:43 +00:00
softwarefactory-project-zuul[bot]
6cc3ac2e99 Merge pull request #9167 from djj106/devel
fix workflow url

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2021-01-26 15:40:56 +00:00
Shane McDonald
bda4db462f Enable inline caching for image builds 2021-01-26 10:24:35 -05:00
djj106
c4c1b9799e fix workflow url
Signed-off-by: djj106 <djj106@gmail.com>
2021-01-26 08:48:08 -06:00
Sean Sullivan
a825cf3583 Merge pull request #31 from ansible/devel
Rebase
2021-01-25 21:38:47 -06:00
Shane McDonald
7c8bd47198 Minikube-based development environment
Works in conjunction with https://github.com/ansible/awx-operator/pull/71

See docs/development/minikube.md
2021-01-25 18:03:17 -05:00
softwarefactory-project-zuul[bot]
9f691a048d Merge pull request #9152 from rooftopcellist/awxcompose-perm
Pre-create pgdocker dir ahead of time with proper permissions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-25 17:28:46 +00:00
softwarefactory-project-zuul[bot]
da68e613e3 Merge pull request #9155 from sezanzeb/patch-2
document postgres_data_dir

Reviewed-by: awxbot
             https://github.com/awxbot
2021-01-25 16:58:03 +00:00
sezanzeb
b9a9d645de document postgres_data_dir 2021-01-25 17:26:39 +01:00
softwarefactory-project-zuul[bot]
7032927ba3 Merge pull request #9150 from mamercad/mamercad/named_url_typo
Fixing a small typo

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-25 15:19:36 +00:00
Christian M. Adams
e62035fa5e Pre-create pgdocker dir ahead of time with proper permissions 2021-01-25 09:52:02 -05:00
Mark Mercado
5fe6e75255 Fixing a small typo 2021-01-24 12:40:29 -05:00
Sean Sullivan
916f919fcb Merge pull request #30 from ansible/devel
rebase
2021-01-23 19:39:56 -06:00
softwarefactory-project-zuul[bot]
83372d6f03 Merge pull request #9149 from vladdoster/patch-1
(docs) update README.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-24 00:23:20 +00:00
vlad doster
7c53bf3681 (docs) update README.md
- correct punctuation
- fix spelling
2021-01-23 14:11:40 -06:00
softwarefactory-project-zuul[bot]
e40e646211 Merge pull request #9143 from ryanpetrello/org-host-count
expose active host count on the Organization detail view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-22 19:14:58 +00:00
softwarefactory-project-zuul[bot]
b913d8411a Merge pull request #9142 from ryanpetrello/bye-bigint
stop detecting the need for event data migration

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-22 18:46:13 +00:00
Ryan Petrello
2017504c51 expose active host count on the Organization detail view 2021-01-22 13:42:27 -05:00
Sean Sullivan
ac280e1446 Merge pull request #29 from ansible/devel
Rebase
2021-01-22 12:01:25 -06:00
Ryan Petrello
16848e9154 stop detecting the need for event data migration
related: https://github.com/ansible/awx/issues/6010

as noted in the comment removed from this diff, it's probably time
to stop calling this function on every dispatcher service restart
2021-01-22 09:22:00 -05:00
Ryan Petrello
3e03c726cb Merge pull request #9133 from ryanpetrello/more-changelog-bits
Change the 17.0.0 date and make room for a bit more to land.
2021-01-22 01:11:39 -05:00
Nikhil Jain
81875f0971 fix the handling of wrong survey spec 2021-01-22 11:03:44 +05:30
softwarefactory-project-zuul[bot]
a2c2588383 Merge pull request #9083 from jlmitch5/actStream
Update Breadcrumbs/Add Activity Stream UI

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2021-01-21 23:45:23 +00:00
Ryan Petrello
67066a3fa5 Change the 17.0.0 date and make room for a bit more to land. 2021-01-21 17:12:25 -05:00
softwarefactory-project-zuul[bot]
bd76d1a75f Merge pull request #9050 from ryanpetrello/bump-17-0-0
Bump version to 17.0.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-21 21:01:21 +00:00
Ryan Petrello
c77ca928cc Bump version to 17.0.0 2021-01-21 15:31:46 -05:00
John Mitchell
7d495713ee updated aria label for activity stream type select 2021-01-21 15:31:08 -05:00
softwarefactory-project-zuul[bot]
b78fee1f01 Merge pull request #9011 from AlexSCorey/PreLingUI2
Updates files to pre lingUI upgrade work

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-21 20:30:18 +00:00
sezanzeb
7d58ae3c8c dot 2021-01-21 20:27:33 +01:00
sezanzeb
5445de7d01 Document admin_password in INSTALL.md
Because the first user that ever logs in shouldn't be an automated bot looking for vulnerable webservers.
2021-01-21 20:25:06 +01:00
Marliana Lara
ee59ac957a Assert checkbox label click event updates checkbox value 2021-01-21 12:49:57 -05:00
Marliana Lara
6b7d712f9f Give setting toggle form group a unique form field id 2021-01-21 12:36:20 -05:00
John Mitchell
00e837c17c update grouping of activity stream type select and remove inv scripts 2021-01-21 10:01:49 -05:00
John Mitchell
06ff178f9e update activity stream file structure to be consistent with other routes and aid in testing 2021-01-21 10:01:49 -05:00
John Mitchell
f07818f04a check if breadcrumbs should update by name (which changes), not ID 2021-01-21 10:01:49 -05:00
John Mitchell
7a3002f218 fix routes with breadcrumb issues:
team roles title crumb missing
various inventory crums missing
make it so inventories and templates don't get rid of data needed to generate the crumb config
2021-01-21 10:01:49 -05:00
John Mitchell
a0ded889f9 add min height to title to keep page redrwaw from flashing 2021-01-21 10:01:49 -05:00
John Mitchell
8d46e78606 fix lint issue with urlParam name 2021-01-21 10:01:49 -05:00
John Mitchell
6b53ea51fc fix spacing issues with activity stream description builder 2021-01-21 10:01:49 -05:00
John Mitchell
ce28968a11 reset page to 1 after activity stream type changes 2021-01-21 10:01:49 -05:00
John Mitchell
c793b3a9c8 fix issues from rebase fallout 2021-01-21 10:01:49 -05:00
John Mitchell
77cd875a9c add initiated by sort on activity stream 2021-01-21 10:01:49 -05:00
John Mitchell
fd708456df fix workflow event activity steam linking 2021-01-21 10:01:49 -05:00
John Mitchell
2f7a7b453f add workflow node based events to be shown when templates is selected in activity streram 2021-01-21 10:01:49 -05:00
John Mitchell
cec5a77762 add username-based search to activity stream 2021-01-21 10:01:49 -05:00
John Mitchell
7c57a8e5d0 add activity stream ui 2021-01-21 10:01:49 -05:00
John Mitchell
87a2039ded don't strip out non-namespaced params when encoding url search params 2021-01-21 10:01:49 -05:00
John Mitchell
90edb3b551 update Breadcrumb component to ScreenHeader:
- show last breadcrum item as Title on new line
- add activity stream type (to display activity stream icon link in header)
2021-01-21 10:01:49 -05:00
softwarefactory-project-zuul[bot]
f37471c858 Merge pull request #8782 from marshmalien/setting-radius-tacacs-edit-forms
Add RADIUS and TACACS+ setting forms

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-20 22:55:51 +00:00
softwarefactory-project-zuul[bot]
41a855fa6a Merge pull request #9121 from shanemcd/devel
Dont fail image builds because of debuginfo repo problems

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-20 21:12:37 +00:00
Shane McDonald
54e1a802c5 Dont fail imagee builds because of debuginfo repo problems 2021-01-20 15:34:38 -05:00
softwarefactory-project-zuul[bot]
8a7c714613 Merge pull request #9028 from mabashian/7015-prompt-cred-passwords-v2
Add support for credential password prompting on job launch

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-20 19:32:48 +00:00
Alex Corey
0a88d42645 Updates files to pre lingUI upgrade work 2021-01-20 13:31:03 -05:00
softwarefactory-project-zuul[bot]
93160fa4fd Merge pull request #9113 from rooftopcellist/fix-pg12-upgrades
Fix bind-mount problem with pg12 upgrades

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-19 22:04:23 +00:00
mabashian
f738f52c5c Remove credential password mapping in favor of using keys that the api accepts 2021-01-19 16:56:23 -05:00
Christian M. Adams
ac925a03b5 Fix bind-mount problem with pg12 upgrades 2021-01-19 16:34:24 -05:00
mabashian
90caea2273 Separate vault password from id with vertical separator 2021-01-19 13:49:01 -05:00
softwarefactory-project-zuul[bot]
a06366ccc9 Merge pull request #9106 from cl1ent/patch-1
fixed default location for docker_compose_dir variable

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-19 17:49:05 +00:00
softwarefactory-project-zuul[bot]
f4fb13492b Merge pull request #9111 from shanemcd/no-default-password
Do not set default admin_password

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2021-01-19 17:04:29 +00:00
mabashian
7f78018386 Fix job relaunch where credentials are needed 2021-01-19 11:34:19 -05:00
Shane McDonald
aabb55810b Do not set default admin_password 2021-01-19 11:32:06 -05:00
mabashian
fb62e0ec2c Revert changes to isValid 2021-01-19 09:59:18 -05:00
mabashian
448e49ae43 Add support for password prompting on job launch 2021-01-19 09:59:18 -05:00
cl1ent
9d53bab050 fixed default location for docker_compose_dir variable 2021-01-19 13:17:24 +01:00
softwarefactory-project-zuul[bot]
3a467067f3 Merge pull request #9086 from ryanpetrello/more-callback-tinkering
further optimize callback receiver buffering for certain situations

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-18 19:13:23 +00:00
sean-m-sullivan
3ae133d39d syntax and lint fix 2021-01-18 13:05:28 -06:00
softwarefactory-project-zuul[bot]
3f759d8ddb Merge pull request #8896 from mabashian/7700-smart-inv-button
Adds smart inventory button on host list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-18 18:54:52 +00:00
sean-m-sullivan
b8bd6d2472 Merge branch 'survey_logic' of github.com:sean-m-sullivan/awx into survey_logic 2021-01-18 12:46:53 -06:00
sean-m-sullivan
d32461388f syntax and lint fix 2021-01-18 12:46:43 -06:00
Sean Sullivan
0e9f7f37e0 Delete test file
Delete test file
2021-01-18 12:21:25 -06:00
Sean Sullivan
e8ea6bc946 Delete test file
Delete test file
2021-01-18 12:20:27 -06:00
Sean Sullivan
91045534d0 Merge pull request #28 from sean-m-sullivan/survey_update
Add logic Rebase
2021-01-18 11:26:09 -06:00
softwarefactory-project-zuul[bot]
5959bfc4ae Merge pull request #9089 from sean-m-sullivan/survey_update
Survey update to workflows

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2021-01-18 17:22:43 +00:00
softwarefactory-project-zuul[bot]
7ffbc7ed1e Merge pull request #9078 from rooftopcellist/pg12-upgrade-migrations
Fix Local Docker partial migration and unavailable superuser issues

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-18 15:51:25 +00:00
sean-m-sullivan
74d1859552 add alias 2021-01-18 09:12:30 -06:00
sean-m-sullivan
1042c1cc28 add logic for survey 2021-01-17 10:32:07 -06:00
Sean Sullivan
1ce9c00d77 Merge pull request #26 from ansible/devel
Rebase
2021-01-16 22:58:41 -06:00
Sean Sullivan
e4cb50921e Merge pull request #27 from ansible/devel
Rebase
2021-01-16 22:51:21 -06:00
softwarefactory-project-zuul[bot]
d1e5dc1eae Merge pull request #9099 from rooftopcellist/rm_launch_configmap
Remove launch script config mapping for k8s and ocp

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-15 21:46:18 +00:00
mabashian
6a7f7a0256 Move smart inventory button out to it's own component to properly handle kebabification 2021-01-15 14:50:41 -05:00
mabashian
bb2248cb24 Adds tooltip around host filter lookup when an organization is not selected 2021-01-15 14:14:34 -05:00
mabashian
fa6de04e79 Remove object import as its not used 2021-01-15 14:14:34 -05:00
mabashian
87604749b7 Adds smart inventory button on host list 2021-01-15 14:14:34 -05:00
softwarefactory-project-zuul[bot]
684998cd51 Merge pull request #8580 from ryanpetrello/fork-race
forcibly close DB and cache socket connection post-fork

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-15 19:00:43 +00:00
softwarefactory-project-zuul[bot]
2d4a3bc943 Merge pull request #8802 from AlexSCorey/4212-LoadingState
Adds Spinner to Loading state

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-15 13:23:14 +00:00
sean-m-sullivan
73c46030bc update completeness 2021-01-14 16:19:39 -06:00
Ryan Petrello
b744c4ebb7 further optimize callback receiver buffering for certain situations
see: https://github.com/ansible/awx/issues/9085
2021-01-14 17:17:12 -05:00
sean-m-sullivan
328435d435 update to survey option on workflow module. 2021-01-14 15:37:59 -06:00
Marliana Lara
62eae017cf Add tacacs category setting edit form 2021-01-14 14:23:12 -05:00
Marliana Lara
dcb1773918 Add radius category setting edit form 2021-01-14 14:23:06 -05:00
Christian M. Adams
a1514a3b26 Remove launch scrip config mapping for k8s and ocp
* Related to https://github.com/ansible/awx/pull/8968
2021-01-14 13:48:33 -05:00
Christian M. Adams
88a0d98447 Run migrations via a task, not in the container
* Issue: https://github.com/ansible/awx/issues/9077
  * Fixes problem with migrations not completing
2021-01-14 09:50:26 -05:00
softwarefactory-project-zuul[bot]
d88ed19edf Merge pull request #8781 from marshmalien/setting-ldap-edit-forms
Add all LDAP (Default, 1-5) setting forms

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-14 12:49:25 +00:00
Alex Corey
47c1dc8171 Adds spinner to loadiing and updating states 2021-01-13 18:15:05 -05:00
Marliana Lara
28733beee8 Show placeholder for codemirror inputs and expand width of "DN" ldap fields 2021-01-13 18:02:40 -05:00
Marliana Lara
c90a459837 Fix bug where revert all reverted all ldap categories 2021-01-13 17:58:00 -05:00
Marliana Lara
ba8cf1aaf2 Add all LDAP (Default-5) setting forms 2021-01-13 17:57:55 -05:00
Christian M. Adams
57c3b9ab17 Run PG upgrade tasks in container because of permissions
* update pg references
2021-01-13 17:27:03 -05:00
Ryan Petrello
b24a1746ae Remove old logo 2021-01-13 13:55:45 -05:00
softwarefactory-project-zuul[bot]
2f16b361f7 Merge pull request #8656 from nixocio/ui_issue_8194
Fix Inventory/Project rbac broken on JT form

Reviewed-by: Kersom
             https://github.com/nixocio
2021-01-13 18:23:35 +00:00
softwarefactory-project-zuul[bot]
5bb59246af Merge pull request #8761 from marshmalien/setting-github-edit-forms
Add all github category setting edit forms

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2021-01-13 15:23:34 +00:00
Alex Corey
766b2f774d convert PaginatedDataList to function 2021-01-13 10:13:15 -05:00
nixocio
b8369defd6 Fix Inventory/Project rbac broken on JT form
Fix Inventory/Project rbac broken on JT form.

Also, update ProjectLookup to filter using `role_level: 'use_role'` as
per old UI implementation.

Also, update InventoryLookup to filter using `role_level: 'use_role'` as
per old UI implementation.

See: https://github.com/ansible/awx/issues/8194
2021-01-13 09:23:12 -05:00
softwarefactory-project-zuul[bot]
7daa1fe786 Merge pull request #8860 from CUB-OIT-PE/jinja-chain-undefined
Enabled jinja2.ChainableUndefined for custom webhook notifications

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2021-01-12 20:35:46 +00:00
softwarefactory-project-zuul[bot]
74daa49e6f Merge pull request #9063 from ryanpetrello/activity-stream-analytics-gather
don't record AUTOMATION_ANALYTICS_LAST_GATHER updates

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-12 19:17:45 +00:00
softwarefactory-project-zuul[bot]
c7b51176a4 Merge pull request #9046 from jbradberry/export-inventory-source-inventories
Do not drop inventories marked as has_inventory_sources

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-12 18:58:11 +00:00
softwarefactory-project-zuul[bot]
b50e72ab20 Merge pull request #8776 from nixocio/ui_issue_7708
Show access tab when credential does not belong to an organization

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-12 18:46:27 +00:00
Ryan Petrello
b3d4b57ae9 don't record AUTOMATION_ANALYTICS_LAST_GATHER updates
this is noisy in the activity stream
2021-01-12 11:21:11 -05:00
Marliana Lara
1c2605be8e Add ouiaId props to button and alert components 2021-01-11 16:38:32 -05:00
Marliana Lara
7662a67a65 Add all github category setting edit forms 2021-01-11 16:37:28 -05:00
willhaines
e2cb6a8caf Merge pull request #1 from jladdjr/jladd_jinja-chain-undefined
minor dep changes for jinja2.ChainableUndefined fix
2021-01-11 13:03:12 -07:00
Jim Ladd
60dee83481 revert jinja2 dep changes for ansible venv 2021-01-11 11:48:39 -08:00
Will Haines
d59e172f53 Pinned Jinja2 to ensure ChainableUndefined is present
Signed-off-by: Will Haines <william.haines@colorado.edu>
2021-01-11 11:56:04 -07:00
softwarefactory-project-zuul[bot]
b22aa3e99e Merge pull request #9054 from Spredzy/downgrade_cryptography
Pin cryptography to pre 3 release

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-11 16:13:25 +00:00
Yanis Guenane
7275db8d66 Pin cryptography to pre 3 release 2021-01-11 14:36:56 +01:00
Jeff Groom
22aaf765a5 Update custom_virtualenvs.md 2021-01-09 10:54:33 -07:00
softwarefactory-project-zuul[bot]
938725c86c Merge pull request #8943 from rooftopcellist/pg12
Upgrade PostgreSQL from 10 to 12

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2021-01-08 21:44:40 +00:00
Alex Corey
186a1b04b4 fixes erronous render of add button 2021-01-08 15:34:56 -05:00
Jeff Bradberry
a3723db357 Do not drop inventories marked as has_inventory_sources 2021-01-08 14:32:33 -05:00
nixocio
682b06be5a Show access tab when credential does not belong to an organization
Credential access tab should be shown when cred doesn't belong to an organization.

Also, update unit-tests to reflect change.

See: https://github.com/ansible/awx/issues/7708
2021-01-08 14:30:08 -05:00
softwarefactory-project-zuul[bot]
aa87a99441 Merge pull request #9044 from kdelee/awx_silent_delete_conflict
silent_delete also needs to handle Confict

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-08 16:25:54 +00:00
Elijah DeLee
a157a3598f silent_delete also needs to handle Confict 2021-01-08 10:55:55 -05:00
Christian M. Adams
36466b9694 Upgrade PostgreSQL from 10 to 12 2021-01-08 10:54:00 -05:00
softwarefactory-project-zuul[bot]
1dec79b62d Merge pull request #8880 from vguillard/issue_5080_openstack_region_field_missing
Related #5080 openstack region field missing

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-08 14:39:03 +00:00
Will Haines
9ec958f839 Added test for Chainable Undefined Behavior
Signed-off-by: Will Haines <william.haines@colorado.edu>
2021-01-07 23:25:19 -07:00
softwarefactory-project-zuul[bot]
98b25f619e Merge pull request #9040 from kdelee/new_teardown_error
When deleting a job sometimes we get this error

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-07 22:38:29 +00:00
Elijah DeLee
908291dd3c When deleting a job sometimes we get this error
For the silent delete method, we should let this one slide
because it is an expected error that may occur if there are still
events processing.
2021-01-07 15:37:57 -05:00
softwarefactory-project-zuul[bot]
764511f33f Merge pull request #8738 from AlexSCorey/8532-VaultIdsOnCredChips
Adds vault IDs to Vault credential chips

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-07 19:49:13 +00:00
softwarefactory-project-zuul[bot]
b0c3c2b16a Merge pull request #8654 from mabashian/8530-data-list-toolbar-ids
Swap underscores for hyphens in qs namespace strings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-07 19:12:44 +00:00
mabashian
dcd79cdb98 Swap underscores for hyphens in qs namespace strings 2021-01-07 13:19:05 -05:00
Alex Corey
1cd7f42a27 fixes broken link and adds test 2021-01-07 13:13:45 -05:00
softwarefactory-project-zuul[bot]
e1fb6542c3 Merge pull request #9002 from nixocio/ui_update_dep
Update dependencies

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-07 16:43:51 +00:00
Alex Corey
9cc3579189 Adds vault IDs to Vault credential chips 2021-01-07 11:39:57 -05:00
softwarefactory-project-zuul[bot]
c8594edc0b Merge pull request #9009 from chrismeyersfsu/purge_devel_settings
consolidate settings and delete dead settings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-07 15:56:11 +00:00
dejongm
8cae728ea0 Update defaults.py 2021-01-07 10:27:03 -05:00
mabashian
c0690cddc8 Display source workflow job when available on job details view 2021-01-07 09:32:59 -05:00
nixocio
a1b0fa252a Update dependencies
Update dependencies
2021-01-07 09:06:43 -05:00
softwarefactory-project-zuul[bot]
e640bde42c Merge pull request #9003 from AlexSCorey/8847-fix
Adds sync button to project details page

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-06 22:39:26 +00:00
Alex Corey
d1fcb96ee2 Adds sync button to project details page 2021-01-06 15:47:11 -05:00
softwarefactory-project-zuul[bot]
b6f032bf88 Merge pull request #8762 from marshmalien/setting-google-oauth2-edit-form
Add Google OAuth 2.0 setting edit form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-06 19:48:11 +00:00
softwarefactory-project-zuul[bot]
8e104417a6 Merge pull request #9008 from jbradberry/autobahn-cve
Update autobahn to address CVE-2020-35678

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-06 18:14:22 +00:00
softwarefactory-project-zuul[bot]
148e4ef10c Merge pull request #9017 from rh-dluong/fix-timeout-description
Changed task to job in job timeout description, fixes #9016

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-06 15:31:19 +00:00
dluong
3e8eb7f23e Changed task to job in job timeout description, fixes #9016 2021-01-06 09:52:48 -05:00
Jeff Bradberry
0eff06318f Update autobahn to address CVE-2020-35678 2021-01-05 13:44:05 -05:00
Chris Meyers
ad621a7da2 consolidate settings and delete dead settings 2021-01-05 13:02:25 -05:00
softwarefactory-project-zuul[bot]
96a7fe0035 Merge pull request #9005 from AlanCoding/assert_workflow_failure
Make workflow_job.assert_successful() give specifics

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-05 17:28:28 +00:00
softwarefactory-project-zuul[bot]
545119fb56 Merge pull request #9006 from ryanpetrello/pin-pip-tools-updater
pin pip-tools for now

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-05 16:15:11 +00:00
Ryan Petrello
f40ee7ca15 pin pip-tools for now
a new version of pip-tools changed the format of dependency annotations
in generated requirements.txt files

we should probably change to the new format at some point, but maybe
*after* we merge a few of our long-running branches that touch these
files (otherwise, managing conflicts could be pretty hellish)
2021-01-05 10:45:40 -05:00
softwarefactory-project-zuul[bot]
c6e61395f5 Merge pull request #9001 from chrismeyersfsu/fix-iso_manager_log
specify isolated_manager.log path

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-05 15:41:06 +00:00
Alan Rominger
d3c51ce75d Minor organization clarity for workflow failure summary 2021-01-05 10:33:35 -05:00
Alan Rominger
9a16e9f787 Condense logic for handling null job 2021-01-05 10:26:38 -05:00
Alan Rominger
d79b96b6cc Make workflow_job.assert_successful() give specifics 2021-01-05 10:15:32 -05:00
softwarefactory-project-zuul[bot]
b667162496 Merge pull request #8892 from AlexSCorey/8603-fix
Adds searchable keys and related keys to Credentials list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-05 15:14:43 +00:00
softwarefactory-project-zuul[bot]
72cab99cd7 Merge pull request #9000 from nixocio/ui_fix_contrib_docs
Small docs update

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-05 14:56:09 +00:00
Chris Meyers
474252dbff specify isolated_manager.log path
* By default, log files are created in the dir relative to the awx
source. For production, explicitly specify the log file path
2021-01-05 09:22:56 -05:00
nixocio
45e9bdcf86 Small docs update
Small docs update. Fix broken link, and update node version used.

See: https://github.com/ansible/awx/pull/8766/files
2021-01-05 09:16:44 -05:00
softwarefactory-project-zuul[bot]
f52b23f298 Merge pull request #8658 from mabashian/5683-created-modified-details
Move jt/wfjt created/modified details to the end right before the full width details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-04 22:49:40 +00:00
mabashian
0b3d9b026d Adds created/modified details to several areas 2021-01-04 16:17:46 -05:00
Alex Corey
1dbadca78e Adds searchable keys and related keys 2021-01-04 15:35:54 -05:00
softwarefactory-project-zuul[bot]
13861dee85 Merge pull request #8836 from chrismeyersfsu/sustaining-improve_iso_logging_devel
Sustaining improve iso logging devel

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-04 20:18:24 +00:00
mabashian
4ea757c91a Move jt/wfjt created/modified details to the end right before the full width details 2021-01-04 15:04:34 -05:00
softwarefactory-project-zuul[bot]
7e74f823f4 Merge pull request #8996 from robled/license_module_docs_fix
Fixed link to Content Hub in Tower module documentation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2021-01-04 16:54:15 +00:00
David Roble
e611a67be7 Fixed link to Content Hub in Tower module documentation
Signed-off-by: David Roble <droble@redhat.com>
2021-01-04 11:21:30 -05:00
softwarefactory-project-zuul[bot]
a98dfc978e Merge pull request #8980 from shanemcd/simplify-image-build
Simplify image build

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2021-01-04 15:47:58 +00:00
Shane McDonald
642e6f792c Remove unnecessary conditional from image build task 2020-12-29 19:14:16 -05:00
Shane McDonald
b857fb5074 Remove use_container_for_build from inventory 2020-12-29 19:14:05 -05:00
Shane McDonald
6f9862c72e Sweeping replace of old dev venv paths 2020-12-26 21:29:22 -05:00
Shane McDonald
1033c4d251 Explicitly run image_build and image_push on localhost 2020-12-26 13:16:42 -05:00
Shane McDonald
ab6430e50d Dramatically simplify image_build role
This does a few things:

- Removes need for awx_sdist_builder image
- Reorders Dockerfile steps to optimize image cache between prod and dev builds
- Unifies VENV_BASE and COLLECTION_BASE in prod and dev builds
2020-12-26 13:16:42 -05:00
Shane McDonald
8ceb505977 Add standalone target for rendering official Dockerfile
With the next commit it will be possible to run:

```
$ make Dockerfile
$ docker build .
```
2020-12-26 13:16:40 -05:00
Sean Sullivan
d9ca825935 Merge pull request #23 from ansible/devel
Rebase
2020-12-24 21:08:13 -05:00
softwarefactory-project-zuul[bot]
cb5c16918c Merge pull request #8928 from mabashian/8207-cancel-button-disable
Disable cancel button on jobs list when one or more selected jobs is not running

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-23 01:27:47 +00:00
softwarefactory-project-zuul[bot]
2a353a809b Merge pull request #8959 from jakemcdermott/fix-8884
Default to lang in catalog when browser preference unavailable

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-22 23:09:27 +00:00
softwarefactory-project-zuul[bot]
0b364b2918 Merge pull request #8972 from shanemcd/sorry-jake
Restore old behavior of ui-devel

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-22 22:58:17 +00:00
Shane McDonald
4219089166 Restore old behavior of ui-devel 2020-12-22 17:20:20 -05:00
Jake McDermott
8db88e979e Default to lang in catalog when browser preference unavailable
When strings aren't available for the browser's preferred locale,
default to one with strings to avoid displaying raw javascript
variables.
2020-12-22 15:36:33 -05:00
softwarefactory-project-zuul[bot]
3077cb9802 Merge pull request #8963 from marshmalien/8962-fix-output-navigation
Fix navigation bug in job output 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-22 20:16:01 +00:00
softwarefactory-project-zuul[bot]
70f7bd957d Merge pull request #8968 from shanemcd/refactor-image-build
Refactor official image build process

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-22 20:04:27 +00:00
Shane McDonald
f951aa24bf More sane way of building the official AWX image 2020-12-22 14:27:47 -05:00
Shane McDonald
225c3d6a39 Speed up subsequent invocations of ui-devel / ui-release 2020-12-22 14:27:45 -05:00
mabashian
8f8c4e6b7b Wrap permissions v. running tooltip contents so that they appear on different lines 2020-12-22 13:08:56 -05:00
mabashian
e4c708f458 Disable cancel button when one or more selected jobs is not running. Separate messaging for jobs that you don't have permission to cancel v. jobs that cannot be canceled because they aren't running. 2020-12-22 13:08:56 -05:00
softwarefactory-project-zuul[bot]
983d377a93 Merge pull request #8657 from mabashian/7816-user-role-empty-name
Display 'System' for user role resource name when summary_fields.resource_name not present

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-22 17:17:32 +00:00
softwarefactory-project-zuul[bot]
efcc1bf262 Merge pull request #8967 from shanemcd/less-config
Remove launch scripts from configmaps

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-22 14:50:51 +00:00
Shane McDonald
106d90aeb3 Remove launch scripts from configmaps
The duplication of these scripts has been bothering me for a while. They dont
get enough usage to justify their existence.
2020-12-22 09:12:03 -05:00
Marliana Lara
b695f583dd Fix job output loading state 2020-12-21 15:19:26 -05:00
softwarefactory-project-zuul[bot]
6d577feeba Merge pull request #8951 from robled/license_module_docs_fix
Added module prefix to awx license module example documentation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-18 21:13:08 +00:00
softwarefactory-project-zuul[bot]
f8edb6b4f6 Merge pull request #8912 from Saurabh-Thakre/patch-1
Update consumers.py

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-18 19:35:15 +00:00
softwarefactory-project-zuul[bot]
66b9a65a14 Merge pull request #8667 from mabashian/7522-survey-q-breadcrumb
Fix issue with broken survey question edit breadcrumb by altering the url scheme

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-18 18:55:39 +00:00
softwarefactory-project-zuul[bot]
5632f72bb1 Merge pull request #8729 from keithjgrant/6189-list-tables
Create PaginatedTable component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-18 17:44:43 +00:00
mabashian
4d448510b4 Fixes bug where navigating from one survey question form directly to another wasn't reloading the form. 2020-12-18 12:19:14 -05:00
mabashian
f44faf4e61 Fix issue with broken survey question edit breadcrumb by altering the url scheme 2020-12-18 12:19:14 -05:00
David Roble
3bd976bda9 Added module prefix to awx license module example documentation
Signed-off-by: David Roble <droble@redhat.com>
2020-12-18 11:58:27 -05:00
Jake McDermott
c8d471466c Resolve most console errors in tests 2020-12-18 11:34:39 -05:00
Jake McDermott
fa1ef87f20 Use location hook in routed tabs
Fix a unit test that is failing due to history.location
not updating as expected when a routed tab is selected.
2020-12-18 11:01:22 -05:00
Jake McDermott
f09120a973 Replace chip key with non-array index
Address a lint error (rule: react/no-array-index-key) by using
chip.key prop val instead of an array index for the component key.
2020-12-18 11:01:19 -05:00
Jake McDermott
6223a78ff4 Address errors from type system 2020-12-18 11:01:16 -05:00
Jake McDermott
d05ffd24f4 Regenerate lockfile 2020-12-18 11:01:10 -05:00
Keith Grant
ee1ed2aaa7 handle null values on inventories pending deletion
Co-authored-by: Jake McDermott <yo@jakemcdermott.me>
2020-12-17 11:29:45 -08:00
Keith Grant
a9d7fea86f flush out tests for PaginatedTable and related components 2020-12-17 11:29:45 -08:00
Keith Grant
204af9ec91 update tests for PaginatedTable lists 2020-12-17 11:29:45 -08:00
Keith Grant
9da636e294 table header cleanup; fix inventory status labels 2020-12-17 11:29:45 -08:00
Keith Grant
6a47899dbb simplify ActionsTd interface; add ActionItem component 2020-12-17 11:29:45 -08:00
Keith Grant
a8159273eb convert InventoryList to use PaginatedTable 2020-12-17 11:29:45 -08:00
Keith Grant
1816280a15 convert PaginatedTable to function component 2020-12-17 11:29:45 -08:00
Keith Grant
b9d3beaa7f add HeaderRow component with table sorting 2020-12-17 11:29:45 -08:00
Keith Grant
cfc4c3a1a7 add patternfly tables; add PaginatedTable 2020-12-17 11:29:45 -08:00
softwarefactory-project-zuul[bot]
e08e88d940 Merge pull request #8939 from mabashian/8937-org-tabs-requests
Wrap breadcrumb function in useCallback to prevent infinite requests on org tabs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-17 15:49:56 +00:00
softwarefactory-project-zuul[bot]
1937c0cc08 Merge pull request #8938 from jakemcdermott/fix-8936
Don't build job redirect until data available

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-17 15:24:40 +00:00
Jake McDermott
19f855717d Don't build redirect until data available 2020-12-17 09:45:44 -05:00
mabashian
82f6799c34 Wrap breadcrumb function in useCallback to prevent infinite requests on org tabs 2020-12-17 09:19:44 -05:00
Jake McDermott
d35732c4b7 Add missing slash to routing key 2020-12-17 09:15:10 -05:00
softwarefactory-project-zuul[bot]
793764283d Merge pull request #8683 from jakemcdermott/fix-8605
Avoid prop reference error when saving cred

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-16 22:27:25 +00:00
softwarefactory-project-zuul[bot]
fc8d2300af Merge pull request #8866 from jakemcdermott/fix-ldap-group-param-500
Fix 500 on unhandled group param type

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-16 22:02:46 +00:00
softwarefactory-project-zuul[bot]
846d2a0cbd Merge pull request #8908 from wenottingham/instance-karma
Flip the instance ID var for AWS to `instance_id`

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-16 22:00:03 +00:00
softwarefactory-project-zuul[bot]
7706ef415a Merge pull request #8706 from AlexSCorey/PreLinguiUpgrade
Pre-lingui upgrade 

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-12-16 21:46:31 +00:00
Jake McDermott
b2341408b9 Fix 500 on unhandled group param type 2020-12-16 16:06:29 -05:00
softwarefactory-project-zuul[bot]
a5e54c3858 Merge pull request #8780 from mabashian/7879-notif-copy-search
Add support for notification template copy and advanced search

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-16 20:39:52 +00:00
softwarefactory-project-zuul[bot]
7c96677510 Merge pull request #8922 from fosterseth/fix_move_deletion_to_utils
Move deletion.py to utils

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-16 20:02:08 +00:00
mabashian
3d03c473d6 Change Type to Notification type since this endpoint has both type and notification_type attributes. 2020-12-16 14:55:19 -05:00
Jake McDermott
5cb580be7a Refactor top-level template routes
* Fix repeated api calls from useEffect hook by wrapping the breadcrumb
setter with useCallback

* Rework the top-level routes to remove some old patterns and bring it more
into alignment with how it's done on the projects screen
2020-12-16 13:46:59 -05:00
softwarefactory-project-zuul[bot]
6900ded80b Merge pull request #8399 from AlexSCorey/5913-WFNODEPOL
Add WF Node Promptability

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-16 17:36:40 +00:00
Seth Foster
81dd54504e move custom deletion tool for cleanup jobs to utils 2020-12-16 11:14:33 -05:00
softwarefactory-project-zuul[bot]
1c0ac75782 Merge pull request #8920 from jakemcdermott/fix-lockfile
Generate package lock file with recent dependency updates

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-16 15:50:30 +00:00
Alex Corey
d82f68c88e moves some files to hooks in preparation for lingUI upgrade 2020-12-16 10:34:45 -05:00
mabashian
a345675a97 Cleanup handling of extra_vars in workflow node prompting 2020-12-16 09:46:00 -05:00
mabashian
d95373f2b7 Fixes bug where page would crash on preview step if extra vars was malformed 2020-12-16 09:46:00 -05:00
mabashian
6abc981a5e Wrap the sparkline down to the next line instead of overflowing 2020-12-16 09:46:00 -05:00
mabashian
0ac38ef5fc Fix run step title 2020-12-16 09:46:00 -05:00
mabashian
ca1e597a4d Adds blanket error handling to visualizer save process 2020-12-16 09:46:00 -05:00
mabashian
7a3382dd76 Fix initial multiplechoice survey question value when no default present. 2020-12-16 09:46:00 -05:00
mabashian
b7c729c96f Adds ID's to prompt wizard steps 2020-12-16 09:46:00 -05:00
mabashian
1be1fad610 Fixes display of multi-select survey question fields 2020-12-16 09:46:00 -05:00
Alex Corey
307c9eafb3 addresses missing name property and fixes tests 2020-12-16 09:46:00 -05:00
Alex Corey
7d5b198ce6 resloves outstanding issues 2020-12-16 09:46:00 -05:00
Alex Corey
72c6ff095f adds tests 2020-12-16 09:46:00 -05:00
Alex Corey
60751dfa16 adds edit functionality 2020-12-16 09:46:00 -05:00
Alex Corey
2545f14a93 refactoring for adding modal 2020-12-16 09:46:00 -05:00
Alex Corey
20231041e6 Adds Node Modal Promptability
Adds steps for NodeType, RunType, Inventory, Credentials, updates Reducers, adds API calls, adds Add functionality to Visualizer;

Adds other prompt step

Adds SurveyStep

refactors add node functionality
2020-12-16 09:45:59 -05:00
mabashian
a0afe0bdb7 Fix disabled prop on notification button 2020-12-16 09:20:30 -05:00
mabashian
e9a51c0bcc Fix casing on quick search labels 2020-12-16 09:20:12 -05:00
Jake McDermott
1321895e83 Generate package lock file with recent dependency updates 2020-12-16 09:17:49 -05:00
mabashian
d58b4807d9 Disable copy button while copy request is outstanding 2020-12-16 08:52:38 -05:00
Saurabh Thakre
dae1f8dc7f Update consumers.py
Caught a syntax issue at line number 78, modified the syntax to return correct value of nonce_diff.
2020-12-16 09:45:53 +05:30
softwarefactory-project-zuul[bot]
33c3a6d89b Merge pull request #8888 from jakemcdermott/fix-8856
Make display type unique for different job types and consistent between job list and details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-16 02:07:20 +00:00
softwarefactory-project-zuul[bot]
a756b4400a Merge pull request #8867 from nixocio/ui_schedules
Wrap functions in useCallback to avoid extra requests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-15 22:52:28 +00:00
softwarefactory-project-zuul[bot]
3f35ea66fb Merge pull request #8909 from mabashian/fix-test-warning
Fix console being thrown in Dashboard test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-15 22:46:15 +00:00
nixocio
4958a428ec Wrap functions in useCallback to avoid extra requests
Wrap functions in useCallback to avoid extra requests.
2020-12-15 17:14:36 -05:00
mabashian
ad20d6c93f Configure advanced search on notification templates list 2020-12-15 17:09:35 -05:00
mabashian
77da8c6994 Adds copy button to notification templates list rows 2020-12-15 17:09:35 -05:00
mabashian
a2d5d9e320 Display 'System' for user role resource name when summary_fields.resource_name not present 2020-12-15 17:07:49 -05:00
Jake McDermott
4033e0f218 Align display types for job list and details 2020-12-15 17:05:38 -05:00
Jake McDermott
1a4eab6f25 Use type field as key for job display type 2020-12-15 17:05:31 -05:00
Jake McDermott
7f89eb324a Fix key for adhoc command display type 2020-12-15 17:05:22 -05:00
mabashian
70b90dbb24 Fix console being thrown in Dashboard test 2020-12-15 17:01:55 -05:00
Bill Nottingham
a1934823ba Flip the instance ID var for AWS to instance_id
This is always returned by the plugin, ec2_id was what the old script returned.
2020-12-15 16:56:08 -05:00
softwarefactory-project-zuul[bot]
de0967a587 Merge pull request #8250 from jakemcdermott/session-timeout
Add session timeout support

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-15 20:56:34 +00:00
softwarefactory-project-zuul[bot]
3ae6ea9cdc Merge pull request #8877 from jakemcdermott/ws-proto
Support ws or wss proto

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-15 19:40:17 +00:00
softwarefactory-project-zuul[bot]
44df90686a Merge pull request #8887 from jakemcdermott/fix-8878
Use credential_type for multicred distinction

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-15 19:40:13 +00:00
softwarefactory-project-zuul[bot]
50d3b69629 Merge pull request #8899 from marshmalien/patternfly-upgrade
Upgrade PatternFly dependencies

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-15 19:36:49 +00:00
softwarefactory-project-zuul[bot]
bbcf12b4fc Merge pull request #8891 from AlexSCorey/8817-fix
Fix misnamed webhook field

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-15 18:50:24 +00:00
softwarefactory-project-zuul[bot]
f66485ff12 Merge pull request #8886 from jakemcdermott/make-readme-updates
More readme and makefile updates

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-12-15 17:05:36 +00:00
softwarefactory-project-zuul[bot]
a98fe1955a Merge pull request #8900 from ansible/jakemcdermott-patch-instructions
Update wording of getting started section

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-15 16:46:16 +00:00
Alex Corey
d31851820a Fixes mis labeled HHTP field 2020-12-15 11:31:28 -05:00
Jake McDermott
3398452197 Update wording of getting started section 2020-12-14 19:22:13 -05:00
Jake McDermott
487bf50544 Don't display a negative time
If the remaining session time dips below 0 imediately before auto-
logout, ceil the display value to 0 to avoid showing negative
seconds left.
2020-12-14 17:05:47 -05:00
Jake McDermott
997200dd19 Unchunkify session warning string 2020-12-14 17:05:39 -05:00
Jake McDermott
aa048049ea Add logout button, remove close button 2020-12-14 17:05:36 -05:00
Jake McDermott
d7949e3db9 Clamp timeout to maximum allowed by js 2020-12-14 17:05:32 -05:00
Jake McDermott
838a3822a5 Debounce storage calls on http intercept 2020-12-14 17:05:28 -05:00
Jake McDermott
5ccee4aea2 Add session timeout support
Intercept all http(s) responses and store expiration time from headers
in local storage. Drive expiration timers in app container across all
tabs with browser storage events and accompanying react hooks
integration. Show a warning with logout countdown and continue button
when session is nearly expired.
2020-12-14 17:05:18 -05:00
Marliana Lara
ae38c11211 Upgrade PatternFly dependencies 2020-12-14 16:44:25 -05:00
softwarefactory-project-zuul[bot]
3b2ff25f3c Merge pull request #8803 from marshmalien/8699-wf-notifications-approval-toggle
Show WFJT notification list approval toggle 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-14 19:57:34 +00:00
softwarefactory-project-zuul[bot]
4c36183343 Merge pull request #7255 from unlikelyzero/instrumented
Add cypress black box code cov instrumentation to ui_next 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-14 16:42:06 +00:00
Jake McDermott
d88ba5873b Use credential_type for multicred distinction 2020-12-14 10:11:42 -05:00
Jake McDermott
8b32b61072 More readme and makefile updates
* Set log levels for build commands
* Add locale build dirs to cleanup commands
* Move container dev environment build section closer to top of readme
2020-12-14 08:53:03 -05:00
VGU
14f2803ea7 Add 'Region Name' label for openstack credential 2020-12-13 20:20:47 +01:00
VGU
8153d60a5f Rollback to origin file 2020-12-13 20:15:12 +01:00
VGU
e35f1afd57 Fix lint 2020-12-13 19:05:29 +01:00
VGU
bfb00aecbe Add project_region_name input 2020-12-13 18:57:13 +01:00
VGU
06fa2a9e26 Add test_openstack_client_config_generation_with_project_region_name test 2020-12-13 18:56:20 +01:00
Jake McDermott
2cd9a05329 Support ws or wss proto 2020-12-11 19:22:37 -05:00
softwarefactory-project-zuul[bot]
058cfc55a6 Merge pull request #8875 from ansible/jakemcdermott-add-make-to-readme
Add make target info to readme

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-11 22:33:40 +00:00
Jake McDermott
4be9008821 Add make target info to readme 2020-12-11 16:33:36 -05:00
softwarefactory-project-zuul[bot]
e5436a0147 Merge pull request #8833 from AlanCoding/is_superuser
Sync the is_superuser flag when the members relationship changes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-11 20:42:40 +00:00
John Hill
6e4c3b9a51 New Instrumented script, package, and ignored files 2020-12-11 16:20:19 -03:00
softwarefactory-project-zuul[bot]
13cadbc779 Merge pull request #8868 from jakemcdermott/deps-autofix-12-11
Autofix problematic dependency

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-11 17:40:07 +00:00
Jake McDermott
9687c09108 Autofix problematic dependency 2020-12-11 12:06:47 -05:00
softwarefactory-project-zuul[bot]
4376365931 Merge pull request #8841 from nixocio/ui_a11y
Upgrade jsx-a11y plugin

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-11 16:49:59 +00:00
softwarefactory-project-zuul[bot]
6c59111e6c Merge pull request #8862 from ansible/jakemcdermott-update-readme
Update readme requirements

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-11 16:12:18 +00:00
softwarefactory-project-zuul[bot]
d72f8eaf2c Merge pull request #8684 from mabashian/8666-app-token-modal
Show modals with app/token info after creation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-11 13:52:26 +00:00
Jake McDermott
a0ce1350ec Update readme requirements 2020-12-10 22:17:34 -05:00
Will Haines
fc2a2e538f Enabled jinja2.ChainableUndefined for custom webhook notifications
Signed-off-by: Will Haines <william.haines@colorado.edu>
2020-12-10 18:06:59 -07:00
nixocio
ff78156945 Upgrade jsx-a11y plugin
Upgrade jsx-a11y plugin. Also enable strict rules.

See: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y

See: https://github.com/ansible/awx/issues/8443
2020-12-10 16:18:08 -05:00
Chris Meyers
32ad6cdea6 enable iso logger
* The namespace for isolated logging was not enabled. Add a handler and
logger so that it's enabled. This is particularly useful when the
logging level is switched to DEBUG
2020-12-10 15:22:14 -05:00
Chris Meyers
566913fcec log time it took to run check_isolated.yml
* Knowing how long check_isolated.yml ran can be helpful in debuging the
isolated execution path. Especially if you suspect the connection speed
or reliability of the control node -> execution node
2020-12-10 15:05:27 -05:00
Chris Meyers
d39d4d9a9e add job id to iso management playbook output
* It's hard/impossible to know what job a check_isolated.yml playbook
runs for by just looking at the logs.
* Forward the job id for which an iso management playbook is running for
and output that job id so it can be found in the logs.
2020-12-10 15:05:20 -05:00
Chris Meyers
daeba1a898 output timing data for isolated playbook runs
* We batch logging isolated management playbook output. This results in
the timestamp of the log being useless when trying to determine when
each task in the playbook ran.
* To fix this, we enable timestamp logging at the playbook level via
ansible `profile_tasks` callback plugin.
2020-12-10 15:04:55 -05:00
Alan Rominger
da3e521566 Fix the reverse association and edge cases 2020-12-10 14:36:53 -05:00
Alan Rominger
d27afe9691 Small tweaks to logic to make is_superuser change take effect 2020-12-10 13:59:46 -05:00
softwarefactory-project-zuul[bot]
9bf721665d Merge pull request #8723 from ryanpetrello/bump-16
Bump version to 16.0.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-10 17:39:28 +00:00
Rebeccah
ee111be261 move away from signals towards the origin of the POST to see if I can impact the data sent within the POST so that it can impact the User model, this may not work because the POST is related only to the Roles model 2020-12-10 12:26:31 -05:00
Rebeccah
b3f15a1e61 added function in signals to corroborate the RBAC to the database, prior it was only corroborating from the DB to RBAC and we need both ways 2020-12-10 12:26:31 -05:00
Ryan Petrello
5f6a383ebe Bump version to 16.0.0 2020-12-10 12:12:51 -05:00
softwarefactory-project-zuul[bot]
871b862731 Merge pull request #8799 from jakemcdermott/fix-8355-part0
Place some initial files for migration view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-10 16:31:28 +00:00
softwarefactory-project-zuul[bot]
851f7b4c7e Merge pull request #8812 from gamuniz/change_galaxy_token_logger_warning
log galaxy token message as warning

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-10 16:22:13 +00:00
softwarefactory-project-zuul[bot]
c78a50b44d Merge pull request #8728 from mabashian/social-auth
Adds support for GitHub, Azure AD, Google and SAML auth to the UI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-10 16:13:56 +00:00
Jake McDermott
704029459f Place some initial files for migration view
This restores some of the original files and routes from the migration
view of the classic ui with the eventual goal of fully reintegrating this
system with the new ui.

See: b39db745d4
2020-12-10 11:00:43 -05:00
Gabe Muniz
b78cacb4d8 log galaxy token message as warning 2020-12-10 10:36:02 -05:00
softwarefactory-project-zuul[bot]
4c5757b3bd Merge pull request #8754 from ryanpetrello/strict-csp
Introduce a strict Content-Security-Policy

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-10 15:32:53 +00:00
Jake McDermott
ca2f67e0a9 FFox ESR 78 Compatibility 2020-12-10 09:39:25 -05:00
Marliana Lara
ccd39a60db Show workflow template notification list approval toggle 2020-12-09 15:25:26 -05:00
mabashian
889eb2331c Adds support for GitHub, Azure AD, Google and SAML auth to the UI 2020-12-08 17:28:03 -05:00
softwarefactory-project-zuul[bot]
8e46166313 Merge pull request #8790 from rooftopcellist/quantity_not_exported
Aggregate quantity per sub allocation, not exported

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-08 21:52:49 +00:00
Christian M. Adams
b81f082a18 Aggregate quantity per sub allocation, not exported
* The exported field shows total quantity exported to a manifest for a given sub.  We want to sum the quantities of each sub allocation in a manifest instead.
2020-12-08 16:23:43 -05:00
nixocio
51b18aa012 Fix JobEvent tests
Fix JobEvent tests
2020-12-08 14:49:26 -05:00
mabashian
86d289c375 Adds dataCy id's to app/token details 2020-12-08 14:26:36 -05:00
softwarefactory-project-zuul[bot]
5e51dd2ff7 Merge pull request #8787 from shanemcd/remove-fsgroup-hack
Remove fsgroup hack

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-08 19:20:26 +00:00
mabashian
f2c86cc962 Fix tests after delete button cleanup 2020-12-08 14:12:57 -05:00
mabashian
97837a05e6 Add messaging that certain fields are only available in success modal 2020-12-08 13:54:58 -05:00
mabashian
1a270bfc8b Removes token edit button from details. Removes unnecessary request/props that were used to determine whether a user could delete a token. 2020-12-08 13:38:55 -05:00
Jake McDermott
15704e55e1 Move INLINE_RUNTIME_CHUNK flag to scripts definition
We _always_ want INLINE_RUNTIME_CHUNK to be false when building the ui,
even if someone happens to unexpectedly make a production build without
using the top-level make targets for some reason.
2020-12-08 13:26:10 -05:00
Jake McDermott
b3266f6c62 Avoid prop reference error in test 2020-12-08 13:26:07 -05:00
Jake McDermott
c120b731a4 Add global mock for webpack csp var 2020-12-08 13:26:05 -05:00
Jake McDermott
ab61675c2d Add system for strict-csp stdout html generation 2020-12-08 13:26:02 -05:00
Jake McDermott
548ebd5999 Add w3c-compliant reporting for CSP violations 2020-12-08 13:25:59 -05:00
Jake McDermott
12077627e4 Integrate CSP config with frontend framework 2020-12-08 13:25:56 -05:00
Ryan Petrello
3d5f28f790 Introduce a strict Content-Security-Policy 2020-12-08 13:25:46 -05:00
mabashian
f7a51fe658 Change Name strings to Application name in user token search/sort dropdowns 2020-12-08 13:15:48 -05:00
mabashian
920eda9999 Show token/refresh token/expires in modal after successful token add 2020-12-08 13:15:48 -05:00
mabashian
957ab9bf7c Show client id/secret in modal after successful application add 2020-12-08 13:15:48 -05:00
Shane McDonald
8788c904c8 Revert: Force containers in k8s to run under root group
This reverts most of:
423df6618d

Since https://github.com/sclorg/redis-container/pull/62 is now shipped downstream
2020-12-08 13:06:00 -05:00
Shane McDonald
e85a32d463 Fix typo in deployment template 2020-12-08 13:00:14 -05:00
Jake McDermott
05ae6df80b Avoid prop reference error when saving cred 2020-12-08 10:36:06 -05:00
softwarefactory-project-zuul[bot]
be08e0ce69 Merge pull request #8766 from Spredzy/bump_to_nodejs14
NodeJS: Bump to actively maintained LTS 14.15.1

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-08 15:30:26 +00:00
softwarefactory-project-zuul[bot]
3aba1e9db5 Merge pull request #8614 from jctanner/COLLECTION_PLAYBOOK_STATS
analytics: include modified column and full event_data for playbook_on_stats

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-08 13:08:41 +00:00
softwarefactory-project-zuul[bot]
4992fed5a3 Merge pull request #8770 from rooftopcellist/sat_include_port
Read in and use the Sat port if applicable for Subscriptions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-07 21:41:41 +00:00
Marliana Lara
8d6a6198dc Add Google OAuth 2.0 setting edit form 2020-12-07 15:33:00 -05:00
Christian M. Adams
aa7514a993 Read in and use the Sat port if applicable for Subscriptions 2020-12-07 13:59:58 -05:00
softwarefactory-project-zuul[bot]
ea8ebe8a9f Merge pull request #8619 from mabashian/login-functional
Convert Login.jsx to functional component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-07 17:57:03 +00:00
mabashian
7ff82db691 Fix login after source variables change 2020-12-07 12:26:39 -05:00
mabashian
8a8bfc5176 Convert Login.jsx to functional component in preparation for social auth integration 2020-12-07 12:26:39 -05:00
Yanis Guenane
14685b9157 NodeJS: Bump to actively maintained LTS 14.15.1 2020-12-07 18:14:35 +01:00
softwarefactory-project-zuul[bot]
87e564026e Merge pull request #8775 from rooftopcellist/powertools
Fix image build - powertools repo ref changed

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-07 16:53:39 +00:00
Christian M. Adams
8795d860d6 Fix image build - powertools repo ref changed 2020-12-07 11:08:00 -05:00
softwarefactory-project-zuul[bot]
d14fa93ce9 Merge pull request #8758 from hjkatz/patch-7
Use literal quotation marks for Kubernetes annotations instead of quo…

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 20:03:33 +00:00
softwarefactory-project-zuul[bot]
e7090a6f8a Merge pull request #8757 from hjkatz/patch-6
Add kubernetes_pod_annotations to management-pod.yml.j2

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 19:38:17 +00:00
Harrison Katz
b6b87aea76 Use literal quotation marks for Kubernetes annotations instead of quote filter 2020-12-04 14:34:08 -05:00
softwarefactory-project-zuul[bot]
e6d1810844 Merge pull request #8756 from hjkatz/patch-5
Fix typo for kubernetes_service_account_annotations variable

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 19:33:49 +00:00
Harrison Katz
720e8055f8 Add kubernetes_pod_annotations to management-pod.yml.j2 2020-12-04 14:08:55 -05:00
Harrison Katz
182ff3464e Fix typo for kubernetes_service_account_annotations variable 2020-12-04 14:02:51 -05:00
softwarefactory-project-zuul[bot]
973c9d313e Merge pull request #8751 from hjkatz/patch-4
Separate Kubernetes Ingress TLS spec from backend spec

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 17:03:26 +00:00
softwarefactory-project-zuul[bot]
a89a683eb4 Merge pull request #8733 from balonik/no-preload-data
make preload data optional again

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 15:59:12 +00:00
softwarefactory-project-zuul[bot]
52646362c3 Merge pull request #8747 from hjkatz/patch-3
Add Kubernetes Service support for annotations

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 15:53:39 +00:00
softwarefactory-project-zuul[bot]
8a433f30e4 Merge pull request #8746 from hjkatz/patch-2
Add quotes to kubernetes annotations

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 15:53:35 +00:00
softwarefactory-project-zuul[bot]
496eea9647 Merge pull request #8743 from hjkatz/patch-1
Remove duplicate spec key from Ingress for kubernetes template

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 15:53:30 +00:00
Harrison Katz
6ab3d5301c Separate Kubernetes Ingress TLS spec from backend spec 2020-12-04 10:50:49 -05:00
softwarefactory-project-zuul[bot]
d93d0f00ee Merge pull request #8721 from rooftopcellist/remove_available_instance
Remove redundant available_instances field

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 15:45:29 +00:00
softwarefactory-project-zuul[bot]
4cc947d65d Merge pull request #8722 from jakemcdermott/fix-8695
Handle prompted inventory without value on schedules

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-04 14:33:58 +00:00
Harrison Katz
8b4b54d2c4 Add Kubernetes Service support for annotations 2020-12-03 18:36:02 -05:00
Harrison Katz
701deb2268 Add quotes to kubernetes annotations 2020-12-03 18:28:50 -05:00
Harrison Katz
85adc4a0ab Remove duplicate spec key from Ingress for kubernetes template 2020-12-03 18:18:18 -05:00
softwarefactory-project-zuul[bot]
9fc5579a50 Merge pull request #8737 from nixocio/ui_fix_select_translation
Add string to translation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-03 17:05:36 +00:00
softwarefactory-project-zuul[bot]
7faf9c6267 Merge pull request #8624 from nixocio/ui_issue_8620
Hide instance group for Inventory Details if the data is not available

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-03 13:24:05 +00:00
nixocio
8cb9341d8f Add string to translation
Add string to translation.
2020-12-02 16:42:15 -05:00
softwarefactory-project-zuul[bot]
8e024c234c Merge pull request #8732 from AlanCoding/save_the_hg
Change to manual instead of deleting hg projects

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-02 15:56:37 +00:00
JAKUBIS Peter H50R8VA
a5f676c3e1 make preload data optional again
Signed-off-by: JAKUBIS Peter H50R8VA <peter.jakubis@erstegroup.com>
2020-12-02 16:17:25 +01:00
Alan Rominger
99f3825826 Change to manual instead of deleting hg projects 2020-12-02 09:08:18 -05:00
softwarefactory-project-zuul[bot]
29926ba5d9 Merge pull request #8727 from AlanCoding/mercury_drops
Remove mercurial support

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-01 22:11:42 +00:00
Alan Rominger
db9fbf1493 Add log for the case that hg projects were deleted 2020-12-01 15:53:55 -05:00
Alan Rominger
590d64f40e Remove hg updates and projects in migration 2020-12-01 15:38:40 -05:00
Alan Rominger
64fa18cafe Run the UI prettier tool for CI fix 2020-12-01 14:49:49 -05:00
Alan Rominger
634df240ed Attempt to fix UI test with hg,svn replacement 2020-12-01 14:25:11 -05:00
Alan Rominger
44e6e9344b Remove mercurial support 2020-12-01 14:06:34 -05:00
nixocio
4b5b95a0f8 Hide instance group for Inventory Details if the data is not available
Hide instance group for Inventory Details if the data is not available.
This is the the same approach used in other details screens.

See: https://github.com/ansible/awx/issues/8620
2020-12-01 13:10:24 -05:00
softwarefactory-project-zuul[bot]
f5e1f2ed14 Merge pull request #8710 from wenottingham/herein-lies-the-extent-of-my-radius-knowledge
Remove old radius library from requirements

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-01 18:07:35 +00:00
softwarefactory-project-zuul[bot]
c232289323 Merge pull request #8534 from tapled/update-helm-chart-location
Updated Helm Chart Location

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-01 17:07:46 +00:00
Jake McDermott
db8c56caf4 Handle prompted inventory without value on schedules 2020-12-01 11:53:19 -05:00
Christian M. Adams
8e66172ed4 Remove redundant available_instances field 2020-12-01 11:20:21 -05:00
softwarefactory-project-zuul[bot]
62be4defa2 Merge pull request #8719 from ryanpetrello/tzid-support
correct a note about TZID support

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-01 14:58:28 +00:00
softwarefactory-project-zuul[bot]
cb590be095 Merge pull request #8718 from chrismeyersfsu/fix-inv_migration
add missing imports

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-01 14:49:07 +00:00
Ryan Petrello
72c3339719 correct a note about TZID support 2020-12-01 09:10:03 -05:00
softwarefactory-project-zuul[bot]
7ca35634a7 Merge pull request #8633 from marshmalien/refactor-project-functional
Fix notification list toolbar filter keys and convert Project/* to functional components

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-12-01 13:52:22 +00:00
Chris Meyers
4ab4f2f8f9 add missing imports 2020-12-01 08:40:18 -05:00
Marliana Lara
3e64e8225a Add ouiaIds to Select component 2020-11-30 16:13:35 -05:00
softwarefactory-project-zuul[bot]
b65d9ede81 Merge pull request #8323 from AlanCoding/prepare_your_containers
Refactor to hook in programmatic use of inventory import saving-to-DB code

Reviewed-by: Jim Ladd
             https://github.com/jladdjr
2020-11-30 20:41:58 +00:00
Bill Nottingham
12edbdab11 Remove old radius library from requirements
If it's not required by django-radius, we probably don't need it.
2020-11-30 15:12:52 -05:00
softwarefactory-project-zuul[bot]
fcdb38469b Merge pull request #8700 from jerosa/patch-1
Add Git-LFS to build image

Reviewed-by: Bill Nottingham
             https://github.com/wenottingham
2020-11-30 19:40:06 +00:00
Alan Rominger
900127fde7 Fix bug in inventory update canceling 2020-11-30 14:39:02 -05:00
softwarefactory-project-zuul[bot]
ffb2198eab Merge pull request #8594 from nixocio/ui_issue_8276
Mark organization as a required field for Galaxy crendentials

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-30 18:44:56 +00:00
softwarefactory-project-zuul[bot]
503a753241 Merge pull request #8672 from wenottingham/if-you-are-sneakerneting-does-it-become-a-pedifest
Allow combining multiple subscriptions if they are in a manifest.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-30 18:30:11 +00:00
Alan Rominger
7734def856 Fix inventory log timestamp, organize logging code
The fixes and issue where the timestaps in the stdout for
inventory updates gave the time since the start of the dispatcher
instead of the time since the start of the update.

This commit also moves the handler into the utils module where
other custom AWX handlers live, instead of tasks.py
this is to keep tasks.py relatively clean, as best as possible
2020-11-30 11:36:16 -05:00
Alan Rominger
d6e84b54c9 Some fixes for line numbering, and fixes for license error handling (#8)
* Change handling of error cases to global post_run_hook
* handle license errors correctly again
* Fix some issues with line ordering from the custom logger thing
* Remove debug log statement
* Use PermissionDenied for license errors
* More elegant handling of line initialization

Update tests to new exception type

Catch all save errors, fix timing offset bug

Fix license error handling inside import command
2020-11-30 11:35:33 -05:00
Alan Rominger
ec93af4ba8 Not all license errors are caught, do not assume they are 2020-11-30 11:35:32 -05:00
Jim Ladd
197d50bc44 patch test_inventory_update_injected_content
* proot now enabled at task-level
  since tasks are no longer calling
  awx-manage (which would set up its own proot)
* dropping proot env var since it's not
  relevant to the test
2020-11-30 11:35:32 -05:00
Jim Ladd
5ad60a3ed4 use inventory_id to get advisory_lock 2020-11-30 11:35:32 -05:00
Jim Ladd
38638b4a6b add note to remove private_dir when proot removed 2020-11-30 11:35:32 -05:00
Jim Ladd
232801e0ba cache end_line for RunInventoryUpdate jobs 2020-11-30 11:35:32 -05:00
Jim Ladd
d55f36eb90 add clarifying comment
* noting that the inv update task only uses the
  inventory update management command to
  save the inv to the database
  (it doesn't do the work of fetching hosts / groups)
2020-11-30 11:35:31 -05:00
Jim Ladd
277c47ba4e add TODO reminders to remove proot / venv code
* won't be needed once we move to container-based
  execution
2020-11-30 11:35:31 -05:00
Jim Ladd
12cbc9756b inventory updates should use custom venv 2020-11-30 11:35:31 -05:00
Jim Ladd
72df8723f6 lint 2020-11-30 11:35:31 -05:00
Jim Ladd
a8710bf2f1 restore proot for inventory updates
- in the past, inv. update jobs called `awx-manage inventory_update`
  which took care of setting up process isolation
- at this point, though, inv. update jobs call runner / ansible-inventory
  directly, so we need another way to put process isolation in place
- thankfully, there was already support for providing process isolation
  for other types of jobs (namely JT Jobs, Project Updates and Ad Hoc
  commands)
- so, we do what those other jobs do and override the stub for should_use_proot
  (which by default returns false) so that it keys off of the
  `AWX_PROOT_ENABLED` setting
2020-11-30 11:35:31 -05:00
Jim Ladd
4bdc488fe7 restore proot code
* add TODOs to note where proot-related code
  can be removed in the future
  (after moving to container-based execution)
2020-11-30 11:35:31 -05:00
Jim Ladd
9633714c49 create lock for perform_update
* perform_update can be called from either awx-manage
  or the RunInventoryUpdate task
* need to make sure that the inventory updates
  that happen with perform_update are atomic
2020-11-30 11:35:31 -05:00
Shane McDonald
66bdcee854 Address rebase fallout 2020-11-30 11:35:31 -05:00
Shane McDonald
e61f79c8c3 Fix tests 2020-11-30 11:35:30 -05:00
Alan Rominger
96fc38d182 Swap in-memory logger to write stdout in post_save_hook
This commit makes the needed changes to inventory update
post_save_hook logic so that the historic log lines that
inventory updates write will be written to stdout,
but this hack bypasses the ansible-runner verbose event
logic and dispatches verbose events directly.

Fix the venv application with the ansible-inventory system
(note: much of this is undone in a later commit)

Deal with some minor test updates for
the ansible-inventory interface changes
2020-11-30 11:32:26 -05:00
Alan Rominger
ae9ae14e5a Migrate inventory CLI options to programatic interface
POC, successfully importing with this commit

Attempt to surface saving related errors as a part of that
2020-11-30 11:31:38 -05:00
Alan Rominger
39fa70c58b Start on refactor to hook in inventory programatic use 2020-11-30 11:28:49 -05:00
nixocio
4f132e302f Mark organization as a required field for Galaxy crendentials
Mark organization as a required field for Galaxy credential type.

See: https://github.com/ansible/awx/issues/8276
2020-11-30 11:27:06 -05:00
softwarefactory-project-zuul[bot]
a45f586599 Merge pull request #8655 from mabashian/8606-adhoc-detail-cred
Display machine credential in job details when present

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-30 14:09:28 +00:00
softwarefactory-project-zuul[bot]
170e64070b Merge pull request #8659 from mabashian/7989-group-action-buttons
Hide edit/delete buttons on group details view for users that don't have permissions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-30 13:37:35 +00:00
jerosa
7e0d2aabbd Add Git-LFS to build image 2020-11-28 14:13:59 +01:00
softwarefactory-project-zuul[bot]
ff3f5fd529 Merge pull request #8628 from nixocio/ui_issue_7681
Hide sync icon for smart inventory rows in Inventory List

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-27 21:21:30 +00:00
Bill Nottingham
52db0bf0c0 Allow combining multiple subscriptions if they are in a manifest.
The rules:
- subs must be of same SKU type (all MCTxxxx, all SERxxxx, etc)
- when combining, we take the earliest end date
2020-11-25 17:03:12 -05:00
softwarefactory-project-zuul[bot]
1e66a977c7 Merge pull request #8375 from mabashian/workflow-approvals
Adds workflow approval list and details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-25 21:09:04 +00:00
softwarefactory-project-zuul[bot]
1b233aa8cc Merge pull request #8682 from jakemcdermott/fix-8669
Only display inventory file for scm sources

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-25 17:01:55 +00:00
Jake McDermott
294b9c8910 Only display inventory file for scm sources 2020-11-25 11:02:07 -05:00
softwarefactory-project-zuul[bot]
6f43784c47 Merge pull request #8671 from AlanCoding/weird_fail
Avoid copies made from failed updates

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-25 15:58:51 +00:00
softwarefactory-project-zuul[bot]
9921887ce8 Merge pull request #8679 from AlanCoding/text_soup
Apply more rigor to asserting text in stdout

Reviewed-by: awxbot
             https://github.com/awxbot
2020-11-25 15:49:29 +00:00
sean-m-sullivan
bbed8ec704 add update to tower project 2020-11-25 09:36:03 -06:00
Alan Rominger
501cf297df Apply more rigor to asserting text in stdout 2020-11-25 10:04:48 -05:00
Sean Sullivan
318274c70f Merge pull request #22 from ansible/devel
Rebase
2020-11-25 09:36:11 -05:00
softwarefactory-project-zuul[bot]
169f55c908 Merge pull request #8668 from jakemcdermott/zuul-updates-ship-ui-next
Remove *-next make targets

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-24 21:24:19 +00:00
Jake McDermott
c0d8474ac6 Undo staged locale changes after devel build 2020-11-24 15:39:54 -05:00
Alan Rominger
44949b73cf Avoid copies made from failed updates 2020-11-24 15:33:44 -05:00
softwarefactory-project-zuul[bot]
b55c5f7de2 Merge pull request #8612 from fosterseth/fix-8501_delete_workflow_app_temp_500
Allow deletion of workflow approval template

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-24 19:07:10 +00:00
Jake McDermott
ef27ebfed8 Remove *-next make targets 2020-11-24 13:58:19 -05:00
Seth Foster
a66eca82c2 can delete approval node 2020-11-24 12:27:42 -05:00
softwarefactory-project-zuul[bot]
7248e2c6d0 Merge pull request #8607 from ansible/ship-ui-next
Ship the new ui

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-24 16:48:21 +00:00
mabashian
24f3499bd9 Hide edit/delete buttons on group details view for users that don't have permissions 2020-11-23 16:20:24 -05:00
softwarefactory-project-zuul[bot]
a50034be3c Merge pull request #8651 from wenottingham/not-any-more
Clean up some old sourve var settings in unit tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-23 20:34:52 +00:00
softwarefactory-project-zuul[bot]
470db2bc91 Merge pull request #8588 from nixocio/ui_async
Update usage of useDeleteItems

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-23 20:27:53 +00:00
Jake McDermott
02021fe2c9 Source variables provided at build time 2020-11-23 15:14:55 -05:00
softwarefactory-project-zuul[bot]
4882ca0481 Merge pull request #8643 from AlexSCorey/8642-InventoryonWFJTForm
Inventory Lookup on WFJT Form should not be required

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-23 18:57:22 +00:00
Jake McDermott
526a4c303f Include awx logos for official installs 2020-11-23 13:52:25 -05:00
softwarefactory-project-zuul[bot]
bb5f494fbd Merge pull request #8626 from nixocio/ui_minor_strings_update
Add minor update to strings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-23 18:24:21 +00:00
Jake McDermott
c81bc60a33 Source default login logo from static files 2020-11-23 13:22:45 -05:00
Jake McDermott
a28c44e509 Source header logo from static files 2020-11-23 13:22:38 -05:00
Jake McDermott
27219d34eb Remove vestigal django stuff for old ui 2020-11-23 13:22:34 -05:00
Jake McDermott
f49e4a646f Remove legacy make targets 2020-11-23 13:22:30 -05:00
Jake McDermott
b699864f00 remove classic ui 2020-11-23 13:22:25 -05:00
Jake McDermott
abaeec40ae Ship the new ui with awx installation and builds 2020-11-23 13:22:12 -05:00
mabashian
f81f6cf114 Remove fullWidth prop from machine credential detail field as it's not needed 2020-11-23 11:45:59 -05:00
mabashian
81bccc1c7f Display machine credential in job details when present 2020-11-23 11:41:07 -05:00
nixocio
e23b47b997 Add minor update to strings
Add minor update to strings. And adjust the usage of `toTitleCase` to
dynamic strings.
2020-11-23 09:29:20 -05:00
nixocio
faec21ed08 Update usage of useDeleteItems
* Update usage of useDeleteItems.
* Remove async when not necessary
* Update return of promises
2020-11-23 09:15:23 -05:00
softwarefactory-project-zuul[bot]
1deb4ff5e4 Merge pull request #8472 from marshmalien/setting-misc-system-forms
Add setting "system" category forms and tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-20 22:49:55 +00:00
Bill Nottingham
13788c4568 Clean up some old sourve var settings in unit tests
Also if you want to use assert, use assert.
2020-11-20 16:32:47 -05:00
softwarefactory-project-zuul[bot]
69b818ff83 Merge pull request #8587 from nixocio/ui_issue_8548
Add updates related to smart inventories

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-20 15:19:48 +00:00
nixocio
a8400e4b7c Add updates related to smart inventories
Add updates related to smart inventories.

* Add popover for `Smart host filter`.
* Add popover for `Instance Groups` on Smart Inventory screen.
* Rename `Host filter` to `Smart host filter` per mockup.
* Add inventory as part of dynamic host filter.

See: https://github.com/ansible/awx/issues/8581
Also: https://github.com/ansible/awx/issues/8548
2020-11-19 17:17:23 -05:00
nixocio
9141e789aa Hide sync icon for smart inventory rows in Inventory List
Hide sync icon for smart inventory rows in Inventory List

See: https://github.com/ansible/awx/issues/7681
2020-11-19 17:12:02 -05:00
Alex Corey
60ccdfa4e6 removes asterisk from wfjt form inventory field 2020-11-19 14:33:55 -05:00
Marliana Lara
0d7f7df043 Update failed project sync error message 2020-11-19 14:32:42 -05:00
softwarefactory-project-zuul[bot]
b6a55e53d5 Merge pull request #8622 from mabashian/nav-expanded
Fix nav console error

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-19 17:39:25 +00:00
Marliana Lara
1a33f7ce1a Fix notification template type search query key 2020-11-18 16:00:02 -05:00
softwarefactory-project-zuul[bot]
f22fa9c5b0 Merge pull request #8617 from AlanCoding/valid_groups
Avoid invalid group characters in default inventory script factory

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-18 20:26:28 +00:00
James Tanner
3e7554974a set a column name so it doesnt end up as "case" 2020-11-18 12:12:29 -05:00
mabashian
d3928a0c0f Get rid of onExpand but keep isExpanded on side nav 2020-11-18 11:34:54 -05:00
James Tanner
153a1ecd39 bump minor 2020-11-18 11:30:48 -05:00
James Tanner
d6f9c5a0b6 get the modified column too 2020-11-18 11:28:22 -05:00
Marliana Lara
2f47bacb4f Convert project/* components into functional components 2020-11-18 10:54:38 -05:00
Alan Rominger
91eff51390 Avoid invalid group characters in default inventory script factory 2020-11-18 10:16:08 -05:00
James Tanner
9cf294f3d7 implement ryanp suggestion 2020-11-18 09:57:22 -05:00
softwarefactory-project-zuul[bot]
691b4512b5 Merge pull request #8615 from jakemcdermott/fix-navbar
Fix the navbar

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-18 00:41:30 +00:00
Jake McDermott
471e22a4e2 Start with nav expanded 2020-11-17 18:54:11 -05:00
James Tanner
a1c2d458de get a csv of playbook_on_stats event data 2020-11-17 17:48:13 -05:00
mabashian
ef1da5d5de Wrap status label in a div so that it doesn't vertically stretch with it's parent. 2020-11-17 17:05:49 -05:00
Marliana Lara
865f348167 Add descriptive helper text when log aggregator toggle is disabled 2020-11-17 11:01:34 -05:00
Marliana Lara
30f5fbb07a Use ouiaId instead of data-cy id in RevertButton 2020-11-17 11:01:34 -05:00
Marliana Lara
d57fee7b63 Do not render setting field if config is empty 2020-11-17 11:01:34 -05:00
Marliana Lara
79930347f9 Fix number input validation bug 2020-11-17 11:01:33 -05:00
Marliana Lara
e0feda780b Add setting system category forms and tests
* Add activity stream, logging, and misc system forms
 * Hookup logging test alert
 * Hookup revert buttons
 * Add useModal helper hook
 * Swap VariablesDetail for CodeDetail within setting detail views
 * Update SettingDetail import path in setting detail views
2020-11-17 11:01:30 -05:00
mabashian
76c39e38c0 Update snapshot after adding cannotDelete prop to ToolbarDeleteButton 2020-11-17 09:18:59 -05:00
mabashian
8cd4d06903 Hide the delete button on workflow approval details when job is pending 2020-11-17 08:42:35 -05:00
mabashian
8c263f17ab Adds data-cy attributes to the fields in the workflow approval details 2020-11-17 08:42:35 -05:00
mabashian
a4e4f0aa98 Show 'Deleted' when the source workflow job is deleted in workflow approvals list/details 2020-11-17 08:42:35 -05:00
mabashian
ebf9bf429c Add description to the list of default search keys on workflow approvals list 2020-11-17 08:42:35 -05:00
mabashian
30e461c18e Fix basic name filtering on workflow approvals list 2020-11-17 08:42:35 -05:00
mabashian
b8b3424c1f Prevent users from attempting to delete pending approvals 2020-11-17 08:42:35 -05:00
mabashian
929be1652a Move all mock workflow approvals out to data.workflowApprovals.json 2020-11-17 08:42:35 -05:00
mabashian
2be5ae3b2d Remove old TODO 2020-11-17 08:42:35 -05:00
mabashian
aba14bfb8c Combine approve/deny modals into one modal 2020-11-17 08:42:35 -05:00
mabashian
a9c3484387 Move approval action buttons from rows to to level list actions. UX updates to the display of the status. 2020-11-17 08:42:35 -05:00
mabashian
ee7f73623f Adds /#/workflow_approvals list and details and allows users to approve or deny workflow approvals from these interfaces 2020-11-17 08:42:35 -05:00
softwarefactory-project-zuul[bot]
b338da40c5 Merge pull request #8482 from jakemcdermott/fix-8465
Fix inconsistent screen title bars

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-16 21:14:25 +00:00
softwarefactory-project-zuul[bot]
00fb955544 Merge pull request #8563 from AlexSCorey/8535-UpgradePF
Updates PF dependency

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-16 18:16:17 +00:00
softwarefactory-project-zuul[bot]
74711a55bb Merge pull request #8552 from DeloitteHux/ng-helm-install
Add helm installation (#8551)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-16 17:47:31 +00:00
Jake McDermott
d30dd97c96 Fix inconsistent screen title bars 2020-11-16 11:39:04 -05:00
softwarefactory-project-zuul[bot]
10664d1931 Merge pull request #8582 from wenottingham/collect-again
Revert portions of 40a10dcc5f

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-13 22:54:23 +00:00
Bill Nottingham
7b04fa114e Revert portions of 40a10dcc5f
Keep some of the collectors, while removing ones we calculate
in other ways.
2020-11-13 14:50:04 -05:00
softwarefactory-project-zuul[bot]
0d843899e1 Merge pull request #8519 from nixocio/ui_issue_8098
Remove groups/hosts when deleting inventory sources

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-13 18:37:07 +00:00
Alex Corey
54e1991ff4 Update PF Dependency and associated components and tests 2020-11-13 10:11:05 -05:00
Ryan Petrello
adfd8ed26b forcibly close DB and cache socket connection post-fork
we've seen evidence of a race condition on fork for awx.conf.Setting
access; in the past, we've attempted to solve this by explicitly closing
connections pre-fork, but we've seen evidence that this isn't always
good enough

this patch is an attempt to close connections post-fork so that sockets
aren't inherited post fork, leading to bizarre race conditions in
setting access
2020-11-12 15:13:16 -05:00
softwarefactory-project-zuul[bot]
76fd63ba5f Merge pull request #8463 from nixocio/ui_issue_7130
Add feature to associate teams to users

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-12 18:21:25 +00:00
nixocio
07edf505e7 Add feature to associate teams to users
Add feature to associate teams to users. For the time being when
associating Users to a team, the User will be associated with `member_role` only. And when `diassociating` the User from a team all related roles - member, read, and admin will be removed.

Also, fix a bug related to search not being cleared after closing/cancel
the `AssociateModal`.
2020-11-12 10:06:33 -05:00
softwarefactory-project-zuul[bot]
1078bf76ad Merge pull request #8575 from ryanpetrello/yet-more-downstream-bits
more downstream changes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-11 19:27:28 +00:00
softwarefactory-project-zuul[bot]
cb4fcb9d80 Merge pull request #8566 from AlexSCorey/8539-SurveyRequiredFields
Adds asterisk to required survey questions in preview modal

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-11 18:58:30 +00:00
Ryan Petrello
32e149c76e Merge branch 'downstream' into devel 2020-11-11 13:30:28 -05:00
Ryan Petrello
4d8176e6af Merge remote-tracking branch 'downstream' into downstream 2020-11-11 13:30:21 -05:00
Ryan Petrello
ddd109059f Merge pull request #4682 from wenottingham/subs-corner-cases
Use the exported count in the manifest for the node count, if present.
2020-11-11 13:13:01 -05:00
softwarefactory-project-zuul[bot]
4d480cb95f Merge pull request #8413 from sean-m-sullivan/role_list
Tower_role Improvements, Approvals and use of Lists

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-11 17:37:21 +00:00
softwarefactory-project-zuul[bot]
69c3acfb39 Merge pull request #8570 from ryanpetrello/analytics-cleanup
removed unused analytics metrics

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-11-11 17:26:27 +00:00
Bill Nottingham
a092406543 Use the exported count in the manifest for the node count, if present. 2020-11-11 12:20:32 -05:00
Christian Adams
a65008f762 Merge pull request #4680 from ansible/i18n_release_3.8.0_translations
(More) UI translation strings for release_3.8.0 branch
2020-11-11 12:07:35 -05:00
ansible-translation-bot
2a44a72024 UI translation strings for release_3.8.0 branch 2020-11-11 15:42:54 +00:00
Ryan Petrello
40a10dcc5f removed unused analytics metrics 2020-11-11 09:56:20 -05:00
ansible-translation-bot
d25d5762e0 UI translation strings for release_3.8.0 branch 2020-11-11 14:12:48 +00:00
softwarefactory-project-zuul[bot]
073e518c16 Merge pull request #8503 from AlexSCorey/8237-FixKebabifiedToolbarBtns
Fixes toolbar buttons in Advanced Search mode

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-11 13:25:15 +00:00
Ryan Petrello
454c8e66e0 Merge pull request #4678 from beeankha/delete_cloudforms_from_collections
Remove Cloudforms as a credential type from collections
2020-11-10 17:12:16 -05:00
softwarefactory-project-zuul[bot]
cd5553a1dc Merge pull request #8567 from ryanpetrello/busted-cf-migration
avoid breaking upgrades from certain AWX versions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-10 21:18:13 +00:00
Christian Adams
e4d9cd4000 Merge pull request #4676 from ansible/i18n_release_3.8.0_translations
UI translation strings for release_3.8.0 branch
2020-11-10 16:07:22 -05:00
beeankha
400c55faaa Remove Cloudforms as a credential type from collections 2020-11-10 15:49:55 -05:00
Ryan Petrello
fabd2eec63 avoid breaking upgrades from certain AWX versions
the prior version of this migration was rewritten, so we should
run the function again to really make sure that cleanup happens
2020-11-10 15:18:49 -05:00
Alex Corey
619fabc3a1 adds asterisk to required survey questions in preview modal 2020-11-10 11:47:30 -05:00
sean-m-sullivan
4e4f1d3cce update comment 2020-11-10 10:04:05 -06:00
sean-m-sullivan
e2e3d30b49 update comment 2020-11-10 09:16:08 -06:00
Christian Adams
ff78cade3a Merge pull request #4677 from rooftopcellist/fix_hover_help
Fix hover-over help text for subscriptions
2020-11-10 09:56:08 -05:00
Christian M. Adams
97381f6810 Fix hover-over help text for subscriptions 2020-11-10 09:32:16 -05:00
sean-m-sullivan
999086968c Merge branch 'role_list' of github.com:sean-m-sullivan/awx into role_list 2020-11-10 08:17:09 -06:00
sean-m-sullivan
ab4abf4e3b update comment 2020-11-10 08:17:01 -06:00
Sean Sullivan
0fd0f0c1bd Merge pull request #21 from ansible/devel
Rebase
2020-11-10 08:13:52 -06:00
softwarefactory-project-zuul[bot]
d16055806b Merge pull request #8520 from AlexSCorey/7636-WFJTSurveyNotEnabled
Toggles WFJT survey on and off

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-10 12:25:57 +00:00
ansible-translation-bot
e09ac530d5 UI translation strings for release_3.8.0 branch 2020-11-09 16:27:11 +00:00
ansible-translation-bot
1923926422 UI translation strings for release_3.8.0 branch 2020-11-09 15:09:59 +00:00
softwarefactory-project-zuul[bot]
7d3bf36227 Merge pull request #8559 from ryanpetrello/yet-anooooooother-downstream-merge
Merge in some downstream bug fixes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-06 19:29:18 +00:00
Ryan Petrello
d653c05da8 Merge branch 'downstream' into devel 2020-11-06 13:22:26 -05:00
softwarefactory-project-zuul[bot]
862a6835fe Merge pull request #8545 from nixocio/ui_issue_4968
Mark `Host Config Key` as a required field

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-06 17:23:16 +00:00
Ryan Petrello
33f3ad17cb Merge pull request #4671 from ryanpetrello/cloudforms-minus-minus
entirely remove CloudForms inventory sources instead of converting
2020-11-06 11:30:23 -05:00
Ryan Petrello
52d9fbce73 update cloudforms-specific tests 2020-11-06 10:39:14 -05:00
softwarefactory-project-zuul[bot]
0933a94ae7 Merge pull request #8528 from AlexSCorey/7673-AddOrgToInventoryList
Adds Organization to Inventory List item

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-06 14:09:58 +00:00
Ryan Petrello
0b701b3b24 entirely remove CloudForms inventory sources instead of converting 2020-11-06 01:02:55 -05:00
Nicolas G
b4a45e4cf4 Add helm installation (#8551)
Update to address https://github.com/ansible/awx/issues/8551
Install `helm` binaries along with `kubectl`
2020-11-05 17:49:04 -05:00
softwarefactory-project-zuul[bot]
0567a2a3bf Merge pull request #8540 from marshmalien/8461-notification-detail-link
Fix notification list to notification list item detail link

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-05 22:23:47 +00:00
Alex Corey
e372f4f8f6 Adds list item label 2020-11-05 16:54:48 -05:00
softwarefactory-project-zuul[bot]
dccddfffe6 Merge pull request #8483 from AlexSCorey/8261-AddRelatedGroups
Supports Associating Related Inventory Group

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-05 21:08:21 +00:00
softwarefactory-project-zuul[bot]
948e4c13d2 Merge pull request #8549 from jakemcdermott/remove-cf-form
Delete cloudforms

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-05 19:43:49 +00:00
softwarefactory-project-zuul[bot]
13f2b3f632 Merge pull request #8531 from AlexSCorey/8196-PrivilegeEscalation
Fixes broken select

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-05 19:06:15 +00:00
Alex Corey
944c32da24 resolve cyclical group association 2020-11-05 13:41:43 -05:00
Ryan Petrello
b8f1fa1a13 Merge pull request #4666 from ryanpetrello/dont-test-me
update a janky old test
2020-11-05 13:36:24 -05:00
Jake McDermott
10ab12c99a Delete cloudforms 2020-11-05 12:40:03 -05:00
Ryan Petrello
662ee6fa36 update a janky old test
UJT list views don't work this way anymore after
a929e82060
2020-11-05 12:29:06 -05:00
Alex Corey
314fdd6066 add identifier 2020-11-05 11:44:33 -05:00
softwarefactory-project-zuul[bot]
94352c9a72 Merge pull request #8446 from nixocio/ui_issue_4950
Hide max hosts field on org form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-05 16:03:07 +00:00
nixocio
4268f1aeeb Mark Host Config Key as a required field
Mark `Host Config Key` as a required field

See:https://github.com/ansible/awx/issues/4968
2020-11-05 09:52:33 -05:00
softwarefactory-project-zuul[bot]
31c85dd89f Merge pull request #8510 from keithjgrant/7952-host-filter-lookup-fix
Host filter lookup fix

Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
             https://github.com/tiagodread
2020-11-05 13:38:11 +00:00
Ryan Petrello
e9f1f8c6fe Merge pull request #4670 from wenottingham/pendoh-no
Put everyone in the 'anonymous' pendo bucket regardless of setting
2020-11-05 08:36:13 -05:00
Keith Grant
8d87d9e6e7 mark Clear filters button for translation 2020-11-04 15:36:40 -08:00
nixocio
d324baf1b0 Hide max hosts field on org form
Hide max hosts field on org form.

Also, simplify the usage of context API to read the value of me
parameter.

Hide max hosts field on org form.

See: https://github.com/ansible/awx/issues/4950
2020-11-04 17:23:22 -05:00
Marliana Lara
52c8033a08 Fix notification list item detail pathname link 2020-11-04 15:31:00 -05:00
Bill Nottingham
28a70ced56 Put everyone in the 'anonymous' pendo bucket regardless of setting
We no longer have the key detailed accounts are indexed on.
2020-11-04 15:18:12 -05:00
softwarefactory-project-zuul[bot]
bf6064db21 Merge pull request #8508 from marshmalien/8493-enable-all-inv-src-vars
Add Source Vars to all inventory source types

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-04 18:48:09 +00:00
Ryan Petrello
e406e4298b Merge pull request #4660 from beeankha/fix_import_export_failures
Change import/export Collections Module to Detect Errors vs Warnings
2020-11-04 09:59:25 -05:00
Johannes Gross
591a3e7a60 Updated Helm Chart Location
Signed-off-by: Johannes Gross <jgross@bright-skies.de>
2020-11-04 13:16:05 +01:00
softwarefactory-project-zuul[bot]
370440f63d Merge pull request #8526 from mabashian/convert-WorkflowJobTemplatejsx-functional
Convert WorkflowJobTemplate.jsx to functional component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-04 01:14:45 +00:00
Marliana Lara
330625b565 Enable source vars for all inventory types 2020-11-03 17:55:00 -05:00
nixocio
5de34a9c0b Remove groups/hosts when deleting inventory sources
Remove related resources groups/hosts when deleting inventory sources.

The current UI deletes `groups` and `hosts` once the inventory source is
deleted. Add this behavior to the new UI.

See: https://github.com/ansible/awx/issues/8098
2020-11-03 16:51:37 -05:00
Ryan Petrello
35eda3a9a7 Merge pull request #4664 from ryanpetrello/pin-collections-requirements
pin known working collections in 3.8.0
2020-11-03 15:23:29 -05:00
Ryan Petrello
ac4b38bc30 Merge remote-tracking branch 'downstream/release_3.8.0' into devel 2020-11-03 15:11:50 -05:00
mabashian
3052e2077d Import WorkflowJobTemplateEdit from the correct place 2020-11-03 14:29:11 -05:00
Ryan Petrello
439302b38e pin known working collections in 3.8.0 2020-11-03 14:26:31 -05:00
Alex Corey
22029b9d7c fixes broken select 2020-11-03 14:09:13 -05:00
softwarefactory-project-zuul[bot]
114bcd0349 Merge pull request #8487 from epfl-si/feature/I-want-my-own-metadata
[feature] Keep pod_spec_override-provided pod labels

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-11-03 17:38:57 +00:00
softwarefactory-project-zuul[bot]
6f8725c680 Merge pull request #8529 from ryanpetrello/old-pending-notifications
allow deleting NotificationTemplates w/ old pending notifications

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-03 16:37:38 +00:00
Ryan Petrello
4a75ae9869 allow deleting NotificationTemplates w/ old pending notifications
see: https://github.com/ansible/awx/issues/8525
2020-11-03 11:09:30 -05:00
Alex Corey
68b399fdef Adds Organization to Inventory List item 2020-11-03 10:49:53 -05:00
mabashian
514cba6467 Convert WorkflowJobTemplate to functional component 2020-11-03 10:14:30 -05:00
beeankha
7dfa957619 Change import/export logging detection to detect errors vs warnings 2020-11-02 16:24:51 -05:00
Chris Meyers
cd9838d579 Merge pull request #4661 from ansible/fix-flake8_3.8.0
fix flake8
2020-11-02 15:48:07 -05:00
Chris Meyers
d8ca3ba894 fix flake8 2020-11-02 15:45:16 -05:00
Alex Corey
8ff2c5b576 Supports Associating Related Inventory Group
This also adds support for creating a new inventory group and
associating it at the same time.
2020-11-02 14:59:54 -05:00
Keith Grant
8df6dc0ca0 fix SmartInventoryForm chips 2020-11-02 11:24:01 -08:00
Alex Corey
a1fa21d5a9 toggles WFJT survey on and off 2020-11-02 14:23:04 -05:00
softwarefactory-project-zuul[bot]
df54a1edb5 Merge pull request #8516 from wenottingham/no-version-file
Don't write a tower_version file in awx

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-02 18:52:22 +00:00
Jake McDermott
cc89608d2c Merge pull request #4659 from jakemcdermott/fix-4658
Disable edit mode cred form unless edit capability is true
2020-11-02 13:26:05 -05:00
Jake McDermott
da7896dbc4 Disable edit mode cred form unless edit capability is true 2020-11-02 13:20:44 -05:00
Bill Nottingham
7a9eff7e65 Don't write a tower_version file in awx 2020-11-02 12:54:51 -05:00
softwarefactory-project-zuul[bot]
48ecd2400c Merge pull request #8491 from nixocio/ui_issue_8467
Remove activity from inventory details page

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-02 15:39:54 +00:00
nixocio
78ce54bc4a Remove activity from inventory details page
Remove activity from inventory details page

This information is already present on the `Complete jobs` tab.

See: https://github.com/ansible/awx/issues/8467
2020-11-02 10:09:09 -05:00
softwarefactory-project-zuul[bot]
1a4f2f43b7 Merge pull request #8492 from nixocio/ui_issue_7706
Remove Type from ScheduleList Sort

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-11-02 14:54:20 +00:00
Alex Corey
15ad6a0180 Fixes toolbar buttons in Advanced Search mode 2020-11-02 09:54:15 -05:00
nixocio
7cb3cf4e37 Remove Type from ScheduleList Sort
Remove Type from ScheduleList Sort, and make `name` as default sort.

See: https://github.com/ansible/awx/issues/7706
2020-11-02 09:18:41 -05:00
Keith Grant
c58c7e285c use Promise.all to make requests in parallel 2020-10-30 14:48:02 -07:00
Keith Grant
adc68b672d add advanced search keys to host filter lookup 2020-10-30 14:45:05 -07:00
softwarefactory-project-zuul[bot]
17b5b531bf Merge pull request #8506 from ryanpetrello/yet-another-downstream-merge
merge in some downstream changes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-30 21:15:20 +00:00
softwarefactory-project-zuul[bot]
52ffcc9f7c Merge pull request #8496 from jainnikhil30/fix_tower_inventory_empty__child_group
Add empty child group to inventory groups before adding it to the parent group

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-30 21:02:11 +00:00
Ryan Petrello
3ce9a778f8 fix busted webhook notifications
whoops, I broke it
2020-10-30 16:40:02 -04:00
Christian M. Adams
3e9a98170e Update tool tip for RH username & password settings 2020-10-30 16:40:02 -04:00
Jake McDermott
5ce9e5b03d Use SUBSCRIPTION_* variables in config route 2020-10-30 16:40:02 -04:00
Ryan Petrello
94b6b31185 fix a minor bug in the way we report certain license upload errors 2020-10-30 16:40:02 -04:00
Christian M. Adams
b031e1f05e Properly record the license type when sub is a trial 2020-10-30 16:40:02 -04:00
Elyézer Rezende
aae0b29008 Separate page object for config/attach endpoint 2020-10-30 16:40:02 -04:00
Christian M. Adams
422c7308fd Update compliance wording in UI on license page 2020-10-30 16:40:01 -04:00
Ryan Petrello
23f1cea29b correct manifest argument spec for the tower_license module 2020-10-30 16:40:01 -04:00
Christian M. Adams
633dc60d49 Simplify link to fit UI column 2020-10-30 16:40:01 -04:00
Bill Nottingham
b9960abea6 Add a help popover that points to the docs 2020-10-30 16:40:01 -04:00
Bill Nottingham
2388758f8a Update the license wording and UX 2020-10-30 16:40:01 -04:00
Christian M. Adams
b05c34a969 Valid key always set correctly, compliant field set correctly 2020-10-30 16:40:01 -04:00
Christian M. Adams
bfca3d9910 Update get subscriptions button name in UI 2020-10-30 16:40:01 -04:00
Ryan Petrello
f9511ed7da fix a typo in the tower_license module documentation 2020-10-30 16:40:01 -04:00
mabashian
2e93d9f022 Fix failing license test after rhCreds was changed to subscriptionCreds 2020-10-30 16:40:00 -04:00
Ryan Petrello
478111e7df cut down on queries necessary to generate the X-API-Product-Name header 2020-10-30 16:40:00 -04:00
Christian M. Adams
dd459e23e2 Add migration to prefill rh username and password for subscriptions 2020-10-30 16:40:00 -04:00
Ryan Petrello
e50c2c2867 warn about legacy license usage in the licensing UI 2020-10-30 16:40:00 -04:00
Ryan Petrello
7f9784c443 clarify that the manifest file is a .zip file 2020-10-30 16:40:00 -04:00
Ryan Petrello
1294efdeb9 consolidate a few license code function calls 2020-10-30 16:40:00 -04:00
Christian M. Adams
be4e4ff47c Clean up unnecessary comments 2020-10-30 16:40:00 -04:00
Bill Nottingham
309396f199 flake8 2020-10-30 16:39:59 -04:00
Bill Nottingham
393e1b75e9 Return more user-friendly errors for assorted manifest failures 2020-10-30 16:39:59 -04:00
Ryan Petrello
c139a998b8 simplify how awx "open" licensing works 2020-10-30 16:39:59 -04:00
Ryan Petrello
e591f1f002 update the tower_license module to properly upload manifests 2020-10-30 16:39:59 -04:00
Christian M. Adams
67000f0ce9 Remove license_key check & fix docker-compose make command 2020-10-30 16:39:59 -04:00
Ryan Petrello
0ddf47740c fix incorrect detection of license on inventory updates 2020-10-30 16:39:59 -04:00
Christian M. Adams
05de875ace Fix flake8 2020-10-30 16:39:59 -04:00
Christian M. Adams
d8b7791375 Revert subman install and setfacl 2020-10-30 16:39:59 -04:00
Christian M. Adams
b609e4ee84 remove outdated license references 2020-10-30 16:39:58 -04:00
Christian M. Adams
0a23bb6e36 Install subman and set ACL for rhsm.conf for dev 2020-10-30 16:39:58 -04:00
Ryan Petrello
74c7883b3b cleanup more old licensing cruft 2020-10-30 16:39:58 -04:00
Ryan Petrello
0a36959ef1 clarify some Sat6 verbiage in the license screen 2020-10-30 16:39:58 -04:00
Ryan Petrello
2ae429b4ac remove unnneeded licenses 2020-10-30 16:39:58 -04:00
Ryan Petrello
13f2e90a82 change rhsm candlepin crt location 2020-10-30 16:39:58 -04:00
Ryan Petrello
74ad1f36ac remove some entitlements config we no longer need 2020-10-30 16:39:58 -04:00
Christian M. Adams
cb86193459 Fallback to RH Candlepin Verify setting for OCP 2020-10-30 16:39:57 -04:00
Ryan Petrello
86d0ee590f clarify messaging and behavior when subscription-manager isn't installed 2020-10-30 16:39:57 -04:00
Christian M. Adams
10242cd6c4 Add error handling for missing rhsm.conf 2020-10-30 16:39:57 -04:00
Ryan Petrello
3bb930c769 cleanup up some unused code/comments, and simplify the license migration 2020-10-30 16:39:57 -04:00
Ryan Petrello
ef43d85271 remove Organization label from RHSM/Sat6 license form 2020-10-30 16:39:57 -04:00
Ryan Petrello
927b055e65 change license uploading to parse RHSM manifests
Co-authored-by: Christian Adams <chadams@redhat.com>
2020-10-30 16:39:57 -04:00
Ryan Petrello
4445d096f5 reimplement licensing to work with RHSM and entitlement uploads
Co-authored-by: Christian Adams <chadams@redhat.com>
2020-10-30 16:39:57 -04:00
Bill Nottingham
48934e8544 Enable source vars for all inventory types
Update plugin popover to point to the plugin docs.
2020-10-30 16:39:57 -04:00
Jeff Bradberry
cb570a2ba1 Fix the 'absent' state in tower_instance_group 2020-10-30 16:39:56 -04:00
Jeff Bradberry
607bc07887 Rework the export of full dependent objects
and include hosts and groups in the export.
2020-10-30 16:39:56 -04:00
Ryan Petrello
df874966a6 fix a display bug in webhook notifications with unicode characters
see: https://github.com/ansible/awx/issues/7400
2020-10-30 16:39:56 -04:00
Caleb Boylan
b5c2a6ad65 fix lookup plugin fqcn issue 2020-10-30 16:39:54 -04:00
softwarefactory-project-zuul[bot]
e38d082394 Merge pull request #8509 from ryanpetrello/daylight-wastings-time
Abolish Daylight Savings Time

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-30 20:39:31 +00:00
Ryan Petrello
b9bce03f71 fix a test related to proximity to the DST boundary
technically speaking, this test could still fail on the Saturday before
DST boundaries

...but I don't care
2020-10-30 16:10:07 -04:00
Ryan Petrello
024d148b7f Merge pull request #4648 from rebeccahhh/non_admin_jt_copy
Allow user to copy job templates as permissions intended
2020-10-30 15:46:58 -04:00
Ryan Petrello
8775afc5ea Merge pull request #4656 from ryanpetrello/ryan-broke-webhooks
fix busted webhook notifications
2020-10-30 13:09:46 -04:00
Ryan Petrello
2f738415b8 fix busted webhook notifications
whoops, I broke it
2020-10-30 13:05:37 -04:00
Ryan Petrello
57cd474beb Merge pull request #4634 from ryanpetrello/licensing-rhsm-changes-380
reimplement licensing to work with RHSM and entitlement uploads
2020-10-30 13:03:08 -04:00
softwarefactory-project-zuul[bot]
9b00421ec3 Merge pull request #8468 from nixocio/ui_issue_8453
Fix username as a required field

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-30 15:27:13 +00:00
Nikhil Jain
23a852bdab add the empty child group to groups before adding it to the parent group 2020-10-30 14:23:57 +05:30
softwarefactory-project-zuul[bot]
52d178bbe4 Merge pull request #8489 from sean-m-sullivan/workflow_node_logic
Update Logic for workflow node creation/deletion

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-29 18:36:40 +00:00
sean-m-sullivan
5703aa8af5 pep8 fixing 2020-10-29 11:50:29 -05:00
Christian M. Adams
a4e76db672 Update tool tip for RH username & password settings 2020-10-29 12:15:24 -04:00
Jake McDermott
31275122a1 Merge pull request #4653 from wenottingham/taking-inventory-of-ourselves
Enable source vars for all inventory types
2020-10-29 11:06:39 -04:00
sean-m-sullivan
beb329c31e update logic for node creation 2020-10-29 09:52:13 -05:00
Dominique Quatravaux
deb56bf4f8 [fix] Now with doctest that actually passes 2020-10-29 14:03:19 +01:00
Dominique Quatravaux
87b97530ff [fix] flake8 2020-10-29 13:35:24 +01:00
Dominique Quatravaux
3335ea953e [feature] Keep pod_spec_override-provided pod labels
- Write a deepmerge() implementation, keeping only the test suite of
https://stackoverflow.com/a/20666342/435004

- Use it to deep-merge pod['metadata'] with user input,
instead of replacing fields in it
2020-10-29 13:35:24 +01:00
Bill Nottingham
0fbc02864e Enable source vars for all inventory types
Update plugin popover to point to the plugin docs.
2020-10-28 19:58:14 -04:00
Jake McDermott
94eec401c3 Use SUBSCRIPTION_* variables in config route 2020-10-28 19:03:38 -04:00
Keith Grant
fa07889f39 switch host filter lookup to use icontains searches for name/group 2020-10-28 15:41:03 -07:00
softwarefactory-project-zuul[bot]
82a42d1db7 Merge pull request #8476 from jlmitch5/fixSearchLabelBug
fix issue where adding a search tag could cause an error

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-28 21:05:53 +00:00
softwarefactory-project-zuul[bot]
a672022a6a Merge pull request #8479 from jlmitch5/fixUserDetailLink
fix malformed user details link in toolbar

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-28 18:44:52 +00:00
Ryan Petrello
a75874a5d0 Merge pull request #4650 from jbradberry/tower-instance-group-absent
Fix a typo in checking the 'absent' state for the tower_instance_group module
2020-10-28 14:38:01 -04:00
Jeff Bradberry
ff7fe2acdf Fix the 'absent' state in tower_instance_group 2020-10-28 14:27:03 -04:00
Ryan Petrello
98d2e1a898 Merge pull request #4622 from jbradberry/import-export-groups-hosts
Rework the export of full dependent objects
2020-10-28 13:55:12 -04:00
John Mitchell
9517bf01ce fix malformed user details link in toolbar 2020-10-28 13:52:59 -04:00
Jeff Bradberry
b8b1e3d760 Rework the export of full dependent objects
and include hosts and groups in the export.
2020-10-28 13:43:14 -04:00
Ryan Petrello
e5c0889361 Merge pull request #4649 from ryanpetrello/webhook-unicode-bug
fix a display bug in webhook notifications with unicode characters
2020-10-28 13:08:15 -04:00
Ryan Petrello
41d3b164ea fix a display bug in webhook notifications with unicode characters
see: https://github.com/ansible/awx/issues/7400
2020-10-28 13:03:34 -04:00
John Mitchell
3a512f39ae fix issue where adding a search tag could cause an error 2020-10-28 11:36:05 -04:00
nixocio
40e821d0d8 Fix username as a required field
Fix username as a required field. `UserForm` is used for adding and
editing an user. When adding an user, the initial user value is a `{}`
update logic to cover this case.

Also, add unit-tests to cover this particular case.

See: https://github.com/ansible/awx/issues/8453
2020-10-28 10:11:38 -04:00
Ryan Petrello
ee06df97a4 fix a minor bug in the way we report certain license upload errors 2020-10-28 09:58:39 -04:00
softwarefactory-project-zuul[bot]
0d3c9ebc2b Merge pull request #8471 from ryanpetrello/whoops-scm
fix a minor bug introduced in Project save validation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-27 20:13:53 +00:00
Christian M. Adams
6d412fd8e7 Properly record the license type when sub is a trial 2020-10-27 16:05:43 -04:00
Ryan Petrello
e0af178968 fix a minor bug introduced in Project save validation 2020-10-27 15:42:36 -04:00
softwarefactory-project-zuul[bot]
720d705df3 Merge pull request #8466 from jlmitch5/dashboardInvSyncFailureFix
update inventory sync failure count to look at correct data

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-27 19:31:01 +00:00
softwarefactory-project-zuul[bot]
e35b0d1441 Merge pull request #8430 from AlexSCorey/8361-MergeAddDropDown
Merges 2 tool bar add buttons that use dropdowns

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-27 19:22:28 +00:00
Elyézer Rezende
ddcbb1f9c2 Separate page object for config/attach endpoint 2020-10-27 15:13:13 -04:00
Alex Corey
2e90cd8d31 fixes failing tests and template list dropdown 2020-10-27 14:54:47 -04:00
Alex Corey
a2ca2729ba Merges 2 tool bar add buttons that use dropdowns 2020-10-27 14:37:23 -04:00
softwarefactory-project-zuul[bot]
51600986c9 Merge pull request #8462 from jakegatsby/devel
cast create_preload_data to boolean with `create_preload_data | bool` in launch_awx_task.sh.j2

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-10-27 15:32:21 +00:00
Christian M. Adams
0a839430e7 Update compliance wording in UI on license page 2020-10-27 10:51:11 -04:00
John Mitchell
abaefd0319 update inventory sync failure count to look at correct data 2020-10-27 10:44:00 -04:00
softwarefactory-project-zuul[bot]
5a67aa7fff Merge pull request #8447 from thedoubl3j/local_path_mod
related #7665 added 400 if user attempts an edit to local_path in a SCM project

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-27 13:30:28 +00:00
Ryan Petrello
22e68fe973 correct manifest argument spec for the tower_license module 2020-10-27 09:09:39 -04:00
softwarefactory-project-zuul[bot]
4db5447db8 Merge pull request #8394 from chrismeyersfsu/enhancement-profiling_code
centralize reusable profiling code

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-27 12:57:02 +00:00
Chris Meyers
eb47c8dbc6 centralize reusable profiling code 2020-10-27 08:21:41 -04:00
Jake Jackson
abd0eb53bf fix tests 2020-10-27 00:39:51 -04:00
Jake Jackson
dbc4b677f6 related #7665 added 400 if user attempts an edit to local_path in a SCM project and test case 2020-10-26 22:47:37 -04:00
Christian M. Adams
f83e4cf092 Simplify link to fit UI column 2020-10-26 22:17:20 -04:00
Bill Nottingham
bb38940638 Add a help popover that points to the docs 2020-10-26 20:04:18 -04:00
Bill Nottingham
a72a688506 Update the license wording and UX 2020-10-26 18:35:16 -04:00
Christian M. Adams
1f5df7e39c Valid key always set correctly, compliant field set correctly 2020-10-26 16:25:25 -04:00
odroid
8a325d40e4 create_preload_data | bool in launch_awx_task.sh.j2 2020-10-26 15:22:29 -04:00
Caleb Boylan
581a0b67f0 Merge pull request #4645 from squidboylan/fix_collections_tests
fix lookup plugin fqcn issue
2020-10-26 11:37:31 -07:00
softwarefactory-project-zuul[bot]
a71261d5fd Merge pull request #8419 from keithjgrant/8331-number-survey-fields
Fix integer/float errors in survey

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-26 18:14:44 +00:00
Caleb Boylan
98f572a50e fix lookup plugin fqcn issue 2020-10-26 10:02:11 -07:00
Christian M. Adams
44633c2ba7 Update get subscriptions button name in UI 2020-10-26 12:16:53 -04:00
softwarefactory-project-zuul[bot]
53dede734f Merge pull request #8345 from donald-picard-kr/update-tower-job-wait-for-workflow
add support for wait of project_updates jobs, inventory_update, and w…

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-26 15:47:27 +00:00
softwarefactory-project-zuul[bot]
95a4cc7b76 Merge pull request #8457 from ryanpetrello/downstream-sync
merge in some downstream bug fixes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-26 14:46:23 +00:00
softwarefactory-project-zuul[bot]
db3e79e240 Merge pull request #8449 from lennart/local_docker_labels
allow labelling docker web container

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-26 14:30:31 +00:00
Ryan Petrello
b7f1393c33 fix a typo in the tower_license module documentation 2020-10-26 10:18:58 -04:00
mabashian
3c1cc7fcef Fix failing license test after rhCreds was changed to subscriptionCreds 2020-10-26 10:14:16 -04:00
Ryan Petrello
6097066cd8 Merge branch 'downstream' into devel 2020-10-26 09:32:00 -04:00
Ryan Petrello
048e35850a cut down on queries necessary to generate the X-API-Product-Name header 2020-10-26 09:19:46 -04:00
Chris Meyers
d2ceb39d73 Merge pull request #4616 from chrismeyersfsu/fix-same_jt_abuse
Fix same jt abuse
2020-10-26 09:13:08 -04:00
Lennart Melzer
2991ddfc52 allow labelling docker web container 2020-10-25 14:34:48 +01:00
Keith Grant
a8bb3519c5 fix multiselect survey question on launch 2020-10-23 14:37:32 -07:00
Christian M. Adams
98b2ac77c8 Add migration to prefill rh username and password for subscriptions 2020-10-23 17:01:14 -04:00
softwarefactory-project-zuul[bot]
d550487bc8 Merge pull request #8433 from Malizor/devel
Expose the SCM Branch name in the playbook environment

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-23 17:40:07 +00:00
Ryan Petrello
942d7ccfc6 warn about legacy license usage in the licensing UI 2020-10-23 11:42:35 -04:00
softwarefactory-project-zuul[bot]
02fa85206f Merge pull request #8441 from nixocio/ui_issue_7595
Rename users and access tabs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-23 15:39:49 +00:00
Ryan Petrello
b36afa3c3e clarify that the manifest file is a .zip file 2020-10-23 11:08:50 -04:00
Ryan Petrello
3fe9d1c096 consolidate a few license code function calls 2020-10-23 11:05:08 -04:00
Christian M. Adams
8a9f75c291 Clean up unnecessary comments 2020-10-23 11:00:08 -04:00
Bill Nottingham
bfb8e384a8 flake8 2020-10-23 10:58:29 -04:00
Bill Nottingham
9bc17db45d Return more user-friendly errors for assorted manifest failures 2020-10-23 10:57:43 -04:00
Ryan Petrello
7c63a6592e simplify how awx "open" licensing works 2020-10-23 10:56:19 -04:00
Ryan Petrello
1f0b1923d7 update the tower_license module to properly upload manifests 2020-10-23 10:30:51 -04:00
Chris Meyers
6e8996f59f Merge pull request #4626 from chrismeyersfsu/enhancement-graph_jobs_3_8_0
terminal graph of job status changes
2020-10-23 10:22:04 -04:00
Chris Meyers
79d7c6d9b3 make optimization code work with container groups
* Task manager fit_ optimization code caused problems with container
group code.
* Note that we don't actually get the benefit of the optimization for
container groups. We just make it so that the code doesn't blow up. It
will take another pass to apply optimizations to the container group
task manager path.
2020-10-23 10:17:30 -04:00
Chris Meyers
ce052922c6 terminal graph of job status changes
* Visualize how jobs go from pending, waiting, running over time
2020-10-23 10:15:32 -04:00
softwarefactory-project-zuul[bot]
20e2472329 Merge pull request #8442 from beeankha/revert_to_satellite6
Revert "Kind" Choice from 'satellite' to 'satellite6'

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-23 13:54:11 +00:00
beeankha
26ebf47c71 Revert choice from 'satellite' to 'satellite6' 2020-10-22 18:03:09 -04:00
softwarefactory-project-zuul[bot]
f54116afbb Merge pull request #8431 from wenottingham/pg-ate-ten
Move to rhel8 PG10 container for persistent PG

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-22 21:38:51 +00:00
Bill Nottingham
f1d2d79f00 Move to rhel8 PG10 container for persistent PG
Merge in updated liveness checks from upstream template
2020-10-22 17:08:16 -04:00
Christian M. Adams
25ace77048 Remove license_key check & fix docker-compose make command 2020-10-22 16:49:13 -04:00
Ryan Petrello
91f72672a1 fix incorrect detection of license on inventory updates 2020-10-22 16:07:28 -04:00
Christian M. Adams
44e9ba1117 Fix flake8 2020-10-22 15:47:54 -04:00
Christian M. Adams
a5b644c23c Revert subman install and setfacl 2020-10-22 15:40:05 -04:00
softwarefactory-project-zuul[bot]
3ff1d77c03 Merge pull request #8438 from beeankha/add_cred_kind_options
Update Doc String for tower_credential Module "Kind" Choices

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-22 19:09:16 +00:00
Christian M. Adams
784c924d88 remove outdated license references 2020-10-22 14:59:48 -04:00
softwarefactory-project-zuul[bot]
466dff96e9 Merge pull request #8402 from jlmitch5/dashboardAug20
add ui_next dashboard

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-22 18:45:11 +00:00
Christian M. Adams
fbde4797f8 Install subman and set ACL for rhsm.conf for dev 2020-10-22 14:39:31 -04:00
Ryan Petrello
2df924ae78 cleanup more old licensing cruft 2020-10-22 14:37:26 -04:00
Ryan Petrello
be5ff0a088 clarify some Sat6 verbiage in the license screen 2020-10-22 14:32:03 -04:00
Ryan Petrello
d8514851bf remove unnneeded licenses 2020-10-22 14:29:34 -04:00
Ryan Petrello
849079316a change rhsm candlepin crt location 2020-10-22 14:08:19 -04:00
Ryan Petrello
f266325fb0 remove some entitlements config we no longer need 2020-10-22 13:46:36 -04:00
nixocio
dcc3422484 Rename users and access tabs
Rename users and access tabs

See: https://github.com/ansible/awx/issues/7595
2020-10-22 13:42:41 -04:00
Christian M. Adams
f812d2e318 Fallback to RH Candlepin Verify setting for OCP 2020-10-22 13:33:41 -04:00
Ryan Petrello
0c63e6a624 clarify messaging and behavior when subscription-manager isn't installed 2020-10-22 13:20:55 -04:00
softwarefactory-project-zuul[bot]
a532421eef Merge pull request #8436 from jbradberry/profile-sql-message
Improve handling of 0 and negative thresholds in the profile_sql command

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-22 17:04:40 +00:00
Christian M. Adams
23f365786c Add error handling for missing rhsm.conf 2020-10-22 12:29:29 -04:00
softwarefactory-project-zuul[bot]
8206874158 Merge pull request #8434 from nicolas-g/patch-1
Add support for Kubernetes Pod annotations

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-22 16:07:09 +00:00
Chris Meyers
7baf681b55 Merge pull request #4623 from chrismeyersfsu/enhancement-db_application_name_3_8_0
fill in postgres application_name on connection
2020-10-22 12:04:41 -04:00
Ryan Petrello
fcf56b4ba6 cleanup up some unused code/comments, and simplify the license migration 2020-10-22 11:56:47 -04:00
Ryan Petrello
afc028147a remove Organization label from RHSM/Sat6 license form 2020-10-22 11:56:47 -04:00
Ryan Petrello
a7c7ac714f change license uploading to parse RHSM manifests
Co-authored-by: Christian Adams <chadams@redhat.com>
2020-10-22 11:56:41 -04:00
beeankha
4b625f0f13 Update credential 'kind' choices 🔑 2020-10-22 11:54:42 -04:00
Jeff Bradberry
d6e39376c8 Improve handling of 0 and negative thresholds in the profile_sql command
- output a profiling disabled message when appropriate
- specify that we are doing SQL profiling in the enabled case
- treat negative thresholds the same as zero, disabling profiling
2020-10-22 11:27:21 -04:00
Ryan Petrello
ffab48c77f reimplement licensing to work with RHSM and entitlement uploads
Co-authored-by: Christian Adams <chadams@redhat.com>
2020-10-22 11:10:28 -04:00
Donald Picard
8f66cfa2c0 related #8344 add support for wait of project_updates jobs, inventory_update, and workflow_job.
Signed-off-by: Donald Picard <donald.picard@sogeti.com>
2020-10-22 09:05:02 -04:00
Nicolas G
a50e32d4ea Add support for Kubernetes Pod annotations
Variable `kubernetes_pod_annotations` will add annotations to Kubernetes pods
2020-10-21 19:59:11 -04:00
Nicolas Delvaux
a58e37e31f Expose {awx,tower}_job_scm_branch variables in the environment
related #8429
2020-10-22 00:09:18 +02:00
Nicolas Delvaux
51aed19b29 Expose {awx,tower}_project_scm_branch variables in the environment 2020-10-21 23:54:48 +02:00
Tiago Góes
e30569cc1b Change the id from / to - 2020-10-21 18:26:19 -03:00
softwarefactory-project-zuul[bot]
81a79c30cb Merge pull request #7976 from bbayszczak/missing_creds_type_to_tower_credentials_module
add missing creds types to tower_credential module

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-21 19:03:41 +00:00
John Mitchell
2c0de9ce3d update render dashboard default unit t est 2020-10-21 12:52:38 -04:00
softwarefactory-project-zuul[bot]
3b3dfb6dbe Merge pull request #8424 from ansible/deps-autofix-10-21
Autofix dependencies

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2020-10-21 16:33:42 +00:00
Bianca Henderson
143831ffd0 Add required whitespace 2020-10-21 12:21:30 -04:00
softwarefactory-project-zuul[bot]
6bd573cf07 Merge pull request #8263 from AlexSCorey/8238-AddRelatedGroups
8238 add related groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-21 15:42:55 +00:00
softwarefactory-project-zuul[bot]
447bc4b4da Merge pull request #8364 from sean-m-sullivan/workflow_approval
Workflow approval

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2020-10-21 15:08:01 +00:00
softwarefactory-project-zuul[bot]
7c038c9329 Merge pull request #8348 from nesanton/feature/8347
Rename inventory_source param to name in tower_inventory_source_update

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-21 14:53:27 +00:00
Ryan Petrello
a26d20cbf2 Merge pull request #4631 from ryanpetrello/galaxy-creds-cli
allow the CLI to associate Galaxy credentials to Organizations
2020-10-21 10:40:55 -04:00
John Mitchell
52deb7fd86 update dashboard and graph code to aid in automated testing 2020-10-21 10:32:37 -04:00
Ryan Petrello
c373d5307f allow the CLI to associate Galaxy credentials to Organizations
$ awx organizations associate Default --galaxy_credential "Ansible Galaxy"
2020-10-21 09:39:33 -04:00
Jake McDermott
1ab0e318f9 Fix vulnerable dependencies 2020-10-21 08:57:41 -04:00
softwarefactory-project-zuul[bot]
062ce5f735 Merge pull request #7281 from mabashian/7127-cred-input-details
Updates credential details to support plugin and prompt fields

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2020-10-21 00:32:26 +00:00
Keith Grant
9b5e59f045 add number validator support for negative numbers, large numbers 2020-10-20 15:44:17 -07:00
Alex Corey
8cb8cfe3d5 fixes search and sort 2020-10-20 17:53:54 -04:00
John Mitchell
5f4d6daf1b update dashboard to 3 tab single pane 2020-10-20 17:33:37 -04:00
Alex Corey
bebaf2d97e Uses existing kebabified workflow for run command 2020-10-20 17:07:01 -04:00
Alex Corey
ef85a321bc brings all lists in line with exsiting Ad Hoc workflow 2020-10-20 17:05:51 -04:00
Alex Corey
b919d4885c reformats long string, removes unneeded key 2020-10-20 17:05:51 -04:00
Alex Corey
f604065246 Refactors to show add button properly in Advanced Search mode 2020-10-20 17:05:51 -04:00
Alex Corey
9620da287c Adds Related Groups List 2020-10-20 17:05:51 -04:00
sean-m-sullivan
1ca46893bb update 2020-10-20 15:55:15 -05:00
softwarefactory-project-zuul[bot]
717861fb46 Merge pull request #8339 from keithjgrant/7515-form-error-polish
Refactor FormSubmitError for easier testing, better error display

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2020-10-20 20:52:09 +00:00
John Mitchell
8839fb9af3 remove unused comment from template lists 2020-10-20 16:42:28 -04:00
John Mitchell
a3c5f50bbf add dashboard (including counts, line chart and portal mode style lists) to ui_next 2020-10-20 16:42:28 -04:00
John Mitchell
5ea98ab02a add copy of template list for dashboard use, moving around shared ws hook to util 2020-10-20 16:42:28 -04:00
John Mitchell
782e8d5875 add two_weeks filter to dashbaord job graph api view 2020-10-20 16:42:28 -04:00
Jake McDermott
36abc9b123 Merge pull request #4630 from jakemcdermott/current-date
[3.8] Use current year in about modal
2020-10-20 15:31:31 -04:00
Anton Nesterov
130f6300c5 Fix missing alias in argument_spec and add tests for it 2020-10-20 21:15:28 +02:00
Jake McDermott
7bc7cb00ac Use current year in about modal 2020-10-20 15:13:58 -04:00
softwarefactory-project-zuul[bot]
f3ac57e3b6 Merge pull request #8346 from marshmalien/popover-component
Merge FieldTooltip and DetailPopover into single Popover component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-20 18:55:02 +00:00
Keith Grant
a9c01e891f remove console log
Co-authored-by: Jake McDermott <yo@jakemcdermott.me>
2020-10-20 11:18:40 -07:00
Keith Grant
acd8a8dd3c fix integer/float errors in survey 2020-10-20 10:47:26 -07:00
Jake McDermott
f85548abeb Merge pull request #4628 from mabashian/4310-license-string
Replace SETTINGS > SYSTEM with SETTINGS &gt; SYSTEM to get around issue with translating this string
2020-10-20 12:34:19 -04:00
softwarefactory-project-zuul[bot]
44776189de Merge pull request #8162 from nixocio/ui_instance_groups_update_labels
Update labels to display isolated and controller instance groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-20 16:11:55 +00:00
Rebeccah
a929e82060 replacing capabilities prefetch definition with empty braces and removing the dunder. Explanation: Originally _capabilities_prefetch was populated with: ['admin', 'execute', {'copy': ['jobtemplate.project.use', 'jobtemplate.inventory.use', 'organization.workflow_admin']}]
This was problematic because it was overwriting the original values that had been defined in the other serializers. Additionally, there are no other dunders for other capabilities prefetch
this was likely added because UnifiedJobTemplateSerializer does not have it's own capabilities, but rather derives them from JTSerializer and WFJTSeralizer, but it worked better without the dunder once I removed the data that was overwriting the data from the WFJT and JT serializers.
2020-10-20 11:58:53 -04:00
Marliana Lara
5d0b001764 Fix prop type errors in unit tests 2020-10-20 11:57:32 -04:00
Marliana Lara
f369f8535d Add default aria label to Popover component 2020-10-20 11:55:04 -04:00
Marliana Lara
35ba74d265 Merge FieldTooltip and DetailPopover into single Popover component 2020-10-20 11:55:00 -04:00
nixocio
c8b9cbe0d5 Update labels to display isolated and controller instance groups
Update labels to display isolated and controller instance groups.

See: https://github.com/ansible/awx/issues/8244
Also: https://github.com/ansible/awx/issues/7467
2020-10-20 11:39:17 -04:00
softwarefactory-project-zuul[bot]
677fb594e8 Merge pull request #8281 from mabashian/7835-galaxy-cred-org-2
Add Galaxy Credentials field to organizations form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-20 15:37:08 +00:00
softwarefactory-project-zuul[bot]
439e872a05 Merge pull request #8404 from mabashian/fix-test-consoles
Fix issues with prop types that were causing errors to be logged during tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-20 15:33:53 +00:00
mabashian
d27c482e5e Pass actual error to ContentError so it can be displayed 2020-10-20 11:16:38 -04:00
mabashian
34e85dea8b Check for existence of data.next before checking it 2020-10-20 11:16:38 -04:00
mabashian
6df173ce1d Update return structure of readInputSources to match what the edit component is expecting. This also required me to make corresponding updates to the detail component so that it matched. 2020-10-20 11:16:38 -04:00
mabashian
e6a1ad0127 Ran prettier 2020-10-20 11:16:38 -04:00
mabashian
c3c7e120c8 Removes use of Trans tag in favor of t/i18n 2020-10-20 11:16:38 -04:00
mabashian
81822dfd1c Adds an upper limit on recursive calls set statically in the method at 5. 2020-10-20 11:16:38 -04:00
mabashian
a71a9057a2 Wraps GET requests in useRequest in order to handle unmounting more gracefully if the requests are still pending. 2020-10-20 11:16:38 -04:00
mabashian
a1d1a1078b Adds logic to recursively fetch input sources in the model method. This way we don't have to duplicate this logic every place that calls the method. 2020-10-20 11:16:38 -04:00
mabashian
e7cd9bbb98 Display fields that have plugins configured. 2020-10-20 11:16:38 -04:00
mabashian
908e583c69 Display prompt on launch passwords properly 2020-10-20 11:16:38 -04:00
mabashian
19ae4eadfb Add galaxy credentials field to organizations form 2020-10-20 11:03:27 -04:00
mabashian
485cee56bc Fix issues with prop types that were causing errors to be logged during tests 2020-10-20 10:59:39 -04:00
softwarefactory-project-zuul[bot]
9e4a236c64 Merge pull request #8417 from nicolas-g/patch-1
Add Kubernetes Deployment support for annotations

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-20 14:53:44 +00:00
softwarefactory-project-zuul[bot]
e4e5d65a71 Merge pull request #8415 from ryanpetrello/release-15.0.1
bump version to 15.0.1

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2020-10-20 14:49:59 +00:00
Sean Sullivan
3a34a079aa Merge pull request #18 from ansible/devel
rebase to ansible/awx
2020-10-20 09:41:56 -05:00
sean-m-sullivan
03c7504d2b fix existing item error 2020-10-20 09:40:45 -05:00
mabashian
7a9b55c21b Replace SETTINGS > SYSTEM with SETTINGS &gt; SYSTEM to get around issue with translating this string 2020-10-20 10:31:30 -04:00
Ryan Petrello
67a5ad7dd6 Bump version to 15.0.1 2020-10-20 09:39:43 -04:00
Ryan Petrello
06b1243857 Merge pull request #8396 from shanemcd/retry-galaxy
Makefile logic to retry failed galaxy installs
2020-10-20 09:37:47 -04:00
Chris Meyers
84cb7be079 fill in postgres application_name on connection
* Tried to fill in application_name in awx/__init__.py but I think that
is too late
* Fill in database application_name with enough information to easily
trace the connection from postgres back to the node and pid that
initiated the connection.
* Set application_name in django settings so that application_name is
set _before_ the first postgres connection is established.
2020-10-20 08:32:09 -04:00
Sean Sullivan
dc26580466 Update to response code
set response code for current versions of tower/awx
2020-10-19 19:46:49 -05:00
sean-m-sullivan
1636f0cb25 linting 2020-10-19 17:35:18 -05:00
Sean Sullivan
f6a1707684 Merge pull request #17 from ansible/devel
Rebase
2020-10-19 15:56:04 -05:00
sean-m-sullivan
fe55dca661 make workflow approval creation return an HTTP 201, not 200 OK 2020-10-19 15:55:49 -05:00
softwarefactory-project-zuul[bot]
fb2cea7274 Merge pull request #8416 from ryanpetrello/wf-approval-201
make workflow approval creation return an HTTP 201, not 200 OK

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-19 20:51:32 +00:00
sean-m-sullivan
a8159c0391 revert check 2020-10-19 15:35:36 -05:00
Nicolas G
23c386223c Add Kubernetes Deployment support for annotations
Annotations are only supported for ingress and service accounts
This PR will allow you now to specify annotations for Kubernetes Deployment
 resources by defining `kubernetes_deployment_annotations` var list
2020-10-19 16:33:54 -04:00
Ryan Petrello
57b2cd402b make workflow approval creation return an HTTP 201, not 200 OK
see: e16a910062 (diff-67c0fe4fc2a405ad611e42d1457e8aa5)
2020-10-19 16:20:40 -04:00
sean-m-sullivan
5959809fed make workflow approval creation return an HTTP 201, not 200 OK 2020-10-19 15:19:01 -05:00
sean-m-sullivan
e416b55b1a update to fix missing options and fix pep8 2020-10-19 15:15:33 -05:00
sean-m-sullivan
91ef686fe0 update to incorporate requested changes, change approve to 201 response. 2020-10-19 15:11:19 -05:00
softwarefactory-project-zuul[bot]
d7864c58c1 Merge pull request #8403 from chrismeyersfsu/fix-same_jt_abuse_devel
Improve general performance for a variety of high-load job launch use cases

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-19 19:38:32 +00:00
softwarefactory-project-zuul[bot]
933de6aa97 Merge pull request #8312 from thedoubl3j/requirement_yaml
related #4540 updating project_update.yml to accept yaml extension 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-19 19:32:01 +00:00
softwarefactory-project-zuul[bot]
ed5074c09c Merge pull request #8408 from marcolussetti/fix-docker-compose-install
Point installer to community.general.docker_image

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-19 18:47:57 +00:00
softwarefactory-project-zuul[bot]
5c751f3f8e Merge pull request #8230 from nixocio/ui_issue_7751
Add username to tooltip

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-19 17:20:01 +00:00
sean-m-sullivan
862cd974ff linting 2020-10-19 12:12:08 -05:00
Jake Jackson
be6ed623f6 updating project_update.yml to accept yaml extension 2020-10-19 11:23:44 -04:00
Chris Meyers
11cc6362b5 reduce per-job database query count
* Do not query the database for the set of Instance that belong to the
group for which we are trying to fit a job on, for each job.
* Instead, cache the set of instances per-instance group.
2020-10-19 11:01:11 -04:00
Chris Meyers
bdabe36029 reduce parent->child lock contention
* We update the parent unified job template to point at new jobs
created. We also update a similar foreign key when the job finishes
running. This causes lock contention when the job template is
allow_simultaneous and there are a lot of jobs from that job template
running in parallel. I've seen as bad as 5 minutes waiting for the lock
when a job finishes.
* This change moves the parent->child update to OUTSIDE of the
transaction if the job is allow_simultaneous (inherited from the parent
unified job). We sacrafice a bit of correctness for performance. The
logic is, if you are launching 1,000 parallel jobs do you really care
that the job template contains a pointer to the last one you launched?
Probably not. If you do, you can always query jobs related to the job
template sorted by created time.
2020-10-19 11:01:05 -04:00
Chris Meyers
2eac5a8873 reduce per-job database query count
* Do not query the database for the set of Instance that belong to the
group for which we are trying to fit a job on, for each job.
* Instead, cache the set of instances per-instance group.
2020-10-19 10:54:56 -04:00
Chris Meyers
09a0448c3e reduce parent->child lock contention
* We update the parent unified job template to point at new jobs
created. We also update a similar foreign key when the job finishes
running. This causes lock contention when the job template is
allow_simultaneous and there are a lot of jobs from that job template
running in parallel. I've seen as bad as 5 minutes waiting for the lock
when a job finishes.
* This change moves the parent->child update to OUTSIDE of the
transaction if the job is allow_simultaneous (inherited from the parent
unified job). We sacrafice a bit of correctness for performance. The
logic is, if you are launching 1,000 parallel jobs do you really care
that the job template contains a pointer to the last one you launched?
Probably not. If you do, you can always query jobs related to the job
template sorted by created time.
2020-10-19 10:54:51 -04:00
Marco Lussetti
9818440d0f curtail change to ansible >= 2.10 per feedback 2020-10-19 06:28:50 -07:00
Anton Nesterov
2e237661f8 Add the inventory_source as alias. 2020-10-17 17:33:53 +02:00
Anton Nesterov
8a09731a52 Rename inventory_source param to name
* fixes #8347
* Rename inventory_source to name in the tower_inventory_source_update
* Allow to specify both name or id for `name` and `inventory` params
2020-10-17 17:33:53 +02:00
sean-m-sullivan
4151361420 linting 2020-10-17 01:13:50 -05:00
sean-m-sullivan
c0e1ac266c add tests 2020-10-17 01:00:14 -05:00
Sean Sullivan
6c1f688bf1 Merge pull request #16 from sean-m-sullivan/approval_role
update to approval role
2020-10-17 00:10:00 -05:00
sean-m-sullivan
0393d537de rewrite to use lists 2020-10-17 00:08:39 -05:00
sean-m-sullivan
82bb8033ec update to approval role 2020-10-16 13:27:28 -05:00
Sean Sullivan
106b19a05d Merge pull request #13 from ansible/devel
Rebase
2020-10-16 12:15:47 -05:00
sean-m-sullivan
7ca2f33112 update test 2020-10-16 11:22:12 -05:00
sean-m-sullivan
ad1937b394 update test 2020-10-16 11:16:15 -05:00
sean-m-sullivan
0fee6d8b86 update test 2020-10-16 10:52:56 -05:00
Marco Lussetti
8217d14e36 Point installer to community.general.docker_image
Fixes issue in Ansible 2.10.2 where docker_image command is not found.
2020-10-15 20:38:29 -07:00
softwarefactory-project-zuul[bot]
28e792056d Merge pull request #8398 from john-westcott-iv/fix_stack_trace
Fixing stack trace from an error not having a detail

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-15 21:37:49 +00:00
softwarefactory-project-zuul[bot]
59b5104431 Merge pull request #8397 from john-westcott-iv/inv_src_get_one_fix
Fixing get_one calls in tower_inventory_source_update

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-15 21:33:19 +00:00
John Westcott IV
c759c83daf Fixing stack trace from an error not having a detail 2020-10-15 15:09:11 -04:00
John Westcott IV
407356239b Fixing get_one calls in tower_inventory_source_update 2020-10-15 12:40:31 -04:00
softwarefactory-project-zuul[bot]
1d1e1787c4 Merge pull request #8395 from jakemcdermott/current-year
Use current year in about modal

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-15 15:47:06 +00:00
Shane McDonald
df43221c24 Makefile logic to retry failed galaxy installs 2020-10-15 10:43:48 -04:00
Jake McDermott
09c961fc56 Use current year in about modal 2020-10-15 10:02:27 -04:00
softwarefactory-project-zuul[bot]
cd72bb6cb2 Merge pull request #8393 from mabashian/remove-mathjs
Remove mathjs as a dependency

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-14 18:36:01 +00:00
softwarefactory-project-zuul[bot]
26616a409f Merge pull request #8386 from john-westcott-iv/issue_8338
Fixing resetting of variables and adding unit test for condition

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-14 18:11:46 +00:00
Jake McDermott
3c71ab1bd7 Remove math licenses 2020-10-14 14:07:53 -04:00
softwarefactory-project-zuul[bot]
47cffd3c02 Merge pull request #8392 from mabashian/upgrade-angular-1.8.1
Upgrade angular to 1.8.1

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-10-14 17:17:29 +00:00
softwarefactory-project-zuul[bot]
63249dc241 Merge pull request #8351 from nixocio/ui_issue_7721
Update AddDropDownButton to show down caret

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-14 17:13:13 +00:00
John Westcott IV
0d8b1d172c Fixing linting and spelling 2020-10-14 12:39:15 -04:00
mabashian
851c802ea8 Remove mathjs as a dependency 2020-10-14 12:18:51 -04:00
mabashian
1d65b8cd53 Upgrade angular to 1.8.1 2020-10-14 11:16:51 -04:00
sean-m-sullivan
237727dd62 update pytest 2020-10-13 20:56:50 -05:00
sean-m-sullivan
d9184e02f5 update pytest 2020-10-13 20:40:35 -05:00
sean-m-sullivan
3b903a7459 fix typo 2020-10-13 18:41:52 -05:00
sean-m-sullivan
c72c335b0c fix pep8 issues 2020-10-13 18:27:27 -05:00
sean-m-sullivan
51eb4e6d6b update to auto_exit, add tests, add mutual exclusive parameters 2020-10-13 18:17:22 -05:00
John Westcott IV
f0449adcf8 Fixing resetting of variables and adding unit test for condition 2020-10-13 16:46:05 -04:00
sean-m-sullivan
e16a910062 updated workflow task name 2020-10-13 14:24:56 -05:00
sean-m-sullivan
6b27ee6a3c updated workflow name 2020-10-13 14:24:22 -05:00
softwarefactory-project-zuul[bot]
1ecd38a4ee Merge pull request #8369 from nixocio/ui_issue_5685
Add general updates for User screen

Reviewed-by: Kersom
             https://github.com/nixocio
2020-10-13 18:56:53 +00:00
softwarefactory-project-zuul[bot]
defb65d3d5 Merge pull request #8319 from asohh/devel
Added Groups/Hosts/Sources count to inventory list rows #7674

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-13 15:10:36 +00:00
softwarefactory-project-zuul[bot]
f283a6ef68 Merge pull request #8382 from ryanpetrello/cli-docs-clarification
clarify the instructions for building CLI docs

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2020-10-13 13:44:11 +00:00
softwarefactory-project-zuul[bot]
f9e8c03ec6 Merge pull request #7090 from jladdjr/updates_to_same_inv_should_happen_serially
Updates to a given inventory should happen serially

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-13 13:28:01 +00:00
Ryan Petrello
77d0958490 clarify the instructios for building CLI docs 2020-10-13 09:04:35 -04:00
softwarefactory-project-zuul[bot]
058049aa1b Merge pull request #8376 from ryanpetrello/15-0-0-galaxy-note
Clarify behavioral changes from content syncing behavior in 15.0.0+

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-12 20:22:37 +00:00
softwarefactory-project-zuul[bot]
bad064b577 Merge pull request #8370 from ryanpetrello/fix-bad-extra-vars-warning
fix a confusing error message when extra vars aren't valid JSON/YAML

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-12 20:17:15 +00:00
Ryan Petrello
faf0fa9040 Clarify behavioral changes from content syncing behavior in 15.0.0+
see: https://github.com/ansible/awx/issues/8341
2020-10-12 15:51:08 -04:00
sean-m-sullivan
226046dd16 update 2020-10-12 12:03:37 -05:00
Ryan Petrello
0cdcbdfea6 fix a confusing error message when extra vars aren't valid JSON/YAML
see: https://github.com/ansible/awx/issues/8359
2020-10-12 12:56:13 -04:00
Jim Ladd
05ac2c1ec2 Updates to a given inventory should happen serially 2020-10-12 09:34:37 -07:00
nixocio
1dd7651d49 Add general updates for User screen
* Add type of login used as part of UserListItem.
* Add type of login used as part of UserDetail.
* Hide password field, UserForm, in case login method is LDAP or Social.
* Make username field, UserForm, not required in case login is LDAP or
Social.

See: https://github.com/ansible/awx/issues/5685
2020-10-12 12:03:31 -04:00
softwarefactory-project-zuul[bot]
49c0b77c60 Merge pull request #8326 from wenottingham/param-a-lot
Fix 500 when required LDAP group parameters aren't set.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-12 15:58:27 +00:00
softwarefactory-project-zuul[bot]
119c907279 Merge pull request #8353 from jbradberry/zedr-wfjt-inventories
Zedr wfjt inventories

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-12 15:55:01 +00:00
sean-m-sullivan
c205ee81f0 update delete 2020-10-12 00:17:18 -05:00
sean-m-sullivan
c57ec1ea79 update delete 2020-10-10 13:25:09 -05:00
sean-m-sullivan
c3045f6a29 update delete 2020-10-10 13:02:58 -05:00
sean-m-sullivan
7ffa70422a remove typo changes 2020-10-10 11:57:34 -05:00
sean-m-sullivan
5655f766f0 linting 2020-10-10 11:56:00 -05:00
sean-m-sullivan
a2c8e3d87e clean up and tests added 2020-10-10 11:53:50 -05:00
Adrian Sorge
8f37afeec4 Changed Listgroup to div 2020-10-10 14:21:19 +01:00
sean-m-sullivan
9bcb5ef0c9 intial update for workflow approval nodes 2020-10-10 04:06:49 -05:00
Sean Sullivan
501c91f035 Merge pull request #12 from ansible/devel
rebase
2020-10-09 23:25:32 -05:00
Jeff Bradberry
a07dabae9e Attempt to infer related pages on export when the link is missing 2020-10-09 14:06:28 -04:00
softwarefactory-project-zuul[bot]
e6c124962b Merge pull request #8352 from nixocio/ui_issue_6857
Mark missing words for translation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-09 16:01:40 +00:00
softwarefactory-project-zuul[bot]
bb15132031 Merge pull request #8306 from thedoubl3j/sanity_ignore
fixing quotes to not fail smart quotes sanity test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-09 15:16:13 +00:00
softwarefactory-project-zuul[bot]
0d4226a903 Merge pull request #8342 from AlexSCorey/8283-InventoryHelperMisalignment
Fixes invalid text location

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-08 19:49:43 +00:00
Keith Grant
2133b83db4 fix handling of nested API form errors 2020-10-08 09:14:51 -07:00
nixocio
d149e23170 Mark missing words for translation
Add missing words for translation.

`...more`, and `Show Less` were already marked for translation in a
previous PR, since this code is shared as part of the `ChipGroup` code.

See: https://github.com/ansible/awx/issues/6857
2020-10-08 11:25:24 -04:00
Rigel Di Scala
32c08a09c3 Serialize Workflow Job Template inventories by natural key - related #7798
This changeset introduces two changes:

 1. Update the API representation of Workflow Job Templates to use the
 natural key of the Inventory type instead of its id;
 2. Override the related property of the CLI's WorkflowJobTemplate page
 type to patch the related references during the export process,
 allowing the resource to be serialised using the natural key of the
 Inventory type instead of the id.

Change n.2 is a workaround that is used when exporting resources from
AWX/Tower instances that don't have change n.1. It can be removed in the
future.
2020-10-08 10:21:00 -04:00
nixocio
1fbcd7e434 Update AddDropDownButton to show down caret
Update AddDropDownButton to show down caret

See: https://github.com/ansible/awx/issues/7721
2020-10-08 09:17:50 -04:00
softwarefactory-project-zuul[bot]
a1700404cd Merge pull request #8243 from AlexSCorey/AdHocCommandsOnLists
Adds Ad Hoc Commands To Remaining Lists

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-07 21:55:14 +00:00
Alex Corey
b04be850b5 fixes bug where one can launch erronously, adds tests for that bug 2020-10-07 12:18:13 -04:00
Keith Grant
f5e4147502 add comment to tests 2020-10-07 08:30:11 -07:00
softwarefactory-project-zuul[bot]
503886b704 Merge pull request #8325 from rooftopcellist/i18n_devel_ja_oct5
UI translation strings for devel branch

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-07 13:50:07 +00:00
Alex Corey
ee28dff7cb fixes invalid text location 2020-10-07 09:11:44 -04:00
Keith Grant
52f37242fc clean up & unit test form error handling 2020-10-06 14:48:23 -07:00
softwarefactory-project-zuul[bot]
37b3cc72b2 Merge pull request #8235 from AlexSCorey/5913-RefactorJTPOL
Restructures Job Template POL and renames useSteps

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-06 18:47:12 +00:00
Bill Nottingham
bc22fa56dc Fix 500 when required LDAP group parameters aren't set. 2020-10-05 22:15:20 -07:00
softwarefactory-project-zuul[bot]
4af4252604 Merge pull request #8298 from keithjgrant/7677-a11y-text
Add accessibility labels to job status/cloud sync icons

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-05 21:54:01 +00:00
Alex Corey
b1a1c82169 fixes unresponsive clear all on survey step 2020-10-05 17:13:52 -04:00
Alex Corey
935c7a5328 refactors useSteps to allow each step to handle errors 2020-10-05 17:13:52 -04:00
ansible-translation-bot
792662f3d6 UI translation strings for devel branch 2020-10-05 16:02:24 -04:00
Adrian Sorge
d4e4e3020c changes of npm run prettier 2020-10-05 18:02:54 +01:00
Adrian Sorge
7b13a42daa Fixed Suggestions from Code Review 2020-10-05 17:49:21 +01:00
softwarefactory-project-zuul[bot]
ac105ccd05 Merge pull request #8315 from jakemcdermott/deps-autofix-10-02
Address dependency warning

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2020-10-05 16:00:12 +00:00
Keith Grant
b7070b7a72 add aria-hidden to Running/Waiting job icons 2020-10-05 08:23:41 -07:00
Adrian Sorge
70141f3d77 Added Groups/Hosts/Sources count to inventory list rows #7674 2020-10-04 15:17:25 +01:00
Jake McDermott
4907aa35a9 Update vulnerable dependency 2020-10-02 20:35:30 -04:00
Alex Corey
f051c4d58a fixes bug with disappearing modal and arguments field validation 2020-10-02 17:17:49 -04:00
softwarefactory-project-zuul[bot]
bd224a75db Merge pull request #8282 from marshmalien/8044-inventory-file-bug
Fix inventory file dropdown placeholder value

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-02 20:35:08 +00:00
Alex Corey
eb2d7c6a77 Adds Ad Hoc Commands 2020-10-02 15:41:25 -04:00
softwarefactory-project-zuul[bot]
0b824ee058 Merge pull request #8313 from ryanpetrello/fix-garbled-unicode-in-notifications
fix a display bug in notification bodies with unicode characters

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-02 19:30:21 +00:00
Ryan Petrello
30b6fd27b3 fix a display bug in notification bodies with unicode characters
see: https://github.com/ansible/awx/issues/7400
2020-10-02 14:37:25 -04:00
softwarefactory-project-zuul[bot]
1792b1350c Merge pull request #8308 from rebeccahhh/awxkit_errormessage_correction
correct error message when calling tower_AWXKit collections module and venv doesn't have it

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-02 16:56:03 +00:00
softwarefactory-project-zuul[bot]
6a61b7ce49 Merge pull request #8307 from ryanpetrello/wf-approval-delete
fix a bug that prevents deletion of workflow approval records

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-01 22:43:32 +00:00
Rebeccah
5df37d4279 switched exit_json to be fail_json so it didn't trigger an error when attempting to utilize the missing_required_lib from ansible. Additionally fixed it for the second usage for correct usage. Given that it is an exception the correct one would not be to exit without failure, as exit_json does, but instead to use fail_json and be able to present the error 2020-10-01 18:28:26 -04:00
Ryan Petrello
64485c1066 fix a bug that prevents deletion of workflow approval records
see: https://github.com/ansible/awx/issues/8305
2020-10-01 16:06:53 -04:00
Jake Jackson
427e1cd214 fixing quotes to not fail smart quotes sanity test 2020-10-01 15:32:43 -04:00
softwarefactory-project-zuul[bot]
796a61da86 Merge pull request #8299 from jakemcdermott/fix-8154
Force logout and clear before social auth login

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-10-01 17:47:12 +00:00
Keith Grant
afe09695d4 update tests 2020-10-01 09:55:17 -07:00
softwarefactory-project-zuul[bot]
f774ef8635 Merge pull request #8304 from jakemcdermott/fix-7892
Remove self-closing tags from webhook cred lookup

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-10-01 16:34:00 +00:00
Jake McDermott
bfd224eb7c Remove self-closing tags from webhook cred lookup 2020-10-01 11:44:23 -04:00
Jake McDermott
7479b9faca Force logout and clear before social auth login 2020-10-01 11:15:46 -04:00
Keith Grant
e204325d1d add a11y label to SyncStatusIndicator 2020-09-30 14:36:07 -07:00
Keith Grant
c75c6ae03d add a11y label to StatusIcon 2020-09-30 14:32:45 -07:00
softwarefactory-project-zuul[bot]
1b6acdf84d Merge pull request #8274 from beeankha/add_collection_test_readme
Add New Testing Document for AWX Collections

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-30 19:17:46 +00:00
softwarefactory-project-zuul[bot]
5c0432b979 Merge pull request #8186 from marshmalien/setting-details
Add setting details and unit tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-30 19:01:30 +00:00
softwarefactory-project-zuul[bot]
c7869f0408 Merge pull request #8280 from nixocio/ui_issue_8189
Make ContainerGroupDetails a bit more robust

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-30 19:00:25 +00:00
Marliana Lara
5650344fe8 Fix inventory file dropdown placeholder value 2020-09-30 14:08:08 -04:00
nixocio
ae29eb9673 Make ContainerGroupDetails a bit more robust
In order to create a container group is necessary to provide a
credential.

See: https://github.com/ansible/awx/issues/8184

This change makes the code related to display the credential as part of
the container group details a bit more robust. Avoiding to attempt to
show a non-existent credential - what is not supposed to exist.

Closes: https://github.com/ansible/awx/issues/8199
2020-09-30 13:37:38 -04:00
softwarefactory-project-zuul[bot]
dc997346b6 Merge pull request #8279 from ryanpetrello/drf-release-note
Clarify changelog addition to address CVE-2020-25626

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-30 16:55:45 +00:00
Ryan Petrello
70a371b212 s/Tower/AWX 2020-09-30 12:28:11 -04:00
Ryan Petrello
429e752c26 Clarify changelog addition to address CVE-2020-25626 2020-09-30 12:20:43 -04:00
softwarefactory-project-zuul[bot]
679256fd25 Merge pull request #8239 from nixocio/ui_issue_8184
Add validate for `CredentialLookup` using required prop

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-30 15:24:35 +00:00
beeankha
1bb6601782 Add New Testing Doc for AWX Collections 2020-09-30 10:43:10 -04:00
softwarefactory-project-zuul[bot]
0a1ecd4fe3 Merge pull request #8248 from ryanpetrello/15.0.0-bump
bump version to 15.0.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-30 13:07:08 +00:00
softwarefactory-project-zuul[bot]
e7a5d4c5d8 Merge pull request #8267 from mabashian/8252-jt-tabs-reload
Reset error/result only after the next request has resolved to prevent render flickering

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-30 12:24:08 +00:00
Ryan Petrello
2e371dd2ea more 15.0.0 changelog 2020-09-29 17:38:42 -04:00
Ryan Petrello
98b24cd2d8 Bump version to 15.0.0 2020-09-29 17:36:32 -04:00
softwarefactory-project-zuul[bot]
abc6a84210 Merge pull request #8260 from ryanpetrello/drf-upgrade
update to the latest Django Rest Framework

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-29 20:59:45 +00:00
softwarefactory-project-zuul[bot]
a9cfae70ff Merge pull request #8041 from mabashian/7680-inv-pending-delete
Adds support for pending deletion on inventory list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-29 20:07:17 +00:00
softwarefactory-project-zuul[bot]
f47812845e Merge pull request #8229 from nixocio/ui_issue_7410
Make filter a bit more consistent accross UI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-29 19:53:52 +00:00
mabashian
e13b16bf1c Add erroneously removed exhaustive dep comment 2020-09-29 15:42:11 -04:00
nixocio
aa69b925ad Make filter a bit more consistent accross UI
Add `description`, `created_by` and `modified_by` when those fields are
available.

See: https://github.com/ansible/awx/issues/7410
2020-09-29 15:23:28 -04:00
mabashian
ae1d27255b Add delete error handling on inventory detail view 2020-09-29 15:05:35 -04:00
mabashian
f672cee3a0 Reset error/result only after the next request has resolved to prevent render flicking 2020-09-29 13:11:06 -04:00
softwarefactory-project-zuul[bot]
820d4d292e Merge pull request #8253 from beeankha/edit_approval_node_bugfix
Fix Approval Node Edit Permissions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-29 16:45:07 +00:00
softwarefactory-project-zuul[bot]
70dfe9a1f2 Merge pull request #8265 from Lodenk/typofix
fixed typo in the word example

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-29 16:36:58 +00:00
softwarefactory-project-zuul[bot]
6567fab1c8 Merge pull request #8251 from ryanpetrello/fix-vault-password-prompt-bug
fix a bug that can break password prompting in certain scenarios

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-09-29 16:35:55 +00:00
beeankha
f584c1cc47 Fix Approval Node Edit Permissions 2020-09-29 12:14:12 -04:00
Patrick
359682022f fixed typo in the word example 2020-09-29 12:00:37 -04:00
softwarefactory-project-zuul[bot]
f39015156b Merge pull request #8228 from john-westcott-iv/tower_ad_hoc_module
Adding ad hoc command modules

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-29 14:59:52 +00:00
Ryan Petrello
089b0503bb update to the latest Django Rest Framework 2020-09-29 10:25:07 -04:00
softwarefactory-project-zuul[bot]
2019f808b9 Merge pull request #8254 from RULCSoft/fix-typos
Fix a few typos in awx/ui

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-29 14:04:51 +00:00
mabashian
3f1434f0f5 Only attempt to display sting error messages in ErrorDetail 2020-09-29 09:59:39 -04:00
softwarefactory-project-zuul[bot]
7f7864fe2b Merge pull request #8259 from rooftopcellist/gettext_translations
Include Gettext in dev container image for translation automation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-29 13:48:28 +00:00
Ryan Petrello
c52054951d fix a bug that can break password prompting in certain scenarios
see: https://github.com/ansible/awx/issues/8202
2020-09-29 09:34:38 -04:00
mabashian
6942b4d5b6 Change deleteTeams to deleteInventories 2020-09-29 09:29:18 -04:00
mabashian
10110643ed Flatten out decision tree when an inventory websocket message is processed 2020-09-29 09:09:52 -04:00
mabashian
40e4ba43ef Copy the query params so that we don't add id__in to them. This fixes a bug where a newly copied row would not show up on the list if a websocket message for an inventory source sync had come through beforehand because id__in had been added to the query params. 2020-09-29 09:09:52 -04:00
mabashian
6681ffa8df Add default module_name to adhoc details step test to get rid of logged console error 2020-09-29 09:09:52 -04:00
mabashian
d84615f64b Rename onLoading/onDoneLoading props to onCopyStart and onCopyFinish. Wrap the functions being passed in as those props in useCallback to keep them hooks safe. 2020-09-29 09:09:52 -04:00
mabashian
4b566e9388 Adds support for pending deletion on inventory list 2020-09-29 09:09:52 -04:00
Christian M. Adams
e7b5f311b5 Include Gettext in dev container image for translation automation 2020-09-29 08:53:18 -04:00
Jorge Vallecillo
b335f698e4 Fix a few typos in awx/ui 2020-09-28 19:00:25 -06:00
softwarefactory-project-zuul[bot]
d6201d9eb6 Merge pull request #8224 from tchellomello/import_db
Ability to import standard pgdump into Openshift

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-28 17:24:35 +00:00
nixocio
98b9d4358d Add username to tooltip
Add username to tooltip when user cannot be deleted.

See: https://github.com/ansible/awx/issues/7751
2020-09-28 13:22:01 -04:00
Marliana Lara
bd3c4ca50f Fix aria label routed tab bug value "Object Object" 2020-09-28 12:11:10 -04:00
softwarefactory-project-zuul[bot]
d6f0e16b4d Merge pull request #8242 from wenottingham/certifi-ably-unbundled
Replace certifi with an alternate version

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-28 16:10:30 +00:00
softwarefactory-project-zuul[bot]
0c7bfa543b Merge pull request #8001 from velzend/allow_skipping_provision_instance_and_register_queue
allow skipping provision instance and register queue

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-28 15:20:35 +00:00
softwarefactory-project-zuul[bot]
36d4f255a3 Merge pull request #8236 from ryanpetrello/more-callback-cleanup
refactor some callback receiver code

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-28 15:20:29 +00:00
softwarefactory-project-zuul[bot]
30fd418cc9 Merge pull request #8220 from mabashian/fix-padding-pol-fields
Fix padding on field labels with prompt on launch checkboxes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-28 13:42:37 +00:00
softwarefactory-project-zuul[bot]
24e9484f55 Merge pull request #7338 from mabashian/cred-plugin-test-button
Hook up Test button on Metadata step in credential plugin wizard

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2020-09-25 19:52:44 +00:00
Bill Nottingham
85b694410b Adjust included licenses 2020-09-25 15:51:55 -04:00
Bill Nottingham
d0ba59735c Replace certifi with an alternate version
This version just uses the system cert store.
2020-09-25 14:39:16 -04:00
nixocio
1aa90af342 Add validate for CredentialLookup using required prop
When using `CredentialLookup` with required prop. The `validate`
argument must be provided to the `useField`.

See: https://github.com/ansible/awx/issues/8184
2020-09-25 14:19:51 -04:00
Marliana Lara
558dfb685e Add a new key "unit" to api setting fields
* Add detail popover
* Fix broken redirects
* Add additional id and data-cy attributes to Detail components
* Remove galaxy fields from job settings
2020-09-25 14:00:27 -04:00
beeankha
b34c1f4c79 Update integration tests 2020-09-25 13:23:34 -04:00
Ryan Petrello
baad765179 refactor some callback receiver code
the bigint migration removed the foreign key constraints for:

- host_id
- job_id (and projectupdate_id, etc...)

because of this, we don't really need to check explicitly for a host_id
IntegrityError anymore (because it won't occur)

additionally, while it's possible to insert an event with a mismatched
job_id now (for example, you can totally start a long-running job, and
delete the job record in the background using the ORM or psql), doing
so results in DoesNotExist errors in the code that handles the
playbook_on_stats events
2020-09-25 13:12:42 -04:00
softwarefactory-project-zuul[bot]
b4d6270eab Merge pull request #8232 from mabashian/8219-extra-GET-requests
Fix extra GET requests on Notif Template/Container Groups forms

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-25 13:37:43 +00:00
John Westcott IV
842e490ba6 Removing needs devel ad hoc entry 2020-09-25 08:51:28 -04:00
John Westcott IV
5b10482256 Fixing linting 2020-09-25 08:49:28 -04:00
John Westcott IV
baf3b617cb Initial commit of ad hoc module 2020-09-25 08:49:28 -04:00
softwarefactory-project-zuul[bot]
acc0ba570e Merge pull request #8205 from john-westcott-iv/tower_application_continuation
Tower application continuation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-25 00:24:01 +00:00
mabashian
56ed2c6afa Autopopulate credential on container group form and organization on notification template form 2020-09-24 17:26:33 -04:00
mabashian
24a4236232 Wrap onChange functions passed to lookups in useCallback since these functions are eventually passed to a hook and used in a dependency array. 2020-09-24 17:07:58 -04:00
softwarefactory-project-zuul[bot]
ce65ed0ac6 Merge pull request #8191 from ryanpetrello/callback-directly-to-redis
remove multiprocessing.Queue usage from the callback receiver

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-24 18:21:49 +00:00
Ryan Petrello
cd0b9de7b9 remove multiprocessing.Queue usage from the callback receiver
instead, just have each worker connect directly to redis
this has a few benefits:

- it's simpler to explain and debug
- back pressure on the queue keeps messages around in redis (which is
  observable, and survives the restart of Python processes)
- it's likely notably more performant at high loads
2020-09-24 13:53:58 -04:00
John Westcott IV
a9ea2523c9 Fixing linting/doc issues 2020-09-24 13:33:35 -04:00
softwarefactory-project-zuul[bot]
d97f80df43 Merge pull request #8221 from beeankha/job_timeout_notification_bugfix
Enable "On Fail" Notifications to Send Upon Timeout of Job Templates

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-24 13:53:04 +00:00
Marcelo Moreira de Mello
f1b8a63d91 Ability to import standard pgdump into Openshift 2020-09-23 22:33:57 -04:00
beeankha
c855ce95aa Fix JT timeout notification bug 2020-09-23 15:45:11 -04:00
mabashian
b714a0dc7e Fix padding on field labels with prompt on launch checkboxes 2020-09-23 15:27:31 -04:00
Marliana Lara
a69a40a429 Rename radius to correct name 2020-09-23 15:00:06 -04:00
Marliana Lara
749afd53a1 Rename radius to incorrect name 2020-09-23 14:59:00 -04:00
Marliana Lara
7dc1157f69 Rename files to incorrect name
Rename files to correct name
2020-09-23 14:54:29 -04:00
Marliana Lara
b768b0222e Add setting details and unit tests 2020-09-23 14:54:26 -04:00
softwarefactory-project-zuul[bot]
aac17b9d2c Merge pull request #8206 from ryanpetrello/more-bulk-update-last-job
change host -> last_job_id bulk update query to avoid locking issues

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-23 15:18:42 +00:00
softwarefactory-project-zuul[bot]
d7ca49ce4a Merge pull request #8193 from ryanpetrello/ws-broadcast-limited
add a few additional optimizations to the callback receiver

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2020-09-23 14:58:41 +00:00
John Westcott IV
4a4e62e035 Removing tower_application from needs_development in completeness test 2020-09-23 09:54:06 -04:00
softwarefactory-project-zuul[bot]
e5f5ad198a Merge pull request #8212 from branic/add_postgres_custom_root_ca
Add custom root ca certificate via configmap

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-23 13:41:13 +00:00
softwarefactory-project-zuul[bot]
ee3f835ea9 Merge pull request #8213 from ryanpetrello/galaxy-ignore-certs-ui
expose GALAXY_IGNORE_CERTS in the job settings UI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-23 13:15:28 +00:00
John Westcott IV
cb1ba9e3a4 Fixing zuul issues 2020-09-23 09:03:03 -04:00
Ryan Petrello
1f0cd8df71 expose GALAXY_IGNORE_CERTS in the job settings UI 2020-09-23 08:36:52 -04:00
Brant Evans
512da5a01c Add custom root ca certificate via configmap
Signed-off-by: Brant Evans <bevans@redhat.com>
2020-09-22 16:42:39 -07:00
Ryan Petrello
89ff8e1f3e change host -> last_job_id bulk update query to avoid locking issues
see: https://github.com/ansible/awx/issues/8145
2020-09-22 16:04:28 -04:00
softwarefactory-project-zuul[bot]
3184bccb33 Merge pull request #8204 from marshmalien/words-matter-pt2
Replace google oauth2 setting with more inclusive language

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-22 19:43:40 +00:00
John Westcott IV
c5df37777b Addig tests and updating minor module bugs 2020-09-22 15:22:35 -04:00
Marliana Lara
0732b047b5 Replace setting term with inclusive language 2020-09-22 15:09:55 -04:00
Geoffrey Bachelot
1c729518a5 Delete depcreated username parameter 2020-09-22 14:54:35 -04:00
Geoffrey Bachelot
5a374585de delete deprecated parameters and add missing skip_authorization 2020-09-22 14:54:35 -04:00
Geoffrey Bachelot
b9d2e431a6 Create tower_application module 2020-09-22 14:54:35 -04:00
Ryan Petrello
b370e8389e add a few additional optimizations to the callback receiver 2020-09-22 08:51:01 -04:00
Jake McDermott
b6afc085a7 Reload on stats when live updates are disabled 2020-09-21 20:42:44 -04:00
Ryan Petrello
bed2dea04d don't broadcast ws:// events when UI_LIVE_UPDATES_ENABLED is False 2020-09-21 20:42:39 -04:00
softwarefactory-project-zuul[bot]
31cd36b768 Merge pull request #8104 from mabashian/4254-auto-pop-lookup
Auto populate various required lookups on various forms

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-21 21:37:02 +00:00
softwarefactory-project-zuul[bot]
dc492d0cfd Merge pull request #8179 from nixocio/ui_fix_undefined_variable
Fix issue with undefined variable

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-21 18:28:15 +00:00
softwarefactory-project-zuul[bot]
9a8580144c Merge pull request #8189 from kdelee/analytics_logging
Need log level info to show up with new settings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-21 17:52:15 +00:00
mabashian
10ae6c9042 Cleans up console error thrown from this test. Also fixed the last test as it wasn't actually testing the desired behavior. 2020-09-21 13:24:23 -04:00
mabashian
8bee409a4a Auto populate various required lookups on various forms 2020-09-21 13:24:23 -04:00
Elijah DeLee
7c7d15a8be Need log level info to show up with new settings 2020-09-21 11:22:43 -04:00
softwarefactory-project-zuul[bot]
9eb8ac620f Merge pull request #8180 from jakemcdermott/deps-autofix
Upgrade lingui-cli to 2.9.2

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2020-09-21 15:08:19 +00:00
softwarefactory-project-zuul[bot]
44d1e15ef4 Merge pull request #8177 from ryanpetrello/rrule-bug
fix an rrule bug that causes improper HOURLY/MINUTELY calculation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-18 20:02:10 +00:00
softwarefactory-project-zuul[bot]
0c81b83080 Merge pull request #8078 from nixocio/ui_issue_8073
Add Container Group details

Reviewed-by: Kersom
             https://github.com/nixocio
2020-09-18 19:15:14 +00:00
softwarefactory-project-zuul[bot]
a2408892a8 Merge pull request #8152 from AlanCoding/import_fix
Fix AWX collection import test interference with Default organization

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-18 19:05:22 +00:00
softwarefactory-project-zuul[bot]
deab7395f2 Merge pull request #8150 from keithjgrant/7878-notification-websockets
Update status after sending test notification

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-18 17:52:38 +00:00
Keith Grant
3ed05e9d9b fix NotificationTemplateItem test 2020-09-18 10:20:17 -07:00
Jake McDermott
34579226ef Upgrade lingui-cli to 2.9.2 2020-09-18 13:01:04 -04:00
nixocio
9d0b37e96c Fix issue with undefined variable
Fix issue with undefined variable when data related to `me` is not
available.
2020-09-18 12:30:53 -04:00
softwarefactory-project-zuul[bot]
256123dc9d Merge pull request #8168 from keithjgrant/3321-session-management
Logout session if config returns 401

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2020-09-18 16:08:06 +00:00
Ryan Petrello
bf1d93168b fix an rrule bug that causes improper HOURLY/MINUTELY calculation
see: https://github.com/ansible/awx/issues/8071
2020-09-18 12:06:07 -04:00
softwarefactory-project-zuul[bot]
39497fa502 Merge pull request #8178 from ryanpetrello/callback-status-sos
report callback receiver status in the sosreport

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-18 15:15:21 +00:00
Ryan Petrello
a1ddbd760d report callback receiver status in the sosreport 2020-09-18 10:49:50 -04:00
softwarefactory-project-zuul[bot]
c17bb36bcd Merge pull request #8167 from ryanpetrello/callback-cleanup
Add support for a `--status` to the callback receiver (and improve our approach to stats collection in general)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-18 13:58:30 +00:00
Keith Grant
43d339d1cd fix test 2020-09-17 13:46:43 -07:00
softwarefactory-project-zuul[bot]
56c5a39087 Merge pull request #8159 from john-westcott-iv/lookup_plugin_fix
Fixing issue with lookup plugin not able to load host, user, etc

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-17 20:03:15 +00:00
Ryan Petrello
57f8e48894 make --status more robust for dispatcher, and add support for receiver
make the --status flag work by fetching a periodically recorded snapshot
of internal process state; additionally, update the callback receiver to
*also* record these statistics so we can gain more insight into any
performance issues
2020-09-17 15:33:37 -04:00
Keith Grant
cde8cb57da allow app skeleton to display while config is loading 2020-09-17 12:31:13 -07:00
softwarefactory-project-zuul[bot]
969f75778c Merge pull request #8166 from wenottingham/log-log-log
Fix analytics logging

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-17 18:42:29 +00:00
Bill Nottingham
18c27437b7 Fix analytics logging
The analytics change PR adjusted the logging for awx.analytics,
which solved the issue, but should have used the targeted awx.main.analytics.

Also flip a couple of loggers to use the regular awx.analytics (awx analytics)
logger instead of awx.main.analytics (the automation anayltics task system).
2020-09-17 13:39:14 -04:00
John Westcott IV
baa00bd582 Truthy strikes again 2020-09-17 07:51:01 -04:00
Keith Grant
6c4f9364ee kick back to login page if config gets 401 response 2020-09-16 15:35:02 -07:00
John Westcott IV
ee3a90d193 Adding example of specifying connection info 2020-09-16 14:52:41 -04:00
John Westcott IV
24bdbd8c58 Fixing issue with lookup plugin not able to load host, user, etc 2020-09-16 14:41:04 -04:00
Ryan Petrello
0df6409244 remove task state tracking from the callback receiver
we don't have support for displaying these stats anyways, so there's
no point in using resources tracking them, especially for high-volume
installs
2020-09-16 13:40:42 -04:00
softwarefactory-project-zuul[bot]
aceb8229ba Merge pull request #8153 from AlanCoding/delete_things
Remove out of date collection testing tools

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-16 15:05:56 +00:00
Alan Rominger
e177432b8f Do not expect failure in tower_import test 2020-09-16 10:34:11 -04:00
softwarefactory-project-zuul[bot]
1860a2f71d Merge pull request #8087 from AlanCoding/update_secrets
Add new option update_secrets to allow lazy or strict updating

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-16 03:19:55 +00:00
Alan Rominger
05fb47dece Remove out of date collection testing tools 2020-09-15 22:59:12 -04:00
Alan Rominger
3aec1a115d fix wording 2020-09-15 22:38:37 -04:00
Alan Rominger
2f1a9a28ea streamline credential test 2020-09-15 22:38:37 -04:00
Alan Rominger
362d6a3204 Add new option update_secrets to allow lazy or strict updating 2020-09-15 22:38:37 -04:00
Nicolas Payart
8e97214309 Add option update_password (always, on_create) to tower_user module 2020-09-15 22:37:50 -04:00
Alan Rominger
48f30c5106 Fix AWX collection import test interference with Default organization 2020-09-15 22:03:37 -04:00
Keith Grant
a10f52c70e poll for notification status after sending test 2020-09-15 15:37:44 -07:00
softwarefactory-project-zuul[bot]
ef3a497c42 Merge pull request #8147 from ryanpetrello/py-path
move an optional import for awxkit

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-15 19:32:26 +00:00
softwarefactory-project-zuul[bot]
4b72630087 Merge pull request #8136 from neoaggelos/awxkit-import-yaml-loader
Support `!import` and `!include` in `awx import -f yaml` command

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-15 18:56:06 +00:00
softwarefactory-project-zuul[bot]
432e167930 Merge pull request #8105 from keithjgrant/7877-notification-custom-messages
Notification Detail: show custom messages

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-15 18:53:41 +00:00
Ryan Petrello
1a533a2a23 move an optional import for awxkit
I'm not sure that this function is actually in use anywhere anymore, but
it shouldn't be a top-level import because it represents an optional
dependency.
2020-09-15 14:50:01 -04:00
Keith Grant
fa0abc0dd8 notification templates: fix un-select all 2020-09-15 10:56:55 -07:00
softwarefactory-project-zuul[bot]
b0875965db Merge pull request #8138 from moreiramarti/devel
K8s ServiceAccount variabilization

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-15 14:35:08 +00:00
nixocio
d3d3fe8892 Add Container Group details
Add Container Group details.

See: https://github.com/ansible/awx/issues/8073
2020-09-15 09:11:34 -04:00
Keith Grant
236ae6c5b6 handle null messages.workflow_approval some more 2020-09-14 16:05:03 -07:00
Keith Grant
b27d9b680a handle null messages.workflow_approval 2020-09-14 15:17:39 -07:00
softwarefactory-project-zuul[bot]
22bff7adec Merge pull request #8141 from kdelee/fix_analytics_tests
Print one targz per line (analytics gather)

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-14 22:04:23 +00:00
softwarefactory-project-zuul[bot]
a90bb36b72 Merge pull request #8055 from mabashian/8052-workflow-viz-rbac
Fixes some rbac issues in the workflow toolbar and start screen

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-14 21:14:12 +00:00
Elijah DeLee
d8e4ac773b Print one tarball per line
Printing out a python like list is hard to process for tests
Better to print out one tarball per line
2020-09-14 17:00:31 -04:00
softwarefactory-project-zuul[bot]
1a581a79ea Merge pull request #8070 from nixocio/ui_add_edit_container_groups
Add/Edit Container Groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-14 20:48:05 +00:00
softwarefactory-project-zuul[bot]
99da5770a7 Merge pull request #8139 from ansible/jakemcdermott-remove-self-closing-tag-tags
Remove self-closing tags for tag component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-14 16:59:55 +00:00
Martinho Moreira
8d5914b3f1 K8s ServiceAccount variabilization 2020-09-14 17:37:45 +02:00
Jake McDermott
c6aeb755a4 Remove self-closing tags for tag component 2020-09-14 11:28:52 -04:00
softwarefactory-project-zuul[bot]
9d66b41e84 Merge pull request #7991 from bbayszczak/hashivault_auth_path_in_inputs
hashivault_kv auth_path moved from metadata to inputs

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-09-14 15:28:07 +00:00
Aggelos Kolaitis
b8cf644959 Add name to StringIO object to fix failing test 2020-09-13 17:41:53 +03:00
Aggelos Kolaitis
9918b2581c Support !import and !include in awx import -f yaml command 2020-09-13 17:01:12 +03:00
softwarefactory-project-zuul[bot]
b69fad83b1 Merge pull request #7709 from wenottingham/so-many-del-toros
Adjust analytics gathering

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-11 21:41:05 +00:00
softwarefactory-project-zuul[bot]
424bf94a15 Merge pull request #8101 from ansible/jakemcdermott-expand-nav
Start with navigation expanded

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-11 20:16:02 +00:00
softwarefactory-project-zuul[bot]
9d4bad559f Merge pull request #8102 from jakemcdermott/remove-dead-projects-code
Remove dead projects code

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-11 20:09:25 +00:00
softwarefactory-project-zuul[bot]
1e9fb6b640 Merge pull request #8133 from fosterseth/update_task_manager_system_docs
Update task manager docs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-11 18:50:10 +00:00
mabashian
ad1c4b1586 Add unique ID to cred field external plugin button(s) 2020-09-11 14:17:35 -04:00
softwarefactory-project-zuul[bot]
412a294461 Merge pull request #7940 from mabashian/6616-workflow-results-sockets
Update job status and workflow node job status based on websocket events

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-11 17:31:47 +00:00
Seth Foster
3606b4e334 these rules no longer apply as of PRs 5519 and 5489 2020-09-11 12:59:18 -04:00
softwarefactory-project-zuul[bot]
0c5aaa2872 Merge pull request #8132 from wenottingham/halfway-there
Make ansible venv psutil match awx venv version

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-11 16:52:23 +00:00
Bill Nottingham
f1c59477c0 Make ansible venv psutil match awx venv version 2020-09-11 12:02:00 -04:00
softwarefactory-project-zuul[bot]
0a871c6107 Merge pull request #8119 from soomsoom/unarchive-rpm-pacakges
Adding unzip dnf package

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-11 15:57:38 +00:00
softwarefactory-project-zuul[bot]
61c4c5292c Merge pull request #8125 from jakemcdermott/fix-api-urls
Fix malformed urls

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-11 15:53:39 +00:00
softwarefactory-project-zuul[bot]
88c691fd6e Merge pull request #7993 from mabashian/7364-jobs-list-cancel
Adds cancel button to jobs list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-11 15:07:30 +00:00
mabashian
68426daaff Fix residual error from merge conflict 2020-09-11 10:50:27 -04:00
mabashian
d654af77cf Moves cred plugin test button down into wizard footer 2020-09-11 10:50:27 -04:00
mabashian
5cfca7896f Adds proptypes to CredentialPluginTestAlert component 2020-09-11 10:50:27 -04:00
mabashian
9f8691dbea Add the credential id and metadata from the form to the dependency array of useCallback when testing cred plugin configuration. This allows us to remove the variables passed in to the request. 2020-09-11 10:50:27 -04:00
mabashian
62054bbfc8 Pulls CredentialPlugins out of CredentialFormFields and into the root of the shared dir 2020-09-11 10:50:27 -04:00
mabashian
aed96de195 Fix merge conflict 2020-09-11 10:50:27 -04:00
mabashian
67f46b4d7e Hook up Test button on Metadata step in credential plugin wizard 2020-09-11 10:50:27 -04:00
mabashian
8fab4559b9 Add data-job-status attr to all StatusIcons so that automated tests can determine whether or not a status has been updated via websockets. 2020-09-11 09:27:44 -04:00
mabashian
45ca9976f3 Fix merge conflict error 2020-09-11 09:17:42 -04:00
mabashian
5b56bda0bb Fix tests after changing node data structure 2020-09-11 09:17:42 -04:00
mabashian
c318a17590 Refresh nodes after workflow has finished running so that we can display all job info for relevant nodes. 2020-09-11 09:17:42 -04:00
mabashian
e28c9bb3c4 Remove unnecessary constant variable 2020-09-11 09:17:42 -04:00
mabashian
c209c98e3f Update job for job detail/workflow details based on websockets. Re-fetch job after job finishes running to display all available info. 2020-09-11 09:17:42 -04:00
mabashian
af77116f1e Convert Job.jsx to functional component in preparation for socket hook usage 2020-09-11 09:17:42 -04:00
mabashian
328e503f5b Update workflow node job status based on websocket messages 2020-09-11 09:17:42 -04:00
mabashian
5d4ef86db7 Rename inv/inv source ws functions 2020-09-11 09:17:42 -04:00
mabashian
3e99e94b8c Redirect user to visualizer page after successful workflow creation 2020-09-11 09:17:42 -04:00
Bill Nottingham
13802fcf2b Don't return error messages for license errors
Just log the exception and return None.
2020-09-10 21:19:07 -04:00
Jake McDermott
b2ad75a1b7 Fix malformed urls 2020-09-10 18:31:49 -04:00
mabashian
130a43f5c4 Simplify kebab modal open logic 2020-09-10 15:32:30 -04:00
mabashian
0fc6affe85 Refactor kebab modal tracking logic in delete/cancel buttons 2020-09-10 15:32:29 -04:00
mabashian
c8a07309ee Fix typo 2020-09-10 15:32:29 -04:00
mabashian
2b60759edc Fix bug where delete/cancel buttons in kebab would not actually make delete/cancel requests 2020-09-10 15:32:29 -04:00
mabashian
225f57fefd Remove use of i18n.plural in favor of low level i18n._. 2020-09-10 15:32:29 -04:00
mabashian
bae10718d5 Remove RelatedAPI model in favor of JobsAPI. Adds cancel method to JobsAPI and uses that on the jobs list. 2020-09-10 15:32:29 -04:00
mabashian
f27b541396 Adds cancel button to jobs list toolbar 2020-09-10 15:32:29 -04:00
mabashian
6889128571 Peel axios instantiation out into it's own file so that it can be used in the RelatedAPI model 2020-09-10 15:32:29 -04:00
softwarefactory-project-zuul[bot]
4b51c71220 Merge pull request #8109 from AlanCoding/hack_null_org
Hack to delete orphaned organizations, consolidate get_one methods

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-10 18:15:45 +00:00
Jake McDermott
59ecefb1c5 Start with navigation expanded 2020-09-10 13:48:32 -04:00
Jake McDermott
c3f9993e18 Remove dead projects code 2020-09-10 13:28:00 -04:00
softwarefactory-project-zuul[bot]
328b270c9f Merge pull request #8121 from ryanpetrello/galaxy-cred-collection
address a few follow-up issues for Org -> Galaxy Credentials support

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-10 15:58:27 +00:00
Ryan Petrello
af238be377 address a few follow-up issues for Org -> Galaxy Credentials support
- add support for managing galaxy creds in the tower organization module
- fix a minor serializer bug
2020-09-10 11:00:21 -04:00
softwarefactory-project-zuul[bot]
4bb851ca66 Merge pull request #8118 from mjeffin/postres-volume-typo
Update docker-compose.yml.j2

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-10 14:39:43 +00:00
Alan Rominger
2e1f5cebb7 Further refine error message and update integration tests
Fix test with spaces

pep8 failure

More test tweaks

Even more test fixes
2020-09-10 09:49:27 -04:00
Alan Rominger
a73323f3d6 Hack to delete orphaned organizations, consolidate get_one methods
minor test update

Updating the message if more than one object is found

Update test to new message
2020-09-10 09:00:50 -04:00
soomsoom
014a38682d Adding unzip dnf package
Adding unzip DNF package to resolve an issue with the unarchive module when run locally
2020-09-10 06:26:07 -04:00
mjeffin
38fd652f89 Update docker-compose.yml.j2
Add quotes around volume value for posgres data. I installed via docker without changing any values and the UI was stuck in upgrading for long time. Browsed around and figured out that issue was due to postgres volume as a query was getting error. Inspected the template and found that there was no quotes around volume, unlike volumes for others. 
I added the quotes and docker compose was working
2020-09-10 13:53:52 +05:30
softwarefactory-project-zuul[bot]
ff7c2e9180 Merge pull request #8111 from ryanpetrello/bye-bye-boto
remove boto as an awx dependency

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-10 01:39:00 +00:00
softwarefactory-project-zuul[bot]
e39622d42e Merge pull request #8058 from sean-m-sullivan/workflow_label
Workflow label

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2020-09-10 01:21:06 +00:00
Bill Nottingham
05ad85e7a6 Remove the model for the now unused TowerAnalyticsState. 2020-09-09 20:18:04 -04:00
Bill Nottingham
a604ecffb8 Adjust query_info to set the collection time based on what's passed. 2020-09-09 20:05:48 -04:00
Bill Nottingham
09f7d70428 Use isoformat() rather than strftime
Reformat SQL in unit tests because sqlite.
2020-09-09 20:05:32 -04:00
Bill Nottingham
d4ba62695f Put awx analytics logs also in the task system logger
Errors/warnings when gathering analytics are about 50/50 split between
the gathering code in analytics and the task code that calls it, so
they should be in the same place for debugging sanity.
2020-09-09 17:42:40 -04:00
Bill Nottingham
c753324872 Move back to less frequent collections, and split large event tables
This should ensure we stay under 100MB at all times.
2020-09-09 17:42:40 -04:00
Bill Nottingham
9f67b6742c Fail more gracefully if analytics.ship() is called with a bad path,
or it's deleted out from under us.
2020-09-09 17:42:40 -04:00
Bill Nottingham
1a15f18be3 Stop using the TowerAnalyticsState solo model
This is now tracked in the AUTOMATION_ANALYTICS_LAST_GATHER setting.
2020-09-09 17:42:40 -04:00
Bill Nottingham
40309e6f70 Ensure we do not send large bundles, or empty bundles
Collect expensive collectors separately, and in a loop
where we make smaller intermediate dumps.

Don't return a table dump if there are no records, and
don't put that CSV in the manifest.

Fix up unit tests.
2020-09-09 17:42:40 -04:00
Bill Nottingham
1c4b06fe1e Refactor analytics collectors.
- Only have one registration class
- Add description fields
- Add automation collector information to /api/v2/config
2020-09-09 17:10:14 -04:00
softwarefactory-project-zuul[bot]
dff7667532 Merge pull request #7905 from AlexSCorey/6603-AdHocCommands
Add Ad Hoc Commands

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-09 20:21:41 +00:00
Daniel Sami
da58db7431 grammar fix 2020-09-09 15:42:02 -04:00
Alex Corey
3402e5db35 updates tooltip component, fixes formik configuration on ad hoc qizard 2020-09-09 15:20:18 -04:00
Daniel Sami
fe115fdd16 dropped translation tag 2020-09-09 14:39:54 -04:00
Ryan Petrello
a817708d70 remove boto as an awx dependency
see: https://github.com/ansible/awx/issues/2115
2020-09-09 14:33:33 -04:00
Alex Corey
678dcad437 updates tooltip component, fixes formik configuration on ad hoc qizard 2020-09-09 12:46:19 -04:00
Alex Corey
0e3fbb74d4 updates keys 2020-09-09 12:46:19 -04:00
Alex Corey
94469cc8c0 Adds Proptypes and updates tooltips to make them more translatable 2020-09-09 12:46:19 -04:00
Alex Corey
e6ae171f4b Adds Ad Hoc Commands Wizard 2020-09-09 12:46:19 -04:00
softwarefactory-project-zuul[bot]
caa7b43fe0 Merge pull request #7817 from ryanpetrello/galaxy-credentials
Support Organization-scoped Galaxy installs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-09 16:17:18 +00:00
mabashian
19886f7ec3 Hide edit button on workflow node details view for users that don't have the ability to edit the workflow 2020-09-09 09:44:09 -04:00
mabashian
945dfbb648 Fixes some rbac issues in the workflow toolbar and start screen. Add/edit-related buttons should be hidden for users that cannot edit the workflow. 2020-09-09 09:07:46 -04:00
Sean Sullivan
470b7aaeea Merge pull request #10 from ansible/devel
Rebase from devel
2020-09-09 07:49:37 -05:00
Keith Grant
6af427d4e1 update test snapshot 2020-09-08 14:45:20 -07:00
softwarefactory-project-zuul[bot]
a3e08a3d09 Merge pull request #8072 from john-westcott-iv/get_one_fix
Modify get_one method to allow IDs in addition to names

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-08 21:30:59 +00:00
Keith Grant
e0e48bf922 add custom messages to Notification Detail 2020-09-08 14:04:38 -07:00
Keith Grant
7042542e6a add ArrayDetail 2020-09-08 14:00:57 -07:00
softwarefactory-project-zuul[bot]
3f63800f58 Merge pull request #7967 from keithjgrant/7876-notifications-form
Notifications form

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-08 20:56:21 +00:00
softwarefactory-project-zuul[bot]
800cf30d92 Merge pull request #8089 from rooftopcellist/update_analytics_job_test
Provide a distinct column name for inventory_name in unifiedjob analy…

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-08 20:04:31 +00:00
John Westcott IV
570251dc3d Modifying get_item_name to handle a None object 2020-09-08 15:28:57 -04:00
John Westcott IV
faa33efdd2 Fixing registered name 2020-09-08 15:28:37 -04:00
John Westcott IV
09b8f82bbb Fixing test issue and 'modornizing' test 2020-09-08 15:28:21 -04:00
sean-m-sullivan
cfdfa911e8 update lint 2020-09-08 14:00:12 -05:00
softwarefactory-project-zuul[bot]
cd8c74e28f Merge pull request #8094 from ryanpetrello/upgrade-django-libs
Update Django and channels_redis

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-08 17:46:35 +00:00
John Westcott IV
4c0e288fee Touching up to missing sport of get_one returning multiple params 2020-09-08 13:38:44 -04:00
Keith Grant
13e6757666 add ids to CodeMirror FormGroup containers 2020-09-08 10:17:18 -07:00
softwarefactory-project-zuul[bot]
90c3bfc6ae Merge pull request #8074 from fosterseth/fix-7655_task_manager_times_out
Prevent task manager timeout by limiting number of jobs to start

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-08 16:42:20 +00:00
Seth Foster
e09274e533 PR #8074 - limit how many jobs the task manager can start on a given run 2020-09-08 12:16:06 -04:00
John Westcott IV
c2cfaec7d1 Fixing name -> username 2020-09-08 11:52:53 -04:00
John Westcott IV
d6f35a71d7 Adding allow_unknown option for get_item_name 2020-09-08 11:51:47 -04:00
John Westcott IV
6467d34445 Touching up tower_inventory_source after rebase 2020-09-08 11:36:33 -04:00
Christian M. Adams
0681444294 Provide a distinct column name for inventory_name in unifiedjob analytics csv 2020-09-08 11:14:24 -04:00
John Westcott IV
0a8db586d1 Changing how get_one returns 2020-09-08 11:10:18 -04:00
John Westcott IV
106157c600 get_one now also returns the name field, and modifying modules for get_one and added in some IDs in a handful of unit tests 2020-09-08 11:06:01 -04:00
John Westcott IV
4c4d6dad49 Adding get_item_name and making static methods 2020-09-08 11:03:10 -04:00
John Westcott IV
24ec129235 Modifying credential for new get_one 2020-09-08 11:03:10 -04:00
John Westcott IV
5042ad3a2b Updating user module for new get_one 2020-09-08 11:03:10 -04:00
John Westcott IV
51959b29de Adding name_or_id to get_one to make module more uniform 2020-09-08 11:03:10 -04:00
Ryan Petrello
c862b3e5a2 Revert "work around a memory leak in channels_redis"
This reverts commit e25da217e8.
2020-09-08 10:40:47 -04:00
Ryan Petrello
f81560b12c update Django and channels_redis
see: https://github.com/ansible/tower/issues/4439
also, addresses CVE-2020-24583 and CVE-2020-24584
2020-09-08 10:39:26 -04:00
softwarefactory-project-zuul[bot]
68265ea9b5 Merge pull request #8092 from nixocio/ui_issue_8091
List jobs for container groups

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-09-08 14:33:57 +00:00
softwarefactory-project-zuul[bot]
6e6aa1fdab Merge pull request #8033 from beeankha/update_inv_src_module
Add New tower_inventory_source_update Module

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-08 14:04:32 +00:00
Benoit Bayszczak
08c9219f48 rename 'approle_auth_path' to 'default_auth_path' & fix kwargs.get 2020-09-08 10:39:12 +02:00
beeankha
c7114b2571 Add specific lookup data to error message 2020-09-07 11:43:44 -04:00
softwarefactory-project-zuul[bot]
127ca4bc54 Merge pull request #7975 from AlexSCorey/7973-DisableTemplateFormFields
Disables template and workflow template fields.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-06 21:26:23 +00:00
Alex Corey
b51f013880 disables prompt on launch checkbox 2020-09-05 08:32:15 -04:00
Alex Corey
fc4060778b Disables template and workflow template fields for users that do not have permissions for those fields. 2020-09-05 08:32:15 -04:00
Keith Grant
40d3e4ee8b handle error string in FormSubmitError 2020-09-04 16:24:09 -07:00
beeankha
a0b8f6a25d Make org an optional parameter for both inv source and inv source update modules 2020-09-04 18:56:58 -04:00
Keith Grant
9711c33675 fix multiple notification form bugs 2020-09-04 15:50:04 -07:00
Keith Grant
b119bc475f convert http headers field to string for codemirror 2020-09-04 15:50:04 -07:00
Keith Grant
055abd57cd fix new test from rebase 2020-09-04 15:50:04 -07:00
Keith Grant
95c4b6c922 trying to force tests to re-run 2020-09-04 15:50:04 -07:00
Keith Grant
7ab9d899e4 mark text for translation 2020-09-04 15:49:11 -07:00
Keith Grant
c700d07a0a fix lint error 2020-09-04 15:49:11 -07:00
Keith Grant
4a616d9f81 ensure notification template re-loads after saving 2020-09-04 15:49:11 -07:00
mabashian
e830da97f3 Fix broken credential form tests after id change 2020-09-04 15:49:11 -07:00
Keith Grant
43ac5a0574 add some notification form tests; notification add screen 2020-09-04 15:49:11 -07:00
Keith Grant
9bb834a422 create ArrayTextField component 2020-09-04 15:49:11 -07:00
Keith Grant
458d29a579 only submit customized notification messages if changed 2020-09-04 15:49:11 -07:00
Keith Grant
19fc0d9a96 reset notification messages to defaults when switching to new type 2020-09-04 15:49:11 -07:00
Keith Grant
ba95775ded add custom notification messages subform 2020-09-04 15:49:11 -07:00
Keith Grant
bb12e0a3a9 fix initial values for notification type fields 2020-09-04 15:49:10 -07:00
Keith Grant
09178dd5f2 flush out notification form and type subform 2020-09-04 15:49:10 -07:00
nixocio
d4b2e1998e List jobs for container groups
Add list of jobs related to container groups.

See: https://github.com/ansible/awx/issues/8091
2020-09-04 16:21:32 -04:00
softwarefactory-project-zuul[bot]
9c90804300 Merge pull request #7974 from AlexSCorey/6561-WFJTDeetsNotLoad
Adds fix to load template details 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-04 20:16:30 +00:00
softwarefactory-project-zuul[bot]
95b43c0087 Merge pull request #8075 from ryanpetrello/redis-capacity-check
if redis is unreachable, set instance capacity to zero

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-04 20:06:21 +00:00
softwarefactory-project-zuul[bot]
3f8cd21233 Merge pull request #8084 from ryanpetrello/bye-fact-scanning
remove old fact scanning plugins

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-04 19:13:56 +00:00
softwarefactory-project-zuul[bot]
e6cd27a858 Merge pull request #7960 from mabashian/6113-6703-cred-file-upload
Support file upload/drag and drop on credential mutliline fields

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-04 17:27:43 +00:00
beeankha
4133ec974b Follow same pattern as project update module, add task to integration test 2020-09-04 13:05:34 -04:00
softwarefactory-project-zuul[bot]
70f1bffe42 Merge pull request #8069 from ryanpetrello/saml-autopop
add the ability to prevent SAML auto-population behavior

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-04 16:01:23 +00:00
mabashian
77c211dabe Adds id's to credential form buttons 2020-09-04 11:22:34 -04:00
Ryan Petrello
013b411a0a remove old fact scanning plugins 2020-09-04 10:51:34 -04:00
beeankha
7764f1c1a5 Fix inv source org lookup, adjust unit tests (since org is now required for inv source module), update README, edit typos in test-related README 2020-09-04 10:19:56 -04:00
beeankha
b78dea3e4b Add wait ability to the module 2020-09-04 10:19:56 -04:00
beeankha
1ce5d7d539 Add ability to look up inventory sources by org name/ID 2020-09-04 10:19:56 -04:00
beeankha
65e0ed8c77 Fix linter error 2020-09-04 10:19:56 -04:00
beeankha
72dbd10c2a Initial commit for new inventory sync module 2020-09-04 10:19:56 -04:00
mabashian
e5f9ed827b Undo commenting out of strictmode 2020-09-04 09:20:09 -04:00
mabashian
2d2108b1de Support file upload/drag and drop on credential mutliline fields 2020-09-04 09:20:09 -04:00
Ryan Petrello
b01d204137 if redis is unreachable, set instance capacity to zero 2020-09-03 15:11:53 -04:00
Ryan Petrello
a6d26d7dab add the ability to prevent SAML auto-population behavior 2020-09-03 11:21:14 -04:00
nixocio
adffa29346 Add/Edit Container Groups
Add/Edit container groups.

See: https://github.com/ansible/awx/issues/7955
2020-09-03 10:13:24 -04:00
softwarefactory-project-zuul[bot]
cce66e366f Merge pull request #8065 from e-desouza/patch-1
Update from pip to pip3

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-03 12:35:07 +00:00
Elton de Souza
371276b2e1 Update from pip to pip3 2020-09-02 21:11:46 -04:00
softwarefactory-project-zuul[bot]
77b1afe6fd Merge pull request #7873 from sean-m-sullivan/project_update
Project update

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-02 15:39:23 +00:00
sean-m-sullivan
5478c5f2fb linting 2020-09-02 08:30:09 -05:00
sean-m-sullivan
e2bf3a0287 update to use isdigit and updated tests 2020-09-02 07:19:11 -05:00
sean-m-sullivan
a17eedd9fe update to not use organizations 2020-09-01 23:08:15 -05:00
sean-m-sullivan
d05c7d6cc5 update to use organizations 2020-09-01 22:54:08 -05:00
sean-m-sullivan
6200467629 add label to workflow templates 2020-09-01 18:58:39 -05:00
Sean Sullivan
dbd8431b14 Merge pull request #6 from ansible/devel
Rebase to devel
2020-09-01 18:50:03 -05:00
softwarefactory-project-zuul[bot]
b11a5c1190 Merge pull request #8057 from ryanpetrello/proj-archive-py2
update the project archive sync support for py2 compatability

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-01 23:40:58 +00:00
sean-m-sullivan
532447ed40 update to tower module 2020-09-01 16:43:58 -05:00
sean-m-sullivan
300a4510ac update completness 2020-09-01 15:59:53 -05:00
sean-m-sullivan
d269a6d233 update 2020-09-01 15:59:04 -05:00
softwarefactory-project-zuul[bot]
967e35fec9 Merge pull request #8056 from ryanpetrello/dead-code-ansible-path
remove some dead code

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-01 20:33:43 +00:00
softwarefactory-project-zuul[bot]
fcd1169093 Merge pull request #8043 from john-westcott-iv/instance_groups_module
Adding tower_instance_group module

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-01 20:26:44 +00:00
sean-m-sullivan
d95d8121f9 added to no endpoints for module 2020-09-01 15:22:14 -05:00
sean-m-sullivan
5d4413041e update to wait 2020-09-01 14:59:16 -05:00
Ryan Petrello
798f6371af update the project archive sync support for py2 compatability
playbook runs in AWX are still supported in python2, so this adds
support for archive-based project syncs in py2
2020-09-01 15:58:43 -04:00
Sean Sullivan
8e317cabc0 Merge pull request #5 from ansible/devel
Rebase from devel
2020-09-01 14:42:23 -05:00
Ryan Petrello
3edaa6bc14 remove some dead code 2020-09-01 15:26:38 -04:00
softwarefactory-project-zuul[bot]
30616c1fce Merge pull request #8022 from sean-m-sullivan/wait_function
Add wait function and update collection modules

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2020-09-01 19:13:12 +00:00
softwarefactory-project-zuul[bot]
57eed5863a Merge pull request #8054 from ryanpetrello/postgres-upgrade-note
add a changelog note about upgrade issues from 13.0 -> 14.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-01 19:10:55 +00:00
softwarefactory-project-zuul[bot]
1c55d10d81 Merge pull request #7965 from rebeccahhh/devel
adding in inventory to unified job query for analytics

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-01 18:27:27 +00:00
Ryan Petrello
f4af74dabe renumber the Galaxy credential migration after rebasing 2020-09-01 13:47:26 -04:00
Elyézer Rezende
ad85b176f4 Update awxkit to manage Org galaxy credentials
Add the new credential type to the Credential page object and helper
methods to manage the galaxy credentials for the Organization page
object.
2020-09-01 13:46:47 -04:00
Ryan Petrello
4046b18eff properly handle Galaxy credentials if a Project is orphaned 2020-09-01 13:45:03 -04:00
Ryan Petrello
a869d7da35 create the Galaxy credential for new installs in the preload script
doing this in the migration *before* any Organizations actually exist
is stirring up RBAC dragons that I don't have time to fight

this commit meanst that *new* installs will pre-create the default
Galaxy (public) credential in create_preload_data, while
*upgraded/migrations* installs will do so via the migration
2020-09-01 13:45:03 -04:00
mabashian
895010c675 Pre-populate organization galaxy credential field with the default galaxy credential 2020-09-01 13:45:03 -04:00
Ryan Petrello
a30ca9c19c don't run ansible-galaxy installs if there are no Galaxy credentials 2020-09-01 13:45:03 -04:00
Ryan Petrello
30da93a64e update the help text for Organization galaxy credentials 2020-09-01 13:45:03 -04:00
mabashian
458807c0c7 Add a Galaxy Credential multi-select field to the Organizations form 2020-09-01 13:45:03 -04:00
Ryan Petrello
011822b1f0 make a global "managed by AWX/Tower" Credential to represent Galaxy 2020-09-01 13:45:03 -04:00
Ryan Petrello
e5552b547b properly migrate settings.FALLBACK_GALAXY_SERVERS 2020-09-01 13:45:02 -04:00
Ryan Petrello
1b4dd7c783 enforce Organization ownership of Galaxy credentials 2020-09-01 13:45:02 -04:00
Ryan Petrello
25a9a9c3ba remove redaction exclusions for Galaxy URLs (basic auth support is gone) 2020-09-01 13:45:02 -04:00
Ryan Petrello
130e279012 add a data migration for Galaxy credentials
see: https://github.com/ansible/awx/issues/7813
2020-09-01 13:45:02 -04:00
Ryan Petrello
b8e0d087e5 add model support, an API, and a migration for Org -> Galaxy credentials
see: https://github.com/ansible/awx/issues/7813
2020-09-01 13:44:59 -04:00
softwarefactory-project-zuul[bot]
8996d0a464 Merge pull request #7763 from chrismeyersfsu/feature-inv_plugin_conf
Feature inv plugin conf

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-01 17:44:22 +00:00
Ryan Petrello
40ac719d6d add a changelog note about upgrade issues from 13.0 -> 14.0 2020-09-01 13:32:09 -04:00
John Westcott IV
5f29b4bc18 Fixing typo 2020-09-01 13:17:24 -04:00
Ryan Petrello
059999c7c3 update the inventory source module to respect new fields 2020-09-01 13:15:07 -04:00
Chris Meyers
924273f589 more get_ansible_version test failure fixes 2020-09-01 12:50:59 -04:00
Chris Meyers
72fc314da1 flake8 fix 2020-09-01 12:50:59 -04:00
Chris Meyers
043a7f8599 more get_ansible_version removal 2020-09-01 12:50:59 -04:00
Chris Meyers
a6712cfd60 bump inv plugin migration to avoid conflict 2020-09-01 12:50:59 -04:00
Alan Rominger
99aff93930 Get rid of ansible version checking 2020-09-01 12:50:59 -04:00
Chris Meyers
03ad1aa141 remove backwords migraiton support for inv plugins
* Do not write out inventory source_vars to a file on disk as they _may_
contain sensitive information. This also removes support for backwards
migrations. This is fine, backwards migration is really only useful
during development.
2020-09-01 12:50:59 -04:00
Jake McDermott
dcf5917a4e Check that host_filter is regexp 2020-09-01 12:50:58 -04:00
Jake McDermott
f04aff81c4 Add details to inv source field help text 2020-09-01 12:50:58 -04:00
Chris Meyers
a9cdf07690 push global invsource fields onto invsource obj 2020-09-01 12:50:58 -04:00
Chris Meyers
d518891520 inventory plugin inventory parameter take precedence over env vars 2020-09-01 12:50:58 -04:00
Chris Meyers
48fb1e973c overwrite plugin: at runtime
* Before, we were re-writing `plugin:` when users updated the
InventorySource via the API. Now, we just override at run-time. This
makes for a more sane API interaction
2020-09-01 12:50:58 -04:00
Chris Meyers
c7794fc3e4 fix missed import 2020-09-01 12:50:58 -04:00
Jake McDermott
2fdeba47a5 Add new common inventory source fields 2020-09-01 12:50:58 -04:00
Chris Meyers
12cf607e8a simplify InventorySourceOption inheritance hack 2020-09-01 12:50:58 -04:00
Chris Meyers
7d4493e109 rename inventory migration 2020-09-01 12:50:57 -04:00
Jake McDermott
b253540047 Add new common inventory source fields 2020-09-01 12:50:57 -04:00
Jake McDermott
42e70bc852 Delete inventory source fields 2020-09-01 12:50:57 -04:00
Jake McDermott
dce946e93f Delete inventory source fields 2020-09-01 12:50:57 -04:00
Chris Meyers
2eec1317bd safer migrations 2020-09-01 12:50:57 -04:00
Chris Meyers
b7efad5640 do not enforce plugin: for source=scm
* InventorySource w/ source type scm point to an inventory file via
source_file. source_vars are ignored.
2020-09-01 12:50:57 -04:00
Chris Meyers
35d264d7f8 forgot to add migration helper
* move models/inventory.py plugin injector logic to a place frozen in
time useable by the migration code.
2020-09-01 12:50:57 -04:00
Chris Meyers
34adbe6028 fix tests for new inv plugin behavior
* Enforce plugin:
2020-09-01 12:50:57 -04:00
Chris Meyers
a8a47f314e remove source_regions 2020-09-01 12:50:56 -04:00
Chris Meyers
f32716a0f1 remove instance_filter 2020-09-01 12:50:56 -04:00
Chris Meyers
7278e7c025 remove group_by from inventory source
* Does not remove group_by testing
2020-09-01 12:50:56 -04:00
Chris Meyers
e11040f421 migrate to new style inv plugin 2020-09-01 12:50:53 -04:00
sean-m-sullivan
9f3635be07 update test to timeout message change 2020-09-01 10:45:41 -05:00
sean-m-sullivan
50637807fc fixed typo 2020-09-01 10:38:15 -05:00
John Westcott IV
d01f2d6caf Converting policy_instance_list from dict to list 2020-09-01 11:02:39 -04:00
softwarefactory-project-zuul[bot]
2fa8b7e594 Merge pull request #8007 from ryanpetrello/defer-artifacts
defer loading Job.artifacts and .extra_vars on host views to improve performance

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-01 14:08:00 +00:00
John Westcott IV
36ab0dd03e Fixing white spaces 2020-09-01 09:24:36 -04:00
softwarefactory-project-zuul[bot]
671c571628 Merge pull request #8047 from AlanCoding/less_mounting
Remove more special access to folders outside job private_data_dir

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-09-01 02:42:15 +00:00
Alan Rominger
0b371b4340 Copy library folder to job private data dir
Remove inventory scripts show because they no longer exist

Remove reference to non-existent callback directory

Remove more references to removed path
2020-08-31 22:14:59 -04:00
John Westcott IV
72bdd17518 Fixing regression 2020-08-31 16:56:42 -04:00
John Westcott IV
574c3b65b2 Converting from string to array 2020-08-31 16:56:42 -04:00
John Westcott IV
5a8bcd357b Fixing linting issues 2020-08-31 16:56:42 -04:00
John Westcott IV
1bd8f4ad3e Removing tower_instance_group from completness 2020-08-31 16:56:42 -04:00
John Westcott IV
2369bcb25c Removing forward feature needed for testing locally 2020-08-31 16:56:42 -04:00
John Westcott IV
9e29dd08fb Adding tower_instance_group module 2020-08-31 16:56:42 -04:00
sean-m-sullivan
cd45cfec30 updated doc and pep8 2020-08-31 15:53:54 -05:00
sean-m-sullivan
d9d454d435 Merge branch 'wait_function' of github.com:sean-m-sullivan/awx into wait_function 2020-08-31 15:24:40 -05:00
sean-m-sullivan
0bc927820b updated legacy messages 2020-08-31 15:24:32 -05:00
softwarefactory-project-zuul[bot]
e1095a0a94 Merge pull request #8046 from nixocio/ui_fix_date_projects
Update date format for project list item

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2020-08-31 18:46:51 +00:00
Sean Sullivan
d0ab307787 Merge pull request #4 from ansible/devel
Rebase from Dev
2020-08-31 13:45:49 -05:00
softwarefactory-project-zuul[bot]
6c9e417eb9 Merge pull request #7730 from mabashian/7339-test-button
Adds support for a Test button on the credential form when the credential type is 'external'

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-31 18:43:00 +00:00
softwarefactory-project-zuul[bot]
2837eb7027 Merge pull request #8049 from john-westcott-iv/fix_notification_tests
Cleaning up tower_notification references

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-31 18:19:12 +00:00
softwarefactory-project-zuul[bot]
ad28a36cdf Merge pull request #8048 from AlanCoding/notification_name
correct name of tower_notification redirect

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-31 16:20:37 +00:00
John Westcott IV
ff4ed64978 Cleaning up tower_notification references 2020-08-31 11:57:01 -04:00
Alan Rominger
b84343d292 correct name of tower_notification redirect 2020-08-31 10:18:08 -04:00
nixocio
970ecde0ea Update date format for project list item
Update date format for project list item.

See: https://github.com/ansible/awx/issues/7694
2020-08-30 20:58:58 -04:00
softwarefactory-project-zuul[bot]
ddad5095a4 Merge pull request #8024 from velzend/regsiter_typo
typo: regsiter -> register

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-30 19:53:33 +00:00
softwarefactory-project-zuul[bot]
730cabe597 Merge pull request #8038 from john-westcott-iv/check_token_pre_del
Adding check that we are authenticated and also have a token

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-30 17:54:13 +00:00
softwarefactory-project-zuul[bot]
07ebf677de Merge pull request #8039 from john-westcott-iv/transaction_check
Adding transaction to mock requests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-30 17:54:07 +00:00
softwarefactory-project-zuul[bot]
c7f4c4bdc1 Merge pull request #8029 from AlanCoding/project_cwd
Run project updates from a copy of the playbook vendoring directory

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-29 03:48:01 +00:00
mabashian
9d511a4c04 Fix id on credential select fields 2020-08-28 17:02:25 -04:00
softwarefactory-project-zuul[bot]
bd4b009bea Merge pull request #8035 from nixocio/ui_update_instance_groups
Update instance groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-28 20:37:34 +00:00
mabashian
ae4f1a15d3 Add ID's to the buttons in the external test modal for cred form 2020-08-28 15:43:44 -04:00
mabashian
e93aa34864 Adds support for a Test button on the credential form when the credential type is 'external' 2020-08-28 15:43:44 -04:00
softwarefactory-project-zuul[bot]
bebd882688 Merge pull request #8040 from rooftopcellist/be_more_accepting
Accept all responses <300 from Insights API

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-28 19:43:27 +00:00
Christian M. Adams
4ea648307e Accept all responses <300 from Insights API 2020-08-28 12:45:50 -04:00
John Westcott IV
feb9bcff4d Adding transaction to mock requests 2020-08-28 12:43:33 -04:00
softwarefactory-project-zuul[bot]
40603c213a Merge pull request #8037 from bbayszczak/fix_typo_comment_hashivault
[credential_plugin/hashivault] fix typo

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-28 16:40:46 +00:00
Benoit Bayszczak
e8b54abec4 [credential_plugin/hashivault] edit tests 2020-08-28 17:39:37 +02:00
Benoit Bayszczak
878b754d9f [credential_plugin/hashivault] fix typo 2020-08-28 17:33:19 +02:00
Benoit Bayszczak
16fdf0e28f [credential_plugin/hashivault] add approle_auth_path in inputs 2020-08-28 17:22:07 +02:00
nixocio
21330a54cb Update instance groups
* Simplify criteria to instance group to be considered unavailable
* Round values for used capacity

See: https://github.com/ansible/awx/issues/7467
2020-08-28 11:07:03 -04:00
John Westcott IV
51f4aa2b48 Adding check that we are authenticated and also have a token 2020-08-28 11:04:15 -04:00
softwarefactory-project-zuul[bot]
fe5fb0c523 Merge pull request #7997 from mabashian/7480-webhook-disable
Fixes bug where users were unable to turn webhooks off when editing templates

Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
             https://github.com/tiagodread
2020-08-28 14:27:56 +00:00
sean-m-sullivan
b3ec080e08 updated output 2020-08-28 08:25:21 -05:00
sean-m-sullivan
fd77a8aca5 updated output 2020-08-28 08:22:44 -05:00
sean-m-sullivan
7bd3f9d63c updated to error if finished not in result 2020-08-28 07:37:29 -05:00
sean-m-sullivan
d971375907 updated to error if finished not in result 2020-08-28 07:35:13 -05:00
sean-m-sullivan
007b0d841e updated parameters and errors 2020-08-28 07:19:39 -05:00
softwarefactory-project-zuul[bot]
aa637d515a Merge pull request #7929 from nixocio/ui_associate_instances
Associate instances to instance groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-27 17:49:00 +00:00
softwarefactory-project-zuul[bot]
ad3e2cbfcd Merge pull request #8028 from dsesami/8027-workflow-sparkline
Change WFJT details sparkline hyperlink

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-27 16:29:42 +00:00
softwarefactory-project-zuul[bot]
f1ee44b6c2 Merge pull request #8016 from john-westcott-iv/inventory_insights
Adding insights credential to tower_inventory

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-27 16:14:37 +00:00
Daniel Sami
dc7e721968 Change WFJT details sparkline hyperlink 2020-08-27 11:54:38 -04:00
nixocio
632204de83 Associate instances to instance groups
Associate instances to instance groups.

See: https://github.com/ansible/awx/issues/7801
2020-08-27 11:33:45 -04:00
Alan Rominger
e811711a49 Put project playbook in runner project folder 2020-08-27 11:07:10 -04:00
John Westcott IV
64d98a120c Removing debugging end play 2020-08-27 09:47:48 -04:00
Benoit Bayszczak
cf5d1a2d03 restore previous tests as we need to keep backward compatibility
This reverts commit 7c8e5ace52.
2020-08-27 11:06:14 +02:00
tp48cf
5cd12b8088 typo: regsiter -> register 2020-08-27 09:23:41 +02:00
tp48cf
58ce89fc0b improve logging migrate or instance not registered 2020-08-27 09:15:13 +02:00
sean-m-sullivan
49e2a3fa5a update documentation 2020-08-26 23:44:31 -05:00
sean-m-sullivan
0c18587851 update to use time function 2020-08-26 23:30:18 -05:00
softwarefactory-project-zuul[bot]
f18d9212cb Merge pull request #7987 from nixocio/ui_add_adv_search
Add advanced search keys for InstanceGroup and CredentialType Lists

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-27 02:55:19 +00:00
softwarefactory-project-zuul[bot]
9b353c70f3 Merge pull request #8019 from mabashian/7663-workflow-viz-button
Adds visualizer button to workflow template rows on templates list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-27 02:54:03 +00:00
Sean Sullivan
243c2cfe15 Merge pull request #3 from ansible/devel
rebase to devel
2020-08-26 20:53:39 -05:00
beeankha
0f3aefe592 Fix pep8 errors, rebase 2020-08-26 19:51:10 -04:00
John Westcott IV
7afd84dc49 Resolving issue in test_completness 2020-08-26 19:50:04 -04:00
John Westcott IV
1b1a14f220 Fixing linting spacing issue 2020-08-26 19:50:04 -04:00
John Westcott IV
2690fcec31 Adding insights credential to tower_inventory
Fixed a spacing issue in documentation

Enhanced integration test to include a block to ensure cleanup of assets
2020-08-26 19:50:04 -04:00
softwarefactory-project-zuul[bot]
9323156f4c Merge pull request #7983 from beeankha/collections_pylint_fixes
Fix pylint Errors in Collections Modules

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-26 22:31:22 +00:00
mabashian
73d21a01cb Adds visualizer button to workflow template rows on templates list 2020-08-26 17:03:48 -04:00
Rebeccah
9a6f641df0 adding in inventory to unified job query for analytics 2020-08-26 16:32:02 -04:00
beeankha
3ddee3072b Add errors to ignore file, remove noqa directives 2020-08-26 16:09:42 -04:00
softwarefactory-project-zuul[bot]
1514a5ac23 Merge pull request #7963 from john-westcott-iv/tools
Collections Completeness Tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-26 19:34:52 +00:00
softwarefactory-project-zuul[bot]
ccb1e0a748 Merge pull request #8008 from mabashian/8002-plurals
Use low level i18n._ instead of i18n.plural for plurals on the schedule form

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-08-26 18:11:04 +00:00
Ryan Petrello
73baf3fcf9 defer loading Job.artifacts on host views to improve performance
see: https://github.com/ansible/awx/issues/8006

this data can be *really* large, and we don't actually need it for the summary fields on this API endpoint
2020-08-26 13:34:15 -04:00
mabashian
c731e4282b Use low level i18n._ instead of i18n.plural for plurals on the schedule form. This fixes a bug where the page would crash on static builds when a frequency was selected. 2020-08-26 13:18:07 -04:00
softwarefactory-project-zuul[bot]
57949078bb Merge pull request #7945 from beeankha/tower_role_id_fix
Get tower_role Module to Accept IDs for Related Objects

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-26 14:21:32 +00:00
John Westcott IV
2b6e4fe353 Permissions change, spell check, pep8, etc 2020-08-26 10:16:37 -04:00
John Westcott IV
b7b304eb84 Changing how we check modules
Options which are not in the API POST and are marked in the module as deprecated are ignored

If an option is not in the API POST but is marked as a list we assume its a relation
2020-08-26 10:16:37 -04:00
John Westcott IV
8f97109ac7 Fixing PY2 compile issues 2020-08-26 10:16:37 -04:00
John Westcott IV
730a9b25ac Fixing pep8 and other issues 2020-08-26 10:16:37 -04:00
John Westcott IV
a36d942f67 Migrating old test_notification test to test_notification_template 2020-08-26 10:16:37 -04:00
John Westcott IV
b1ffbf1e39 Change module from tower_notification to tower_notification_template 2020-08-26 10:16:37 -04:00
John Westcott IV
f8290f0ce3 Fixing flake8 and adding more module OKs 2020-08-26 10:16:37 -04:00
John Westcott IV
41ca20dc99 Changing scm_credential to credential to match API 2020-08-26 10:16:37 -04:00
John Westcott IV
3b6152a380 Changing job_timeout to an aliase of timeout to match the API 2020-08-26 10:16:37 -04:00
John Westcott IV
1ad4c4ab86 Fixing pep8 issues 2020-08-26 10:16:37 -04:00
John Westcott IV
9353e94629 Spell checking 2020-08-26 10:16:37 -04:00
John Westcott IV
85a1233764 Adding read-only endpoint check, fixing typo, adding needs_development check 2020-08-26 10:16:37 -04:00
John Westcott IV
c2cdd8e403 Initial commit of test_completeness 2020-08-26 10:16:37 -04:00
softwarefactory-project-zuul[bot]
96e1920d36 Merge pull request #7988 from nixocio/add_more_styles_delete_button
Update styles to delete button to be secondary 

Reviewed-by: Michael Abashian
             https://github.com/mabashian
2020-08-26 14:02:46 +00:00
tp48cf
d9e09f482d allow skipping provision instance and register queue 2020-08-26 15:56:01 +02:00
sean-m-sullivan
bed3a9ee41 added id lookup 2020-08-26 08:11:51 -05:00
Benoit Bayszczak
7c8e5ace52 fix tests 2020-08-26 11:14:04 +02:00
softwarefactory-project-zuul[bot]
b8a04f05d1 Merge pull request #7992 from AlexSCorey/RemovesColonOnListItem
Removes colon from survey list item

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-26 00:48:50 +00:00
softwarefactory-project-zuul[bot]
2b18eee92a Merge pull request #7969 from nixocio/ui_add_isolate_job_label
Add label to identify isolated instance group JobDetail screen

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-26 00:48:43 +00:00
mabashian
8fac722b10 Fixes bug where users were unable to turn webhooks off when editing job templates/workflow job templates 2020-08-25 16:02:55 -04:00
beeankha
4bc1a128ec Add noqa directive for super calls 2020-08-25 15:49:20 -04:00
beeankha
da732a3941 Add unit test, update lookup method to favor ID over name 2020-08-25 14:57:02 -04:00
Alex Corey
c0a2a69835 removes colon from suvery list item 2020-08-25 13:32:57 -04:00
softwarefactory-project-zuul[bot]
48f00587f8 Merge pull request #7990 from ryanpetrello/build-needs-facts
gather facts for image builds so we can detect arch

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2020-08-25 16:12:12 +00:00
Benoit Bayszczak
00fc5f6b93 hashivault_kv auth_path moved from metadata to inputs
The auth_path is used with the approle auth method
It's not linked to the secret we are reading but to the auth method,
this parameter has to be moved to inputs
2020-08-25 18:01:09 +02:00
Ryan Petrello
04229ba14b gather facts for image builds so we can detect arch
related: https://github.com/ansible/awx/pull/7607/
2020-08-25 11:36:26 -04:00
Benoit Bayszczak
d49a61b63e add missing creds types to tower_credential module
Add the following native credentials types to the tower_credential module
 - 'satellite': 'Red Hat Satellite 6' # renaming of satellite6
 - 'aim': 'CyberArk AIM Central Credential Provider Lookup'
 - 'conjur': 'CyberArk Conjur Secret Lookup'
 - 'hashivault_kv': 'HashiCorp Vault Secret Lookup'
 - 'hashivault_ssh': 'HashiCorp Vault Signed SSH'
 - 'azure_kv': 'Microsoft Azure Key Vault'
 - 'kubernetes_bearer_token': 'OpenShift or Kubernetes API Bearer Token'
 - 'github_token': 'GitHub Personal Access Token'
 - 'gitlab_token': 'GitLab Personal Access Token'
2020-08-25 17:24:17 +02:00
softwarefactory-project-zuul[bot]
e8cc4cee52 Merge pull request #7985 from ryanpetrello/release-14.1.0
Bump version to 14.1.0

Reviewed-by: Christian Adams <rooftopcellist@gmail.com>
             https://github.com/rooftopcellist
2020-08-25 14:57:57 +00:00
softwarefactory-project-zuul[bot]
5507f264e3 Merge pull request #7919 from marshmalien/7806-smart-inv-detail
Add smart inventory host detail view

Reviewed-by: Daniel Sami
             https://github.com/dsesami
2020-08-25 14:47:04 +00:00
nixocio
6794f331c3 Update styles to delete button to be secondary
Update styles to delete button to be secondary.

See: https://github.com/ansible/awx/issues/7041
Also: https://github.com/ansible/awx/issues/7984
2020-08-25 10:39:28 -04:00
softwarefactory-project-zuul[bot]
3236f50fe7 Merge pull request #7950 from ryanpetrello/fix-channels-memory-leak
work around a memory leak in channels_redis

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-25 14:26:47 +00:00
softwarefactory-project-zuul[bot]
d0e0dbea24 Merge pull request #7986 from kldavis52/api_status_405_error
Api status 405 error message update, address issue#5744

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-25 14:00:24 +00:00
Ryan Petrello
e0acf73ac6 add a changelog note about the channels_redis memory leak 2020-08-25 09:58:04 -04:00
Ryan Petrello
e25da217e8 work around a memory leak in channels_redis
see: https://github.com/django/channels_redis/issues/212
see: https://github.com/django/channels_redis/pull/219/
2020-08-25 09:58:03 -04:00
Ryan Petrello
04188aa2d6 Bump version to 14.1.0 2020-08-25 09:45:05 -04:00
softwarefactory-project-zuul[bot]
35efbb043d Merge pull request #7966 from ryanpetrello/vanishing-instance
improve job reaping for jobs that were started on a missing Instance

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-25 13:36:35 +00:00
Ryan Petrello
64da67fa2e mprove error message when changing an inventory from regular -> smart
see: https://github.com/ansible/awx/issues/5744
Co-Authored-By: kldavis52 <kyle.linnard.davis@gmail.com>
2020-08-25 09:25:54 -04:00
sean-m-sullivan
13f3292af0 updated test 2020-08-25 07:04:27 -05:00
nixocio
de130eb798 Add advanced search keys for InstanceGroup and CredentialType Lists
Add advanced search keys for `InstanceGroup` and `CredentialType` Lists.

See: https://github.com/ansible/awx/pull/7895/files
2020-08-24 21:27:44 -04:00
Marliana Lara
febfb985a4 Add smart inventory host detail view
* Remove host toggle from smart inv host list
2020-08-24 17:19:22 -04:00
beeankha
75a0c0ab1e Prioritize integer names over IDs more effectively 2020-08-24 17:13:22 -04:00
beeankha
54317236f3 Fix pep8 error, remove redundant var assignment 2020-08-24 17:13:22 -04:00
John Westcott IV
0fd618d88b Changing test suite and fixing user issue in tower_api 2020-08-24 17:13:21 -04:00
beeankha
e9d66df77a Initial commit for tower_role name vs id lookup bug fix 2020-08-24 17:13:21 -04:00
beeankha
ef7a74c4a3 Initial commit of pylint fixes 2020-08-24 16:47:16 -04:00
softwarefactory-project-zuul[bot]
5248ac4498 Merge pull request #7921 from mabashian/6172-schedule-detail-vars
Adds extra variables to schedule details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-24 20:45:32 +00:00
softwarefactory-project-zuul[bot]
1a033653ae Merge pull request #7978 from jakemcdermott/fix-7977
Don't display facts until facts are loaded

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-24 19:33:26 +00:00
softwarefactory-project-zuul[bot]
45f7e4a663 Merge pull request #7911 from AmadeusITGroup/archive_url_scm_type
Add Remote Archive SCM Type to support using artifacts and releases as projects

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-24 17:16:12 +00:00
Jake McDermott
0af9e01610 Don't display facts until facts are loaded 2020-08-24 12:55:32 -04:00
softwarefactory-project-zuul[bot]
6ef27e5458 Merge pull request #7962 from hit0ri/fix-broadcast-websocket-secret-length
Fix broadcast_websocket_secret length

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-24 16:11:13 +00:00
Alex Corey
90e8d5697e Adds fix to load template details screen even for users without webhook key permissions 2020-08-24 11:39:29 -04:00
nixocio
447bde95e3 Add label to identify isolated instance group JobDetail screen
Add label to identify isolated instance group JobDetail screen as per
mock up.

See: https://tower-mockups.testing.ansible.com/patternfly/jobs/jobs-detail/
2020-08-23 14:58:06 -04:00
Sean Sullivan
cda05c4f03 Updated test for lint
Updated test for lint
2020-08-22 20:16:27 -05:00
sean-m-sullivan
3794f095cf update to tower_project_update 2020-08-22 13:43:14 -05:00
Philip Douglass
6dc41f54fc Ensure scm credentials are passed for archive scm type 2020-08-22 11:16:04 -04:00
Ryan Petrello
de59d1d3f6 improve job reaping for jobs that were started on a missing Instance
see: https://github.com/ansible/awx/issues/7848
2020-08-21 16:32:17 -04:00
softwarefactory-project-zuul[bot]
2a824fc1d5 Merge pull request #7964 from nixocio/ui_update_button
Update disassociate button variant

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-21 19:36:43 +00:00
nixocio
17a40808b4 Update disassociate button variant
Update disassociate button variant.

See: https://github.com/ansible/awx/issues/7041

Also: https://tower-mockups.testing.ansible.com/patternfly/instance-groups/instance-groups-instances/
2020-08-21 14:46:15 -04:00
softwarefactory-project-zuul[bot]
fb381c18da Merge pull request #7961 from mabashian/fix-audit-warnings
Fix npm audit warnings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-21 18:14:47 +00:00
Philip Douglass
30ae0f53ec Reject setting scm_branch for Remote Archive projects 2020-08-21 13:09:09 -04:00
Philip Douglass
2d23748971 Add Remote Archive SCM Type feature to CHANGELOG.md
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-21 12:53:51 -04:00
softwarefactory-project-zuul[bot]
3c39067d7d Merge pull request #7958 from shanemcd/fix-container-groups
Fix container groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-21 13:59:27 +00:00
Taras Dyshkant
e4095a0c27 Fix broadcast_websocket_secret length
Password lookup parameters must be within the same set of quotes.
Otherwise a default value of length is used (20).
2020-08-21 16:43:07 +03:00
mabashian
80fe98b8d6 Fix npm audit warnings 2020-08-21 09:20:29 -04:00
Shane McDonald
8ae328e427 Switch back to built-in kubectl connection plugin
There's a bug in the upstream community.kubernetes plugin. We can open up a
follow-up PR once that has been patched.
2020-08-20 21:42:07 -04:00
softwarefactory-project-zuul[bot]
51029a8b7a Merge pull request #7910 from nixocio/ui_issue_5684
Add type column to users list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-20 21:13:00 +00:00
softwarefactory-project-zuul[bot]
5458411b19 Merge pull request #7803 from mabashian/6425-approval-notif
Adds support for toggling approval notifications on orgs and wfjts

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-20 20:23:50 +00:00
softwarefactory-project-zuul[bot]
bfe00d46ad Merge pull request #7903 from jlmitch5/searchableKeysPt3
update newly useRequested lists to get advanced searchableKeys

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-20 19:59:54 +00:00
softwarefactory-project-zuul[bot]
b92fab2048 Merge pull request #7866 from nixocio/ui_add_isolated_instance_groups_marker
Add label to show isolated group 

Reviewed-by: Kersom
             https://github.com/nixocio
2020-08-20 18:32:52 +00:00
mabashian
222a65c875 Adds extra variables to schedule details. Updates parameters by which we display prompt fields on schedule details. Extend VariableDetails component to be able to handle values that come in raw JSON form. 2020-08-20 14:29:24 -04:00
mabashian
daeb5a8de8 Only disable single notification row when toggling, not all rows 2020-08-20 14:24:05 -04:00
nixocio
6ed65a9c81 Add label to show isolated group
Add label to show isolated group.

See: https://tower-mockups.testing.ansible.com/patternfly/instance-groups/instance-groups/
2020-08-20 13:59:56 -04:00
Philip Douglass
d259500332 Implement Remote Archive SCM Type for ui_next
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 13:52:31 -04:00
Philip Douglass
70cbccd2ef Add migration for new Remote Archive SCM Type 2020-08-20 13:38:10 -04:00
Philip DOUGLASS
f72b777b07 Add plugin to cleanly manage possibly versioned project archives
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 13:38:10 -04:00
Philip Douglass
6720cd9bda Add block to download and unpack a remote archive
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 13:38:10 -04:00
Philip Douglass
b011e34fae Show fields for archive when selected as scm_type
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 13:38:10 -04:00
mabashian
681b765b9a Adds support for toggling approval notifications on orgs and wfjts 2020-08-20 13:36:32 -04:00
John Mitchell
d03448aa9d add searchable keys support for AssociateModal and SelectResourceStep lists 2020-08-20 12:53:35 -04:00
John Mitchell
aee2a81b27 update newly useRequested lists to get advanced searchableKeys 2020-08-20 12:53:35 -04:00
nixocio
8402cf97de Add type column to users list
Add type column to users list. Also, update `UserListItem` to be a
functional component.

See: https://github.com/ansible/awx/issues/5684
2020-08-20 12:50:13 -04:00
Philip Douglass
8157ab2fa9 Hide scm_branch field when scm_type is archive
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 12:34:35 -04:00
Philip Douglass
2f3f6e60d1 Add archive to scm_type expected test results
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 12:34:35 -04:00
Philip Douglass
d224aa09f0 Add archive to TestProjectUpdateCredentials test parametrize
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 12:34:35 -04:00
Philip Douglass
997351eee3 Add archive project data to Dashboard view
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 12:34:35 -04:00
Philip Douglass
47cabc4229 Add archive SCM url handling to update_scm_url()
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 12:34:35 -04:00
Philip Douglass
2cfa4eb60a Add archive option to SCM_TYPE_CHOICES for Remote Archives
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-08-20 12:34:35 -04:00
softwarefactory-project-zuul[bot]
a659b9d994 Merge pull request #7851 from mabashian/5910-workflow-prompt
Support workflow prompting on launch

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-08-20 16:30:29 +00:00
softwarefactory-project-zuul[bot]
780b2be8bf Merge pull request #7943 from mabashian/7660-workflow-details
Adds workflow detail tab to workflow results

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-08-20 16:30:23 +00:00
softwarefactory-project-zuul[bot]
a2a8c47166 Merge pull request #7864 from nixocio/ui_issue_7767
Add feature to edit instance group

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-08-20 16:30:16 +00:00
softwarefactory-project-zuul[bot]
6fcd017d48 Merge pull request #7951 from nixocio/ui_issue_7930
Add list of jobs for instance groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-20 16:22:35 +00:00
softwarefactory-project-zuul[bot]
bd093b8999 Merge pull request #7947 from nixocio/ui_instance_group_update_css_red
Use a patternfly CSS variable instead of red

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-20 16:22:29 +00:00
softwarefactory-project-zuul[bot]
cae45cec21 Merge pull request #7949 from ryanpetrello/even-more-changelog
more changelog updates

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-20 15:59:25 +00:00
nixocio
70295c3e75 Add list of jobs for instance groups
Add list of jobs for instance groups.

See: https://github.com/ansible/awx/issues/7930
2020-08-20 11:40:04 -04:00
Sean Sullivan
d6815e5114 Removed reference to sync
Updated references to sync in favour of update.
2020-08-20 10:30:43 -05:00
Ryan Petrello
0266ed3836 more changelog updates 2020-08-20 10:44:06 -04:00
softwarefactory-project-zuul[bot]
9ff4712844 Merge pull request #7948 from ryanpetrello/arm-changelog
changelog for arm64 builds

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-20 14:34:33 +00:00
Ryan Petrello
821cfba88a changelog for arm64 builds 2020-08-20 10:05:27 -04:00
nixocio
efa12b12ec Use a patternfly CSS variable instead of red
Use a patternfly CSS variable instead of red.

See: https://pf4.patternfly.org/documentation/overview/global-css-variables
2020-08-20 09:53:39 -04:00
softwarefactory-project-zuul[bot]
070c7e611c Merge pull request #7936 from AlexSCorey/FixesCredentialLookupNotfetchingdata
Adds fix to allow look up to fetch data

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-20 13:42:25 +00:00
softwarefactory-project-zuul[bot]
5d208cc14e Merge pull request #7607 from agaffney/arm_image_build
ARM image build support

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-19 22:07:32 +00:00
softwarefactory-project-zuul[bot]
e22d32c96b Merge pull request #7705 from anxstj/custom_environments
Change Dockerfile to copy custom venv

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-19 21:55:01 +00:00
softwarefactory-project-zuul[bot]
cf116d18b4 Merge pull request #7799 from john-westcott-iv/import-export-collecion-modules
Adding import/export modules around AWX Kit features

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-19 20:51:05 +00:00
softwarefactory-project-zuul[bot]
a3eff133fe Merge pull request #7942 from ryanpetrello/iso-removal
fix a bug that prevents the explicit removal of instances from groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-19 19:16:20 +00:00
John Westcott IV
a5afe0214a Trying to make AWXKIT tests not run on python2 2020-08-19 14:29:42 -04:00
John Westcott IV
b93319e359 Updating to remove auth_type since its not longer required 2020-08-19 14:27:02 -04:00
John Westcott IV
2c8c1ff595 Fixing sanity error 2020-08-19 14:14:49 -04:00
John Westcott IV
3abd77c4c0 Fixing oauth token login and making module respect token over username/password 2020-08-19 14:12:50 -04:00
John Westcott IV
a2eab45d61 Trying to gobble up logs incase there are errors 2020-08-19 14:12:50 -04:00
beeankha
76f08744f6 Fix linter whitespace error 2020-08-19 14:12:50 -04:00
John Westcott IV
01e08ba0e1 Fixing exit_module -> exit_json 2020-08-19 14:12:50 -04:00
John Westcott IV
c2e0c0655b Fixing validate-module errors 2020-08-19 14:12:50 -04:00
John Westcott IV
8688740e93 Fixing ansible pep8 issues 2020-08-19 14:12:50 -04:00
John Westcott IV
3fe61cfa4f Fixing linting issues 2020-08-19 14:12:50 -04:00
John Westcott IV
5107f164a2 Expanding examples 2020-08-19 14:12:50 -04:00
John Westcott IV
9bf19daa5e Another linting issue 2020-08-19 14:12:50 -04:00
John Westcott IV
f2b9bdd552 Removed default: '' and updated [] to '' per specification 2020-08-19 14:12:50 -04:00
John Westcott IV
8a0cd747e1 Fixing truthy linting issues 2020-08-19 14:12:50 -04:00
John Westcott IV
748bdbd2dd Fix python3 Zuul error with awxkit 2020-08-19 14:12:50 -04:00
John Westcott IV
08e5dd87e6 Adding integration tests and example in import 2020-08-19 14:12:50 -04:00
John Westcott IV
40f6741474 Adding import/export awx kit features
Changed library structure

Origional TowerModule becomes TowerLegacyModule

TowerModule from tower_api becomes TowerAPIModule

A real base TowerModule is created in tower_module.py

A new TowerAWXKitModule is created in tower_awxkit

TowerAWXKitModule and TowerAPIModule are child classes of TowerModule
2020-08-19 14:12:50 -04:00
mabashian
c0cb1dee91 Adds workflow detail tab to workflow results 2020-08-19 13:55:42 -04:00
Alex Corey
7bff11379c Update awx/ui_next/src/components/Lookup/CredentialLookup.jsx
Co-authored-by: Jake McDermott <yo@jakemcdermott.me>
2020-08-19 13:32:48 -04:00
Ryan Petrello
b14515b287 fix a bug that prevents the explicit removal of instances from groups 2020-08-19 13:22:31 -04:00
softwarefactory-project-zuul[bot]
383f8aa8f9 Merge pull request #7937 from ryanpetrello/only-bearer
clean up old authtoken support

Reviewed-by: John Westcott IV
             https://github.com/john-westcott-iv
2020-08-19 17:10:51 +00:00
softwarefactory-project-zuul[bot]
9d2498cf6b Merge pull request #7934 from ryanpetrello/deprecate-mercurial
add a deprecation warning for mercurial project syncs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-19 16:32:32 +00:00
Ryan Petrello
815d691622 clean up old authtoken support
just use Bearer tokens - those are the only type of tokens we support
2020-08-19 12:23:00 -04:00
Alex Corey
8a2bf8c1fc adds fix to allow look up to fetch data 2020-08-19 12:18:04 -04:00
softwarefactory-project-zuul[bot]
fb66766463 Merge pull request #7933 from jakemcdermott/fix-7756
Use organization api to create users

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-19 15:36:27 +00:00
Ryan Petrello
612bb81976 add a deprecation warning for mercurial project syncs
see: https://github.com/ansible/awx/issues/7932
2020-08-19 11:19:03 -04:00
Jake McDermott
dc9f2441df Embolden user organization name 2020-08-19 11:02:22 -04:00
Jake McDermott
806a468600 Use organization api to create users
This ensures that the user will be related to the chosen organization
when it is created.
2020-08-19 11:02:11 -04:00
softwarefactory-project-zuul[bot]
d452c1d7a9 Merge pull request #7918 from ryanpetrello/surro-get-outta-here
make event stdout encoding more resilient to UTF-16 surrogate pairs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-18 14:48:11 +00:00
Ryan Petrello
33e2c059ed make event stdout encoding more resilient to UTF-16 surrogate pairs
see: https://en.wikipedia.org/wiki/Universal_Character_Set_characters#Surrogates
2020-08-18 10:23:20 -04:00
softwarefactory-project-zuul[bot]
e7281a753f Merge pull request #7922 from shanemcd/pin-xdist
Fix API tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-18 12:52:45 +00:00
Shane McDonald
54e87378d5 Pin pytest-xdist 2020-08-17 20:43:02 -04:00
mabashian
1e9a71a2e4 Run prettier 2020-08-13 11:55:57 -04:00
mabashian
98b7f3b618 Support workflow prompting on launch 2020-08-13 11:36:58 -04:00
softwarefactory-project-zuul[bot]
54f8742747 Merge pull request #7070 from JoelKle/fix_rerun_ability
Installer - local_docker - fixed the ability to rerun the playbook

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-13 14:12:08 +00:00
softwarefactory-project-zuul[bot]
06efba6f72 Merge pull request #7800 from AlexSCorey/7789-UserTokenDetails
Adds User Token Details page

Reviewed-by: Daniel Sami
             https://github.com/dsesami
2020-08-12 21:00:38 +00:00
Alex Corey
15fda43a10 Utilizes UserDateDetail, Capitalizes Scope value, fixes spelling errors 2020-08-12 16:34:59 -04:00
Alex Corey
19d6a3f65e Adds User Token Details page 2020-08-12 16:33:32 -04:00
softwarefactory-project-zuul[bot]
f86697536c Merge pull request #7807 from marshmalien/7683-smart-inv-hosts
Add smart inventory host list view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-12 18:41:51 +00:00
softwarefactory-project-zuul[bot]
d17266fae0 Merge pull request #7895 from jlmitch5/searchOptionsRequestsPass2
update existing relatedSearchKey requests to new convention and fix U…

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-12 17:19:17 +00:00
John Mitchell
dd68b6ed73 update existing relatedSearchKey requests to new convention and fix UJT searchKeys 2020-08-12 12:21:10 -04:00
Marliana Lara
214cb76e1e Add custom host toggle tooltip for smart inventory hosts 2020-08-12 10:40:59 -04:00
softwarefactory-project-zuul[bot]
9c13c07169 Merge pull request #7894 from ansible/chrismeyersfsu-patch-2
Update websockets.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-12 14:23:33 +00:00
softwarefactory-project-zuul[bot]
1d5bdedc9b Merge pull request #7893 from AlanCoding/awx_awx_141
Add changelog preparing for awx.awx 14.1.0 bug fix

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-12 14:16:31 +00:00
softwarefactory-project-zuul[bot]
019ad9da73 Merge pull request #7880 from jlmitch5/kebabifyAdvancedSearch
kebabify additional controls when advanced search is displayed

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-12 13:53:52 +00:00
Chris Meyers
5dd2cb10b4 Update websockets.md 2020-08-12 09:52:10 -04:00
Chris Meyers
aa8d3d5ae4 Update websockets.md
Add more details about backplane websocket functionality.
2020-08-12 09:49:24 -04:00
Alan Rominger
dfad5117fa Add changelog preparing for awx.awx 14.1.0 bug fix 2020-08-12 09:47:52 -04:00
John Mitchell
54d13b6397 remove unnecessary selectors from kebabification test 2020-08-12 09:26:46 -04:00
John Mitchell
1323626d5e add onShowAdvancedSearch callback test 2020-08-12 09:26:46 -04:00
John Mitchell
a352de3da7 change name of hook to be useKebabifiedMenu 2020-08-12 09:26:46 -04:00
John Mitchell
8f04026404 kebabify additional controls when advanced search is displayed 2020-08-12 09:26:46 -04:00
softwarefactory-project-zuul[bot]
0adb9cfd45 Merge pull request #7888 from nixocio/ui_remove_undefined_prop
Remove undefined prop from SelectedList call

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-12 13:14:26 +00:00
nixocio
aace8f5032 Remove undefined prop from SelectedList call
Remove undefined prop from `SelectedList` call.
2020-08-11 16:44:03 -04:00
Marliana Lara
8a4d45ddb6 Add smart inventory host list view 2020-08-11 14:48:39 -04:00
softwarefactory-project-zuul[bot]
025a979cb2 Merge pull request #7867 from keithjgrant/5651-notification-templates
Notification templates list & details

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-11 18:10:35 +00:00
Keith Grant
d27d4e4f28 workaround import/dependency bug in tests 2020-08-11 10:36:42 -07:00
softwarefactory-project-zuul[bot]
1dfc9d224c Merge pull request #7875 from ryanpetrello/more-changes
changelog updates for recent additions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-11 17:24:32 +00:00
Ryan Petrello
5fb1b1ceea changelog updates for recent additions 2020-08-11 12:52:52 -04:00
Keith Grant
65d4c347c9 add ObjectDetails for HTTP Headers display 2020-08-11 09:36:11 -07:00
Keith Grant
4c555815b3 add notification list tests 2020-08-11 09:36:11 -07:00
Keith Grant
8bb1c985c0 send test notifications 2020-08-11 09:36:11 -07:00
Keith Grant
1405f6ca51 add notification status indicator 2020-08-11 09:36:10 -07:00
Keith Grant
a9451c9864 more template details; add template delete button 2020-08-11 09:36:10 -07:00
Keith Grant
ab4628b199 flush out template detail 2020-08-11 09:36:10 -07:00
Keith Grant
182dce3dc3 flushing out notification template detail 2020-08-11 09:36:10 -07:00
Keith Grant
fbd1147cff start notification template list 2020-08-11 09:36:10 -07:00
softwarefactory-project-zuul[bot]
0e730311bb Merge pull request #7871 from ryanpetrello/upgrade-ldap
update to a newer python-ldap to address a bug

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-11 16:29:30 +00:00
softwarefactory-project-zuul[bot]
9d4c05b15e Merge pull request #7872 from AlanCoding/devel_version
Fix awx.awx version replacement regex

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-11 15:47:16 +00:00
sean-m-sullivan
69dc0a892f fix lint 2020-08-11 09:56:08 -05:00
sean-m-sullivan
813e38636a fix documentation 2020-08-11 09:38:18 -05:00
nixocio
e3fe680d14 Add feature to edit instance group
Add feature to edit instance group.

See: https://github.com/ansible/awx/issues/7767
2020-08-11 10:37:08 -04:00
softwarefactory-project-zuul[bot]
3ca43e63b5 Merge pull request #7808 from zedr/feat-yaml-import
Allow YAML as a CLI import format

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-11 14:31:01 +00:00
sean-m-sullivan
262b2bf8ff Merge branch 'project_update' of github.com:sean-m-sullivan/awx into project_update 2020-08-11 09:28:31 -05:00
sean-m-sullivan
af1fc5a9e9 add tests 2020-08-11 09:28:17 -05:00
Alan Rominger
2a0c61de63 Change regex to match what is in source 2020-08-11 10:04:14 -04:00
Sean Sullivan
8af315cf29 Create tower_project_update
Add module to update tower project and wait until synced.
2020-08-11 08:54:10 -05:00
Ryan Petrello
987c7d48a0 minor cleanup up CLI import -f yaml support 2020-08-11 09:44:13 -04:00
Ryan Petrello
5e9d372db2 update to a newer python-ldap to address a bug
see: https://github.com/ansible/awx/issues/7868
2020-08-11 09:34:04 -04:00
Sean Sullivan
7089c5f06e Merge pull request #2 from ansible/devel
Rebase
2020-08-11 07:56:11 -05:00
Rigel Di Scala
579604d2c6 Allow YAML as a CLI import format
This changset allows the import of YAML formatted resources. The CLI
user can indicate which format to use with the `-f, --format` option.
The CLI help text has been amended to reflect the new feature.

The AWX CLI `export` subcommand offers the option of formatting the output
as YAML or JSON, so it makes sense that the `import` subcommand reflects
this.

A simple test is also provided. In order to ease the task of testing
commands that import resources by reading the stdin, the CLI has been
extended to allow specifying an alternative file descriptor for stdin,
similarly to stdout and stderr.
2020-08-10 23:43:53 +02:00
softwarefactory-project-zuul[bot]
ddb6c5d0cc Merge pull request #7644 from marshmalien/smart-inventory-forms
Add smart inventory add/edit forms and host filter lookup

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-10 19:08:36 +00:00
softwarefactory-project-zuul[bot]
9bd6a323aa Merge pull request #7860 from AlanCoding/upgrade_gitpython
Upgrade gitpython to pick up bug fix

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-10 19:07:26 +00:00
Alan Rominger
8aacd006e0 Revert updater changes to Ansible requirements 2020-08-10 14:29:07 -04:00
Alan Rominger
f269d5b2ed Upgrade gitpython to pick up bug fix 2020-08-10 14:29:05 -04:00
Marliana Lara
af218aaa0b Decode host filter chip values and fix boolean search filter chip bug 2020-08-10 14:19:55 -04:00
Marliana Lara
8e6d475a9d Add smart inventory edit form 2020-08-10 14:09:01 -04:00
Marliana Lara
6a304dce55 Add smart inventory add form and host filter lookup 2020-08-10 14:09:01 -04:00
Marliana Lara
5864d61b5b Refactor organization look to use useRequest hook 2020-08-10 14:08:57 -04:00
softwarefactory-project-zuul[bot]
fbb9998b68 Merge pull request #7776 from nixocio/ui_add_instance_group
Add feature to add instance group

Reviewed-by: Kersom
             https://github.com/nixocio
2020-08-10 17:35:01 +00:00
softwarefactory-project-zuul[bot]
c6317c0113 Merge pull request #7861 from ansible/chrismeyersfsu-patch-1
Update websockets.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-10 17:33:54 +00:00
softwarefactory-project-zuul[bot]
d48cc1ab43 Merge pull request #7847 from zedr/feat-workflow-labels
Export Workflow Job Template Node Labels

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-10 17:27:21 +00:00
softwarefactory-project-zuul[bot]
ccdb2b4ca3 Merge pull request #7856 from zedr/fix-related-import-return
Fix early return in assign related method

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-10 17:26:05 +00:00
nixocio
897c8b74a5 Add feature to add instance group
Add feature to add instance group.

See: https://github.com/ansible/awx/issues/7744
2020-08-10 13:06:56 -04:00
Chris Meyers
fdc53bd0d3 Update websockets.md
spelling
2020-08-10 12:58:49 -04:00
Chris Meyers
1cf48ffc9e Update websockets.md
Add documentation for websocket backplane secret key exchange logic.
2020-08-10 12:58:49 -04:00
Rigel Di Scala
0beff054af Export Workflow Job Template Node Labels
This change adds related Labels to the Workflow Job Template document that is
exported by the AWX CLI.

Previously, exporting and then importing Workflow Job Templates would
not retain their related Labels.
2020-08-10 12:56:52 -04:00
Rigel Di Scala
eeebd517d1 Fix early return in assign related method
This change fixes an erroneus early return in a private method that was
preventing more than one type of related object from being correctly
assigned to the parent object, and therefore imported.

Also, a minor spelling mistake was corrected.
2020-08-10 12:54:23 -04:00
softwarefactory-project-zuul[bot]
395b338221 Merge pull request #7863 from ryanpetrello/fix-tox
fix busted flake8 CI

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-10 16:53:08 +00:00
Ryan Petrello
32542021c6 fix busted flake8 CI 2020-08-10 12:26:12 -04:00
softwarefactory-project-zuul[bot]
52bb71b63e Merge pull request #7840 from beeankha/credential_input_idempotency
Make 'inputs' Unchanged When Blank in Credentials Module

Reviewed-by: Bianca Henderson <beeankha@gmail.com>
             https://github.com/beeankha
2020-08-06 18:04:15 +00:00
softwarefactory-project-zuul[bot]
91df10dbb5 Merge pull request #7739 from jlmitch5/advSearch
Advanced search

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-06 17:57:24 +00:00
John Mitchell
61ce8cb029 delete inadverdently added back InventoryScriptLookup file 2020-08-06 13:21:00 -04:00
John Mitchell
cbea77a90c update rest of lookups to use correct searchableKeys props 2020-08-06 13:21:00 -04:00
John Mitchell
f8bd8abc82 make name default searchColumn for ProjectJobTemplatesList. also add helpful error message to tell you this is the issue 2020-08-06 13:21:00 -04:00
John Mitchell
f24654fb26 update searchablekeys prop names for project lookup 2020-08-06 13:21:00 -04:00
John Mitchell
495b4142c7 make sortColumnKey error message more clear 2020-08-06 13:21:00 -04:00
John Mitchell
f15325aebf add back in searchable keys props to user token list 2020-08-06 13:21:00 -04:00
John Mitchell
5b362ef162 add selectors for cypress tests 2020-08-06 13:21:00 -04:00
John Mitchell
0876b944ed fix AddRersourceRole sort column 2020-08-06 13:21:00 -04:00
John Mitchell
ede1260675 fix merge conflicts and failing test 2020-08-06 13:21:00 -04:00
John Mitchell
36585ad74e Move Search to hooks and excise PF Dropdown in favor of Select 2020-08-06 13:21:00 -04:00
John Mitchell
dc2bf503d1 Add AdvancedSearch propTypes and defaultProps 2020-08-06 13:21:00 -04:00
John Mitchell
2229d43e8b fix duplicate variable and key usng array index issues 2020-08-06 13:21:00 -04:00
John Mitchell
5ffc2e4188 Updates to support advanced search changes:
- make set type and lookup prefixes/suffixes on searchColumns explicitly defined
- send possible search keys from options requests on (most) lists
2020-08-06 13:21:00 -04:00
John Mitchell
b46a87209a Add advanced search to UI 2020-08-06 12:17:49 -04:00
softwarefactory-project-zuul[bot]
c7dd0bc2b9 Merge pull request #7842 from nixocio/ui_remove_not_defined_props
Remove showExpandCollapse prop from the DataListToolbar calls

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-06 16:16:00 +00:00
softwarefactory-project-zuul[bot]
0b38a8be7e Merge pull request #7747 from marshmalien/add-settings-framework
Add settings navigation skeleton

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-06 16:14:33 +00:00
softwarefactory-project-zuul[bot]
6d9aed35d7 Merge pull request #7810 from mabashian/7564-access-add-btn
Fix rbac on Add button on User Access/Team Roles lists

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-06 16:10:55 +00:00
softwarefactory-project-zuul[bot]
16ce7b4647 Merge pull request #7821 from mabashian/7814-form-error
Handle form submission errors that may be deeply nested in the return object

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-06 16:09:29 +00:00
softwarefactory-project-zuul[bot]
d58a66d587 Merge pull request #7838 from ryanpetrello/bump-14-0-0
Bump version to 14.0.0

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-06 15:45:35 +00:00
nixocio
03274db695 Remove showExpandCollapse prop from the DataListToolbar calls
Remove showExpandCollapse prop from the DataListToolbar calls. This is
not an expected prop to be passed to this component.

Inside DataListToolbar.

```
  const showExpandCollapse = onCompact && onExpand;
```

In order to use this feature, `onCompact` and `onExpand` props should
be passed.

...
2020-08-06 10:58:20 -04:00
softwarefactory-project-zuul[bot]
2c5d3ff64a Merge pull request #7477 from AlanCoding/ee_req
Add execution environment metadata to AWX collection

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2020-08-06 14:24:39 +00:00
AlanCoding
f953e6ab55 Add execution environment metadata to AWX collection 2020-08-05 22:46:23 -04:00
beeankha
dcc500e7bb Make 'inputs' idempotent in credentials module, add test to check this works 2020-08-05 16:44:22 -04:00
Ryan Petrello
99e417d748 Bump version to 14.0.0 2020-08-05 16:22:03 -04:00
softwarefactory-project-zuul[bot]
1c0dc1cccb Merge pull request #7836 from ryanpetrello/downstream-merge
merge in a few downstream fixes

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-05 19:42:53 +00:00
Ryan Petrello
6067fc36f6 begin a 14.0.0 changelog 2020-08-05 14:53:01 -04:00
Ryan Petrello
0c6be1f4d7 Merge branch 'downstream' into devel 2020-08-05 14:48:36 -04:00
softwarefactory-project-zuul[bot]
57732d4630 Merge pull request #7824 from shanemcd/fix-isolated-dev-env
Fix isolated dev env

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-04 23:30:56 +00:00
softwarefactory-project-zuul[bot]
3af31df2c9 Merge pull request #7823 from john-westcott-iv/cancel_500_error
Catching runtime error

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-08-04 22:25:50 +00:00
Shane McDonald
00ea453ccd Fix isolated dev env 2020-08-04 17:25:57 -04:00
John Westcott IV
27676b0634 Adding RuntimeError which is returned from a connection error in awx/main/dispatch/control.py 2020-08-04 17:17:38 -04:00
mabashian
4a3e4af0d9 Updated import/export names for consistency 2020-08-04 15:29:59 -04:00
mabashian
b145f97e0e Handle form submission errors that may be deeply nested in the return object 2020-08-04 14:30:42 -04:00
softwarefactory-project-zuul[bot]
2a9804e589 Merge pull request #7768 from wenottingham/add-some-nozzles
Create marginally more realistic event data with firehose

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-04 16:02:27 +00:00
softwarefactory-project-zuul[bot]
b990271dec Merge pull request #7811 from ryanpetrello/deprecate-galaxy-basic-auth
mark PRIMARY_GALAXY_USERNAME and PRIMARY_GALAXY_PASSWORD as deprecated

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-04 14:45:58 +00:00
Ryan Petrello
76ba363513 mark PRIMARY_GALAXY_USERNAME and PRIMARY_GALAXY_PASSWORD as deprecated 2020-08-04 10:18:40 -04:00
mabashian
4ce2235f68 Fix rbac on Add button on User Access/Team Roles lists 2020-08-04 08:49:51 -04:00
Bill Nottingham
bd6cac966a Create marginally more realistic event data with firehose 2020-08-03 20:57:10 -04:00
softwarefactory-project-zuul[bot]
15c4ab3a9b Merge pull request #7802 from ryanpetrello/vnnn-minus
remove vNNN from example migration files

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-03 20:09:24 +00:00
Ryan Petrello
820c0782ad remove vNNN from example migration files 2020-08-03 15:30:37 -04:00
softwarefactory-project-zuul[bot]
b11908ed1f Merge pull request #7577 from AlexSCorey/RemovesInventoryScripts
Removes Inventory Script screens, routes, stubs etc.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-03 18:37:25 +00:00
softwarefactory-project-zuul[bot]
e20ea5edba Merge pull request #7724 from AlexSCorey/7434-UserTokensDelete
Adds delete functionality to user tokens list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-03 18:14:28 +00:00
Alex Corey
3d08754be5 Removes Inventory Script screens, routes, stubs etc. 2020-08-03 14:07:44 -04:00
Alex Corey
164d4e6419 Adds delete functionality to user tokens list 2020-08-03 13:46:34 -04:00
softwarefactory-project-zuul[bot]
d5ab54977c Merge pull request #7796 from zedr/fix-py3-yaml-bytes-decoded
Fix garbage being printed when exporting as YAML - related #7795

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-08-03 16:38:16 +00:00
Rigel Di Scala
490746fe8c Fix garbage being printed when exporting as YAML - related #7795
This resolves issue #7795, by passing the `encoding` keyword argument
only when the code is run on a Python 2 interpreter.

related #7795.
2020-08-03 11:57:45 -04:00
softwarefactory-project-zuul[bot]
def79de72b Merge pull request #7785 from mabashian/convert-NotificationList-functional
Converts NotificationList to functional component and now uses useRequest

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-31 19:29:56 +00:00
softwarefactory-project-zuul[bot]
f2fa28e9dc Merge pull request #7786 from mabashian/convert-OrganizationLookup-useRequest
Updates OrganizationLookup to use useRequest

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-31 19:29:50 +00:00
Andrew Gaffney
02252f3f97 ARM image build support
* upgrade `chromedriver` for ARM support
* upgrade `pynacl` to fix `libsodium` build issue on ARM
* remove unnecessary i686-specific `libstdc++.so.6` package
* install `kubectl` and `tini` from upstream binaries for ARM support
* use upstream `postgres` and `alpine` docker images for `postgresql` helm chart

Fixes #7051
2020-07-31 14:22:35 -04:00
softwarefactory-project-zuul[bot]
fed02ef14a Merge pull request #7634 from norpol/patch-1
Fix requirements updater.sh "sourcing" snippet

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-31 17:54:17 +00:00
softwarefactory-project-zuul[bot]
1077e218bd Merge pull request #7782 from ryanpetrello/galaxy-collection-install-29
only support ansible-galaxy collection in 2.9+

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-31 17:54:10 +00:00
softwarefactory-project-zuul[bot]
76f75f1745 Merge pull request #7787 from squidboylan/collection_test_fix
Fix collection test inventory

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2020-07-31 17:26:25 +00:00
softwarefactory-project-zuul[bot]
1bb597bba4 Merge pull request #7788 from ryanpetrello/eff-string
fix a typo in an f-string

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-31 17:22:35 +00:00
Ryan Petrello
a0e5e74cab fix a typo in an f-string 2020-07-31 12:48:45 -04:00
Caleb Boylan
d935e3c5a3 Fix collection test inventory 2020-07-31 09:47:10 -07:00
mabashian
460ce7fcfa Updates OrganizationLookup to use useRequest 2020-07-31 12:01:55 -04:00
softwarefactory-project-zuul[bot]
ec8725d54f Merge pull request #7614 from vjanssens/5626-add-item-count
Add pagination/item count to DataListToolbar

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-31 14:58:29 +00:00
mabashian
d8af8baae3 Converts NotificationList to functional component and now uses useRequest 2020-07-31 10:49:27 -04:00
softwarefactory-project-zuul[bot]
d36999acc7 Merge pull request #7784 from ryanpetrello/comments
make these issue template sentences comments

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-31 14:34:06 +00:00
Ryan Petrello
5b8cfa353f make these issue template sentences comments
(because people are filing issues and leaving this text at the top)
2020-07-31 09:58:52 -04:00
softwarefactory-project-zuul[bot]
07e86adbb7 Merge pull request #7750 from Orabig/devel
Allow to use an existing PVC for postgresql install with Helm

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-31 13:53:09 +00:00
Ryan Petrello
1ad623f253 only support ansible-galaxy collection in 2.9+
see: https://github.com/ansible/awx/issues/7769
2020-07-31 09:42:07 -04:00
softwarefactory-project-zuul[bot]
c0a0e16ba0 Merge pull request #7742 from nixocio/ui_rebased_issue_7640
Add details page for instance group

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-30 20:07:54 +00:00
softwarefactory-project-zuul[bot]
91d3f954cd Merge pull request #7772 from mabashian/convert-ResourceAccessList-functional
Converts ResourceAccessList to functional component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-30 18:10:29 +00:00
softwarefactory-project-zuul[bot]
b5f87b1bac Merge pull request #7774 from ryanpetrello/bug-filing-extra
update the bug report and feature templates w/ additional instructions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-30 18:03:43 +00:00
Ryan Petrello
173628c709 update the bug report and feature templates w/ additional instructions 2020-07-30 13:24:54 -04:00
softwarefactory-project-zuul[bot]
2cabaf8727 Merge pull request #7732 from AlexSCorey/7728-TeamsUsers
Adds Teams Access List and renames Tabs and files under teams

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-30 16:09:14 +00:00
softwarefactory-project-zuul[bot]
d38b3afd21 Merge pull request #7764 from fosterseth/add-kubernetes_web_svc_type
Add kubernetes_web_svc_type variable to installer/inventory

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-30 14:59:39 +00:00
softwarefactory-project-zuul[bot]
162aab7272 Merge pull request #7738 from mabashian/test-console-cleanup
Test console cleanup

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-30 14:20:20 +00:00
mabashian
dcaab9bc8b Converts ResourceAccessList to functional component 2020-07-30 10:10:56 -04:00
softwarefactory-project-zuul[bot]
8f1c071acf Merge pull request #7733 from nixocio/ui_update_delete
Update delete button variant to secondary

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-30 14:03:36 +00:00
softwarefactory-project-zuul[bot]
efdee6ed1f Merge pull request #7770 from AlanCoding/falsy_inv
Handle not-provided falsy values in tower_inventory_source

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-30 12:24:20 +00:00
AlanCoding
750c22a150 Handle not-provided falsy values in tower_inventory_source 2020-07-29 21:55:20 -04:00
softwarefactory-project-zuul[bot]
b444d10369 Merge pull request #7745 from mabashian/convert-WFJTList-useRequest
Converts WorkflowJobTemplatesList to use useRequest in preparation for advanced search

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-29 23:48:10 +00:00
softwarefactory-project-zuul[bot]
2f81a1d803 Merge pull request #7752 from mabashian/convert-ProjectList-useRequest
Converts ProjectsList to use useRequest in preparation for advanced search

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-29 23:12:51 +00:00
softwarefactory-project-zuul[bot]
902566ccfb Merge pull request #7761 from mabashian/convert-OrganizationTeamList-useRequest
Converts OrganizationTeamList to use useRequest in preparation for advanced search

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-07-29 23:04:23 +00:00
softwarefactory-project-zuul[bot]
dd828cba26 Merge pull request #7754 from mabashian/convert-JobTemplatesList-useRequest
Converts JobTemplatesList to use useRequest in preparation for advanced search

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-07-29 23:04:18 +00:00
softwarefactory-project-zuul[bot]
45809abc6f Merge pull request #7743 from mabashian/convert-UserList-functional
Converts UserList to functional component

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-07-29 22:52:45 +00:00
softwarefactory-project-zuul[bot]
3bcad7be81 Merge pull request #7759 from mabashian/convert-ProjectJobTemplatesList-hooks
Update ProjectJobTemplatesList to use useSelected, useRequest, useDeleteItems hooks

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-07-29 22:50:06 +00:00
softwarefactory-project-zuul[bot]
21a2b1a630 Merge pull request #7755 from mabashian/convert-InventorySourcesList-useRequest
Converts InventorySourcesList to use useRequest in preparation for advanced search

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2020-07-29 22:48:32 +00:00
softwarefactory-project-zuul[bot]
0d75e1540c Merge pull request #7765 from mabashian/convert-InventoryGroupsList-useRequest
Convert InventoryGroupsList to use useRequest and useSelected hooks

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-29 22:48:27 +00:00
softwarefactory-project-zuul[bot]
d43ea41b7f Merge pull request #7748 from jakemcdermott/noportal
Delete portal mode

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-29 20:45:04 +00:00
softwarefactory-project-zuul[bot]
aca1e73d84 Merge pull request #7753 from rooftopcellist/fix_unmarked_strings
Use quotations when marking strings for translation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-29 19:37:05 +00:00
Christian Adams
6e75d25b74 Merge pull request #4492 from rooftopcellist/fix_broken_ui_links
Use quotations when marking strings for translation [3.7.2]
2020-07-29 15:28:18 -04:00
mabashian
ccecd90015 Convert InventoryGroupsList to use useRequest and useSelected hooks 2020-07-29 15:07:06 -04:00
softwarefactory-project-zuul[bot]
5c400b96fe Merge pull request #7762 from gamuniz/add_helpful_dialog_profilesql
Add helpful dialog profilesql

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-29 18:28:15 +00:00
Seth Foster
07160d9719 Add kubernetes_web_svc_type variable to installer/inventory
awx-web-svc is now settable, e.g. ClusterIP or NodePort. Default
is NodePort
2020-07-29 14:18:10 -04:00
Marliana Lara
42158dea59 Hide license route based on install and add useConfig hook 2020-07-29 14:11:49 -04:00
nixocio
a4dd20872c Add details page for instance group
This PR also:

* Modify routing system to add `container_groups` as well.
* Add `DetailBadge` component.
* Add container group files as placeholder.

See: https://github.com/ansible/awx/issues/7640
Also: https://github.com/ansible/awx/issues/7467
2020-07-29 13:27:57 -04:00
Gabe Muniz
0de900a021 fixed for flake8 compliance 2020-07-29 13:13:01 -04:00
mabashian
b35aa1ac83 Converts OrganizationTeamList to use useRequest in preparation for advanced search 2020-07-29 13:12:10 -04:00
Gabe Muniz
9b06fb1e6a added helpful messaging using profile sql 2020-07-29 12:48:01 -04:00
Alex Corey
24acacbcb6 Renames files to match the tabs better. 2020-07-29 12:24:09 -04:00
mabashian
98e44de7a1 Update capitalization to match PF guidelines 2020-07-29 11:45:58 -04:00
mabashian
b11f2f017f Update capitalization to match PF guidelines 2020-07-29 11:44:17 -04:00
mabashian
9d8a177c75 Update capitalization to match PF guidelines 2020-07-29 11:43:28 -04:00
mabashian
7d8963388f Update capitalization to match PF guidelines 2020-07-29 11:41:16 -04:00
mabashian
3e0d0ec62d Update capitalization to match PF guidelines 2020-07-29 11:39:32 -04:00
mabashian
a34953cd6c Update list to use useSelected, useRequest, useDeleteItems hooks 2020-07-29 11:32:08 -04:00
Marliana Lara
c24e169bf6 Add settings framework 2020-07-29 10:58:48 -04:00
mabashian
48b29352d7 Converts InventorySourcesList to use useRequest in preparation for advanced search 2020-07-29 10:08:45 -04:00
mabashian
8addc6bb59 Converts JobTemplatesList to use useRequest in preparation for advanced search 2020-07-29 09:48:54 -04:00
Christian Adams
76b25d8c96 Use quotations when marking strings for translation 2020-07-29 09:42:18 -04:00
mabashian
e343c9698d Converts ProjectsList to use useRequest in preparation for advanced search 2020-07-29 09:09:27 -04:00
mabashian
bc02321689 Adopt useSelected 2020-07-29 08:45:06 -04:00
Benoît Chauvet
e917cffb5f Allow to use an existing PersistanceVolumeClaim for postgresql install with Helm
Signed-off-by: Benoît Chauvet <benoit.chauvet@gmail.com>
2020-07-29 14:11:12 +02:00
Alan Rominger
b4c3da55d2 Merge pull request #4474 from AlanCoding/per_update_cache_37
[3.7] Per update roles and collections cache
2020-07-29 06:58:25 -04:00
Christian Adams
b1481ec6e3 Use quotations when marking strings for translation 2020-07-28 21:23:14 -04:00
Jake McDermott
3b597cd80a Delete portal mode 2020-07-28 20:27:25 -04:00
softwarefactory-project-zuul[bot]
b009b01251 Merge pull request #7707 from nixocio/ui_update_per_mockup
Update wording to equal mock up

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-29 00:06:59 +00:00
mabashian
2409bc5ee3 Converts WorkflowJobTemplatesList to use useRequest in preparation for advanced search 2020-07-28 17:13:56 -04:00
mabashian
f775ed3f77 Converts UserList to functional component 2020-07-28 16:22:51 -04:00
nixocio
d373cbdca9 Update delete button variant to secondary
Update delete button variant to secondary, except in Modals.

see: https://github.com/ansible/awx/issues/7722
2020-07-28 14:05:12 -04:00
AlanCoding
daaa0c8efe Avoid using long name of option not in 2.8 2020-07-28 13:57:31 -04:00
Bill Nottingham
c6eb8cf59b Cache downloaded roles & collections
Populate the cache the first time the job is run for a revision
that needs them, and for future runs for that revision just
copy it into the private directory.

Delete the cache on project deletion.

Invalidate the cache on a new project revision

Also download roles/collections during the sync job

Since we're writing into a per-revision cache, we can do this easily now.

Don't try and install content if there aren't any requirements expecting it

Adjust pathing to the proper location.

Force install if doing a manual sync.

Requirements may be unversioned.

Remove the cache when delete-on-update is set

Integrate content caching with existing task logic

Revert the --force flags

use the update id as metric for role caching

Shift the movement of cache to job folder from rsync task to python

Only install roles and collections if needed

Deal with roles and collections for jobs without sync
Skip local copy if roles or collections turned off

update docs for content caching

Design pivot - use empty cache dir to indicate lack of content

Do not cache content if we did not install content

Test changes to allay concerns about reliability of local_path

Do not blow away cache for SCM inventory updates

Remove project update vars no longer used

Remove job pre-creation of content folders

code style edit, always use cache_id as property in tasks

Fix log message
2020-07-28 13:57:28 -04:00
Alex Corey
8e27e0ce28 Teams Access List using Resource Access component 2020-07-28 13:17:11 -04:00
Alex Corey
a070d57080 Adds Teams Roles List and Disassociate functionality 2020-07-28 13:17:11 -04:00
mabashian
721c8d98f8 Prevents debug messages from being logged while tests are running 2020-07-28 13:13:00 -04:00
softwarefactory-project-zuul[bot]
196368d89b Merge pull request #7736 from beeankha/rrule_module_minor_edits
Make Some Doc Edits in the rrule Collections Module

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2020-07-28 16:27:22 +00:00
mabashian
8b2c98ffde Fixes console errors thrown about React state updates being be wrapped into act(...) on the job template add form 2020-07-28 12:08:40 -04:00
mabashian
1faaba4e6c Fixes console errors thrown about React state updates being be wrapped into act(...) on the inventory form 2020-07-28 12:05:02 -04:00
Ryan Petrello
7938bf58d4 Merge pull request #4485 from ryanpetrello/more-cred-failure-cleanup-372
properly obfuscate connection errors for credential lookup failure
2020-07-28 12:04:03 -04:00
beeankha
fe176a4f8c Match test playbook output to edited module output 2020-07-28 11:50:19 -04:00
mabashian
7e8d0b5883 Fixes console errors thrown about isValid on the workflow job template form 2020-07-28 11:49:17 -04:00
Ryan Petrello
91594a1ae8 properly obfuscate connection errors for credential lookup failure 2020-07-28 11:38:48 -04:00
mabashian
e6e79227e5 Fixes console errors thrown about isValid on the credential form 2020-07-28 11:26:48 -04:00
Ryan Petrello
b03b12163f Merge pull request #4486 from ryanpetrello/fix-372-unit-tests
pin pytest-forked to fix broken unit tests
2020-07-28 11:18:52 -04:00
Ryan Petrello
1c08206792 pin pytest-forked to fix broken unit tests 2020-07-28 11:16:52 -04:00
softwarefactory-project-zuul[bot]
3f0a8eb5bc Merge pull request #7633 from nixocio/ui_add_list_instance_group
Add feature list instance groups

Reviewed-by: Alex Corey <Alex.swansboro@gmail.com>
             https://github.com/AlexSCorey
2020-07-28 14:57:02 +00:00
beeankha
95cf6aa6d0 Make minor edits to the rrule module 2020-07-28 10:36:52 -04:00
nixocio
c2b1209cf3 Add feature list instance groups
Add list and delete for instance groups/container groups.

See: https://github.com/ansible/awx/issues/7557
Also: https://github.com/ansible/awx/issues/7642
2020-07-27 16:51:34 -04:00
softwarefactory-project-zuul[bot]
7bec29bac7 Merge pull request #7726 from fosterseth/fix-helm-url
Update helm urls in install guide

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-27 18:55:40 +00:00
Seth Foster
053b7caf3a Update helm urls 2020-07-27 13:01:29 -04:00
softwarefactory-project-zuul[bot]
6b867e7d97 Merge pull request #7596 from nixocio/ui_set_strict_mode
Set React to Strict Mode

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-27 15:56:57 +00:00
softwarefactory-project-zuul[bot]
708244881c Merge pull request #7643 from AlanCoding/per_update_cache
Implement per-update cache for roles and collections

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-27 15:45:48 +00:00
Alan Rominger
967f3cc6a7 Merge pull request #4472 from AlanCoding/upgrade_vmware
Upgrade community.vmware for better error surfacing
2020-07-27 10:16:12 -04:00
softwarefactory-project-zuul[bot]
e1902b6fe1 Merge pull request #7713 from mabashian/fix-form-field-help
Fixes bug where help icon showed up beneath the form label

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-27 13:42:41 +00:00
Vadiem Janssens
36316ae9a5 Fix tests
Signed-off-by: Vadiem Janssens <info@vadiemjanssens.nl>
2020-07-26 20:56:40 +02:00
Vadiem Janssens
8e4edca85d Replace itemCount with DataListToolbar pagination 2020-07-26 20:33:43 +02:00
Vadiem Janssens
30a499b785 Add item count to DataListToolbar
Signed-off-by: Vadiem Janssens <info@vadiemjanssens.nl>
2020-07-26 20:33:43 +02:00
softwarefactory-project-zuul[bot]
68c62d74f6 Merge pull request #7671 from jlmitch5/pfUpdate0920
update pf to 09 2020 release

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-23 20:57:07 +00:00
Ryan Petrello
847d6c65bd Merge pull request #4480 from ryanpetrello/372-cred-plugin-30x
properly report 30x errors on credential plugin tests
2020-07-23 15:27:27 -04:00
Ryan Petrello
f29e7b9c81 properly report 30x errors on credential plugin tests 2020-07-23 14:50:35 -04:00
Ryan Petrello
32831794ee Merge pull request #4477 from ryanpetrello/372-signal-deadlock
force worker processes to have a different signal handler from the parent
2020-07-23 12:21:44 -04:00
Jeff Bradberry
6b82ae46bc Force worker processes to have a different signal handler from the parent
Situations have come up where the 5+ minute kill signal for
run_task_manager is emitted to the worker process running it, but
since the worker improperly inherited the AWXConsumerBase().stop()
handler a deadlock ultimately was triggered on the database
connection.
2020-07-23 12:09:59 -04:00
Ryan Petrello
26660fa82e Merge pull request #4464 from ryanpetrello/named-url-vuln-372
update the named URL code to properly return 404 vs 403
2020-07-23 12:07:33 -04:00
mabashian
45286ebf41 Fixes bug where help icon showed up beneath the form label. I believe the labelIcon prop was added in a recent update of PF and is what we should be using. 2020-07-23 10:43:10 -04:00
softwarefactory-project-zuul[bot]
71d3fd3dbc Merge pull request #7698 from geerlingguy/pg-data-use-default-path
Use default path for pgdata volume in docker-compose template

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-23 13:02:53 +00:00
softwarefactory-project-zuul[bot]
6527d23b42 Merge pull request #7696 from AmadeusITGroup/fix_invalid_quote_filter
Installer: remove quote filter from docker_registry_password

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-23 13:00:52 +00:00
nixocio
1b767daaf6 Update wording to equal mock up
Update wording used for 'Job Templates' and 'Credential Types' to be
equal mock up.

See: https://tower-mockups.testing.ansible.com/patternfly/cred-types/cred-types/
Also: https://tower-mockups.testing.ansible.com/patternfly/templates/templates/
2020-07-22 14:00:24 -04:00
Ryan Petrello
860183f178 update the named URL code to properly return 404 vs 403 2020-07-22 12:15:34 -04:00
softwarefactory-project-zuul[bot]
3e753a7315 Merge pull request #7702 from ansible/fix-broken-offline-builds
Fix broken offline builds

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-22 13:22:19 +00:00
Stefan Jakobs
58da3df03e Change Dockerfile to copy custom venv 2020-07-22 14:00:05 +02:00
Shane McDonald
606296f68b Fix broken offline builds 2020-07-21 18:19:51 -04:00
Jeff Geerling
06fd131637 Use default path for pgdata volume in docker-compose template 2020-07-21 15:35:24 -05:00
softwarefactory-project-zuul[bot]
cf6c36ecab Merge pull request #7697 from nixocio/ui_small_refactor_credential_type_tests
Small update CredentialTypeList

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-21 20:17:23 +00:00
nixocio
fc9f1a3518 Small update CredentialTypeList
Small update CredentialTypeList. Update naming of function to
`deleteCredentialTypes`.
2020-07-21 15:50:43 -04:00
Philip DOUGLASS
ab20b5bd10 Installer: remove quote filter from docker_registry_password
The docker_registry_password var isn't interpolated by the shell, so
it shouldn't be quoted

Fixes: #7695
Signed-off-by: Philip DOUGLASS <philip.douglass@amadeus.com>
2020-07-21 15:33:42 -04:00
AlanCoding
0e8f30a4a2 Upgrade community.vmware for better error surfacing 2020-07-21 13:03:24 -04:00
AlanCoding
ddb8c93f17 Fix log message 2020-07-21 11:21:21 -04:00
AlanCoding
425c70826f code style edit, always use cache_id as property in tasks 2020-07-21 10:50:13 -04:00
AlanCoding
8195bd7386 Remove job pre-creation of content folders 2020-07-20 19:45:22 -04:00
AlanCoding
300d54864d Remove project update vars no longer used 2020-07-20 19:45:21 -04:00
AlanCoding
fefab89815 Integrate content caching with existing task logic
Revert the --force flags

use the update id as metric for role caching

Shift the movement of cache to job folder from rsync task to python

Only install roles and collections if needed

Deal with roles and collections for jobs without sync
Skip local copy if roles or collections turned off

update docs for content caching

Design pivot - use empty cache dir to indicate lack of content

Do not cache content if we did not install content

Test changes to allay concerns about reliability of local_path

Do not blow away cache for SCM inventory updates
2020-07-20 19:45:21 -04:00
Bill Nottingham
72848fa097 Remove the cache when delete-on-update is set 2020-07-20 19:45:20 -04:00
Bill Nottingham
85ec3dd5c4 Force install if doing a manual sync.
Requirements may be unversioned.
2020-07-20 19:45:20 -04:00
Bill Nottingham
98de4cb35f Adjust pathing to the proper location. 2020-07-20 19:45:20 -04:00
Bill Nottingham
dab7889715 Don't try and install content if there aren't any requirements expecting it 2020-07-20 19:45:19 -04:00
Bill Nottingham
95e69124af Also download roles/collections during the sync job
Since we're writing into a per-revision cache, we can do this easily now.
2020-07-20 19:45:19 -04:00
Bill Nottingham
1f4c46d873 Invalidate the cache on a new project revision 2020-07-20 19:45:18 -04:00
Bill Nottingham
d272ee3521 Cache downloaded roles & collections
Populate the cache the first time the job is run for a revision
that needs them, and for future runs for that revision just
copy it into the private directory.

Delete the cache on project deletion.
2020-07-20 19:45:15 -04:00
softwarefactory-project-zuul[bot]
bedbafe0f9 Merge pull request #7613 from keithjgrant/6622-template-list-websockets
Add websocket support to TemplateList

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-20 20:19:57 +00:00
softwarefactory-project-zuul[bot]
676491134d Merge pull request #7620 from keithjgrant/6621-inventory-sources-sockets
Inventory sources websockets

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-20 20:18:51 +00:00
softwarefactory-project-zuul[bot]
b36c5d9209 Merge pull request #7652 from jakemcdermott/fix-7651
Check for required node version before build or install

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-20 19:54:21 +00:00
softwarefactory-project-zuul[bot]
7296415fd9 Merge pull request #7635 from tchellomello/user_API_created
Exposes created attribute via API for User django ORM

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-20 19:40:47 +00:00
John Mitchell
00b3ff6e51 update snapshot and tooltip test 2020-07-20 14:06:14 -04:00
John Mitchell
bfaa2abd31 update pf to 09 2020 release 2020-07-20 13:42:14 -04:00
Ryan Petrello
34be08d38e add tests for filtering User.created_by in the API 2020-07-20 11:28:32 -04:00
Jake McDermott
2992a5f5a4 Check node version before build or install 2020-07-20 09:13:43 -04:00
Marcelo Moreira de Mello
3803763c53 Exposes the User.created attribute via API
Signed-off-by: Marcelo Moreira de Mello <tchello.mello@gmail.com>
2020-07-17 15:47:17 -04:00
softwarefactory-project-zuul[bot]
f0aec0d444 Merge pull request #7641 from josephpisciotta/devel
Remove the NodePort type for the web svc.

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-17 19:01:27 +00:00
softwarefactory-project-zuul[bot]
765595fd11 Merge pull request #7629 from ryanpetrello/k8s-creds
add the ability to specify K8S/OCP credentials on a Job Template

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-17 17:07:46 +00:00
Joseph Pisciotta
75c6c068a7 Remove the NodePort type for the web svc. 2020-07-17 12:51:29 -04:00
softwarefactory-project-zuul[bot]
036780d337 Merge pull request #7559 from AlexSCorey/7513-SurveySelectAllBox
Removes unneeded select all checkbox in Survey List

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-16 22:39:41 +00:00
Phi|eas |ebada
a05aa20f24 Update updater.sh
I wrote this script a year ago and just realized that this sourcing won't work lol
2020-07-16 23:24:09 +02:00
softwarefactory-project-zuul[bot]
4db3cd0326 Merge pull request #7627 from jakemcdermott/fix-7512
Show grant and client type validation errors

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-16 21:00:29 +00:00
softwarefactory-project-zuul[bot]
2e07ac3c2c Merge pull request #7628 from jakemcdermott/fix-7511
Improve nav behavior

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-16 21:00:22 +00:00
softwarefactory-project-zuul[bot]
77717b6134 Merge pull request #7631 from jakemcdermott/fix-5236
Use summary job_type on host list

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-16 19:40:36 +00:00
Jake McDermott
bf74aae80e Use summary job_type on host list 2020-07-16 14:10:55 -04:00
Alex Corey
496862592a fixes erroneous render 2020-07-16 12:59:58 -04:00
Alex Corey
ad536ec3d9 Removes commented out line 2020-07-16 12:59:52 -04:00
Alex Corey
bc69406f31 removes unneeded select all checkbox 2020-07-16 12:59:52 -04:00
Ryan Petrello
959b81aec5 refactor k8s credential injectors to properly handle verify=f 2020-07-16 12:43:10 -04:00
Ryan Petrello
1a39cbc2f4 add tests for k8s credential usage in Job Templates 2020-07-16 12:22:11 -04:00
Ryan Petrello
715dc4ece8 add a license for ruamel.ordereddict (for openshift lib support) 2020-07-16 11:38:54 -04:00
Ryan Petrello
c44f8e9122 implement k8s credential selection in the new patternfly UI 2020-07-16 11:25:03 -04:00
Ryan Petrello
75a0382c31 show k8s credentials in the Job Template prompt on launch UI 2020-07-16 10:53:21 -04:00
Ryan Petrello
0b221a42c0 Add the ability to specify K8S/OCP credentials on a Job Template
see: https://github.com/ansible/awx/issues/5735
2020-07-15 17:44:07 -04:00
Jake McDermott
6f43462689 Improve nav behavior
* Use more selective route matching when determining if a nav item is
active

* Don't automatically collapse nav groups when user navigates to a
different group
2020-07-15 12:46:08 -04:00
Jake McDermott
d1a4f010b9 Show grant and client type validation errors 2020-07-15 12:05:51 -04:00
softwarefactory-project-zuul[bot]
79b95883a3 Merge pull request #7618 from jakemcdermott/update-deps-03
Fix most of this week's npm warnings

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-15 14:49:04 +00:00
Keith Grant
f1e3b4f4f0 add useWsInventorySources tests 2020-07-14 14:29:24 -07:00
Ryan Petrello
c410f1f344 Merge pull request #4458 from ryanpetrello/fifo-cred-plugin-hang-372
[3.7.2] remove the usage of create_temporary_fifo from credential plugins
2020-07-14 17:21:35 -04:00
Ryan Petrello
310a0f88e5 remove the usage of create_temporary_fifo from credential plugins
this resolves an issue that causes an endless hang on with Cyberark AIM
lookups when a certificate *and* key are specified

the underlying issue here is that we can't rely on the underyling Python
ssl implementation to *only* read from the fifo that stores the pem data
*only once*; in reality, we need to just use *actual* tempfiles for
stability purposes

see: https://github.com/ansible/awx/issues/6986
see: https://github.com/urllib3/urllib3/issues/1880
2020-07-14 16:24:03 -04:00
Keith Grant
4fca57dfd2 add ws support to inventory sources list 2020-07-14 11:43:59 -07:00
Jake McDermott
e89326dbf2 Fix vulnerable 2nd order dependency 2020-07-14 14:42:46 -04:00
softwarefactory-project-zuul[bot]
cd6df9299f Merge pull request #7286 from john-westcott-iv/lookup_plugins
Adding tower_api and tower_get_id lookup plugins

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-14 18:04:27 +00:00
softwarefactory-project-zuul[bot]
80a6d4a29d Merge pull request #7611 from ryanpetrello/host-recent-job-type
add job type to Host summary_fields.recent_jobs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-14 14:04:58 +00:00
John Westcott IV
222e58dd34 Adding lookup to rrule plugin test logic for new tooling
This change is provided with the tower_api lookup plugin because the require tower_meta module is part of this commit
2020-07-14 09:38:26 -04:00
John Westcott IV
0be7d9b21a Removing redundant check 2020-07-14 09:38:26 -04:00
John Westcott IV
5a6c7a5788 Fixing copyrights and linting issues 2020-07-14 09:38:26 -04:00
John Westcott IV
3784f9515e More refinement of examples 2020-07-14 09:38:26 -04:00
John Westcott IV
6638d6c2bb Update examples 2020-07-14 09:38:26 -04:00
John Westcott IV
afbdeb5ff8 Fixing linting errors 2020-07-14 09:38:26 -04:00
John Westcott IV
381e9d2901 Reverting commit 81b192c3b0520be0897f95e2630edab295e6bf24, we should fail only if we are > max_objects 2020-07-14 09:38:26 -04:00
John Westcott IV
dd478af227 Overhaul of the testing suite 2020-07-14 09:38:26 -04:00
John Westcott IV
0424370d49 Revamp of the examples 2020-07-14 09:38:26 -04:00
John Westcott IV
1a4bb42ac5 When using return_ids send back a list of strings instead of ints.
When we used ints and passed this data into a nother call like:
    - name: Create a job template with a looked up credential from a folded lookup
      tower_job_template:
        name: "{{ job_template_name }}"
        credentials: >-
            {{ lookup(
                'awx.awx.tower_api',
                'credentials',
                query_params={ 'name' : credential_name },
                return_ids=True,
                expect_one=True,
                wantlist=True
            ) }}
        project: "{{ project_name }}"
        inventory: Demo Inventory
        playbook: hello_world.yml
        job_type: run
        state: present
      register: create_jt

Ansible would raise this warning:
[WARNING]: The value 30 (type int) in a string field was converted to '30' (type string). If this does not look like what you expect, quote the entire value to ensure it does not change.

Returning a list of strings prevents that.
2020-07-14 09:38:26 -04:00
John Westcott IV
fdb008fb8c Added note about exception if list view return is > max_objects 2020-07-14 09:38:26 -04:00
John Westcott IV
d793f0bc99 Making the count check >= instead of just > 2020-07-14 09:38:26 -04:00
John Westcott IV
a9c16a6c90 Fixing undefined variabe 2020-07-14 09:38:26 -04:00
Alan Rominger
34c23caed3 make lookup plugin compatible with ansible.tower namespace (#9) 2020-07-14 09:38:26 -04:00
AlanCoding
8239232d4d Delete the tower_get_id plugin and tests 2020-07-14 09:38:26 -04:00
AlanCoding
30ff112c87 Pull in functionality from lookup plugin get_id into tower_api itself 2020-07-14 09:38:26 -04:00
John Westcott IV
f4454a6c93 Make tower_api a generic GET'er 2020-07-14 09:38:26 -04:00
John Westcott IV
44a3057d16 Initial fixes from github comments 2020-07-14 09:38:26 -04:00
John Westcott IV
3c02265986 Fixing doc issue 2020-07-14 09:38:26 -04:00
beeankha
6715ea493f Fix documentation in api lookup plugin, fix typos in integration tests 2020-07-14 09:38:26 -04:00
John Westcott IV
96ae3268a5 Fixing linting issues 2020-07-14 09:38:26 -04:00
John Westcott IV
6d626b3793 Adding tower_api and tower_get_id lookup plugins 2020-07-14 09:38:26 -04:00
Keith Grant
350c585499 update useWsTemplates to use useWebsocket hook 2020-07-13 13:32:13 -07:00
Keith Grant
b76783791a add useWsTemplates tests 2020-07-13 13:27:38 -07:00
Keith Grant
981c9527b2 add template list websocket support 2020-07-13 13:27:38 -07:00
softwarefactory-project-zuul[bot]
09dcb91c09 Merge pull request #7598 from keithjgrant/6618-websocket-inventories-list
Add Websocket support to inventories list

Reviewed-by: Daniel Sami
             https://github.com/dsesami
2020-07-13 20:25:49 +00:00
Ryan Petrello
3ef07ee5f7 Merge pull request #4447 from ryanpetrello/372-master-main-links
fixed broken UI links
2020-07-13 15:49:11 -04:00
Gabe Muniz
1edae24644 fixed broken UI links 2020-07-13 15:36:07 -04:00
softwarefactory-project-zuul[bot]
d4b0251845 Merge pull request #7615 from gamuniz/remove_broken_links
fixed broken UI links

Reviewed-by: awxbot
             https://github.com/awxbot
2020-07-13 19:31:56 +00:00
Gabe Muniz
ff90e64448 fixed broken UI links 2020-07-13 14:53:34 -04:00
Ryan Petrello
ab11d3188d refactor the job type name into a single property 2020-07-13 09:43:43 -04:00
Ryan Petrello
f51774c06e add job type to Host summary_fields.recent_jobs
see: https://github.com/ansible/awx/issues/5236
2020-07-13 09:02:04 -04:00
softwarefactory-project-zuul[bot]
83458711cd Merge pull request #7605 from wenottingham/jobberry-fields-forever
Add artifacts field of jobs to the allowed list for notifications

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-10 21:01:08 +00:00
Bill Nottingham
46734f5c10 Add artifacts field of jobs to the allowed list for notifications 2020-07-10 16:34:25 -04:00
softwarefactory-project-zuul[bot]
b8b0812e13 Merge pull request #7604 from philipsd6/enable-html-custom-login-info
Update help_text for Custom Login Info to show support for HTML

Reviewed-by: awxbot
             https://github.com/awxbot
2020-07-10 19:08:48 +00:00
Keith Grant
38e0968690 useWsInventories cleanup 2020-07-10 08:33:35 -07:00
Philip Douglass
1ec2bd7ed2 Update help_text for Custom Login Info to show support for HTML
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-07-10 10:11:02 -04:00
softwarefactory-project-zuul[bot]
d10fdda453 Merge pull request #7575 from weltamdraht/add_extra_hosts
Adding inventory variable to set "extra_hosts" in generated compose file

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-10 14:05:26 +00:00
Jake McDermott
2737cded72 Merge pull request #4442 from jakemcdermott/fix-4440
[3.7.2] Include instance_id in host edit request
2020-07-10 09:43:50 -04:00
Jake McDermott
4f2ce90137 Include instance_id in host edit request 2020-07-10 09:39:54 -04:00
softwarefactory-project-zuul[bot]
d4305f734a Merge pull request #7585 from philipsd6/enable-html-custom-login-info
Safely enable HTML in Custom Login Info

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-10 12:57:17 +00:00
weltamdraht
347529a0cf Adding inventory variable to set "extra_hosts" in generated compose file
Signed-off-by: weltamdraht <andreas.aderhold@dwd.de>
2020-07-10 13:25:07 +02:00
softwarefactory-project-zuul[bot]
e4470f1200 Merge pull request #7592 from jakemcdermott/fix-7591
Include instance_id in host edit request

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-09 21:17:18 +00:00
Keith Grant
f225df1acd add useWsInventories tests 2020-07-09 14:12:56 -07:00
nixocio
01f210e392 Set React to Strict Mode
Set React to Strict Mode.

See: https://reactjs.org/docs/strict-mode.html
2020-07-09 15:37:19 -04:00
Keith Grant
455e018099 refactor shared WS logic into useWebsocket hook 2020-07-09 10:14:03 -07:00
Philip Douglass
4c98a1cb20 Set white-space style based on customLoginInfoIsHTML
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-07-09 18:56:19 +02:00
Philip Douglass
202a68aca0 Add customLoginInfoIsHTML test
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-07-09 18:56:19 +02:00
Philip Douglass
29666bf3b6 Remove white-space: pre-wrap from loginModalNotice
Signed-off-by: Philip Douglass <philip.douglass@amadeus.com>
2020-07-09 18:56:19 +02:00
Jake McDermott
ddbe20d41b Include instance_id in host edit request 2020-07-09 11:27:45 -04:00
Ryan Petrello
140d9ae3ee Merge pull request #4429 from wenottingham/label-maker
Reintroduce label filtering
2020-07-09 09:00:57 -04:00
Keith Grant
84bea3d348 websockets: show live inventory source sync status 2020-07-08 15:20:42 -07:00
softwarefactory-project-zuul[bot]
d0ac028265 Merge pull request #7489 from nixocio/ui_issue_7326
Add edit credential types

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-08 20:53:09 +00:00
Ryan Petrello
7322e13436 add tests for clarified label permissions 2020-07-08 16:53:05 -04:00
softwarefactory-project-zuul[bot]
9065b29bd6 Merge pull request #7584 from ryanpetrello/jinja2-sandbox
use jinja2.sandbox for credential type injectors

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-08 20:53:02 +00:00
softwarefactory-project-zuul[bot]
dbdc856ed3 Merge pull request #7576 from ryanpetrello/instance-group-capabilities
show user capabilities for instance groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-08 20:05:55 +00:00
Ryan Petrello
1cf2f009ed prevent unsafe jinja from being saved in the first place for cred types
see: https://github.com/ansible/tower-security/issues/21
2020-07-08 15:48:58 -04:00
Ryan Petrello
2bdd83e029 use jinja2.sandbox for credential type injectors 2020-07-08 15:48:47 -04:00
softwarefactory-project-zuul[bot]
e91395d517 Merge pull request #7497 from AlexSCorey/ApplicationTokens
Adds Application Token List with delete functionality

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-08 19:42:17 +00:00
softwarefactory-project-zuul[bot]
19115a157e Merge pull request #7555 from AlexSCorey/7433-UserTokensAdd
Adds User TokenAdd Functionality

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-08 19:33:06 +00:00
Alex Corey
a9d4046ec5 Adds Application Token List with delete functionality 2020-07-08 15:13:31 -04:00
Alex Corey
bbc4522063 Adds User TokenAdd Functionality 2020-07-08 14:47:23 -04:00
softwarefactory-project-zuul[bot]
fb3271da3c Merge pull request #7578 from squidboylan/raise_sleep_timeout
Raise job length for testing job wait

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-08 18:36:42 +00:00
Caleb Boylan
56d800e851 Raise job length for testing job wait 2020-07-08 09:28:19 -07:00
Ryan Petrello
319308193c show user capabilities for instance groups 2020-07-08 09:17:55 -04:00
Keith Grant
15ae0976dd add sync status indicator to inventory list 2020-07-07 16:37:08 -07:00
softwarefactory-project-zuul[bot]
f121dc59f6 Merge pull request #7529 from nixocio/ui_issue_7471
Add stub files for Instance Groups

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-07 21:12:23 +00:00
softwarefactory-project-zuul[bot]
f050b73560 Merge pull request #7568 from jakemcdermott/fix-7534
Update to ansible/angular-scheduler#v0.4.4

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-07 19:43:00 +00:00
Jake McDermott
bd624508e3 Update to ansible/angular-scheduler#v0.4.4 2020-07-07 15:04:07 -04:00
softwarefactory-project-zuul[bot]
b9fb9389e6 Merge pull request #7537 from jakemcdermott/fix-7483
Fix custom credential field validation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-07 19:02:53 +00:00
softwarefactory-project-zuul[bot]
bf28bdecb7 Merge pull request #7540 from keithjgrant/6618-websocket-projects-list
Add Websocket support to Projects List

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-07 19:00:10 +00:00
softwarefactory-project-zuul[bot]
23cab61408 Merge pull request #7444 from AlexSCorey/7412-OrganizationEditButton
Adds edit icon to the OrganizationTeams list 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-07 17:32:34 +00:00
nixocio
777d44ec34 Add edit credential types
Add feature to edit credential types.

See: https://github.com/ansible/awx/issues/7326
2020-07-07 13:30:54 -04:00
Ryan Petrello
bc14e995fd Merge pull request #4434 from ryanpetrello/jinja-injector-sandbox-validation
prevent unsafe jinja from being saved in the first place for cred types
2020-07-07 12:47:15 -04:00
Ryan Petrello
61d3a765ee prevent unsafe jinja from being saved in the first place for cred types
see: https://github.com/ansible/tower-security/issues/21
2020-07-07 10:59:14 -04:00
Ryan Petrello
f943277ef0 Merge pull request #4433 from ghjm/webhook_error_detail
Error detail in webhook and credential tests
2020-07-07 10:35:21 -04:00
softwarefactory-project-zuul[bot]
9a6da9cea7 Merge pull request #7552 from ikke-t/fix-7545
Allow anyone to start awx and awx_task [#7545]

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-07 14:34:16 +00:00
Ilkka Tengvall
8b4b1f5f81 Allow anyone to start awx and awx_task [#7545] 2020-07-07 15:04:23 +03:00
Graham Mainwaring
5a96af79d4 Reduce error detail in credential lookups 2020-07-06 21:41:28 -04:00
Graham Mainwaring
b7f37d5e26 Reduce error detail in webhook notification 2020-07-06 21:17:21 -04:00
Graham Mainwaring
d14aee70a1 Don't follow redirects in credential plugins 2020-07-06 17:18:30 -04:00
Ryan Petrello
8aa11f4848 Merge pull request #4430 from ryanpetrello/jinja2-injector-sandbox
use jinja2.sandbox for credential type injectors
2020-07-06 15:21:21 -04:00
Jake McDermott
05799d9795 Avoid non-unique field name collisions
Custom credentials can have input fields named 'name', 'organization',
'description', etc. Underscore these variables to make collisions
less likely to occur.
2020-07-06 14:08:53 -04:00
Jake McDermott
ea4b435ea7 Ignore required field validation for booleans 2020-07-06 14:08:46 -04:00
Ryan Petrello
2f1b4d81e1 use jinja2.sandbox for credential type injectors 2020-07-06 13:50:33 -04:00
Bill Nottingham
a88f03b372 Reintroduce label filtering
Labels are visible if you have a role on the org they are in, or
on a job template they're attached to.
2020-07-06 13:50:00 -04:00
softwarefactory-project-zuul[bot]
dbfb1780f1 Merge pull request #7553 from jakemcdermott/fix-7530
Fix self-closing tags for jquery 3.5 compat

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-06 17:01:46 +00:00
Jake McDermott
a89eff3c1a Remove self-closing tags
jquery doesn't like self-closing tags. jquery doesn't like anything.
2020-07-06 09:34:50 -04:00
JoelKle
699f186890 Fixed a bug, where the redis.conf first would be stored with mod 0600
and in the next task changed to 0666.
This has broke the ability to rerun the playbook.

Signed-off-by: JoelKle <34544090+JoelKle@users.noreply.github.com>
2020-07-03 08:59:28 +02:00
JoelKle
caab751215 Added the ability, to set the broadcast_websocket_secret variable.
This is nessesary if you would like to rerun the playbook.

Signed-off-by: JoelKle <34544090+JoelKle@users.noreply.github.com>
2020-07-03 08:59:28 +02:00
Keith Grant
2e3e1be22a add useWsProjects tests 2020-07-02 15:42:51 -07:00
softwarefactory-project-zuul[bot]
a74fbd6578 Merge pull request #7432 from elyezer/update-module-tests
Only pass either user or org on modules test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-02 21:01:00 +00:00
Keith Grant
803ea322d6 update path to useThrottle in tests 2020-07-02 10:51:57 -07:00
Keith Grant
9657117941 add ProjectList websocket support 2020-07-02 09:29:56 -07:00
softwarefactory-project-zuul[bot]
b56c753613 Merge pull request #7525 from ryanpetrello/encrypted-keyword
don't allow users to specify $encrypted$ for encrypted credential fields

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-02 15:47:33 +00:00
softwarefactory-project-zuul[bot]
8b3dfae717 Merge pull request #7501 from ansible/jakemcdermott-no-modules-for-project-root
Delete node_modules in project root

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-02 00:36:56 +00:00
softwarefactory-project-zuul[bot]
8f50514b3d Merge pull request #7502 from nixocio/ui_lingui_prod
Add extraction of strings to be translated as part of build process

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-01 23:09:05 +00:00
Keith Grant
bdb97c173b move useThrottle to utils 2020-07-01 15:52:06 -07:00
nixocio
24f86cd0d1 Add stub files for Instance Groups
Add stub files for Instance Groups. Routing system, and screens layout.

closes: https://github.com/ansible/awx/issues/7471
2020-07-01 17:27:08 -04:00
softwarefactory-project-zuul[bot]
6e651ce275 Merge pull request #7519 from shanemcd/the-ol-copy-paste
Copy over some downstream changes

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2020-07-01 20:22:51 +00:00
Alex Corey
650a97e989 Adds edit icon to the OrganizationTeams list and renames some files. 2020-07-01 16:08:41 -04:00
Ryan Petrello
1434e5812f don't allow users to specify $encrypted$ for encrypted credential fields
this keyword only has value when you _update_ an existing credential
2020-07-01 15:53:09 -04:00
Shane McDonald
e26387cdf3 Remove references to old images 2020-07-01 14:57:48 -04:00
Shane McDonald
7f81f530fa Copy over downstream change
Allows users to specify pg_username that has uppercase letters to restore succesfully
2020-07-01 14:40:38 -04:00
nixocio
fab94902a0 Add extraction of strings to be translated as part of build process
Add extraction of strings to be translated as part of build process for
ui_next.

Also, sets the source locale. See: https://lingui.js.org/tutorials/cli.html#configuring-source-locale

closes: https://github.com/ansible/awx/issues/7451
2020-07-01 12:05:37 -04:00
softwarefactory-project-zuul[bot]
e3e69b4c6b Merge pull request #7499 from nixocio/ui_translations_issues
Add strings to be translated

Reviewed-by: Kersom
             https://github.com/nixocio
2020-07-01 15:31:59 +00:00
softwarefactory-project-zuul[bot]
642803e471 Merge pull request #7484 from jakemcdermott/update-deps
Remove unused dependencies

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-01 15:14:58 +00:00
softwarefactory-project-zuul[bot]
26f2f159dd Merge pull request #7396 from AlexSCorey/7235-ApplicationsAddEdit
Adds Application edit functionality

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-07-01 15:08:23 +00:00
Jake McDermott
e962933148 Delete node_modules in project root 2020-07-01 10:51:29 -04:00
Alex Corey
169868b927 Adds edit functionality 2020-07-01 10:37:27 -04:00
nixocio
e0ebd5d46c Add strings to be translated
To identify those strings `npm run extract-strings`.
2020-07-01 10:22:45 -04:00
softwarefactory-project-zuul[bot]
d1f9f4dc86 Merge pull request #7457 from marshmalien/smart-inventory-detail
Add smart inventory detail view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-30 21:45:17 +00:00
softwarefactory-project-zuul[bot]
5c12022529 Merge pull request #7479 from chris93111/patch-2
correction inventory endpoint tower_workflow_job_template_node.py

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-30 17:10:25 +00:00
softwarefactory-project-zuul[bot]
d8f6ea3fe8 Merge pull request #7485 from ryanpetrello/words-matter
replace certain terms with more inclusive language

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-30 17:00:58 +00:00
softwarefactory-project-zuul[bot]
719a4f8aad Merge pull request #7436 from AlexSCorey/7419-UserTokens
Adds Tokens List

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-30 16:51:56 +00:00
Jake McDermott
7bac7abd67 Fix variable names 2020-06-30 12:34:14 -04:00
Alex Corey
776ee43d90 Fixes missing name bug 2020-06-30 12:22:19 -04:00
Ryan Petrello
78229f5871 replace certain terms with more inclusive language
see: https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language
2020-06-30 10:49:19 -04:00
Jake McDermott
b4198204a7 Add install step 2020-06-30 10:10:52 -04:00
Jake McDermott
86c1f4d772 Co-locate deps in file 2020-06-30 08:58:37 -04:00
Jake McDermott
e10fb71f93 Move react-scripts to dev dependencies 2020-06-30 08:58:32 -04:00
Jake McDermott
bae50e38da Remove unused dependencies 2020-06-30 08:58:27 -04:00
softwarefactory-project-zuul[bot]
66739a52d6 Merge pull request #7342 from keithjgrant/6618-job-list-ws
Jobs List websockets

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-29 21:51:14 +00:00
softwarefactory-project-zuul[bot]
f060002289 Merge pull request #7478 from ansible/jakemcdermott-fixreadme
Fix unescaped README code block

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-29 21:20:18 +00:00
chris93111
b6883ab64e Update tower_workflow_job_template_node.py
correction to lookup inventory
2020-06-29 22:58:18 +02:00
Jake McDermott
9dadb96d45 Fix unescaped README code block 2020-06-29 16:50:44 -04:00
Keith Grant
5304792949 update useWsJobs tests 2020-06-29 13:49:58 -07:00
Keith Grant
a3e0ae66ba clean up sorting order discrepancies 2020-06-29 13:49:58 -07:00
Keith Grant
9705f7bec6 sort jobs list by selection sort option 2020-06-29 13:49:58 -07:00
Keith Grant
5610309a88 fix sorting jobs by finished date 2020-06-29 13:49:58 -07:00
Keith Grant
25fe090e67 delete un-workable test for useThrottle 2020-06-29 13:49:58 -07:00
Keith Grant
a1f257bd4a fix joblist updating completed jobs lists 2020-06-29 13:49:58 -07:00
Keith Grant
638a6fdaa1 remove extra logging from JobList tests 2020-06-29 13:49:58 -07:00
Keith Grant
b4a6749699 refactor getJobsById into useWsJobs hook 2020-06-29 13:49:58 -07:00
Keith Grant
e50576c820 failed attempt at useThrottle tests 2020-06-29 13:49:58 -07:00
Keith Grant
0bedd6fbd8 mock websockets; test useWsJobs 2020-06-29 13:49:58 -07:00
Keith Grant
48977e50df change jobs debounce to throttle; prevent duplicate rows 2020-06-29 13:49:58 -07:00
Keith Grant
7aa8495d1a debounce fetching of individual jobs 2020-06-29 13:49:58 -07:00
Keith Grant
58b954df3e fetch individual jobs based on websocket messages 2020-06-29 13:49:58 -07:00
Keith Grant
38079b2ad5 don’t add still running jobs to some jobs lists 2020-06-29 13:49:58 -07:00
Keith Grant
b055d34139 update jobs in list based on websockets 2020-06-29 13:49:58 -07:00
Keith Grant
f2641de260 rough out jobs list websockets 2020-06-29 13:49:58 -07:00
Keith Grant
aa12e323b4 ignore .env.local file 2020-06-29 13:49:58 -07:00
softwarefactory-project-zuul[bot]
65a8a656f7 Merge pull request #7469 from jakemcdermott/fix-7454
Use a proxy config that works

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-29 20:21:26 +00:00
Alex Corey
73bb539b16 Adds Tokens List 2020-06-29 16:17:10 -04:00
softwarefactory-project-zuul[bot]
6e99b1cf85 Merge pull request #7452 from nixocio/ui_issue_7430
Add Crendential Type Details

Reviewed-by: Daniel Sami
             https://github.com/dsesami
2020-06-29 20:06:05 +00:00
Jake McDermott
bde1ff1187 Use a proxy config that works 2020-06-29 15:51:51 -04:00
nixocio
bd660254a5 Add Crendential Type Details
Add credential type Details

See: https://github.com/ansible/awx/issues/7430
2020-06-29 15:02:38 -04:00
softwarefactory-project-zuul[bot]
879ab50a12 Merge pull request #7426 from nixocio/ui_issue_7325
Add feature to add Credential Type

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-29 18:54:27 +00:00
nixocio
ad10f3581e Add feature to add Credential Type
Add feature to add Credential Type.

See: https://github.com/ansible/awx/issues/7325
2020-06-29 13:39:57 -04:00
Marliana Lara
eec2177315 Add unit tests that check activity stream is hidden appropriately 2020-06-29 13:20:44 -04:00
softwarefactory-project-zuul[bot]
f5d38f57d4 Merge pull request #7375 from vjanssens/5929-consistent-subforms-in-job-template-forms
Use consistent layout for subforms in job/template forms

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-29 17:15:23 +00:00
Vadiem Janssens
3f33f1c97d Fix failing test
Signed-off-by: Vadiem Janssens <info@vadiemjanssens.nl>
2020-06-29 12:08:48 -04:00
Vadiem Janssens
f9039703ee Remove enableWebhooks conditional in WebhookSubForm
Signed-off-by: Vadiem Janssens <info@vadiemjanssens.nl>
2020-06-29 12:08:48 -04:00
Vadiem Janssens
be33627755 Remove webhook_key and webhook_url from JT form payload
Signed-off-by: Vadiem Janssens <info@vadiemjanssens.nl>
2020-06-29 12:08:48 -04:00
Vadiem Janssens
c9cfaf65a0 Add headingLevels to Title, minor improvements
Signed-off-by: Vadiem Janssens <info@vadiemjanssens.nl>
2020-06-29 12:08:48 -04:00
Vadiem Janssens
12b87fca8c Use consistent layout for subforms in job/template forms
Signed-off-by: Vadiem Janssens <info@vadiemjanssens.nl>
2020-06-29 12:08:48 -04:00
Marliana Lara
b5bbfaab11 Add smart inv detail 2020-06-29 11:30:10 -04:00
softwarefactory-project-zuul[bot]
8ea31d8cdd Merge pull request #7462 from 90er/patch-2
Update ISSUES.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-29 13:20:02 +00:00
softwarefactory-project-zuul[bot]
5ae7aa7503 Merge pull request #7461 from 90er/patch-1
Update INSTALL.md

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-29 13:18:45 +00:00
90er
c89277358f Update ISSUES.md
Fixed typo
2020-06-29 09:16:06 +02:00
90er
7e2b3684e2 Update INSTALL.md
Fix typo
2020-06-29 09:11:45 +02:00
softwarefactory-project-zuul[bot]
c7d9d941e3 Merge pull request #7119 from thedoubl3j/hostnogroup
added change so that groups and host names cannot share the same name

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-26 20:19:53 +00:00
softwarefactory-project-zuul[bot]
5b9c19df8f Merge pull request #7115 from nixocio/ui_next_integration
UI next integration

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-26 19:42:30 +00:00
Jake Jackson
30757f8289 moved logic to the validate function and fixed tests accordingly 2020-06-26 15:04:48 -04:00
Jake Jackson
606d4e0ea2 added change so that groups and host names cannot share the same name in the same inventory. added tests to validate 2020-06-25 11:25:21 -04:00
Jake McDermott
1df91eece1 Add devel make targets for ui_next 2020-06-25 10:22:07 -04:00
Jake McDermott
01b8087cb3 Align prod and dev routing 2020-06-25 08:56:21 -04:00
nixocio
aef382862c Update NavItem to link to new basename
Update NavItem to link to the new basename, `next`. Thus avoiding to
redirec to the old ui.

See: https://www.patternfly.org/v4/documentation/react/components/nav
2020-06-25 08:56:19 -04:00
Jake McDermott
41d8edf94a Align imports to django collectstatic locations
Co-authored-by: nixocio <nixocio@gmail.com>
2020-06-25 08:56:11 -04:00
Jake McDermott
ddadf332cc Create static dir during bootstrap
Co-authored-by: nixocio <nixocio@gmail.com>
2020-06-25 08:56:07 -04:00
Jake McDermott
12a22d2442 Add basic django app and file serving for ui_next 2020-06-25 08:55:56 -04:00
softwarefactory-project-zuul[bot]
fa53cdf329 Merge pull request #7431 from ryanpetrello/bottleneck
add a tool for discovering which tasks/hosts are slow for a JT 

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-24 21:32:40 +00:00
softwarefactory-project-zuul[bot]
5445a3b567 Merge pull request #7308 from AlanCoding/in_place_everything
Allow for SCM installs of the AWX collection

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-24 19:41:43 +00:00
softwarefactory-project-zuul[bot]
2e37ffdb15 Merge pull request #6690 from john-westcott-iv/modify_tower_cred_type_for_token
Modifying tower credential type to include an oauth otken

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-24 16:55:25 +00:00
AlanCoding
3b5640aca3 fix test 2020-06-24 10:41:41 -04:00
softwarefactory-project-zuul[bot]
038688ca48 Merge pull request #7355 from AlexSCorey/ApplicationDetails
Adds application details view

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-24 14:37:21 +00:00
Elyézer Rezende
fb5d876b9b Only pass either user or org on modules test 2020-06-24 10:29:19 -04:00
Ryan Petrello
a62047809f update awx-manage bottleneck's help text 2020-06-24 10:25:09 -04:00
Ryan Petrello
b1fcc0578c default awx-manage bottleneck --threshold to 30s 2020-06-24 10:23:01 -04:00
Ryan Petrello
dd42f6351b minor refactoring of awx-manage bottleneck 2020-06-24 10:19:26 -04:00
Alex Corey
fad4b3ca5a Adds application details view 2020-06-24 10:00:12 -04:00
Ryan Petrello
ce65f994dc refactor some timedelta formatting in awx-manage bottleneck 2020-06-24 09:56:23 -04:00
Ryan Petrello
5532760ccf respect --no-color in awx-manage bottleneck 2020-06-24 09:52:30 -04:00
Ryan Petrello
21ea7eb5dc add the name of the task to awx-manage bottleneck output 2020-06-24 09:44:39 -04:00
Ryan Petrello
b01ac1bfa6 add support to the bottleneck script for configuring history size 2020-06-24 09:22:53 -04:00
John Westcott IV
f091de438e Adding help text 2020-06-24 09:14:30 -04:00
John Westcott IV
8a25f385e4 Modifying tower credential type to include an oauth otken 2020-06-24 09:14:30 -04:00
Ryan Petrello
180ed4cd3d add a tool for discovering which tasks/hosts are slow for a JT
this tool looks at the most recent jobs for a specific job template and
attempts to discover the _slowest_ tasks and hosts

$ awx-manage bottleneck --template N
$ awx-manage bottleneck --template N --threshold 1 --ignore yum
$ awx-manage bottleneck --template N --ignore pause --ignore yum
2020-06-24 08:59:48 -04:00
softwarefactory-project-zuul[bot]
c1bbeadf8d Merge pull request #7427 from ryanpetrello/awxkit-install
update instructions and metadata for awxkit/cli installs

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-23 22:23:56 +00:00
Ryan Petrello
b6c210ee97 update instructions and metadata for awxkit/cli installs 2020-06-23 17:53:14 -04:00
softwarefactory-project-zuul[bot]
f4514873cd Merge pull request #7425 from ghjm/no_traceback_on_keyboardinterrupt
Don't traceback on KeyboardInterrupt

Reviewed-by: awxbot
             https://github.com/awxbot
2020-06-23 20:45:19 +00:00
softwarefactory-project-zuul[bot]
2c59e83beb Merge pull request #7250 from nixocio/ui_issue_6810
Remove style overrides from Lookup component

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-23 20:39:58 +00:00
Graham Mainwaring
29da0abfc1 Don't traceback on KeyboardInterrupt 2020-06-23 16:14:02 -04:00
nixocio
14b2bd3445 Remove style overrides from Lookup component
Remove style overrides from Lookup component. Also, update related
tests.

closes: https://github.com/ansible/awx/issues/6810
2020-06-23 16:09:56 -04:00
softwarefactory-project-zuul[bot]
77ecb7b7d5 Merge pull request #7424 from ryanpetrello/changelog-tweak
minor CHANGELOG verbiage tweak

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-23 20:08:13 +00:00
Ryan Petrello
a9938c0e64 minor CHANGELOG verbiage tweak 2020-06-23 15:33:22 -04:00
softwarefactory-project-zuul[bot]
69589821ce Merge pull request #7420 from elyezer/update-credential-creation
Update awxkit credential creation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-23 18:31:50 +00:00
softwarefactory-project-zuul[bot]
5ee865b051 Merge pull request #7416 from jakemcdermott/fix-cred-user-team-org-save
Don't send cred user with org

Reviewed-by: Elyézer Rezende
             https://github.com/elyezer
2020-06-23 16:49:21 +00:00
Elyézer Rezende
e80942f6cd Update awxkit credential creation
Does not have an organization by default. Let `create_payload` decide if
it should be automatically created or not. This will avoid having more
than one owner when either user or team is passed to `create`.
2020-06-23 12:32:51 -04:00
softwarefactory-project-zuul[bot]
d96cde91a3 Merge pull request #7418 from ryanpetrello/rsyslog-file-perm
properly write rsyslog configuration as 0640

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-23 16:01:26 +00:00
softwarefactory-project-zuul[bot]
0aa23a7d63 Merge pull request #7379 from AlanCoding/release_13
Bump AWX version, after notable inventory deprecation

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-23 15:55:57 +00:00
Jake McDermott
35e5c7f309 Don't send cred user with org 2020-06-23 11:38:08 -04:00
Ryan Petrello
8174516d3b properly write rsyslog configuration as 0640
see: https://github.com/ansible/tower/issues/4383
2020-06-23 11:25:39 -04:00
Ryan Petrello
d016de8103 adding a few CHANGELOG items 2020-06-23 11:24:22 -04:00
Jeff Bradberry
d8b9d48313 Add a note about import/export 2020-06-23 10:09:32 -04:00
softwarefactory-project-zuul[bot]
a669db989c Merge pull request #7305 from jlmitch5/pfv4upgrade
patternfly v4 upgrade

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-23 14:07:07 +00:00
John Mitchell
07ff3139d6 final fixes to tests and linting for pf v4 react upgrade 2020-06-23 09:37:50 -04:00
Alex Corey
88a38e30c3 Fixes some failing or skipped tests 2020-06-23 09:37:50 -04:00
John Mitchell
28e0ee8b7d fix a few tests with issues due to pf v4 react upgrade 2020-06-23 09:37:33 -04:00
John Mitchell
92937d1384 make divider show up between breadcrumbs 2020-06-23 09:37:20 -04:00
John Mitchell
9aab085b77 pin pf react core prerelease version to exact in package.json 2020-06-23 09:37:08 -04:00
John Mitchell
29bc6c8b48 make all detail view tabs full width - remove card close button pattern and move to back to resource pattern 2020-06-23 09:36:54 -04:00
John Mitchell
f161617755 add headingLevel prop to pf title components 2020-06-23 09:36:44 -04:00
John Mitchell
bb1687642c add in pre-release pf dep to fix issue with tests failing and fix the tests 2020-06-23 09:36:32 -04:00
John Mitchell
9f625d61f5 remove unused pf react token dependency 2020-06-23 09:36:20 -04:00
John Mitchell
173d058d88 make tabs of the project detail view card full width 2020-06-23 09:36:05 -04:00
John Mitchell
a5576d2ae9 fix issue where searchbar was always the mobile version at all widths 2020-06-23 09:35:53 -04:00
John Mitchell
957c0b31bf initial round of jest fixes post v4 update, more aria-labels for modals, more i18nHash filtering to rid warnings, fix of malformed ToolbarContent import, update snapshots 2020-06-23 09:35:36 -04:00
John Mitchell
826b03b78e make prettier adjustments to things the pf v4 codemod tool broke 2020-06-23 09:35:21 -04:00
John Mitchell
781869a436 adjust styled components for data toolbar overrides with new pf v4 names 2020-06-23 09:35:04 -04:00
John Mitchell
25916d983e update page header toolbar component names to new pf v4 names 2020-06-23 09:34:49 -04:00
John Mitchell
c762545c47 add aria label prop for alert modal pf component 2020-06-23 09:34:28 -04:00
John Mitchell
e49a99e0f6 after running pf code mod tool to auto update files to conform to v4 and a few manual tweaks 2020-06-23 09:34:04 -04:00
John Mitchell
475b733890 first pass of tweaks needed to compile pf v4 branch 2020-06-23 09:33:39 -04:00
John Mitchell
2a922861c3 update pf deps to v4 2020-06-23 09:33:25 -04:00
softwarefactory-project-zuul[bot]
2385e47ac3 Merge pull request #7392 from jladdjr/unpin_inventory_collections
unpin collections used for inventory plugins

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-22 16:44:05 +00:00
softwarefactory-project-zuul[bot]
729949e0d0 Merge pull request #7381 from elyezer/credentials-serializers-validation
Enforce single owner field when serializing creds

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-22 12:57:11 +00:00
Elyézer Rezende
37218e1695 Enforce single owner field when serializing creds
The CredentialSerializerCreate expect a single owner field according to
its help text but was not validating that. This makes it validate for a
single owner field when creating a Credential.
2020-06-21 11:31:35 -04:00
softwarefactory-project-zuul[bot]
e4eef82a39 Merge pull request #7369 from nixocio/ui_issue_7324
Add Credential Type List and Delete

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-19 19:51:50 +00:00
softwarefactory-project-zuul[bot]
bdd5efc2a9 Merge pull request #7390 from rooftopcellist/i18n_awx_translations_es_nl_6-19
UI translation strings for AWX 12.0.0+ for es and nl

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-19 19:47:02 +00:00
Christian Adams
f24b15dc2e Merge pull request #4415 from ansible/i18n_release_3.7.1_translations
UI translation strings for release_3.7.1 branch for es and nl
2020-06-19 15:25:33 -04:00
softwarefactory-project-zuul[bot]
a0413b7e0b Merge pull request #6125 from jbradberry/import-export
Import export

Reviewed-by: Jeff Bradberry
             https://github.com/jbradberry
2020-06-19 18:46:52 +00:00
Jim Ladd
71cfeda08f unpin collections used for inventory plugins
* unpins collections in requirements/collections_requirements.yml
2020-06-19 09:33:51 -07:00
softwarefactory-project-zuul[bot]
c5addd7c67 Merge pull request #7341 from AlexSCorey/7235-ApplicationsAddEdit
7235 applications add

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-19 15:36:04 +00:00
ansible-translation-bot
654675621c UI translation strings for AWX 12.0.0+ for es and nl 2020-06-19 10:41:53 -04:00
ansible-translation-bot
af199dff7a UI translation strings for release_3.7.1 branch for es and nl 2020-06-19 10:36:21 -04:00
nixocio
5e5aba59b0 Add Credential Type List and Delete
Add `Credential Type` List and Delete features.

See: https://github.com/ansible/awx/issues/7324
Also:https://github.com/ansible/awx/issues/7327
2020-06-19 09:50:59 -04:00
AlanCoding
0dbaf632dc Documentation updates 2020-06-19 09:49:37 -04:00
softwarefactory-project-zuul[bot]
89b087ffb6 Merge pull request #7389 from ryanpetrello/tmux-dev
move tmux to dev dependencies

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-19 13:46:40 +00:00
Alex Corey
ab1e991e01 adds application add functionality and applicatiion form 2020-06-19 09:38:56 -04:00
AlanCoding
a7fe5e1dd2 Fix yamllint error and sync version with module_utils 2020-06-19 09:08:58 -04:00
AlanCoding
96583e9e6b Make version recognizable as pre-release 2020-06-19 09:08:58 -04:00
AlanCoding
73ee11725d Add copy note to galaxy file 2020-06-19 09:08:58 -04:00
AlanCoding
721ed516a4 Separate folder for templating collection stuff 2020-06-19 09:08:57 -04:00
AlanCoding
4848f1298a Include a default galaxy.yml file 2020-06-19 09:08:57 -04:00
John Westcott IV
6c6c1e8488 Adding templating of README.md file for Tower vs AWX collections 2020-06-19 09:08:54 -04:00
Ryan Petrello
31ab386591 move tmux to dev dependencies 2020-06-19 08:47:11 -04:00
Jim Ladd
99b3997084 Merge pull request #4412 from jladdjr/foreman_backwards_compat_for_ssl_verify_3.7.2
add backwards support for ssl_verify in foreman
2020-06-18 18:25:53 -07:00
Jim Ladd
35fe255455 add backwards support for ssl_verify in foreman
* plugin changed option name from
  ssl_verify to validate_cert
2020-06-18 17:02:48 -07:00
softwarefactory-project-zuul[bot]
6682dcbc7c Merge pull request #7357 from mabashian/awx-dep-upgrades-June-15
UI dependency upgrades

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-18 22:03:19 +00:00
softwarefactory-project-zuul[bot]
defa334bd9 Merge pull request #7358 from rebeccahhh/devel
removing memchache mentions in comments

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-18 20:20:15 +00:00
softwarefactory-project-zuul[bot]
70f8a02a5e Merge pull request #7383 from ryanpetrello/tox-py2-bye-bye
awxkit dropped py2 support awhile ago; stop running tests in py2

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-18 20:14:32 +00:00
softwarefactory-project-zuul[bot]
3834125d09 Merge pull request #7378 from AlanCoding/minor_test_tweaks
Fix some minor issues in the AWX collection tests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-18 20:00:35 +00:00
Rebeccah
118e1b8df1 removing memchache mentions in comments
remove memcached folder as it is no longer needed, also address a couple grammatical errors
2020-06-18 15:52:59 -04:00
Jeff Bradberry
393369adec First cut at examples of the import and export commands 2020-06-18 15:32:49 -04:00
Ryan Petrello
e732d03b20 awxkit dropped py2 support awhile ago; stop running tests in py2 2020-06-18 15:31:35 -04:00
AlanCoding
f76c57b1ec Bump AWX version, after notable inventory deprecation 2020-06-18 15:10:10 -04:00
AlanCoding
8fc3377fa6 Minor test fixes 2020-06-18 13:46:28 -04:00
Alan Rominger
3cf4f4729d [DO NOT PORT to AWX] Pin dev requirements (#4413) 2020-06-18 09:22:04 -04:00
softwarefactory-project-zuul[bot]
1321d298ee Merge pull request #6911 from AlanCoding/rm_all_scripts
Remove vendored inventory scripts

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-18 00:08:03 +00:00
softwarefactory-project-zuul[bot]
d6b9077f72 Merge pull request #7351 from nixocio/ui_add_docs_hooks
Add section related to custom hooks

Reviewed-by: Kersom
             https://github.com/nixocio
2020-06-17 21:31:32 +00:00
softwarefactory-project-zuul[bot]
0e274c3038 Merge pull request #7372 from shanemcd/support-wait-for-first-consumer
Support PVCs that were created w/ WaitForFirstConsumer

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-17 21:23:26 +00:00
Shane McDonald
43bf2989af Support PVCs that were created w/ WaitForFirstConsumer 2020-06-17 16:40:33 -04:00
nixocio
2e33c69e9c Add section related to custom hooks
Add section related to custom hooks, and their usage.
2020-06-17 16:39:23 -04:00
softwarefactory-project-zuul[bot]
9e118b8a0c Merge pull request #7360 from jladdjr/foreman_backwards_compat_for_ssl_verify
[foreman] add backwards support for ssl_verify in foreman plugin

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-17 19:46:53 +00:00
Jim Ladd
91cd5b359a add backwards support for ssl_verify in foreman
* plugin changed option name from
  ssl_verify to validate_cert
2020-06-17 12:18:31 -07:00
softwarefactory-project-zuul[bot]
2df67c4dc8 Merge pull request #7287 from marshmalien/6899-inv-src-subform
Hook up all inventory source subforms

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-17 18:44:30 +00:00
AlanCoding
e784a7c0a3 bump migrations 2020-06-17 14:25:16 -04:00
AlanCoding
401c5671c8 Remove things from tests specific to inventory scripts 2020-06-17 14:25:16 -04:00
AlanCoding
3c8c1858d4 Fix migration through manual testing 2020-06-17 14:25:15 -04:00
AlanCoding
b6a4c34b7a bump migration number 2020-06-17 14:25:15 -04:00
AlanCoding
71cf3198d8 Add data migration to convert cloudforms scripts to SCM 2020-06-17 14:25:15 -04:00
AlanCoding
b0ff763a0b flake8 fixes 2020-06-17 14:25:15 -04:00
AlanCoding
8f56042dcc rename migration 2020-06-17 14:25:15 -04:00
AlanCoding
ec3c4de1f7 Fix openstack and logic and update some tests 2020-06-17 14:25:14 -04:00
AlanCoding
b2bdb0c81d lose cloudforms as inventory source option 2020-06-17 14:25:14 -04:00
AlanCoding
bedb1f364d Remove inventory scripts 2020-06-17 14:25:11 -04:00
Marliana Lara
6ed611c27c Add inventory source subforms 2020-06-17 14:16:03 -04:00
softwarefactory-project-zuul[bot]
97dbfee162 Merge pull request #7359 from shanemcd/no-host-pg-port
Remove local port binding for postgres in dev env

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-17 18:10:35 +00:00
Shane McDonald
51b0c51605 Remove local port binding for postgres in dev env
I dont think we need to bind this port at the host level. This will allow us to
run the galaxy_ng dev tooling side-by-side with AWX.
2020-06-17 13:34:55 -04:00
softwarefactory-project-zuul[bot]
5ca66ac806 Merge pull request #7317 from shanemcd/redis-root-group
Force containers in k8s to run under root group

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-16 23:41:42 +00:00
Ryan Petrello
6376395c68 Merge pull request #4409 from ryanpetrello/371-host-summary-regression
fix a regression in how job host summaries are generated
2020-06-16 17:04:22 -04:00
softwarefactory-project-zuul[bot]
90bcb6d145 Merge pull request #7258 from mabashian/dynamic-credential-form
Dynamically render credential subform fields

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-16 20:43:53 +00:00
mabashian
3c27e1ca12 Revert "Gets rid of custom form reset function in favor of formik's resetForm in credential form"
This reverts commit 26fa94dc6f1f1c1306c32ba571eb2899e516b0a0.
2020-06-16 16:16:30 -04:00
mabashian
8aa6e9466f Fixes credential type dropdown item sort issue where Vault appeared after VMware 2020-06-16 16:16:30 -04:00
mabashian
9180334908 Adds a bit more unit test coverage around credential add/edit save functionality, making sure that we're making the correct calls with the correct payloads. 2020-06-16 16:16:30 -04:00
mabashian
9d63b679f9 Gets rid of custom form reset function in favor of formik's resetForm in credential form 2020-06-16 16:16:30 -04:00
mabashian
d5578d9744 Only render subform if cred type inputs.fields exists. This fixes a bug where an error was thrown when a custom credential type without an input configuration existed in the database. 2020-06-16 16:16:30 -04:00
mabashian
7fefea31c0 Removes nested ternary in CredentialField validate param by moving logic out to a function and making it a little more readable. 2020-06-16 16:16:30 -04:00
mabashian
b5ce1fe2f3 Changes CredentialSubForm to TypeInputsSubForm 2020-06-16 16:16:30 -04:00
mabashian
3dfc9328a9 Dynamically render credential subform fields based on options responses for each credential type 2020-06-16 16:16:30 -04:00
softwarefactory-project-zuul[bot]
dba55fec47 Merge pull request #7337 from rooftopcellist/i18n_awx_translations_6-15
UI translation strings for release_3.7.1 branch

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-16 20:16:02 +00:00
ansible-translation-bot
93498b2d7f UI translation strings for release_3.7.1 branch 2020-06-16 15:47:24 -04:00
mabashian
781b675837 Upgrade jquery to 3.5.1 2020-06-16 14:44:17 -04:00
mabashian
5e3ce7b7ea Update ngToast to most recent version 2020-06-16 14:44:16 -04:00
mabashian
34dd034f7c Upgrades to the latest angular-tz-extensions 2020-06-16 14:44:16 -04:00
mabashian
d5fcf733f0 Upgrades to the latest angular-codemirror 2020-06-16 14:44:16 -04:00
mabashian
8d63ebf0e0 Upgrade to the latest angular-scheduler 2020-06-16 14:44:16 -04:00
softwarefactory-project-zuul[bot]
de5f996358 Merge pull request #7352 from ryanpetrello/host-summary-optimization-bug
fix a regression in how job host summaries are generated

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-16 17:33:01 +00:00
softwarefactory-project-zuul[bot]
a54081de2e Merge pull request #7328 from Tompage1994/credential_input_source
Add tower_credential_input_source to awx_collection

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-16 17:27:45 +00:00
Ryan Petrello
eaadbe9730 fix a regression in how job host summaries are generated
this change fixes a bug introduced in the optimization at https://github.com/ansible/awx/pull/7352

1. Create inventory with multiple hosts
2. Run a playbook with a limit to match only one host
3. Run job, verify that it only acts on the one host
4. Go to inventory host list and see that all the hosts have last_job updated to point to the job that only acted on one host.
2020-06-16 13:18:14 -04:00
Ryan Petrello
70afbe0b8d fix a regression in how job host summaries are generated
this change fixes a bug introduced in the optimization at https://github.com/ansible/awx/pull/7352

1. Create inventory with multiple hosts
2. Run a playbook with a limit to match only one host
3. Run job, verify that it only acts on the one host
4. Go to inventory host list and see that all the hosts have last_job updated to point to the job that only acted on one host.
2020-06-16 13:06:22 -04:00
Tom Page
7bf1d4946e Fixed final lint issues
Signed-off-by: Tom Page <tpage@redhat.com>
2020-06-16 17:14:52 +01:00
Tom Page
fd18194b1b Fix pylint errors 2020-06-16 15:57:19 +01:00
Tom Page
73a39c1e55 Cleanup of debug and change test fixtures
Signed-off-by: Tom Page <tpage@redhat.com>
2020-06-16 14:30:28 +01:00
softwarefactory-project-zuul[bot]
415c39aabc Merge pull request #6938 from neb14/journald_logging_option
This allows for using different docker logging drivers

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-16 13:30:07 +00:00
Tom Page
1c78190385 Change cred_input_src to remove src_cred as primarykey
Signed-off-by: Tom Page <tpage@redhat.com>
2020-06-16 13:56:49 +01:00
Ben Schmitz
ea175ac5b6 Allows for docker logger support 2020-06-16 08:29:43 -04:00
softwarefactory-project-zuul[bot]
5527fc9115 Merge pull request #7343 from shanemcd/struggles
Make tests pass with current versions of things

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-16 12:24:39 +00:00
Tom Page
4c55685656 Add tower_credential_input_source to awx_collection
Signed-off-by: Tom Page <tpage@redhat.com>
2020-06-16 13:17:11 +01:00
Shane McDonald
de82c613fc Make tests pass with current versions of things 2020-06-15 23:13:44 -04:00
Christian Adams
186c54cb14 Merge pull request #4404 from ansible/i18n_release_3.7.1_translations
UI translation strings for release_3.7.1 branch
2020-06-15 17:10:10 -04:00
ansible-translation-bot
40eb3e43f8 UI translation strings for release_3.7.1 branch 2020-06-12 17:03:37 +00:00
softwarefactory-project-zuul[bot]
241931309e Merge pull request #7321 from jladdjr/instance_id_fallback
Instance id fallback

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-11 21:49:39 +00:00
softwarefactory-project-zuul[bot]
26083bdef6 Merge pull request #7304 from AlexSCorey/7233-ApplicationsList
Adds lists and list items and delete functionality

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-11 19:47:56 +00:00
Shane McDonald
e035eea95a Merge pull request #7188 from mo-saeed/devel
Reshape security context for AWX containers
2020-06-11 15:26:58 -04:00
Jim Ladd
e1f7a7619f Merge pull request #4398 from jladdjr/instance_id_fallback
Instance id fallback
2020-06-11 12:19:23 -07:00
Alex Corey
f211c70e69 fixes qs namespace, and location of proptypes 2020-06-11 15:16:14 -04:00
Alex Corey
08d9341704 Adds lists and list items and delete functionality 2020-06-11 15:16:14 -04:00
Jeff Bradberry
0fda9d2c56 Continue after failures to grant roles 2020-06-11 13:19:24 -04:00
Jim Ladd
43ab6acb84 revert EC2_INSTANCE_ID_VAR 2020-06-11 09:53:50 -07:00
Jim Ladd
8eee0d40dd revert EC2_INSTANCE_ID_VAR 2020-06-11 09:52:54 -07:00
Ryan Petrello
fe221c2473 Merge pull request #4399 from shanemcd/kube-queues
Add queue / instance group registration to heartbeat for k8s installs
2020-06-11 09:00:16 -04:00
softwarefactory-project-zuul[bot]
cb1a3e4199 Merge pull request #7312 from nixocio/ui_issue_7301
Add stub files for Credential Types

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-10 21:24:17 +00:00
Jim Ladd
3b61b82616 wrap --instance-id-var in quotes 2020-06-10 14:06:57 -07:00
Jim Ladd
9eaee801a7 update VMWARE_INSTANCE_ID_VAR
* Favor instanceUuid
* .. but fall back to instanceuuid if necessary
2020-06-10 14:06:54 -07:00
AlanCoding
1970fac989 Allow use of fallback instance_ids 2020-06-10 14:06:50 -07:00
softwarefactory-project-zuul[bot]
28164ad4cc Merge pull request #7319 from wenottingham/unused-perhaps
Remove active_counts_by_org

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-10 21:05:50 +00:00
Jim Ladd
9514adaf3a wrap --instance-id-var in quotes 2020-06-10 13:55:54 -07:00
Shane McDonald
85deb8711c Add queue / instance group registration to heartbeat for k8s installs
There is some history here.

https://github.com/ansible/awx/pull/7190 <- This PR was an attempt at fixing a
bug notting ran into where some jobs on k8s installs would get stuck in Waiting
forever.

The PR mentioned above introduced a bug where there are no instance groups on a
fresh k8s-based install. This is because this process currently happens in the
launch scripts, before the database is up.

With this patch, queue / instance group registration happens in the heartbeat,
right after auto-registering the instance.
2020-06-10 16:55:27 -04:00
nixocio
8eecfeaab4 Add stub files for Credential Types
Add stub files for Credential Types. Routing system, and screens layout.

closes: https://github.com/ansible/awx/issues/7301
2020-06-10 16:44:10 -04:00
Jim Ladd
17eaeb28a8 update VMWARE_INSTANCE_ID_VAR
* Favor instanceUuid
* .. but fall back to instanceuuid if necessary
2020-06-10 13:30:05 -07:00
Jeff Bradberry
bf6e8f8e83 Prioritize membership roles
since certain role grants will not be accepted by the api unless the user or team is part of the correct organization.
2020-06-10 15:27:15 -04:00
Bill Nottingham
a33c303765 Remove active_counts_by_org
I was trying to parse the difference between this and the
(directly above) org_active_count from the comment, and then I
grepped and realized this function appears unused.
2020-06-10 15:25:14 -04:00
Shane McDonald
423df6618d Force containers in k8s to run under root group
Normally containers belong to the 'root' group, but for some reason the
downstream red hat scl redis image only belongs to the 'redis' group by default. This fixes that.
2020-06-10 13:40:15 -04:00
softwarefactory-project-zuul[bot]
3ae4417af4 Merge pull request #7314 from nixocio/ui_fix_clipboard_error
Add required variables to ClipboardCopyButton test

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-10 16:43:28 +00:00
softwarefactory-project-zuul[bot]
2582036fc8 Merge pull request #7313 from kdelee/update_k8s_inv_docs
remove some references to memcached

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-10 16:33:08 +00:00
softwarefactory-project-zuul[bot]
b8e1f1b882 Merge pull request #7316 from ryanpetrello/tmi
remove a highly verbose log lines

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-10 16:23:30 +00:00
softwarefactory-project-zuul[bot]
dc3701b3d6 Merge pull request #7315 from ryanpetrello/redis-chmod-docker
set proper permissions for the redis socket

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-10 16:06:25 +00:00
softwarefactory-project-zuul[bot]
3818fb9b69 Merge pull request #7306 from AlexSCorey/6863-CopyProjectsAndInventories
Removes extra spacing from timeOfDay function

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-10 16:06:20 +00:00
Ryan Petrello
64ebfa75a8 remove a highly verbose log lines 2020-06-10 11:50:13 -04:00
Ryan Petrello
e81ccf10df set proper permissions for the redis socket 2020-06-10 11:36:09 -04:00
nixocio
9797c8e3c2 Add required variables to ClipboardCopyButton test
Add required variables to `ClipboardCopyButton` test to remove warnings
during test execution.
2020-06-10 11:25:39 -04:00
Elijah DeLee
a83a9c9723 remove dep on python-memcached 2020-06-10 11:18:48 -04:00
Elijah DeLee
6777b82d8e remove reference to memcached in k8s inv
we don't have memcached container anymore
2020-06-10 11:08:49 -04:00
softwarefactory-project-zuul[bot]
753b8c287c Merge pull request #7221 from AlexSCorey/6589-InventorySourceSchedules
Adds Inventory Sources Schedules

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-06-10 15:01:54 +00:00
mosad
eb5970b4a1 merge and resolve conflicts 2020-06-10 16:01:17 +02:00
Ryan Petrello
7c1959010a Merge pull request #4396 from jladdjr/foreman_script_should_not_use_reports_3.7.1
disable reports option for foreman (release_3.7.1)
2020-06-10 08:30:14 -04:00
AlanCoding
1dd9772e41 Allow use of fallback instance_ids 2020-06-09 22:51:42 -07:00
Jim Ladd
18d09f892d disable reports option for foreman 2020-06-09 22:37:35 -07:00
Jake McDermott
ee6f03515e Merge pull request #4340 from jakemcdermott/fix-4336
[3.7.1] Enable management job notications for admins
2020-06-09 16:27:07 -04:00
Jake McDermott
16f81154c0 Merge pull request #4338 from mabashian/4334-backport-v2
[3.7.1] Fixes bug where all_parents_must_converge was not being set for new or existing approval nodes
2020-06-09 15:36:40 -04:00
Jeff Bradberry
19b7c91486 Return the changed status of imports 2020-06-09 15:00:06 -04:00
Jeff Bradberry
aeeed4d371 Add more logging 2020-06-09 15:00:06 -04:00
Jeff Bradberry
1f7c1af64e Fix WFJT nodes endpoint to return node pages when posting
not the node list page.
2020-06-09 15:00:06 -04:00
Jeff Bradberry
65fc2db42f Recursively queue up related assets to be created and/or assigned 2020-06-09 14:59:49 -04:00
Alex Corey
82010e4ba2 removes extra spacing 2020-06-09 14:59:36 -04:00
Ryan Petrello
1d7e2a82c6 Merge pull request #4393 from kdelee/backport_dont_block_log_send
[3.7.1] don't block on log aggregator socket.send() calls
2020-06-09 14:49:43 -04:00
Jeff Bradberry
c8288af87f Make sure we have a cached version of existing objects
even if it isn't an object being directly imported.  We might need it
for relations of things that are being imported.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
76fb605dcd Deal with exports involving foreign keys where you don't have permission 2020-06-09 13:54:05 -04:00
Jeff Bradberry
a531b85b31 Redo waiting until Project updates are complete 2020-06-09 13:54:05 -04:00
Jeff Bradberry
86afa5cf42 Make more use of the PageCache for imports 2020-06-09 13:54:05 -04:00
Jeff Bradberry
57aff6394c Log an error and continue when a related object is not found 2020-06-09 13:54:05 -04:00
Jeff Bradberry
66bc947adb Reuse _import_list for import of related full objects
e.g. WFJT Nodes.  Also rename _import_list from _create_assets.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
301f15bfdd Rename some things for consistency 2020-06-09 13:54:05 -04:00
Jeff Bradberry
9fc1a4bb44 Change the method that exports list views to take a PageList or TentativePage
This will allow the related m2m views to also use this method, with a
bit of effort.  Also, remove the use of pk_or_name in favor of a new
method that reduces the number of api calls.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
f7825aefeb Avoid doing an OPTIONS call unless we know it is a related type we export 2020-06-09 13:54:05 -04:00
Jeff Bradberry
14b5f63bd8 Use the new PageCache to store and reuse Page.get results 2020-06-09 13:54:05 -04:00
Jeff Bradberry
1300d38e47 Introduce a new PageCache object
and split out get_post_fields into its own utility function.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
bb66e4633d Split _get_options into two pieces 2020-06-09 13:54:05 -04:00
Jeff Bradberry
201de4e18a Attempt to deal with foreign keys that get mislabeled as type integer
such as through the use of DeprecatedCredentialField.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
471dc2babf Deal with relations that we cannot resolve
such as due to a lack of permissions.  If there is a foreign key to
something where we don't have sufficient read permissions, we now drop
the parent object from the export.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
6387258da1 Only wait for Project updates
not other kinds of objects that have a status.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
6958815f6e Remove the $encrypted$ placeholders from export values 2020-06-09 13:54:05 -04:00
Jeff Bradberry
43b76f4575 Deal with unreadable mandatory foreign keys
by dropping the parent object.  Also, clarify some of the warning log
messages.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
53d81d42cc Hook up creation and attachment of related objects 2020-06-09 13:54:05 -04:00
Jeff Bradberry
385725e52a Fix the _create_assets method to use _get_options 2020-06-09 13:54:05 -04:00
Jeff Bradberry
1b264011a2 Enable interconnections between WFJT Nodes 2020-06-09 13:54:05 -04:00
Jeff Bradberry
719f0b407c Enable credential relations
but only when it is in an attach/detach list view.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
a5fa34bd3b Fall back to parsing the OPTIONS description
to determine the needed fields for constructing an object.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
eb10a1873d Drop objects that cannot be read or do not have a natural key
don't fail hard.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
ab15349c8c Remove the NoNaturalKey error
It's too awkward, and it makes more sense to return None instead.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e053a58223 Handle some more bad cases when doing OPTIONS calls
- deprecated endpoints
- read-only endpoints
- insufficient privileges

The latter case currently just drops it on the floor, but ought to do
something better.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
4262dd38ba Change the NoNaturalKey exception to no longer derive from Common
which seems to be entirely use for response exceptions.  Maybe rename
Common?
2020-06-09 13:54:05 -04:00
Jeff Bradberry
0deacc4391 If attempting to link to a resource that is not yet complete, wait 2020-06-09 13:54:05 -04:00
Jeff Bradberry
329293dbf0 Tentatively enable inventory sources 2020-06-09 13:54:05 -04:00
Jeff Bradberry
e92c8cfdcc Remove the natural key lookup dict and make each Page responsible instead 2020-06-09 13:54:05 -04:00
Jeff Bradberry
07ba521b8b Enable schedules 2020-06-09 13:54:05 -04:00
Jeff Bradberry
972d3ab535 Export full related objects under some conditions 2020-06-09 13:54:05 -04:00
Jeff Bradberry
a1f7d0b781 Fix a bug with inventory.variables
Using Page[key] instead of Page.json[key] causes inner json blob
strings to automatically get parsed, which is not what we want with
this field.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
30a3e3e172 Deal with lack of permissions 2020-06-09 13:54:05 -04:00
Jeff Bradberry
01d575f833 Enable the remaining top-level exportable resources
and rearrange the import/export methods a bit.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e0f6af4700 Enable the export of several relation field types 2020-06-09 13:54:05 -04:00
Jeff Bradberry
3860c7597f Move the import logic into methods on the ApiV2 class 2020-06-09 13:54:05 -04:00
Jeff Bradberry
e4146e9bc7 Move the export logic onto methods on the ApiV2 class
making it easier to invoke programmatically.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
19c92a7055 Enable notification templates 2020-06-09 13:54:05 -04:00
Jeff Bradberry
6a9add4fe3 Deal somewhat reasonably with missing fields as part of the natural key
- JobTemplate.organization has recently been added, we need to support
  with and without
- WorkflowJobTemplateNode is shortly going to get an identifier field,
  and we will need to support both with and without
2020-06-09 13:54:05 -04:00
Jeff Bradberry
ad574eb896 Enable credential export 2020-06-09 13:54:05 -04:00
Jeff Bradberry
55f79a4569 Fix a couple of flaws
- The dependency ordering may spit out page types that weren't in the import data set.  Make sure to be able to map those to resources anyway.
- freeze() needs to be able to deal with nullable foreign keys.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
d20fa03034 Create new Import.dependent_resources method
that yields up resource names, even ones that aren't explicitly in the
import data, in dependency order.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
868aafb263 Filter out managed credential types
since we cannot patch them upon import.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
3f204659a8 Temporarily disable export of resources that may not work yet 2020-06-09 13:54:05 -04:00
Jeff Bradberry
ea5b810e87 Sort the asset groups to be imported by their dependency relationships 2020-06-09 13:54:04 -04:00
Jeff Bradberry
2c00d42ced Only use a default password if an import user doesn't already exist 2020-06-09 13:54:04 -04:00
Jeff Bradberry
d191edcaf1 Fix a Python 2 syntax error
it doesn't like multiple **kwargs, apparently.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
65e16dc7ae Get and assign the related objects 2020-06-09 13:54:04 -04:00
Jeff Bradberry
95b22bf05b Begin to deal with existing matching assets
by using a registry allowing the lookup of Page objects by (frozen)
natural keys.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
21e36ad19a Add the calculated natural key to the export data for each asset 2020-06-09 13:54:04 -04:00
Jeff Bradberry
f53920d3bf Begin changing Import to work with the structure created by Export 2020-06-09 13:54:04 -04:00
Jeff Bradberry
372570ce8e Extract out get_natural_key as a standalone function 2020-06-09 13:54:04 -04:00
Jeff Bradberry
6f28361bf5 Make serialize_asset use Pages to a greater extent 2020-06-09 13:54:04 -04:00
Jeff Bradberry
0877e5305c Modify get_natural_key to work on Pages 2020-06-09 13:54:04 -04:00
Jeff Bradberry
e4383c505f Make more use of the functionality of Page in get_assets
and related methods.  Also, rename get_resource_options -> get_options
and enhance_asset -> serialize_asset.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
fb066eb52e Fold the other methods doing API calls into get_assets() 2020-06-09 13:54:04 -04:00
Jeff Bradberry
6162ff0439 Start to record the role membership
but not really, since it still isn't fully capturing the role content_object
2020-06-09 13:54:04 -04:00
Jeff Bradberry
dfe34563aa Resolve the natural keys of assets we've already collected 2020-06-09 13:54:04 -04:00
Jeff Bradberry
37cbf7691b Split out separate methods for the OPTIONS call and massaging each asset dict 2020-06-09 13:54:04 -04:00
Jeff Bradberry
9280198b0f Use a list of exportable resources to build up the parser
Also, handle an implicit export of everything.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
2127f3c96d Add organizations as a resource type to export 2020-06-09 13:54:04 -04:00
Jeff Bradberry
9f7fecf8da Add basic import command 2020-06-09 13:54:04 -04:00
Jeff Bradberry
c1a07ff00b Limit export output to only those fields needed to create the resource 2020-06-09 13:54:04 -04:00
Jeff Bradberry
f21d6b1fc4 Actually query the API for the user or users requested 2020-06-09 13:54:04 -04:00
Jeff Bradberry
4312395a3a Normalize the requested resource into a pk
using the pk_or_name helper function.  Also, authenticate to the API.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
c1f6fec532 Add skeleton of a custom 'export' resource
This only takes a flag for users at the moment, and does nothing in
particular with it.
2020-06-09 13:54:04 -04:00
Ryan Petrello
b7ac5f0ffb Merge pull request #4395 from fosterseth/fix-parents_converge_settable_api_backport
[backport] Make all_parents_must_converge settable when creating node
2020-06-09 11:29:34 -04:00
Seth Foster
0e5f68ef53 Make all_parents_must_converge settable when creating node
When targeting, ../workflow_job_templates/id#/workflow_nodes/ endpoint,
user could not set all_parents_must_converge to true.

3.7.1 backport for awx issue #7063
2020-06-09 11:07:22 -04:00
Ryan Petrello
a057a2e056 Merge pull request #4394 from ryanpetrello/mattermost-371
Send content-type with mattermost notifications, fixes #7264
2020-06-09 10:35:55 -04:00
Florian Apolloner
e9e410f4f8 Send content-type with mattermost notifications, fixes #7264 2020-06-09 10:32:32 -04:00
Ryan Petrello
71cc359ccf don't block on log aggregator socket.send() calls
see: https://github.com/ansible/tower/issues/4391
2020-06-09 10:10:32 -04:00
Sean Sullivan
104073af45 Merge pull request #1 from ansible/devel
Merging remote to devel
2020-06-09 07:50:36 -05:00
Chris Meyers
37c1c33ecd Merge pull request #4389 from chrismeyersfsu/fix-run_wsbroadcast_status_3_7_1
awx-manage run_wsbroadcast --status doesn't work in openshift
2020-06-08 20:18:32 -04:00
chris meyers
2f7ba75ae4 track stats by hostname not remote host/ip
* broadcast websockets have stats tracked (i.e. connection status,
number of messages total, messages per minute, etc). Previous to this
change, stats were tracked by ip address, if it was defined on the
instance, XOR hostname. This changeset tracks stats by hostname.
2020-06-08 16:35:17 -04:00
chris meyers
9c20b9412a delete and re-add host when ip address changes
* The websocket backplane interconnect is done via ip address for
Kubernetes and OpenShift. On init run_wsbroadcast reads all Instances
from the DB and makes a decision to use the ip address or the hostname
based, with preference given to the ip address if defined. For
Kubernetes and OpenShift the nodes can load the Instance before the
ip_address is set. This would cause the connection to be tried by
hostname rather than ip address. This changeset ensures that an ip
address set after an Instance record is created will be detected and
used.
2020-06-08 16:34:51 -04:00
Ryan Petrello
99c0a954e4 Merge pull request #4384 from ryanpetrello/rsyslog-chmod
properly write rsyslog configuration as 0640
2020-06-08 14:05:18 -04:00
jamesmarshall24
2394c0cb3d Remove query_parameters from within loop duplicating parameters in URL request 2020-06-05 18:12:10 -07:00
Jim Ladd
0a0735344e Merge pull request #4342 from jladdjr/foreman_group_prefix_should_apply_to_all_groups_3.7.1
foreman: use group_prefix for all groups (release_3.7.1)
2020-06-05 15:25:22 -07:00
mo-saeed
0bfcacfcf4 Merge branch 'devel' into devel 2020-06-06 00:19:19 +02:00
mosad
1e6437b773 Resolve conflict 2 2020-06-06 00:17:26 +02:00
Jim Ladd
9ae344b772 foreman: use group_prefix for all groups
* awx's "compatibility layer" for the foreman plugin had the
  group_prefix hard-coded to 'foreman_'
2020-06-05 14:44:55 -07:00
mosad
7d0c49c043 Fix conflict 2020-06-05 23:41:20 +02:00
Jim Ladd
0c4adfb32e Merge pull request #4387 from jladdjr/bump_foreman_collection_0.8.1
Bump foreman collection to 0.8.1
2020-06-05 12:10:22 -07:00
Jim Ladd
4ce37ec849 Bump foreman collection to 0.8.1
* New release includes:
  'add host_filters and want_ansible_ssh_host like script used to have'
2020-06-05 11:13:01 -07:00
Alex Corey
49053d3473 Adds Inventory Sources Schedules 2020-06-05 11:50:53 -04:00
Ryan Petrello
c53e5bdbcf properly write rsyslog configuration as 0640
see: https://github.com/ansible/tower/issues/4383
2020-06-04 15:12:09 -04:00
Christian Adams
e0032f7705 Merge pull request #4367 from rooftopcellist/sumologic_conf
Correctly parse sumologic url paths
2020-06-01 01:36:20 -04:00
Christian Adams
ed05ce164f Merge pull request #4377 from rooftopcellist/cleanup_flake8
Fix misc. linter errors due to the flake8-3.8.1 release
2020-05-29 19:29:17 -04:00
Christian Adams
d98f2714cb Merge pull request #4376 from rooftopcellist/rm_label_3.7.1
Fix 500 on Label Removal for WFJT's [3.7.1]
2020-05-29 18:11:45 -04:00
beeankha
85426f76a5 Fix misc. linter errors due to the flake8-3.8.1 release
- [Ref] https://flake8.pycqa.org/en/latest/release-notes/
2020-05-29 17:58:27 -04:00
Christian Adams
c48da1b384 allow org admins to remove labels 2020-05-29 15:12:35 -04:00
mosad
4a9603a7ea Allow priv container for awx_task and option to create psp 2020-05-29 20:24:49 +02:00
mosad
b13a175668 Reshape security context for AWX containers 2020-05-29 12:35:45 +02:00
Christian Adams
aec7d3cc93 Correctly parse sumologic url paths
- Sumologic includes a token with a '==' at the end of it's host path.
   This adds rsyslog conf parsing tests and does not escape equals
   signs.
2020-05-27 13:05:31 -04:00
Ryan Petrello
bd23c41d25 Merge pull request #4361 from ryanpetrello/venv-try-except
[3.7.1] backport a change to address venv permission issues
2020-05-26 11:31:16 -04:00
gamuniz
563d3944ed removed pass per feedback 2020-05-26 11:21:58 -04:00
Gabe Muniz
492d01ff3b added try/except to virtual env 2020-05-26 11:21:49 -04:00
Elijah DeLee
3ded30411f Merge pull request #4341 from kdelee/backport_host_summary_optimization_3.7.1
Backport host summary optimization 3.7.1
2020-05-21 13:37:16 -04:00
Bill Nottingham
b38c62d37f Merge pull request #4353 from wenottingham/analytics-skip-3.7.1
Always check configuration before gathering data.
2020-05-21 13:23:08 -04:00
Bill Nottingham
4c499b2d80 Always check configuration before gathering data.
We shouldn't perform expensive operations if we won't be able to send it.
Only log at debug level, otherwise every node will log this every 5
minutes.
2020-05-20 17:24:38 -04:00
Ryan Petrello
3d02bd7a90 Merge pull request #4350 from ryanpetrello/371-os-walkdir-recursive
Revert "follow symlinks while discovering valid playbooks"
2020-05-20 16:50:28 -04:00
Ryan Petrello
71257c18c2 Revert "follow symlinks while discovering valid playbooks"
This reverts commit 3dd21d720e.
2020-05-20 16:47:38 -04:00
Ryan Petrello
d85df2e4a1 further optimize job host summary queries 2020-05-19 13:00:12 -04:00
Ryan Petrello
59d457207c properly update .failed, .last_job_id, and last_job_host_summary 2020-05-19 13:00:05 -04:00
Ryan Petrello
3ea642f212 properly handle host summary bulk updates if hosts go missing 2020-05-19 13:00:00 -04:00
Ryan Petrello
b6d3c3c1a3 drastically optimize job host summary creation
see: https://github.com/ansible/awx/issues/6991
2020-05-19 12:59:54 -04:00
Jake McDermott
b83db0500f Enable management job notications for admins 2020-05-19 10:52:09 -04:00
mabashian
c4d9b81c55 Fixes bug where all_parents_must_converge was not being set for new or existing approval nodes. 2020-05-18 15:16:05 -04:00
Shane McDonald
cdfc9e05d4 Fix offline RHEL 8 builds
This was causing our EL8 Brew builds to break, because it wasn't being
vendored. This is in fact required for python3. It was being resolved as a
dependency of other things (see list at end of line), so it was being downloaded
on-the-fly since our normal builds have internet access. It only broke when it
wasn't vendored for offline builds.
2020-05-15 17:52:08 -04:00
4975 changed files with 359772 additions and 372989 deletions

View File

@@ -1,2 +1,2 @@
.git
awx/ui/node_modules
Dockerfile

2
.env
View File

@@ -1,3 +1,3 @@
PYTHONUNBUFFERED=true
SELENIUM_DOCKER_TAG=latest
COMPOSE_PROJECT_NAME=tools

1
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1 @@
workflows/e2e_test.yml @tiagodread @shanemcd @jakemcdermott

View File

@@ -23,8 +23,8 @@ https://www.ansible.com/security
##### ENVIRONMENT
* AWX version: X.Y.Z
* AWX install method: openshift, minishift, docker on linux, docker for mac, boot2docker
* Ansible version: X.Y.Z
* AWX install method: operator, developer environment
* AWX deployment target: openshift, kubernetes, minikube
* Operating System:
* Web Browser:

View File

@@ -1,35 +0,0 @@
---
name: "\U0001F41B Bug report"
about: Create a report to help us improve
---
##### ISSUE TYPE
- Bug Report
##### SUMMARY
<!-- Briefly describe the problem. -->
##### ENVIRONMENT
* AWX version: X.Y.Z
* AWX install method: openshift, minishift, docker on linux, docker for mac, boot2docker
* Ansible version: X.Y.Z
* Operating System:
* Web Browser:
##### STEPS TO REPRODUCE
<!-- Please describe exactly how to reproduce the problem. -->
##### EXPECTED RESULTS
<!-- What did you expect to happen when running the steps above? -->
##### ACTUAL RESULTS
<!-- What actually happened? -->
##### ADDITIONAL INFORMATION
<!-- Include any links to sosreport, database dumps, screenshots or other
information. -->

135
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,135 @@
---
name: Bug Report
description: Create a report to help us improve
labels:
- bug
body:
- type: markdown
attributes:
value: |
Issues are for **concrete, actionable bugs and feature requests** only. For debugging help or technical support, please use:
- The #ansible-awx channel on irc.libera.chat
- https://groups.google.com/forum/#!forum/awx-project
- type: checkboxes
id: terms
attributes:
label: Please confirm the following
options:
- label: I agree to follow this project's [code of conduct](http://docs.ansible.com/ansible/latest/community/code_of_conduct.html).
required: true
- label: I have checked the [current issues](https://github.com/ansible/awx/issues) for duplicates.
required: true
- label: I understand that AWX is open source software provided for free and that I am not entitled to status updates or other assurances.
required: true
- type: textarea
id: summary
attributes:
label: Summary
description: Briefly describe the problem.
validations:
required: false
- type: input
id: awx-version
attributes:
label: AWX version
description: What version of AWX are you running?
validations:
required: true
- type: dropdown
id: awx-install-method
attributes:
label: Installation method
description: How did you install AWX?
multiple: false
options:
- kubernetes
- minikube
- openshift
- minishift
- docker on linux
- docker for mac
- boot2docker
validations:
required: true
- type: dropdown
id: modified-architecture
attributes:
label: Modifications
description: >-
Have you modified the installation, deployment topology, or container images in any way? If yes, please
explain in the "additional information" field at the bottom of the form.
multiple: false
options:
- "no"
- "yes"
validations:
required: true
- type: input
id: ansible-version
attributes:
label: Ansible version
description: What version of Ansible are you running?
validations:
required: false
- type: input
id: operating-system
attributes:
label: Operating system
description: What operating system are you using?
validations:
required: false
- type: dropdown
id: browsers
attributes:
label: Web browser
description: Which browsers are affected?
multiple: true
options:
- Firefox
- Chrome
- Safari
- Edge
validations:
required: false
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: >-
Starting from a new installation of the system, describe exactly how a developer or quality engineer can reproduce the bug
on infrastructure that isn't yours. Include any and all resources created, input values, test users, roles assigned, playbooks used, etc.
validations:
required: true
- type: textarea
id: expected-results
attributes:
label: Expected results
description: What did you expect to happpen when running the steps above?
validations:
required: true
- type: textarea
id: actual-results
attributes:
label: Actual results
description: What actually happened?
validations:
required: true
- type: textarea
id: additional-information
attributes:
label: Additional information
description: Include any relevant log output, links to sosreport, database dumps, screenshots, or other information.
validations:
required: false

View File

@@ -3,6 +3,12 @@ name: "✨ Feature request"
about: Suggest an idea for this project
---
<!-- Issues are for **concrete, actionable bugs and feature requests** only - if you're just asking for debugging help or technical support, please use:
- http://web.libera.chat/?channels=#ansible-awx
- https://groups.google.com/forum/#!forum/awx-project
We have to limit this because of limited volunteer time to respond to issues! -->
##### ISSUE TYPE
- Feature Idea

View File

@@ -17,7 +17,6 @@ the change does.
<!--- Name of the module/plugin/module/task -->
- API
- UI
- Installer
##### AWX VERSION
<!--- Paste verbatim output from `make VERSION` between quotes below -->

173
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,173 @@
---
name: CI
on:
pull_request:
jobs:
api-test:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }}
- name: Build image
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${{ github.base_ref }} make docker-compose-build
- name: Run API Tests
run: |
docker run -u $(id -u) --rm -v ${{ github.workspace}}:/awx_devel/:Z \
--workdir=/awx_devel ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }} /start_tests.sh
api-lint:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }}
- name: Build image
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${{ github.base_ref }} make docker-compose-build
- name: Run API Linters
run: |
docker run -u $(id -u) --rm -v ${{ github.workspace}}:/awx_devel/:Z \
--workdir=/awx_devel ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }} /var/lib/awx/venv/awx/bin/tox -e linters
api-swagger:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }} || :
- name: Build image
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${{ github.base_ref }} make docker-compose-build
- name: Generate API Reference
run: |
docker run -u $(id -u) --rm -v ${{ github.workspace}}:/awx_devel/:Z \
--workdir=/awx_devel ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }} /start_tests.sh swagger
awx-collection:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }}
- name: Build image
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${{ github.base_ref }} make docker-compose-build
- name: Run Collection Tests
run: |
docker run -u $(id -u) --rm -v ${{ github.workspace}}:/awx_devel/:Z \
--workdir=/awx_devel ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }} /start_tests.sh test_collection_all
api-schema:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }}
- name: Build image
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${{ github.base_ref }} make docker-compose-build
- name: Check API Schema
run: |
docker run -u $(id -u) --rm -v ${{ github.workspace}}:/awx_devel/:Z \
--workdir=/awx_devel ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }} /start_tests.sh detect-schema-change
ui-lint:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }}
- name: Build image
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${{ github.base_ref }} make docker-compose-build
- name: Run UI Linters
run: |
docker run -u $(id -u) --rm -v ${{ github.workspace}}:/awx_devel/:Z \
--workdir=/awx_devel ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }} make ui-lint
ui-test:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }}
- name: Build image
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${{ github.base_ref }} make docker-compose-build
- name: Run UI Tests
run: |
docker run -u $(id -u) --rm -v ${{ github.workspace}}:/awx_devel/:Z \
--workdir=/awx_devel ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }} make ui-test

30
.github/workflows/devel_image.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
---
name: Push Development Image
on:
push:
branches:
- devel
jobs:
push:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${GITHUB_REF##*/}
- name: Build image
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${GITHUB_REF##*/} make docker-compose-build
- name: Push image
run: |
docker push ghcr.io/${{ github.repository_owner }}/awx_devel:${GITHUB_REF##*/}

100
.github/workflows/e2e_test.yml vendored Normal file
View File

@@ -0,0 +1,100 @@
---
name: E2E Tests
on:
pull_request_target:
types: [labeled]
jobs:
e2e-test:
if: contains(github.event.pull_request.labels.*.name, 'qe:e2e')
runs-on: ubuntu-latest
timeout-minutes: 40
permissions:
packages: write
contents: read
strategy:
matrix:
job: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
steps:
- uses: actions/checkout@v2
- name: Install system deps
run: sudo apt-get install -y gettext
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${{ github.base_ref }}
- name: Build UI
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${{ github.base_ref }} make ui-devel
- name: Start AWX
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${{ github.base_ref }} make docker-compose &> make-docker-compose-output.log &
- name: Pull awx_cypress_base image
run: |
docker pull quay.io/awx/awx_cypress_base:latest
- name: Checkout test project
uses: actions/checkout@v2
with:
repository: ${{ github.repository_owner }}/tower-qa
ssh-key: ${{ secrets.QA_REPO_KEY }}
path: tower-qa
ref: devel
- name: Build cypress
run: |
cd ${{ secrets.E2E_PROJECT }}/ui-tests/awx-pf-tests
docker build -t awx-pf-tests .
- name: Update default AWX password
run: |
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' -k https://localhost:8043/api/v2/ping/)" != "200" ]]
do
echo "Waiting for AWX..."
sleep 5;
done
echo "AWX is up, updating the password..."
docker exec -i tools_awx_1 sh <<-EOSH
awx-manage update_password --username=admin --password=password
EOSH
- name: Run E2E tests
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
run: |
export COMMIT_INFO_BRANCH=$GITHUB_HEAD_REF
export COMMIT_INFO_AUTHOR=$GITHUB_ACTOR
export COMMIT_INFO_SHA=$GITHUB_SHA
export COMMIT_INFO_REMOTE=$GITHUB_REPOSITORY_OWNER
cd ${{ secrets.E2E_PROJECT }}/ui-tests/awx-pf-tests
AWX_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' tools_awx_1)
printenv > .env
echo "Executing tests:"
docker run \
--network '_sources_default' \
--ipc=host \
--env-file=.env \
-e CYPRESS_baseUrl="https://$AWX_IP:8043" \
-e CYPRESS_AWX_E2E_USERNAME=admin \
-e CYPRESS_AWX_E2E_PASSWORD='password' \
-e COMMAND="npm run cypress-gha" \
-v /dev/shm:/dev/shm \
-v $PWD:/e2e \
-w /e2e \
awx-pf-tests run --project .
- name: Save AWX logs
uses: actions/upload-artifact@v2
with:
name: AWX-logs-${{ matrix.job }}
path: make-docker-compose-output.log

43
.github/workflows/upload_schema.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
---
name: Upload API Schema
on:
push:
branches:
- devel
jobs:
push:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v2
- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pre-pull image to warm build cache
run: |
docker pull ghcr.io/${{ github.repository_owner }}/awx_devel:${GITHUB_REF##*/}
- name: Build image
run: |
DEV_DOCKER_TAG_BASE=ghcr.io/${{ github.repository_owner }} COMPOSE_TAG=${GITHUB_REF##*/} make docker-compose-build
- name: Generate API Schema
run: |
docker run -u $(id -u) --rm -v ${{ github.workspace }}:/awx_devel/:Z \
--workdir=/awx_devel ghcr.io/${{ github.repository_owner }}/awx_devel:${GITHUB_REF##*/} /start_tests.sh genschema
- name: Upload API Schema
env:
AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }}
AWS_REGION: 'us-east-1'
run: |
ansible localhost -c local, -m command -a "{{ ansible_python_interpreter + ' -m pip install boto3'}}"
ansible localhost -c local -m aws_s3 \
-a 'src=${{ github.workspace }}/schema.json bucket=awx-public-ci-files object=schema.json mode=put permission=public-read'

28
.gitignore vendored
View File

@@ -28,14 +28,20 @@ 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
awx/ui/node_modules/
awx/ui/src/locales/*/messages.js
awx/ui/coverage/
awx/ui/build
awx/ui/.env.local
awx/ui/instrumented
rsyslog.pid
/tower-license
/tower-license/**
tools/prometheus/data
tools/docker-compose/ansible/awx_dump.sql
tools/docker-compose/Dockerfile
tools/docker-compose/_build
tools/docker-compose/_sources
tools/docker-compose/overrides/
tools/docker-compose-minikube/_sources
# Tower setup playbook testing
setup/test/roles/postgresql
@@ -57,14 +63,12 @@ __pycache__
/Gruntfile.js
/Brocfile.js
/bower.json
/package.json
/testem.yml
**/coverage
/.istanbul.yml
**/node_modules/**
/tmp
**/npm-debug.log*
**/package-lock.json
# UI build flag files
awx/ui/.deps_built
@@ -86,6 +90,9 @@ awx/awx_test.sqlite3-journal
# Mac OS X
*.DS_Store
# VSCode
.vscode/
# Editors
*.sw[poj]
*~
@@ -139,9 +146,14 @@ use_dev_supervisor.txt
# Ansible module tests
/awx_collection_test_venv/
/awx_collection/*.tar.gz
/awx_collection/galaxy.yml
/sanity/
/awx_collection_build/
.idea/*
*.unison.tmp
*.#
/awx/ui/.ui-built
/Dockerfile
/_build/
/_build_kube_dev/
/Dockerfile.kube-dev

View File

@@ -1,5 +1,6 @@
---
ignore: |
.github
.tox
awx/main/tests/data/inventory/plugins/**
# vault files

View File

@@ -1,7 +1,7 @@
Coding Standards and Practices
==============================
This is not meant to be a style document so much as a practices document for ensuring performance and convention in the Ansible Tower API.
This is not meant to be a style document so much as a practices document for ensuring performance and convention in the AWX API.
Paginate Everything
===================

View File

@@ -1,13 +1,281 @@
# 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>`.
# 19.3.0 (August 12, 2021)
- Fixed threading bug that would sometimes cause jobs to randomly fail (https://github.com/ansible/awx/pull/10537)
- Fixed race where app would crash when postgres is not available (https://github.com/ansible/awx/pull/10583)
- Add support for workflow node aliasing via identifier field (https://github.com/ansible/awx/pull/10592)
- Add UI support for management jobs in workflows (https://github.com/ansible/awx/pull/10572)
- Show PAT as part of bulk delete list (https://github.com/ansible/awx/pull/10794)
- Return 404 for ad_hoc_command_events list api. Remove api endtpoint (https://github.com/ansible/awx/pull/10716)
- Fix multiple accessibility violations (https://github.com/ansible/awx/pull/10713)
- Fix ignoring --no-color for awx-manage list_instances command (https://github.com/ansible/awx/pull/10668)
- Fix to handle ask_* parameters correctly when set false (https://github.com/ansible/awx/pull/10108)
- Default source_project to organization for inventory source (https://github.com/ansible/awx/pull/10573)
- Fix headers missing in webhook notification request (https://github.com/ansible/awx/pull/10566)
- Avoid double LDAP updates (https://github.com/ansible/awx/pull/9703)
- introduced a pre-flight check for postgres 12 (https://github.com/ansible/awx/pull/10425)
- Fix Job Settings Page Break on Firefox (https://github.com/ansible/awx/pull/10523)
- bumped django version to 2.2.20 (https://github.com/ansible/awx/pull/10564)
- Add Thycotic SecretServer support (https://github.com/ansible/awx/pull/10632)
# 19.2.2 (June 28, 2021)
- Fixed bug where symlinks pointing to directories were not preserved (https://github.com/ansible/ansible-runner/pull/736)
- Various bugfixes found during testing (https://github.com/ansible/awx/pull/10532)
# 19.2.1 (June 17, 2021)
- There are now 2 default Instance Groups: 'controlplane' and 'default' (https://github.com/ansible/awx/pull/10324)
- Removed deprecated modules: `tower_send`, `tower_receive`, `tower_workflow_template` (https://github.com/ansible/awx/pull/9980)
- Improved UI performance when a large amount of events are being emitted by jobs (https://github.com/ansible/awx/pull/10053)
- Settings UI Revert All button now issues a DELETE instead of PATCHing all fields (https://github.com/ansible/awx/pull/10376)
- Fixed a bug with the schedule date/time picker in Firefox (https://github.com/ansible/awx/pull/10291)
- UI now preselects the system default Galaxy credential when creating a new organization (https://github.com/ansible/awx/pull/10395)
- Added favicon (https://github.com/ansible/awx/pull/10388)
- Removed `not` option from smart inventory host filter search as it's not supported by the API (https://github.com/ansible/awx/pull/10380)
- Added button to allow user to refetch project revision after project sync has finished (https://github.com/ansible/awx/pull/10334)
- Fixed bug where extraneous CONFIG requests were made on logout (https://github.com/ansible/awx/pull/10379)
- Fixed bug where users were unable to cancel inventory syncs (https://github.com/ansible/awx/pull/10346)
- Added missing dashboard graph filters (https://github.com/ansible/awx/pull/10349)
- Added support for typing in to single select lookup form fields (https://github.com/ansible/awx/pull/10257)
- Fixed various bugs related to user sessions (https://github.com/ansible/awx/pull/9908)
- Fixed bug where sorting in modals would close the modal (https://github.com/ansible/awx/pull/10215)
- Added support for Red Hat Insights as an inventory source (https://github.com/ansible/awx/pull/8650)
- Fixed bugs when selecting items in a list then sorting/paginating (https://github.com/ansible/awx/pull/10329)
# 19.2.0 (June 1, 2021)
- Fixed race condition that would sometimes cause jobs to error out at the very end of an otherwise successful run (https://github.com/ansible/receptor/pull/328)
- Fixes bug where users were unable to click on text next to checkboxes in modals (https://github.com/ansible/awx/pull/10279)
- Have the project update playbook warn if role/collection syncing is disabled. (https://github.com/ansible/awx/pull/10068)
- Move irc references to point to irc.libera.chat (https://github.com/ansible/awx/pull/10295)
- Fixes bug where activity stream changes were displaying as [object object] (https://github.com/ansible/awx/pull/10267)
- Update awxkit to enable export of Galaxy credentials associated to organizations (https://github.com/ansible/awx/pull/10271)
- Bump receptor and receptorctl versions to 1.0.0a2 (https://github.com/ansible/awx/pull/10261)
- Add the ability to disable local authentication (https://github.com/ansible/awx/pull/10102)
- Show error if no Execution Environment is found on project sync/job run (https://github.com/ansible/awx/pull/10183)
- Allow for editing and deleting managed_by_tower EEs from API/UI (https://github.com/ansible/awx/pull/10173)
# 19.1.0 (May 1, 2021)
- Custom inventory scripts have been removed from the API https://github.com/ansible/awx/pull/9822
- Old scripts can be exported via `awx-manage export_custom_scripts`
- Fixed a bug where ad-hoc commands targeted against multiple hosts would run against only 1 host https://github.com/ansible/awx/pull/9973
- AWX will now look for a top-level requirements.yml when installing collections / roles in project updates https://github.com/ansible/awx/pull/9945
- Improved error handling when Container Group pods fail to launch https://github.com/ansible/awx/pull/10025
- Added ability to set server-side password policies using Django's AUTH_PASSWORD_VALIDATORS setting https://github.com/ansible/awx/pull/9999
- Bumped versions of Ansible Runner & AWX EE https://github.com/ansible/awx/pull/10013
- If you have built any custom EEs on top of awx-ee 0.1.0, you will need to rebuild on top of 0.2.0.
- Remove legacy resource profiling code https://github.com/ansible/awx/pull/9883
# 19.0.0 (April 7, 2021)
- AWX now runs on Python 3.8 (https://github.com/ansible/awx/pull/8778/)
- Fixed inventories-from-projects when running in Kubernetes (https://github.com/ansible/awx/pull/9741)
- Fixed a bug where a slash was appended to invetory file paths in UI dropdown (https://github.com/ansible/awx/pull/9713)
- Fix a bug with large file parsing in project sync (https://github.com/ansible/awx/pull/9627)
- Fix k8s credentials that use a custom ca cert (https://github.com/ansible/awx/pull/9744)
- Fix a bug that allowed a user to attempt deleting a running job (https://github.com/ansible/awx/pull/9758)
- Fixed the Kubernetes Pod reaper to properly delete Pods launched by Receptor (https://github.com/ansible/awx/pull/9819)
- AWX Collection Modules: added ability to set instance groups for organization, job templates, and inventories. (https://github.com/ansible/awx/pull/9804)
- Fixed CSP violation errors on job details and job settings views (https://github.com/ansible/awx/pull/9818)
- Added support for convergence any/all on workflow nodes (https://github.com/ansible/awx/pull/9737)
- Fixed race condition that causes InvalidGitRepositoryError (https://github.com/ansible/awx/pull/9754)
- Added support for Execution Environments to the Activity Stream (https://github.com/ansible/awx/issues/9308)
- Fixed a bug that improperly formats OpenSSH keys specified in custom Credential Types (https://github.com/ansible/awx/issues/9361)
- Fixed an HTTP 500 error for unauthenticated users (https://github.com/ansible/awx/pull/9725)
- Added subscription wizard: https://github.com/ansible/awx/pull/9496
# 18.0.0 (March 23, 2021)
**IMPORTANT INSTALL AND UPGRADE NOTES**
Starting in version 18.0, the [AWX Operator](https://github.com/ansible/awx-operator) is the preferred way to install AWX: https://github.com/ansible/awx/blob/devel/INSTALL.md#installing-awx
If you have a pre-existing installation of AWX that utilizes the Docker-based installation method, this install method has ** notably changed** from 17.x to 18.x. For details, please see:
- https://groups.google.com/g/awx-project/c/47MjWSUQaOc/m/bCjSDn0eBQAJ
- https://github.com/ansible/awx/blob/devel/tools/docker-compose
- https://github.com/ansible/awx/blob/devel/tools/docker-compose/docs/data_migration.md
### Introducing Execution Environments
After a herculean effort from a number of contributors, we're excited to announce that AWX 18.0.0 introduces a new concept called Execution Environments.
Execution Environments are container images which consist of everything necessary to run a playbook within AWX, and which drive the entire management and lifecycle of playbook execution runtime in AWX: https://github.com/ansible/awx/issues/5157. This means that going forward, AWX no longer utilizes the [bubblewrap](https://github.com/containers/bubblewrap) project for playbook isolation, but instead utilizes a container per playbook run.
Much like custom virtualenvs, custom Execution Environments can be crafted to specify additional Python or system-level dependencies. [Ansible Builder](https://github.com/ansible/ansible-builder) outputs images you can upload to your registry which can *then* be defined in AWX and utilized for playbook runs.
To learn more about Ansible Builder and Execution Environments, see: https://www.ansible.com/blog/introduction-to-ansible-builder
### Other Notable Changes
- Removed `installer` directory.
- The Kubernetes installer has been removed in favor of [AWX Operator](https://github.com/ansible/awx-operator). Official images for Operator-based installs are no longer hosted on Docker Hub, but are instead available on [Quay](https://quay.io/repository/ansible/awx?tab=tags).
- The "Local Docker" install method has been removed in favor of the development environment. Details can be found at: https://github.com/ansible/awx/blob/devel/tools/docker-compose/README.md
- Removal of custom virtual environments https://github.com/ansible/awx/pull/9498
- Custom virtual environments have been replaced by Execution Environments https://github.com/ansible/awx/pull/9570
- The default Container Group Pod definition has changed. All custom Pod specs have been reset. https://github.com/ansible/awx/commit/05ef51f710dad8f8036bc5acee4097db4adc0d71
- Added user interface for the activity stream: https://github.com/ansible/awx/pull/9083
- Converted many of the top-level list views (Jobs, Teams, Hosts, Inventories, Projects, and more) to a new, permanent table component for substantially increased responsiveness, usability, maintainability, and other 'ility's: https://github.com/ansible/awx/pull/8970, https://github.com/ansible/awx/pull/9182 and many others!
- Added support for Centrify Vault (https://www.centrify.com) as a credential lookup plugin (https://github.com/ansible/awx/pull/9542)
- Added support for namespaces in Hashicorp Vault credential plugin (https://github.com/ansible/awx/pull/9590)
- Added click-to-expand details for job tables
- Added search filtering to job output https://github.com/ansible/awx/pull/9208
- Added the new migration, update, and "installation in progress" page https://github.com/ansible/awx/pull/9123
- Added the user interface for job settings https://github.com/ansible/awx/pull/8661
- Runtime errors from jobs are now displayed, along with an explanation for what went wrong, on the output page https://github.com/ansible/awx/pull/8726
- You can now cancel a running job from its output and details panel https://github.com/ansible/awx/pull/9199
- Fixed a bug where launch prompt inputs were unexpectedly deposited in the url: https://github.com/ansible/awx/pull/9231
- Playbook, credential type, and inventory file inputs now support type-ahead and manual type-in! https://github.com/ansible/awx/pull/9120
- Added ability to relaunch against failed hosts: https://github.com/ansible/awx/pull/9225
- Added pending workflow approval count to the application header https://github.com/ansible/awx/pull/9334
- Added user interface for management jobs: https://github.com/ansible/awx/pull/9224
- Added toast message to show notification template test result to notification templates list https://github.com/ansible/awx/pull/9318
- Replaced CodeMirror with AceEditor for editing template variables and notification templates https://github.com/ansible/awx/pull/9281
- Added support for filtering and pagination on job output https://github.com/ansible/awx/pull/9208
- Added support for html in custom login text https://github.com/ansible/awx/pull/9519
# 17.1.0 (March 9, 2021)
- Addressed a security issue in AWX (CVE-2021-20253)
- Fixed a bug permissions error related to redis in K8S-based deployments: https://github.com/ansible/awx/issues/9401
# 17.0.1 (January 26, 2021)
- Fixed pgdocker directory permissions issue with Local Docker installer: https://github.com/ansible/awx/pull/9152
- Fixed a bug in the UI which caused toggle settings to not be changed when clicked: https://github.com/ansible/awx/pull/9093
# 17.0.0 (January 22, 2021)
- AWX now requires PostgreSQL 12 by default: https://github.com/ansible/awx/pull/8943
**Note:** users who encounter permissions errors at upgrade time should `chown -R ~/.awx/pgdocker` to ensure it's owned by the user running the install playbook
- Added support for region name for OpenStack inventory: https://github.com/ansible/awx/issues/5080
- Added the ability to chain undefined attributes in custom notification templates: https://github.com/ansible/awx/issues/8677
- Dramatically simplified the `image_build` role: https://github.com/ansible/awx/pull/8980
- Fixed a bug which can cause schema migrations to fail at install time: https://github.com/ansible/awx/issues/9077
- Fixed a bug which caused the `is_superuser` user property to be out of date in certain circumstances: https://github.com/ansible/awx/pull/8833
- Fixed a bug which sometimes results in race conditions on setting access: https://github.com/ansible/awx/pull/8580
- Fixed a bug which sometimes causes an unexpected delay in stdout for some playbooks: https://github.com/ansible/awx/issues/9085
- (UI) Added support for credential password prompting on job launch: https://github.com/ansible/awx/pull/9028
- (UI) Added the ability to configure LDAP settings in the UI: https://github.com/ansible/awx/issues/8291
- (UI) Added a sync button to the Project detail view: https://github.com/ansible/awx/issues/8847
- (UI) Added a form for configuring Google Outh 2.0 settings: https://github.com/ansible/awx/pull/8762
- (UI) Added searchable keys and related keys to the Credentials list: https://github.com/ansible/awx/issues/8603
- (UI) Added support for advanced search and copying to Notification Templates: https://github.com/ansible/awx/issues/7879
- (UI) Added support for prompting on workflow nodes: https://github.com/ansible/awx/issues/5913
- (UI) Added support for session timeouts: https://github.com/ansible/awx/pull/8250
- (UI) Fixed a bug that broke websocket streaming for the insecure ws:// protocol: https://github.com/ansible/awx/pull/8877
- (UI) Fixed a bug in the user interface when a translation for the browser's preferred locale isn't available: https://github.com/ansible/awx/issues/8884
- (UI) Fixed bug where navigating from one survey question form directly to another wasn't reloading the form: https://github.com/ansible/awx/issues/7522
- (UI) Fixed a bug which can cause an uncaught error while launching a Job Template: https://github.com/ansible/awx/issues/8936
- Updated autobahn to address CVE-2020-35678
## 16.0.0 (December 10, 2020)
- AWX now ships with a reimagined user interface. **Please read this before upgrading:** https://groups.google.com/g/awx-project/c/KuT5Ao92HWo
- Removed support for syncing inventory from Red Hat CloudForms - https://github.com/ansible/awx/commit/0b701b3b2
- Removed support for Mercurial-based project updates - https://github.com/ansible/awx/issues/7932
- Upgraded NodeJS to actively maintained LTS 14.15.1 - https://github.com/ansible/awx/pull/8766
- Added Git-LFS to the default image build - https://github.com/ansible/awx/pull/8700
- Added the ability to specify `metadata.labels` in the podspec for container groups - https://github.com/ansible/awx/issues/8486
- Added support for Kubernetes pod annotations - https://github.com/ansible/awx/pull/8434
- Added the ability to label the web container in local Docker installs - https://github.com/ansible/awx/pull/8449
- Added additional metadata (as an extra var) to playbook runs to report the SCM branch name - https://github.com/ansible/awx/pull/8433
- Fixed a bug that caused k8s installations to fail due to an incorrect Helm repo - https://github.com/ansible/awx/issues/8715
- Fixed a bug that prevented certain Workflow Approval resources from being deleted - https://github.com/ansible/awx/pull/8612
- Fixed a bug that prevented the deletion of inventories stuck in "pending deletion" state - https://github.com/ansible/awx/issues/8525
- Fixed a display bug in webhook notifications with certain unicode characters - https://github.com/ansible/awx/issues/7400
- Improved support for exporting dependent objects (Inventory Hosts and Groups) in the `awx export` CLI tool - https://github.com/ansible/awx/commit/607bc0788
## 15.0.1 (October 20, 2020)
- Added several optimizations to improve performance for a variety of high-load simultaneous job launch use cases https://github.com/ansible/awx/pull/8403
- Added the ability to source roles and collections from requirements.yaml files (not just requirements.yml) - https://github.com/ansible/awx/issues/4540
- awx.awx collection modules now provide a clearer error message for incompatible versions of awxkit - https://github.com/ansible/awx/issues/8127
- Fixed a bug in notification messages that contain certain unicode characters - https://github.com/ansible/awx/issues/7400
- Fixed a bug that prevents the deletion of Workflow Approval records - https://github.com/ansible/awx/issues/8305
- Fixed a bug that broke the selection of webhook credentials - https://github.com/ansible/awx/issues/7892
- Fixed a bug which can cause confusing behavior for social auth logins across distinct browser tabs - https://github.com/ansible/awx/issues/8154
- Fixed several bugs in the output of Workflow Job Templates using the `awx export` tool - https://github.com/ansible/awx/issues/7798 https://github.com/ansible/awx/pull/7847
- Fixed a race condition that can lead to missing hosts when running parallel inventory syncs - https://github.com/ansible/awx/issues/5571
- Fixed an HTTP 500 error when certain LDAP group parameters aren't properly set - https://github.com/ansible/awx/issues/7622
- Updated a few dependencies in response to several CVEs:
* CVE-2020-7720
* CVE-2020-7743
* CVE-2020-7676
## 15.0.0 (September 30, 2020)
- Added improved support for fetching Ansible collections from private Galaxy content sources (such as https://github.com/ansible/galaxy_ng) - https://github.com/ansible/awx/issues/7813
**Note:** as part of this change, new Organizations created in the AWX API will _no longer_ automatically synchronize roles and collections from galaxy.ansible.com by default. More details on this change can be found at: https://github.com/ansible/awx/issues/8341#issuecomment-707310633
- AWX now utilizes a version of certifi that auto-discovers certificates in the system certificate store - https://github.com/ansible/awx/pull/8242
- Added support for arbitrary custom inventory plugin configuration: https://github.com/ansible/awx/issues/5150
- Added an optional setting to disable the auto-creation of organizations and teams on successful SAML login. - https://github.com/ansible/awx/pull/8069
- Added a number of optimizations to AWX's callback receiver to improve the speed of stdout processing for simultaneous playbooks runs - https://github.com/ansible/awx/pull/8193 https://github.com/ansible/awx/pull/8191
- Added the ability to use `!include` and `!import` constructors when constructing YAML for use with the AWX CLI - https://github.com/ansible/awx/issues/8135
- Fixed a bug that prevented certain users from being able to edit approval nodes in Workflows - https://github.com/ansible/awx/pull/8253
- Fixed a bug that broke password prompting for credentials in certain cases - https://github.com/ansible/awx/issues/8202
- Fixed a bug which can cause PostgreSQL deadlocks when running many parallel playbooks against large shared inventories - https://github.com/ansible/awx/issues/8145
- Fixed a bug which can cause delays in AWX's task manager when large numbers of simultaneous jobs are scheduled - https://github.com/ansible/awx/issues/7655
- Fixed a bug which can cause certain scheduled jobs - those that run every X minute(s) or hour(s) - to fail to run at the proper time - https://github.com/ansible/awx/issues/8071
- Fixed a performance issue for playbooks that store large amounts of data using the `set_stats` module - https://github.com/ansible/awx/issues/8006
- Fixed a bug related to AWX's handling of the auth_path argument for the HashiVault KeyValue credential plugin - https://github.com/ansible/awx/pull/7991
- Fixed a bug that broke support for Remote Archive SCM Type project syncs on platforms that utilize Python2 - https://github.com/ansible/awx/pull/8057
- Updated to the latest version of Django Rest Framework to address CVE-2020-25626
- Updated to the latest version of Django to address CVE-2020-24583 and CVE-2020-24584
- Updated to the latest verson of channels_redis to address a bug that slowly causes Daphne processes to leak memory over time - https://github.com/django/channels_redis/issues/212
## 14.1.0 (Aug 25, 2020)
- AWX images can now be built on ARM64 - https://github.com/ansible/awx/pull/7607
- Added the Remote Archive SCM Type to support using immutable artifacts and releases (such as tarballs and zip files) as projects - https://github.com/ansible/awx/issues/7954
- Deprecated official support for Mercurial-based project updates - https://github.com/ansible/awx/issues/7932
- Added resource import/export support to the official AWX collection - https://github.com/ansible/awx/issues/7329
- Added the ability to import YAML-based resources (instead of just JSON) when using the AWX CLI - https://github.com/ansible/awx/pull/7808
- Users upgrading from older versions of AWX may encounter an issue that causes their postgres container to restart in a loop (https://github.com/ansible/awx/issues/7854) - if you encounter this, bring your containers down and then back up (e.g., `docker-compose down && docker-compose up -d`) after upgrading to 14.1.0.
- Updated the AWX CLI to export labels associated with Workflow Job Templates - https://github.com/ansible/awx/pull/7847
- Updated to the latest python-ldap to address a bug - https://github.com/ansible/awx/issues/7868
- Upgraded git-python to fix a bug that caused workflows to sometimes fail - https://github.com/ansible/awx/issues/6119
- Worked around a bug in the channels_redis library that slowly causes Daphne processes to leak memory over time - https://github.com/django/channels_redis/issues/212
- Fixed a bug in the AWX CLI that prevented Workflow nodes from importing properly - https://github.com/ansible/awx/issues/7793
- Fixed a bug in the awx.awx collection release process that templated the wrong version - https://github.com/ansible/awx/issues/7870
- Fixed a bug that caused errors rendering stdout that contained UTF-16 surrogate pairs - https://github.com/ansible/awx/pull/7918
## 14.0.0 (Aug 6, 2020)
- As part of our commitment to inclusivity in open source, we recently took some time to audit AWX's source code and user interface and replace certain terminology with more inclusive language. Strictly speaking, this isn't a bug or a feature, but we think it's important and worth calling attention to:
* https://github.com/ansible/awx/commit/78229f58715fbfbf88177e54031f532543b57acc
* https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language
- Installing roles and collections via requirements.yml as part of Project Updates now requires at least Ansible 2.9 - https://github.com/ansible/awx/issues/7769
- Deprecated the use of the `PRIMARY_GALAXY_USERNAME` and `PRIMARY_GALAXY_PASSWORD` settings. We recommend using tokens to access Galaxy or Automation Hub.
- Added local caching for downloaded roles and collections so they are not re-downloaded on nodes where they are up to date with the project - https://github.com/ansible/awx/issues/5518
- Added the ability to associate K8S/OpenShift credentials to Job Template for playbook interaction with the `community.kubernetes` collection - https://github.com/ansible/awx/issues/5735
- Added the ability to include HTML in the Custom Login Info presented on the login page - https://github.com/ansible/awx/issues/7600
- Fixed https://access.redhat.com/security/cve/cve-2020-14327 - Server-side request forgery on credentials
- Fixed https://access.redhat.com/security/cve/cve-2020-14328 - Server-side request forgery on webhooks
- Fixed https://access.redhat.com/security/cve/cve-2020-14329 - Sensitive data exposure on labels
- Fixed https://access.redhat.com/security/cve/cve-2020-14337 - Named URLs allow for testing the presence or absence of objects
- Fixed a number of bugs in the user interface related to an upgrade of jQuery:
* https://github.com/ansible/awx/issues/7530
* https://github.com/ansible/awx/issues/7546
* https://github.com/ansible/awx/issues/7534
* https://github.com/ansible/awx/issues/7606
- Fixed a bug that caused the `-f yaml` flag of the AWX CLI to not print properly formatted YAML - https://github.com/ansible/awx/issues/7795
- Fixed a bug in the installer that caused errors when `docker_registry_password` was set - https://github.com/ansible/awx/issues/7695
- Fixed a permissions error that prevented certain users from starting AWX services - https://github.com/ansible/awx/issues/7545
- Fixed a bug that allows superusers to run unsafe Jinja code when defining custom Credential Types - https://github.com/ansible/awx/pull/7584/
- Fixed a bug that prevented users from creating (or editing) custom Credential Types containing boolean fields - https://github.com/ansible/awx/issues/7483
- Fixed a bug that prevented users with postgres usernames containing uppercase letters from restoring backups succesfully - https://github.com/ansible/awx/pull/7519
- Fixed a bug which allowed the creation (in the Tower API) of Groups and Hosts with the same name - https://github.com/ansible/awx/issues/4680
## 13.0.0 (Jun 23, 2020)
- Added import and export commands to the official AWX CLI, replacing send and receive from the old tower-cli (https://github.com/ansible/awx/pull/6125).
- Removed scripts as a means of running inventory updates of built-in types (https://github.com/ansible/awx/pull/6911)
- Ansible 2.8 is now partially unsupported; some inventory source types are known to no longer work.
- Fixed an issue where the vmware inventory source ssl_verify source variable was not recognized (https://github.com/ansible/awx/pull/7360)
- Fixed a bug that caused redis' listen socket to have too-permissive file permissions (https://github.com/ansible/awx/pull/7317)
- Fixed a bug that caused rsyslogd's configuration file to have world-readable file permissions, potentially leaking secrets (CVE-2020-10782)
## 12.0.0 (Jun 9, 2020)
- Removed memcached as a dependency of AWX (https://github.com/ansible/awx/pull/7240)
- Removed memcached as a dependency of AWX (https://github.com/ansible/awx/pull/7240)
- Moved to a single container image build instead of separate awx_web and awx_task images. The container image is just `awx` (https://github.com/ansible/awx/pull/7228)
- Official AWX container image builds now use a two-stage container build process that notably reduces the size of our published images (https://github.com/ansible/awx/pull/7017)
- Removed support for HipChat notifications ([EoL announcement](https://www.atlassian.com/partnerships/slack/faq#faq-98b17ca3-247f-423b-9a78-70a91681eff0)); all previously-created HipChat notification templates will be deleted due to this removal.
- Fixed a bug which broke AWX installations with oc version 4.3 (https://github.com/ansible/awx/pull/6948/files)
- Fixed a bug which broke AWX installations with oc version 4.3 (https://github.com/ansible/awx/pull/6948/)
- Fixed a performance issue that caused notable delay of stdout processing for playbooks run against large numbers of hosts (https://github.com/ansible/awx/issues/6991)
- Fixed a bug that caused CyberArk AIM credential plugin looks to hang forever in some environments (https://github.com/ansible/awx/issues/6986)
- Fixed a bug that caused ANY/ALL converage settings not to properly save when editing approval nodes in the UI (https://github.com/ansible/awx/issues/6998)

View File

@@ -2,34 +2,25 @@
Hi there! We're excited to have you as a contributor.
Have questions about this document or anything not covered here? Come chat with us at `#ansible-awx` on irc.freenode.net, or submit your question to the [mailing list](https://groups.google.com/forum/#!forum/awx-project).
Have questions about this document or anything not covered here? Come chat with us at `#ansible-awx` on irc.libera.chat, or submit your question to the [mailing list](https://groups.google.com/forum/#!forum/awx-project).
## Table of contents
* [Things to know prior to submitting code](#things-to-know-prior-to-submitting-code)
* [Setting up your development environment](#setting-up-your-development-environment)
* [Prerequisites](#prerequisites)
* [Docker](#docker)
* [Docker compose](#docker-compose)
* [Node and npm](#node-and-npm)
* [Build the environment](#build-the-environment)
* [Fork and clone the AWX repo](#fork-and-clone-the-awx-repo)
* [Create local settings](#create-local-settings)
* [Build the base image](#build-the-base-image)
* [Build the user interface](#build-the-user-interface)
* [Running the environment](#running-the-environment)
* [Start the containers](#start-the-containers)
* [Start from the container shell](#start-from-the-container-shell)
* [Post Build Steps](#post-build-steps)
* [Start a shell](#start-a-shell)
* [Create a superuser](#create-a-superuser)
* [Load the data](#load-the-data)
* [Building API Documentation](#build-api-documentation)
* [Accessing the AWX web interface](#accessing-the-awx-web-interface)
* [Purging containers and images](#purging-containers-and-images)
* [What should I work on?](#what-should-i-work-on)
* [Submitting Pull Requests](#submitting-pull-requests)
* [Reporting Issues](#reporting-issues)
- [Things to know prior to submitting code](#things-to-know-prior-to-submitting-code)
- [Setting up your development environment](#setting-up-your-development-environment)
- [Prerequisites](#prerequisites)
- [Docker](#docker)
- [Docker compose](#docker-compose)
- [Frontend Development](#frontend-development)
- [Build and Run the Development Environment](#build-and-run-the-development-environment)
- [Fork and clone the AWX repo](#fork-and-clone-the-awx-repo)
- [Building API Documentation](#building-api-documentation)
- [Accessing the AWX web interface](#accessing-the-awx-web-interface)
- [Purging containers and images](#purging-containers-and-images)
- [What should I work on?](#what-should-i-work-on)
- [Submitting Pull Requests](#submitting-pull-requests)
- [PR Checks run by Zuul](#pr-checks-run-by-zuul)
- [Reporting Issues](#reporting-issues)
## Things to know prior to submitting code
@@ -37,12 +28,12 @@ Have questions about this document or anything not covered here? Come chat with
- You must use `git commit --signoff` for any commit to be merged, and agree that usage of --signoff constitutes agreement with the terms of [DCO 1.1](./DCO_1_1.md).
- Take care to make sure no merge commits are in the submission, and use `git rebase` vs `git merge` for this reason.
- If collaborating with someone else on the same branch, consider using `--force-with-lease` instead of `--force`. This will prevent you from accidentally overwriting commits pushed by someone else. For more information, see https://git-scm.com/docs/git-push#git-push---force-with-leaseltrefnamegt
- If submitting a large code change, it's a good idea to join the `#ansible-awx` channel on irc.freenode.net, and talk about what you would like to do or add first. This not only helps everyone know what's going on, it also helps save time and effort, if the community decides some changes are needed.
- If submitting a large code change, it's a good idea to join the `#ansible-awx` channel on irc.libera.chat, and talk about what you would like to do or add first. This not only helps everyone know what's going on, it also helps save time and effort, if the community decides some changes are needed.
- We ask all of our community members and contributors to adhere to the [Ansible code of conduct](http://docs.ansible.com/ansible/latest/community/code_of_conduct.html). If you have questions, or need assistance, please reach out to our community team at [codeofconduct@ansible.com](mailto:codeofconduct@ansible.com)
## Setting up your development environment
The AWX development environment workflow and toolchain is based on Docker, and the docker-compose tool, to provide dependencies, services, and databases necessary to run all of the components. It also binds the local source tree into the development container, making it possible to observe and test changes in real time.
The AWX development environment workflow and toolchain uses Docker and the docker-compose tool, to provide dependencies, services, and databases necessary to run all of the components. It also bind-mounts the local source tree into the development container, making it possible to observe and test changes in real time.
### Prerequisites
@@ -55,228 +46,47 @@ respectively.
For Linux platforms, refer to the following from Docker:
**Fedora**
- **Fedora** - https://docs.docker.com/engine/installation/linux/docker-ce/fedora/
> https://docs.docker.com/engine/installation/linux/docker-ce/fedora/
- **CentOS** - https://docs.docker.com/engine/installation/linux/docker-ce/centos/
**CentOS**
- **Ubuntu** - https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/
> https://docs.docker.com/engine/installation/linux/docker-ce/centos/
- **Debian** - https://docs.docker.com/engine/installation/linux/docker-ce/debian/
**Ubuntu**
- **Arch** - https://wiki.archlinux.org/index.php/Docker
> https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/
#### Docker Compose
**Debian**
> https://docs.docker.com/engine/installation/linux/docker-ce/debian/
**Arch**
> https://wiki.archlinux.org/index.php/Docker
#### Docker compose
If you're not using Docker for Mac, or Docker for Windows, you may need, or choose to, install the Docker compose Python module separately, in which case you'll need to run the following:
If you're not using Docker for Mac, or Docker for Windows, you may need, or choose to, install the `docker-compose` Python module separately.
```bash
(host)$ pip install docker-compose
(host)$ pip3 install docker-compose
```
#### Frontend Development
See [the ui development documentation](awx/ui/README.md).
### Build the environment
See [the ui development documentation](awx/ui/CONTRIBUTING.md).
#### Fork and clone the AWX repo
If you have not done so already, you'll need to fork the AWX repo on GitHub. For more on how to do this, see [Fork a Repo](https://help.github.com/articles/fork-a-repo/).
#### Create local settings
### Build and Run the Development Environment
AWX will import the file `awx/settings/local_settings.py` and combine it with defaults in `awx/settings/defaults.py`. This file is required for starting the development environment and startup will fail if it's not provided.
See the [README.md](./tools/docker-compose/README.md) for docs on how to build the awx_devel image and run the development environment.
An example is provided. Make a copy of it, and edit as needed (the defaults are usually fine):
```bash
(host)$ cp awx/settings/local_settings.py.docker_compose awx/settings/local_settings.py
```
#### Build the base image
The AWX base container image (defined in `tools/docker-compose/Dockerfile`) contains basic OS dependencies and symbolic links into the development environment that make running the services easy.
Run the following to build the image:
```bash
(host)$ make docker-compose-build
```
**NOTE**
> The image will need to be rebuilt, if the Python requirements or OS dependencies change.
Once the build completes, you will have a `ansible/awx_devel` image in your local image cache. Use the `docker images` command to view it, as follows:
```bash
(host)$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ansible/awx_devel latest ba9ec3e8df74 26 minutes ago 1.42GB
```
#### Build the user interface
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
Start the development containers by running the following:
```bash
(host)$ make docker-compose
```
The above utilizes the image built in the previous step, and will automatically start all required services and dependent containers. Once the containers launch, your session will be attached to the *awx* container, and you'll be able to watch log messages and events in real time. You will see messages from Django and the front end build process.
If you start a second terminal session, you can take a look at the running containers using the `docker ps` command. For example:
```bash
# List running containers
(host)$ docker ps
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
44251b476f98 gcr.io/ansible-tower-engineering/awx_devel:devel "/entrypoint.sh /bin…" 27 seconds ago Up 23 seconds 0.0.0.0:6899->6899/tcp, 0.0.0.0:7899-7999->7899-7999/tcp, 0.0.0.0:8013->8013/tcp, 0.0.0.0:8043->8043/tcp, 0.0.0.0:8080->8080/tcp, 22/tcp, 0.0.0.0:8888->8888/tcp tools_awx_run_9e820694d57e
40de380e3c2e redis:latest "docker-entrypoint.s…" 28 seconds ago Up 26 seconds
b66a506d3007 postgres:10 "docker-entrypoint.s…" 28 seconds ago Up 26 seconds 0.0.0.0:5432->5432/tcp tools_postgres_1
```
**NOTE**
> The Makefile assumes that the image you built is tagged with your current branch. This allows you to build images for different contexts or branches. When starting the containers, you can choose a specific branch by setting `COMPOSE_TAG=<branch name>` in your environment.
> For example, you might be working in a feature branch, but you want to run the containers using the `devel` image you built previously. To do that, start the containers using the following command: `$ COMPOSE_TAG=devel make docker-compose`
##### Wait for migrations to complete
The first time you start the environment, database migrations need to run in order to build the PostgreSQL database. It will take few moments, but eventually you will see output in your terminal session that looks like the following:
```bash
awx_1 | Operations to perform:
awx_1 | Synchronize unmigrated apps: solo, api, staticfiles, debug_toolbar, messages, channels, django_extensions, ui, rest_framework, polymorphic
awx_1 | Apply all migrations: sso, taggit, sessions, sites, kombu_transport_django, social_auth, contenttypes, auth, conf, main
awx_1 | Synchronizing apps without migrations:
awx_1 | Creating tables...
awx_1 | Running deferred SQL...
awx_1 | Installing custom SQL...
awx_1 | Running migrations:
awx_1 | Rendering model states... DONE
awx_1 | Applying contenttypes.0001_initial... OK
awx_1 | Applying contenttypes.0002_remove_content_type_name... OK
awx_1 | Applying auth.0001_initial... OK
awx_1 | Applying auth.0002_alter_permission_name_max_length... OK
awx_1 | Applying auth.0003_alter_user_email_max_length... OK
awx_1 | Applying auth.0004_alter_user_username_opts... OK
awx_1 | Applying auth.0005_alter_user_last_login_null... OK
awx_1 | Applying auth.0006_require_contenttypes_0002... OK
awx_1 | Applying taggit.0001_initial... OK
awx_1 | Applying taggit.0002_auto_20150616_2121... OK
awx_1 | Applying main.0001_initial... OK
awx_1 | Applying main.0002_squashed_v300_release... OK
awx_1 | Applying main.0003_squashed_v300_v303_updates... OK
awx_1 | Applying main.0004_squashed_v310_release... OK
awx_1 | Applying conf.0001_initial... OK
awx_1 | Applying conf.0002_v310_copy_tower_settings... OK
...
```
Once migrations are completed, you can begin using AWX.
#### Start from the container shell
Often times you'll want to start the development environment without immediately starting all of the services in the *awx* container, and instead be taken directly to a shell. You can do this with the following:
```bash
(host)$ make docker-compose-test
```
Using `docker exec`, this will create a session in the running *awx* container, and place you at a command prompt, where you can run shell commands inside the container.
If you want to start and use the development environment, you'll first need to bootstrap it by running the following command:
```bash
(container)# /usr/bin/bootstrap_development.sh
```
The above will do all the setup tasks, including running database migrations, so it may take a couple minutes. Once it's done it
will drop you back to the shell.
In order to launch all developer services:
```bash
(container)# /usr/bin/launch_awx.sh
```
`launch_awx.sh` also calls `bootstrap_development.sh` so if all you are doing is launching the supervisor to start all services, you don't
need to call `bootstrap_development.sh` first.
### Post Build Steps
Before you can log in and use the system, you will need to create an admin user. Optionally, you may also want to load some demo data.
##### Start a shell
To create the admin user, and load demo data, you first need to start a shell session on the *awx* container. In a new terminal session, use the `docker exec` command as follows to start the shell session:
```bash
(host)$ docker exec -it tools_awx_1 bash
```
This creates a session in the *awx* containers, just as if you were using `ssh`, and allows you execute commands within the running container.
##### Create an admin user
Before you can log into AWX, you need to create an admin user. With this user you will be able to create more users, and begin configuring the server. From within the container shell, run the following command:
```bash
(container)# awx-manage createsuperuser
```
You will be prompted for a username, an email address, and a password, and you will be asked to confirm the password. The email address is not important, so just enter something that looks like an email address. Remember the username and password, as you will use them to log into the web interface for the first time.
##### Load demo data
You can optionally load some demo data. This will create a demo project, inventory, and job template. From within the container shell, run the following to load the data:
```bash
(container)# awx-manage create_preload_data
```
**NOTE**
> This information will persist in the database running in the `tools_postgres_1` container, until the container is removed. You may periodically need to recreate
this container, and thus the database, if the database schema changes in an upstream commit.
##### Building API Documentation
### Building API Documentation
AWX includes support for building [Swagger/OpenAPI
documentation](https://swagger.io). To build the documentation locally, run:
documentation](https://swagger.io). To build the documentation locally, run:
```bash
(container)/awx_devel$ make swagger
```
This will write a file named `swagger.json` that contains the API specification
in OpenAPI format. A variety of online tools are available for translating
in OpenAPI format. A variety of online tools are available for translating
this data into more consumable formats (such as HTML). http://editor.swagger.io
is an example of one such service.
@@ -284,7 +94,7 @@ is an example of one such service.
You can now log into the AWX web interface at [https://localhost:8043](https://localhost:8043), and access the API directly at [https://localhost:8043/api/](https://localhost:8043/api/).
To log in use the admin user and password you created above in [Create an admin user](#create-an-admin-user).
[Create an admin user](./tools/docker-compose/README.md#create-an-admin-user) if needed.
### Purging containers and images
@@ -304,7 +114,7 @@ Fixing bugs, adding translations, and updating the documentation are always appr
**NOTE**
> If you work in a part of the codebase that is going through active development, your changes may be rejected, or you may be asked to `rebase`. A good idea before starting work is to have a discussion with us in the `#ansible-awx` channel on irc.freenode.net, or on the [mailing list](https://groups.google.com/forum/#!forum/awx-project).
> If you work in a part of the codebase that is going through active development, your changes may be rejected, or you may be asked to `rebase`. A good idea before starting work is to have a discussion with us in the `#ansible-awx` channel on irc.libera.chat, or on the [mailing list](https://groups.google.com/forum/#!forum/awx-project).
**NOTE**
@@ -316,17 +126,17 @@ Fixes and Features for AWX will go through the Github pull request process. Subm
Here are a few things you can do to help the visibility of your change, and increase the likelihood that it will be accepted:
* No issues when running linters/code checkers
* Python: flake8: `(container)/awx_devel$ make flake8`
* Javascript: JsHint: `(container)/awx_devel$ make jshint`
* No issues from unit tests
* Python: py.test: `(container)/awx_devel$ make test`
* JavaScript: Jasmine: `(container)/awx_devel$ make ui-test-ci`
* Write tests for new functionality, update/add tests for bug fixes
* Make the smallest change possible
* Write good commit messages. See [How to write a Git commit message](https://chris.beams.io/posts/git-commit/).
- No issues when running linters/code checkers
- Python: black: `(container)/awx_devel$ make black`
- Javascript: `(container)/awx_devel$ make ui-lint`
- No issues from unit tests
- Python: py.test: `(container)/awx_devel$ make test`
- JavaScript: `(container)/awx_devel$ make ui-test`
- Write tests for new functionality, update/add tests for bug fixes
- Make the smallest change possible
- Write good commit messages. See [How to write a Git commit message](https://chris.beams.io/posts/git-commit/).
It's generally a good idea to discuss features with us first by engaging us in the `#ansible-awx` channel on irc.freenode.net, or on the [mailing list](https://groups.google.com/forum/#!forum/awx-project).
It's generally a good idea to discuss features with us first by engaging us in the `#ansible-awx` channel on irc.libera.chat, or on the [mailing list](https://groups.google.com/forum/#!forum/awx-project).
We like to keep our commit history clean, and will require resubmission of pull requests that contain merge commits. Use `git pull --rebase`, rather than
`git pull`, and `git rebase`, rather than `git merge`.
@@ -335,22 +145,25 @@ Sometimes it might take us a while to fully review your PR. We try to keep the `
All submitted PRs will have the linter and unit tests run against them via Zuul, and the status reported in the PR.
## PR Checks ran by Zuul
## PR Checks run by Zuul
Zuul jobs for awx are defined in the [zuul-jobs](https://github.com/ansible/zuul-jobs) repo.
Zuul runs the following checks that must pass:
1) `tox-awx-api-lint`
2) `tox-awx-ui-lint`
3) `tox-awx-api`
4) `tox-awx-ui`
5) `tox-awx-swagger`
1. `tox-awx-api-lint`
2. `tox-awx-ui-lint`
3. `tox-awx-api`
4. `tox-awx-ui`
5. `tox-awx-swagger`
Zuul runs the following checks that are non-voting (can not pass but serve to inform PR reviewers):
1) `tox-awx-detect-schema-change`
This check generates the schema and diffs it against a reference copy of the `devel` version of the schema.
Reviewers should inspect the `job-output.txt.gz` related to the check if their is a failure (grep for `diff -u -b` to find beginning of diff).
If the schema change is expected and makes sense in relation to the changes made by the PR, then you are good to go!
If not, the schema changes should be fixed, but this decision must be enforced by reviewers.
1. `tox-awx-detect-schema-change`
This check generates the schema and diffs it against a reference copy of the `devel` version of the schema.
Reviewers should inspect the `job-output.txt.gz` related to the check if their is a failure (grep for `diff -u -b` to find beginning of diff).
If the schema change is expected and makes sense in relation to the changes made by the PR, then you are good to go!
If not, the schema changes should be fixed, but this decision must be enforced by reviewers.
## Reporting Issues

View File

@@ -1,640 +1,24 @@
Table of Contents
=================
* [Installing AWX](#installing-awx)
* [The AWX Operator](#the-awx-operator)
* [Installing the AWX CLI](#installing-the-awx-cli)
* [Building the CLI Documentation](#building-the-cli-documentation)
# Installing AWX
This document provides a guide for installing AWX.
:warning: NOTE |
--- |
If you're installing an older release of AWX (prior to 18.0), these instructions have changed. Take a look at your version specific instructions, e.g., for AWX 17.0.1, see: [https://github.com/ansible/awx/blob/17.0.1/INSTALL.md](https://github.com/ansible/awx/blob/17.0.1/INSTALL.md)
If you're attempting to migrate an older Docker-based AWX installation, see: [Migrating Data from Local Docker](https://github.com/ansible/awx/blob/devel/tools/docker-compose/docs/data_migration.md) |
## Table of contents
## The AWX Operator
- [Installing AWX](#installing-awx)
* [Getting started](#getting-started)
+ [Clone the repo](#clone-the-repo)
+ [AWX branding](#awx-branding)
+ [Prerequisites](#prerequisites)
+ [System Requirements](#system-requirements)
+ [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)
- [Proxy settings](#proxy-settings)
- [PostgreSQL](#postgresql-1)
+ [Run the installer](#run-the-installer-2)
+ [Post-install](#post-install-2)
+ [Accessing AWX](#accessing-awx-2)
- [Installing the AWX CLI](#installing-the-awx-cli)
* [Building the CLI Documentation](#building-the-cli-documentation)
## Getting started
### Clone the repo
If you have not already done so, you will need to clone, or create a local copy, of the [AWX repo](https://github.com/ansible/awx). We generally recommend that you view the releases page:
https://github.com/ansible/awx/releases
...and clone the latest stable release, e.g.,
`git clone -b x.y.z https://github.com/ansible/awx.git`
Please note that deploying from `HEAD` (or the latest commit) is **not** stable, and that if you want to do this, you should proceed at your own risk (also, see the section #official-vs-building-images for building your own image).
For more on how to clone the repo, view [git clone help](https://git-scm.com/docs/git-clone).
Once you have a local copy, run commands within the root of the project tree.
### AWX branding
You can optionally install the AWX branding assets from the [awx-logos repo](https://github.com/ansible/awx-logos). Prior to installing, please review and agree to the [trademark guidelines](https://github.com/ansible/awx-logos/blob/master/TRADEMARKS.md).
To install the assets, clone the `awx-logos` repo so that it is next to your `awx` clone. As you progress through the installation steps, you'll be setting variables in the [inventory](./installer/inventory) file. To include the assets in the build, set `awx_official=true`.
### Prerequisites
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.8+
- [Docker](https://docs.docker.com/engine/installation/)
+ 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+
- Python 3.6+
- [Node 10.x LTS version](https://nodejs.org/en/download/)
+ This is only required if you're [building your own container images](#official-vs-building-images) with `use_container_for_build=false`
- [NPM 6.x LTS](https://docs.npmjs.com/)
+ This is only required if you're [building your own container images](#official-vs-building-images) with `use_container_for_build=false`
### System Requirements
The system that runs the AWX service will need to satisfy the following requirements
- 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 10+.
### Choose a deployment 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 Compose](#docker-compose).
### Official vs Building Images
When installing AWX you have the option of building your own image or using the image provided on DockerHub (see [awx](https://hub.docker.com/r/ansible/awx/))
This is controlled by the following variables in the `inventory` file
```
dockerhub_base=ansible
dockerhub_version=latest
```
If these variables are present then all deployments will use these hosted images. If the variables are not present then the images will be built during the install.
*dockerhub_base*
> The base location on DockerHub where the images are hosted (by default this pulls a container image named `ansible/awx:tag`)
*dockerhub_version*
> 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
*use_container_for_build*
> Use a local distribution build container image for building the AWX package. This is helpful if you don't want to bother installing the build-time dependencies as it is taken care of already.
## 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'
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 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:
> Memory: 6GB
> CPU: 3 cores
This can be tuned by overriding the variables found in [/installer/roles/kubernetes/defaults/main.yml](/installer/roles/kubernetes/defaults/main.yml). Special care should be taken when doing this as undersized instances will experience crashes and resource exhaustion.
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-install steps
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*
> IP address or hostname of the OpenShift cluster. If you're using Minishift, this will be the value returned by `minishift ip`.
*openshift_skip_tls_verify*
> Boolean. Set to True if using self-signed certs.
*openshift_project*
> Name of the OpenShift project that will be created, and used as the namespace for the AWX app. Defaults to *awx*.
*openshift_user*
> Username of the OpenShift user that will create the project, and deploy the application. Defaults to *developer*.
*openshift_pg_emptydir*
> Boolean. Set to True to use an emptyDir volume when deploying the PostgreSQL pod. Note: This should only be used for demo and testing purposes.
*docker_registry*
> IP address and port, or URL, for accessing a registry that the OpenShift cluster can access. Defaults to *172.30.1.1:5000*, the internal registry delivered with Minishift. This is not needed if you are using official hosted images.
*docker_registry_repository*
> Namespace to use when pushing and pulling images to and from the registry. Generally this will match the project name. It defaults to *awx*. This is not needed if you are using official hosted images.
*docker_registry_username*
> Username of the user that will push images to the registry. Will generally match the *openshift_user* value. Defaults to *developer*. This is not needed if you are using official hosted images.
#### Deploying to Minishift
Install Minishift by following the [installation guide](https://docs.openshift.org/latest/minishift/getting-started/installing.html).
The recommended minimum resources for your Minishift VM:
```bash
$ minishift start --cpus=4 --memory=8GB
```
The Minishift VM contains a Docker daemon, which you can use to build the AWX images. This is generally the approach you should take, and we recommend doing so. To use this instance, run the following command to setup your environment:
```bash
# Set DOCKER environment variable to point to the Minishift VM
$ eval $(minishift docker-env)
```
**Note**
> If you choose to not use the Docker instance running inside the VM, and build the images externally, you will have to enable the OpenShift cluster to access the images. This involves pushing the images to an external Docker registry, and granting the cluster access to it, or exposing the internal registry, and pushing the images into it.
#### PostgreSQL
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_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.
### Run the installer
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`.
Run the following command (docker_registry_password is optional if using official images):
```bash
# Start the install
$ ansible-playbook -i inventory install.yml -e openshift_password=developer -e docker_registry_password=$(oc whoami -t)
```
### Post-install
After the playbook run completes, check the status of the deployment by running `oc get pods`:
```bash
# View the running pods
$ oc get pods
NAME READY STATUS RESTARTS AGE
awx-3886581826-5mv0l 4/4 Running 0 8s
postgresql-1-l85fh 1/1 Running 0 20m
```
In the above example, the name of the AWX pod is `awx-3886581826-5mv0l`. Before accessing the AWX web interface, setup tasks and database migrations need to complete. These tasks are running in the `awx_task` container inside the AWX pod. To monitor their status, tail the container's STDOUT by running the following command, replacing the AWX pod name with the pod name from your environment:
```bash
# Follow the awx_task log output
$ oc logs -f awx-3886581826-5mv0l -c awx-celery
```
You will see the following indicating that database migrations are running:
```bash
Using /etc/ansible/ansible.cfg as config file
127.0.0.1 | SUCCESS => {
"changed": false,
"db": "awx"
}
Operations to perform:
Synchronize unmigrated apps: solo, api, staticfiles, messages, channels, django_extensions, ui, rest_framework, polymorphic
Apply all migrations: sso, taggit, sessions, sites, kombu_transport_django, social_auth, contenttypes, auth, conf, main
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0001_initial... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying taggit.0001_initial... OK
Applying taggit.0002_auto_20150616_2121... OK
...
```
When you see output similar to the following, you'll know that database migrations have completed, and you can access the web interface:
```bash
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> <User: admin>
>>> Default organization added.
Demo Credential, Inventory, and Job Template added.
Successfully registered instance awx-3886581826-5mv0l
(changed: True)
Creating instance group tower
Added instance awx-3886581826-5mv0l to tower
```
Once database migrations complete, the web interface will be accessible.
### Accessing AWX
The AWX web interface is running in the AWX pod, behind the `awx-web-svc` service. To view the service, and its port value, run the following command:
```bash
# View available services
$ oc get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
awx-web-svc 172.30.111.74 <nodes> 8052:30083/TCP 37m
postgresql 172.30.102.9 <none> 5432/TCP 38m
```
The deployment process creates a route, `awx-web-svc`, to expose the service. How the ingres is actually created will vary depending on your environment, and how the cluster is configured. You can view the route, and the external IP address and hostname assigned to it, by running the following command:
```bash
# View available routes
$ oc get routes
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
awx-web-svc awx-web-svc-awx.192.168.64.2.nip.io awx-web-svc http edge/Allow None
```
The above example is taken from a Minishift instance. From a web browser, use `https` to access the `HOST/PORT` value from your environment. Using the above example, the URL to access the server would be [https://awx-web-svc-awx.192.168.64.2.nip.io](https://awx-web-svc-awx.192.168.64.2.nip.io).
Once you access the AWX server, you will be prompted with a login dialog. The default administrator username is `admin`, and the password is `password`.
## Kubernetes
### Prerequisites
A Kubernetes deployment will require you to have access to a Kubernetes cluster as well as the following tools:
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
- [helm](https://docs.helm.sh/using_helm/#quickstart-guide)
The installation program will reference `kubectl` directly. `helm` is only necessary if you are letting the installer configure PostgreSQL for you.
The default resource requests per-pod requires:
> Memory: 6GB
> CPU: 3 cores
This can be tuned by overriding the variables found in [/installer/roles/kubernetes/defaults/main.yml](/installer/roles/kubernetes/defaults/main.yml). Special care should be taken when doing this as undersized instances will experience crashes and resource exhaustion.
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-install steps
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*
> Prior to running the installer, make sure you've configured the context for the cluster you'll be installing to. This is how the installer knows which cluster to connect to and what authentication to use
*kubernetes_namespace*
> Name of the Kubernetes namespace where the AWX resources will be installed. This will be created if it doesn't exist
*docker_registry_*
> These settings should be used if building your own base images. You'll need access to an external registry and are responsible for making sure your kube cluster can talk to it and use it. If these are undefined and the dockerhub_ configuration settings are uncommented then the images will be pulled from dockerhub instead
### Configuring Helm
If you want the AWX installer to manage creating the database pod (rather than installing and configuring postgres on your own). Then you will need to have a working `helm` installation, you can find details here: [https://docs.helm.sh/using_helm/#quickstart-guide](https://docs.helm.sh/using_helm/#quickstart-guide).
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)
### Run the installer
After making changes to the `inventory` file use `ansible-playbook` to begin the install
```bash
$ ansible-playbook -i inventory install.yml
```
### 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):
```bash
# View the running pods, it may take a few minutes for everything to be marked in the Running state
$ kubectl get pods --namespace awx
NAME READY STATUS RESTARTS AGE
awx-2558692395-2r8ss 4/4 Running 0 29s
awx-postgresql-355348841-kltkn 1/1 Running 0 1m
```
### Accessing AWX
The AWX web interface is running in the AWX pod behind the `awx-web-svc` service:
```bash
# View available services
$ kubectl get svc --namespace awx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
awx-postgresql ClusterIP 10.7.250.208 <none> 5432/TCP 2m
awx-web-svc NodePort 10.7.241.35 <none> 80:30177/TCP 1m
```
The deployment process creates an `Ingress` named `awx-web-svc` also. Some kubernetes cloud providers will automatically handle routing configuration when an Ingress is created others may require that you more explicitly configure it. You can see what kubernetes knows about things with:
```bash
kubectl get ing --namespace awx
NAME HOSTS ADDRESS PORTS AGE
awx-web-svc * 35.227.x.y 80 3m
```
If your provider is able to allocate an IP Address from the Ingress controller then you can navigate to the address and access the AWX interface. For some providers it can take a few minutes to allocate and make this accessible. For other providers it may require you to manually intervene.
### SSL Termination
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-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-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/).
### Pre-install steps
#### Deploying to a remote host
By default, the delivered [installer/inventory](./installer/inventory) file will deploy AWX to the local host. It is possible, however, to deploy to a remote host. The [installer/install.yml](./installer/install.yml) playbook can be used to build images on the local host, and ship the built images to, and run deployment tasks on, a remote host. To do this, modify the [installer/inventory](./installer/inventory) file, by commenting out `localhost`, and adding the remote host.
For example, suppose you wish to build images locally on your CI/CD host, and deploy them to a remote host named *awx-server*. To do this, add *awx-server* to the [installer/inventory](./installer/inventory) file, and comment out or remove `localhost`, as demonstrated by the following:
```yaml
# localhost ansible_connection=local
awx-server
[all:vars]
...
```
In the above example, image build tasks will be delegated to `localhost`, which is typically where the clone of the AWX project exists. Built images will be archived, copied to remote host, and imported into the remote Docker image cache. Tasks to start the AWX containers will then execute on the remote host.
If you choose to use the official images then the remote host will be the one to pull those images.
**Note**
> You may also want to set additional variables to control how Ansible connects to the host. For more information about this, view [Behavioral Inventory Parameters](http://docs.ansible.com/ansible/latest/intro_inventory.html#id12).
> As mentioned above, in [Prerequisites](#prerequisites-1), the prerequisites are required on the remote host.
> When deploying to a remote host, the playbook does not execute tasks with the `become` option. For this reason, make sure the user that connects to the remote host has privileges to run the `docker` command. This typically means that non-privileged users need to be part of the `docker` group.
#### Inventory variables
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*
> If you're using the default PostgreSQL container (see [PostgreSQL](#postgresql-1) below), provide a path that can be mounted to the container, and where the database can be persisted.
*host_port*
> Provide a port number that can be mapped from the Docker daemon host to the web server running inside the AWX container. If undefined no port will be exposed. Defaults to *80*.
*host_port_ssl*
> 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. If undefined no port will be exposed. 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. This needs to be a .pem-file
*docker_compose_dir*
> 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*
> If you're using a non trusted CA, provide a path where the untrusted Certs are stored on your Host.
#### Docker registry
If you wish to tag and push built images to a Docker registry, set the following variables in the inventory file:
*docker_registry*
> IP address and port, or URL, for accessing a registry.
*docker_registry_repository*
> Namespace to use when pushing and pulling images to and from the registry. Defaults to *awx*.
*docker_registry_username*
> Username of the user that will push images to the registry. Defaults to *developer*.
**Note**
> These settings are ignored if using official images
#### Proxy settings
*http_proxy*
> IP address and port, or URL, for using an http_proxy.
*https_proxy*
> IP address and port, or URL, for using an https_proxy.
*no_proxy*
> Exclude IP address or URL from the proxy.
#### PostgreSQL
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_admin_password`, `pg_database`, and `pg_port` with the connection information.
### Run the installer
If you are not pushing images to a Docker registry, start the install by running the following:
```bash
# Set the working directory to installer
$ cd installer
# Run the Ansible playbook
$ ansible-playbook -i inventory install.yml
```
If you're pushing built images to a repository, then use the `-e` option to pass the registry password as follows, replacing *password* with the password of the username assigned to `docker_registry_username` (note that you will also need to remove `dockerhub_base` and `dockerhub_version` from the inventory file):
```bash
# Set the working directory to installer
$ cd installer
# Run the Ansible playbook
$ ansible-playbook -i inventory -e docker_registry_password=password install.yml
```
### Post-install
After the playbook run completes, Docker starts a series of containers that provide the services that make up AWX. You can view the running containers using the `docker ps` command.
If you're deploying using Docker Compose, container names will be prefixed by the name of the folder where the docker-compose.yml file is created (by default, `awx`).
Immediately after the containers start, the *awx_task* container will perform required setup tasks, including database migrations. These tasks need to complete before the web interface can be accessed. To monitor the progress, you can follow the container's STDOUT by running the following:
```bash
# Tail the the awx_task log
$ docker logs -f awx_task
```
You will see output similar to the following:
```bash
Using /etc/ansible/ansible.cfg as config file
127.0.0.1 | SUCCESS => {
"changed": false,
"db": "awx"
}
Operations to perform:
Synchronize unmigrated apps: solo, api, staticfiles, messages, channels, django_extensions, ui, rest_framework, polymorphic
Apply all migrations: sso, taggit, sessions, sites, kombu_transport_django, social_auth, contenttypes, auth, conf, main
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0001_initial... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying taggit.0001_initial... OK
Applying taggit.0002_auto_20150616_2121... OK
Applying main.0001_initial... OK
...
```
Once migrations complete, you will see the following log output, indicating that migrations have completed:
```bash
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> <User: admin>
>>> Default organization added.
Demo Credential, Inventory, and Job Template added.
Successfully registered instance awx
(changed: True)
Creating instance group tower
Added instance awx to tower
(changed: True)
...
```
### Accessing AWX
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`.
Starting in version 18.0, the [AWX Operator](https://github.com/ansible/awx-operator) is the preferred way to install AWX. Please refer to the [AWX Operator](https://github.com/ansible/awx-operator) documentation.
AWX can also alternatively be installed and [run in Docker](./tools/docker-compose/README.md), but this install path is only recommended for development/test-oriented deployments, and has no official published release.
# Installing the AWX CLI
@@ -651,17 +35,16 @@ Potential uses include:
* Checking on the status and output of job runs
* Managing objects like organizations, users, teams, etc...
The preferred way to install the AWX CLI is through pip directly from GitHub:
The preferred way to install the AWX CLI is through pip directly from PyPI:
pip install "https://github.com/ansible/awx/archive/$VERSION.tar.gz#egg=awxkit&subdirectory=awxkit"
pip3 install awxkit
awx --help
...where ``$VERSION`` is the version of AWX you're running. To see a list of all available releases, visit: https://github.com/ansible/awx/releases
## Building the CLI Documentation
To build the docs, spin up a real AWX server, `pip install sphinx sphinxcontrib-autoprogram`, and run:
To build the docs, spin up a real AWX server, `pip3 install sphinx sphinxcontrib-autoprogram`, and run:
~ cd awxkit/awxkit/cli/docs
~ TOWER_HOST=https://awx.example.org TOWER_USERNAME=example TOWER_PASSWORD=secret make clean html
~ cd build/html/ && python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ..

View File

@@ -5,7 +5,7 @@
Use the GitHub [issue tracker](https://github.com/ansible/awx/issues) for filing bugs. In order to save time, and help us respond to issues quickly, make sure to fill out as much of the issue template
as possible. Version information, and an accurate reproducing scenario are critical to helping us identify the problem.
Please don't use the issue tracker as a way to ask how to do something. Instead, use the [mailing list](https://groups.google.com/forum/#!forum/awx-project) , and the `#ansible-awx` channel on irc.freenode.net to get help.
Please don't use the issue tracker as a way to ask how to do something. Instead, use the [mailing list](https://groups.google.com/forum/#!forum/awx-project) , and the `#ansible-awx` channel on irc.libera.chat to get help.
Before opening a new issue, please use the issue search feature to see if what you're experiencing has already been reported. If you have any extra detail to provide, please comment. Otherwise, rather than posting a "me too" comment, please consider giving it a ["thumbs up"](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comment) to give us an indication of the severity of the problem.
@@ -31,7 +31,7 @@ If your issue isn't considered high priority, then please be patient as it may t
`state:needs_info` The issue needs more information. This could be more debug output, more specifics out the system such as version information. Any detail that is currently preventing this issue from moving forward. This should be considered a blocked state.
`state:needs_review` The the issue/pull request needs to be reviewed by other maintainers and contributors. This is usually used when there is a question out to another maintainer or when a person is less familar with an area of the code base the issue is for.
`state:needs_review` The issue/pull request needs to be reviewed by other maintainers and contributors. This is usually used when there is a question out to another maintainer or when a person is less familar with an area of the code base the issue is for.
`state:needs_revision` More commonly used on pull requests, this state represents that there are changes that are being waited on.

View File

@@ -4,8 +4,8 @@ recursive-include awx *.mo
recursive-include awx/static *
recursive-include awx/templates *.html
recursive-include awx/api/templates *.md *.html
recursive-include awx/ui/templates *.html
recursive-include awx/ui/static *
recursive-include awx/ui/build *.html
recursive-include awx/ui/build *
recursive-include awx/playbooks *.yml
recursive-include awx/lib/site-packages *
recursive-include awx/plugins *.ps1
@@ -20,7 +20,7 @@ recursive-exclude awx/ui/client *
recursive-exclude awx/settings local_settings.py*
include tools/scripts/request_tower_configuration.sh
include tools/scripts/request_tower_configuration.ps1
include tools/scripts/ansible-tower-service
include tools/scripts/automation-controller-service
include tools/scripts/failure-event-handler
include tools/scripts/awx-python
include awx/playbooks/library/mkfifo.py

467
Makefile
View File

@@ -1,4 +1,4 @@
PYTHON ?= python3
PYTHON ?= python3.8
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
@@ -13,23 +13,24 @@ MANAGEMENT_COMMAND ?= awx-manage
IMAGE_REPOSITORY_AUTH ?=
IMAGE_REPOSITORY_BASE ?= https://gcr.io
VERSION := $(shell cat VERSION)
PYCURL_SSL_LIBRARY ?= openssl
# NOTE: This defaults the container image version to the branch that's active
COMPOSE_TAG ?= $(GIT_BRANCH)
COMPOSE_HOST ?= $(shell hostname)
VENV_BASE ?= /venv
VENV_BASE ?= /var/lib/awx/venv/
SCL_PREFIX ?=
CELERY_SCHEDULE_FILE ?= /var/lib/awx/beat.db
DEV_DOCKER_TAG_BASE ?= gcr.io/ansible-tower-engineering
DEV_DOCKER_TAG_BASE ?= quay.io/awx
DEVEL_IMAGE_NAME ?= $(DEV_DOCKER_TAG_BASE)/awx_devel:$(COMPOSE_TAG)
# Python packages to install only from source (not from binary wheels)
# Comma separated list
SRC_ONLY_PKGS ?= cffi,pycparser,psycopg2,twilio,pycurl
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
VENV_BOOTSTRAP ?= pip==19.3.1 setuptools==41.6.0 wheel==0.36.2
# Determine appropriate shasum command
UNAME_S := $(shell uname -s)
@@ -56,34 +57,15 @@ WHEEL_COMMAND ?= bdist_wheel
SDIST_TAR_FILE ?= $(SDIST_TAR_NAME).tar.gz
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 runserver \
develop refresh adduser migrate dbchange \
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-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)
dev_build release_build sdist \
ui-release ui-devel \
VERSION docker-compose-sources \
.git/hooks/pre-commit
clean-tmp:
rm -rf tmp/
@@ -101,7 +83,7 @@ clean-schema:
clean-languages:
rm -f $(I18N_FLAG_FILE)
find . -type f -regex ".*\.mo$$" -delete
find ./awx/locale/ -type f -regex ".*\.mo$" -delete
# Remove temporary build files, compiled Python files.
clean: clean-ui clean-api clean-awxkit clean-dist
@@ -132,31 +114,7 @@ guard-%:
exit 1; \
fi
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 -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
virtualenv: virtualenv_awx
# flit is needed for offline install of certain packages, specifically ptyprocess
# it is needed for setup, but not always recognized as a setup dependency
@@ -167,37 +125,11 @@ virtualenv_awx:
mkdir $(VENV_BASE); \
fi; \
if [ ! -d "$(VENV_BASE)/awx" ]; then \
virtualenv -p $(PYTHON) $(VENV_BASE)/awx; \
$(PYTHON) -m venv $(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 | PYCURL_SSL_LIBRARY=$(PYCURL_SSL_LIBRARY) $(VENV_BASE)/ansible/bin/pip install $(PIP_OPTIONS) -r /dev/stdin ; \
else \
cat requirements/requirements_ansible.txt requirements/requirements_ansible_git.txt | PYCURL_SSL_LIBRARY=$(PYCURL_SSL_LIBRARY) $(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 | PYCURL_SSL_LIBRARY=$(PYCURL_SSL_LIBRARY) $(VENV_BASE)/ansible/bin/pip3 install $(PIP_OPTIONS) -r /dev/stdin ; \
else \
cat requirements/requirements_ansible.txt requirements/requirements_ansible_git.txt | PYCURL_SSL_LIBRARY=$(PYCURL_SSL_LIBRARY) $(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
# Install third-party requirements needed for AWX's environment.
# this does not use system site packages intentionally
requirements_awx: virtualenv_awx
@@ -211,13 +143,9 @@ requirements_awx: virtualenv_awx
requirements_awx_dev:
$(VENV_BASE)/awx/bin/pip install -r requirements/requirements_dev.txt
requirements_collections:
mkdir -p $(COLLECTION_BASE)
ansible-galaxy collection install -r requirements/collections_requirements.yml -p $(COLLECTION_BASE)
requirements: requirements_awx
requirements: requirements_ansible requirements_awx requirements_collections
requirements_dev: requirements_awx requirements_ansible_py3 requirements_awx_dev requirements_ansible_dev
requirements_dev: requirements_awx requirements_awx_dev
requirements_test: requirements
@@ -236,7 +164,7 @@ version_file:
if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
python -c "import 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 := ,
@@ -245,12 +173,7 @@ init:
. $(VENV_BASE)/awx/bin/activate; \
fi; \
$(MANAGEMENT_COMMAND) provision_instance --hostname=$(COMPOSE_HOST); \
$(MANAGEMENT_COMMAND) register_queue --queuename=tower --instance_percent=100;\
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/isolated/authorized_keys; \
fi;
$(MANAGEMENT_COMMAND) register_queue --queuename=controlplane --instance_percent=100;
# Refresh development environment after pulling new code.
refresh: clean requirements_dev version_file develop migrate
@@ -282,11 +205,27 @@ collectstatic:
fi; \
mkdir -p awx/public/static && $(PYTHON) manage.py collectstatic --clear --noinput > /dev/null 2>&1
UWSGI_DEV_RELOAD_COMMAND ?= supervisorctl restart tower-processes:awx-dispatcher tower-processes:awx-receiver
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="exec:supervisorctl restart tower-processes:awx-dispatcher tower-processes:awx-receiver"
uwsgi -b 32768 \
--socket 127.0.0.1:8050 \
--module=awx.wsgi:application \
--home=/var/lib/awx/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: $(UWSGI_DEV_RELOAD_COMMAND)"
daphne:
@if [ "$(VENV_BASE)" ]; then \
@@ -327,20 +266,15 @@ jupyter:
reports:
mkdir -p $@
pep8: reports
@(set -o pipefail && $@ | tee reports/$@.report)
black: reports
@command -v black >/dev/null 2>&1 || { echo "could not find black on your PATH, you may need to \`pip install black\`, or set AWX_IGNORE_BLACK=1" && exit 1; }
@(set -o pipefail && $@ $(BLACK_ARGS) awx awxkit awx_collection | tee reports/$@.report)
flake8: reports
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
(set -o pipefail && $@ | tee reports/$@.report)
pyflakes: reports
@(set -o pipefail && $@ | tee reports/$@.report)
pylint: reports
@(set -o pipefail && $@ | reports/$@.report)
.git/hooks/pre-commit:
@echo "if [ -x pre-commit.sh ]; then" > .git/hooks/pre-commit
@echo " ./pre-commit.sh;" >> .git/hooks/pre-commit
@echo "fi" >> .git/hooks/pre-commit
@chmod +x .git/hooks/pre-commit
genschema: reports
$(MAKE) swagger PYTEST_ARGS="--genschema --create-db "
@@ -352,23 +286,28 @@ swagger: reports
fi; \
(set -o pipefail && py.test $(PYTEST_ARGS) awx/conf/tests/functional awx/main/tests/functional/api awx/main/tests/docs --release=$(VERSION_TARGET) | tee reports/$@.report)
check: flake8 pep8 # pyflakes pylint
check: black
api-lint:
BLACK_ARGS="--check" make black
flake8 awx
yamllint -s .
awx-link:
[ -d "/awx_devel/awx.egg-info" ] || python3 /awx_devel/setup.py egg_info_dev
cp -f /tmp/awx.egg-link /venv/awx/lib/python$(PYTHON_VERSION)/site-packages/awx.egg-link
[ -d "/awx_devel/awx.egg-info" ] || $(PYTHON) /awx_devel/setup.py egg_info_dev
cp -f /tmp/awx.egg-link /var/lib/awx/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
# Run all API unit tests.
test:
@if [ "$(VENV_BASE)" ]; then \
if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
PYTHONDONTWRITEBYTECODE=1 py.test -p no:cacheprovider -n auto $(TEST_DIRS)
cmp VERSION awxkit/VERSION || "VERSION and awxkit/VERSION *must* match"
cd awxkit && $(VENV_BASE)/awx/bin/tox -re py2,py3
awx-manage check_migrations --dry-run --check -n 'vNNN_missing_migration_file'
cd awxkit && $(VENV_BASE)/awx/bin/tox -re py3
awx-manage check_migrations --dry-run --check -n 'missing_migration_file'
COLLECTION_TEST_DIRS ?= awx_collection/test/awx
COLLECTION_TEST_TARGET ?=
@@ -377,19 +316,18 @@ COLLECTION_NAMESPACE ?= awx
COLLECTION_INSTALL = ~/.ansible/collections/ansible_collections/$(COLLECTION_NAMESPACE)/$(COLLECTION_PACKAGE)
test_collection:
@if [ "$(VENV_BASE)" ]; then \
rm -f $(shell ls -d $(VENV_BASE)/awx/lib/python* | head -n 1)/no-global-site-packages.txt
if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
PYTHONPATH=$(PYTHONPATH):$(VENV_BASE)/awx/lib/python3.6/site-packages:/usr/lib/python3.6/site-packages py.test $(COLLECTION_TEST_DIRS)
fi && \
pip install ansible-core && \
py.test $(COLLECTION_TEST_DIRS) -v
# The python path needs to be modified so that the tests can find Ansible within the container
# First we will use anything expility set as PYTHONPATH
# Second we will load any libraries out of the virtualenv (if it's unspecified that should be ok because python should not load out of an empty directory)
# Finally we will add the system path so that the tests can find the ansible libraries
flake8_collection:
flake8 awx_collection/ # Different settings, in main exclude list
test_collection_all: test_collection flake8_collection
test_collection_all: test_collection
# WARNING: symlinking a collection is fundamentally unstable
# this is for rapid development iteration with playbooks, do not use with other test targets
@@ -400,11 +338,11 @@ symlink_collection:
build_collection:
ansible-playbook -i localhost, awx_collection/tools/template_galaxy.yml -e collection_package=$(COLLECTION_PACKAGE) -e collection_namespace=$(COLLECTION_NAMESPACE) -e collection_version=$(VERSION) -e '{"awx_template_version":false}'
ansible-galaxy collection build awx_collection --force --output-path=awx_collection
ansible-galaxy collection build awx_collection_build --force --output-path=awx_collection_build
install_collection: build_collection
rm -rf $(COLLECTION_INSTALL)
ansible-galaxy collection install awx_collection/$(COLLECTION_NAMESPACE)-$(COLLECTION_PACKAGE)-$(VERSION).tar.gz
ansible-galaxy collection install awx_collection_build/$(COLLECTION_NAMESPACE)-$(COLLECTION_PACKAGE)-$(VERSION).tar.gz
test_collection_sanity: install_collection
cd $(COLLECTION_INSTALL) && ansible-test sanity
@@ -441,149 +379,54 @@ bulk_data:
fi; \
$(PYTHON) tools/data_generators/rbac_dummy_data_generator.py --preset=$(DATA_GEN_PRESET)
# l10n TASKS
# --------------------------------------
# check for UI po files
HAVE_PO := $(shell ls awx/ui/po/*.po 2>/dev/null)
check-po:
ifdef HAVE_PO
# Should be 'Language: zh-CN' but not 'Language: zh_CN' in zh_CN.po
for po in awx/ui/po/*.po ; do \
echo $$po; \
mo="awx/ui/po/`basename $$po .po`.mo"; \
msgfmt --check --verbose $$po -o $$mo; \
if test "$$?" -ne 0 ; then \
exit -1; \
fi; \
rm $$mo; \
name=`echo "$$po" | grep '-'`; \
if test "x$$name" != x ; then \
right_name=`echo $$language | sed -e 's/-/_/'`; \
echo "ERROR: WRONG $$name CORRECTION: $$right_name"; \
exit -1; \
fi; \
language=`grep '^"Language:' "$$po" | grep '_'`; \
if test "x$$language" != x ; then \
right_language=`echo $$language | sed -e 's/_/-/'`; \
echo "ERROR: WRONG $$language CORRECTION: $$right_language in $$po"; \
exit -1; \
fi; \
done;
else
@echo No PO files
endif
# generate UI .pot
pot: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run pot
# generate django .pot .po
LANG = "en-us"
messages:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
$(PYTHON) manage.py makemessages -l $(LANG) --keep-pot
# generate l10n .json .mo
languages: $(I18N_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)
# End l10n 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):
@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_BUILD_FLAG_FILE = awx/ui/.ui-built
ui-docker-machine: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run ui-docker-machine -- $(MAKEFLAGS)
clean-ui:
rm -rf node_modules
rm -rf awx/ui/node_modules
rm -rf awx/ui/build
rm -rf awx/ui/src/locales/_build
rm -rf $(UI_BUILD_FLAG_FILE)
# Native docker. Builds UI and raises BrowserSync & filesystem polling.
ui-docker: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run ui-docker -- $(MAKEFLAGS)
awx/ui/node_modules:
NODE_OPTIONS=--max-old-space-size=4096 $(NPM_BIN) --prefix awx/ui --loglevel warn ci
# Builds UI with development UI without raising browser-sync or filesystem polling.
ui-devel: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run build-devel -- $(MAKEFLAGS)
$(UI_BUILD_FLAG_FILE):
$(PYTHON) tools/scripts/compilemessages.py
$(NPM_BIN) --prefix awx/ui --loglevel warn run compile-strings
$(NPM_BIN) --prefix awx/ui --loglevel warn run build
mkdir -p awx/public/static/css
mkdir -p awx/public/static/js
mkdir -p awx/public/static/media
cp -r awx/ui/build/static/css/* awx/public/static/css
cp -r awx/ui/build/static/js/* awx/public/static/js
cp -r awx/ui/build/static/media/* awx/public/static/media
touch $@
ui-test: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run test
ui-release: awx/ui/node_modules $(UI_BUILD_FLAG_FILE)
ui-lint: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) run --prefix awx/ui jshint
ui-devel: awx/ui/node_modules
@$(MAKE) -B $(UI_BUILD_FLAG_FILE)
ui-devel-instrumented: awx/ui/node_modules
$(NPM_BIN) --prefix awx/ui --loglevel warn run start-instrumented
ui-devel-test: awx/ui/node_modules
$(NPM_BIN) --prefix awx/ui --loglevel warn run start
ui-lint:
$(NPM_BIN) --prefix awx/ui install
$(NPM_BIN) run --prefix awx/ui lint
$(NPM_BIN) run --prefix awx/ui prettier-check
# A standard go-to target for API developers to use building the frontend
ui: clean-ui ui-devel
ui-test:
$(NPM_BIN) --prefix awx/ui install
$(NPM_BIN) run --prefix awx/ui test -- --coverage --maxWorkers=4 --watchAll=false
ui-test-ci: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run test:ci
$(NPM_BIN) --prefix awx/ui run unit
jshint: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) run --prefix awx/ui jshint
$(NPM_BIN) run --prefix awx/ui lint
ui-zuul-lint-and-test:
CHROMIUM_BIN=$(CHROMIUM_BIN) ./awx/ui/build/zuul_download_chromium.sh
CHROMIUM_BIN=$(CHROMIUM_BIN) PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 $(NPM_BIN) --unsafe-perm --prefix awx/ui ci --no-save awx/ui
CHROMIUM_BIN=$(CHROMIUM_BIN) $(NPM_BIN) run --prefix awx/ui jshint
CHROMIUM_BIN=$(CHROMIUM_BIN) $(NPM_BIN) run --prefix awx/ui lint
CHROME_BIN=$(CHROMIUM_BIN) $(NPM_BIN) --prefix awx/ui run test:ci
CHROME_BIN=$(CHROMIUM_BIN) $(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:
@@ -626,29 +469,37 @@ docker-auth:
awx/projects:
@mkdir -p $@
# Docker isolated rampart
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
COMPOSE_UP_OPTS ?=
CLUSTER_NODE_COUNT ?= 1
MINIKUBE_CONTAINER_GROUP ?= false
# Docker Compose Development environment
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-sources: .git/hooks/pre-commit
@if [ $(MINIKUBE_CONTAINER_GROUP) = true ]; then\
ansible-playbook -i tools/docker-compose/inventory tools/docker-compose-minikube/deploy.yml; \
fi;
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
ansible-playbook -i tools/docker-compose/inventory tools/docker-compose/ansible/sources.yml \
-e awx_image=$(DEV_DOCKER_TAG_BASE)/awx_devel \
-e awx_image_tag=$(COMPOSE_TAG) \
-e cluster_node_count=$(CLUSTER_NODE_COUNT) \
-e minikube_container_group=$(MINIKUBE_CONTAINER_GROUP)
docker-compose-credential-plugins: docker-auth awx/projects
docker-compose: docker-auth awx/projects docker-compose-sources
docker-compose -f tools/docker-compose/_sources/docker-compose.yml up $(COMPOSE_UP_OPTS)
docker-compose-credential-plugins: docker-auth awx/projects docker-compose-sources
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 -f tools/docker-compose/_sources/docker-compose.yml -f tools/docker-credential-plugins-override.yml up --no-recreate awx_1
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-test: docker-auth awx/projects docker-compose-sources
docker-compose -f tools/docker-compose/_sources/docker-compose.yml run --rm --service-ports awx_1 /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-runtest: awx/projects docker-compose-sources
docker-compose -f tools/docker-compose/_sources/docker-compose.yml run --rm --service-ports awx_1 /start_tests.sh
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 --no-deps awx /start_tests.sh swagger
docker-compose-build-swagger: awx/projects docker-compose-sources
docker-compose -f tools/docker-compose/_sources/docker-compose.yml run --rm --service-ports --no-deps awx_1 /start_tests.sh swagger
detect-schema-change: genschema
curl https://s3.amazonaws.com/awx-public-ci-files/schema.json -o reference-schema.json
@@ -656,41 +507,43 @@ detect-schema-change: genschema
diff -u -b reference-schema.json schema.json
docker-compose-clean: awx/projects
cd tools && TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose rm -sf
docker-compose -f tools/docker-compose/_sources/docker-compose.yml rm -sf
docker-compose-container-group-clean:
@if [ -f "tools/docker-compose-minikube/_sources/minikube" ]; then \
tools/docker-compose-minikube/_sources/minikube delete; \
fi
rm -rf tools/docker-compose-minikube/_sources/
# Base development image build
docker-compose-build:
ansible localhost -m template -a "src=installer/roles/image_build/templates/Dockerfile.j2 dest=tools/docker-compose/Dockerfile" -e build_dev=True
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
docker-compose-isolated-build: docker-compose-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)
ansible-playbook tools/ansible/dockerfile.yml -e build_dev=True
DOCKER_BUILDKIT=1 docker build -t $(DEVEL_IMAGE_NAME) \
--build-arg BUILDKIT_INLINE_CACHE=1 \
--cache-from=$(DEV_DOCKER_TAG_BASE)/awx_devel:$(COMPOSE_TAG) .
docker-clean:
$(foreach container_id,$(shell docker ps -f name=tools_awx -aq),docker stop $(container_id); docker rm -f $(container_id);)
docker images | grep "awx_devel" | awk '{print $$1 ":" $$2}' | xargs docker rmi
docker-clean-volumes: docker-compose-clean
docker-clean-volumes: docker-compose-clean docker-compose-container-group-clean
docker volume rm tools_awx_db
docker-refresh: docker-clean docker-compose
# Docker Development Environment with Elastic Stack Connected
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-elk: docker-auth awx/projects docker-compose-sources
docker-compose -f tools/docker-compose/_sources/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 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
docker-compose-cluster-elk: docker-auth awx/projects docker-compose-sources
docker-compose -f tools/docker-compose/_sources/docker-compose.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
docker-compose-container-group:
MINIKUBE_CONTAINER_GROUP=true make docker-compose
clean-elk:
docker stop tools_kibana_1
docker stop tools_logstash_1
@@ -700,7 +553,41 @@ clean-elk:
docker rm tools_kibana_1
psql-container:
docker run -it --net tools_default --rm postgres:10 sh -c 'exec psql -h "postgres" -p "5432" -U postgres'
docker run -it --net tools_default --rm postgres:12 sh -c 'exec psql -h "postgres" -p "5432" -U postgres'
VERSION:
@echo "awx: $(VERSION)"
Dockerfile: tools/ansible/roles/dockerfile/templates/Dockerfile.j2
ansible-playbook tools/ansible/dockerfile.yml
Dockerfile.kube-dev: tools/ansible/roles/dockerfile/templates/Dockerfile.j2
ansible-playbook tools/ansible/dockerfile.yml \
-e dockerfile_name=Dockerfile.kube-dev \
-e kube_dev=True \
-e template_dest=_build_kube_dev
awx-kube-dev-build: Dockerfile.kube-dev
docker build -f Dockerfile.kube-dev \
--build-arg BUILDKIT_INLINE_CACHE=1 \
-t $(DEV_DOCKER_TAG_BASE)/awx_kube_devel:$(COMPOSE_TAG) .
# Translation TASKS
# --------------------------------------
# generate UI .pot file, an empty template of strings yet to be translated
pot: $(UI_BUILD_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui --loglevel warn run extract-template --clean
# generate UI .po files for each locale (will update translated strings for `en`)
po: $(UI_BUILD_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui --loglevel warn run extract-strings -- --clean
# generate API django .pot .po
LANG = "en-us"
messages:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
$(PYTHON) manage.py makemessages -l $(LANG) --keep-pot

View File

@@ -1,8 +1,9 @@
[![Gated by Zuul](https://zuul-ci.org/gated.svg)](https://ansible.softwarefactory-project.io/zuul/status)
[![.github/workflows/ci.yml](https://github.com/ansible/awx/actions/workflows/ci.yml/badge.svg)](https://github.com/ansible/awx/actions/workflows/ci.yml) [![Code of Conduct](https://img.shields.io/badge/code%20of%20conduct-Ansible-yellow.svg)](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) [![Apache v2 License](https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg)](https://github.com/ansible/awx/blob/devel/LICENSE.md) [![AWX Mailing List](https://img.shields.io/badge/mailing%20list-AWX-orange.svg)](https://groups.google.com/g/awx-project)
[![IRC Chat - #ansible-awx](https://img.shields.io/badge/IRC-%23ansible--awx-blueviolet.svg)](https://libera.chat)
<img src="https://raw.githubusercontent.com/ansible/awx-logos/master/awx/ui/client/assets/logo-login.svg?sanitize=true" width=200 alt="AWX" />
AWX provides a web-based user interface, REST API, and task engine built on top of [Ansible](https://github.com/ansible/ansible). It is the upstream project for [Tower](https://www.ansible.com/tower), a commercial derivative of AWX.
AWX provides a web-based user interface, REST API, and task engine built on top of [Ansible](https://github.com/ansible/ansible). It is one of the upstream projects for [Red Hat Ansible Automation Platform](https://www.ansible.com/products/automation-platform).
To install AWX, please view the [Install guide](./INSTALL.md).
@@ -16,31 +17,25 @@ Contributing
------------
- Refer to the [Contributing guide](./CONTRIBUTING.md) to get started developing, testing, and building AWX.
- All code submissions are done through pull requests against the `devel` branch.
- All contributors must use git commit --signoff for any commit to be merged, and agree that usage of --signoff constitutes agreement with the terms of [DCO 1.1](./DCO_1_1.md)
- Take care to make sure no merge commits are in the submission, and use `git rebase` vs `git merge` for this reason.
- If submitting a large code change, it's a good idea to join the `#ansible-awx` channel on irc.freenode.net, and talk about what you would like to do or add first. This not only helps everyone know what's going on, it also helps save time and effort, if the community decides some changes are needed.
- All code submissions are made through pull requests against the `devel` branch.
- All contributors must use git commit --signoff for any commit to be merged and agree that usage of --signoff constitutes agreement with the terms of [DCO 1.1](./DCO_1_1.md)
- Take care to make sure no merge commits are in the submission, and use `git rebase` vs. `git merge` for this reason.
- If submitting a large code change, it's a good idea to join the `#ansible-awx` channel on web.libera.chat and talk about what you would like to do or add first. This not only helps everyone know what's going on, but it also helps save time and effort if the community decides some changes are needed.
Reporting Issues
----------------
If you're experiencing a problem that you feel is a bug in AWX, or have ideas for how to improve AWX, we encourage you to open an issue, and share your feedback. But before opening a new issue, we ask that you please take a look at our [Issues guide](./ISSUES.md).
If you're experiencing a problem that you feel is a bug in AWX or have ideas for improving AWX, we encourage you to open an issue and share your feedback. But before opening a new issue, we ask that you please take a look at our [Issues guide](./ISSUES.md).
Code of Conduct
---------------
We ask all of our community members and contributors to adhere to the [Ansible code of conduct](http://docs.ansible.com/ansible/latest/community/code_of_conduct.html). If you have questions, or need assistance, please reach out to our community team at [codeofconduct@ansible.com](mailto:codeofconduct@ansible.com)
We ask all of our community members and contributors to adhere to the [Ansible code of conduct](http://docs.ansible.com/ansible/latest/community/code_of_conduct.html). If you have questions or need assistance, please reach out to our community team at [codeofconduct@ansible.com](mailto:codeofconduct@ansible.com)
Get Involved
------------
We welcome your feedback and ideas. Here's how to reach us with feedback and questions:
- Join the `#ansible-awx` channel on irc.freenode.net
- Join the `#ansible-awx` channel on irc.libera.chat
- Join the [mailing list](https://groups.google.com/forum/#!forum/awx-project)
License
-------
[Apache v2](./LICENSE.md)

View File

@@ -1 +1 @@
12.0.0
19.3.0

View File

@@ -15,9 +15,10 @@ __all__ = ['__version__']
# Check for the presence/absence of "devonly" module to determine if running
# from a source code checkout or release packaage.
try:
import awx.devonly # noqa
import awx.devonly # noqa
MODE = 'development'
except ImportError: # pragma: no cover
except ImportError: # pragma: no cover
MODE = 'production'
@@ -25,6 +26,7 @@ import hashlib
try:
import django # noqa: F401
HAS_DJANGO = True
except ImportError:
HAS_DJANGO = False
@@ -32,6 +34,7 @@ else:
from django.db.backends.base import schema
from django.db.models import indexes
from django.db.backends.utils import names_digest
from django.db import connection
if HAS_DJANGO is True:
@@ -40,6 +43,7 @@ if HAS_DJANGO is True:
try:
names_digest('foo', 'bar', 'baz', length=8)
except ValueError:
def names_digest(*args, length):
"""
Generate a 32-bit digest of a set of arguments that can be used to shorten
@@ -64,7 +68,7 @@ def find_commands(management_dir):
continue
elif f.endswith('.py') and f[:-3] not in commands:
commands.append(f[:-3])
elif f.endswith('.pyc') and f[:-4] not in commands: # pragma: no cover
elif f.endswith('.pyc') and f[:-4] not in commands: # pragma: no cover
commands.append(f[:-4])
except OSError:
pass
@@ -75,13 +79,14 @@ 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
# don't do our usual database settings lookup
val = settings.OAUTH2_PROVIDER.get(attr)
if val is None:
val = object.__getattribute__(self, attr)
@@ -94,33 +99,38 @@ def prepare_env():
# Hide DeprecationWarnings when running in production. Need to first load
# settings to apply our filter after Django's own warnings filter.
from django.conf import settings
if not settings.DEBUG: # pragma: no cover
if not settings.DEBUG: # pragma: no cover
warnings.simplefilter('ignore', DeprecationWarning)
# Monkeypatch Django find_commands to also work with .pyc files.
import django.core.management
django.core.management.find_commands = find_commands
# 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.
for opt in ('ENGINE', 'NAME', 'USER', 'PASSWORD', 'HOST', 'PORT'): # pragma: no cover
for opt in ('ENGINE', 'NAME', 'USER', 'PASSWORD', 'HOST', 'PORT'): # pragma: no cover
if os.environ.get('AWX_TEST_DATABASE_%s' % opt, None):
settings.DATABASES['default'][opt] = os.environ['AWX_TEST_DATABASE_%s' % opt]
# Disable capturing all SQL queries in memory when in DEBUG mode.
if settings.DEBUG and not getattr(settings, 'SQL_DEBUG', True):
from django.db.backends.base.base import BaseDatabaseWrapper
from django.db.backends.utils import CursorWrapper
BaseDatabaseWrapper.make_debug_cursor = lambda self, cursor: CursorWrapper(cursor, self)
# Use the default devserver addr/port defined in settings for runserver.
default_addr = getattr(settings, 'DEVSERVER_DEFAULT_ADDR', '127.0.0.1')
default_port = getattr(settings, 'DEVSERVER_DEFAULT_PORT', 8000)
from django.core.management.commands import runserver as core_runserver
original_handle = core_runserver.Command.handle
def handle(self, *args, **options):
@@ -139,7 +149,14 @@ def manage():
# Now run the command (or display the version).
from django.conf import settings
from django.core.management import execute_from_command_line
if len(sys.argv) >= 2 and sys.argv[1] in ('version', '--version'): # pragma: no cover
# enforce the postgres version is equal to 12. if not, then terminate program with exit code of 1
if not MODE == 'development':
if (connection.pg_version // 10000) < 12:
sys.stderr.write("Postgres version 12 is required\n")
sys.exit(1)
if len(sys.argv) >= 2 and sys.argv[1] in ('version', '--version'): # pragma: no cover
sys.stdout.write('%s\n' % __version__)
# If running as a user without permission to read settings, display an
# error message. Allow --help to still work.

View File

@@ -18,7 +18,6 @@ logger = logging.getLogger('awx.api.authentication')
class LoggedBasicAuthentication(authentication.BasicAuthentication):
def authenticate(self, request):
if not settings.AUTH_BASIC_ENABLED:
return
@@ -35,22 +34,18 @@ class LoggedBasicAuthentication(authentication.BasicAuthentication):
class SessionAuthentication(authentication.SessionAuthentication):
def authenticate_header(self, request):
return 'Session'
class LoggedOAuth2Authentication(OAuth2Authentication):
def authenticate(self, request):
ret = super(LoggedOAuth2Authentication, self).authenticate(request)
if ret:
user, token = ret
username = user.username if user else '<none>'
logger.info(smart_text(
u"User {} performed a {} to {} through the API using OAuth 2 token {}.".format(
username, request.method, request.path, token.pk
)
))
logger.info(
smart_text(u"User {} performed a {} to {} through the API using OAuth 2 token {}.".format(username, request.method, request.path, token.pk))
)
setattr(user, 'oauth_scopes', [x for x in token.scope.split() if x])
return ret

View File

@@ -1,8 +1,12 @@
# Django
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
# Django REST Framework
from rest_framework import serializers
# AWX
from awx.conf import fields, register
from awx.conf import fields, register, register_validate
from awx.api.fields import OAuth2ProviderField
from oauth2_provider.settings import oauth2_settings
@@ -16,6 +20,7 @@ register(
help_text=_('Number of seconds that a user is inactive before they will need to login again.'),
category=_('Authentication'),
category_slug='authentication',
unit=_('seconds'),
)
register(
'SESSIONS_PER_USER',
@@ -26,6 +31,17 @@ register(
category=_('Authentication'),
category_slug='authentication',
)
register(
'DISABLE_LOCAL_AUTH',
field_class=fields.BooleanField,
label=_('Disable the built-in authentication system'),
help_text=_(
"Controls whether users are prevented from using the built-in authentication system. "
"You probably want to do this if you are using an LDAP or SAML integration."
),
category=_('Authentication'),
category_slug='authentication',
)
register(
'AUTH_BASIC_ENABLED',
field_class=fields.BooleanField,
@@ -37,28 +53,35 @@ register(
register(
'OAUTH2_PROVIDER',
field_class=OAuth2ProviderField,
default={'ACCESS_TOKEN_EXPIRE_SECONDS': oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS,
'AUTHORIZATION_CODE_EXPIRE_SECONDS': oauth2_settings.AUTHORIZATION_CODE_EXPIRE_SECONDS,
'REFRESH_TOKEN_EXPIRE_SECONDS': oauth2_settings.REFRESH_TOKEN_EXPIRE_SECONDS},
default={
'ACCESS_TOKEN_EXPIRE_SECONDS': oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS,
'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, `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.'),
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, `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',
unit=_('seconds'),
)
register(
'ALLOW_OAUTH2_FOR_EXTERNAL_USERS',
field_class=fields.BooleanField,
default=False,
label=_('Allow External Users to Create OAuth2 Tokens'),
help_text=_('For security reasons, users from external auth providers (LDAP, SAML, '
'SSO, Radius, and others) are not allowed to create OAuth2 tokens. '
'To change this behavior, enable this setting. Existing tokens will '
'not be deleted when this setting is toggled off.'),
help_text=_(
'For security reasons, users from external auth providers (LDAP, SAML, '
'SSO, Radius, and others) are not allowed to create OAuth2 tokens. '
'To change this behavior, enable this setting. Existing tokens will '
'not be deleted when this setting is toggled off.'
),
category=_('Authentication'),
category_slug='authentication',
)
@@ -69,8 +92,27 @@ register(
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.'),
help_text=_('URL to which unauthorized users will be redirected to log in. If blank, users will be sent to the login page.'),
category=_('Authentication'),
category_slug='authentication',
)
def authentication_validate(serializer, attrs):
remote_auth_settings = [
'AUTH_LDAP_SERVER_URI',
'SOCIAL_AUTH_GOOGLE_OAUTH2_KEY',
'SOCIAL_AUTH_GITHUB_KEY',
'SOCIAL_AUTH_GITHUB_ORG_KEY',
'SOCIAL_AUTH_GITHUB_TEAM_KEY',
'SOCIAL_AUTH_SAML_ENABLED_IDPS',
'RADIUS_SERVER',
'TACACSPLUS_HOST',
]
if attrs.get('DISABLE_LOCAL_AUTH', False):
if not any(getattr(settings, s, None) for s in remote_auth_settings):
raise serializers.ValidationError(_("There are no remote authentication systems configured."))
return attrs
register_validate('authentication', authentication_validate)

View File

@@ -16,7 +16,4 @@ class ActiveJobConflict(ValidationError):
# turn everything in self.detail into string by using force_text.
# Declare detail afterwards circumvent this behavior.
super(ActiveJobConflict, self).__init__()
self.detail = {
"error": _("Resource is being used by running jobs."),
"active_jobs": active_jobs
}
self.detail = {"error": _("Resource is being used by running jobs."), "active_jobs": active_jobs}

View File

@@ -16,10 +16,10 @@ __all__ = ['BooleanNullField', 'CharNullField', 'ChoiceNullField', 'VerbatimFiel
class NullFieldMixin(object):
'''
"""
Mixin to prevent shortcutting validation when we want to allow null input,
but coerce the resulting value to another type.
'''
"""
def validate_empty_values(self, data):
(is_empty_value, data) = super(NullFieldMixin, self).validate_empty_values(data)
@@ -29,18 +29,18 @@ class NullFieldMixin(object):
class BooleanNullField(NullFieldMixin, serializers.NullBooleanField):
'''
"""
Custom boolean field that allows null and empty string as False values.
'''
"""
def to_internal_value(self, data):
return bool(super(BooleanNullField, self).to_internal_value(data))
class CharNullField(NullFieldMixin, serializers.CharField):
'''
"""
Custom char field that allows null as input and coerces to an empty string.
'''
"""
def __init__(self, **kwargs):
kwargs['allow_null'] = True
@@ -51,9 +51,9 @@ class CharNullField(NullFieldMixin, serializers.CharField):
class ChoiceNullField(NullFieldMixin, serializers.ChoiceField):
'''
"""
Custom choice field that allows null as input and coerces to an empty string.
'''
"""
def __init__(self, **kwargs):
kwargs['allow_null'] = True
@@ -64,9 +64,9 @@ class ChoiceNullField(NullFieldMixin, serializers.ChoiceField):
class VerbatimField(serializers.Field):
'''
"""
Custom field that passes the value through without changes.
'''
"""
def to_internal_value(self, data):
return data
@@ -77,22 +77,19 @@ class VerbatimField(serializers.Field):
class OAuth2ProviderField(fields.DictField):
default_error_messages = {
'invalid_key_names': _('Invalid key names: {invalid_key_names}'),
}
default_error_messages = {'invalid_key_names': _('Invalid key names: {invalid_key_names}')}
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):
data = super(OAuth2ProviderField, self).to_internal_value(data)
invalid_flags = (set(data.keys()) - self.valid_key_names)
invalid_flags = set(data.keys()) - self.valid_key_names
if invalid_flags:
self.fail('invalid_key_names', invalid_key_names=', '.join(list(invalid_flags)))
return data
class DeprecatedCredentialField(serializers.IntegerField):
def __init__(self, **kwargs):
kwargs['allow_null'] = True
kwargs['default'] = None

View File

@@ -27,9 +27,9 @@ from awx.main.utils.db import get_all_field_names
class TypeFilterBackend(BaseFilterBackend):
'''
"""
Filter on type field now returned with all objects.
'''
"""
def filter_queryset(self, request, queryset, view):
try:
@@ -64,7 +64,7 @@ class TypeFilterBackend(BaseFilterBackend):
def get_fields_from_path(model, path):
'''
"""
Given a Django ORM lookup path (possibly over multiple models)
Returns the fields in the line, and also the revised lookup path
ex., given
@@ -73,7 +73,7 @@ def get_fields_from_path(model, path):
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_list = []
new_parts = []
@@ -82,12 +82,9 @@ def get_fields_from_path(model, path):
raise ParseError(_('No related model for field {}.').format(name))
# HACK: Make project and inventory source filtering by old field names work for backwards compatibility.
if model._meta.object_name in ('Project', 'InventorySource'):
name = {
'current_update': 'current_job',
'last_update': 'last_job',
'last_update_failed': 'last_job_failed',
'last_updated': 'last_job_run',
}.get(name, name)
name = {'current_update': 'current_job', 'last_update': 'last_job', 'last_update_failed': 'last_job_failed', 'last_updated': 'last_job_run'}.get(
name, name
)
if name == 'type' and 'polymorphic_ctype' in get_all_field_names(model):
name = 'polymorphic_ctype'
@@ -121,32 +118,46 @@ def get_fields_from_path(model, path):
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):
'''
"""
Filter using field lookups provided via query string parameters.
'''
"""
RESERVED_NAMES = ('page', 'page_size', 'format', 'order', 'order_by',
'search', 'type', 'host_filter', 'count_disabled', 'no_truncate')
RESERVED_NAMES = ('page', 'page_size', 'format', 'order', 'order_by', 'search', 'type', 'host_filter', 'count_disabled', 'no_truncate', 'limit')
SUPPORTED_LOOKUPS = ('exact', 'iexact', 'contains', 'icontains',
'startswith', 'istartswith', 'endswith', 'iendswith',
'regex', 'iregex', 'gt', 'gte', 'lt', 'lte', 'in',
'isnull', 'search')
SUPPORTED_LOOKUPS = (
'exact',
'iexact',
'contains',
'icontains',
'startswith',
'istartswith',
'endswith',
'iendswith',
'regex',
'iregex',
'gt',
'gte',
'lt',
'lte',
'in',
'isnull',
'search',
)
# A list of fields that we know can be filtered on without the possiblity
# of introducing duplicates
NO_DUPLICATES_WHITELIST = (CharField, IntegerField, BooleanField)
NO_DUPLICATES_ALLOW_LIST = (CharField, IntegerField, BooleanField)
def get_fields_from_lookup(self, model, lookup):
@@ -189,10 +200,7 @@ class FieldLookupBackend(BaseFilterBackend):
try:
return self.to_python_related(value)
except ValueError:
raise ParseError(_('Invalid {field_name} id: {field_id}').format(
field_name=getattr(field, 'name', 'related field'),
field_id=value)
)
raise ParseError(_('Invalid {field_name} id: {field_id}').format(field_name=getattr(field, 'name', 'related field'), field_id=value))
else:
return field.to_python(value)
@@ -205,13 +213,13 @@ class FieldLookupBackend(BaseFilterBackend):
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))
needs_distinct = not all(isinstance(f, self.NO_DUPLICATES_ALLOW_LIST) 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 `_`
# for polymorphic_ctype__model lookups.
if new_lookup.startswith('polymorphic_ctype__model'):
value = value.replace('_','')
value = value.replace('_', '')
elif new_lookup.endswith('__isnull'):
value = to_python_boolean(value)
elif new_lookup.endswith('__in'):
@@ -257,6 +265,11 @@ class FieldLookupBackend(BaseFilterBackend):
if key in self.RESERVED_NAMES:
continue
# HACK: make `created` available via API for the Django User ORM model
# so it keep compatiblity with other objects which exposes the `created` attr.
if queryset.model._meta.object_name == 'User' and key.startswith('created'):
key = key.replace('created', 'date_joined')
# HACK: Make job event filtering by host name mostly work even
# when not capturing job event hosts M2M.
if queryset.model._meta.object_name == 'JobEvent' and key.startswith('hosts__name'):
@@ -324,24 +337,20 @@ class FieldLookupBackend(BaseFilterBackend):
args = []
for n, k, v in and_filters:
if n:
args.append(~Q(**{k:v}))
args.append(~Q(**{k: v}))
else:
args.append(Q(**{k:v}))
args.append(Q(**{k: v}))
for role_name in role_filters:
if not hasattr(queryset.model, 'accessible_pk_qs'):
raise ParseError(_(
'Cannot apply role_level filter to this list because its model '
'does not use roles for access control.'))
args.append(
Q(pk__in=queryset.model.accessible_pk_qs(request.user, role_name))
)
raise ParseError(_('Cannot apply role_level filter to this list because its model ' 'does not use roles for access control.'))
args.append(Q(pk__in=queryset.model.accessible_pk_qs(request.user, role_name)))
if or_filters:
q = Q()
for n,k,v in or_filters:
for n, k, v in or_filters:
if n:
q |= ~Q(**{k:v})
q |= ~Q(**{k: v})
else:
q |= Q(**{k:v})
q |= Q(**{k: v})
args.append(q)
if search_filters and search_filter_relation == 'OR':
q = Q()
@@ -355,11 +364,11 @@ class FieldLookupBackend(BaseFilterBackend):
for constrain in constrains:
q_chain |= Q(**{constrain: term})
queryset = queryset.filter(q_chain)
for n,k,v in chain_filters:
for n, k, v in chain_filters:
if n:
q = ~Q(**{k:v})
q = ~Q(**{k: v})
else:
q = Q(**{k:v})
q = Q(**{k: v})
queryset = queryset.filter(q)
queryset = queryset.filter(*args)
if needs_distinct:
@@ -372,9 +381,9 @@ class FieldLookupBackend(BaseFilterBackend):
class OrderByBackend(BaseFilterBackend):
'''
"""
Filter to apply ordering based on query string parameters.
'''
"""
def filter_queryset(self, request, queryset, view):
try:

View File

@@ -35,56 +35,51 @@ from rest_framework.negotiation import DefaultContentNegotiation
# AWX
from awx.api.filters import FieldLookupBackend
from awx.main.models import (
UnifiedJob, UnifiedJobTemplate, User, Role, Credential,
WorkflowJobTemplateNode, WorkflowApprovalTemplate
)
from awx.main.models import UnifiedJob, UnifiedJobTemplate, User, Role, Credential, WorkflowJobTemplateNode, WorkflowApprovalTemplate
from awx.main.access import access_registry
from awx.main.utils import (
camelcase_to_underscore,
get_search_fields,
getattrd,
get_object_or_400,
decrypt_field,
get_awx_version,
get_licenser,
StubLicense
)
from awx.main.utils import camelcase_to_underscore, get_search_fields, getattrd, get_object_or_400, decrypt_field, get_awx_version
from awx.main.utils.db import get_all_field_names
from awx.main.utils.licensing import server_product_name
from awx.main.views import ApiErrorView
from awx.api.serializers import ResourceAccessListElementSerializer, CopySerializer, UserSerializer
from awx.api.versioning import URLPathVersioning
from awx.api.metadata import SublistAttachDetatchMetadata, Metadata
__all__ = ['APIView', 'GenericAPIView', 'ListAPIView', 'SimpleListAPIView',
'ListCreateAPIView', 'SubListAPIView', 'SubListCreateAPIView',
'SubListDestroyAPIView',
'SubListCreateAttachDetachAPIView', 'RetrieveAPIView',
'RetrieveUpdateAPIView', 'RetrieveDestroyAPIView',
'RetrieveUpdateDestroyAPIView',
'SubDetailAPIView',
'ResourceAccessList',
'ParentMixin',
'DeleteLastUnattachLabelMixin',
'SubListAttachDetachAPIView',
'CopyAPIView', 'BaseUsersList',]
__all__ = [
'APIView',
'GenericAPIView',
'ListAPIView',
'SimpleListAPIView',
'ListCreateAPIView',
'SubListAPIView',
'SubListCreateAPIView',
'SubListDestroyAPIView',
'SubListCreateAttachDetachAPIView',
'RetrieveAPIView',
'RetrieveUpdateAPIView',
'RetrieveDestroyAPIView',
'RetrieveUpdateDestroyAPIView',
'SubDetailAPIView',
'ResourceAccessList',
'ParentMixin',
'DeleteLastUnattachLabelMixin',
'SubListAttachDetachAPIView',
'CopyAPIView',
'BaseUsersList',
]
logger = logging.getLogger('awx.api.generics')
analytics_logger = logging.getLogger('awx.analytics.performance')
class LoggedLoginView(auth_views.LoginView):
def get(self, request, *args, **kwargs):
# The django.auth.contrib login form doesn't perform the content
# negotiation we've come to expect from DRF; add in code to catch
# situations where Accept != text/html (or */*) and reply with
# an HTTP 406
try:
DefaultContentNegotiation().select_renderer(
request,
[StaticHTMLRenderer],
'html'
)
DefaultContentNegotiation().select_renderer(request, [StaticHTMLRenderer], 'html')
except NotAcceptable:
resp = Response(status=status.HTTP_406_NOT_ACCEPTABLE)
resp.accepted_renderer = StaticHTMLRenderer()
@@ -97,7 +92,7 @@ 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 from {}".format(self.request.user.username,request.META.get('REMOTE_ADDR', None))))
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 = smart_text(JSONRenderer().render(current_user.data))
@@ -107,29 +102,27 @@ class LoggedLoginView(auth_views.LoginView):
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))))
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
class LoggedLogoutView(auth_views.LogoutView):
def dispatch(self, request, *args, **kwargs):
original_user = getattr(request, 'user', None)
ret = super(LoggedLogoutView, self).dispatch(request, *args, **kwargs)
current_user = getattr(request, 'user', None)
ret.set_cookie('userLoggedIn', 'false')
if (not current_user or not getattr(current_user, 'pk', True)) \
and current_user != original_user:
if (not current_user or not getattr(current_user, 'pk', True)) and current_user != original_user:
logger.info("User {} logged out.".format(original_user.username))
return ret
def get_view_description(view, html=False):
'''Wrapper around REST framework get_view_description() to continue
"""Wrapper around REST framework get_view_description() to continue
to support our historical div.
'''
"""
desc = views.get_view_description(view, html=html)
if html:
desc = '<div class="description">%s</div>' % desc
@@ -139,6 +132,7 @@ def get_view_description(view, html=False):
def get_default_schema():
if settings.SETTINGS_MODULE == 'awx.settings.development':
from awx.api.swagger import AutoSchema
return AutoSchema()
else:
return views.APIView.schema
@@ -150,21 +144,23 @@ class APIView(views.APIView):
versioning_class = URLPathVersioning
def initialize_request(self, request, *args, **kwargs):
'''
"""
Store the Django REST Framework Request object as an attribute on the
normal Django request, store time the request started.
'''
"""
self.time_started = time.time()
if getattr(settings, 'SQL_DEBUG', False):
self.queries_before = len(connection.queries)
# If there are any custom headers in REMOTE_HOST_HEADERS, make sure
# they respect the proxy whitelist
if all([
settings.PROXY_IP_WHITELIST,
request.environ.get('REMOTE_ADDR') not in settings.PROXY_IP_WHITELIST,
request.environ.get('REMOTE_HOST') not in settings.PROXY_IP_WHITELIST
]):
# they respect the allowed proxy list
if all(
[
settings.PROXY_IP_ALLOWED_LIST,
request.environ.get('REMOTE_ADDR') not in settings.PROXY_IP_ALLOWED_LIST,
request.environ.get('REMOTE_HOST') not in settings.PROXY_IP_ALLOWED_LIST,
]
):
for custom_header in settings.REMOTE_HOST_HEADERS:
if custom_header.startswith('HTTP_'):
request.environ.pop(custom_header, None)
@@ -179,29 +175,57 @@ class APIView(views.APIView):
request.drf_request_user = None
self.__init_request_error__ = exc
except UnsupportedMediaType as exc:
exc.detail = _('You did not use correct Content-Type in your HTTP request. '
'If you are using our REST API, the Content-Type must be application/json')
exc.detail = _(
'You did not use correct Content-Type in your HTTP request. ' 'If you are using our REST API, the Content-Type must be application/json'
)
self.__init_request_error__ = exc
return drf_request
def finalize_response(self, request, response, *args, **kwargs):
'''
"""
Log warning for 400 requests. Add header with elapsed time.
'''
"""
#
# If the URL was rewritten, and we get a 404, we should entirely
# replace the view in the request context with an ApiErrorView()
# Without this change, there will be subtle differences in the BrowseableAPIRenderer
#
# These differences could provide contextual clues which would allow
# anonymous users to determine if usernames were valid or not
# (e.g., if an anonymous user visited `/api/v2/users/valid/`, and got a 404,
# but also saw that the page heading said "User Detail", they might notice
# that's a difference in behavior from a request to `/api/v2/users/not-valid/`, which
# would show a page header of "Not Found"). Changing the view here
# guarantees that the rendered response will look exactly like the response
# when you visit a URL that has no matching URL paths in `awx.api.urls`.
#
if response.status_code == 404 and 'awx.named_url_rewritten' in request.environ:
self.headers.pop('Allow', None)
response = super(APIView, self).finalize_response(request, response, *args, **kwargs)
view = ApiErrorView()
setattr(view, 'request', request)
response.renderer_context['view'] = view
return response
if response.status_code >= 400:
status_msg = "status %s received by user %s attempting to access %s from %s" % \
(response.status_code, request.user, request.path, request.META.get('REMOTE_ADDR', None))
status_msg = "status %s received by user %s attempting to access %s from %s" % (
response.status_code,
request.user,
request.path,
request.META.get('REMOTE_ADDR', None),
)
if hasattr(self, '__init_request_error__'):
response = self.handle_exception(self.__init_request_error__)
if response.status_code == 401:
response.data['detail'] += ' To establish a login session, visit /api/login/.'
response.data['detail'] += _(' To establish a login session, visit') + ' /api/login/.'
logger.info(status_msg)
else:
logger.warning(status_msg)
response = super(APIView, self).finalize_response(request, response, *args, **kwargs)
time_started = getattr(self, 'time_started', None)
response['X-API-Product-Version'] = get_awx_version()
response['X-API-Product-Name'] = 'AWX' if isinstance(get_licenser(), StubLicense) else 'Red Hat Ansible Tower'
response['X-API-Product-Name'] = server_product_name()
response['X-API-Node'] = settings.CLUSTER_HOST_ID
if time_started:
time_elapsed = time.time() - self.time_started
@@ -287,18 +311,12 @@ class APIView(views.APIView):
return data
def determine_version(self, request, *args, **kwargs):
return (
getattr(request, 'version', None),
getattr(request, 'versioning_scheme', None),
)
return (getattr(request, 'version', None), getattr(request, 'versioning_scheme', None))
def dispatch(self, request, *args, **kwargs):
if self.versioning_class is not None:
scheme = self.versioning_class()
request.version, request.versioning_scheme = (
scheme.determine_version(request, *args, **kwargs),
scheme
)
request.version, request.versioning_scheme = (scheme.determine_version(request, *args, **kwargs), scheme)
if 'version' in kwargs:
kwargs.pop('version')
return super(APIView, self).dispatch(request, *args, **kwargs)
@@ -354,25 +372,22 @@ class GenericAPIView(generics.GenericAPIView, APIView):
d = super(GenericAPIView, self).get_description_context()
if hasattr(self.model, "_meta"):
if hasattr(self.model._meta, "verbose_name"):
d.update({
'model_verbose_name': smart_text(self.model._meta.verbose_name),
'model_verbose_name_plural': smart_text(self.model._meta.verbose_name_plural),
})
d.update(
{
'model_verbose_name': smart_text(self.model._meta.verbose_name),
'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')
]:
for method, key in [('GET', 'serializer_fields'), ('POST', 'serializer_create_fields'), ('PUT', 'serializer_update_fields')]:
d[key] = metadata.get_serializer_info(serializer, method=method)
d['settings'] = settings
return d
class SimpleListAPIView(generics.ListAPIView, GenericAPIView):
def get_queryset(self):
return self.request.user.get_queryset(self.model)
@@ -389,9 +404,7 @@ class ListAPIView(generics.ListAPIView, GenericAPIView):
else:
order_field = 'name'
d = super(ListAPIView, self).get_description_context()
d.update({
'order_field': order_field,
})
d.update({'order_field': order_field})
return d
@property
@@ -402,9 +415,13 @@ class ListAPIView(generics.ListAPIView, GenericAPIView):
def related_search_fields(self):
def skip_related_name(name):
return (
name is None or name.endswith('_role') or name.startswith('_') or
name.startswith('deprecated_') or name.endswith('_set') or
name == 'polymorphic_ctype')
name is None
or name.endswith('_role')
or name.startswith('_')
or name.startswith('deprecated_')
or name.endswith('_set')
or name == 'polymorphic_ctype'
)
fields = set([])
for field in self.model._meta.fields:
@@ -458,9 +475,7 @@ class ParentMixin(object):
def get_parent_object(self):
if self.parent_object is not None:
return self.parent_object
parent_filter = {
self.lookup_field: self.kwargs.get(self.lookup_field, None),
}
parent_filter = {self.lookup_field: self.kwargs.get(self.lookup_field, None)}
self.parent_object = get_object_or_404(self.parent_model, **parent_filter)
return self.parent_object
@@ -489,10 +504,12 @@ class SubListAPIView(ParentMixin, ListAPIView):
def get_description_context(self):
d = super(SubListAPIView, self).get_description_context()
d.update({
'parent_model_verbose_name': smart_text(self.parent_model._meta.verbose_name),
'parent_model_verbose_name_plural': smart_text(self.parent_model._meta.verbose_name_plural),
})
d.update(
{
'parent_model_verbose_name': smart_text(self.parent_model._meta.verbose_name),
'parent_model_verbose_name_plural': smart_text(self.parent_model._meta.verbose_name_plural),
}
)
return d
def get_queryset(self):
@@ -507,7 +524,6 @@ class SubListAPIView(ParentMixin, ListAPIView):
class DestroyAPIView(generics.DestroyAPIView):
def has_delete_permission(self, obj):
return self.request.user.can_access(self.model, 'delete', obj)
@@ -521,12 +537,12 @@ class SubListDestroyAPIView(DestroyAPIView, SubListAPIView):
"""
Concrete view for deleting everything related by `relationship`.
"""
check_sub_obj_permission = True
def destroy(self, request, *args, **kwargs):
instance_list = self.get_queryset()
if (not self.check_sub_obj_permission and
not request.user.can_access(self.parent_model, 'delete', self.get_parent_object())):
if not self.check_sub_obj_permission and not request.user.can_access(self.parent_model, 'delete', self.get_parent_object()):
raise PermissionDenied()
self.perform_list_destroy(instance_list)
return Response(status=status.HTTP_204_NO_CONTENT)
@@ -550,9 +566,7 @@ class SubListCreateAPIView(SubListAPIView, ListCreateAPIView):
def get_description_context(self):
d = super(SubListCreateAPIView, self).get_description_context()
d.update({
'parent_key': getattr(self, 'parent_key', None),
})
d.update({'parent_key': getattr(self, 'parent_key', None)})
return d
def get_queryset(self):
@@ -586,8 +600,7 @@ class SubListCreateAPIView(SubListAPIView, ListCreateAPIView):
# attempt to deserialize the object
serializer = self.get_serializer(data=data)
if not serializer.is_valid():
return Response(serializer.errors,
status=status.HTTP_400_BAD_REQUEST)
return Response(serializer.errors, 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.validated_data):
@@ -611,9 +624,7 @@ class SubListCreateAttachDetachAPIView(SubListCreateAPIView):
def get_description_context(self):
d = super(SubListCreateAttachDetachAPIView, self).get_description_context()
d.update({
"has_attach": True,
})
d.update({"has_attach": True})
return d
def attach_validate(self, request):
@@ -651,9 +662,7 @@ class SubListCreateAttachDetachAPIView(SubListCreateAPIView):
sub = get_object_or_400(self.model, pk=sub_id)
# Verify we have permission to attach.
if not request.user.can_access(self.parent_model, 'attach', parent, sub,
self.relationship, data,
skip_sub_obj_read_check=created):
if not request.user.can_access(self.parent_model, 'attach', parent, sub, self.relationship, data, skip_sub_obj_read_check=created):
raise PermissionDenied()
# Verify that the relationship to be added is valid.
@@ -692,8 +701,7 @@ class SubListCreateAttachDetachAPIView(SubListCreateAPIView):
relationship = getattrd(parent, self.relationship)
sub = get_object_or_400(self.model, pk=sub_id)
if not request.user.can_access(self.parent_model, 'unattach', parent,
sub, self.relationship, request.data):
if not request.user.can_access(self.parent_model, 'unattach', parent, sub, self.relationship, request.data):
raise PermissionDenied()
if parent_key:
@@ -711,28 +719,24 @@ class SubListCreateAttachDetachAPIView(SubListCreateAPIView):
def post(self, request, *args, **kwargs):
if not isinstance(request.data, dict):
return Response('invalid type for post data',
status=status.HTTP_400_BAD_REQUEST)
return Response('invalid type for post data', status=status.HTTP_400_BAD_REQUEST)
if 'disassociate' in request.data:
return self.unattach(request, *args, **kwargs)
else:
return self.attach(request, *args, **kwargs)
class SubListAttachDetachAPIView(SubListCreateAttachDetachAPIView):
'''
"""
Derived version of SubListCreateAttachDetachAPIView that prohibits creation
'''
"""
metadata_class = SublistAttachDetatchMetadata
def post(self, request, *args, **kwargs):
sub_id = request.data.get('id', None)
if not sub_id:
return Response(
dict(msg=_("{} 'id' field is missing.".format(
self.model._meta.verbose_name.title()))),
status=status.HTTP_400_BAD_REQUEST)
return Response(dict(msg=_("{} 'id' field is missing.".format(self.model._meta.verbose_name.title()))), status=status.HTTP_400_BAD_REQUEST)
return super(SubListAttachDetachAPIView, self).post(request, *args, **kwargs)
def update_raw_data(self, data):
@@ -744,11 +748,11 @@ class SubListAttachDetachAPIView(SubListCreateAttachDetachAPIView):
class DeleteLastUnattachLabelMixin(object):
'''
"""
Models for which you want the last instance to be deleted from the database
when the last disassociate is called should inherit from this class. Further,
the model should implement is_detached()
'''
"""
def unattach(self, request, *args, **kwargs):
(sub_id, res) = super(DeleteLastUnattachLabelMixin, self).unattach_validate(request)
@@ -774,7 +778,6 @@ class RetrieveAPIView(generics.RetrieveAPIView, GenericAPIView):
class RetrieveUpdateAPIView(RetrieveAPIView, generics.RetrieveUpdateAPIView):
def update(self, request, *args, **kwargs):
self.update_filter(request, *args, **kwargs)
return super(RetrieveUpdateAPIView, self).update(request, *args, **kwargs)
@@ -784,7 +787,7 @@ class RetrieveUpdateAPIView(RetrieveAPIView, generics.RetrieveUpdateAPIView):
return super(RetrieveUpdateAPIView, self).partial_update(request, *args, **kwargs)
def update_filter(self, request, *args, **kwargs):
''' scrub any fields the user cannot/should not put/patch, based on user context. This runs after read-only serialization filtering '''
'''scrub any fields the user cannot/should not put/patch, based on user context. This runs after read-only serialization filtering'''
pass
@@ -815,6 +818,7 @@ class ResourceAccessList(ParentMixin, ListAPIView):
def trigger_delayed_deep_copy(*args, **kwargs):
from awx.main.tasks import deep_copy_model_obj
connection.on_commit(lambda: deep_copy_model_obj.delay(*args, **kwargs))
@@ -837,7 +841,7 @@ class CopyAPIView(GenericAPIView):
@staticmethod
def _decrypt_model_field_if_needed(obj, field_name, field_val):
if field_name in getattr(type(obj), 'REENCRYPTION_BLACKLIST_AT_COPY', []):
if field_name in getattr(type(obj), 'REENCRYPTION_BLOCKLIST_AT_COPY', []):
return field_val
if isinstance(obj, Credential) and field_name == 'inputs':
for secret in obj.credential_type.secret_fields:
@@ -845,8 +849,7 @@ class CopyAPIView(GenericAPIView):
field_val[secret] = decrypt_field(obj, secret)
elif isinstance(field_val, dict):
for sub_field in field_val:
if isinstance(sub_field, str) \
and isinstance(field_val[sub_field], str):
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:
@@ -858,15 +861,11 @@ class CopyAPIView(GenericAPIView):
def _build_create_dict(self, obj):
ret = {}
if self.copy_return_serializer_class:
all_fields = Metadata().get_serializer_info(
self._get_copy_return_serializer(), method='POST'
)
all_fields = Metadata().get_serializer_info(self._get_copy_return_serializer(), method='POST')
for field_name, field_info in all_fields.items():
if not hasattr(obj, field_name) or field_info.get('read_only', True):
continue
ret[field_name] = CopyAPIView._decrypt_model_field_if_needed(
obj, field_name, getattr(obj, field_name)
)
ret[field_name] = CopyAPIView._decrypt_model_field_if_needed(obj, field_name, getattr(obj, field_name))
return ret
@staticmethod
@@ -883,10 +882,12 @@ class CopyAPIView(GenericAPIView):
field_val = getattr(obj, field.name)
except AttributeError:
continue
# Adjust copy blacklist fields here.
if field.name in fields_to_discard or field.name in [
'id', 'pk', 'polymorphic_ctype', 'unifiedjobtemplate_ptr', 'created_by', 'modified_by'
] or field.name.endswith('_role'):
# Adjust copy blocked fields here.
if (
field.name in fields_to_discard
or field.name in ['id', 'pk', 'polymorphic_ctype', 'unifiedjobtemplate_ptr', 'created_by', 'modified_by']
or field.name.endswith('_role')
):
create_kwargs.pop(field.name, None)
continue
if field.one_to_many:
@@ -902,33 +903,24 @@ class CopyAPIView(GenericAPIView):
elif field.name == 'name' and not old_parent:
create_kwargs[field.name] = copy_name or field_val + ' copy'
elif field.name in fields_to_preserve:
create_kwargs[field.name] = CopyAPIView._decrypt_model_field_if_needed(
obj, field.name, field_val
)
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
)
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('Deep copy: Created new object {}({})'.format(
new_obj, model
))
logger.debug('Deep copy: Created new object {}({})'.format(new_obj, model))
# Need to save separatedly because Djang-crum get_current_user would
# not work properly in non-request-response-cycle context.
new_obj.created_by = creater
new_obj.save()
from awx.main.signals import disable_activity_stream
with disable_activity_stream():
for m2m in m2m_to_preserve:
for related_obj in m2m_to_preserve[m2m].all():
@@ -954,8 +946,7 @@ class CopyAPIView(GenericAPIView):
for key in create_kwargs:
create_kwargs[key] = getattr(create_kwargs[key], 'pk', None) or create_kwargs[key]
try:
can_copy = request.user.can_access(self.model, 'add', create_kwargs) and \
request.user.can_access(self.model, 'copy_related', obj)
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})
@@ -974,26 +965,21 @@ class CopyAPIView(GenericAPIView):
if not serializer.is_valid():
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
new_obj, sub_objs = CopyAPIView.copy_model_obj(
None, None, self.model, obj, request.user, create_kwargs=create_kwargs,
copy_name=serializer.validated_data.get('name', '')
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.members.all():
new_obj.admin_role.members.add(request.user)
if sub_objs:
# store the copied object dict into memcached, because it's
# store the copied object dict into cache, because it's
# often too large for postgres' notification bus
# (which has a default maximum message size of 8k)
key = 'deep-copy-{}'.format(str(uuid.uuid4()))
cache.set(key, sub_objs, timeout=3600)
permission_check_func = None
if hasattr(type(self), 'deep_copy_permission_check_func'):
permission_check_func = (
type(self).__module__, type(self).__name__, 'deep_copy_permission_check_func'
)
permission_check_func = (type(self).__module__, type(self).__name__, 'deep_copy_permission_check_func')
trigger_delayed_deep_copy(
self.model.__module__, self.model.__name__,
obj.pk, new_obj.pk, request.user.pk, key,
permission_check_func=permission_check_func
self.model.__module__, self.model.__name__, obj.pk, new_obj.pk, request.user.pk, key, permission_check_func=permission_check_func
)
serializer = self._get_copy_return_serializer(new_obj)
headers = {'Location': new_obj.get_absolute_url(request=request)}
@@ -1002,7 +988,7 @@ class CopyAPIView(GenericAPIView):
class BaseUsersList(SubListCreateAttachDetachAPIView):
def post(self, request, *args, **kwargs):
ret = super(BaseUsersList, self).post( request, *args, **kwargs)
ret = super(BaseUsersList, self).post(request, *args, **kwargs)
if ret.status_code != 201:
return ret
try:

View File

@@ -23,23 +23,31 @@ 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
from awx.main.models import NotificationTemplate
from awx.main.utils.execution_environments import get_default_pod_spec
# Polymorphic
from polymorphic.models import PolymorphicModel
class Metadata(metadata.SimpleMetadata):
def get_field_info(self, field):
field_info = OrderedDict()
field_info['type'] = self.label_lookup[field]
field_info['required'] = getattr(field, 'required', False)
text_attrs = [
'read_only', 'label', 'help_text',
'min_length', 'max_length',
'min_value', 'max_value',
'category', 'category_slug',
'defined_in_file'
'read_only',
'label',
'help_text',
'min_length',
'max_length',
'min_value',
'max_value',
'category',
'category_slug',
'defined_in_file',
'unit',
]
for attr in text_attrs:
@@ -61,8 +69,9 @@ class Metadata(metadata.SimpleMetadata):
'type': _('Data type for this {}.'),
'url': _('URL for this {}.'),
'related': _('Data structure with URLs of related resources.'),
'summary_fields': _('Data structure with name/description for related resources. '
'The output for some objects may be limited for performance reasons.'),
'summary_fields': _(
'Data structure with name/description for related resources. ' 'The output for some objects may be limited for performance reasons.'
),
'created': _('Timestamp when this {} was created.'),
'modified': _('Timestamp when this {} was last modified.'),
}
@@ -72,7 +81,9 @@ class Metadata(metadata.SimpleMetadata):
field_info['help_text'] = field_help_text[field.field_name].format(verbose_name)
if field.field_name == 'type':
field_info['filterable'] = True
# Only include model classes with `type` field.
if issubclass(serializer.Meta.model, PolymorphicModel):
field_info['filterable'] = True
else:
for model_field in serializer.Meta.model._meta.fields:
if field.field_name == model_field.name:
@@ -101,9 +112,7 @@ class Metadata(metadata.SimpleMetadata):
field_info['children'] = self.get_serializer_info(field)
if not isinstance(field, (RelatedField, ManyRelatedField)) and hasattr(field, 'choices'):
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
@@ -115,19 +124,6 @@ class Metadata(metadata.SimpleMetadata):
if getattr(field, 'write_only', False):
field_info['write_only'] = True
# Special handling of inventory source_region choices that vary based on
# selected inventory source.
if field.field_name == 'source_regions':
for cp in ('azure_rm', 'ec2', 'gce'):
get_regions = getattr(InventorySource, 'get_%s_region_choices' % cp)
field_info['%s_region_choices' % cp] = get_regions()
# Special handling of group_by choices for EC2.
if field.field_name == 'group_by':
for cp in ('ec2',):
get_group_by_choices = getattr(InventorySource, 'get_%s_group_by_choices' % cp)
field_info['%s_group_by_choices' % cp] = get_group_by_choices()
# Special handling of notification configuration where the required properties
# are conditional on the type selected.
if field.field_name == 'notification_configuration':
@@ -144,7 +140,6 @@ 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.default_messages
# Update type of fields returned...
model_field = None
if serializer and hasattr(serializer, 'Meta') and hasattr(serializer.Meta, 'model'):
@@ -162,22 +157,19 @@ class Metadata(metadata.SimpleMetadata):
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)
):
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'
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'
isinstance(field, ManyRelatedField)
and field.field_name == 'credentials'
# launch-time credentials
):
field_info['type'] = 'list_of_ids'
@@ -188,10 +180,7 @@ class Metadata(metadata.SimpleMetadata):
def get_serializer_info(self, serializer, method=None):
filterer = getattr(serializer, 'filter_field_metadata', lambda fields, method: fields)
return filterer(
super(Metadata, self).get_serializer_info(serializer),
method
)
return filterer(super(Metadata, self).get_serializer_info(serializer), method)
def determine_actions(self, request, view):
# Add field information for GET requests (so field names/labels are
@@ -222,7 +211,7 @@ class Metadata(metadata.SimpleMetadata):
continue
if field == "pod_spec_override":
meta['default'] = PodManager().pod_definition
meta['default'] = get_default_pod_spec()
# Add type choices if available from the serializer.
if field == 'type' and hasattr(serializer, 'get_type_choices'):
@@ -287,6 +276,7 @@ class Metadata(metadata.SimpleMetadata):
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
@@ -306,7 +296,6 @@ class RoleMetadata(Metadata):
class SublistAttachDetatchMetadata(Metadata):
def determine_actions(self, request, view):
actions = super(SublistAttachDetatchMetadata, self).determine_actions(request, view)
method = 'POST'

View File

@@ -3,13 +3,9 @@
from django.conf.urls import url
from awx.api.views import (
MetricsView
)
from awx.api.views import MetricsView
urls = [
url(r'^$', MetricsView.as_view(), name='metrics_view'),
]
urls = [url(r'^$', MetricsView.as_view(), name='metrics_view')]
__all__ = ['urls']

View File

@@ -1,16 +1,19 @@
# Copyright (c) 2015 Ansible, Inc.
# All Rights Reserved.
from collections import OrderedDict
# 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
from rest_framework.settings import api_settings
from django.utils.translation import gettext_lazy as _
class DisabledPaginator(DjangoPaginator):
@property
def num_pages(self):
return 1
@@ -49,8 +52,7 @@ class Pagination(pagination.PageNumberPagination):
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']]
context['page_links'] = [pl._replace(url=self.cap_page_size(pl.url)) for pl in context['page_links']]
return context
@@ -67,3 +69,65 @@ class Pagination(pagination.PageNumberPagination):
if self.count_disabled:
return Response({'results': data})
return super(Pagination, self).get_paginated_response(data)
class LimitPagination(pagination.BasePagination):
default_limit = api_settings.PAGE_SIZE
limit_query_param = 'limit'
limit_query_description = _('Number of results to return per page.')
max_page_size = settings.MAX_PAGE_SIZE
def paginate_queryset(self, queryset, request, view=None):
self.limit = self.get_limit(request)
self.request = request
return list(queryset[0 : self.limit])
def get_paginated_response(self, data):
return Response(OrderedDict([('results', data)]))
def get_paginated_response_schema(self, schema):
return {
'type': 'object',
'properties': {
'results': schema,
},
}
def get_limit(self, request):
try:
return pagination._positive_int(request.query_params[self.limit_query_param], strict=True)
except (KeyError, ValueError):
pass
return self.default_limit
class UnifiedJobEventPagination(Pagination):
"""
By default, use Pagination for all operations.
If `limit` query parameter specified use LimitPagination
"""
def __init__(self, *args, **kwargs):
self.use_limit_paginator = False
self.limit_pagination = LimitPagination()
return super().__init__(*args, **kwargs)
def paginate_queryset(self, queryset, request, view=None):
if 'limit' in request.query_params:
self.use_limit_paginator = True
if self.use_limit_paginator:
return self.limit_pagination.paginate_queryset(queryset, request, view=view)
return super().paginate_queryset(queryset, request, view=view)
def get_paginated_response(self, data):
if self.use_limit_paginator:
return self.limit_pagination.get_paginated_response(data)
return super().get_paginated_response(data)
def get_paginated_response_schema(self, schema):
if self.use_limit_paginator:
return self.limit_pagination.get_paginated_response_schema(schema)
return super().get_paginated_response_schema(schema)

View File

@@ -4,6 +4,8 @@
# Python
import logging
from django.conf import settings
# Django REST Framework
from rest_framework.exceptions import MethodNotAllowed, PermissionDenied
from rest_framework import permissions
@@ -15,16 +17,25 @@ from awx.main.utils import get_object_or_400
logger = logging.getLogger('awx.api.permissions')
__all__ = ['ModelAccessPermission', 'JobTemplateCallbackPermission', 'VariableDataPermission',
'TaskPermission', 'ProjectUpdatePermission', 'InventoryInventorySourcesUpdatePermission',
'UserPermission', 'IsSuperUser', 'InstanceGroupTowerPermission', 'WorkflowApprovalPermission']
__all__ = [
'ModelAccessPermission',
'JobTemplateCallbackPermission',
'VariableDataPermission',
'TaskPermission',
'ProjectUpdatePermission',
'InventoryInventorySourcesUpdatePermission',
'UserPermission',
'IsSuperUser',
'InstanceGroupTowerPermission',
'WorkflowApprovalPermission',
]
class ModelAccessPermission(permissions.BasePermission):
'''
"""
Default permissions class to check user access based on the model and
request method, optionally verifying the request data.
'''
"""
def check_options_permissions(self, request, view, obj=None):
return self.check_get_permissions(request, view, obj)
@@ -35,8 +46,7 @@ class ModelAccessPermission(permissions.BasePermission):
def check_get_permissions(self, request, view, obj=None):
if hasattr(view, 'parent_model'):
parent_obj = view.get_parent_object()
if not check_user_access(request.user, view.parent_model, 'read',
parent_obj):
if not check_user_access(request.user, view.parent_model, 'read', parent_obj):
return False
if not obj:
return True
@@ -45,8 +55,7 @@ class ModelAccessPermission(permissions.BasePermission):
def check_post_permissions(self, request, view, obj=None):
if hasattr(view, 'parent_model'):
parent_obj = view.get_parent_object()
if not check_user_access(request.user, view.parent_model, 'read',
parent_obj):
if not check_user_access(request.user, view.parent_model, 'read', parent_obj):
return False
if hasattr(view, 'parent_key'):
if not check_user_access(request.user, view.model, 'add', {view.parent_key: parent_obj}):
@@ -60,10 +69,7 @@ class ModelAccessPermission(permissions.BasePermission):
extra_kwargs = {}
if view.obj_permission_type == 'admin':
extra_kwargs['data'] = {}
return check_user_access(
request.user, view.model, view.obj_permission_type, obj,
**extra_kwargs
)
return check_user_access(request.user, view.model, view.obj_permission_type, obj, **extra_kwargs)
else:
if obj:
return True
@@ -74,8 +80,7 @@ class ModelAccessPermission(permissions.BasePermission):
# FIXME: For some reason this needs to return True
# because it is first called with obj=None?
return True
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)
@@ -89,10 +94,10 @@ class ModelAccessPermission(permissions.BasePermission):
return check_user_access(request.user, view.model, 'delete', obj)
def check_permissions(self, request, view, obj=None):
'''
"""
Perform basic permissions checking before delegating to the appropriate
method based on the request method.
'''
"""
# Don't allow anonymous users. 401, not 403, hence no raised exception.
if not request.user or request.user.is_anonymous:
@@ -117,9 +122,7 @@ class ModelAccessPermission(permissions.BasePermission):
return result
def has_permission(self, request, view, obj=None):
logger.debug('has_permission(user=%s method=%s data=%r, %s, %r)',
request.user, request.method, request.data,
view.__class__.__name__, obj)
logger.debug('has_permission(user=%s method=%s data=%r, %s, %r)', request.user, request.method, request.data, view.__class__.__name__, obj)
try:
response = self.check_permissions(request, view, obj)
except Exception as e:
@@ -134,10 +137,10 @@ class ModelAccessPermission(permissions.BasePermission):
class JobTemplateCallbackPermission(ModelAccessPermission):
'''
"""
Permission check used by job template callback view for requests from
empheral hosts.
'''
"""
def has_permission(self, request, view, obj=None):
# If another authentication method was used and it's not a POST, return
@@ -160,18 +163,16 @@ class JobTemplateCallbackPermission(ModelAccessPermission):
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))
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.
'''
"""
def has_permission(self, request, view, obj=None):
# If another authentication method was used other than the one for
@@ -182,8 +183,7 @@ class TaskPermission(ModelAccessPermission):
# Verify that the ID present in the auth token is for a valid, active
# unified job.
try:
unified_job = UnifiedJob.objects.get(status='running',
pk=int(request.auth.split('-')[0]))
unified_job = UnifiedJob.objects.get(status='running', pk=int(request.auth.split('-')[0]))
except (UnifiedJob.DoesNotExist, TypeError):
return False
@@ -197,10 +197,10 @@ class TaskPermission(ModelAccessPermission):
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'])
@@ -208,9 +208,10 @@ class WorkflowApprovalPermission(ModelAccessPermission):
class ProjectUpdatePermission(ModelAccessPermission):
'''
"""
Permission check used by ProjectUpdateView to determine who can update projects
'''
"""
def check_get_permissions(self, request, view, obj=None):
project = get_object_or_400(view.model, pk=view.kwargs['pk'])
return check_user_access(request.user, view.model, 'read', project)
@@ -246,7 +247,7 @@ class IsSuperUser(permissions.BasePermission):
class InstanceGroupTowerPermission(ModelAccessPermission):
def has_object_permission(self, request, view, obj):
if request.method == 'DELETE' and obj.name == "tower":
if request.method == 'DELETE' and obj.name in [settings.DEFAULT_EXECUTION_QUEUE_NAME, settings.DEFAULT_CONTROL_PLANE_QUEUE_NAME]:
return False
return super(InstanceGroupTowerPermission, self).has_object_permission(request, view, obj)

View File

@@ -7,12 +7,29 @@ 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
from rest_framework.utils import encoders
class SurrogateEncoder(encoders.JSONEncoder):
def encode(self, obj):
ret = super(SurrogateEncoder, self).encode(obj)
try:
ret.encode()
except UnicodeEncodeError as e:
if 'surrogates not allowed' in e.reason:
ret = ret.encode('utf-8', 'replace').decode()
return ret
class DefaultJSONRenderer(renderers.JSONRenderer):
encoder_class = SurrogateEncoder
class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer):
'''
"""
Customizations to the default browsable API renderer.
'''
"""
def get_default_renderer(self, view):
renderer = super(BrowsableAPIRenderer, self).get_default_renderer(view)
@@ -30,9 +47,7 @@ class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer):
# 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)
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
@@ -107,18 +122,25 @@ class AnsiDownloadRenderer(PlainTextRenderer):
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
)
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:
data[family.name] = {}
data[family.name]['help_text'] = family.documentation
data[family.name]['type'] = family.type
data[family.name]['samples'] = []
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
)
sample_dict = {"labels": sample[1], "value": sample[2]}
if family.type == 'histogram':
if sample[0].endswith("_sum"):
sample_dict['sample_type'] = "sum"
elif sample[0].endswith("_count"):
sample_dict['sample_type'] = "count"
elif sample[0].endswith("_bucket"):
sample_dict['sample_type'] = "bucket"
data[family.name]['samples'].append(sample_dict)
return super(PrometheusJSONRenderer, self).render(data, accepted_media_type, renderer_context)

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,6 @@ 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
@@ -25,17 +24,17 @@ class SuperUserSchemaGenerator(SchemaGenerator):
class AutoSchema(DRFAuthSchema):
def get_link(self, path, method, base_url):
link = super(AutoSchema, self).get_link(path, method, base_url)
try:
serializer = self.view.get_serializer()
except Exception:
serializer = None
warnings.warn('{}.get_serializer() raised an exception during '
'schema generation. Serializer fields will not be '
'generated for {} {}.'
.format(self.view.__class__.__name__, method, path))
warnings.warn(
'{}.get_serializer() raised an exception during '
'schema generation. Serializer fields will not be '
'generated for {} {}.'.format(self.view.__class__.__name__, method, path)
)
link.__dict__['deprecated'] = getattr(self.view, 'deprecated', False)
@@ -43,9 +42,7 @@ class AutoSchema(DRFAuthSchema):
if hasattr(self.view, 'swagger_topic'):
link.__dict__['topic'] = str(self.view.swagger_topic).title()
elif serializer and hasattr(serializer, 'Meta'):
link.__dict__['topic'] = str(
serializer.Meta.model._meta.verbose_name_plural
).title()
link.__dict__['topic'] = str(serializer.Meta.model._meta.verbose_name_plural).title()
elif hasattr(self.view, 'model'):
link.__dict__['topic'] = str(self.view.model._meta.verbose_name_plural).title()
else:
@@ -62,18 +59,10 @@ class SwaggerSchemaView(APIView):
_ignore_model_permissions = True
exclude_from_schema = True
permission_classes = [AllowAny]
renderer_classes = [
CoreJSONRenderer,
renderers.OpenAPIRenderer,
renderers.SwaggerUIRenderer
]
renderer_classes = [CoreJSONRenderer, renderers.OpenAPIRenderer, renderers.SwaggerUIRenderer]
def get(self, request):
generator = SuperUserSchemaGenerator(
title='Ansible Tower API',
patterns=None,
urlconf=None
)
generator = SuperUserSchemaGenerator(title='Ansible Automation Platform controller API', patterns=None, urlconf=None)
schema = generator.get_schema(request=request)
# python core-api doesn't support the deprecation yet, so track it
# ourselves and return it in a response header
@@ -103,11 +92,6 @@ class SwaggerSchemaView(APIView):
schema._data[topic]._data[path] = node
if not schema:
raise exceptions.ValidationError(
'The schema generator did not return a schema Document'
)
raise exceptions.ValidationError('The schema generator did not return a schema Document')
return Response(
schema,
headers={'X-Deprecated-Paths': json.dumps(_deprecated)}
)
return Response(schema, headers={'X-Deprecated-Paths': json.dumps(_deprecated)})

View File

@@ -4,7 +4,6 @@ The following lists the expected format and details of our rrules:
* DTSTART is expected to be in UTC
* INTERVAL is required
* SECONDLY is not supported
* TZID is not supported
* RRULE must precede the rule statements
* BYDAY is supported but not BYDAY with a numerical prefix
* BYYEARDAY and BYWEEKNO are not supported

View File

@@ -0,0 +1 @@
{% include "api/job_job_events_list.md" %}

View File

@@ -8,7 +8,7 @@ The `period` of the data can be adjusted with:
?period=month
Where `month` can be replaced with `week`, or `day`. `month` is the default.
Where `month` can be replaced with `week`, `two_weeks`, or `day`. `month` is the default.
The type of job can be filtered with:

View File

@@ -0,0 +1 @@
{% include "api/job_job_events_list.md" %}

View File

@@ -0,0 +1,21 @@
{% include "api/sub_list_api_view.md" %}
{% ifmeth GET %}
## Special limit feature for event list views
Use the `limit` query string parameter to opt out of the pagination keys.
Doing this can improve response times for jobs that produce a large volume
of outputs.
?limit=25
This will set the page size to 25 and the `previous` and `next` keys will be
omitted from the response data. The data structure will look like this.
{
"results": [
...
]
}
{% endifmeth %}

View File

@@ -1,25 +0,0 @@
Make a GET request to retrieve the list of aggregated play data associated with a job
## Filtering
This endpoints supports a limited filtering subset:
?event_id__in=1,2,3
Will show only the given ids.
?event_id__gt=1
Will show ids greater than the given one.
?event_id__lt=3
Will show ids less than the given one.
?failed=true
Will show only failed plays. Alternatively `false` may be used.
?play__icontains=test
Will filter plays matching the substring `test`

View File

@@ -1,27 +0,0 @@
Make a GET request to retrieve the list of aggregated task data associated with the play given by event_id.
`event_id` is a required query parameter and must match the job event id of the parent play in order to receive the list of tasks associated with the play
## Filtering
This endpoints supports a limited filtering subset:
?event_id__in=1,2,3
Will show only the given task ids under the play given by `event_id`.
?event_id__gt=1
Will show ids greater than the given one.
?event_id__lt=3
Will show ids less than the given one.
?failed=true
Will show only failed plays. Alternatively `false` may be used.
?task__icontains=test
Will filter tasks matching the substring `test`

View File

@@ -0,0 +1 @@
query params to filter response, e.g., ?subsystemonly=1&metric=callback_receiver_events_insert_db&node=awx-1

View File

@@ -0,0 +1 @@
{% include "api/job_job_events_list.md" %}

View File

@@ -0,0 +1 @@
{% include "api/job_job_events_list.md" %}

View File

@@ -3,10 +3,7 @@
from django.conf.urls import url
from awx.api.views import (
ActivityStreamList,
ActivityStreamDetail,
)
from awx.api.views import ActivityStreamList, ActivityStreamDetail
urls = [

View File

@@ -3,14 +3,10 @@
from django.conf.urls import url
from awx.api.views import (
AdHocCommandEventList,
AdHocCommandEventDetail,
)
from awx.api.views import AdHocCommandEventDetail
urls = [
url(r'^$', AdHocCommandEventList.as_view(), name='ad_hoc_command_event_list'),
url(r'^(?P<pk>[0-9]+)/$', AdHocCommandEventDetail.as_view(), name='ad_hoc_command_event_detail'),
]

View File

@@ -3,10 +3,7 @@
from django.conf.urls import url
from awx.api.views import (
CredentialInputSourceDetail,
CredentialInputSourceList,
)
from awx.api.views import CredentialInputSourceDetail, CredentialInputSourceList
urls = [

View File

@@ -3,13 +3,7 @@
from django.conf.urls import url
from awx.api.views import (
CredentialTypeList,
CredentialTypeDetail,
CredentialTypeCredentialList,
CredentialTypeActivityStreamList,
CredentialTypeExternalTest,
)
from awx.api.views import CredentialTypeList, CredentialTypeDetail, CredentialTypeCredentialList, CredentialTypeActivityStreamList, CredentialTypeExternalTest
urls = [

View File

@@ -0,0 +1,20 @@
from django.conf.urls import url
from awx.api.views import (
ExecutionEnvironmentList,
ExecutionEnvironmentDetail,
ExecutionEnvironmentJobTemplateList,
ExecutionEnvironmentCopy,
ExecutionEnvironmentActivityStreamList,
)
urls = [
url(r'^$', ExecutionEnvironmentList.as_view(), name='execution_environment_list'),
url(r'^(?P<pk>[0-9]+)/$', ExecutionEnvironmentDetail.as_view(), name='execution_environment_detail'),
url(r'^(?P<pk>[0-9]+)/unified_job_templates/$', ExecutionEnvironmentJobTemplateList.as_view(), name='execution_environment_job_template_list'),
url(r'^(?P<pk>[0-9]+)/copy/$', ExecutionEnvironmentCopy.as_view(), name='execution_environment_copy'),
url(r'^(?P<pk>[0-9]+)/activity_stream/$', ExecutionEnvironmentActivityStreamList.as_view(), name='execution_environment_activity_stream_list'),
]
__all__ = ['urls']

View File

@@ -16,7 +16,6 @@ from awx.api.views import (
HostSmartInventoriesList,
HostAdHocCommandsList,
HostAdHocCommandEventsList,
HostInsights,
)
@@ -33,7 +32,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]+)/insights/$', HostInsights.as_view(), name='host_insights'),
]
__all__ = ['urls']

View File

@@ -3,20 +3,14 @@
from django.conf.urls import url
from awx.api.views import (
InstanceList,
InstanceDetail,
InstanceUnifiedJobsList,
InstanceInstanceGroupsList,
)
from awx.api.views import InstanceList, InstanceDetail, InstanceUnifiedJobsList, InstanceInstanceGroupsList
urls = [
url(r'^$', InstanceList.as_view(), name='instance_list'),
url(r'^(?P<pk>[0-9]+)/$', InstanceDetail.as_view(), name='instance_detail'),
url(r'^(?P<pk>[0-9]+)/jobs/$', InstanceUnifiedJobsList.as_view(), name='instance_unified_jobs_list'),
url(r'^(?P<pk>[0-9]+)/instance_groups/$', InstanceInstanceGroupsList.as_view(),
name='instance_instance_groups_list'),
url(r'^(?P<pk>[0-9]+)/instance_groups/$', InstanceInstanceGroupsList.as_view(), name='instance_instance_groups_list'),
]
__all__ = ['urls']

View File

@@ -3,12 +3,7 @@
from django.conf.urls import url
from awx.api.views import (
InstanceGroupList,
InstanceGroupDetail,
InstanceGroupUnifiedJobsList,
InstanceGroupInstanceList,
)
from awx.api.views import InstanceGroupList, InstanceGroupDetail, InstanceGroupUnifiedJobsList, InstanceGroupInstanceList
urls = [

View File

@@ -1,21 +0,0 @@
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
from django.conf.urls import url
from awx.api.views import (
InventoryScriptList,
InventoryScriptDetail,
InventoryScriptObjectRolesList,
InventoryScriptCopy,
)
urls = [
url(r'^$', InventoryScriptList.as_view(), name='inventory_script_list'),
url(r'^(?P<pk>[0-9]+)/$', InventoryScriptDetail.as_view(), name='inventory_script_detail'),
url(r'^(?P<pk>[0-9]+)/object_roles/$', InventoryScriptObjectRolesList.as_view(), name='inventory_script_object_roles_list'),
url(r'^(?P<pk>[0-9]+)/copy/$', InventoryScriptCopy.as_view(), name='inventory_script_copy'),
]
__all__ = ['urls']

View File

@@ -29,12 +29,21 @@ 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_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(),
name='inventory_source_notification_templates_success_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(),
name='inventory_source_notification_templates_success_list',
),
]
__all__ = ['urls']

View File

@@ -3,19 +3,11 @@
from django.conf.urls import url
from awx.api.views import (
JobEventList,
JobEventDetail,
JobEventChildrenList,
JobEventHostsList,
)
from awx.api.views import JobEventDetail, JobEventChildrenList
urls = [
url(r'^$', JobEventList.as_view(), name='job_event_list'),
url(r'^(?P<pk>[0-9]+)/$', JobEventDetail.as_view(), name='job_event_detail'),
url(r'^(?P<pk>[0-9]+)/children/$', JobEventChildrenList.as_view(), name='job_event_children_list'),
url(r'^(?P<pk>[0-9]+)/hosts/$', JobEventHostsList.as_view(), name='job_event_hosts_list'),
]
__all__ = ['urls']

View File

@@ -3,13 +3,9 @@
from django.conf.urls import url
from awx.api.views import (
JobHostSummaryDetail,
)
from awx.api.views import JobHostSummaryDetail
urls = [
url(r'^(?P<pk>[0-9]+)/$', JobHostSummaryDetail.as_view(), name='job_host_summary_detail'),
]
urls = [url(r'^(?P<pk>[0-9]+)/$', JobHostSummaryDetail.as_view(), name='job_host_summary_detail')]
__all__ = ['urls']

View File

@@ -34,12 +34,21 @@ 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_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(),
name='job_template_notification_templates_success_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(),
name='job_template_notification_templates_success_list',
),
url(r'^(?P<pk>[0-9]+)/instance_groups/$', JobTemplateInstanceGroupsList.as_view(), name='job_template_instance_groups_list'),
url(r'^(?P<pk>[0-9]+)/access_list/$', JobTemplateAccessList.as_view(), name='job_template_access_list'),
url(r'^(?P<pk>[0-9]+)/object_roles/$', JobTemplateObjectRolesList.as_view(), name='job_template_object_roles_list'),

View File

@@ -3,15 +3,9 @@
from django.conf.urls import url
from awx.api.views import (
LabelList,
LabelDetail,
)
from awx.api.views import LabelList, LabelDetail
urls = [
url(r'^$', LabelList.as_view(), name='label_list'),
url(r'^(?P<pk>[0-9]+)/$', LabelDetail.as_view(), name='label_detail'),
]
urls = [url(r'^$', LabelList.as_view(), name='label_list'), url(r'^(?P<pk>[0-9]+)/$', LabelDetail.as_view(), name='label_detail')]
__all__ = ['urls']

View File

@@ -3,15 +3,9 @@
from django.conf.urls import url
from awx.api.views import (
NotificationList,
NotificationDetail,
)
from awx.api.views import NotificationList, NotificationDetail
urls = [
url(r'^$', NotificationList.as_view(), name='notification_list'),
url(r'^(?P<pk>[0-9]+)/$', NotificationDetail.as_view(), name='notification_detail'),
]
urls = [url(r'^$', NotificationList.as_view(), name='notification_list'), url(r'^(?P<pk>[0-9]+)/$', NotificationDetail.as_view(), name='notification_detail')]
__all__ = ['urls']

View File

@@ -16,32 +16,12 @@ from awx.api.views import (
urls = [
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='o_auth2_application_token_list'
),
url(
r'^applications/(?P<pk>[0-9]+)/activity_stream/$',
OAuth2ApplicationActivityStreamList.as_view(),
name='o_auth2_application_activity_stream_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='o_auth2_application_token_list'),
url(r'^applications/(?P<pk>[0-9]+)/activity_stream/$', OAuth2ApplicationActivityStreamList.as_view(), name='o_auth2_application_activity_stream_list'),
url(r'^tokens/$', OAuth2TokenList.as_view(), name='o_auth2_token_list'),
url(
r'^tokens/(?P<pk>[0-9]+)/$',
OAuth2TokenDetail.as_view(),
name='o_auth2_token_detail'
),
url(
r'^tokens/(?P<pk>[0-9]+)/activity_stream/$',
OAuth2TokenActivityStreamList.as_view(),
name='o_auth2_token_activity_stream_list'
),
url(r'^tokens/(?P<pk>[0-9]+)/$', OAuth2TokenDetail.as_view(), name='o_auth2_token_detail'),
url(r'^tokens/(?P<pk>[0-9]+)/activity_stream/$', OAuth2TokenActivityStreamList.as_view(), name='o_auth2_token_activity_stream_list'),
]
__all__ = ['urls']

View File

@@ -10,13 +10,10 @@ from oauthlib import oauth2
from oauth2_provider import views
from awx.main.models import RefreshToken
from awx.api.views import (
ApiOAuthAuthorizationRootView,
)
from awx.api.views import ApiOAuthAuthorizationRootView
class TokenView(views.TokenView):
def create_token_response(self, request):
# Django OAuth2 Toolkit has a bug whereby refresh tokens are *never*
# properly expired (ugh):
@@ -26,9 +23,7 @@ class TokenView(views.TokenView):
# This code detects and auto-expires them on refresh grant
# requests.
if request.POST.get('grant_type') == 'refresh_token' and 'refresh_token' in request.POST:
refresh_token = RefreshToken.objects.filter(
token=request.POST['refresh_token']
).first()
refresh_token = RefreshToken.objects.filter(token=request.POST['refresh_token']).first()
if refresh_token:
expire_seconds = settings.OAUTH2_PROVIDER.get('REFRESH_TOKEN_EXPIRE_SECONDS', 0)
if refresh_token.created + timedelta(seconds=expire_seconds) < now():

View File

@@ -9,6 +9,7 @@ from awx.api.views import (
OrganizationUsersList,
OrganizationAdminsList,
OrganizationInventoriesList,
OrganizationExecutionEnvironmentsList,
OrganizationProjectsList,
OrganizationJobTemplatesList,
OrganizationWorkflowJobTemplatesList,
@@ -21,6 +22,7 @@ from awx.api.views import (
OrganizationNotificationTemplatesSuccessList,
OrganizationNotificationTemplatesApprovalList,
OrganizationInstanceGroupsList,
OrganizationGalaxyCredentialsList,
OrganizationObjectRolesList,
OrganizationAccessList,
OrganizationApplicationList,
@@ -33,6 +35,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/users/$', OrganizationUsersList.as_view(), name='organization_users_list'),
url(r'^(?P<pk>[0-9]+)/admins/$', OrganizationAdminsList.as_view(), name='organization_admins_list'),
url(r'^(?P<pk>[0-9]+)/inventories/$', OrganizationInventoriesList.as_view(), name='organization_inventories_list'),
url(r'^(?P<pk>[0-9]+)/execution_environments/$', OrganizationExecutionEnvironmentsList.as_view(), name='organization_execution_environments_list'),
url(r'^(?P<pk>[0-9]+)/projects/$', OrganizationProjectsList.as_view(), name='organization_projects_list'),
url(r'^(?P<pk>[0-9]+)/job_templates/$', OrganizationJobTemplatesList.as_view(), name='organization_job_templates_list'),
url(r'^(?P<pk>[0-9]+)/workflow_job_templates/$', OrganizationWorkflowJobTemplatesList.as_view(), name='organization_workflow_job_templates_list'),
@@ -40,15 +43,28 @@ 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_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]+)/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]+)/galaxy_credentials/$', OrganizationGalaxyCredentialsList.as_view(), name='organization_galaxy_credentials_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'),
url(r'^(?P<pk>[0-9]+)/applications/$', OrganizationApplicationList.as_view(), name='organization_applications_list'),

View File

@@ -35,10 +35,16 @@ urls = [
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_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]+)/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

@@ -3,14 +3,7 @@
from django.conf.urls import url
from awx.api.views import (
RoleList,
RoleDetail,
RoleUsersList,
RoleTeamsList,
RoleParentsList,
RoleChildrenList,
)
from awx.api.views import RoleList, RoleDetail, RoleUsersList, RoleTeamsList, RoleParentsList, RoleChildrenList
urls = [

View File

@@ -3,12 +3,7 @@
from django.conf.urls import url
from awx.api.views import (
ScheduleList,
ScheduleDetail,
ScheduleUnifiedJobsList,
ScheduleCredentialsList,
)
from awx.api.views import ScheduleList, ScheduleDetail, ScheduleUnifiedJobsList, ScheduleCredentialsList
urls = [

View File

@@ -3,13 +3,7 @@
from django.conf.urls import url
from awx.api.views import (
SystemJobList,
SystemJobDetail,
SystemJobCancel,
SystemJobNotificationsList,
SystemJobEventsList
)
from awx.api.views import SystemJobList, SystemJobDetail, SystemJobCancel, SystemJobNotificationsList, SystemJobEventsList
urls = [

View File

@@ -21,12 +21,21 @@ 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_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(),
name='system_job_template_notification_templates_success_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(),
name='system_job_template_notification_templates_success_list',
),
]
__all__ = ['urls']

View File

@@ -5,16 +5,14 @@ from __future__ import absolute_import, unicode_literals
from django.conf import settings
from django.conf.urls import include, url
from awx.api.generics import (
LoggedLoginView,
LoggedLogoutView,
)
from awx.api.generics import LoggedLoginView, LoggedLogoutView
from awx.api.views import (
ApiRootView,
ApiV2RootView,
ApiV2PingView,
ApiV2ConfigView,
ApiV2SubscriptionView,
ApiV2AttachView,
AuthView,
UserMeList,
DashboardView,
@@ -32,21 +30,19 @@ from awx.api.views import (
OAuth2ApplicationDetail,
)
from awx.api.views.metrics import (
MetricsView,
)
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
from .project_update import urls as project_update_urls
from .inventory import urls as inventory_urls
from .execution_environments import urls as execution_environment_urls
from .team import urls as team_urls
from .host import urls as host_urls
from .group import urls as group_urls
from .inventory_source import urls as inventory_source_urls
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
@@ -94,6 +90,7 @@ v2_urls = [
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'^config/attach/$', ApiV2AttachView.as_view(), name='api_v2_attach_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'),
@@ -104,6 +101,7 @@ v2_urls = [
url(r'^schedules/', include(schedule_urls)),
url(r'^organizations/', include(organization_urls)),
url(r'^users/', include(user_urls)),
url(r'^execution_environments/', include(execution_environment_urls)),
url(r'^projects/', include(project_urls)),
url(r'^project_updates/', include(project_update_urls)),
url(r'^teams/', include(team_urls)),
@@ -112,7 +110,6 @@ v2_urls = [
url(r'^groups/', include(group_urls)),
url(r'^inventory_sources/', include(inventory_source_urls)),
url(r'^inventory_updates/', include(inventory_update_urls)),
url(r'^inventory_scripts/', include(inventory_script_urls)),
url(r'^credentials/', include(credential_urls)),
url(r'^roles/', include(role_urls)),
url(r'^job_templates/', include(job_template_urls)),
@@ -142,17 +139,11 @@ app_name = 'api'
urlpatterns = [
url(r'^$', ApiRootView.as_view(), name='api_root_view'),
url(r'^(?P<version>(v2))/', include(v2_urls)),
url(r'^login/$', LoggedLoginView.as_view(
template_name='rest_framework/login.html',
extra_context={'inside_login_context': True}
), name='login'),
url(r'^logout/$', LoggedLogoutView.as_view(
next_page='/api/', redirect_field_name='next'
), name='logout'),
url(r'^login/$', LoggedLoginView.as_view(template_name='rest_framework/login.html', extra_context={'inside_login_context': True}), name='login'),
url(r'^logout/$', LoggedLogoutView.as_view(next_page='/api/', redirect_field_name='next'), name='logout'),
url(r'^o/', include(oauth2_root_urls)),
]
if settings.SETTINGS_MODULE == 'awx.settings.development':
from awx.api.swagger import SwaggerSchemaView
urlpatterns += [
url(r'^swagger/$', SwaggerSchemaView.as_view(), name='swagger_view'),
]
urlpatterns += [url(r'^swagger/$', SwaggerSchemaView.as_view(), name='swagger_view')]

View File

@@ -20,7 +20,7 @@ from awx.api.views import (
UserAuthorizedTokenList,
)
urls = [
urls = [
url(r'^$', UserList.as_view(), name='user_list'),
url(r'^(?P<pk>[0-9]+)/$', UserDetail.as_view(), name='user_detail'),
url(r'^(?P<pk>[0-9]+)/teams/$', UserTeamsList.as_view(), name='user_teams_list'),
@@ -35,7 +35,6 @@ urls = [
url(r'^(?P<pk>[0-9]+)/tokens/$', OAuth2UserTokenList.as_view(), name='o_auth2_token_list'),
url(r'^(?P<pk>[0-9]+)/authorized_tokens/$', UserAuthorizedTokenList.as_view(), name='user_authorized_token_list'),
url(r'^(?P<pk>[0-9]+)/personal_tokens/$', UserPersonalTokenList.as_view(), name='user_personal_token_list'),
]
]
__all__ = ['urls']

View File

@@ -1,10 +1,6 @@
from django.conf.urls import url
from awx.api.views import (
WebhookKeyView,
GithubWebhookReceiver,
GitlabWebhookReceiver,
)
from awx.api.views import WebhookKeyView, GithubWebhookReceiver, GitlabWebhookReceiver
urlpatterns = [

View File

@@ -3,12 +3,7 @@
from django.conf.urls import url
from awx.api.views import (
WorkflowApprovalList,
WorkflowApprovalDetail,
WorkflowApprovalApprove,
WorkflowApprovalDeny,
)
from awx.api.views import WorkflowApprovalList, WorkflowApprovalDetail, WorkflowApprovalApprove, WorkflowApprovalDeny
urls = [

View File

@@ -3,10 +3,7 @@
from django.conf.urls import url
from awx.api.views import (
WorkflowApprovalTemplateDetail,
WorkflowApprovalTemplateJobsList,
)
from awx.api.views import WorkflowApprovalTemplateDetail, WorkflowApprovalTemplateJobsList
urls = [

View File

@@ -33,14 +33,26 @@ 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_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]+)/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'),

View File

@@ -40,13 +40,10 @@ def reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra
class URLPathVersioning(BaseVersioning):
def reverse(self, viewname, args=None, kwargs=None, request=None, format=None, **extra):
if request.version is not None:
kwargs = {} if (kwargs is None) else kwargs
kwargs[self.version_param] = request.version
request = None
return super(BaseVersioning, self).reverse(
viewname, args, kwargs, request, format, **extra
)
return super(BaseVersioning, self).reverse(viewname, args, kwargs, request, format, **extra)

File diff suppressed because it is too large Load Diff

View File

@@ -25,17 +25,8 @@ from awx.main.models import (
InstanceGroup,
InventoryUpdateEvent,
InventoryUpdate,
InventorySource,
CustomInventoryScript,
)
from awx.api.generics import (
ListCreateAPIView,
RetrieveUpdateDestroyAPIView,
SubListAPIView,
SubListAttachDetachAPIView,
ResourceAccessList,
CopyAPIView,
)
from awx.api.generics import ListCreateAPIView, RetrieveUpdateDestroyAPIView, SubListAPIView, SubListAttachDetachAPIView, ResourceAccessList, CopyAPIView
from awx.api.serializers import (
InventorySerializer,
@@ -43,13 +34,12 @@ from awx.api.serializers import (
RoleSerializer,
InstanceGroupSerializer,
InventoryUpdateEventSerializer,
CustomInventoryScriptSerializer,
JobTemplateSerializer,
)
from awx.api.views.mixin import (
RelatedJobsPreventDeleteMixin,
ControlledByScmMixin,
)
from awx.api.views.mixin import RelatedJobsPreventDeleteMixin, ControlledByScmMixin
from awx.api.pagination import UnifiedJobEventPagination
logger = logging.getLogger('awx.api.views.organization')
@@ -62,61 +52,18 @@ class InventoryUpdateEventsList(SubListAPIView):
relationship = 'inventory_update_events'
name = _('Inventory Update Events List')
search_fields = ('stdout',)
pagination_class = UnifiedJobEventPagination
def get_queryset(self):
iu = self.get_parent_object()
self.check_parent_access(iu)
return iu.get_event_queryset()
def finalize_response(self, request, response, *args, **kwargs):
response['X-UI-Max-Events'] = settings.MAX_UI_JOB_EVENTS
return super(InventoryUpdateEventsList, self).finalize_response(request, response, *args, **kwargs)
class InventoryScriptList(ListCreateAPIView):
deprecated = True
model = CustomInventoryScript
serializer_class = CustomInventoryScriptSerializer
class InventoryScriptDetail(RetrieveUpdateDestroyAPIView):
deprecated = True
model = CustomInventoryScript
serializer_class = CustomInventoryScriptSerializer
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
can_delete = request.user.can_access(self.model, 'delete', instance)
if not can_delete:
raise PermissionDenied(_("Cannot delete inventory script."))
for inv_src in InventorySource.objects.filter(source_script=instance):
inv_src.source_script = None
inv_src.save()
return super(InventoryScriptDetail, self).destroy(request, *args, **kwargs)
class InventoryScriptObjectRolesList(SubListAPIView):
deprecated = True
model = Role
serializer_class = RoleSerializer
parent_model = CustomInventoryScript
search_fields = ('role_field', 'content_type__model',)
def get_queryset(self):
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)
class InventoryScriptCopy(CopyAPIView):
deprecated = True
model = CustomInventoryScript
copy_return_serializer_class = CustomInventoryScriptSerializer
class InventoryList(ListCreateAPIView):
model = Inventory
@@ -134,7 +81,7 @@ class InventoryDetail(RelatedJobsPreventDeleteMixin, ControlledByScmMixin, Retri
# Do not allow changes to an Inventory kind.
if kind is not None and obj.kind != kind:
return self.http_method_not_allowed(request, *args, **kwargs)
return Response(dict(error=_('You cannot turn a regular inventory into a "smart" inventory.')), status=status.HTTP_405_METHOD_NOT_ALLOWED)
return super(InventoryDetail, self).update(request, *args, **kwargs)
def destroy(self, request, *args, **kwargs):
@@ -174,7 +121,7 @@ class InventoryInstanceGroupsList(SubListAttachDetachAPIView):
class InventoryAccessList(ResourceAccessList):
model = User # needs to be User for AccessLists's
model = User # needs to be User for AccessLists's
parent_model = Inventory
@@ -183,7 +130,7 @@ class InventoryObjectRolesList(SubListAPIView):
model = Role
serializer_class = RoleSerializer
parent_model = Inventory
search_fields = ('role_field', 'content_type__model',)
search_fields = ('role_field', 'content_type__model')
def get_queryset(self):
po = self.get_parent_object()

View File

@@ -14,15 +14,14 @@ from rest_framework.exceptions import PermissionDenied
# AWX
# from awx.main.analytics import collectors
import awx.main.analytics.subsystem_metrics as s_metrics
from awx.main.analytics.metrics import metrics
from awx.api import renderers
from awx.api.generics import (
APIView,
)
from awx.api.generics import APIView
logger = logging.getLogger('awx.main.analytics')
logger = logging.getLogger('awx.analytics')
class MetricsView(APIView):
@@ -30,13 +29,15 @@ class MetricsView(APIView):
name = _('Metrics')
swagger_topic = 'Metrics'
renderer_classes = [renderers.PlainTextRenderer,
renderers.PrometheusJSONRenderer,
renderers.BrowsableAPIRenderer,]
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'))
'''Show Metrics Details'''
if request.user.is_superuser or request.user.is_system_auditor:
metrics_to_show = ''
if not request.query_params.get('subsystemonly', "0") == "1":
metrics_to_show += metrics().decode('UTF-8')
if not request.query_params.get('dbonly', "0") == "1":
metrics_to_show += s_metrics.metrics(request)
return Response(metrics_to_show)
raise PermissionDenied()

View File

@@ -16,14 +16,8 @@ from rest_framework.response import Response
from rest_framework import status
from awx.main.constants import ACTIVE_STATES
from awx.main.utils import (
get_object_or_400,
parse_yaml_or_json,
)
from awx.main.models.ha import (
Instance,
InstanceGroup,
)
from awx.main.utils import get_object_or_400, parse_yaml_or_json
from awx.main.models.ha import Instance, InstanceGroup
from awx.main.models.organization import Team
from awx.main.models.projects import Project
from awx.main.models.inventory import Inventory
@@ -34,9 +28,10 @@ logger = logging.getLogger('awx.api.views.mixin')
class UnifiedJobDeletionMixin(object):
'''
"""
Special handling when deleting a running unified job object.
'''
"""
def destroy(self, request, *args, **kwargs):
obj = self.get_object()
if not request.user.can_access(self.model, 'delete', obj):
@@ -53,22 +48,26 @@ class UnifiedJobDeletionMixin(object):
# Prohibit deletion if job events are still coming in
if obj.finished and now() < obj.finished + dateutil.relativedelta.relativedelta(minutes=1):
# less than 1 minute has passed since job finished and events are not in
return Response({"error": _("Job has not finished processing events.")},
status=status.HTTP_400_BAD_REQUEST)
return Response({"error": _("Job has not finished processing events.")}, status=status.HTTP_400_BAD_REQUEST)
else:
# if it has been > 1 minute, events are probably lost
logger.warning('Allowing deletion of {} through the API without all events '
'processed.'.format(obj.log_format))
logger.warning('Allowing deletion of {} through the API without all events ' 'processed.'.format(obj.log_format))
# Manually cascade delete events if unpartitioned job
if obj.has_unpartitioned_events:
obj.get_event_queryset().delete()
obj.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
class InstanceGroupMembershipMixin(object):
'''
"""
This mixin overloads attach/detach so that it calls InstanceGroup.save(),
triggering a background recalculation of policy-based instance group
membership.
'''
"""
def attach(self, request, *args, **kwargs):
response = super(InstanceGroupMembershipMixin, self).attach(request, *args, **kwargs)
sub_id, res = self.attach_validate(request)
@@ -84,24 +83,13 @@ class InstanceGroupMembershipMixin(object):
ig_obj = get_object_or_400(ig_qs, pk=sub_id)
else:
# similar to get_parent_object, but selected for update
parent_filter = {
self.lookup_field: self.kwargs.get(self.lookup_field, None),
}
parent_filter = {self.lookup_field: self.kwargs.get(self.lookup_field, None)}
ig_obj = get_object_or_404(ig_qs, **parent_filter)
if inst_name not in ig_obj.policy_instance_list:
ig_obj.policy_instance_list.append(inst_name)
ig_obj.save(update_fields=['policy_instance_list'])
return response
def is_valid_relation(self, parent, sub, created=False):
if sub.is_isolated():
return {'error': _('Isolated instances may not be added or removed from instances groups via the API.')}
if self.parent_model is InstanceGroup:
ig_obj = self.get_parent_object()
if ig_obj.controller_id is not None:
return {'error': _('Isolated instance group membership may not be managed via the API.')}
return None
def unattach_validate(self, request):
(sub_id, res) = super(InstanceGroupMembershipMixin, self).unattach_validate(request)
if res:
@@ -126,9 +114,7 @@ class InstanceGroupMembershipMixin(object):
ig_obj = get_object_or_400(ig_qs, pk=sub_id)
else:
# similar to get_parent_object, but selected for update
parent_filter = {
self.lookup_field: self.kwargs.get(self.lookup_field, None),
}
parent_filter = {self.lookup_field: self.kwargs.get(self.lookup_field, None)}
ig_obj = get_object_or_404(ig_qs, **parent_filter)
if inst_name in ig_obj.policy_instance_list:
ig_obj.policy_instance_list.pop(ig_obj.policy_instance_list.index(inst_name))
@@ -146,16 +132,13 @@ class RelatedJobsPreventDeleteMixin(object):
if len(active_jobs) > 0:
raise ActiveJobConflict(active_jobs)
time_cutoff = now() - dateutil.relativedelta.relativedelta(minutes=1)
recent_jobs = obj._get_related_jobs().filter(finished__gte = time_cutoff)
recent_jobs = obj._get_related_jobs().filter(finished__gte=time_cutoff)
for unified_job in recent_jobs.get_real_instances():
if not unified_job.event_processing_finished:
raise PermissionDenied(_(
'Related job {} is still processing events.'
).format(unified_job.log_format))
raise PermissionDenied(_('Related job {} is still processing events.').format(unified_job.log_format))
class OrganizationCountsMixin(object):
def get_serializer_context(self, *args, **kwargs):
full_context = super(OrganizationCountsMixin, self).get_serializer_context(*args, **kwargs)
@@ -177,26 +160,23 @@ class OrganizationCountsMixin(object):
# Produce counts of Foreign Key relationships
db_results['inventories'] = inv_qs.values('organization').annotate(Count('organization')).order_by('organization')
db_results['teams'] = Team.accessible_objects(
self.request.user, 'read_role').values('organization').annotate(
Count('organization')).order_by('organization')
db_results['teams'] = (
Team.accessible_objects(self.request.user, 'read_role').values('organization').annotate(Count('organization')).order_by('organization')
)
db_results['job_templates'] = jt_qs.values('organization').annotate(Count('organization')).order_by('organization')
db_results['projects'] = project_qs.values('organization').annotate(Count('organization')).order_by('organization')
# Other members and admins of organization are always viewable
db_results['users'] = org_qs.annotate(
users=Count('member_role__members', distinct=True),
admins=Count('admin_role__members', distinct=True)
).values('id', 'users', 'admins')
db_results['users'] = org_qs.annotate(users=Count('member_role__members', distinct=True), admins=Count('admin_role__members', distinct=True)).values(
'id', 'users', 'admins'
)
count_context = {}
for org in org_id_list:
org_id = org['id']
count_context[org_id] = {
'inventories': 0, 'teams': 0, 'users': 0, 'job_templates': 0,
'admins': 0, 'projects': 0}
count_context[org_id] = {'inventories': 0, 'teams': 0, 'users': 0, 'job_templates': 0, 'admins': 0, 'projects': 0}
for res, count_qs in db_results.items():
if res == 'users':
@@ -218,21 +198,20 @@ class OrganizationCountsMixin(object):
class ControlledByScmMixin(object):
'''
"""
Special method to reset SCM inventory commit hash
if anything that it manages changes.
'''
"""
def _reset_inv_src_rev(self, obj):
if self.request.method in SAFE_METHODS or not obj:
return
project_following_sources = obj.inventory_sources.filter(
update_on_project_update=True, source='scm')
project_following_sources = obj.inventory_sources.filter(update_on_project_update=True, source='scm')
if project_following_sources:
# Allow inventory changes unrelated to variables
if self.model == Inventory and (
not self.request or not self.request.data or
parse_yaml_or_json(self.request.data.get('variables', '')) == parse_yaml_or_json(obj.variables)):
not self.request or not self.request.data or parse_yaml_or_json(self.request.data.get('variables', '')) == parse_yaml_or_json(obj.variables)
):
return
project_following_sources.update(scm_last_revision='')

View File

@@ -7,12 +7,15 @@ 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.main.models import (
ActivityStream,
Inventory,
Host,
Project,
ExecutionEnvironment,
JobTemplate,
WorkflowJobTemplate,
Organization,
@@ -20,7 +23,8 @@ from awx.main.models import (
Role,
User,
Team,
InstanceGroup
InstanceGroup,
Credential,
)
from awx.api.generics import (
ListCreateAPIView,
@@ -42,12 +46,13 @@ from awx.api.serializers import (
RoleSerializer,
NotificationTemplateSerializer,
InstanceGroupSerializer,
ProjectSerializer, JobTemplateSerializer, WorkflowJobTemplateSerializer
)
from awx.api.views.mixin import (
RelatedJobsPreventDeleteMixin,
OrganizationCountsMixin,
ExecutionEnvironmentSerializer,
ProjectSerializer,
JobTemplateSerializer,
WorkflowJobTemplateSerializer,
CredentialSerializer,
)
from awx.api.views.mixin import RelatedJobsPreventDeleteMixin, OrganizationCountsMixin
logger = logging.getLogger('awx.api.views.organization')
@@ -78,23 +83,21 @@ class OrganizationDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPI
org_counts = {}
access_kwargs = {'accessor': self.request.user, 'role_field': 'read_role'}
direct_counts = Organization.objects.filter(id=org_id).annotate(
users=Count('member_role__members', distinct=True),
admins=Count('admin_role__members', distinct=True)
).values('users', 'admins')
direct_counts = (
Organization.objects.filter(id=org_id)
.annotate(users=Count('member_role__members', distinct=True), admins=Count('admin_role__members', distinct=True))
.values('users', 'admins')
)
if not direct_counts:
return full_context
org_counts = direct_counts[0]
org_counts['inventories'] = Inventory.accessible_objects(**access_kwargs).filter(
organization__id=org_id).count()
org_counts['teams'] = Team.accessible_objects(**access_kwargs).filter(
organization__id=org_id).count()
org_counts['projects'] = Project.accessible_objects(**access_kwargs).filter(
organization__id=org_id).count()
org_counts['job_templates'] = JobTemplate.accessible_objects(**access_kwargs).filter(
organization__id=org_id).count()
org_counts['inventories'] = Inventory.accessible_objects(**access_kwargs).filter(organization__id=org_id).count()
org_counts['teams'] = Team.accessible_objects(**access_kwargs).filter(organization__id=org_id).count()
org_counts['projects'] = Project.accessible_objects(**access_kwargs).filter(organization__id=org_id).count()
org_counts['job_templates'] = JobTemplate.accessible_objects(**access_kwargs).filter(organization__id=org_id).count()
org_counts['hosts'] = Host.objects.org_active_count(org_id)
full_context['related_field_counts'] = {}
full_context['related_field_counts'][org_id] = org_counts
@@ -136,6 +139,16 @@ class OrganizationProjectsList(SubListCreateAPIView):
parent_key = 'organization'
class OrganizationExecutionEnvironmentsList(SubListCreateAttachDetachAPIView):
model = ExecutionEnvironment
serializer_class = ExecutionEnvironmentSerializer
parent_model = Organization
relationship = 'executionenvironments'
parent_key = 'organization'
swagger_topic = "Execution Environments"
class OrganizationJobTemplatesList(SubListCreateAPIView):
model = JobTemplate
@@ -214,9 +227,21 @@ class OrganizationInstanceGroupsList(SubListAttachDetachAPIView):
relationship = 'instance_groups'
class OrganizationGalaxyCredentialsList(SubListAttachDetachAPIView):
model = Credential
serializer_class = CredentialSerializer
parent_model = Organization
relationship = 'galaxy_credentials'
def is_valid_relation(self, parent, sub, created=False):
if sub.kind != 'galaxy_api_token':
return {'msg': _(f"Credential must be a Galaxy credential, not {sub.credential_type.name}.")}
class OrganizationAccessList(ResourceAccessList):
model = User # needs to be User for AccessLists's
model = User # needs to be User for AccessLists's
parent_model = Organization
@@ -225,7 +250,7 @@ class OrganizationObjectRolesList(SubListAPIView):
model = Role
serializer_class = RoleSerializer
parent_model = Organization
search_fields = ('role_field', 'content_type__model',)
search_fields = ('role_field', 'content_type__model')
def get_queryset(self):
po = self.get_parent_object()

View File

@@ -1,9 +1,10 @@
# Copyright (c) 2018 Ansible, Inc.
# All Rights Reserved.
import base64
import json
import logging
import operator
import json
from collections import OrderedDict
from django.conf import settings
@@ -21,24 +22,15 @@ import requests
from awx.api.generics import APIView
from awx.conf.registry import settings_registry
from awx.main.analytics import all_collectors
from awx.main.ha import is_ha_environment
from awx.main.utils import (
get_awx_version,
get_ansible_version,
get_custom_venv_choices,
to_python_boolean,
)
from awx.main.utils import get_awx_version, get_custom_venv_choices
from awx.main.utils.licensing import validate_entitlement_manifest
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,
Instance,
InstanceGroup,
JobTemplate,
)
from awx.main.models import Project, Organization, Instance, InstanceGroup, JobTemplate
from awx.main.utils import set_environ
from awx.main.utils.licensing import get_licenser
logger = logging.getLogger('awx.api.views.root')
@@ -52,13 +44,13 @@ class ApiRootView(APIView):
@method_decorator(ensure_csrf_cookie)
def get(self, request, format=None):
''' List supported API versions '''
'''List supported API versions'''
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(v2 = v2)
data['available_versions'] = dict(v2=v2)
data['oauth2'] = drf_reverse('api:oauth_authorization_root_view')
data['custom_logo'] = settings.CUSTOM_LOGO
data['custom_login_info'] = settings.CUSTOM_LOGIN_INFO
@@ -87,7 +79,7 @@ class ApiVersionRootView(APIView):
swagger_topic = 'Versioning'
def get(self, request, format=None):
''' List top level resources '''
'''List top level resources'''
data = OrderedDict()
data['ping'] = reverse('api:api_v2_ping_view', request=request)
data['instances'] = reverse('api:instance_list', request=request)
@@ -98,6 +90,7 @@ class ApiVersionRootView(APIView):
data['dashboard'] = reverse('api:dashboard_view', request=request)
data['organizations'] = reverse('api:organization_list', request=request)
data['users'] = reverse('api:user_list', request=request)
data['execution_environments'] = reverse('api:execution_environment_list', request=request)
data['projects'] = reverse('api:project_list', request=request)
data['project_updates'] = reverse('api:project_update_list', request=request)
data['teams'] = reverse('api:team_list', request=request)
@@ -108,14 +101,12 @@ class ApiVersionRootView(APIView):
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)
data['inventory_updates'] = reverse('api:inventory_update_list', request=request)
data['groups'] = reverse('api:group_list', request=request)
data['hosts'] = reverse('api:host_list', request=request)
data['job_templates'] = reverse('api:job_template_list', request=request)
data['jobs'] = reverse('api:job_list', request=request)
data['job_events'] = reverse('api:job_event_list', request=request)
data['ad_hoc_commands'] = reverse('api:ad_hoc_command_list', request=request)
data['system_job_templates'] = reverse('api:system_job_template_list', request=request)
data['system_jobs'] = reverse('api:system_job_list', request=request)
@@ -143,6 +134,7 @@ 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 = ()
name = _('Ping')
@@ -154,30 +146,26 @@ class ApiV2PingView(APIView):
Everything returned here should be considered public / insecure, as
this requires no auth and is intended for use by the installer process.
"""
response = {
'ha': is_ha_environment(),
'version': get_awx_version(),
'active_node': settings.CLUSTER_HOST_ID,
'install_uuid': settings.INSTALL_UUID,
}
response = {'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, uuid=instance.uuid, heartbeat=instance.modified,
capacity=instance.capacity, version=instance.version))
response['instances'].append(
dict(node=instance.hostname, uuid=instance.uuid, heartbeat=instance.modified, capacity=instance.capacity, version=instance.version)
)
sorted(response['instances'], key=operator.itemgetter('node'))
response['instance_groups'] = []
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()]))
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 ApiV2SubscriptionView(APIView):
permission_classes = (IsAuthenticated,)
name = _('Configuration')
name = _('Subscriptions')
swagger_topic = 'System Configuration'
def check_permissions(self, request):
@@ -186,24 +174,20 @@ class ApiV2SubscriptionView(APIView):
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
if data.get('subscriptions_password') == '$encrypted$':
data['subscriptions_password'] = settings.SUBSCRIPTIONS_PASSWORD
try:
user, pw = data.get('rh_username'), data.get('rh_password')
user, pw = data.get('subscriptions_username'), data.get('subscriptions_password')
with set_environ(**settings.AWX_TASK_ENV):
validated = get_licenser().validate_rh(user, pw)
if user:
settings.REDHAT_USERNAME = data['rh_username']
settings.SUBSCRIPTIONS_USERNAME = data['subscriptions_username']
if pw:
settings.REDHAT_PASSWORD = data['rh_password']
settings.SUBSCRIPTIONS_PASSWORD = data['subscriptions_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 = _("Invalid Subscription")
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.")
@@ -212,13 +196,58 @@ class ApiV2SubscriptionView(APIView):
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))
logger.exception(smart_text(u"Invalid subscription submitted."), extra=dict(actor=request.user.username))
return Response({"error": msg}, status=status.HTTP_400_BAD_REQUEST)
return Response(validated)
class ApiV2AttachView(APIView):
permission_classes = (IsAuthenticated,)
name = _('Attach Subscription')
swagger_topic = 'System Configuration'
def check_permissions(self, request):
super(ApiV2AttachView, 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):
data = request.data.copy()
pool_id = data.get('pool_id', None)
if not pool_id:
return Response({"error": _("No subscription pool ID provided.")}, status=status.HTTP_400_BAD_REQUEST)
user = getattr(settings, 'SUBSCRIPTIONS_USERNAME', None)
pw = getattr(settings, 'SUBSCRIPTIONS_PASSWORD', None)
if pool_id and user and pw:
data = request.data.copy()
try:
with set_environ(**settings.AWX_TASK_ENV):
validated = get_licenser().validate_rh(user, pw)
except Exception as exc:
msg = _("Invalid Subscription")
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 subscription submitted."), extra=dict(actor=request.user.username))
return Response({"error": msg}, status=status.HTTP_400_BAD_REQUEST)
for sub in validated:
if sub['pool_id'] == pool_id:
sub['valid_key'] = True
settings.LICENSE = sub
return Response(sub)
return Response({"error": _("Error processing subscription metadata.")}, status=status.HTTP_400_BAD_REQUEST)
class ApiV2ConfigView(APIView):
permission_classes = (IsAuthenticated,)
@@ -233,15 +262,10 @@ class ApiV2ConfigView(APIView):
def get(self, request, format=None):
'''Return various sitewide configuration settings'''
if request.user.is_superuser or request.user.is_system_auditor:
license_data = get_license(show_key=True)
else:
license_data = get_license(show_key=False)
license_data = get_licenser().validate()
if not license_data.get('valid_key', False):
license_data = {}
if license_data and 'features' in license_data and 'activity_streams' in license_data['features']:
# FIXME: Make the final setting value dependent on the feature?
license_data['features']['activity_streams'] &= settings.ACTIVITY_STREAM_ENABLED
pendo_state = settings.PENDO_TRACKING_STATE if settings.PENDO_TRACKING_STATE in ('off', 'anonymous', 'detailed') else 'off'
@@ -249,9 +273,9 @@ class ApiV2ConfigView(APIView):
time_zone=settings.TIME_ZONE,
license_info=license_data,
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_collectors=all_collectors(),
become_methods=PRIVILEGE_ESCALATION_METHODS,
)
@@ -264,16 +288,20 @@ class ApiV2ConfigView(APIView):
user_ldap_fields.extend(getattr(settings, 'AUTH_LDAP_USER_FLAGS_BY_GROUP', {}).keys())
data['user_ldap_fields'] = user_ldap_fields
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, 'project_admin_role').exists():
data.update(dict(
project_base_dir = settings.PROJECTS_ROOT,
project_local_paths = Project.get_local_path_choices(),
custom_virtualenvs = get_custom_venv_choices()
))
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, 'project_admin_role').exists()
):
data.update(
dict(
project_base_dir=settings.PROJECTS_ROOT,
project_local_paths=Project.get_local_path_choices(),
custom_virtualenvs=get_custom_venv_choices(),
)
)
elif JobTemplate.accessible_objects(request.user, 'admin_role').exists():
data['custom_virtualenvs'] = get_custom_venv_choices()
@@ -281,42 +309,47 @@ class ApiV2ConfigView(APIView):
def post(self, request):
if not isinstance(request.data, dict):
return Response({"error": _("Invalid license data")}, status=status.HTTP_400_BAD_REQUEST)
if "eula_accepted" not in request.data:
return Response({"error": _("Missing 'eula_accepted' property")}, status=status.HTTP_400_BAD_REQUEST)
try:
eula_accepted = to_python_boolean(request.data["eula_accepted"])
except ValueError:
return Response({"error": _("'eula_accepted' value is invalid")}, status=status.HTTP_400_BAD_REQUEST)
if not eula_accepted:
return Response({"error": _("'eula_accepted' must be True")}, status=status.HTTP_400_BAD_REQUEST)
request.data.pop("eula_accepted")
return Response({"error": _("Invalid subscription data")}, status=status.HTTP_400_BAD_REQUEST)
try:
data_actual = json.dumps(request.data)
except Exception:
logger.info(smart_text(u"Invalid JSON submitted for license."),
extra=dict(actor=request.user.username))
logger.info(smart_text(u"Invalid JSON submitted for license."), extra=dict(actor=request.user.username))
return Response({"error": _("Invalid JSON")}, status=status.HTTP_400_BAD_REQUEST)
try:
from awx.main.utils.common import get_licenser
license_data = json.loads(data_actual)
license_data_validated = get_licenser(**license_data).validate()
except Exception:
logger.warning(smart_text(u"Invalid license submitted."),
extra=dict(actor=request.user.username))
return Response({"error": _("Invalid License")}, status=status.HTTP_400_BAD_REQUEST)
license_data = json.loads(data_actual)
if 'license_key' in license_data:
return Response({"error": _('Legacy license submitted. A subscription manifest is now required.')}, status=status.HTTP_400_BAD_REQUEST)
if 'manifest' in license_data:
try:
json_actual = json.loads(base64.b64decode(license_data['manifest']))
if 'license_key' in json_actual:
return Response({"error": _('Legacy license submitted. A subscription manifest is now required.')}, status=status.HTTP_400_BAD_REQUEST)
except Exception:
pass
try:
license_data = validate_entitlement_manifest(license_data['manifest'])
except ValueError as e:
return Response({"error": str(e)}, status=status.HTTP_400_BAD_REQUEST)
except Exception:
logger.exception('Invalid manifest submitted. {}')
return Response({"error": _('Invalid manifest submitted.')}, status=status.HTTP_400_BAD_REQUEST)
try:
license_data_validated = get_licenser().license_from_manifest(license_data)
except Exception:
logger.warning(smart_text(u"Invalid subscription submitted."), extra=dict(actor=request.user.username))
return Response({"error": _("Invalid License")}, status=status.HTTP_400_BAD_REQUEST)
else:
license_data_validated = get_licenser().validate()
# If the license is valid, write it to the database.
if license_data_validated['valid_key']:
settings.LICENSE = license_data
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."),
extra=dict(actor=request.user.username))
return Response({"error": _("Invalid license")}, status=status.HTTP_400_BAD_REQUEST)
logger.warning(smart_text(u"Invalid subscription submitted."), extra=dict(actor=request.user.username))
return Response({"error": _("Invalid subscription")}, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request):
try:

View File

@@ -26,10 +26,7 @@ class WebhookKeyView(GenericAPIView):
permission_classes = (WebhookKeyPermission,)
def get_queryset(self):
qs_models = {
'job_templates': JobTemplate,
'workflow_job_templates': WorkflowJobTemplate,
}
qs_models = {'job_templates': JobTemplate, 'workflow_job_templates': WorkflowJobTemplate}
self.model = qs_models.get(self.kwargs['model_kwarg'])
return super().get_queryset()
@@ -57,10 +54,7 @@ class WebhookReceiverBase(APIView):
ref_keys = {}
def get_queryset(self):
qs_models = {
'job_templates': JobTemplate,
'workflow_job_templates': WorkflowJobTemplate,
}
qs_models = {'job_templates': JobTemplate, 'workflow_job_templates': WorkflowJobTemplate}
model = qs_models.get(self.kwargs['model_kwarg'])
if model is None:
raise PermissionDenied
@@ -120,10 +114,7 @@ class WebhookReceiverBase(APIView):
# 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)
)
logger.debug("headers: {}\n" "data: {}\n".format(request.headers, request.data))
obj = self.get_object()
self.check_signature(obj)
@@ -132,16 +123,11 @@ class WebhookReceiverBase(APIView):
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,
}
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)
return Response({'message': _("Webhook previously received, aborting.")}, status=status.HTTP_202_ACCEPTED)
kwargs = {
'_eager_fields': {
@@ -156,7 +142,7 @@ class WebhookReceiverBase(APIView):
'tower_webhook_event_ref': event_ref,
'tower_webhook_status_api': status_api,
'tower_webhook_payload': request.data,
}
},
}
new_job = obj.create_unified_job(**kwargs)
@@ -205,11 +191,7 @@ class GithubWebhookReceiver(WebhookReceiverBase):
class GitlabWebhookReceiver(WebhookReceiverBase):
service = 'gitlab'
ref_keys = {
'Push Hook': 'checkout_sha',
'Tag Push Hook': 'checkout_sha',
'Merge Request Hook': 'object_attributes.last_commit.id',
}
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')
@@ -229,8 +211,7 @@ class GitlabWebhookReceiver(WebhookReceiverBase):
return
parsed = urllib.parse.urlparse(repo_url)
return "{}://{}/api/v4/projects/{}/statuses/{}".format(
parsed.scheme, parsed.netloc, project['id'], self.get_event_ref())
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 '')

View File

@@ -4,11 +4,12 @@ import os
import logging
import django
from awx import __version__ as tower_version
# Prepare the AWX environment.
from awx import prepare_env, MODE
from channels.routing import get_default_application # noqa
prepare_env() # NOQA
prepare_env() # NOQA
"""
@@ -25,10 +26,12 @@ if MODE == 'production':
try:
fd = open("/var/lib/awx/.tower_version", "r")
if fd.read().strip() != tower_version:
raise Exception()
except Exception:
logger.error("Missing or incorrect metadata for Tower version. Ensure Tower was installed using the setup playbook.")
raise Exception("Missing or incorrect metadata for Tower version. Ensure Tower was installed using the setup playbook.")
raise ValueError()
except FileNotFoundError:
pass
except ValueError as e:
logger.error("Missing or incorrect metadata for controller version. Ensure controller was installed using the setup playbook.")
raise Exception("Missing or incorrect metadata for controller version. Ensure controller was installed using the setup playbook.") from e
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "awx.settings")

View File

@@ -4,7 +4,7 @@
# Django
from django.utils.module_loading import autodiscover_modules
# Tower
# AWX
from .registry import settings_registry
default_app_config = 'awx.conf.apps.ConfConfig'

View File

@@ -4,18 +4,18 @@
# Django
from django.db.models import Q
# Tower
# AWX
from awx.main.access import BaseAccess, register_access
from awx.conf.models import Setting
class SettingAccess(BaseAccess):
'''
"""
- I can see settings when I am a super user or system auditor.
- I can edit settings when I am a super user.
- I can clear settings when I am a super user.
- I can always see/edit/clear my own user settings.
'''
"""
model = Setting

View File

@@ -1,5 +1,6 @@
# Django
from django.apps import AppConfig
# from django.core import checks
from django.utils.translation import ugettext_lazy as _
@@ -12,4 +13,5 @@ class ConfConfig(AppConfig):
def ready(self):
self.module.autodiscover()
from .settings import SettingsWrapper
SettingsWrapper.initialize()

View File

@@ -2,7 +2,7 @@
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
# Tower
# AWX
from awx.conf import fields, register
from awx.conf import settings_registry

View File

@@ -10,10 +10,8 @@ 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
BooleanField, CharField, ChoiceField, DictField, DateTimeField, EmailField,
IntegerField, ListField, NullBooleanField
)
from rest_framework.fields import BooleanField, CharField, ChoiceField, DictField, DateTimeField, EmailField, IntegerField, ListField, NullBooleanField # noqa
from rest_framework.serializers import PrimaryKeyRelatedField # noqa
logger = logging.getLogger('awx.conf.fields')
@@ -26,7 +24,6 @@ logger = logging.getLogger('awx.conf.fields')
class CharField(CharField):
def to_representation(self, value):
# django_rest_frameworks' default CharField implementation casts `None`
# to a string `"None"`:
@@ -38,7 +35,6 @@ class CharField(CharField):
class IntegerField(IntegerField):
def get_value(self, dictionary):
ret = super(IntegerField, self).get_value(dictionary)
# Handle UI corner case
@@ -59,9 +55,7 @@ class StringListField(ListField):
class StringListBooleanField(ListField):
default_error_messages = {
'type_error': _('Expected None, True, False, a string or list of strings but got {input_type} instead.'),
}
default_error_messages = {'type_error': _('Expected None, True, False, a string or list of strings but got {input_type} instead.')}
child = CharField()
def to_representation(self, value):
@@ -100,10 +94,7 @@ class StringListBooleanField(ListField):
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.'),
}
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)):
@@ -122,12 +113,12 @@ 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
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)'
@@ -138,7 +129,9 @@ class URLField(CharField):
r'(?:' + URLValidator.ipv4_re + '|' + URLValidator.ipv6_re + '|' + host_re + ')'
r'(?::\d{2,5})?' # port
r'(?:[/?#][^\s]*)?' # resource path
r'\Z', re.IGNORECASE)
r'\Z',
re.IGNORECASE,
)
def __init__(self, **kwargs):
schemes = kwargs.pop('schemes', None)
@@ -183,9 +176,7 @@ class URLField(CharField):
class KeyValueField(DictField):
child = CharField()
default_error_messages = {
'invalid_child': _('"{input}" is not a valid string.')
}
default_error_messages = {'invalid_child': _('"{input}" is not a valid string.')}
def to_internal_value(self, data):
ret = super(KeyValueField, self).to_internal_value(data)
@@ -198,9 +189,7 @@ class KeyValueField(DictField):
class ListTuplesField(ListField):
default_error_messages = {
'type_error': _('Expected a list of tuples of max length 2 but got {input_type} instead.'),
}
default_error_messages = {'type_error': _('Expected a list of tuples of max length 2 but got {input_type} instead.')}
def to_representation(self, value):
if isinstance(value, (list, tuple)):

View File

@@ -1,18 +1,15 @@
# Copyright (c) 2016 Ansible, Inc.
# All Rights Reserved.
__all__ = ['get_license']
def _get_validated_license_data():
from awx.main.utils.common import get_licenser
from awx.main.utils import get_licenser
return get_licenser().validate()
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_license():
"""Return a dictionary representing the active license on this instance."""
return _get_validated_license_data()

View File

@@ -8,9 +8,7 @@ from django.conf import settings
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)]
operations = [
migrations.CreateModel(
@@ -21,11 +19,11 @@ 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, on_delete=models.CASCADE, 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,
},
),
options={'abstract': False},
)
]

View File

@@ -15,11 +15,7 @@ def copy_tower_settings(apps, schema_editor):
if tower_setting.key == 'LICENSE':
value = json.loads(value)
setting, created = Setting.objects.get_or_create(
key=tower_setting.key,
user=tower_setting.user,
created=tower_setting.created,
modified=tower_setting.modified,
defaults=dict(value=value),
key=tower_setting.key, user=tower_setting.user, created=tower_setting.created, modified=tower_setting.modified, defaults=dict(value=value)
)
if not created and setting.value != value:
setting.value = value
@@ -36,18 +32,9 @@ def revert_tower_settings(apps, schema_editor):
# LICENSE is stored as a JSON object; convert it back to a string.
if setting.key == 'LICENSE':
value = json.dumps(value)
defaults = dict(
value=value,
value_type='string',
description='',
category='',
)
defaults = dict(value=value, value_type='string', description='', category='')
try:
tower_setting, created = TowerSettings.objects.get_or_create(
key=setting.key,
user=setting.user,
defaults=defaults,
)
tower_setting, created = TowerSettings.objects.get_or_create(key=setting.key, user=setting.user, defaults=defaults)
if not created:
update_fields = []
for k, v in defaults.items():
@@ -62,15 +49,8 @@ def revert_tower_settings(apps, schema_editor):
class Migration(migrations.Migration):
dependencies = [
('conf', '0001_initial'),
('main', '0004_squashed_v310_release'),
]
dependencies = [('conf', '0001_initial'), ('main', '0004_squashed_v310_release')]
run_before = [
('main', '0005_squashed_v310_v313_updates'),
]
run_before = [('main', '0005_squashed_v310_v313_updates')]
operations = [
migrations.RunPython(copy_tower_settings, revert_tower_settings),
]
operations = [migrations.RunPython(copy_tower_settings, revert_tower_settings)]

View File

@@ -7,14 +7,6 @@ import awx.main.fields
class Migration(migrations.Migration):
dependencies = [
('conf', '0002_v310_copy_tower_settings'),
]
dependencies = [('conf', '0002_v310_copy_tower_settings')]
operations = [
migrations.AlterField(
model_name='setting',
name='value',
field=awx.main.fields.JSONField(null=True),
),
]
operations = [migrations.AlterField(model_name='setting', name='value', field=awx.main.fields.JSONField(null=True))]

View File

@@ -6,9 +6,7 @@ from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('conf', '0003_v310_JSONField_changes'),
]
dependencies = [('conf', '0003_v310_JSONField_changes')]
operations = [
# This list is intentionally empty.

View File

@@ -2,8 +2,8 @@
from __future__ import unicode_literals
from django.db import migrations
from awx.conf.migrations import _rename_setting
def copy_session_settings(apps, schema_editor):
_rename_setting.rename_setting(apps, schema_editor, old_key='AUTH_TOKEN_PER_USER', new_key='SESSIONS_PER_USER')
_rename_setting.rename_setting(apps, schema_editor, old_key='AUTH_TOKEN_EXPIRATION', new_key='SESSION_COOKIE_AGE')
@@ -16,11 +16,6 @@ def reverse_copy_session_settings(apps, schema_editor):
class Migration(migrations.Migration):
dependencies = [
('conf', '0004_v320_reencrypt'),
]
dependencies = [('conf', '0004_v320_reencrypt')]
operations = [
migrations.RunPython(copy_session_settings, reverse_copy_session_settings),
]
operations = [migrations.RunPython(copy_session_settings, reverse_copy_session_settings)]

View File

@@ -9,10 +9,6 @@ from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('conf', '0005_v330_rename_two_session_settings'),
]
dependencies = [('conf', '0005_v330_rename_two_session_settings')]
operations = [
migrations.RunPython(fill_ldap_group_type_params),
]
operations = [migrations.RunPython(fill_ldap_group_type_params)]

View File

@@ -0,0 +1,15 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
from awx.conf.migrations import _rename_setting
def copy_allowed_ips(apps, schema_editor):
_rename_setting.rename_setting(apps, schema_editor, old_key='PROXY_IP_WHITELIST', new_key='PROXY_IP_ALLOWED_LIST')
class Migration(migrations.Migration):
dependencies = [('conf', '0006_v331_ldap_group_type')]
operations = [migrations.RunPython(copy_allowed_ips)]

View File

@@ -0,0 +1,20 @@
# Generated by Django 2.2.11 on 2020-08-04 15:19
import logging
from django.db import migrations
from awx.conf.migrations._subscriptions import clear_old_license, prefill_rh_credentials
logger = logging.getLogger('awx.conf.migrations')
def _noop(apps, schema_editor):
pass
class Migration(migrations.Migration):
dependencies = [('conf', '0007_v380_rename_more_settings')]
operations = [migrations.RunPython(clear_old_license, _noop), migrations.RunPython(prefill_rh_credentials, _noop)]

View File

@@ -0,0 +1,16 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
from awx.conf.migrations import _rename_setting
def rename_proot_settings(apps, schema_editor):
_rename_setting.rename_setting(apps, schema_editor, old_key='AWX_PROOT_BASE_PATH', new_key='AWX_ISOLATION_BASE_PATH')
_rename_setting.rename_setting(apps, schema_editor, old_key='AWX_PROOT_SHOW_PATHS', new_key='AWX_ISOLATION_SHOW_PATHS')
class Migration(migrations.Migration):
dependencies = [('conf', '0008_subscriptions')]
operations = [migrations.RunPython(rename_proot_settings)]

Some files were not shown because too many files have changed in this diff Show More