Compare commits

...

4135 Commits
1.0.2 ... 2.1.1

Author SHA1 Message Date
softwarefactory-project-zuul[bot]
28733800c4 Merge pull request #2842 from mabashian/2839-workflow-key
Changes workflow key icon from fa-key to fa-compass

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-30 13:21:45 +00:00
softwarefactory-project-zuul[bot]
cf2deefa41 Merge pull request #2843 from ansible/update-e2e-tests-2
Updating e2e tests to match change in order layout

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-30 02:04:21 +00:00
John Hill
e5645dd798 one more 2018-11-29 19:35:11 -05:00
John Hill
6205a5db83 Updating to fix linting error 2018-11-29 19:11:27 -05:00
John Hill
e50dd92425 Cannot depend on the id and order, reverting to workflow node names 2018-11-29 18:16:53 -05:00
softwarefactory-project-zuul[bot]
4955fc8bc4 Merge pull request #2840 from ryanpetrello/project-update-bug
resolve a nuanced traceback for JTs that run w/ a failed project

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-29 22:35:59 +00:00
mabashian
15adb1e828 Changes workflow key icon from fa-key to fa-compass 2018-11-29 17:16:25 -05:00
Ryan Petrello
c90d81b914 resolve a nuanced traceback for JTs that run w/ a failed project
related: https://github.com/ansible/awx/pull/2719
2018-11-29 17:10:23 -05:00
softwarefactory-project-zuul[bot]
8e9c28701e Merge pull request #2836 from ryanpetrello/better-dispatch-retries
add additional DB retry logic to the callback receiver

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-29 21:18:24 +00:00
softwarefactory-project-zuul[bot]
abc74fc9b8 Merge pull request #2824 from chrismeyersfsu/workflow-convergence_enforce2
enforce 1 edge between 2 nodes constraint

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-29 19:34:25 +00:00
chris meyers
21fce00102 python3 compliance
* This ones for you rydog
2018-11-29 14:07:43 -05:00
chris meyers
d347a06e3d do not deny existing workflow node relationships 2018-11-29 13:29:16 -05:00
Ryan Petrello
0391dbc292 add additional DB retry logic to the callback receiver
initially, I implemented this for _only_ the task worker, but it's
probably needed for callback event workers, too
2018-11-29 11:57:46 -05:00
softwarefactory-project-zuul[bot]
349c7efa69 Merge pull request #2792 from AlanCoding/how_many_slices
Prohibit relaunching sliced jobs with changed count

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-29 15:57:40 +00:00
softwarefactory-project-zuul[bot]
0f451595d7 Merge pull request #2826 from ryanpetrello/remove-deprovision-node
remove the deprecated `awx-manage deprovision_node` command

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-29 15:52:13 +00:00
Ryan Petrello
fcb6ce2907 remove a few deprecated awx-manage commands 2018-11-29 10:09:57 -05:00
softwarefactory-project-zuul[bot]
273d7a83f2 Merge pull request #2825 from ryanpetrello/dont-fear-the-reaper
don't reap jobs that aren't running

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-29 14:31:37 +00:00
chris meyers
916c92ffc7 save state 2018-11-29 08:53:46 -05:00
Ryan Petrello
38bf174bda don't reap jobs that aren't running
this is a simple sanity check, but it should help us avoid shooting
ourselves in the foot in complicated scenarios, such as:

1.  A dispatcher worker is running a job, and it's killed with `kill -9`
2.  The dispatcher attempts to reap jobs with a matching celery_task_id
3.  The associated sync project update has the *same* celery_task_id
    (an implementation detail of how we implemented that), and it ends
    up getting reaped _even though_ it's already finished and has
    status=successful
2018-11-28 18:11:12 -05:00
chris meyers
09dff99340 enforce 1 edge between 2 nodes constraint 2018-11-28 16:57:50 -05:00
softwarefactory-project-zuul[bot]
7f178ef28b Merge pull request #2822 from ansible/workflow-e2e-update
Small update to the node order to reflect e2e test workflow changes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-28 21:08:36 +00:00
softwarefactory-project-zuul[bot]
68328109d7 Merge pull request #2807 from AlanCoding/yuck_artifacts
Do not pass artifacts to non-job nodes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-28 21:05:24 +00:00
John Hill
d573a9a346 Small update to the node order to reflect workflow changes 2018-11-28 15:37:30 -05:00
AlanCoding
d6e89689ae do not pass artifacts to non-job nodes 2018-11-28 15:19:47 -05:00
softwarefactory-project-zuul[bot]
d1d97598e2 Merge pull request #2821 from AlanCoding/clean_nodes
Clean up unwanted data in activity stream of nodes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-28 19:13:45 +00:00
softwarefactory-project-zuul[bot]
f57fa9d1fb Merge pull request #2810 from chrismeyersfsu/feature-replay_job_status
emit job status lifecycle in event replayer

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-28 18:57:56 +00:00
chris meyers
83760deb9d align tests with new replay get_job interface 2018-11-28 13:33:44 -05:00
softwarefactory-project-zuul[bot]
3893e29a33 Merge pull request #2815 from ryanpetrello/fix-iso-nodes-dev
fix isolated nodes in the dev environment

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-28 17:06:16 +00:00
softwarefactory-project-zuul[bot]
feeaa0bf5c Merge pull request #2747 from kialam/remove-md5
Remove MD5 usage and dependency from UI

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-28 16:15:59 +00:00
kialam
22802e7a64 Update README to include needed npm version. 2018-11-28 10:43:53 -05:00
Ryan Petrello
1ac5bc5e2b remove angular-md5 license 2018-11-28 10:43:53 -05:00
kialam
362a3753d0 Remove 'angular-md5' from our dependencies. 2018-11-28 10:43:53 -05:00
kialam
71ee9d28b9 Add link to original gist and rename file. 2018-11-28 10:43:53 -05:00
kialam
d8d89d253d Remove instances of "md5" from the UI. 2018-11-28 10:43:53 -05:00
Ryan Petrello
a72f3d2f2f generate host_config_key using random UUIDs, not a time-based md5 hash 2018-11-28 10:43:45 -05:00
AlanCoding
1adeb833fb clean up unwanted data in activity stream of nodes 2018-11-28 10:41:32 -05:00
Ryan Petrello
a810aaf319 fix isolated nodes in the dev environment 2018-11-28 09:54:39 -05:00
softwarefactory-project-zuul[bot]
d9866c35b4 Merge pull request #2819 from ryanpetrello/fix-busted-tests
mock an HTTP call to fix busted unit tests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-28 14:50:38 +00:00
Ryan Petrello
4e45c3a66c mock an HTTP call to fix busted unit tests 2018-11-28 09:17:50 -05:00
softwarefactory-project-zuul[bot]
87b55dc413 Merge pull request #2816 from ansible/jakemcdermott-smoke-break
update expected color vals of active tab in smoke test

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2018-11-28 04:02:31 +00:00
Jake McDermott
2e3949d612 update expected color vals of active tab in smoke test 2018-11-27 22:46:16 -05:00
softwarefactory-project-zuul[bot]
d928ccd922 Merge pull request #2799 from ansible/jakemcdermott-readonly-viz
don't conditionally hide workflow viz templates list button

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-28 03:39:51 +00:00
softwarefactory-project-zuul[bot]
a9c51b737c Merge pull request #2389 from ansible/workflow-convergence
Workflow convergence

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-27 22:04:50 +00:00
mabashian
51669c9765 Fixes hint/lint errors in workflow viz test 2018-11-27 16:12:42 -05:00
mabashian
17cc82d946 Ensure that selected row is cleared when adding new node after editing existing node 2018-11-27 16:12:42 -05:00
mabashian
10de5b6866 Fixes clicking on a wf in wf node. Also fixes editing wf in wf node with inv prompt 2018-11-27 16:12:42 -05:00
mabashian
55dc27f243 Set active tab to jobs when initially clicking a workflow_job_template type node 2018-11-27 16:12:42 -05:00
mabashian
6fc2ba3495 Fixes delete node shifting e2e test 2018-11-27 16:12:42 -05:00
mabashian
7bad01e193 Fixes e2e workflow visualizer tests 2018-11-27 16:12:42 -05:00
mabashian
62a1f10c42 Fix node pagination for project/inv 2018-11-27 16:12:42 -05:00
mabashian
3975a2ecdb fix linkpath class 2018-11-27 16:12:42 -05:00
Jake McDermott
bfa361c87f hide prompt button when not on jobs tab 2018-11-27 16:12:42 -05:00
Jake McDermott
d5f07a9652 hide inventory help message when not on jobs tab 2018-11-27 16:12:42 -05:00
Jake McDermott
65ec1d18ad skip missing inventory prompt value check when selecting workflow node 2018-11-27 16:12:42 -05:00
Jake McDermott
7b4521f980 workflow node prompt fixup
* use workflow model and endpoint when node is workflow
* always include template type in prompt data
* skip missing inventory checks when node is workflow
* skip checks for required credential fields when node is workflow
2018-11-27 16:12:42 -05:00
John Mitchell
3762ba7b24 add back in workflow_nodes in order to be able to use it for count of nodes 2018-11-27 16:12:42 -05:00
John Mitchell
762c882cd7 consume workflow maker total nodes label change 2018-11-27 16:12:42 -05:00
John Mitchell
343639d4b7 fix workflow maker total templates header to total nodes 2018-11-27 16:12:42 -05:00
John Mitchell
38dc0b8e90 fix workflow total jobs header to total nodes 2018-11-27 16:12:42 -05:00
mabashian
ed40ba6267 Fix searching on related fields 2018-11-27 16:12:42 -05:00
mabashian
54d56f2284 Fix node jobs column sorting. Adds arrows to potential workflow node links 2018-11-27 16:12:42 -05:00
mabashian
1477bbae30 Fixed error Cannot read property 'type' of undefined in console when selecting a project or inventory node 2018-11-27 16:12:42 -05:00
mabashian
625c6c30fc Fixed edge dropdown id 2018-11-27 16:12:42 -05:00
chris meyers
228e412478 simplify workflow job failure reason
* Log the more detailed reason for a workflow job failing but expose a
simplified reason to users via job_explanation
2018-11-27 16:12:42 -05:00
chris meyers
f8f2e005ba better comment for deciding parent's status 2018-11-27 16:12:42 -05:00
chris meyers
d8bf82a8cb add help_text to do_not_run workflow field 2018-11-27 16:12:41 -05:00
chris meyers
2eeca3cfd7 add example workflow run to docs 2018-11-27 16:12:41 -05:00
mabashian
28a4bbbe8a Fixed jshint errors that fell out of merge conflict 2018-11-27 16:12:41 -05:00
mabashian
1cfcaa72ad Fixed editNodeHelpMessage logic that was broken during merge conflict 2018-11-27 16:12:41 -05:00
AlanCoding
4c14727762 bump migration number 2018-11-27 16:12:41 -05:00
chris meyers
0c8dde9718 fix dfs_run_nodes()
* Tried to re-use the topological sort order to crawl the graph to find
the next node(s) to run. This is incorrect, we need to take into account
the fail/success of jobs and directionally crawl the graph.
2018-11-27 16:12:41 -05:00
chris meyers
febf051748 do not mark ujt None nodes dnr
* Leave workflow nodes with no related unified job template nodes
do_not_run = False. If we mark it True, we can't differentiate between
the actual want to not take that path vs. do not run this because I do
not have a valid related unified job template.
2018-11-27 16:12:41 -05:00
mabashian
56885a5da1 Remove reference to isStartNode and just check the id of the node to determine if it's our start node or not 2018-11-27 16:12:41 -05:00
mabashian
623cf54766 Added dagre and graphlib licenses 2018-11-27 16:12:41 -05:00
mabashian
a804c854bf Fix test failures and jshint errors 2018-11-27 16:12:41 -05:00
chris meyers
7b087d4a6c loop over dnr nodes by topological sort
* Perform topological sort on graph nodes before looping over them to
mark do not run. This guarantees that parent nodes will be processed
before calling dependent child nodes. The complexity of the sorting is
N. The complexity of marking the the nodes is N*V
2018-11-27 16:12:41 -05:00
chris meyers
cfa098479e Revert "optimize mark dnr nodes algorithm"
This reverts commit 6372c52772.
2018-11-27 16:12:41 -05:00
mabashian
3c510e6344 Fixed bug where root link became clickable. Fix workflow key on results page. 2018-11-27 16:12:41 -05:00
chris meyers
4c9a1d6b90 optimize mark dnr nodes algorithm
* Compute largest depth of each node and traverse graph by depth. This
allows us to check a node once, and only once, to determine if it needs
to be marked for do not run.
2018-11-27 16:12:41 -05:00
chris meyers
d1aa52a2a6 fix up mark dnr logic 2018-11-27 16:12:41 -05:00
chris meyers
f30f52a0a8 handle missing unified job template in workflow
* Workflow Node without unified_job_template is treated as a job marked
as failure; when deciding what path to execute.
* Remove optimization of marking dnr nodes due to it making the
algorithm incorrect.
2018-11-27 16:12:41 -05:00
mabashian
5b459e3c5d Code cleanup. Fixed bugs with workflow results page including details links 2018-11-27 16:12:41 -05:00
chris meyers
676c068b71 add job_description to failed workflow node
* When workflow job fails because a workflow job node doesn't have a
related unified_job_template note that with an error on the workflow
job's job_description
* When a workflow job fails because a failure path isn't defined, note
that on the workflow job job_description
2018-11-27 16:12:41 -05:00
chris meyers
00d71cea50 detect workflow nodes without job templates
* Fail workflow job run when encountering a Workflow Job Nodes with
no related job templates.
2018-11-27 16:12:41 -05:00
mabashian
72263c5c7b Addresses a number of workflow related bugs 2018-11-27 16:12:41 -05:00
chris meyers
281345dd67 flake8 fix 2018-11-27 16:12:41 -05:00
chris meyers
1a85fcd2d5 update docs to include workflow failure semantic 2018-11-27 16:12:41 -05:00
chris meyers
c1171fe4ff treat canceled nodes as failed when processing wf
* When deciding what jobs to run next, treat canceled as failed.
* Also add tests.
2018-11-27 16:12:41 -05:00
chris meyers
d6a8ad0b33 treat canceled jobs in wf the same as failed jobs
* Also fix spelling mistake that caused workflows to be falsely marked
successful in the case of a canceled job.
2018-11-27 16:12:41 -05:00
mabashian
4a6a3b27fa Fixed a number of workflow visualizer bugs. Added loading spinners while data is being loaded/processed. 2018-11-27 16:12:41 -05:00
chris meyers
266831e26d add cycle unit test 2018-11-27 16:12:41 -05:00
chris meyers
a6e20eeaaa update wf done and failed tests 2018-11-27 16:12:41 -05:00
chris meyers
6529c1bb46 update done and fail detection for workflow
* Instead of traversing the workflow graph to determine if a workflow is
done or has failed; instead, loop through all the nodes in the graph and
grab only the relevant nodes.
2018-11-27 16:12:41 -05:00
mabashian
ae0d0db62c Added dagre to handle our workflow graph layout. Fixed various workflow related bugs. 2018-11-27 16:12:41 -05:00
chris meyers
b81d795c00 fix up dot graph generator
* Update graph dot generator to use the new efficient graph
2018-11-27 16:12:41 -05:00
chris meyers
1b87e11d8f flake8 2018-11-27 16:12:41 -05:00
chris meyers
8bb9cfd62a add dag tests 2018-11-27 16:12:41 -05:00
chris meyers
a176a4b8cf remove unused code 2018-11-27 16:12:41 -05:00
chris meyers
3f4d14e48d crawl entire graph when marking DNR
* From the root, the code was only going down the did run path to find
nodes to mark DNR. This is incorrect, Now, we traverse the entire graph
each time to find nodes to mark DNR.
2018-11-27 16:12:41 -05:00
chris meyers
0499d419c3 more efficient graph processing
* Getting parent nodes from child was inefficient. Optimize it with a
hash table like we did for the getting of children.
* Getting leaf nodes was inefficient. Optimize it like we did getting
root nodes. A node is assumed to be a leaf node until it gets a child.
2018-11-27 16:12:41 -05:00
mabashian
700860e040 Fix long name tooltip. Fixed bug adding new node before finishing adding new link.
Fixed template list column layout.  Ensure that we're getting 200 workflow nodes per GET request
2018-11-27 16:12:41 -05:00
chris meyers
3dadeb3037 remove print statements 2018-11-27 16:12:41 -05:00
chris meyers
16a60412cf optimization fix
* WorkflowDAG accepts workflow job template and workflow jobs for which
to build a graph out of the nodes. The optimized query for each is
different. This changeset adds the differing queries for a workflow job.
2018-11-27 16:12:41 -05:00
chris meyers
9f3e272665 optimize cycle detection 2018-11-27 16:12:41 -05:00
mabashian
b84fc3b111 Fixes for post-rebase bugs 2018-11-27 16:12:41 -05:00
chris meyers
e1e8d3b372 bump migration 2018-11-27 16:12:40 -05:00
mabashian
05f4d94db2 Fixed serveral bugs including credential prompting. Added logic to bring links/nodes to the forefront when you hover over them in case there's some overlap 2018-11-27 16:12:40 -05:00
mabashian
61fb3eb390 First pass at implementing better node placement in the workflow graph 2018-11-27 16:12:40 -05:00
mabashian
7b95d2114d Implements workflow convergence without proper layout 2018-11-27 16:12:40 -05:00
chris meyers
07db7a41b3 more flake8 2018-11-27 16:12:40 -05:00
chris meyers
1120f8b1e1 try2 at the devil flake8 2018-11-27 16:12:40 -05:00
chris meyers
17b3996568 fix flake8 anyway I can 2018-11-27 16:12:40 -05:00
chris meyers
584b3f4e3d remove workflow test
* We now handle workflows with jobs that have errored. We treat them the
same as a failure result. Before, we would abort the workflow when we
encountered an error.
2018-11-27 16:12:40 -05:00
chris meyers
f8c53f4933 handle job error state in convergence 2018-11-27 16:12:40 -05:00
chris meyers
6e40e9c856 handle edge case ring cycle 2018-11-27 16:12:40 -05:00
chris meyers
2f9dc4d075 remove relationship in view if cycle detected 2018-11-27 16:12:40 -05:00
chris meyers
9afc38b714 fixup migrations 2018-11-27 16:12:40 -05:00
chris meyers
dfccc9e07d rework wf cycle detection for convergence 2018-11-27 16:12:40 -05:00
chris meyers
7b22d1b874 cycle detection when multiple parents 2018-11-27 16:12:40 -05:00
mabashian
29b4979736 Completed work necessary to support editing workflow links and nodes separately. Added hover and tooltip to links 2018-11-27 16:12:40 -05:00
mabashian
87d6253176 Decouple editing a wf node with editing a node link 2018-11-27 16:12:40 -05:00
chris meyers
1e10d4323f update docs 2018-11-27 16:12:40 -05:00
chris meyers
4111e53113 correctly name migration to align with 3.4.0 2018-11-27 16:12:40 -05:00
chris meyers
02df0c29e9 merge artifacts deterministically 2018-11-27 16:12:40 -05:00
chris meyers
475c90fd00 prevent job launching twice 2018-11-27 16:12:40 -05:00
chris meyers
2742b00a65 flake8 2018-11-27 16:12:40 -05:00
chris meyers
ea29e66a41 fix workflow finish state detector
* Take into account the new do_not_run field when finding if a workflow
is finished. If do_not_run is True then the node is considered finished.
2018-11-27 16:12:40 -05:00
chris meyers
6ef6b649e8 cleaner code 2018-11-27 16:12:40 -05:00
chris meyers
9bf2a49e0f save state 2018-11-27 16:12:40 -05:00
chris meyers
914892c3ac all parents should finish before start child 2018-11-27 16:12:40 -05:00
chris meyers
77661c6032 short circuit performance optimization 2018-11-27 16:12:40 -05:00
chris meyers
b4fc585495 stop DNR propogation on always path
* This makes sure DNR propogation stops when a job is successful, down
an always path
2018-11-27 16:12:40 -05:00
chris meyers
ff6db37a95 correct stop DNR propogation
* If a child has a parent that is not in the finished state then do not
propogate the DNR to the child in question.
* If a parent is in a finished state; do not propogate the DNR to the
child if the path to the child is traversed (based on the parent job
status).
2018-11-27 16:12:40 -05:00
chris meyers
1a064bdc59 satisfy flake8 2018-11-27 16:12:40 -05:00
chris meyers
ebabec0dad always find and mark dnr nodes 2018-11-27 16:12:40 -05:00
chris meyers
3506b9a7d8 Revert "mark dnr field read only"
This reverts commit 3dbc52d91223167683fd01174222bd6c22813dbd.

Workflow Job Nodes are read only already
2018-11-27 16:12:40 -05:00
chris meyers
cc374ca705 update debug dot graph to output dnr data 2018-11-27 16:12:40 -05:00
chris meyers
ad56a27cc0 mark dnr field read only 2018-11-27 16:12:40 -05:00
chris meyers
779e1a34db remove dnr field from jt wf node 2018-11-27 16:12:40 -05:00
chris meyers
447dfbb64d only visit nodes once for dnr 2018-11-27 16:12:40 -05:00
chris meyers
a9365a3967 code cleanup 2018-11-27 16:12:40 -05:00
chris meyers
f5c10f99b0 support workflow convergence nodes
* remove convergence restriction in API
* change task manager logic to be aware of and support convergence nodes
2018-11-27 16:12:40 -05:00
softwarefactory-project-zuul[bot]
c53ccc8d4a Merge pull request #2813 from shanemcd/update-translation-templates
Extract latest strings from source code for translations

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-27 17:53:49 +00:00
chris meyers
e214dcac85 add slowdown, final status delay, and debug
* slowdown by using --speed 0.1 <-- decimal
* optionally specify a delay between the event and the final status
* debug mode where you can step through emitting the job events
2018-11-27 12:45:49 -05:00
softwarefactory-project-zuul[bot]
de77f6bd1f Merge pull request #2809 from jlmitch5/fixManagmentJobScheduleEditLink
fix management job schedule edit link button

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-27 17:33:07 +00:00
Shane McDonald
18c4771a38 Extract latest strings from source code for translations 2018-11-27 12:31:52 -05:00
chris meyers
042c7ffe5b emit job status lifecycle in event replayer 2018-11-27 11:54:39 -05:00
John Mitchell
f25c6effa3 fix management job schedule edit link button 2018-11-27 11:35:13 -05:00
softwarefactory-project-zuul[bot]
46d303ceee Merge pull request #2805 from ryanpetrello/wcag
raise contrast on a few key page elements to pass WCAG contrast checks

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-27 15:45:15 +00:00
Ryan Petrello
b1bd87bcd2 raise contrast on a few key page elements to pass WCAG contrast checks 2018-11-27 10:20:24 -05:00
softwarefactory-project-zuul[bot]
50b0a5a54d Merge pull request #2756 from wenottingham/logged-out-damn-spot
Add a message to the resulting login dialog when a user explicitly logs out.

Reviewed-by: John Hill <johill@redhat.com>
             https://github.com/unlikelyzero
2018-11-27 15:13:45 +00:00
Jake McDermott
4f731017ea don't conditionally hide workflow viz templates list button 2018-11-26 16:21:44 -05:00
softwarefactory-project-zuul[bot]
9eb2c02e92 Merge pull request #2788 from AlanCoding/container_names
Set fixed container names

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-26 18:53:41 +00:00
softwarefactory-project-zuul[bot]
55e5432027 Merge pull request #2794 from shanemcd/devel
Add a note about `—force-with-lease` to contributing documentation.

Reviewed-by: Marliana Lara <marliana.lara@gmail.com>
             https://github.com/marshmalien
2018-11-26 16:55:31 +00:00
Shane McDonald
a9ae4dc5a8 Clean up after yourselves, people! 2018-11-26 11:31:58 -05:00
Shane McDonald
0398b744a1 Add a note about —force-with-lease to contributing documentation. 2018-11-26 11:31:36 -05:00
AlanCoding
012511e4f0 prohibit relaunching sliced jobs with changed count 2018-11-26 10:54:19 -05:00
softwarefactory-project-zuul[bot]
4483d0320f Merge pull request #2791 from ryanpetrello/fix-iso-installs
only override django for FIPS in environments where Django is installed

Reviewed-by: Yanis Guenane
             https://github.com/Spredzy
2018-11-26 15:36:23 +00:00
Ryan Petrello
32e7ddd43a only override django for FIPS in environments where Django is installed
isolated awx installs don't have this tooling, and so they don't need
this specific monkey-patch
2018-11-26 09:17:48 -05:00
AlanCoding
0b32733dc8 set fixed container names 2018-11-26 08:26:57 -05:00
Christian Adams
d310c48988 Merge pull request #2758 from rooftopcellist/secure_current_user
make current_user ck secure and httponly
2018-11-21 15:26:35 -05:00
softwarefactory-project-zuul[bot]
5a6eefaf2c Merge pull request #2780 from kialam/update-readme-install-exact
Update README to include saving exact dependencies using npm.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-21 19:12:50 +00:00
kialam
8c5a94fa64 Update readme to include saving exact dependencies using npm. 2018-11-21 13:35:56 -05:00
adamscmRH
05d988349c make current_user ck secure and httponly 2018-11-21 10:36:35 -05:00
softwarefactory-project-zuul[bot]
bb1473f67f Merge pull request #2762 from kialam/fix-2554-converted-jts-from-sjt
UI WF results relaunch: handle any relaunch errors.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-21 15:01:17 +00:00
softwarefactory-project-zuul[bot]
79f483a66d Merge pull request #2772 from ansible/jakemcdermott-update
add package uninstall example to readme

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-21 03:11:45 +00:00
Jake McDermott
1b09a0230d Update README.md 2018-11-20 21:26:11 -05:00
kialam
f3344e9816 Fix failing tests. 2018-11-20 18:35:29 -05:00
softwarefactory-project-zuul[bot]
554e4d45aa Merge pull request #2763 from kialam/add-npm-precheck-script
Add precheck script.

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2018-11-20 21:12:58 +00:00
softwarefactory-project-zuul[bot]
bfe86cbc95 Merge pull request #2753 from jlmitch5/fixInstanceGroupLookup
fix instance group lookup in orgs scrolling behavior

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-20 20:05:14 +00:00
softwarefactory-project-zuul[bot]
29e4160d3e Merge pull request #2764 from ryanpetrello/dispatcher-sos
add dispatcher status to the sosreport

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2018-11-20 18:06:05 +00:00
Ryan Petrello
b4f906ceb1 add dispatcher status to the sosreport 2018-11-20 12:12:02 -05:00
kialam
e099fc58c7 Add precheck script. 2018-11-20 11:48:25 -05:00
softwarefactory-project-zuul[bot]
e342ef5cfa Merge pull request #2719 from AlanCoding/project_is_failed
Fail job run if project is failed

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-20 16:45:56 +00:00
John Mitchell
8997fca457 add sanitize 2018-11-20 11:41:58 -05:00
kialam
435ab4ad67 Handle any relaunch errors. 2018-11-20 11:25:36 -05:00
softwarefactory-project-zuul[bot]
d7a28dcea4 Merge pull request #2755 from kialam/fix-invalid-start-date
Scheduler: Start Date begins 1 day ahead.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-20 15:36:47 +00:00
softwarefactory-project-zuul[bot]
5f3024d395 Merge pull request #2703 from kialam/fix-2552-org-jt-list-websocket
Fix Organizations TemplateList websockets

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-20 15:01:05 +00:00
softwarefactory-project-zuul[bot]
3126480d1e Merge pull request #2754 from kdelee/rename-schema-change-detector
Rename schema job to be more clear about its purpose

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-20 14:22:08 +00:00
Elijah DeLee
ca84d312ce Rename schema job to be more clear about its purpose
The make target fails when it detects schema changes, not when schema is invalid.

Also update CONTRIBUTING.md to include information about zuul jobs.
2018-11-20 07:42:10 -06:00
AlanCoding
b790b50a1a Fail job run if project is failed
provide message in traceback and explanation fields

add log messages for dependency spawns
2018-11-20 07:55:37 -05:00
softwarefactory-project-zuul[bot]
6df26eb7a3 Merge pull request #2750 from ryanpetrello/timeout-modal-remove-close-button
remove the x icon on the session timeout modal (it doesn't work)

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-20 08:50:49 +00:00
softwarefactory-project-zuul[bot]
fccaebdc8e Merge pull request #2342 from ansible/workflow_inventory
Workflow level inventory

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-20 03:19:40 +00:00
Jake McDermott
45728dc1bb update workflow docs 2018-11-19 17:35:52 -05:00
AlanCoding
9cd8aa1667 further update of workflow docs for inventory feature 2018-11-19 17:35:39 -05:00
Jake McDermott
b74597f4dd fix bug when reverting non-default inventory prompts 2018-11-19 17:35:26 -05:00
Bill Nottingham
ce3d3c3490 Add a message to the resulting login dialog when a user explicitly logs out. 2018-11-19 17:16:55 -05:00
kialam
a9fe1ad9c1 Start Date begins 1 day ahead. 2018-11-19 16:20:46 -05:00
John Mitchell
22e7083d71 fix instance group lookup 2018-11-19 15:38:11 -05:00
Jake McDermott
951515da2f disable next and show warning when default workflow inventory is removed 2018-11-19 15:16:46 -05:00
Ryan Petrello
9e2f4cff08 remove the x icon on the session timeout modal (it doesn't work) 2018-11-19 14:37:49 -05:00
softwarefactory-project-zuul[bot]
0c1a4439ba Merge pull request #2745 from mabashian/2428-workflow-edit-patch
Use patch instead of put when updating a wfjt

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-19 19:23:26 +00:00
John Mitchell
c2a1603a56 Merge pull request #2746 from jlmitch5/navColorContrast
fix color contrast of nav
2018-11-19 13:50:04 -05:00
Jake McDermott
13e715aeb9 handle null inventory value on workflow launch 2018-11-19 12:53:21 -05:00
Jake McDermott
2bc75270e7 dry up org permissions test 2018-11-19 12:53:18 -05:00
Jake McDermott
fabe56088d fix workflow e2e tests again 2018-11-19 12:53:14 -05:00
Jake McDermott
0e3bf6db09 open workflow visualizer from form 2018-11-19 12:53:10 -05:00
Jake McDermott
c6a7d0859d add workflow jobs to inventory list status popup 2018-11-19 12:53:05 -05:00
Jake McDermott
fed00a18ad show workflow jobs on inventory completed jobs view 2018-11-19 12:53:02 -05:00
Jake McDermott
ecbdc55955 show related workflow counts on inventory deletion warning prompt 2018-11-19 12:52:57 -05:00
AlanCoding
bca9bcf6dd fix prompts contradiction: should be non-functional change 2018-11-19 12:52:54 -05:00
Jake McDermott
018a8e12de fix lookup message 2018-11-19 12:52:50 -05:00
AlanCoding
e0a28e32eb Tweak of error message wording for model-specific name 2018-11-19 12:52:47 -05:00
AlanCoding
c105885c7b Do not count template variables as prompted 2018-11-19 12:52:43 -05:00
Jake McDermott
89a0be64af fix bug with opening visualizer from list page 2018-11-19 12:52:38 -05:00
AlanCoding
c1d85f568c fix survey vars bug and inventory defaults display 2018-11-19 12:52:35 -05:00
Jake McDermott
75566bad39 fix workflow e2e tests 2018-11-19 12:52:32 -05:00
Jake McDermott
75c2d1eda1 add inventory help messages for workflow node edit 2018-11-19 12:52:29 -05:00
Jake McDermott
9a4667c6c7 add static messages to workflow inventory lookups 2018-11-19 12:52:26 -05:00
Jake McDermott
9917841585 open and close workflow visualizer from list 2018-11-19 12:52:23 -05:00
Jake McDermott
fbc3cd3758 redirect to workflow visualizer on workflow creation 2018-11-19 12:52:19 -05:00
Jake McDermott
d65687f14a add workflow inventory prompt to scheduler 2018-11-19 12:52:16 -05:00
Jake McDermott
4ea7511ae8 make workflow prompt inventory step optional 2018-11-19 12:52:12 -05:00
Jake McDermott
a8d22b9459 show correct ask_inventory state 2018-11-19 12:52:08 -05:00
Jake McDermott
f8453ffe68 accept inventory_id in workflow launch requests 2018-11-19 12:52:05 -05:00
Jake McDermott
38f43c147a fix exploding unit test 2018-11-19 12:52:01 -05:00
Jake McDermott
38fbcf8ee6 add missing api fields 2018-11-19 12:51:58 -05:00
Jake McDermott
2bd25b1fba add inventory prompt to wf editor 2018-11-19 12:51:54 -05:00
AlanCoding
7178fb83b0 migration number bumped again 2018-11-19 12:51:51 -05:00
Jake McDermott
2376013d49 add prompt on launch for workflow inventory 2018-11-19 12:51:47 -05:00
Jake McDermott
a94042def5 display inventory on workflow job details 2018-11-19 12:51:44 -05:00
Jake McDermott
2d2164a4ba add inventory lookup to workflow detail view 2018-11-19 12:51:41 -05:00
AlanCoding
3c980d373c bump migration number 2018-11-19 12:51:37 -05:00
AlanCoding
5b3ce1e999 add test for WFJT schedule inventory prompting 2018-11-19 12:51:33 -05:00
AlanCoding
6d4469ebbd handle inventory for WFJT editing RBAC 2018-11-19 12:51:29 -05:00
AlanCoding
eb58a6cc0e add test for launching with deleted inventory 2018-11-19 12:51:26 -05:00
AlanCoding
a60401abb9 fix bug with WFJT launch validation 2018-11-19 12:51:22 -05:00
AlanCoding
1203c8c0ee feature docs for workflow-level inventory 2018-11-19 12:51:18 -05:00
AlanCoding
0c52d17951 fix bug, handle RBAC, add test 2018-11-19 12:51:13 -05:00
AlanCoding
44fa3b18a9 Adjust prompt logic and views to accept workflow inventory 2018-11-19 12:50:57 -05:00
AlanCoding
33328c4ad7 initial model changes for workflow inventory 2018-11-19 12:50:29 -05:00
John Mitchell
11adcb9800 fix color contrast of nav 2018-11-19 12:35:55 -05:00
softwarefactory-project-zuul[bot]
932a1c6386 Merge pull request #2743 from ryanpetrello/survey_spec_stream
include survey_spec in activity stream

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-19 17:33:33 +00:00
softwarefactory-project-zuul[bot]
d1791fc48c Merge pull request #2585 from wenottingham/licensed-to-illegibility
Add a test that checks the included license files against included dependencies

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-19 17:22:49 +00:00
AlanCoding
5b274cfc2a include survey_spec in activity stream 2018-11-19 12:07:48 -05:00
mabashian
1d7d2820fd Use patch instead of put when updating a wfjt 2018-11-19 12:04:35 -05:00
Bill Nottingham
605c1355a8 Add updates to UI license grabber from jlmitch5. 2018-11-19 12:00:00 -05:00
Bill Nottingham
a6e00df041 Clean up included licenses such that tests pass.
Rename ui licenses to '.txt' for consistency.
Update bundled code as appropriate.
Remove dead licenses and dev-only UI licenses.
Add additional python licenses from Azure & related updates.
2018-11-19 12:00:00 -05:00
Bill Nottingham
67219e743f Add a test that we are including proper license files for all requirements. 2018-11-19 11:59:59 -05:00
softwarefactory-project-zuul[bot]
67273ff8c3 Merge pull request #2742 from jlmitch5/fixScrollTop
fix scroll top

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-19 16:56:27 +00:00
softwarefactory-project-zuul[bot]
a3bbe308a8 Merge pull request #2741 from matburt/fix_project_admin_add
Fix a bug that did not allow project_admin's to create a project.

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2018-11-19 16:53:16 +00:00
kialam
f1b5bbb1f6 Add websocket listener to Org > JT list view. 2018-11-19 11:46:07 -05:00
Matthew Jones
7330102961 Remove a warning message for dispatcher pool for tests 2018-11-19 11:19:57 -05:00
Matthew Jones
61916b86b5 Fix a bug that did not allow project_admin's to create a project.
This was a regression from previous functionality
2018-11-19 11:05:48 -05:00
John Mitchell
35d5bde690 fix scroll top 2018-11-19 11:03:03 -05:00
softwarefactory-project-zuul[bot]
b17c477af7 Merge pull request #2737 from AlanCoding/death_to_groups
Implement deprecation of groups_with_active_failures

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-19 15:31:26 +00:00
softwarefactory-project-zuul[bot]
01d891cd6e Merge pull request #2738 from ryanpetrello/inv-update-as
don't send activity stream create for unregistered models

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-19 15:02:33 +00:00
Ryan Petrello
e36335f68c only send activity stream create for registered unified jobs
see https://github.com/ansible/awx/issues/2733
2018-11-19 09:44:12 -05:00
softwarefactory-project-zuul[bot]
39369c7721 Merge pull request #2702 from kdelee/schema_validation
Pre-Merge Schema validation

Reviewed-by: Matthew Jones <mat@matburt.net>
             https://github.com/matburt
2018-11-19 14:26:42 +00:00
softwarefactory-project-zuul[bot]
4fbc39991d Merge pull request #2730 from AlanCoding/slice_license
License check for slicing >1

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-19 14:18:10 +00:00
softwarefactory-project-zuul[bot]
91075e8332 Merge pull request #2732 from AlanCoding/middle
Include migration middleware in timings and profiling

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-19 13:59:34 +00:00
AlanCoding
0ed50b380a Implement deprecation of groups_with_active_failures 2018-11-19 08:29:46 -05:00
AlanCoding
53716a4c5a include migration middleware in timings and profiling 2018-11-18 10:55:37 -05:00
AlanCoding
f30bbad07d License check for slicing >1 2018-11-17 22:48:46 -05:00
softwarefactory-project-zuul[bot]
b923efad37 Merge pull request #2717 from wenottingham/make-that-network-work
Add ncclient for use by networking modules.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-16 22:02:29 +00:00
softwarefactory-project-zuul[bot]
3b36372880 Merge pull request #2716 from ryanpetrello/insights-user-agent
add a user agent for requests to Insights

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-16 21:39:15 +00:00
Ryan Petrello
661cc896a9 add a user agent for requests to Insights 2018-11-16 16:25:08 -05:00
Bill Nottingham
e9c3623dfd specify a version 2018-11-16 15:34:42 -05:00
Bill Nottingham
c65b362841 Add ncclient for use by networking modules. 2018-11-16 15:21:04 -05:00
softwarefactory-project-zuul[bot]
6a0e11a233 Merge pull request #2713 from AlanCoding/system_env_vars
Minor cleanup of task environment vars

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-16 19:35:05 +00:00
AlanCoding
7417f9925f Minor cleanup of task environment vars 2018-11-16 13:28:42 -05:00
softwarefactory-project-zuul[bot]
2f669685d8 Merge pull request #2707 from ryanpetrello/min-max-workers
prevent the dispatcher from using a nonsensical max_workers value

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-16 15:41:42 +00:00
softwarefactory-project-zuul[bot]
86510029e1 Merge pull request #2692 from kialam/fix-2586-ldap-dropdown-fix
Fix LDAP and TACACS+ dropdowns

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-16 15:28:09 +00:00
Ryan Petrello
37234ca66e prevent the dispatcher from using a nonsensical max_workers value 2018-11-16 10:16:39 -05:00
Elijah DeLee
4ae1fdef05 Ignore differences in whitespace for schema validation 2018-11-16 09:47:33 -05:00
kialam
95e94a8ab5 Some styling changes; fix Server dropdown.
- Left align first dropdown on Github and LDAP tabs.
- Add border to give some whitespace
2018-11-15 20:46:34 -05:00
kialam
ea35d9713a Fix empty dropdowns for both LDAP and TACACS tabs. 2018-11-15 20:46:34 -05:00
Elijah DeLee
949cf53b89 Use r in front of regex string to make flake8 happy
This means we should not escape the \ character in the same way
2018-11-15 17:29:27 -05:00
Elijah DeLee
a68e22b114 Add tox target to detect schema changes
Fetches reference schema from public bucket
Still need define method for updating reference schema on merge.
2018-11-15 16:25:13 -05:00
Elijah DeLee
d70cd113e1 Reduce duplicated logic for genschema target 2018-11-15 15:29:35 -05:00
Matthew Jones
f737fc066f Generate schema suitable for comparing for schema changes 2018-11-15 15:29:35 -05:00
softwarefactory-project-zuul[bot]
9b992c971e Merge pull request #2672 from AlanCoding/sliceanator
Fix bug with non-sliced JT job spawn

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-15 20:16:19 +00:00
softwarefactory-project-zuul[bot]
e0d59766e0 Merge pull request #2696 from AlanCoding/bulk_del_inv
Pre-delete bulk delete related, fix parallel request conflicts

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2018-11-15 19:58:49 +00:00
AlanCoding
a9d88f728d Pre-delete bulk delete related, fix parallel request conflicts 2018-11-15 11:39:48 -05:00
softwarefactory-project-zuul[bot]
e24d63ea9a Merge pull request #2665 from ryanpetrello/fips
add support for running awx w/ FIPS enabled

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-15 15:18:07 +00:00
softwarefactory-project-zuul[bot]
1833a5b78b Merge pull request #2667 from saito-hideki/issue/admin_with_docker-compose
Fixed issue where admin_user and password change are not reflected

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-15 14:24:43 +00:00
softwarefactory-project-zuul[bot]
4213a00548 Merge pull request #2686 from AlanCoding/fast_workflows
Add task manager rescheduling hooks, de-duplication, lifecycle tests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-15 14:19:09 +00:00
softwarefactory-project-zuul[bot]
7345512785 Merge pull request #2690 from ryanpetrello/ldap-long-name
truncate user first/last name if it exceeds 30 chars on LDAP auth

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-14 22:29:43 +00:00
Ryan Petrello
d3dc126d45 truncate user first/last name if it exceeds 30 chars on LDAP auth 2018-11-14 15:51:43 -05:00
AlanCoding
758a488aee Add task manager rescheduling hooks, de-duplication, lifecycle tests 2018-11-14 11:31:34 -05:00
softwarefactory-project-zuul[bot]
c0c358b640 Merge pull request #2682 from ryanpetrello/job-m2m-activity-stream
include M2M labels and credentials in Job creation activity stream

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-14 16:05:30 +00:00
Ryan Petrello
49f4ed10ca include M2M labels and credentials in Job creation activity stream 2018-11-14 10:36:01 -05:00
softwarefactory-project-zuul[bot]
5e18eccd19 Merge pull request #2671 from wenottingham/you-want-to-change-things---well---you-can't
Fix tooltip referring to PROJECTS_ROOT.

Reviewed-by: Bill Nottingham
             https://github.com/wenottingham
2018-11-13 21:01:19 +00:00
softwarefactory-project-zuul[bot]
c4e9daca4e Merge pull request #2669 from paradegoat/issue-2370
Updated JT project-related error message

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-13 20:22:31 +00:00
AlanCoding
5443e10697 Fix bug with non-sliced JT job spawn 2018-11-13 15:20:40 -05:00
Ryan Petrello
a3f9c0b012 warn about FIPS mode if the Django version changes 2018-11-13 15:04:36 -05:00
Geoff Humphreys
8517053934 Updated JT project-related error message
Signed-off-by: Geoff Humphreys <humphreys.geoff@gmail.com>
2018-11-13 14:56:22 -05:00
Bill Nottingham
0506968d4f Fix tooltip referring to PROJECTS_ROOT.
This can't be changed in AWX settings; it needs to be done in settings.py
either on the filesystem, or overridden in a k8s/openshift configmap.
2018-11-13 12:14:24 -05:00
softwarefactory-project-zuul[bot]
3bb91b20d0 Merge pull request #2663 from AlanCoding/unified_jobs_flake
Get rid of star import in unified_jobs.py

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2018-11-13 15:37:04 +00:00
softwarefactory-project-zuul[bot]
268b1ff436 Merge pull request #2662 from wwitzel3/devel
move root views new file

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2018-11-13 15:33:23 +00:00
Hideki Saito
f16a72081a Fixed issue where admin_user and password change are not reflected
- No effect of changing admin_user and admin_password when using docker-compose #2666
2018-11-13 18:21:18 +09:00
Ryan Petrello
cceac8d907 support PKCS8-formatted keys to enable FIPS compliance
see: https://access.redhat.com/solutions/1519083
2018-11-12 16:21:57 -05:00
adamscmRH
8d012de3e2 monkey-patch _digest for fips 2018-11-12 15:32:23 -05:00
AlanCoding
cee7ac9511 get rid of star import in unified_jobs.py 2018-11-12 13:38:58 -05:00
softwarefactory-project-zuul[bot]
36faaf4720 Merge pull request #2656 from iplaman/fix-postgres96
Fix default Postgresql version to 9.6

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-12 18:34:48 +00:00
Wayne Witzel III
33b8e7624b move root views new file 2018-11-12 12:36:16 -05:00
Idan Bidani
a213e01491 updating default Postgresql version to 9.6 2018-11-10 18:27:22 -05:00
softwarefactory-project-zuul[bot]
a00ed8e297 Merge pull request #2646 from jlmitch5/fixCredentialKindTranslation
Fix credential kind translation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-10 03:06:38 +00:00
softwarefactory-project-zuul[bot]
aeaebcd81a Merge pull request #2572 from AlanCoding/coalesce
Coalesce host and group Activity Stream deletion entries

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-09 21:04:07 +00:00
softwarefactory-project-zuul[bot]
b5849f3712 Merge pull request #2639 from ansible/enhancement-inv_summary
Update UJT with inv summary field and update schedule base route to include object to be scheduled

Reviewed-by: Chris Meyers
             https://github.com/chrismeyersfsu
2018-11-09 19:06:36 +00:00
AlanCoding
658f87953e coalesce data without setting 2018-11-09 14:00:45 -05:00
AlanCoding
5562e636ea Coalesce host and group A.S. deletion entries 2018-11-09 13:58:31 -05:00
John Mitchell
80fcdae50b update credential type usage to kind instead of name 2018-11-09 10:36:09 -05:00
softwarefactory-project-zuul[bot]
2c5f209996 Merge pull request #2631 from kialam/fix/2533-dashboard-hover
Fix Dashboard hover-over action so it shows the correct info

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-09 05:27:11 +00:00
softwarefactory-project-zuul[bot]
692b55311e Merge pull request #2645 from ryanpetrello/unbound
fix an unbound variable

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-08 20:40:57 +00:00
Ryan Petrello
10667fc855 fix an unbound variable
see: https://github.com/ansible/awx/issues/2642j
2018-11-08 15:14:47 -05:00
softwarefactory-project-zuul[bot]
1fc33b551d Merge pull request #2643 from kialam/fix/2606
Fix DETAILS link in WF viz not working until after job has ran

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-08 20:14:45 +00:00
kialam
729256c3d1 Fix DETAILS link in WF viz not working until after job has ran
- Make additional GET request if we need it in order to surface the job type so that we can properly redirect the user to the detail page.
2018-11-08 13:23:32 -05:00
chris meyers
23e1feba96 fill in summary inv for sched only when needed
* If scheduler inv exists then the inv summary will be filled in with
our generic summary filler inner. Else, if the related unified job has
an inventory, fill in the inv summary with that, explicitly.
2018-11-08 12:43:47 -05:00
John Mitchell
e3614c3012 update to using new inventory id from summary fields of UJT if applicable 2018-11-08 12:22:02 -05:00
chris meyers
f37391397e add inventory to schedule summary fields
* Use the same logic that related inventory uses. If there is an
inventory that overrides the inventory on the unified job  template then
summarize that field. Else, use the inventory on the unified job template
being scheduled.
2018-11-08 11:47:31 -05:00
softwarefactory-project-zuul[bot]
6a8454f748 Merge pull request #2352 from ansible/workflows_squared
[Feature] Allow use of workflows inside of workflows

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-08 16:28:37 +00:00
softwarefactory-project-zuul[bot]
d1328c7625 Merge pull request #2044 from cdvv7788/AWX-2030
Add command to revoke tokens (https://github.com/ansible/awx/issues/2030)

Reviewed-by: Cristian Vargas
             https://github.com/cdvv7788
2018-11-08 15:15:44 +00:00
John Mitchell
d1cce109fb update schedule base route to include resource being scheduled 2018-11-08 09:41:06 -05:00
kialam
32bd8b6473 Fix Dashboard hover-over action so it shows the correct info.
- Refactor our Dashboard directive to display the dashboard graph's x-axis according to the new changes in NVD3 v1.8.1. See https://github.com/nvd3-community/nvd3/blob/gh-pages/examples/lineChart.html for reference.
2018-11-08 09:15:54 -05:00
Ryan Petrello
001bd4ca59 resolve a few token revocation issues, and add tests 2018-11-08 08:15:24 -05:00
softwarefactory-project-zuul[bot]
541b503e06 Merge pull request #2634 from wwitzel3/views-inventory
inventory views

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-08 12:31:14 +00:00
Cristian Vargas
093c29e315 Add command to revoke tokens
Signed-off-by: Cristian Vargas <cristian@swapps.co>
2018-11-08 07:28:21 -05:00
softwarefactory-project-zuul[bot]
eec7d7199b Merge pull request #2614 from stokkie90/devel
Fixed bug where all group variables are not included

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-08 12:27:30 +00:00
Rick Stokkingreef
7dbb862673 Fixed test cases 2018-11-08 12:07:07 +01:00
softwarefactory-project-zuul[bot]
be1422d021 Merge pull request #2629 from ansible/org-view-ui-tests
Org view ui tests

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-08 06:32:59 +00:00
Wayne Witzel III
459ac0e5d9 inventory views 2018-11-07 22:06:33 -05:00
Wayne Witzel III
16c9d043c0 Merge pull request #2344 from wwitzel3/views-organization
organization views
2018-11-07 21:33:14 -05:00
Wayne Witzel III
1b465c4ed9 remove duplicate BaseUsersList 2018-11-07 18:18:41 -05:00
Wayne Witzel III
198a0db808 move organization views to their own file 2018-11-07 18:18:41 -05:00
softwarefactory-project-zuul[bot]
91dda0a164 Merge pull request #2625 from abedwardsw/feature/vmware_groupby_custom_field_excludes
update to latest vmware_inventory.py support for groupby_custom_field_excludes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-07 21:03:05 +00:00
softwarefactory-project-zuul[bot]
9341480209 Merge pull request #2627 from jakemcdermott/fix-form-cred-lookups
fix project and adhoc command form lookups when many credential types exist

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-07 20:43:36 +00:00
Adam Edwards
21877b3378 update to latest vmware_inventory.py with support for groupby_custom_field_excludes
e364d717cb/contrib/inventory/vmware_inventory.py

Signed-off-by: Adam Edwards <adam@middleware360.com>
2018-11-07 15:43:15 -05:00
softwarefactory-project-zuul[bot]
03169a96ef Merge pull request #2626 from jakemcdermott/fix-multicred
always recompile multicredential lists

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-07 20:27:20 +00:00
Marliana Lara
ebc3dbe7b6 Add source WF label to job details template
* Change label from "Parent WF" to "Source WF"
* Fix WF job result Firefox responsive style bugs
2018-11-07 13:22:41 -05:00
AlanCoding
1bed5d4af2 avoid nested on_commit use 2018-11-07 13:22:41 -05:00
AlanCoding
0783d86c6c adjust recursion error text 2018-11-07 13:22:41 -05:00
Marliana Lara
a3d5705cea Fix bug with workflow maker templates pagination and smart search 2018-11-07 13:22:40 -05:00
Marliana Lara
2ae8583a86 Fix Firefox labels bug 2018-11-07 13:22:40 -05:00
Marliana Lara
edda4bb265 Address PR review 2018-11-07 13:22:40 -05:00
AlanCoding
d068481aec link workflow job node based on job type, not UJT type 2018-11-07 13:22:40 -05:00
Marliana Lara
e20d8c8e81 Show workflow badge
Add Workflow tags

Hookup workflow details link

Add parent workflow and job explanation fields

Add workflow key icon to WF maker and WF results

Hookup wf prompting

Add wf key dropdown and hide wf info badge
2018-11-07 13:22:39 -05:00
Marliana Lara
f6cc351f7f Format workflow-chart directive code 2018-11-07 13:22:39 -05:00
Marliana Lara
c2d4887043 Include workflow jobs in workflow maker job templates list 2018-11-07 13:22:39 -05:00
AlanCoding
4428dbf1ff Allow use of role_level filter in UJT list 2018-11-07 13:22:39 -05:00
AlanCoding
e225489f43 workflows-in-workflows add docs and tests 2018-11-07 13:22:39 -05:00
AlanCoding
5169fe3484 safeguard against infinite loop if jobs have cycles 2018-11-07 13:22:38 -05:00
AlanCoding
01d1470544 workflow variables processing, recursion detection 2018-11-07 13:22:38 -05:00
AlanCoding
faa6ee47c5 allow use of workflows in workflows 2018-11-07 13:22:38 -05:00
softwarefactory-project-zuul[bot]
aa1d71148c Merge pull request #2583 from AlanCoding/superusers_manage
Do not block superusers with MANAGE_ORGANIZATION_AUTH setting

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-07 17:38:04 +00:00
Daniel Sami
e86ded6c68 removed namespace from user fixture 2018-11-07 09:02:00 -05:00
Daniel Sami
365bf4eb53 UI tests for org permission views 2018-11-07 09:01:23 -05:00
Jake McDermott
ceb9bfe486 fix adhoc command cred lookup when many credential types exist 2018-11-06 22:47:07 -05:00
Jake McDermott
0f85c867a0 fix project cred lookups when many credential types exist 2018-11-06 22:46:50 -05:00
Jake McDermott
f8a8186bd1 always recompile multicred lists 2018-11-06 20:58:08 -05:00
softwarefactory-project-zuul[bot]
33dfb6bf76 Merge pull request #2623 from ryanpetrello/this-is-the-end
properly validate cert data that happens to contain an END substring

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-06 21:14:26 +00:00
Ryan Petrello
28cd762dd7 properly validate cert data that happens to contain an END substring 2018-11-06 15:57:35 -05:00
softwarefactory-project-zuul[bot]
217cca47f5 Merge pull request #2620 from ansible/chrismeyersfsu-patch-1
Update saml.md

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-06 20:16:20 +00:00
softwarefactory-project-zuul[bot]
8faa5d8b7a Merge pull request #2591 from AlanCoding/no_more_ask
Implement deprecation of duplicated ask_ fields in job view

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-06 20:13:30 +00:00
softwarefactory-project-zuul[bot]
2c6711e183 Merge pull request #2618 from ryanpetrello/json-activity-stream-changes
send activity stream changes as raw JSON, not a JSON-ified string

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-06 19:45:19 +00:00
Chris Meyers
45328b6e6d Update saml.md 2018-11-06 14:45:10 -05:00
Ryan Petrello
1523feee91 send activity stream changes as raw JSON, not a JSON-ified string
see: https://github.com/ansible/awx/issues/2005
2018-11-06 14:28:57 -05:00
softwarefactory-project-zuul[bot]
856dc3645e Merge pull request #2605 from jakemcdermott/fix-2601
remove admin and member roles from organization->team permissions 

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-06 17:08:43 +00:00
Jake McDermott
5e4dd54112 remove admin and member roles from organization->team role assignment options 2018-11-06 11:52:19 -05:00
softwarefactory-project-zuul[bot]
5860689619 Merge pull request #2596 from jlmitch5/fixPermIssue
fix permission issue with regular user jt admins

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-06 16:40:58 +00:00
John Mitchell
da7834476b remove inadverdent scope variable that was added 2018-11-06 10:52:16 -05:00
John Mitchell
d5ba981515 remove inadverdent log statement 2018-11-06 10:50:15 -05:00
softwarefactory-project-zuul[bot]
afe07bd874 Merge pull request #2595 from ryanpetrello/fix-gce-json-creds
move from GCE_PEM_FILE_PATH to GCE_CREDENTIALS_FILE_PATH

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-06 15:09:11 +00:00
Rick Stokkingreef
f916bd7994 Fixed bug when all group vars are not included 2018-11-06 14:26:36 +01:00
softwarefactory-project-zuul[bot]
3fef7acaa8 Merge pull request #2457 from jakemcdermott/output-line-fixup
dont render blank output lines for some event types + adjust line wrapping

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-06 01:54:38 +00:00
Jake McDermott
95190c5509 remove unused constants 2018-11-05 20:13:00 -05:00
Jake McDermott
76e887f46d highlight entire row on hover 2018-11-05 20:12:52 -05:00
Jake McDermott
0c2b1b7747 don't compile html in real time 2018-11-05 20:12:44 -05:00
Jake McDermott
4c74c8c40c delete contents of slide array before reassigning 2018-11-05 20:12:37 -05:00
Jake McDermott
3a929919a3 enable expanded details for dynamic host events 2018-11-05 20:12:29 -05:00
Jake McDermott
c25af96c56 don't render events if stdout is zero-length string 2018-11-05 20:12:21 -05:00
Jake McDermott
f28f1e434d adjust output line wrapping 2018-11-05 20:12:12 -05:00
Jake McDermott
b3c5df193a don't render playbook_on_notify or runner_on_ok events if they have no stdout 2018-11-05 20:11:53 -05:00
John Mitchell
8645602b0a fix permission issue where regular users assigned jt admin could not add user jt roles they couldn't edit 2018-11-05 16:45:35 -05:00
Ryan Petrello
05156a5991 move from GEC_PEM_FILE_PATH to GCE_CREDENTIALS_FILE_PATH 2018-11-05 15:44:31 -05:00
softwarefactory-project-zuul[bot]
049d642df8 Merge pull request #1894 from AlanCoding/rm_sdonu
Remove unused project field

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2018-11-05 16:14:56 +00:00
AlanCoding
951ebf146a remove unused project field 2018-11-05 10:40:53 -05:00
AlanCoding
7a67e0f3d6 Implement deprecation of duplicated ask_ fields in job view 2018-11-05 10:38:55 -05:00
softwarefactory-project-zuul[bot]
37def8cf7c Merge pull request #2587 from jakemcdermott/fix-2563
remove admin and member roles from team->organizations role assignment options

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2018-11-05 15:13:18 +00:00
Jake McDermott
e4c28fed03 remove admin and member roles from team->organizations role assignment options 2018-11-04 22:59:03 -05:00
softwarefactory-project-zuul[bot]
f8b7259d7f Merge pull request #2543 from westfood/fix-helm-postgresql
Using new Helm parameters for PostgreSQL access.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-02 18:56:15 +00:00
AlanCoding
6ae1e156c8 do not block superusers with MANAGE_ORGANIZATION_AUTH setting 2018-11-02 14:13:05 -04:00
softwarefactory-project-zuul[bot]
9a055dbf78 Merge pull request #2550 from matburt/runner_on_start
Add support for runner_on_start

Reviewed-by: Alan Rominger <arominge@redhat.com>
             https://github.com/AlanCoding
2018-11-02 15:10:07 +00:00
Matthew Jones
80ac44565a Make sure we reference the actual hostname 2018-11-02 10:37:58 -04:00
softwarefactory-project-zuul[bot]
a338199198 Merge pull request #2577 from AlanCoding/fix_grandparents
Fix bug where grandparent groups were excluded

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-02 14:36:48 +00:00
AlanCoding
47fc0a759f fix bug where grandparent groups were excluded 2018-11-02 10:10:38 -04:00
softwarefactory-project-zuul[bot]
5eb4b35508 Merge pull request #2547 from AlanCoding/decorator
Get rid of decorator dependency

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-01 20:39:30 +00:00
softwarefactory-project-zuul[bot]
d93eedaedb Merge pull request #2571 from ryanpetrello/devel
Merge remote-tracking branch 'release_3.3.1' into devel

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-01 16:48:46 +00:00
Ryan Petrello
a748a272fb Merge remote-tracking branch 'tower/release_3.3.1' into devel 2018-11-01 12:07:02 -04:00
softwarefactory-project-zuul[bot]
a28f8c43cb Merge pull request #2569 from shanemcd/devel
Bump version to 2.1.0

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-01 15:53:59 +00:00
Shane McDonald
fbec6a60bf Bump version to 2.1.0 2018-11-01 11:37:28 -04:00
softwarefactory-project-zuul[bot]
6a4f3c8758 Merge pull request #2566 from shanemcd/devel
Bump version to 2.0.2

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-11-01 14:12:00 +00:00
Shane McDonald
04625f566b Bump version to 2.0.2 2018-11-01 09:50:02 -04:00
softwarefactory-project-zuul[bot]
895a567ed1 Merge pull request #2558 from ansible/org-view-ui
updated fixtures to use proper organization linking

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-31 18:13:40 +00:00
Daniel Sami
e152b30fc1 linting fixes 2018-10-31 13:55:50 -04:00
softwarefactory-project-zuul[bot]
a1fe60da78 Merge pull request #2174 from matburt/jobtemplate_sharding
Implement Job Template Sharding/Splitting/Slicing

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-31 15:49:51 +00:00
AlanCoding
d8d710a83d get rid of decorator dependency 2018-10-31 11:37:10 -04:00
softwarefactory-project-zuul[bot]
92f0893764 Merge pull request #2555 from ryanpetrello/old-access-cleanup
remove an old, unused migration file

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-31 15:33:37 +00:00
Ryan Petrello
479448ff09 remove an old, unused migration file 2018-10-31 11:15:09 -04:00
Jake McDermott
62a36e3704 update job slice count help text 2018-10-31 11:04:14 -04:00
kialam
2d286c5f68 Redirect to WF Details page after prompt for slice JT. 2018-10-31 11:04:14 -04:00
AlanCoding
f435e577b2 Adjust slicing tooltip text 2018-10-31 11:04:14 -04:00
AlanCoding
236b332a8b bump migration number 2018-10-31 11:04:13 -04:00
kialam
a7028df828 Fix one failing unit test. 2018-10-31 11:04:13 -04:00
kialam
a59017ceef Fix eslint errors. 2018-10-31 11:04:13 -04:00
AlanCoding
affacb8ab5 revert change of including slice wfj ids in recent_jobs list 2018-10-31 11:04:13 -04:00
AlanCoding
37f9024940 fix slicing task_impact and script gen bugs 2018-10-31 11:04:13 -04:00
kialam
f72fca5fcf Fix unit tests after "slice" rename.
- Update Jobs List unit tests with new schema and test cases.
- Update Job Details unit tests with new schema and test cases.
- Test both for expected behavior when handling a regular non-sliced job.
2018-10-31 11:04:13 -04:00
kialam
21aeda0f45 Add unit tests for Job Details
- Test `getSplitJobDetails` method.
- Fix failing tests.
- Rename unit tests.
2018-10-31 11:04:12 -04:00
kialam
65a0e5ed45 Fix failing tests. 2018-10-31 11:04:12 -04:00
kialam
571e34bf79 Begin adding unit tests for split jobs
- Test split job tag method within Jobs List Controller.
2018-10-31 11:04:12 -04:00
AlanCoding
6dc58af8e1 slicing rename test cleanup and bugfix 2018-10-31 11:04:12 -04:00
AlanCoding
bbd3edba47 rename to slicing and schema tweaks 2018-10-31 11:04:12 -04:00
Matthew Jones
46d6dce738 Mass rename of shard -> split 2018-10-31 11:04:12 -04:00
AlanCoding
475a701f78 Allow use of credential password prompting with split JTs
also
*update test to work with new JT callback call pattern
*fix spelling in template
2018-10-31 11:04:11 -04:00
AlanCoding
dccd7f2e9d do not split JT callback jobs 2018-10-31 11:04:11 -04:00
kialam
47711bc007 add package-lock.json to gitignore 2018-10-31 11:04:11 -04:00
kialam
04eec61387 Redirect to WF details page when a Split Job is launched 2018-10-31 11:04:11 -04:00
kialam
ef4a2cbebb Add Job Splitting feature to UI 2018-10-31 11:04:11 -04:00
AlanCoding
c8d76dbe78 update migration after rebase 2018-10-31 11:04:11 -04:00
Matthew Jones
61a706274b Adding architecture doc for job sharding 2018-10-31 11:04:10 -04:00
AlanCoding
20226f8984 Polish split jobs API info & add fields to UI
*clarify help text and squash migrations
*adds new internal_limit field to Job model for faster reference
*if field is non-blank, populate shard params in summary_fields
*add summary information to UI job/wfj details, JT selector
2018-10-31 11:04:10 -04:00
AlanCoding
7ff04dafd3 Fix IntegrityError deleting job splitting JT
misc:
*show sharded jobs in recent_jobs
*test updates
2018-10-31 11:04:10 -04:00
AlanCoding
f9bdb1da15 Job splitting access logic and more feature development
*allow sharding with prompts and schedules
*modify create_unified_job contract to pass class & parent_field name
*make parent field name instance method & set sharded UJT field
*access methods made compatible with job sharding
*move shard job special logic from task manager to workflows
*save sharded job prompts to workflow job exclusively
*allow using sharded jobs in workflows
2018-10-31 11:04:10 -04:00
AlanCoding
dab678c5cc Implement splitting logic in inventory & job task code 2018-10-31 11:04:10 -04:00
Matthew Jones
44ffcf86de Properly take prompted inventory into account
This also will rename shard jobs to add an index to the job name
2018-10-31 11:04:10 -04:00
Matthew Jones
8a18984be1 Spawn concrete workflow jobs from a job template launch 2018-10-31 11:04:09 -04:00
Matthew Jones
0b1776098b Implement model/view/launch paradigm for shard/split job templates 2018-10-31 11:04:09 -04:00
Daniel Sami
5da13683ce updated fixtures to use proper organization linking 2018-10-31 11:03:44 -04:00
Ryan Petrello
89c2038ea3 Merge pull request #2557 from ryanpetrello/fix-busted-docker-compose
pin docker-compose to a working version
2018-10-31 11:01:50 -04:00
Ryan Petrello
a1012b365c pin docker-compose to a working version 2018-10-31 10:47:45 -04:00
Matthew Jones
673068464a Add support for runner_on_start
This will be available in ansible 2.8
2018-10-30 13:23:55 -04:00
softwarefactory-project-zuul[bot]
484ef1b6a8 Merge pull request #2548 from wenottingham/mark-it-zero
Re-add markdown, which is used for rendering API help.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-30 16:47:46 +00:00
Bill Nottingham
7fc269b65a Re-add markdown, which is used for rendering API help. 2018-10-30 12:10:00 -04:00
westfood
694e494484 Using new Helm parameters for PostgreSQL access. 2018-10-28 11:55:36 +01:00
softwarefactory-project-zuul[bot]
ddda6b3d21 Merge pull request #2542 from jakemcdermott/fix-smoke
fix smoke test

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-28 00:32:26 +00:00
Jake McDermott
80adbf9c03 fix smoke test 2018-10-27 02:09:18 -04:00
softwarefactory-project-zuul[bot]
264f35d259 Merge pull request #2239 from AlanCoding/multi_pass_cancel
Do 2-pass cancel for workflow jobs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-26 14:43:14 +00:00
AlanCoding
e513f8fe31 do 2-pass cancel for workflow jobs 2018-10-26 10:28:30 -04:00
softwarefactory-project-zuul[bot]
b9f35e5b50 Merge pull request #2536 from ryanpetrello/deprecated_auth_token_middleware
remove DeprecatedAuthTokenMiddleware

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-26 14:27:29 +00:00
softwarefactory-project-zuul[bot]
002f463ffd Merge pull request #2274 from AlanCoding/callback_debugging
Reduce default verbosity of dev-specific callback logging

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-26 14:23:24 +00:00
Ryan Petrello
28512e042b remove DeprecatedAuthTokenMiddleware 2018-10-26 10:11:53 -04:00
AlanCoding
482395eb6a reduce default verbosity of devel-specific callback logging 2018-10-26 10:03:46 -04:00
softwarefactory-project-zuul[bot]
e1d44d6d14 Merge pull request #2529 from AlanCoding/split_personality
Apply docker-compose fix to cluster target too

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-26 13:52:32 +00:00
AlanCoding
19030b9d5f apply docker-compose fix to cluster target too 2018-10-26 09:36:11 -04:00
softwarefactory-project-zuul[bot]
3e4738d948 Merge pull request #2430 from dmt/devel
Fix installer volume definitions

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-25 22:12:25 +00:00
softwarefactory-project-zuul[bot]
94083f55c7 Merge pull request #2510 from Intermax-Cloudsourcing/awx-web-dockerfile-tmp
Empties /tmp in awx_web Dockerfile

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-25 21:59:42 +00:00
Daniel Temme
6ecd18b2e2 make volume concatenation work
The second list gets interpreted as part of the else block, effectively
dropping it. Separating both list definitions with braces seems to work.

# Conflicts:
#	installer/roles/local_docker/tasks/standalone.yml
2018-10-25 17:54:10 -04:00
Daniel Temme
4e9c705997 Partial revert for "Bugfix for ca_trust_dir"
# Conflicts:
#	installer/roles/local_docker/tasks/standalone.yml

# Conflicts:
#	installer/roles/local_docker/tasks/standalone.yml
2018-10-25 17:53:12 -04:00
softwarefactory-project-zuul[bot]
1803a76a4d Merge pull request #2485 from wwt/fix-tiller-namespace
Pass tiller namespace down to helm task

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-25 21:40:08 +00:00
softwarefactory-project-zuul[bot]
86ca1875f1 Merge pull request #2486 from wwt/remove-rabbit-cluster-name
Remove .cluster.local from service name for rabbitmq

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-25 21:37:54 +00:00
wilmardo
bf5c259d92 Empties /tmp in web Dockerfile 2018-10-25 17:12:26 -04:00
softwarefactory-project-zuul[bot]
9bca937fad Merge pull request #2287 from AlanCoding/files_are_in_the_computer
automatically delete project files in entire cluster

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-25 20:53:20 +00:00
AlanCoding
526ca3ae42 automatically delete project files in entire cluster 2018-10-25 16:36:58 -04:00
softwarefactory-project-zuul[bot]
695c7ade86 Merge pull request #2523 from ivuk/fix-variable-names
Update variable names for local Docker daemon installation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-25 17:30:44 +00:00
Igor Vuk
c133b35162 Update variable names for local Docker daemon installation
Signed-off-by: Igor Vuk <parcijala@gmail.com>
2018-10-25 12:47:25 -04:00
softwarefactory-project-zuul[bot]
afb3c0e31e Merge pull request #2498 from AlanCoding/relaunch_fix
Fix bug with relaunching with changed JT

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-25 16:40:16 +00:00
AlanCoding
8965f1934e fix bug with relaunching with changed JT 2018-10-25 11:45:47 -04:00
softwarefactory-project-zuul[bot]
556040fb8b Merge pull request #2497 from AlanCoding/fix_two_creds2
Fix server error using 2 creds of same type

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-24 19:14:32 +00:00
AlanCoding
8b3e49cb24 fix server error using 2 creds of same type 2018-10-24 14:59:01 -04:00
softwarefactory-project-zuul[bot]
331e272be0 Merge pull request #2504 from kialam/scheduler-template-fix-datepicker
Restore Date Picker field in Scheduler template.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-24 18:46:16 +00:00
kialam
9e7808f2c9 Restore Date Picker field in Scheduler template. 2018-10-24 14:29:46 -04:00
softwarefactory-project-zuul[bot]
0bb2de24f3 Merge pull request #2513 from AlanCoding/filter_things
Allow UI to filter by type again

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-24 17:57:49 +00:00
AlanCoding
72ce7b194f allow UI to filter by type again 2018-10-24 13:35:04 -04:00
softwarefactory-project-zuul[bot]
85958c51a8 Merge pull request #2517 from dmsimard/preload_data
Let users disable create_preload_data if it isn't necessary

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-24 15:53:57 +00:00
David Moreau Simard
1dd44df471 Let users disable create_preload_data if it isn't necessary
The demo things might not be desirable in a production environment.
2018-10-24 11:36:33 -04:00
softwarefactory-project-zuul[bot]
b132f855a0 Merge pull request #2508 from shanemcd/devel
Fix permissions when running dev container as non-root user

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-24 14:56:33 +00:00
Shane McDonald
a361b5da6e Fix permissions when running dev container as non-root user
I wanted to pass `—user` to `docker-compose` up, but that option doesnt exist. To get around this, I had to record the uid on the host (CURRENT_UID), interpolate the variable in tools/docker-compose.yml, and detect that inside the container. I then piggy-backed on the /etc/passwd hack we use for scenarios with unpredictable uids.
2018-10-24 10:30:04 -04:00
Shane McDonald
7df63830ed Remove reference to file that doesnt exist anymore 2018-10-24 10:30:03 -04:00
softwarefactory-project-zuul[bot]
b3cf93256b Merge pull request #2520 from ryanpetrello/fix-flake8
fix flake8

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-24 14:28:32 +00:00
Ryan Petrello
c695ba2e10 fix flake8 2018-10-24 10:11:53 -04:00
softwarefactory-project-zuul[bot]
c44160933d Merge pull request #2514 from farcaller/patch-1
Fix a typo

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-23 17:24:39 +00:00
Vladimir Pouzanov
9ae3e1c40f Fix a typo 2018-10-23 18:01:00 +01:00
softwarefactory-project-zuul[bot]
c7c5a9d2f7 Merge pull request #2512 from wenottingham/some-less-assembly-required
Remove some obsolete requirements.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-23 15:24:55 +00:00
Bill Nottingham
a56a231869 Remove some obsolete requirements.
Bump cryptography to latest.
2018-10-23 10:37:36 -04:00
softwarefactory-project-zuul[bot]
5087ca7f62 Merge pull request #2494 from ryanpetrello/drop-old-celery-tables
drop old celery/djcelery tables we no longer need

Reviewed-by: Ryan Petrello
             https://github.com/ryanpetrello
2018-10-22 19:26:46 +00:00
Ryan Petrello
3b7336c570 drop old celery/djcelery tables we no longer need 2018-10-22 09:20:10 -04:00
softwarefactory-project-zuul[bot]
9b413afb2e Merge pull request #2492 from ansible/workflow-visualizer-search
fix to search for exact search matches

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-19 14:49:58 +00:00
Daniel Sami
eec05eac3c Merge branch 'devel' into workflow-visualizer-search 2018-10-19 10:33:51 -04:00
softwarefactory-project-zuul[bot]
41671b5868 Merge pull request #2493 from ryanpetrello/celery-inventory-delete-retry
implement simple retries for wayward inventory deletes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-19 14:30:04 +00:00
Daniel Sami
0bbf1d7014 Merge branch 'devel' into workflow-visualizer-search 2018-10-19 10:26:12 -04:00
Daniel Sami
c5ce62e11d added functionality to validate that search is complete before continuing 2018-10-19 10:23:50 -04:00
Ryan Petrello
9316c9ea3e implement simple retries for wayward inventory deletes 2018-10-19 10:10:52 -04:00
Daniel Sami
427b8bdabb lint fix 2018-10-19 10:01:50 -04:00
softwarefactory-project-zuul[bot]
cce470a5f8 Merge pull request #2487 from ryanpetrello/improved-amqp-cancel
fix a bug that breaks job cancellation on single node jobs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-19 13:53:57 +00:00
Daniel Sami
92baea2ee6 fix to search for exact search matches 2018-10-19 09:43:13 -04:00
Ryan Petrello
3be9113d6b fix a bug that breaks job cancel on single node jobs
1.  Install awx w/ a single node.
2.  Start a long-running job.
3.  Forcibly kill the `awx-manage run_dispatcher` process (e.g.,
    SIGKILL) and do not start it again.
4.  The job remains in running - without a second cluster to discover
    the job, it is never reaped.
5.  This PR allows you to cancel the job from the UI+API.
2018-10-19 09:10:33 -04:00
softwarefactory-project-zuul[bot]
785c6fe846 Merge pull request #2475 from ryanpetrello/more-celery-hardening
make the dispatcher more fault-tolerant to prolonged database outages

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-19 00:22:56 +00:00
Ryan Petrello
0d29bbfdc6 make the dispatcher more fault-tolerant to prolonged database outages 2018-10-18 20:00:07 -04:00
softwarefactory-project-zuul[bot]
ce8117ef19 Merge pull request #2356 from ansible/updateProjectList
Update project list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-18 21:43:13 +00:00
John Mitchell
bb921af146 fix badge updating and xss e2e test for projects list updates 2018-10-18 17:23:52 -04:00
John Mitchell
5e0ecc7f43 fix projects list search selectors 2018-10-18 17:23:52 -04:00
John Mitchell
73dc58e810 update project badge selector 2018-10-18 17:23:52 -04:00
John Mitchell
89344c2eee update project list selectors 2018-10-18 17:23:52 -04:00
John Mitchell
d61cd519d7 fix panel title and badge for new projects list 2018-10-18 17:23:51 -04:00
John Mitchell
8057438c67 add back in old-style project list json and relevant factories 2018-10-18 17:23:51 -04:00
John Mitchell
110671532d fix lint error with projects list route 2018-10-18 17:23:51 -04:00
Haokun-Chen
92ac3054c6 refactor projects list, clean up dependencies and old list generators and factory methods 2018-10-18 17:23:49 -04:00
softwarefactory-project-zuul[bot]
c95c2a4580 Merge pull request #2455 from wenottingham/into-the-deep-azure-yonder
Update Azure deps in Ansible venv to match Ansible 2.7 requirements.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-18 21:05:32 +00:00
Bill Nottingham
2c01476eca Don't explicitly remove certifi. 2018-10-18 16:41:33 -04:00
Bill Nottingham
8adbc8a026 Update Azure requirements to match Ansible 2.7 requirements.
Add comments for Ansible requirements to note where they're used.

Remove our custom docutils fork, as the fix was merged upstream.
2018-10-18 16:41:33 -04:00
softwarefactory-project-zuul[bot]
98b8d7fb69 Merge pull request #2483 from ansible/workflow-visualizer-search
added search for visualizer nodes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-18 19:48:10 +00:00
Daniel Sami
477551325d Merge branch 'workflow-visualizer-search' of https://github.com/ansible/awx into workflow-visualizer-search 2018-10-18 15:07:08 -04:00
Daniel Sami
fdedc472d1 lint fix 2018-10-18 15:06:37 -04:00
James Evans
88819ada6b Remove .cluster.local from service name for rabbitmq
FQDNs are not required for service discovery, and having the FQDN in the
name prevents the discovery from working in clusters not named
cluster.local.
2018-10-18 14:00:05 -05:00
Daniel Sami
f3ee93b67f Merge branch 'devel' into workflow-visualizer-search 2018-10-18 14:48:36 -04:00
Daniel Sami
b4549e5581 added search for visualizer nodes 2018-10-18 14:38:10 -04:00
softwarefactory-project-zuul[bot]
3afed6adb7 Merge pull request #2383 from ansible/updateSettingsNav
add additional settings sub navigation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-18 17:55:26 +00:00
John Mitchell
1bc78fd429 fix selectors for settings sub pane 2018-10-18 13:37:45 -04:00
John Mitchell
6ce1b50751 update config e2e tests to fix syntax and linting issues 2018-10-18 13:37:45 -04:00
John Hill
6c87b88e2c Updating configuration/settings page 2018-10-18 13:37:45 -04:00
John Hill
10f21b8817 Updating e2e tests to match new settings nav 2018-10-18 13:37:45 -04:00
John Mitchell
0d1b25131d fix scope location of json fields of settings auth form 2018-10-18 13:37:45 -04:00
John Mitchell
d2118b8d25 fix activity stream settings links 2018-10-18 13:37:44 -04:00
John Mitchell
b852caaaa3 update configuration controllers to fix syntax warnings 2018-10-18 13:37:44 -04:00
John Mitchell
b0dd10b538 sidenav sub pane feedback
make height the same as side nav items
no tooltip for collapsed settings
2018-10-18 13:37:44 -04:00
John Mitchell
8f4aa5511b update side nav settings pane show hide hover logic 2018-10-18 13:37:44 -04:00
John Mitchell
4b26ac06ba fix open/close on settings nav item hover 2018-10-18 13:37:44 -04:00
John Mitchell
4dc6452dea updating suit name and variabilize colors for sub nav pane 2018-10-18 13:37:43 -04:00
John Mitchell
5a17acb131 working commit 2018-10-18 13:37:43 -04:00
Haokun-Chen
6cfd9dbfe4 refactor configuration (settings)
sub-nav added
2018-10-18 13:37:41 -04:00
softwarefactory-project-zuul[bot]
110c5a8e84 Merge pull request #2431 from Numblesix/devel
Added some Doc for ca_trust_dir

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-18 16:15:46 +00:00
Yanis Guenane
b185c1e0a2 Merge branch 'devel' into devel 2018-10-18 18:00:16 +02:00
softwarefactory-project-zuul[bot]
f1a4a62304 Merge pull request #2432 from Numblesix/ldap-doc
Added some Doc for FREEipa

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-18 14:53:14 +00:00
Yanis Guenane
9f3e3bad54 Merge branch 'devel' into ldap-doc 2018-10-18 16:38:31 +02:00
James Evans
4198227116 Pass tiller namespace down to helm task 2018-10-18 09:34:13 -05:00
softwarefactory-project-zuul[bot]
56525bc34f Merge pull request #2476 from AlanCoding/rm_changelog
Remove changelog

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-18 14:15:21 +00:00
Yanis Guenane
3f2068e74e Merge branch 'devel' into ldap-doc 2018-10-18 15:53:34 +02:00
AlanCoding
6117f8297e remove changelog 2018-10-18 09:52:08 -04:00
softwarefactory-project-zuul[bot]
8953d06905 Merge pull request #2456 from wenottingham/insert-obvious-unchained-joke-here
Update to latest django subminor to pick up assorted fixes.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-18 13:50:55 +00:00
Numblesix
bf39a2a747 Added some Doc for FREEipa 2018-10-18 09:31:24 -04:00
Bill Nottingham
f27ec8cd89 Update Django version in version check. 2018-10-18 09:23:59 -04:00
Bill Nottingham
aec3244f52 Update to latest django subminor to pick up assorted fixes. 2018-10-18 09:23:57 -04:00
Wayne Witzel III
c8e208dea7 Merge pull request #3074 from wwitzel3/release_3.3.1
fix typo in length
2018-10-17 17:10:41 -04:00
Wayne Witzel III
f2cec03900 fix typo in length 2018-10-17 16:34:24 -04:00
softwarefactory-project-zuul[bot]
07aaad53aa Merge pull request #2037 from ikke-t/ikke-t-selinux-fix
fixes selinux permissions for awx data.

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2018-10-17 19:05:21 +00:00
Ilkka Tengvall
42a0192425 Merge branch 'devel' into ikke-t-selinux-fix 2018-10-17 21:44:48 +03:00
softwarefactory-project-zuul[bot]
ac08033d3e Merge pull request #2472 from ryanpetrello/callback-receiver-log
use the proper logger for the callback receiver

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-17 15:35:32 +00:00
Numblesix
6d0fed6d9a Added some Doc for ca_trust_dir 2018-10-17 11:32:26 -04:00
Ryan Petrello
53ae05094e use the proper logger for the callback receiver 2018-10-17 10:56:29 -04:00
softwarefactory-project-zuul[bot]
78c4d5005e Merge pull request #2461 from ryanpetrello/upgrade-celery-and-kombu
upgrade to the latest kombu + celery

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-17 13:49:37 +00:00
Wayne Witzel III
0b4e0678e9 Merge pull request #3070 from wwitzel3/release_3.3.1
better error handling when over limit
2018-10-17 09:09:01 -04:00
Ryan Petrello
79002ae563 upgrade to the latest kombu + celery 2018-10-16 16:14:58 -04:00
softwarefactory-project-zuul[bot]
6c868c7552 Merge pull request #2449 from ryanpetrello/noisy-check-migrations
silence the noisy error that's printed w/ `awx-manage check_migrations`

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-16 18:04:05 +00:00
Ryan Petrello
6e4f3efc4b silence the noisy error that's printed w/ awx-manage check_migrations 2018-10-16 13:48:03 -04:00
softwarefactory-project-zuul[bot]
ce9da4edb7 Merge pull request #2454 from ryanpetrello/more-celery-cleanup
allow users to specify BROKER_URL with passwords that contain : and @

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-16 16:30:33 +00:00
Ryan Petrello
6ff1fe8548 allow users to specify BROKER_URL with passwords that contain : and @ 2018-10-16 11:56:57 -04:00
softwarefactory-project-zuul[bot]
140b85688f Merge pull request #2451 from matburt/fixup_test_userlaunch
Force openshift user behavior for uids over 2500

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-16 15:47:20 +00:00
Matthew Jones
0477581dea Fix up flake8 2018-10-16 11:30:07 -04:00
Matthew Jones
d5c557c639 Proper parameterization for scm tests 2018-10-16 11:30:06 -04:00
Matthew Jones
8e60cb1270 Purge an unneeded ansible 2.4 version check 2018-10-16 11:30:05 -04:00
chris meyers
906eb98d8e fixes dispatcher test that inadvertently access db
* Logger inadvertently triggered by dispatcher tests that do not need DB
access. Mock settings to sidestep DB access.
2018-10-16 11:30:04 -04:00
Matthew Jones
119b9475ea Force openshift user behavior for uids over 2500 2018-10-16 11:30:04 -04:00
softwarefactory-project-zuul[bot]
12c8994faf Merge pull request #2450 from ryanpetrello/iso-deprovision-fix
don't call rabbitmqctl forget_cluster_node for isolated instances

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-16 14:10:35 +00:00
Ryan Petrello
f3e73bbed8 don't call rabbitmqctl forget_cluster_node for isolated instances 2018-10-16 09:47:53 -04:00
softwarefactory-project-zuul[bot]
e2a1b7902c Merge pull request #2439 from jmferrer/change_openshift_vars_path
Change openshift vars path.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-16 12:17:51 +00:00
jmferrer
d65a3fa037 Restore per-deployment requirements. 2018-10-16 09:59:11 +02:00
jmferrer
f6600887bc Merge branch 'devel' of https://github.com/jmferrer/awx into change_openshift_vars_path 2018-10-16 09:55:05 +02:00
Michael Abashian
96c18fa311 Merge pull request #2141 from mabashian/remove-system-tracking
Removes system tracking code from the UI
2018-10-15 18:55:34 -06:00
mabashian
9645e5bcd3 Remove portalMode accidental portalMode inclusion that resulted from merge conflict 2018-10-15 18:50:58 -04:00
mabashian
0a09d98fe8 Removes system tracking code from the UI. Moves import of shared out to app.js 2018-10-15 18:50:58 -04:00
Ryan Petrello
1224e2c889 Merge pull request #2440 from ryanpetrello/fix-list-based-survey-choices
remove over-eager survey choices validation
2018-10-15 17:05:06 -04:00
softwarefactory-project-zuul[bot]
c8e6fa3bb3 Merge pull request #2438 from ryanpetrello/dispatcher-quit-race
don't attempt to recover special QUIT messages in the worker pool recovery code

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-15 20:40:20 +00:00
Ryan Petrello
00cae104b3 remove over-eager survey choices validation
it looks like choices can also be a list and _maybe_ comma delimited;
clearly there's a lot of history here; let's verify and test what's _really_ supported and _then_ add any necessary validation
2018-10-15 16:40:17 -04:00
Wayne Witzel III
6e3b2a5c2d better error handling when over limit 2018-10-15 16:07:14 -04:00
Ryan Petrello
3d378077d9 Merge pull request #3066 from saito-hideki/issue/3064
[3.3.1] Add files and output of commands to gather with sosreport
2018-10-15 12:28:08 -04:00
jmferrer
f27a34cd1c Change openshift vars path. 2018-10-15 18:27:49 +02:00
Ryan Petrello
720a634702 don't attempt to recover special QUIT messages in the worker pool
when `--reload` is sent to the dispatcher, it sends a special QUIT
message to each worker in the pool so that it will exit gracefully at
the next opportunity

when a worker process exits unexpectedly, the dispatcher attempts to
recover its queued messages and sends them to another worker in the
pool; in this scenario, we should _never_ re-enqueue these special
QUIT messages (because the process doesn't need to quit, it's already
gone)

To reproduce this race condition:

1.  Launch an adhoc that does `sleep 60`
2.  Run `awx-manage run_dispatcher --reload` to enqueue a `QUIT` message
    into the worker's queue
3.  Find the pid of the worker running the `sleep 60` and `SIGKILL` it.
4.  Observe that dispatcher attempts to requeue the `QUIT` message and
    logs a confusing error.
2018-10-15 12:17:52 -04:00
Chris Meyers
c722e50595 Merge pull request #2425 from chrismeyersfsu/fix-ldap_group_type
fix issue with ldap queries containing unicode
2018-10-15 10:49:43 -05:00
Ryan Petrello
716d440a76 Merge pull request #3068 from ryanpetrello/fix-3039
fix a typo on the JT add page that breaks the custom venv field
2018-10-15 11:40:33 -04:00
Ryan Petrello
9d81727d16 fix a typo on the JT add page that breaks the custom venv field 2018-10-15 11:19:58 -04:00
softwarefactory-project-zuul[bot]
1cecfd9771 Merge pull request #2437 from ryanpetrello/fix-3039
fix a typo on the JT add page that breaks the custom venv field

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-15 15:19:08 +00:00
Ryan Petrello
011c8ae822 fix a typo on the JT add page that breaks the custom venv field 2018-10-15 11:04:31 -04:00
Hideki Saito
d5626a4f3e [3.3.1] Add files and output of commands to gather with sosreport
- Fixed issue #3064
2018-10-15 11:40:51 +09:00
softwarefactory-project-zuul[bot]
73f54b2237 Merge pull request #2373 from marshmalien/always_nodes_ui
Display WF always nodes in conjunction with success and failure

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-12 22:43:32 +00:00
Ryan Petrello
6073e8e3b6 Merge pull request #3062 from ryanpetrello/fix-3043
minor nit for https://github.com/ansible/tower/pull/3060
2018-10-12 16:56:23 -04:00
Ryan Petrello
867ff5da71 minor nit for https://github.com/ansible/tower/pull/3060 2018-10-12 16:17:14 -04:00
Ryan Petrello
c8b2ca7fed Merge pull request #3060 from ryanpetrello/fix-3043
properly handle AnsibleVaultEncryptedUnicode objects in the callback
2018-10-12 15:42:11 -04:00
softwarefactory-project-zuul[bot]
0a964b2bf6 Merge pull request #2266 from ansible/celery-tastes-bad
replace the celery-based task queue with a kombu-based implementation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-12 18:40:54 +00:00
Ryan Petrello
d4e3127fb4 properly handle AnsibleVaultEncryptedUnicode objects in the callback 2018-10-12 12:29:46 -04:00
softwarefactory-project-zuul[bot]
fa18b94725 Merge pull request #2429 from ryanpetrello/more-shippable-cleanup
more shippable -> zuul cleanup

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-12 16:10:53 +00:00
softwarefactory-project-zuul[bot]
5ab6255c67 Merge pull request #2424 from ryanpetrello/oauth-toolkit-upgrade
update to the latest stable 1.1 django-oauth-toolkit

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-12 15:54:36 +00:00
Ryan Petrello
ac80bc874a more shippable -> zuul cleanup 2018-10-12 11:50:29 -04:00
chris meyers
2e98446394 fix issue with ldap queries containing unicode 2018-10-12 10:33:01 -04:00
softwarefactory-project-zuul[bot]
c4afbbc2ca Merge pull request #2420 from dmt/devel
fix indentation for register variable

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-12 14:27:19 +00:00
Ryan Petrello
517043e209 update to the latest stable 1.1 django-oauth-toolkit
see: https://github.com/jazzband/django-oauth-toolkit/pull/629
2018-10-12 10:21:57 -04:00
Marliana Lara
e7c52bc5e7 Merge pull request #8 from dsesami/always_nodes_ui_tests
Always nodes ui tests
2018-10-12 10:20:10 -04:00
Daniel Sami
c25d208465 added browser close at end, waits for spinners 2018-10-12 10:18:49 -04:00
Chris Meyers
503a47c509 Merge pull request #3054 from chrismeyersfsu/fix-ldap_posix_group_type
fix issue with ldap queries containing unicode
2018-10-12 09:14:09 -05:00
Daniel Temme
921231fe3d fix indentation for register variable 2018-10-12 11:13:42 +02:00
softwarefactory-project-zuul[bot]
6721ea54e9 Merge pull request #1956 from droopy4096/devel
allow nginx config extension

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 22:38:36 +00:00
softwarefactory-project-zuul[bot]
99a42e91fe Merge pull request #2235 from ChrisRo89/devel
Extracted more variables which a related to rabbitmq/postgresql from tasks to defaults

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2018-10-11 21:54:38 +00:00
softwarefactory-project-zuul[bot]
9a580ba644 Merge pull request #2416 from fantashley/fix-openshift-auth
Fix openshift auth broken by undefined vars

Reviewed-by: Ashley Nelson <fantashley@gmail.com>
             https://github.com/fantashley
2018-10-11 21:51:20 +00:00
softwarefactory-project-zuul[bot]
74fcdabc22 Merge pull request #2156 from Decstasy/patch-1
Bugfix for ca_trust_dir

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 21:31:45 +00:00
Ashley Nelson
9bec7cf3b0 Fix openshift auth broken by undefined vars
Signed-off-by: Ashley Nelson <fantashley@gmail.com>
2018-10-11 16:25:55 -05:00
softwarefactory-project-zuul[bot]
f9e402658b Merge pull request #2414 from ryanpetrello/readme-updates
some minor README updates

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 20:53:19 +00:00
softwarefactory-project-zuul[bot]
9570981c7f Merge pull request #2351 from jakemcdermott/enhancement-2515
add views for organization permissions and roles

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 20:41:08 +00:00
softwarefactory-project-zuul[bot]
f79debac42 Merge pull request #2164 from atgreen/devel
Fix token based openshift logins during installation - fixes #489

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 20:36:39 +00:00
softwarefactory-project-zuul[bot]
a9f3eeef05 Merge pull request #2131 from walkafwalka/docker_install_awx_hostnames
Add inventory vars to set docker install hostnames

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 20:29:32 +00:00
softwarefactory-project-zuul[bot]
6eb1feffcd Merge pull request #2117 from walkafwalka/allow_awx_login_autocomplete
Allow autocomplete on the AWX login page

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 20:23:37 +00:00
softwarefactory-project-zuul[bot]
6f55cde6d3 Merge pull request #2091 from stoned/force_boolean_eval
force boolean evaluation

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 20:17:48 +00:00
softwarefactory-project-zuul[bot]
48511b6c33 Merge pull request #2281 from AlanCoding/consistent2
Always allow resource creation via global list

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 20:12:39 +00:00
softwarefactory-project-zuul[bot]
771daefcfd Merge pull request #2411 from fantashley/statefulset_servicename
Add serviceName to Kubernetes StatefulSet spec

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 20:06:50 +00:00
Ryan Petrello
1167361128 some minor README updates 2018-10-11 16:05:29 -04:00
softwarefactory-project-zuul[bot]
3a4cc0d464 Merge pull request #1911 from AlanCoding/spec_it_out
Much more comprehensive validation of survey specs

Reviewed-by: Shane McDonald <me@shanemcd.com>
             https://github.com/shanemcd
2018-10-11 20:00:43 +00:00
Jake McDermott
78901ab48e add organization permissions view 2018-10-11 14:21:44 -04:00
Jake McDermott
938bf1b531 add organizations tab to team permissions screen 2018-10-11 14:21:29 -04:00
Marliana Lara
27da141889 Address review comments 2018-10-11 13:13:01 -04:00
Ashley Nelson
2bf2412759 Add serviceName to Kubernetes StatefulSet spec
Signed-off-by: Ashley Nelson <fantashley@gmail.com>
2018-10-11 11:49:08 -05:00
Daniel Sami
1e3c229460 lint fixes 2018-10-11 12:24:55 -04:00
AlanCoding
cfa93b52b7 Always allow resource creation via global list 2018-10-11 12:21:45 -04:00
Christian.Rohr
96ad2b2b28 Extracted more variables which a related to rabbitmq 2018-10-11 12:16:01 -04:00
softwarefactory-project-zuul[bot]
f53a1fedf6 Merge pull request #2410 from ryanpetrello/update-azure-inv-script
update Azure inventory script to latest from Ansible

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 16:15:15 +00:00
Daniel Sami
8fceaf8810 Tests for UI workflow always nodes 2018-10-11 12:14:00 -04:00
Anthony Green
c39370dbd0 Fix token based openshift logins 2018-10-11 12:10:41 -04:00
AlanCoding
bdc7efb274 humble beginnings of survey question type validation 2018-10-11 12:10:40 -04:00
Ryan Petrello
10c76e2337 update Azure inventory script to latest from Ansible
rebased version of https://github.com/ansible/awx/pull/2234
2018-10-11 11:47:55 -04:00
Ryan Petrello
ff1e8cc356 replace celery task decorators with a kombu-based publisher
this commit implements the bulk of `awx-manage run_dispatcher`, a new
command that binds to RabbitMQ via kombu and balances messages across
a pool of workers that are similar to celeryd workers in spirit.
Specifically, this includes:

- a new decorator, `awx.main.dispatch.task`, which can be used to
  decorate functions or classes so that they can be designated as
  "Tasks"
- support for fanout/broadcast tasks (at this point in time, only
  `conf.Setting` memcached flushes use this functionality)
- support for job reaping
- support for success/failure hooks for job runs (i.e.,
  `handle_work_success` and `handle_work_error`)
- support for auto scaling worker pool that scale processes up and down
  on demand
- minimal support for RPC, such as status checks and pool recycle/reload
2018-10-11 10:53:30 -04:00
Ryan Petrello
da74f1d01f refactor and test the callback receiver as a base for a task dispatcher 2018-10-11 10:53:26 -04:00
softwarefactory-project-zuul[bot]
8ad46436df Merge pull request #2125 from wenottingham/the-first-purge
Purge inventory script requirements from the AWX virtual environment.

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-11 14:14:36 +00:00
Bill Nottingham
be01bed34b Purge inventory script requirements from the AWX virtual environment.
boto is still used by AWX itself.
2018-10-11 09:45:41 -04:00
Ryan Petrello
71577bb00d Merge pull request #3052 from wwitzel3/bump-asgi_amqp
Use latest version of asgi_amqp
2018-10-10 16:07:57 -04:00
softwarefactory-project-zuul[bot]
8a763d6cf8 Merge pull request #2372 from rooftopcellist/update_version
update awx version to 2.0.1

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-10 16:59:43 +00:00
chris meyers
cfb58eb145 fix issue with ldap queries containing unicode 2018-10-10 12:32:27 -04:00
adamscmRH
1165dcfa07 update awx version to 2.0.1 2018-10-10 12:31:14 -04:00
softwarefactory-project-zuul[bot]
f9928eef70 Merge pull request #2395 from shanemcd/devel
Fix fallout from #2392

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-10 16:29:45 +00:00
Shane McDonald
ee1d5e43b9 Fix fallout from https://github.com/ansible/awx/pull/2392
There were some upstream changes that I overwrote but shouldn’t have.
2018-10-10 11:41:34 -04:00
Wayne Witzel III
5994c35975 Use latest version of asgi_amqp 2018-10-10 11:33:11 -04:00
softwarefactory-project-zuul[bot]
e94e79d57a Merge pull request #2400 from ryanpetrello/swagger-job
build swagger docs as part of CI

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-10 14:52:30 +00:00
Ryan Petrello
f87a09c46a build swagger docs as part of CI 2018-10-10 10:27:54 -04:00
softwarefactory-project-zuul[bot]
535e16c6cf Merge pull request #2396 from jakemcdermott/update-npm-install
don't update package lock file by default, update readmes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-10 14:03:10 +00:00
Jake McDermott
5ae19fd9c2 update development documentation 2018-10-10 09:23:47 -04:00
Jake McDermott
7d5f6aa49d don't update lock file by default 2018-10-10 09:23:37 -04:00
softwarefactory-project-zuul[bot]
c0fc3a74ee Merge pull request #2393 from ansible/non-root-docker-tests
Run tests in Docker as non-root user

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-10 13:20:00 +00:00
Yanis Guenane
22c831ff31 Merge branch 'devel' into non-root-docker-tests 2018-10-10 14:22:09 +02:00
softwarefactory-project-zuul[bot]
17dc6bf5a1 Merge pull request #2394 from wenottingham/ocean's-node-8
update node requirements in CONTRIBUTING.md to match INSTALL.md

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-10 10:07:50 +00:00
Yanis Guenane
e7fb82ffe7 Merge branch 'devel' into ocean's-node-8 2018-10-10 11:47:27 +02:00
softwarefactory-project-zuul[bot]
70ae546dee Merge pull request #2391 from wwitzel3/devel
use latest asgi_amqp version

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-10 09:40:21 +00:00
Yanis Guenane
5d22fc2bd7 Merge branch 'devel' into non-root-docker-tests 2018-10-10 09:44:01 +02:00
Ilkka Tengvall
b4919f9ebd Merge branch 'devel' into ikke-t-selinux-fix 2018-10-10 08:23:46 +03:00
Bill Nottingham
9033b3f2a5 update node requirements in CONTRIBUTING.md to match INSTALL.md 2018-10-09 19:54:05 -04:00
Shane McDonald
de60165a49 Fix broken defaults in awx installer 2018-10-09 19:15:32 -04:00
Daniel Sami
b02677a8d0 Initial commit for UI tests for always nodes 2018-10-09 16:32:24 -04:00
Wayne Witzel III
b8c1724880 use latest asgi_amqp version 2018-10-09 15:34:07 -04:00
softwarefactory-project-zuul[bot]
6baa2a109d Merge pull request #2392 from shanemcd/devel
Port downstream installer changes

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-09 19:18:24 +00:00
Shane McDonald
7a5cfd05a3 Run tests in Docker as non-root user 2018-10-09 15:16:01 -04:00
Shane McDonald
b9279ebd5e Port downstream installer changes 2018-10-09 14:39:39 -04:00
Marliana Lara
1b25dd0127 Fix ui-lint error 2018-10-09 14:21:59 -04:00
softwarefactory-project-zuul[bot]
49396178ca Merge pull request #2363 from AlanCoding/validate_env_vars
Validate ANSIBLE_ injectors on save and increase verbosity

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-09 18:11:47 +00:00
AlanCoding
a4dfd96a8d Validate ANSIBLE_ injectors on save and increase verbosity 2018-10-09 13:46:51 -04:00
Marliana Lara
a2f4e36e47 Show all wf options when node is not a root node
* Edge type of root node is always "always"
* If node is not a root node, show all options: always, success, fail
* Remove edge conflict logic
2018-10-09 11:30:53 -04:00
adamscmRH
ad566cc651 tests for always_nodes 2018-10-09 11:30:53 -04:00
adamscmRH
4d9523afa4 lift always node mutex restriction 2018-10-09 11:30:49 -04:00
softwarefactory-project-zuul[bot]
40602875e0 Merge pull request #2381 from msurovcak/patch-1
trivial: update teardown command

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-09 15:12:31 +00:00
Martin Surovcak
d0572cf170 trivial: update teardown command 2018-10-08 16:29:07 +02:00
softwarefactory-project-zuul[bot]
1edede213e Merge pull request #2309 from matburt/zuul_job_configuration
Add an initial check and gate job configuration for zuul

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-08 13:09:24 +00:00
Matthew Jones
e0c7a7bece Mention zuul in contributing 2018-10-05 14:32:47 -04:00
Matthew Jones
640f9474fc Remove shippable configuration 2018-10-05 14:26:03 -04:00
Ryan Petrello
29b90b700e minor docker-compose fix 2018-10-05 13:40:10 -04:00
Matthew Jones
f7c5289195 Clean up CI compose test invocation 2018-10-05 13:40:09 -04:00
Ryan Petrello
ee11341430 more make clean tinkering 2018-10-05 13:40:08 -04:00
Matthew Jones
56263a5fea Force ui cleanup in the test environment
Also allow using the system make
2018-10-05 13:40:07 -04:00
Jake McDermott
89e41f7524 replace phantomjs with headless chrome 2018-10-05 13:40:06 -04:00
Matthew Jones
3a8bacb8ef Add an initial check and gate job configuration for zuul
Updates for running ui tests and linters
2018-10-05 13:39:59 -04:00
Ryan Petrello
f328f8cad4 Merge pull request #2375 from ryanpetrello/fix-busted-notifications
fix busted notification tests
2018-10-05 09:39:35 -05:00
Ryan Petrello
7752446067 fix busted notification tests 2018-10-05 10:18:27 -04:00
Michael Abashian
96bc0f1578 Merge pull request #2348 from mabashian/2316-wf-width
Ensure workflow graph width is 100% of container
2018-10-05 08:00:56 -05:00
mabashian
9f25fdd079 Ensure workflow graph width is 100% of container 2018-10-05 06:42:53 -06:00
Shane McDonald
7249b21214 Merge pull request #2368 from backeby/fix
Fixed typo Ansbile->Ansible
2018-10-04 16:04:43 -05:00
Alan Rominger
2d642b95ae Merge pull request #2369 from AlanCoding/flake8_setup
Fix flake8 errors in setup.py
2018-10-04 12:45:34 -04:00
AlanCoding
b94d5c7f20 fix flake8 errors in setup.py 2018-10-04 12:25:07 -04:00
André Backeby
02c23fc1c6 Fixed typo Ansbile->Ansible 2018-10-04 15:07:52 +02:00
Shane McDonald
b75f8ceca6 Do not default to pulling latest from DockerHub 2018-10-03 17:50:07 -05:00
Shane McDonald
bfc74497b0 Fix error in image_build role
I think I derped up and commited something in an old stash.
2018-10-03 14:44:26 -05:00
Matthew Jones
c8c982428d Merge pull request #2332 from shanemcd/devel
Updates to versioning system.
2018-10-03 14:28:05 -04:00
Matthew Jones
e6dbf71252 Merge pull request #2341 from wwitzel3/views-breakout
Views breakout
2018-10-01 10:14:53 -04:00
Shane McDonald
3701567ad7 Revert "first-parent requires git >= 1.8.4"
This reverts commit 1af0ee2f8c.

# Conflicts:
#	installer/roles/image_build/templates/Dockerfile.j2
2018-09-28 15:48:33 -04:00
Shane McDonald
86140dec08 Revert "Fix sdist builder image"
This reverts commit 97472cb91b.

# Conflicts:
#	installer/roles/image_build/tasks/main.yml
2018-09-28 15:48:33 -04:00
Shane McDonald
50fe0392ed Updates to versioning system.
https://github.com/ansible/awx/issues?q=%22--first-parent%22
2018-09-28 15:48:33 -04:00
Wayne Witzel III
f18c965a8a fix test patches 2018-09-28 15:18:59 -04:00
Wayne Witzel III
f874e55051 split out mixins in views 2018-09-28 12:48:06 -04:00
Wayne Witzel III
1dcd2b1883 make views.py a directory based module 2018-09-28 12:29:12 -04:00
Ryan Petrello
7684579464 Merge pull request #2336 from ryanpetrello/fix-notification-race
send test notifications after the transaction closes to avoid a race
2018-09-28 10:02:02 -04:00
Ryan Petrello
16e89ed081 send test notifications after the transaction closes to avoid a race 2018-09-28 09:43:10 -04:00
Michael Abashian
3aa07baf26 Merge pull request #3035 from mabashian/3010-extra-vars
Fixes bug where schedule extra vars were not being displayed in the edit form
2018-09-28 09:24:41 -04:00
Chris Meyers
f1c53fcd85 Merge pull request #3034 from chrismeyersfsu/fix-ldap_params
at migration time, validate ldap group type params
2018-09-28 08:53:42 -04:00
mabashian
6c98e6c3a0 Actually fix extra vars on edit schedule. This commit takes into account survey question answers which need to get pulled out of extra vars and displayed in the prompt. 2018-09-27 16:49:23 -04:00
mabashian
8aec4ed72e Fixes bug where schedule extra vars were not being displayed in the edit form 2018-09-27 16:30:10 -04:00
chris meyers
0a0cdc2e21 at migration time, validate ldap group type params
* Previously, we have logic in the API to ensure that ldap group type
params, when changed, align with ldap group type Class init
expectations. However, we did not have this logic in the migrations.
This PR adds the validation check to migrations.
2018-09-27 12:18:39 -04:00
Shane McDonald
62e3b9e3b6 Driveby cleanup: use built-in Make variable 2018-09-26 21:27:07 -04:00
Ryan Petrello
dc3f81920e Merge pull request #2302 from AlanCoding/verbose_data
create_preload_data: log no-op operation, remove unnecessary credential
2018-09-26 16:35:18 -04:00
Ryan Petrello
f0776d6838 Merge pull request #3026 from ryanpetrello/fix-3004
properly support deprecated `Authorization: Token xyz`
2018-09-24 15:33:56 -04:00
Ryan Petrello
9de63832ce properly support deprecated Authorization: Token xyz 2018-09-24 15:16:09 -04:00
Ryan Petrello
8a66213dbe Merge pull request #2298 from ryanpetrello/fix-oauth2-deprecated-token-header
properly support deprecated `Authorization: Token xyz`
2018-09-24 15:15:13 -04:00
Ryan Petrello
23d4122574 properly support deprecated Authorization: Token xyz 2018-09-24 14:50:33 -04:00
AlanCoding
5900af726b log no-op operation and changed status 2018-09-21 15:23:02 -04:00
Shane McDonald
9fc4c03e5b Merge pull request #2197 from Spredzy/minor_fixes_contributing.md
CONTRIBUTING.md: Fixing ToC indendation and wrong links
2018-09-20 17:51:00 -04:00
Dmytro Makovey
f8d2a32756 merge and resolve conflict 2018-09-18 11:35:35 -07:00
Shane McDonald
0bb1b0ed45 Merge pull request #2272 from ansible/delete-shrinkwrap
delete old npm-shrinkwrap lock file
2018-09-18 14:01:16 -04:00
John Mitchell
3b11219fff delete old npm-shrinkwrap lock file 2018-09-18 13:42:02 -04:00
Shane McDonald
1b4c3f56fa Merge pull request #2113 from kialam/upgrade-node-lts
Upgrade Node and NPM to LTS
2018-09-18 12:46:30 -04:00
Shane McDonald
6c5334c7d3 Update docs for new Node and NPM version requirements 2018-09-18 12:37:41 -04:00
Shane McDonald
1371e394de Update Node version in dev container image 2018-09-18 12:37:20 -04:00
Shane McDonald
ec67feef2f Bump npm version in package.json
This is what’s served out of the 8.x LTS yum repos.
2018-09-18 12:18:21 -04:00
Shane McDonald
89e656b2a4 Update Node version in sdist builder 2018-09-18 12:17:52 -04:00
Ryan Petrello
5910b8c562 Merge pull request #2265 from shanemcd/devel
Merge remote-tracking branch 'downstream/release_3.3.0' into devel
2018-09-18 08:37:02 -04:00
Shane McDonald
580004b395 Merge remote-tracking branch 'downstream/release_3.3.0' into devel
# Conflicts:
#	awx/main/notifications/slack_backend.py
2018-09-18 08:11:50 -04:00
John Mitchell
70629ef7f3 Merge pull request #2997 from jlmitch5/fixPageSelector
fix filter page size selector
2018-09-13 10:42:50 -04:00
John Mitchell
1d8bb47726 fix filter page size selector 2018-09-12 17:31:10 -04:00
Matthew Jones
5e16c72d30 Merge pull request #2988 from mabashian/2982-wfjt-list-select
Fixes bug in wfjt node form where rows weren't remaining selected after being clicked
2018-09-12 14:00:32 -04:00
Matthew Jones
02f709f8d1 Merge pull request #2995 from jlmitch5/lodashFindUpdate
update syntax of lodash find call
2018-09-12 13:59:59 -04:00
Shane McDonald
90bd27f5a8 Whitespace fix
I’m not actually this pedantic, I just need something to tag.
2018-09-12 13:41:56 -04:00
John Mitchell
593ab90f92 update syntax of lodash find call 2018-09-12 10:54:17 -04:00
mabashian
27c06a7285 Fixes bug in wfjt node form where rows weren't remaining selected after being clicked 2018-09-11 16:34:02 -04:00
Ryan Petrello
b2c755ba76 Merge pull request #2980 from rooftopcellist/amend_changelog_networkui
rm network ui from changelog
2018-09-11 10:03:00 -04:00
Ryan Petrello
c88cab7d31 Merge pull request #2983 from ansible/deprecated_facts
deprecate fact endpoints
2018-09-11 10:02:25 -04:00
chris meyers
f82f4a9993 deprecate fact endpoints and commands 2018-09-07 17:46:33 -04:00
adamscmRH
5a6f1a342f rm network ui from changelog 2018-09-07 15:04:34 -04:00
Ryan Petrello
910663764f Merge pull request #2979 from ryanpetrello/celery-init-race
consolidate celery init signals to avoid an instance registration race
2018-09-07 09:46:06 -04:00
Ryan Petrello
43aa0fc741 consolidate celery init signals to avoid an instance registration race 2018-09-07 09:29:53 -04:00
Jake McDermott
b9b9fc1934 Merge pull request #2974 from jakemcdermott/fix-2968
delete text nodes when removing output lines
2018-09-06 13:25:53 -04:00
Jake McDermott
093f453073 don't render playbook_on_start events 2018-09-06 13:17:39 -04:00
Jake McDermott
0e696d0515 add destroy hook to index controller 2018-09-06 13:17:30 -04:00
Jake McDermott
c4a29ded1c use el.contents() to remove lines 2018-09-06 13:17:20 -04:00
Bill Nottingham
f402ff0ee7 Merge pull request #2972 from wenottingham/awx-apache
Add a license file for awx, for completeness purposes.
2018-09-05 13:04:35 -04:00
Bill Nottingham
b982793a3a Add a license file for awx, for completeness purposes. 2018-09-05 11:19:41 -04:00
Shane McDonald
b3f2f7efe5 Fix broken file ref 2018-09-05 00:06:11 -04:00
kialam
19f9a3f918 Merge pull request #2970 from kialam/fix/2969-empty-stdout
Detect if `stdout` field is null or undefined.
2018-09-04 14:11:44 -04:00
Bill Nottingham
4b2e709e8d Merge pull request #2967 from wenottingham/legal-beagles
Remove stale licenses, fix some name typos.
2018-09-04 11:53:46 -04:00
kialam
146590d0c2 Detect if stdout field is null or undefined. 2018-09-04 11:05:13 -04:00
Bill Nottingham
247ee4ddac Remove stale licenses, fix some name typos. 2018-08-31 13:32:25 -04:00
Ryan Petrello
2f2294b65a Merge pull request #2966 from ryanpetrello/fix-2950
fix LicenseForbids 401/402 precendence for other features
2018-08-31 12:00:50 -04:00
Ryan Petrello
ec873dd28c fix LicenseForbids 401/402 precendence for other features 2018-08-31 11:23:11 -04:00
Ryan Petrello
c2bd36e580 Merge pull request #2965 from ryanpetrello/fix-2950
workflow endpoints should return 401 on invalid credentials
2018-08-31 11:16:18 -04:00
Ryan Petrello
1f8736ce1d workflow endpoints should return 401 on invalid credentials
if you have a license that doesn't allow use of workflows, invalid
credentials yielded an HTTP 402; this commit changes the precedence

see: https://github.com/ansible/tower/issues/2950
2018-08-31 10:57:27 -04:00
Alan Rominger
50a9f0be6b Merge pull request #2960 from AlanCoding/bad_locks
Put atomic block inside lock block
2018-08-30 14:53:01 -04:00
Ryan Petrello
8f3c5be04e Merge pull request #2962 from ryanpetrello/fix-2952
fix a subtle bug in awx.main.access.OAuth2ApplicationAccess.can_read
2018-08-30 14:42:28 -04:00
Ryan Petrello
34ceaf4551 fix a subtle bug in awx.main.access.OAuth2ApplicationAccess.can_read
see: https://github.com/ansible/tower/issues/2952
2018-08-30 14:21:03 -04:00
AlanCoding
786e907e3b put atomic block inside lock block 2018-08-30 12:54:53 -04:00
Ryan Petrello
c5aa9ee12b Merge pull request #2959 from ryanpetrello/fix-2957
don't access the database in our custom route_for_task
2018-08-30 11:54:32 -04:00
Ryan Petrello
24f8cb49b5 don't access the database in our custom route_for_task
If database connectivity is lost/interrupted in this block of celery
internals, beat is *not* smart enough to recover, and it gets stuck in
an endless fail loop.  We don't _need_ to talk to the database here
anyways; just use settings.CLUSTER_HOST_ID to get what we need.

see: https://github.com/ansible/tower/issues/2957
2018-08-30 11:40:43 -04:00
Jake McDermott
54d967af0d Merge pull request #2947 from jakemcdermott/job-results/colormap
add basic colormap for output lines
2018-08-30 11:40:37 -04:00
Ryan Petrello
3c91370cab Merge pull request #2955 from ryanpetrello/fix-2951
write custom inventory scripts to AWX_PRIVATE_DATA_DIR
2018-08-30 09:25:42 -04:00
Bill Nottingham
e22dc3dc7b Merge pull request #2941 from wenottingham/come-to-the-source
Update sources to match versions... add a few missing LGPL ones.
2018-08-30 09:21:17 -04:00
Ryan Petrello
9ae41dc3ba write custom inventory scripts to AWX_PRIVATE_DATA_DIR
this makes it so that custom inventory scripts can access credential
files laid down in `/tmp/awx_N_<xyz>`

see: https://github.com/ansible/tower/issues/2951
2018-08-30 08:32:27 -04:00
Alan Rominger
f175d6dfae Merge pull request #2931 from AlanCoding/more_licenses_yay
Add missing API licenses
2018-08-30 08:09:51 -04:00
Ryan Petrello
34c659d8b6 Merge pull request #2945 from ryanpetrello/improved-instance-list
make awx-manage instance_list easier to read and more useful
2018-08-29 15:11:38 -04:00
Ryan Petrello
6eb406ac39 make awx-manage instance_list easier to read and more useful 2018-08-29 15:00:05 -04:00
Jake McDermott
cddceb0e06 add basic colormap for output lines 2018-08-29 13:28:05 -04:00
John Mitchell
a549bea815 Merge pull request #2944 from jlmitch5/uiGetLicenseScriptUpdate
Ui get license script update
2018-08-29 12:14:27 -04:00
Jake McDermott
860fbdad02 Merge pull request #2880 from jakemcdermott/fix-2828
add event discard with interactive discontinuities for high volume jobs
2018-08-29 04:01:04 -04:00
Jake McDermott
f639e46718 advance ready counter by an entire batch when event limit is reached 2018-08-29 03:03:24 -04:00
Michael Abashian
56dc08683e Merge pull request #2943 from mabashian/2930-notif-admin-v2
Exposes organization notification list to users with notification admin role
2018-08-28 17:25:44 -04:00
mabashian
148daec49b Remove console.log 2018-08-28 16:14:53 -04:00
John Mitchell
2d03938451 remove dev dependencies from docs/licenses/ui folder 2018-08-28 15:49:57 -04:00
John Mitchell
bc7b586803 updated automated ui get license script to only look for nondev deps 2018-08-28 15:49:06 -04:00
mabashian
1408200927 Exposes organization notification list to users with notification admin role 2018-08-28 15:47:28 -04:00
Bill Nottingham
3576e192f4 Update sources to match versions... add a few missing LGPL ones. 2018-08-28 14:47:20 -04:00
Ryan Petrello
70d930e019 Merge pull request #2940 from ryanpetrello/more-i18n
more UI i18n
2018-08-28 13:57:24 -04:00
Ryan Petrello
c69e41b261 more UI i18n
see: https://github.com/ansible/tower/issues/1383
2018-08-28 12:47:18 -04:00
Michael Abashian
2949efd6ec Merge pull request #2939 from mabashian/2930-notif-admin
Handle notification admin user type in the UI
2018-08-28 11:22:46 -04:00
mabashian
2592613bde Fixes unit test failures 2018-08-28 11:01:04 -04:00
Yanis Guenane
aa717a2728 CONTRIBUTING.md: Fixing ToC indendation and wrong links
The Table of Contents list indentation was wrongly indented for 'Running
the environment'.

Also, some links pointed to anchor that did not exist. The commit fixes
that.

Signed-off-by: Yanis Guenane <yguenane@redhat.com>
2018-08-28 10:53:17 +02:00
mabashian
de158cb41d Removes console.log 2018-08-27 17:33:35 -04:00
mabashian
f7737e2f94 Handle notification admin user type in the UI 2018-08-27 17:32:17 -04:00
Jake McDermott
4e45b6ba6d fix missing line styling 2018-08-27 17:17:48 -04:00
Ryan Petrello
5885654405 Merge pull request #2202 from rooftopcellist/pin_pluggy_awx
pin pluggy at 0.6.0
2018-08-27 17:15:29 -04:00
adamscmRH
227960e3ea pin pluggy at 0.6.0 2018-08-27 16:55:40 -04:00
Christian Adams
d6ba3e1fc2 Merge pull request #2938 from rooftopcellist/pin_pluggy
pin pluggy at 0.6.0
2018-08-27 16:46:55 -04:00
adamscmRH
2643a1b3d6 pin pluggy at 0.6.0 2018-08-27 16:13:24 -04:00
Ryan Petrello
6afb47789a Merge pull request #2936 from ryanpetrello/fix-1775
properly sanitize long event keys
2018-08-27 13:44:19 -04:00
Ryan Petrello
2acc488adf properly sanitize long event keys
see: https://github.com/ansible/tower/issues/1775
2018-08-27 13:40:26 -04:00
Michael Abashian
d0598e720d Merge pull request #2934 from mabashian/2933-search
Makes search filters additive again
2018-08-27 11:09:23 -04:00
Ryan Petrello
162ef08cef Merge pull request #2935 from mabashian/2873-first-last
Fixes bug removing first/last name from a user
2018-08-27 10:15:27 -04:00
Jake McDermott
aa0d2cff5c handle response data with discontinuities when using that data to fill other discontinuities 2018-08-27 01:38:02 -04:00
Jake McDermott
d608402dc1 refactor render service 2018-08-27 01:37:47 -04:00
Jake McDermott
04dbc2fcc4 add basic click handler for fetching and showing missing events 2018-08-27 01:37:36 -04:00
Jake McDermott
0bc9b1d431 render missing lines instead of auto-unfollowing 2018-08-27 01:37:28 -04:00
Jake McDermott
138f8a45ae moving render/record keeping and scroll functionality out of pagers 2018-08-27 01:37:18 -04:00
Jake McDermott
ee348b7169 add handling for discontinuities in render service 2018-08-27 01:37:11 -04:00
Jake McDermott
38b9b47e6b add max event count and discarding to stream service 2018-08-27 01:37:02 -04:00
Jake McDermott
2187655c68 move buffer mgmt to stream service 2018-08-27 01:36:52 -04:00
Jake McDermott
13203af353 Merge pull request #2921 from jakemcdermott/job-results/event-replay-skip-range
add option to job replay tool for skipping a range of job events
2018-08-25 22:54:46 -04:00
mabashian
4781df62ec Fixes bug removing first/last name from a user 2018-08-25 14:25:49 -04:00
mabashian
72372b3810 Makes search filters additive again 2018-08-25 14:00:24 -04:00
Alan Rominger
b742746e5d Merge pull request #2928 from AlanCoding/even_more_diff
Prefetch prior list of instances at start of policy calc task
2018-08-24 16:44:08 -04:00
AlanCoding
74fc0fef04 Manually pin reference list at start of pg_lock block 2018-08-24 15:28:28 -04:00
AlanCoding
bb8025c1af add missing API licenses 2018-08-24 15:16:56 -04:00
Michael Abashian
d824508cfb Merge pull request #2875 from mabashian/2868-lodash
Upgrades lodash to ~4.17.10
2018-08-24 13:27:07 -04:00
Ryan Petrello
077e541876 Merge pull request #2926 from ryanpetrello/deprecated-auth-token-helper
fix an auth-related typo in a docstring
2018-08-24 12:15:47 -04:00
Ryan Petrello
4561fd7270 fix an auth-related typo in a docstring 2018-08-24 11:56:11 -04:00
Ryan Petrello
50786f201f Merge pull request #2922 from ryanpetrello/deprecated-auth-token-helper
emulate /api/v2/authtoken/ to help customers transition to OAuth2.0
2018-08-24 11:40:47 -04:00
Ryan Petrello
5561eb30f7 emulate /api/v2/authtoken/ to help customers transition to OAuth2.0 2018-08-24 11:05:41 -04:00
Jake McDermott
e2c4fd5ebb add option for skipping counter slice range of events 2018-08-23 18:12:57 -04:00
John Mitchell
7226acb2b6 Merge pull request #2903 from jlmitch5/ui33Licenseifyer
add license grabbing script for ui deps
2018-08-23 16:53:12 -04:00
John Mitchell
7ef8e147f4 add license info about ui packages generated from script 2018-08-23 15:49:35 -04:00
John Mitchell
45db305e69 add script for generating ui license info in docs/licenses/ui 2018-08-23 15:49:01 -04:00
Ryan Petrello
52abb29091 Merge pull request #2919 from ryanpetrello/more-workflow-editor-i18n
sprinkle in more i18n translation for the workflow editor
2018-08-23 14:37:31 -04:00
Ryan Petrello
d564a268fd sprinkle in more i18n translation for the workflow editor
see: https://github.com/ansible/tower/issues/775
2018-08-23 14:07:15 -04:00
kialam
8280aff612 Merge pull request #2909 from kialam/fix/2836-part2
Fix Job Detail Stats Panel Title and Badge Whitespace with CSS modifier
2018-08-23 12:41:18 -04:00
Alan Rominger
b35d6b7425 Merge pull request #2911 from AlanCoding/mo_text
Document inventory script towervars
2018-08-23 09:18:36 -04:00
Ryan Petrello
7b692b0c31 Merge pull request #2913 from ryanpetrello/fix-2907
set the session cookie expiry *properly* on each request
2018-08-22 16:08:13 -04:00
Ryan Petrello
a271837007 set the session cookie expiry *properly* on each request
see: https://github.com/ansible/tower/issues/2907
2018-08-22 15:26:03 -04:00
AlanCoding
a3d0e10f51 remove added-in tags that reference old AWX 2018-08-22 15:17:47 -04:00
AlanCoding
5e8f7b76f1 document inventory script towervars 2018-08-22 15:16:39 -04:00
kialam
c67e9143fb Contain margins for stats panel with modifier
- Create CSS `—inline` modifier so that other areas where
`at-Panel-headingTitleBadge` are not affected.
2018-08-22 11:51:27 -04:00
Ryan Petrello
5abe045e6c Merge pull request #2908 from ryanpetrello/fix-2187
fix a bug that broke bot avatars for Slack notifications
2018-08-22 11:35:02 -04:00
Ryan Petrello
4bc63cc37e fix a bug that broke bot avatars for Slack notifications
when a *color* is specified for a Slack notification template, we use
the *web* not the RTM API; when you use a bot with the web API, you have
to specify the `as_user=True` argument to have the message use the bot's
name and avatar

see: https://github.com/ansible/tower/issues/2883
see: https://github.com/ansible/awx/issues/2187
2018-08-22 10:57:13 -04:00
Ryan Petrello
5cdd947196 Merge pull request #2870 from ryanpetrello/fix-2839
enforce 0 <= Instance.capacity_adjustment
2018-08-21 15:49:28 -04:00
Ryan Petrello
67d1267d98 enforce 0 <= Instance.capacity_adjustment
see: https://github.com/ansible/tower/issues/2839
2018-08-21 15:34:19 -04:00
Jake McDermott
66db615c0c Merge pull request #2888 from kialam/fix/2836
Adjust title and badge spacing on job output stats section.
2018-08-21 14:12:15 -04:00
Alan Rominger
598449c2ce Merge pull request #2882 from AlanCoding/just_credential2
[option2] move inventory source vault credential validation from view to model
2018-08-21 13:24:50 -04:00
kialam
4119c1dd0b Adjust title and badge spacing on job output stats section. 2018-08-21 10:51:31 -04:00
Ryan Petrello
2acf055f6a Merge pull request #2885 from ryanpetrello/fix-2874
apply sensitive field filtering to /api/v2/hosts/?host_filter
2018-08-21 10:43:52 -04:00
Ryan Petrello
4eeb62766e apply sensitive field filtering to /api/v2/hosts/?host_filter
see: https://github.com/ansible/tower/issues/2874
see: https://github.com/ansible/tower/issues/2889
2018-08-21 08:17:14 -04:00
Ryan Petrello
d995068396 Merge pull request #2895 from ryanpetrello/release_3.3.0
fix failing unit tests
2018-08-21 08:16:29 -04:00
Alan Rominger
ee139b306c Merge pull request #2881 from AlanCoding/log_cul_de_sacs
Change loggers from non-propagating to INFO filter
2018-08-21 07:36:52 -04:00
Ryan Petrello
a36b0061fa fix failing unit tests 2018-08-20 19:57:28 -04:00
Jake McDermott
eb0cf945cf Merge pull request #2860 from jakemcdermott/fix-2228
make line expand / collapse work for paginated scrollup
2018-08-20 13:12:52 -04:00
Jake McDermott
2e7ab57645 Merge pull request #2886 from jakemcdermott/job-results/line-search
enable output filtering by start / end line
2018-08-20 13:02:29 -04:00
Michael Abashian
d8f6c0aebc Merge pull request #2822 from mabashian/2819-prompt
Properly show prompt button when re-selecting a node with promptable fields
2018-08-20 12:45:38 -04:00
Jake McDermott
f8e5e38614 enable output filtering by start / end line 2018-08-20 12:40:27 -04:00
AlanCoding
3f841180da Change loggers from non-propagating to INFO filter 2018-08-20 09:02:55 -04:00
AlanCoding
9a85578925 move inv src vault cred validation from view to model 2018-08-20 08:53:55 -04:00
mabashian
f1e0c1e977 Upgrades lodash to ~4.17.10 2018-08-17 15:59:27 -04:00
Shane McDonald
1b8cb45024 Update translations 2018-08-17 13:56:34 -04:00
Bill Nottingham
fb9e508b6b Merge pull request #2857 from shanemcd/release_3.3.0
Fix / improve minishift dev env playbook
2018-08-17 13:19:24 -04:00
Ryan Petrello
0868f97335 Merge pull request #2866 from ryanpetrello/ci-for-missing-migrations
fail CI if the change includes model changes that are missing migrations
2018-08-17 08:41:46 -04:00
Ryan Petrello
30fbeb43bb fail CI if the change includes model changes that are missing migrations 2018-08-16 17:43:32 -04:00
mabashian
d2aea30d3d Add check for ask_variables_on_launch when determining whether to show prompt button 2018-08-16 15:41:15 -04:00
mabashian
cdb347cba5 Properly show prompt button when re-selecting a node with promptable fields 2018-08-16 15:41:15 -04:00
Ryan Petrello
c95c7c8b18 Merge pull request #2865 from ryanpetrello/fix-mystery-migrations
fix up remaining Django migrations
2018-08-16 15:03:36 -04:00
Ryan Petrello
14043f792a fix up remaining Django migrations
these don't really change anything in the schema; they just look like
Django ORM idiosyncrancies that `makemigrations` needs to be happy

see: https://github.com/ansible/tower/issues/2203
2018-08-16 13:59:06 -04:00
Christian Adams
9632f3b69e Merge pull request #2847 from rooftopcellist/fix_actstream_migration
Fix a variety of missing migrations
2018-08-16 13:32:53 -04:00
adamscmRH
da1da6f530 Fix oauth and std out mystery migrations 2018-08-16 13:08:45 -04:00
Jared Tabor
5b93007ba1 Merge pull request #2838 from jaredevantabor/fix-765
Checking for undefined default survey answers
2018-08-16 09:20:42 -07:00
Ryan Petrello
e87633f1d8 Merge pull request #2859 from ryanpetrello/shhhhhhhhhhhhhhhhhhhhhhhhhh
make inventory updates considerably less verbose by default
2018-08-16 09:34:14 -04:00
Jake McDermott
ca35eb39d2 make line expand / collapse work for paginated scrollup 2018-08-15 21:24:44 -04:00
Jared Tabor
5d84863237 Merge pull request #2856 from Haokun-Chen/2831
add max-height to job output console at breakpoint
2018-08-15 15:05:46 -07:00
Jared Tabor
f4728149d9 Changes max height of stdout panel for skinny browser widths 2018-08-15 14:44:03 -07:00
Ryan Petrello
4c7c8b6db3 make inventory updates considerably less verbose by default
see: https://github.com/ansible/tower/issues/2858
2018-08-15 16:04:15 -04:00
Ryan Petrello
db8ee2810a Merge pull request #2854 from ryanpetrello/more-custom-venv-help
provide friendlier help messages if you set up custom venvs wrong
2018-08-15 15:57:15 -04:00
Ryan Petrello
5ba8bbb08b Merge pull request #2855 from ryanpetrello/what-the-fork
close DB and cache sockets _immediately_ before we fork callback workers
2018-08-15 15:56:18 -04:00
Ryan Petrello
87adfe5889 close DB and cache sockets _immediately_ before we fork callback workers 2018-08-15 15:10:08 -04:00
Shane McDonald
07cb2aa9bb Fix / improve minishift dev env playbook
- Redo how we detect / set the minishift path
- Log into the correct admin account, once.
- Make sure commands that fail cause tasks to fail (s/;/&&/)
2018-08-15 15:01:40 -04:00
Shane McDonald
19c5564ec8 Update translation strings 2018-08-15 14:56:58 -04:00
Haokun-Chen
e05d071dab add max-height to job output console at breakpoint 2018-08-15 14:29:32 -04:00
Ryan Petrello
6ba1b170d2 provide friendlier help messages if you set up custom venvs wrong 2018-08-15 14:11:48 -04:00
Ryan Petrello
63d7abc7e4 Merge pull request #2853 from ryanpetrello/fix-2852
show a better error when a custom venv doesn't exist on an isolated node
2018-08-15 13:59:11 -04:00
Ryan Petrello
b318fa7814 Merge pull request #2851 from ryanpetrello/fix-2843
show custom_virtualenvs at /api/v2/config if you have Project/Org access
2018-08-15 13:40:44 -04:00
Ryan Petrello
5f6907ba83 show a better error when a custom venv doesn't exist on an isolated node
see: https://github.com/ansible/tower/issues/2852
2018-08-15 13:31:25 -04:00
Ryan Petrello
cffa324762 show custom_virtualenvs at /api/v2/config if you have Project/Org access
see: https://github.com/ansible/tower/issues/2843
2018-08-15 13:12:12 -04:00
Yunfan Zhang
b690e61576 Merge pull request #2849 from YunfanZhang42/release_3.3.0
Prevent implicit project updates from blocking jobs.
2018-08-15 12:13:11 -04:00
Shane McDonald
ae207b5f33 Merge pull request #2175 from shanemcd/kubernetes-fun
Pull in downstream k8s installer changes
2018-08-15 11:51:42 -04:00
Yunfan Zhang
5c23c63e6d Prevent implicit project updates from blocking jobs.
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-08-15 11:48:58 -04:00
Haokun Chen
3a133836dc Merge pull request #2833 from Haokun-Chen/2829
fixed build anchor for application in activity stream
2018-08-15 10:40:06 -04:00
Ryan Petrello
ab7cc88caf Merge pull request #2845 from ryanpetrello/remove-named-url-note
remove extraneous OPTIONS content re: the new named URL feature
2018-08-15 10:23:32 -04:00
Ryan Petrello
3b997cdd3a remove extraneous OPTIONS content re: the new named URL feature 2018-08-15 10:22:42 -04:00
Ryan Petrello
59f246d297 Merge pull request #2841 from ryanpetrello/indexes-for-new-events
add indexes for new events
2018-08-14 22:41:39 -04:00
Jake McDermott
14a8258835 Merge pull request #2842 from jakemcdermott/fix-2837
hide counter badges for output only jobs
2018-08-14 17:13:45 -04:00
Jake McDermott
897fb96f94 hide counter badges for output only jobs 2018-08-14 17:12:50 -04:00
Ryan Petrello
79a29ebcc8 add indexes for new event types
not sure why this didn't happen in the original migration that was
generated - may be related to differences in behavior across Django
versions?
2018-08-14 16:57:13 -04:00
Jared Tabor
950e4dab04 Checking for undefined default survey answers 2018-08-14 13:23:06 -07:00
Haokun-Chen
ab82cc3ba3 fixed build anchor for application in activity stream 2018-08-14 14:46:45 -04:00
Jared Tabor
93a8a952f1 Merge pull request #2806 from jaredevantabor/fix-2796
Fix 2796
2018-08-14 10:49:26 -07:00
Shane McDonald
2b9954c373 Pull in downstream k8s installer changes
- Secretification of secret stuff
- Backup / restore
2018-08-14 12:37:19 -04:00
Haokun Chen
21f0c1d1d7 Merge pull request #2832 from Haokun-Chen/fixed-sanitize-output
fixed
2018-08-14 12:09:52 -04:00
Haokun-Chen
379979511b fixed 2018-08-14 11:46:31 -04:00
Shane McDonald
2e6a7205e7 Fix broken conditional 2018-08-14 11:19:15 -04:00
Matthew Jones
14685901aa skip migrations If an environment variable is set
This is to help k8s/openshift migrations which will perform migrations
in a separate pod.
2018-08-14 11:00:51 -04:00
Haokun Chen
15480a56db Merge pull request #2820 from Haokun-Chen/2815
show client id and secret when create application
2018-08-13 16:30:34 -04:00
Haokun-Chen
9f54ba069e show client id and secret when create application 2018-08-13 15:54:57 -04:00
kialam
42f01b7f05 Use latest version of nvd3 instead
- Replace forked version in favor of latest version from NOVUS.
2018-08-13 14:49:25 -04:00
kialam
6cf1fb3c10 Update node and nom to LTS version 2018-08-13 14:46:00 -04:00
Christian Adams
03058cd1e8 Merge pull request #2824 from rooftopcellist/test_refresh_token
Test refresh token
2018-08-13 14:03:35 -04:00
Jake McDermott
a30c2fe227 Merge pull request #2817 from jakemcdermott/job-results/_debug-mode
add event replay mode to ui for finished jobs
2018-08-13 13:41:03 -04:00
Jake McDermott
d8e890b651 Merge pull request #2826 from jakemcdermott/fix-2818
fix handling for potentially missed events on initialization
2018-08-13 13:40:20 -04:00
Jake McDermott
95735ee01a Merge pull request #2827 from jakemcdermott/job-results/performance-testing
performance / ux scrolling fixes for higher volume jobs
2018-08-13 13:40:00 -04:00
Shane McDonald
047b5755bf Merge pull request #2170 from matburt/fix_web_wait_deployment
Add some env variables to the web deployment
2018-08-13 13:32:22 -04:00
Matthew Jones
4dcd379d1e Add some env variables to the web deployment
This allows the start script to properly wait on services to come
online rather than getting stuck and waiting for the full timeout
2018-08-13 13:27:00 -04:00
adamscmRH
61931d0b6c add RefreshToken tests 2018-08-13 10:08:08 -04:00
Jake McDermott
516607551c show follow tip on first auto scroll hide 2018-08-12 19:35:59 -04:00
Jake McDermott
5e974d84b6 fix handling for missed events on initialization 2018-08-12 17:44:11 -04:00
Jake McDermott
91bc39be6b performance / ux improvements for higher volume jobs 2018-08-12 17:29:30 -04:00
kialam
49222d5e72 Merge pull request #2821 from kialam/fix/2797
Fix missing Prompt button for Extra Vars in WF Visualizer
2018-08-10 11:06:43 -07:00
kialam
686e5ac545 Handle extra vars case for "Prompt" button in WF visualizer. 2018-08-10 13:33:43 -04:00
Ryan Petrello
8723508225 fix failing tests related to 2c4f7911a6 2018-08-10 12:45:35 -04:00
Ryan Petrello
18f6f68540 Merge remote-tracking branch 'tower/release_3.3.0' into devel 2018-08-10 11:54:34 -04:00
Ryan Petrello
c85dd25135 Merge pull request #2814 from ryanpetrello/fix-2805
redact sensitive URLs from stdout at /api/v2/project_updates/N/events/
2018-08-10 10:35:53 -04:00
Jake McDermott
0c3d6e7c33 add testing section for job events 2018-08-10 01:16:02 -04:00
Jake McDermott
e1b7e7f6ce add event replay mode 2018-08-10 01:15:41 -04:00
Chris Meyers
a34d8eba06 Merge pull request #2158 from chrismeyersfsu/fix-net_creds
Fix net creds
2018-08-09 23:45:53 -04:00
Ryan Petrello
cdeea54a07 Merge pull request #2160 from ryanpetrello/devel
more issue template tinkering
2018-08-09 23:10:50 -04:00
Ryan Petrello
b1074aeb56 more issue template tinkering 2018-08-09 23:08:18 -04:00
Ryan Petrello
e9cbe4fe05 Merge pull request #2159 from ryanpetrello/devel
Add more detailed issue templates
2018-08-09 23:05:25 -04:00
Ryan Petrello
593c436a09 Update issue templates 2018-08-09 23:02:50 -04:00
Ryan Petrello
999ddf458a Add more detailed issue templates. 2018-08-09 23:00:56 -04:00
chris meyers
c7c9620f03 vary the pk 2018-08-09 17:53:31 -04:00
chris meyers
45f2fe7f90 add test for first net cred ssh password protected wins 2018-08-09 17:53:23 -04:00
chris meyers
3960a72c8a first net password-protected ssh key wins 2018-08-09 17:53:13 -04:00
chris meyers
bc2b2214a8 add test for ssh over network ssh key password preference 2018-08-09 17:53:06 -04:00
chris meyers
3c2b18a965 add pexpect test for net cred 2018-08-09 17:52:55 -04:00
chris meyers
f5aed74503 fill in network ssh password protected keys 2018-08-09 17:52:45 -04:00
Chris Meyers
439e4fc138 Merge pull request #2811 from chrismeyersfsu/fix-network_encrypted_ssh_keys
fill in network ssh password protected keys
2018-08-09 17:49:59 -04:00
Christian Adams
71beb9a257 Merge pull request #2810 from rooftopcellist/hide_app_client_secret
hide client_secret from API
2018-08-09 17:44:12 -04:00
Ryan Petrello
d95f1283b5 redact sensitive URLs from stdout at /api/v2/project_updates/N/events/
see: https://github.com/ansible/tower/issues/2805
2018-08-09 17:31:09 -04:00
chris meyers
5bfe9bf228 vary the pk 2018-08-09 15:44:59 -04:00
chris meyers
40d6c763b3 add test for first net cred ssh password protected wins 2018-08-09 13:32:42 -04:00
chris meyers
2f49dc774a first net password-protected ssh key wins 2018-08-09 13:25:15 -04:00
chris meyers
8d440acb0f add test for ssh over network ssh key password preference 2018-08-09 12:51:40 -04:00
chris meyers
9a199b99ac add pexpect test for net cred 2018-08-09 12:40:37 -04:00
chris meyers
48a0038f53 fill in network ssh password protected keys 2018-08-09 12:15:27 -04:00
adamscmRH
1bc83b488b hide client_secret from API 2018-08-09 11:27:39 -04:00
Yunfan Zhang
5f0b34de38 Merge pull request #2769 from YunfanZhang42/release_3.3.0
Do not create refresh tokens for apps with implicit grant type
2018-08-09 10:50:12 -04:00
Alan Rominger
fad568c960 Merge pull request #2801 from AlanCoding/register_queue
Only add instances to policy list via CLI command
2018-08-09 10:43:21 -04:00
Shane McDonald
61c21c5ac0 Merge pull request #2808 from wwitzel3/release_3.3.0
disable computed for create preload data mgmt cmd
2018-08-09 10:14:52 -04:00
Wayne Witzel III
89642a449f disable computed for create preload data mgmt cmd 2018-08-09 10:11:37 -04:00
Bill Nottingham
bb5aeb5cf1 Merge pull request #2133 from wenottingham/do-you-like-beans
Add some more descriptive survey defaults.
2018-08-09 09:52:55 -04:00
AlanCoding
df05cff850 only add instances to policy list via CLI command 2018-08-09 09:32:09 -04:00
Dennis U
a294a6f06e Bugfix for ca_trust_dir
Changed syntax as ca_trust_dir was not correctly mounted in awx_web container and added command to update CA trust inside awx_web container after creation.
2018-08-09 14:07:29 +02:00
Jake McDermott
41f88fd2f6 Merge pull request #2740 from jakemcdermott/fix-2241
implement auto-follow-scroll behavior for job output
2018-08-08 22:43:45 -04:00
Jake McDermott
80d6b0167c implement output follow-scroll behavior 2018-08-08 22:42:21 -04:00
Jared Tabor
97c8005d00 Moves minimum idle time to 61 seconds (so that user can't type 60) 2018-08-08 17:09:04 -07:00
Yunfan Zhang
02db543848 Do not create refresh tokens for apps with implicit grant type.
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-08-08 17:37:02 -04:00
Jake McDermott
fed729f101 rewrite output scrolling service 2018-08-08 15:15:58 -04:00
Jake McDermott
4c3370bd34 move constants to a file 2018-08-08 15:15:58 -04:00
Jared Tabor
86a1f9c0ad Merge pull request #2779 from jaredevantabor/fix-2778
Sanitizes text in toast message for copying resources
2018-08-08 10:40:32 -07:00
John Mitchell
dc9f3b2b51 Merge pull request #2784 from jlmitch5/fixClusterLicenseInfo
use post response if config get request erroneously doesnt have licen…
2018-08-08 10:38:36 -04:00
Wayne Witzel III
9b5cd4aa62 Merge pull request #2789 from AlanCoding/running_wfjts
Add current workflow job to running list
2018-08-08 08:47:07 -04:00
AlanCoding
7aa7cc1c98 add current workflow job to running list 2018-08-08 07:49:02 -04:00
Jared Tabor
33fa75ea89 Sanitizes ng-toast message for copy resources (via string file) 2018-08-07 19:03:05 -07:00
Ryan Petrello
bd79a5328f Merge pull request #2788 from ryanpetrello/fix-2782
fix a bug in isolated job launches when there are no controllers online
2018-08-07 20:16:56 -04:00
Ryan Petrello
91c92d57e3 fix a bug in isolated job launches when there are no controllers online
see: https://github.com/ansible/tower/issues/2782
2018-08-07 17:27:23 -04:00
Michael Abashian
7b9f01aaec Merge pull request #2783 from mabashian/2774-workflow-labels
Propagate label length validation to workflow form
2018-08-07 16:54:11 -04:00
Michael Abashian
c7cc05747f Merge pull request #2787 from mabashian/fix-e2e-tests
Fixes e2e test failure checking copy wf warning title
2018-08-07 16:53:55 -04:00
mabashian
0a78bdcf28 Added expect that was accidentally removed 2018-08-07 16:29:19 -04:00
mabashian
273754dc79 Removes redundant maxCount declaration 2018-08-07 16:24:51 -04:00
Michael Abashian
a9b6d42af5 Merge pull request #2776 from mabashian/2669-instance-list-search
Remove page_size from instance list search params
2018-08-07 16:15:05 -04:00
mabashian
7f6ab4f60b Fixes e2e test failure checking copy wf warning title 2018-08-07 15:59:46 -04:00
John Mitchell
df42a65504 use post response if config get request erroneously doesnt have license_info 2018-08-07 15:52:09 -04:00
mabashian
c7466ce449 Wraps label count validation in function 2018-08-07 14:27:04 -04:00
Jared Tabor
d1f37ad1af Merge pull request #2765 from jaredevantabor/fix-2748
Improves error handling of applications page form
2018-08-07 11:07:32 -07:00
mabashian
eb8c1d2c78 Fix comment 2018-08-07 13:55:15 -04:00
mabashian
f548e36ad7 Propagate label length validation to workflow form 2018-08-07 13:53:12 -04:00
Jared Tabor
cd177501b9 Adds catch block to catch 404 case on applications form page 2018-08-07 10:23:15 -07:00
Jared Tabor
b9e95b1158 Expands the error handling capabilities for __all__ errors 2018-08-07 10:14:53 -07:00
John Mitchell
d7a9d76d25 Merge pull request #2775 from jlmitch5/fixInstanceGroups404
Fix instance groups 404
2018-08-07 12:58:55 -04:00
Ryan Petrello
c4d9b92d79 Merge pull request #2773 from ryanpetrello/openshift-saml
set the correct X-Forwarded-Port header to fix SAML auth
2018-08-07 12:26:51 -04:00
Haokun Chen
2c9ce5ae56 Merge pull request #2777 from Haokun-Chen/2771
add headerState to status icon in job-list page
2018-08-07 11:47:10 -04:00
Haokun-Chen
412d87239c add headerState to status icon in job-list page 2018-08-07 11:39:18 -04:00
mabashian
2b3a61226b Remove page_size from instance list search params 2018-08-07 11:18:14 -04:00
John Mitchell
768d737153 fix 404 for instance groups 2018-08-07 10:53:53 -04:00
Ryan Petrello
2d4fbffb91 set the correct X-Forwarded-Port header to fix SAML auth
see: https://github.com/ansible/tower/issues/2314
2018-08-07 10:07:06 -04:00
Shane McDonald
1c32df0fcd Move django-oauth-toolkit into requirements_git.txt
All SCM based requirements need to go into this file because of how we built Ansible Tower (offline).
2018-08-06 19:00:54 -04:00
Jared Tabor
b28cdf4a63 Merge pull request #2767 from jaredevantabor/dep-lockdown
Dep lockdown
2018-08-06 13:41:41 -07:00
Jared Tabor
d776e9de0e Updates npm-shrinkwrap.json after networkUI deps removal 2018-08-06 12:53:14 -07:00
Ryan Petrello
9193125cc1 Merge pull request #2764 from ryanpetrello/dot-fork
pin django-oauth-toolkit to our fork w/ a security fix
2018-08-06 15:45:42 -04:00
Ryan Petrello
87d6940158 pin django-oauth-toolkit to our fork w/ a security fix
see: https://github.com/jazzband/django-oauth-toolkit/issues/625
2018-08-06 14:54:46 -04:00
kialam
4800b4455f Merge pull request #2753 from kialam/fix/1475-long-label-error
Client-side validation of Label field in Job Template form
2018-08-06 13:54:49 -04:00
kialam
64caeeff36 Restore missing API form errors for selects. 2018-08-06 13:27:59 -04:00
kialam
b0586cc197 Remove unused CSS. 2018-08-06 12:26:43 -04:00
kialam
6e49c25cfd Adjust error message copy. 2018-08-06 12:24:05 -04:00
kialam
efc8991aa8 Move error message to underneath form field for consistent UI. 2018-08-06 11:48:18 -04:00
kialam
0fb98642d4 Only show the character limit if the user exceeds it 2018-08-06 11:48:18 -04:00
kialam
7207d7caf4 Validate JT add and edit forms client-side
- Use form generator to add new `helperText` field to show the
character limit next to the label in the UI
- Style helper text like the checkbox text
- Update both `add` and `edit` controllers to handle client-side
validation for the `labels` field.
2018-08-06 11:48:18 -04:00
kialam
21c364d14c Adjust edit template controller to handle deferred promise errors 2018-08-06 11:48:18 -04:00
Ryan Petrello
21f29983bb Merge pull request #2762 from ryanpetrello/fix-2759
check oauth_scopes in _every_ view
2018-08-06 11:35:36 -04:00
Ryan Petrello
ec735b7b47 check oauth_scopes in _every_ view
see: https://github.com/ansible/tower/issues/2759
2018-08-06 11:05:59 -04:00
Ryan Petrello
fc589389fc Merge pull request #2758 from ryanpetrello/fix-insights
fix to handle nonexistent system_id
2018-08-06 09:24:46 -04:00
walkafwalka
d2ab7bd54d Add inventory vars to set docker install hostnames
Signed-off-by: walkafwalka <41709139+walkafwalka@users.noreply.github.com>
2018-08-04 01:49:07 -07:00
Ryan Petrello
7df027f826 fix to handle nonexistent system_id 2018-08-03 16:08:40 -04:00
Shane McDonald
090b3fad8e Update translation template files 2018-08-03 15:07:19 -04:00
Ryan Petrello
ad38bfbbe5 Merge pull request #2755 from ryanpetrello/fix-2751
fix up a minor OAuth2 token serializer nit
2018-08-03 15:01:28 -04:00
Jared Tabor
90c34f6293 Merge pull request #2736 from jaredevantabor/i18n
I18n and more translations
2018-08-03 11:59:59 -07:00
Ryan Petrello
a3566b4270 fix up a minor OAuth2 token serializer nit
see: https://github.com/ansible/tower/issues/2751
2018-08-03 14:50:37 -04:00
Jared Tabor
1986efebda More Translations 2018-08-03 11:32:02 -07:00
Bill Nottingham
cfc0779fdd Add some more descriptive survey defaults. 2018-08-03 14:12:09 -04:00
Alan Rominger
c2f60f35b4 Merge pull request #2733 from AlanCoding/policy_changes_test
Apply policy task more selectively
2018-08-03 10:59:53 -04:00
Michael Abashian
fba5dbcc80 Merge pull request #2745 from mabashian/form-ids
Adds id's to all form groups and new forms
2018-08-03 09:14:19 -04:00
AlanCoding
a99ebbb02f Apply policy task more selectively 2018-08-03 06:56:15 -04:00
Matthew Jones
d40d9f8675 Merge pull request #2126 from walkafwalka/slack_backend_web_api
Standardize Slack backend API method
2018-08-02 15:36:09 -04:00
Yunfan Zhang
6f54f59485 Merge pull request #2746 from YunfanZhang42/fix-license-error
Fixing incorrect license_error value in inventory_sync
2018-08-02 15:20:35 -04:00
Ryan Petrello
082d807007 Merge pull request #2747 from ryanpetrello/isolated-set-stat
set_stats fails in callback plugin on isolated node #2123
2018-08-02 15:20:14 -04:00
Yunfan Zhang
7001c67c84 Fixing incorrect license_error value in inventory_sync.
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-08-02 14:19:13 -04:00
U-AD001\U317788
a562d9ae0c set_stats fails in callback plugin on isolated node #2123
Signed-off-by: U-AD001\U317788 <U317788@L7668YGH2.AD001.InfoFTPS.COM>
2018-08-02 13:27:56 -04:00
Ryan Petrello
62a452e66a Merge pull request #2124 from Rthur/RThur
set_stats fails in callback plugin on isolated node #2123
2018-08-02 13:27:39 -04:00
mabashian
bc49c879b4 Fix linting error 2018-08-02 12:48:32 -04:00
Wayne Witzel III
95a9e1a7b6 Merge pull request #2737 from wwitzel3/release_3.3.0
unless allow_simultaneous do not start workflow jobs already running
2018-08-02 12:37:46 -04:00
Shane McDonald
f6aee3dd41 Fix error in Dutch translation file 2018-08-02 12:30:16 -04:00
mabashian
8523b56707 Adds id's to all form groups and new forms 2018-08-02 12:28:45 -04:00
Jared Tabor
45c067b599 Merge pull request #2722 from YunfanZhang42/search-filter
Add AND filter to related search
2018-08-02 09:10:30 -07:00
Wayne Witzel III
74ed1c2c40 fetch running workflow jobs once per process 2018-08-02 11:46:38 -04:00
Shane McDonald
c97edaf9e0 Merge pull request #2744 from shanemcd/release_3.3.0
Fix syntax in nginx config
2018-08-02 11:26:49 -04:00
Shane McDonald
be7a40daf3 Fix syntax in nginx config
Broke in 6f5259d017
2018-08-02 11:24:51 -04:00
Shane McDonald
b8a51244e4 Extract latest strings 2018-08-02 11:23:32 -04:00
Shane McDonald
3cc35fc598 Pull updated localization files 2018-08-02 11:23:32 -04:00
Ryan Petrello
1cd75cf414 Merge pull request #2742 from ryanpetrello/fix-2738
simpilfy LDAP GROUP_SEARCH misconfiguration failure handling
2018-08-02 10:28:27 -04:00
Ryan Petrello
27f4e487ec simpilfy LDAP GROUP_SEARCH misconfiguration failure handling 2018-08-02 10:11:18 -04:00
John Mitchell
9131577355 Merge pull request #2721 from jlmitch5/fixJTSaveCompletedDeferring
make credential association cause deferral of jt promise chain
2018-08-02 09:45:19 -04:00
Ryan Petrello
a13712074f Merge pull request #2739 from ryanpetrello/fix-2738
fix a bug in multi-LDAP authentication
2018-08-02 08:27:13 -04:00
walkafwalka
0b9726a3ed Standardize Slack backend API method
Signed-off-by: walkafwalka <41709139+walkafwalka@users.noreply.github.com>
2018-08-02 05:31:38 +00:00
Jared Tabor
f6a960d8f4 Changes the encodeQuerysetObject function for the job details search widget
With this change, the stdout search will perform a search like search=A,B
instead of search=A&search=B
2018-08-01 20:59:37 -07:00
Yunfan Zhang
b191f6cfc3 Add AND filter to related search.
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-08-01 19:43:57 -07:00
Jared Tabor
6b64ef8f64 Changes a related search w/ two search params.
Changes from using a pattern like "search=A&search=B" to "search=A,B".
2018-08-01 19:43:41 -07:00
U-AD001\U317788
01f9ba0486 set_stats fails in callback plugin on isolated node #2123
Signed-off-by: U-AD001\U317788 <U317788@L7668YGH2.AD001.InfoFTPS.COM>
2018-08-01 17:32:50 -05:00
Ryan Petrello
2102c1ef0a fix a bug in multi-LDAP authentication
see: https://github.com/ansible/tower/issues/2738
2018-08-01 17:55:13 -04:00
Wayne Witzel III
da603dd3ad use workflow_template_id 2018-08-01 15:55:19 -04:00
Wayne Witzel III
c96cf3cf5d unless allow_simultaneous, do not start workflow jobs that are already running 2018-08-01 14:53:00 -04:00
Jake McDermott
c09a23f063 Merge pull request #2734 from ansible/jakemcdermott-patch-e2e-1
update credential form type selector
2018-08-01 11:42:06 -04:00
Jake McDermott
45072b54f0 update credential form type selector 2018-08-01 11:01:38 -04:00
Ryan Petrello
0f66de2de9 Merge pull request #2732 from ryanpetrello/fix-2731
sprinkle some more i18n love for the credential form
2018-07-31 22:43:31 -04:00
Ryan Petrello
0a400ca339 sprinkle some more i18n love for the credential form
see: https://github.com/ansible/tower/issues/2731
2018-07-31 22:13:17 -04:00
walkafwalka
e02e8994ad Allow autocomplete on the AWX login page
Signed-off-by: walkafwalka <41709139+walkafwalka@users.noreply.github.com>
2018-08-01 00:21:38 +00:00
Ryan Petrello
ed79a7fc12 Merge pull request #2726 from ryanpetrello/fix-2690
prevent host deletion when the related inventory is pending deletion
2018-07-31 16:49:17 -04:00
Alan Rominger
0c0d5d4eba Merge pull request #2719 from AlanCoding/differential_policy
Apply policy results differentially
2018-07-31 16:25:14 -04:00
Ryan Petrello
5610cbe735 prevent host deletion when the related inventory is pending deletion
see: https://github.com/ansible/tower/issues/2690
2018-07-31 15:54:46 -04:00
Alan Rominger
9ff249f5c4 Merge pull request #2438 from AlanCoding/ask_user_input_creds
Ask user input if credential prompting enabled
2018-07-31 15:48:19 -04:00
Ryan Petrello
0c53a0c0a4 Merge pull request #2717 from ryanpetrello/fix-2180
allow access to JT labels if you have read access to the JT
2018-07-31 15:28:24 -04:00
Ryan Petrello
0aaa3807a9 allow access to JT labels if you have read access to the JT
see: https://github.com/ansible/tower/issues/2180
2018-07-31 15:13:24 -04:00
AlanCoding
8eaae97768 Apply policy results differentially
This avoids client-side scripting problems
where they grab the instance list during the
re-calculation which leads to incorrect assumptions
2018-07-31 15:03:36 -04:00
Ryan Petrello
f18be1c83a Merge pull request #2724 from ryanpetrello/more-network-ui
more network UI cleanup (whoops)
2018-07-31 15:00:35 -04:00
Ryan Petrello
8e3b72e1e5 more network UI cleanup (whoops) 2018-07-31 14:53:11 -04:00
John Mitchell
54422d74d0 make credential association cause deferral of jt promise chain 2018-07-31 13:26:59 -04:00
Yunfan Zhang
9cdee4f75c Merge pull request #2711 from YunfanZhang42/add_instance_groups_to_activity_stream
Add instance groups to activity stream.
2018-07-31 13:17:22 -04:00
Yunfan Zhang
f9309c9cd9 Add instance groups to activity streams.
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-07-31 11:01:29 -04:00
Alan Rominger
0004c42f6d Merge pull request #2628 from AlanCoding/all_projects
Apply lock file to all project updates
2018-07-31 10:36:12 -04:00
Ryan Petrello
ef242483b3 Merge pull request #2716 from ryanpetrello/fix-fail-workflow-on-missing-jt
set workflow status to failed if we find a node w/ a missing UJT
2018-07-31 08:19:39 -04:00
Ryan Petrello
cc574be657 Merge pull request #2708 from ryanpetrello/remove-network-ui
remove the network UI
2018-07-31 08:18:13 -04:00
Bill Nottingham
80abe4b937 Merge pull request #2387 from wenottingham/certificates-for-everyone
Require certpair for SAML.
2018-07-30 22:32:05 -04:00
Alan Rominger
ebfae01aaa Merge pull request #2712 from AlanCoding/easy_way
[openstack option 2] cherry pick only openstack critical fix for empty group
2018-07-30 19:23:08 -04:00
Ryan Petrello
184db58fa3 set workflow status to failed if we find a node w/ a missing UJT
see: https://github.com/ansible/tower/issues/2576
2018-07-30 16:37:24 -04:00
Michael Abashian
55d1f5c11c Merge pull request #2706 from mabashian/2692-empty-search-list
Disable search submit until a search string is present
2018-07-30 15:16:18 -04:00
Ryan Petrello
a3040d60d9 Merge pull request #2714 from ryanpetrello/fix-2643
fail immediately if an isolated host is unreachable at launch time
2018-07-30 14:34:54 -04:00
Ryan Petrello
2216cd7c83 Merge pull request #2715 from ryanpetrello/fix-2612
add some additional validation to JT.credentials
2018-07-30 14:34:20 -04:00
Marliana Lara
8e16bf238d Merge pull request #2707 from marshmalien/fix/instance-modal-pagination
Fix instance modal pagination and smart-search
2018-07-30 14:16:36 -04:00
Ryan Petrello
b99f211c7e add some additional validation to JT.credentials
see: https://github.com/ansible/tower/issues/2612
2018-07-30 14:08:27 -04:00
Ryan Petrello
aee986d53c fail immediately if an isolated host is unreachable at launch time
see: https://github.com/ansible/tower/issues/2643
2018-07-30 12:40:26 -04:00
Ryan Petrello
6e3686bfc9 Merge pull request #2709 from ryanpetrello/fix-2671
redact the license key from settings.LICENSE activity stream entries
2018-07-30 12:28:48 -04:00
Ryan Petrello
4b0f99ab96 Merge pull request #2704 from ryanpetrello/fix-2465
fix a bug that causes orphaned auth_user rows when LDAP is misconfigured
2018-07-30 12:28:20 -04:00
Ryan Petrello
1a1b9e9138 redact the license key from settings.LICENSE activity stream entries
see: https://github.com/ansible/tower/issues/2671
2018-07-30 11:43:42 -04:00
AlanCoding
415f91dca0 cherry pick only openstack critical fix for empty group 2018-07-30 11:35:21 -04:00
Marliana Lara
77334af55a Fix instance modal pagination and search 2018-07-30 11:33:26 -04:00
Ryan Petrello
6f5259d017 remove the network UI 2018-07-30 11:03:53 -04:00
Christian Adams
5a7b519101 Merge pull request #2705 from rooftopcellist/oauth2_typo
fix OAuth typos
2018-07-30 10:42:54 -04:00
adamscmRH
1303f3f82f fix OAuth typos 2018-07-30 10:23:27 -04:00
mabashian
ba075ce5dd Disable search submit until a search string is present 2018-07-30 10:23:12 -04:00
Ryan Petrello
78eb0444ae fix a bug that causes orphaned auth_user rows when LDAP is misconfigured
see: https://github.com/ansible/tower/issues/2465
2018-07-30 09:59:20 -04:00
Ryan Petrello
681d64c96f Merge pull request #2703 from ryanpetrello/simplify-dynamic-queues
simplify dynamic queue binding
2018-07-30 09:25:44 -04:00
Ryan Petrello
3cdd0a94bd simplify dynamic queue binding
we recently made a change so that instances no longer bind to
instance-group specific queues, but now instead they each bind to
a direct queue for their specific hostname
(https://github.com/ansible/tower/pull/1922)

Because of this, we shouldn't *need* to reconfigure the queue binds at
runtime anymore when group membership changes. Under our new model,
every celeryd listens on a queue named after its hostname; when the
scheduler finds a task to run, it picks an Instance in the target
Instance Group and sends the task to the queue for that Instance's
hostname.
2018-07-28 00:48:37 -04:00
Shane McDonald
795f26e7b9 Lock down version of setuptools_scm
This was causing offline pip installs to fail for some weird reason:

The 'setuptools_scm>=1.15.0' distribution was not found and is required by the application

Even though it is there. v2.x still works.
2018-07-27 15:28:41 -04:00
Jake McDermott
dce50304f3 Merge pull request #2699 from jakemcdermott/fix-2698
fix portal mode job list
2018-07-27 14:14:00 -04:00
John Mitchell
d025f5ed2b Merge pull request #2693 from jlmitch5/fixAppTokensListRowItems
remove org and last used, fix expired datetime on app token list
2018-07-27 12:34:49 -04:00
Ryan Petrello
2371d23b7e Merge pull request #2701 from ryanpetrello/openshift-tls-autoredirect
change openshift edge termination policy to redirect (enforce https)
2018-07-27 12:31:44 -04:00
Ryan Petrello
7588e65786 change openshift edge termination policy to redirect (enforce https)
see: https://github.com/ansible/tower/issues/2591
related: https://docs.openshift.org/latest/architecture/networking/routes.html
2018-07-27 10:34:07 -04:00
Christian Adams
a2912ada11 Merge pull request #2696 from rooftopcellist/update_sdb_hostname
fix sdb, update host var
2018-07-27 09:37:06 -04:00
Jake McDermott
9e71760af7 add jobs portal relaunch test 2018-07-27 01:06:13 -04:00
Jake McDermott
61d1cb46ac fix job portal list dependency reference error 2018-07-27 00:54:12 -04:00
Jake McDermott
93c18fb40a Merge pull request #2694 from mabashian/2652-job-id
Display job id along with name in jobs list
2018-07-26 18:49:05 -04:00
Jake McDermott
c715f73160 Merge pull request #2684 from jakemcdermott/fix-2958
handle finished job runs with incomplete status info
2018-07-26 17:58:52 -04:00
adamscmRH
df6b7627bc fix sdb, update host var 2018-07-26 17:48:00 -04:00
Ryan Petrello
a211e24c0f Merge pull request #2695 from ryanpetrello/celerywatcher-iso8601
some celery-watcher tweaks
2018-07-26 17:44:50 -04:00
Jake McDermott
2ba0319e79 handle finished job run with incomplete status info 2018-07-26 17:40:43 -04:00
Ryan Petrello
9b1961f60d some celery-watcher tweaks
* give celery more time to reply over AMQP (the default timeout is 1s)
* record datestamps in celery watcher logs for debugging purposes
2018-07-26 17:16:05 -04:00
Michael Abashian
3caeb91419 Merge pull request #2689 from mabashian/2676-jobs-pagination
Fixes pagination on IG/Instance jobs lists
2018-07-26 14:49:05 -04:00
mabashian
fa414d5569 Display job id along with name in jobs list 2018-07-26 14:46:53 -04:00
John Mitchell
0d9dbc15a7 remove org and last used, fix expired datetime on app token list 2018-07-26 13:57:45 -04:00
Jared Tabor
1ba6073569 Merge pull request #2092 from jaredevantabor/ui-test-ci-failures
Bumping uirouter version and locking it to make ui tests pass
2018-07-26 09:06:16 -07:00
Ryan Petrello
7acfe414a6 Merge pull request #2686 from ryanpetrello/non-exclusive-policy-instance-list
show the manual instance tag based on the correct instance attribute
2018-07-26 11:32:43 -04:00
mabashian
7a509a4dcb Fixes pagination on IG/Instance jobs lists 2018-07-26 10:56:11 -04:00
Alan Rominger
979eaeddfa Merge pull request #2687 from AlanCoding/play_nice
fix conflicting migrations
2018-07-26 10:45:08 -04:00
AlanCoding
d1b89815f7 fix conflicting migrations 2018-07-26 10:38:26 -04:00
Ryan Petrello
bb034f007a show the manual instance tag based on the correct instance attribute
see: https://github.com/ansible/tower/issues/2583
2018-07-26 10:24:35 -04:00
Christian Adams
0694fa83b0 Merge pull request #2682 from rooftopcellist/remove_client_credentials
Remove Client Credentials grant_type
2018-07-26 10:18:46 -04:00
Alan Rominger
e96706b2fa Merge pull request #2090 from christoph-kluge/patch-1
Upgrade ansible-tower-cli if it was preinstalled
2018-07-26 09:26:13 -04:00
Ryan Petrello
57fdbc1853 Merge pull request #2677 from ryanpetrello/non-exclusive-policy-instance-list
make InstanceGroup.policy_instance_list non-exclusive by default
2018-07-25 21:10:15 -04:00
Jared Tabor
2d7e5b7905 Bumping uirouter version and locking it to make ui tests pass on shippable
There was a breaking change in uirouter 1.0.19 so going to lock it at
1.0.18. There was an issue with hard-source-webpack-plugin that was effecting
the UI dev watcher that I'm including in this change.
2018-07-25 15:28:12 -07:00
adamscmRH
87829ea339 remove client credentials grant_type 2018-07-25 18:23:08 -04:00
Jake McDermott
76d83b0acb Merge pull request #2681 from jakemcdermott/test-stability-fixes
improve stability of inventory copy test and credentials form test
2018-07-25 18:10:44 -04:00
Jake McDermott
404950104b fix logic error in test 2018-07-25 17:46:24 -04:00
Ryan Petrello
15aaca8f03 make InstanceGroup.policy_instance_list non-exclusive by default
see: https://github.com/ansible/tower/issues/2583
2018-07-25 17:26:13 -04:00
Jake McDermott
5586b5c645 improve test stability for inventory copy and credentials form 2018-07-25 17:11:20 -04:00
Alan Rominger
5a7119759a Merge pull request #2672 from AlanCoding/popin_locking
Lock IG for updating list
2018-07-25 15:48:41 -04:00
Jared Tabor
a4960a9c3a Merge pull request #2667 from jaredevantabor/dep-lockdown
Adds npm-shrinkwrap and locks down ui-router version
2018-07-25 10:36:15 -07:00
Yunfan Zhang
fec1e8d398 Merge pull request #2363 from YunfanZhang42/fix_crendential_copy
Fix credential leak when copying Job Templates
2018-07-25 13:14:40 -04:00
Stoned Elipot
ada2d65547 force boolean evaluation 2018-07-25 19:10:31 +02:00
Jared Tabor
239dcac3b4 Merge pull request #2 from jaredevantabor/jared/dep-lockdown
Shrink-wrap dev dependencies as well
2018-07-25 09:45:51 -07:00
Yunfan Zhang
cb6d7dfe69 Fix credential leak when copying Job Templates.
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-07-25 11:51:17 -04:00
kialam
9e164b41a6 Shrink-wrap dev dependencies as well 2018-07-25 11:46:13 -04:00
AlanCoding
39cb9f2652 lock IG for updating list 2018-07-25 11:08:40 -04:00
Ryan Petrello
27fbfbb62d Merge pull request #2668 from ryanpetrello/verify-csrf-websockets
prevent cross site request forgery in websockets w/ a CSRF token
2018-07-25 10:15:36 -04:00
Ryan Petrello
af84b25726 prevent cross site request forgery in websockets w/ the CSRF token
now that we have the CSRF middleware, we have a reliable token
available to us which we can use to verify individual ws_receive
payloads;  this is _simpler_ than making sure you've properly configured
trusted origins, and it's also more secure than Origin header checks

see: https://github.com/ansible/tower/issues/2661
2018-07-25 09:47:53 -04:00
Christian Adams
d2d5b8ca62 Merge pull request #2664 from rooftopcellist/help_text_ext_user_tokens
help text for oauth ext user toggle
2018-07-25 09:20:55 -04:00
adamscmRH
12279b9631 help text for oauth ext user toggle 2018-07-25 08:54:37 -04:00
Jared Tabor
36e5300be6 Adds npm-shrinkwrap and locks down ui-router version 2018-07-24 21:05:44 -07:00
Jared Tabor
53c9c0b7f8 Merge pull request #2626 from jaredevantabor/fix-1501
Removes trailing slash for retrieving the scheduler partial
2018-07-24 17:44:37 -07:00
Ryan Petrello
0692b1c5ef Merge pull request #2665 from mabashian/socket-whitelist
Adds websocket origin whitelist to development.py
2018-07-24 17:03:47 -04:00
mabashian
bf40dc4793 Adds websocket origin whitelist 2018-07-24 16:53:48 -04:00
Ryan Petrello
982db88349 Merge pull request #2663 from ryanpetrello/origin-verify-refactor
slightly refactor origin validity checks
2018-07-24 15:31:31 -04:00
Ryan Petrello
c81d2f53c5 slightly refactor origin validity checks 2018-07-24 15:16:09 -04:00
Christoph Kluge
fe54b44f96 Upgrade ansible-tower-cli if it was preinstalled
In order to make this document a bit more fault-tolerant I've been adding the `--upgrade` parameter to the installation.
2018-07-24 20:55:09 +02:00
Michael Abashian
21568f74c0 Merge pull request #2624 from mabashian/2612-jt-scm
Limit the cred types that we show when adding creds to JT
2018-07-24 14:24:03 -04:00
Michael Abashian
73851a6a56 Merge pull request #2657 from mabashian/hard-source-webpack-plugin
Bumps hard-source-webpack-plugin dev dep
2018-07-24 14:23:33 -04:00
Michael Abashian
d7b545b023 Merge pull request #2656 from mabashian/2654-jobs-inv
Correctly links to inventory on jobs/templates list
2018-07-24 14:22:15 -04:00
Ryan Petrello
6d1a8ec6ec Merge pull request #2655 from ryanpetrello/fix-ws-cross-origin
improve robustness of host comparision for wss:// Origin headers
2018-07-24 13:43:05 -04:00
Ryan Petrello
4b3ca080d4 improve robustness of host comparision for wss:// Origin headers
see: https://github.com/ansible/tower/issues/2647
2018-07-24 13:30:04 -04:00
mabashian
e3601b71c0 Bumps hard-source-webpack-plugin dev dep 2018-07-24 12:04:45 -04:00
Matthew Jones
74123647fe Merge pull request #2078 from john-westcott-iv/2073_no_galaxy
#2073 - Support setting to prevent Tower from pulling roles
2018-07-24 12:01:18 -04:00
Matthew Jones
533318de3b Merge pull request #2085 from chrismeyersfsu/fix-saml_admin_attr2
fix saml_admin_attr
2018-07-24 11:48:33 -04:00
mabashian
5d5a6bb858 Correctly links to inventory on jobs/templates list 2018-07-24 11:47:58 -04:00
Ryan Petrello
c0da6f04cd Merge pull request #2648 from ryanpetrello/fix-ws-cross-origin
[3.3.0] reject ws:// connections w/ origin mismatches
2018-07-24 10:13:46 -04:00
Bill Nottingham
90c03af61b Merge pull request #2646 from wenottingham/a-moment-like-this
Fix moment minute specifier.
2018-07-24 10:02:48 -04:00
Alan Rominger
f0252f67dc Merge pull request #2625 from AlanCoding/just_role
Write special cases for object_association field
2018-07-24 07:46:22 -04:00
Ryan Petrello
e7279f2fe2 reject ws:// connections w/ origin mismatches
see: https://github.com/ansible/tower/issues/2647
2018-07-23 21:56:31 -04:00
Bill Nottingham
39ffeb31f9 Fix moment minute specifier. 2018-07-23 21:24:37 -04:00
Jared Tabor
1daba7ffb3 Switching to $http service instead of Rest service.
Because the Rest.setUrl function adds a trailing slash to the URL,
which is unnecessary for a partial.
2018-07-23 13:55:06 -07:00
Alan Rominger
4c023d21af Merge pull request #2639 from AlanCoding/cool_as_isolated
Disallow adding or removing instance from iso-IG
2018-07-23 15:57:23 -04:00
AlanCoding
6d305c60d5 Disallow adding or removing instance from iso-IG 2018-07-23 15:39:30 -04:00
chris meyers
5f85a08325 fix saml_admin_attr 2018-07-23 12:53:18 -04:00
Chris Meyers
90fba9381d Merge pull request #2632 from chrismeyersfsu/fix-saml_admin_attr
fix saml_admin_attr
2018-07-23 12:06:02 -04:00
Alan Rominger
c878c027f5 Merge pull request #2631 from AlanCoding/host_dne
Handle does-not-exist errors in JobHostSummary unicode method
2018-07-23 10:37:37 -04:00
AlanCoding
fa3a334424 Handle does not exist errors in JobHostSummary unicode 2018-07-23 10:17:47 -04:00
chris meyers
3fcd1575c1 fix saml_admin_attr 2018-07-23 10:08:18 -04:00
John Westcott IV
0ba8022eac #2073 - Support setting to prevent Tower from pulling from requirements.yml files for an SCM project 2018-07-23 09:37:49 -04:00
Christian Adams
95a32aaa6e Merge pull request #2606 from rooftopcellist/update_logging_doc
Update logging doc
2018-07-22 16:15:28 -04:00
Chris Meyers
32c2e36ac4 Merge pull request #2630 from chrismeyersfsu/better-minishift_devel
more robust minishift bringup
2018-07-20 15:52:35 -04:00
chris meyers
7d24566120 more robustness 2018-07-20 15:02:44 -04:00
AlanCoding
abdc7b9232 apply lock file to all project updates 2018-07-20 14:23:35 -04:00
AlanCoding
5de321ae7a write special cases for object_association field 2018-07-20 12:40:12 -04:00
kialam
a04d3f817a Merge pull request #2615 from kialam/fix/1444-fix-auto-close-modal
Fix prompt modal closing prematurely on JT list page
2018-07-20 11:47:00 -04:00
John Mitchell
d32997684c Merge pull request #2613 from jlmitch5/orgSmartInvNotice
add information to the smart inventory button could change based on o…
2018-07-20 11:37:30 -04:00
mabashian
3f6f6a4b7d Limit the cred types that we show when adding creds to JT 2018-07-20 11:06:49 -04:00
Michael Abashian
2e55b7a4ee Merge pull request #2620 from mabashian/2557-copy
Change post-copy behavior
2018-07-20 11:00:48 -04:00
Michael Abashian
d5edeb6f73 Merge pull request #2605 from mabashian/802-jt-creds
Allow users with edit permission on the JT to add/remove credentials
2018-07-20 11:00:31 -04:00
John Mitchell
3355b32582 update grammar 2018-07-20 10:53:09 -04:00
kialam
eabdda92b3 Show "working" message before view refresh 2018-07-20 10:52:52 -04:00
Jake McDermott
70174a2d1c Merge pull request #1 from jakemcdermott/2557-copy
update copy tests
2018-07-20 10:37:34 -04:00
Jake McDermott
bdd240f0e4 Merge pull request #2581 from ansible/jakemcdermott-patch-1
make first and last name optional
2018-07-20 10:32:49 -04:00
Jake McDermott
32f0e54666 make first and last name optional 2018-07-20 10:16:08 -04:00
Jake McDermott
4937d1f75e update copy tests 2018-07-20 10:02:50 -04:00
Marliana Lara
831e79ff17 Merge pull request #2621 from marshmalien/fix/2619-scm-icon
Change scm update icon to fa-refresh
2018-07-20 09:36:08 -04:00
Marliana Lara
7c5fc27d96 Merge pull request #2608 from marshmalien/fix/1599-about-modal
Move About modal to header
2018-07-19 16:53:19 -04:00
Michael Abashian
eb1c1acd5d Merge pull request #2574 from mabashian/2253-pendo-checkbox
Only show pendo checkbox on in license form if license is missing
2018-07-19 16:43:24 -04:00
Marliana Lara
147d301ff9 Change scm update icon from cloud-download to refresh 2018-07-19 16:43:03 -04:00
mabashian
5032849624 Remove unused deps in license controller 2018-07-19 16:19:50 -04:00
Michael Abashian
58dad97cf0 Merge pull request #2582 from mabashian/1558-settings-unsaved
Revert the auth/ldap dropdowns if saving unsaved changes is not successful
2018-07-19 16:16:33 -04:00
Michael Abashian
69754f194c Merge pull request #2597 from mabashian/2587-jt-creds
Let disassociate jt cred requests finish before attempting to associate any new ones
2018-07-19 16:15:20 -04:00
Michael Abashian
98f86c418e Merge pull request #2595 from mabashian/765-split
Adds extra logic to handle survey question choices in array form
2018-07-19 16:14:44 -04:00
mabashian
6b3f45bc26 Changes copy behavior to reload list rather than navigate to edit form. Shows toast message on successful copy. 2018-07-19 16:04:18 -04:00
Marliana Lara
1490139740 Change About modal icon to circle info icon 2018-07-19 15:30:35 -04:00
kialam
c893e467c5 Send emit message sooner from prompt controller 2018-07-19 14:30:45 -04:00
John Mitchell
083d6599d1 add information to the smart inventory button could change based on org change 2018-07-19 14:21:46 -04:00
Marliana Lara
1a982d3e40 Remove footer and related styles 2018-07-19 12:04:54 -04:00
adamscmRH
ef29dab013 update logging readme 2018-07-19 11:41:39 -04:00
mabashian
c173e2b71e Users with edit permission on the JT can add/remove credentials 2018-07-19 11:04:00 -04:00
Marliana Lara
1ff4d50cc6 Move about modal to top navigation bar 2018-07-19 10:59:33 -04:00
Matthew Jones
190525e835 Adding cluster development service definitions 2018-07-19 10:39:08 -04:00
Matthew Jones
5c400cdf79 Add local minishift development tooling
Based on mapping the local development tree through minishift
hostfolder interface.
2018-07-19 10:39:08 -04:00
Alan Rominger
eb22e09e4d Merge pull request #2568 from AlanCoding/fussy_logger
Add log statement if canceling takes way too long
2018-07-19 10:30:45 -04:00
Bill Nottingham
d66b61b854 Merge pull request #2594 from wenottingham/cherry-pickin
cherry pick some more AWX things
2018-07-19 10:03:48 -04:00
Jared Tabor
77dd2c86dc Merge pull request #2598 from jaredevantabor/fix-1501
Bumps version of angular-scheduler
2018-07-18 16:25:55 -07:00
Jared Tabor
7b7c211471 Bumps version of angular-scheduler
After fix for DTSTART parsing
2018-07-18 16:17:07 -07:00
mabashian
0104228541 Let disassociate jt cred requests finish before attempting to associate any new ones 2018-07-18 17:38:11 -04:00
Marliana Lara
bc3f06c725 Merge pull request #2585 from marshmalien/fix/2545/forks-capacity-adjuster-slider
Show fork value on capacity adjuster slider
2018-07-18 17:07:36 -04:00
Arnout van Meer
8754ab80c7 Don't capitalise last name
Making assumptions about names is always a risky situation, even having a separate first and last name field should be avoided wherever possible. In this specific case, applying auto-capitalisation to the first character of the last name field makes it impossible to correctly enter my (and many other) Dutch surname. Common initial parts of Dutch surnames are 'de', 'van', 'van der' and other combinations. These are always lowercase.

Fun additional trivia: when it comes to sorting these names alphabetically you are supposed to ignore the prefix. In the case of my name you'd index it under 'M', not 'v'.
2018-07-18 16:51:43 -04:00
Jijo Varghese
e1dde21ec3 ldap attributes filter in user_groups()
ldap search currently fetches ALL attributes which is a waste of bandwidth resources and
woefully slow on large ldap groups when it only needs to parse the name_attr

Signed-off-by: Jijo Varghese <jijojv@gmail.com>
2018-07-18 16:51:21 -04:00
mabashian
0701c7d61a Added extra logic around survey question choice splitting to prevent console errors 2018-07-18 16:50:47 -04:00
John Mitchell
b07e44ad69 Merge pull request #2573 from jlmitch5/fixEmojiRemoval
fix issue where unicode based search terms couldn't be removed
2018-07-18 16:39:07 -04:00
Chris Meyers
71fcd5f9ca Merge pull request #2035 from jijojv/devel
ldap attributes filter in user_groups()
2018-07-18 16:05:51 -04:00
Marliana Lara
4057df07ba Fix input slider styles in Firefox 2018-07-18 15:59:04 -04:00
Marliana Lara
91900d5534 Show fork value over capacity adjuster slider 2018-07-18 13:01:13 -04:00
mabashian
53c9987663 Revert the auth/ldap dropdowns if saving unsaved changes is not successful 2018-07-18 12:35:32 -04:00
Shane McDonald
8f7931e02f Merge pull request #2076 from john-westcott-iv/fix_node_link
Change node.js macOS installer link (old link was dead)
2018-07-18 12:21:11 -04:00
John Westcott IV
a124e51331 Change node.js macOS installer link (old link was dead) 2018-07-18 11:32:57 -04:00
Jared Tabor
0e663f3967 Merge pull request #2561 from jaredevantabor/fix-1501
Adjusts which partical/controller combination is for schedules-edit
2018-07-17 21:28:51 -07:00
mabashian
e82d4e9664 Only show pendo checkbox on in license form if license is missing 2018-07-17 19:31:20 -04:00
John Mitchell
76424425b2 fix issue where unicode based search terms couldn't be removed 2018-07-17 17:30:44 -04:00
Alan Rominger
5c7c441b47 Merge pull request #2555 from AlanCoding/app_name_unique
Make applications org-name-unique
2018-07-17 16:49:57 -04:00
Michael Abashian
bb65965e2b Merge pull request #2572 from mabashian/2303-inv-src
Disable copy button for inv's with sources
2018-07-17 16:20:20 -04:00
Ryan Petrello
cf478df0e3 Merge pull request #2569 from ryanpetrello/fix-2476
properly set InventorySource.status for CLI-based inventory_import
2018-07-17 15:08:49 -04:00
Michael Abashian
868ce5ccbe Merge pull request #2556 from mabashian/1464-workflow
Re-initialize tag options before calling to create select2 in prompt
2018-07-17 14:47:10 -04:00
mabashian
b2854fd4d6 Disable copy button for inv's with sources 2018-07-17 14:40:24 -04:00
Ryan Petrello
7adc6c6f73 properly set InventorySource.status for CLI-based inventory_import
see: https://github.com/ansible/tower/issues/2476
2018-07-17 14:04:50 -04:00
AlanCoding
7221c9dae1 add log statement if canceling takes way too long 2018-07-17 12:06:20 -04:00
Jake McDermott
d2eeafd5f5 Merge pull request #2553 from jakemcdermott/smoke-retry
make new data for each smoke test attempt
2018-07-17 11:55:28 -04:00
Alan Rominger
27bf12feb2 Merge pull request #2563 from AlanCoding/old_timer_types
Strict type enforcement of deprecated launch fields
2018-07-17 11:53:17 -04:00
Jake McDermott
bdc1cae24a Merge pull request #2482 from jakemcdermott/fix-2377-api
add inventory field to inventory update
2018-07-17 11:45:38 -04:00
Jake McDermott
994cb3975e make new data for each smoke test attempt 2018-07-17 11:31:24 -04:00
Jake McDermott
a968a44afb add inventory field to inventory update 2018-07-17 11:10:06 -04:00
Chris Meyers
e3cb531180 Merge pull request #2558 from chrismeyersfsu/saml_admin_user_feature_cherry_pick
Saml admin user feature cherry pick
2018-07-17 09:27:18 -04:00
AlanCoding
a38d6552e8 strict type enforcement of deprecated launch fields 2018-07-17 08:41:40 -04:00
Jared Tabor
429cf40db3 Adjusts which partical/controller combination is used when editing a schedule
MGMT jobs require a different partial + controller
2018-07-16 18:02:11 -07:00
aperigault
71730f9bc1 Update SAML doc 2018-07-16 17:14:41 -04:00
Antony PERIGAULT
53b5291a56 Fix functional tests 2018-07-16 17:03:00 -04:00
Antony PERIGAULT
3b6ab6217b New feature: Add SAML users as organization admins 2018-07-16 17:02:53 -04:00
Antony PERIGAULT
6ec2228885 Revert "Map users in organizations based on saml groups"
This reverts commit b4e0ff650165e6b0ab08d9a78be85f2f46182b94.
2018-07-16 17:02:46 -04:00
Antony PERIGAULT
062c18efa0 Map users in organizations based on saml groups 2018-07-16 17:02:38 -04:00
Michael Abashian
a955b3f947 Merge pull request #2542 from mabashian/1466-workflow-node
Properly clear out prompt data when user manually changes a node's JT
2018-07-16 16:17:52 -04:00
AlanCoding
885ea2c5e1 make applications name-unique 2018-07-16 15:54:00 -04:00
mabashian
069c60abf7 Re-initialize tag options before calling to create select2 on those fields in prompt modal 2018-07-16 15:37:12 -04:00
Ryan Petrello
b6e246f65a Merge pull request #2554 from ryanpetrello/release_3.3.0
Makefile update.
2018-07-16 14:57:16 -04:00
Ryan Petrello
f0707ad701 Makefile update. 2018-07-16 14:55:07 -04:00
Ryan Petrello
5bb71fc133 Merge pull request #2550 from rooftopcellist/fix_expire_command
fix expire session command
2018-07-16 14:53:31 -04:00
Ryan Petrello
34fe54c6e0 Makefile update. 2018-07-16 14:45:44 -04:00
Jake McDermott
2fa216c98f Merge pull request #2062 from RR2DO2/patch-1
Don't capitalise last name
2018-07-16 14:19:46 -04:00
Haokun Chen
220b45cb8a Merge pull request #2551 from Haokun-Chen/2547
show empty template list placeholder panel correctly
2018-07-16 14:11:33 -04:00
Alan Rominger
9208ef6664 Merge pull request #2540 from AlanCoding/towerkit_protector
Raise 400 instead of ignoring if fields mismatch v1/v2
2018-07-16 13:29:12 -04:00
Marliana Lara
d693dac0c6 Merge pull request #2546 from marshmalien/fix/2206-relaunch-text-translation
Send relaunch value instead of name in POST request
2018-07-16 13:26:52 -04:00
Shane McDonald
65a5f2dc9b Merge pull request #2052 from robruma/feature/callback_script_enhancement
Adding ability to ignore SSL certificate validation errors, cleanup p…
2018-07-16 13:13:51 -04:00
Shane McDonald
467a1fafcc Merge pull request #1880 from luisico/compose-web-wait-for
AWX launchers should wait for other containers to be ready
2018-07-16 13:11:06 -04:00
Shane McDonald
ad33dff6af Merge pull request #1949 from willthames/k8s_use_context
Use use-context to set Kubernetes context
2018-07-16 12:59:36 -04:00
Haokun-Chen
b5dab72dd7 show empty template list placeholder panel correctly 2018-07-16 12:59:00 -04:00
adamscmRH
3d7fd9270c fix expire session command 2018-07-16 12:57:00 -04:00
Ryan Petrello
ca6b6460bb Merge pull request #2522 from ryanpetrello/fix-2509
awx metavars for job.created_by should be more robust to DoesNotExist
2018-07-16 12:46:50 -04:00
Jake McDermott
cb9cbfff87 Merge pull request #2544 from jakemcdermott/fix-2233
fix output double-scroll bug and initial output page numbers
2018-07-16 12:32:52 -04:00
Haokun Chen
aa43610250 Merge pull request #2528 from Haokun-Chen/2248
update workflowMaker title text to be preceded by  "Workflow Visualizer"
2018-07-16 12:21:22 -04:00
Haokun Chen
1661e73086 Merge pull request #2541 from Haokun-Chen/1865
show active row indicator correctly when close active list item
2018-07-16 12:21:02 -04:00
Jared Tabor
ebaabcfbd9 Merge pull request #2537 from jaredevantabor/fix-2510
Subscribes the Sources list to the inventory group for pending deletes
2018-07-16 09:14:46 -07:00
Jared Tabor
39e2008660 Merge pull request #2534 from jaredevantabor/fix-2493
Adds error catch block to credentials resolve
2018-07-16 09:10:48 -07:00
Marliana Lara
0e36ef35af Merge pull request #2543 from marshmalien/fix/1040-center-sidebar-icons
Center align side navigation icons
2018-07-16 12:05:17 -04:00
Marliana Lara
161caf0099 Send relaunch value instead of name in POST request 2018-07-16 11:57:35 -04:00
Jake McDermott
81476d544f fix initial head/tail page values when in page mode 2018-07-16 11:43:40 -04:00
Jake McDermott
85b227213f don't page up or down while already paging up or down 2018-07-16 11:42:27 -04:00
Ryan Petrello
55be530e27 awx metavars for job.created_by should be more robust to DoesNotExist
see: https://github.com/ansible/tower/issues/2509
2018-07-16 11:35:35 -04:00
Marliana Lara
ac39519015 Center side nav icons 2018-07-16 11:23:11 -04:00
mabashian
88c5f9305d Ensure that .some() receives an array to avoid erroring 2018-07-16 11:19:19 -04:00
Alan Rominger
9db6202210 Merge pull request #2538 from AlanCoding/team_queryset
Remove custom get_queryset that ignored special case
2018-07-16 11:14:31 -04:00
mabashian
f7f1c06d80 Properly clear out prompt data when user manually changes a node's JT 2018-07-16 11:11:50 -04:00
Alan Rominger
53b4a4e2fc Merge pull request #2531 from AlanCoding/everything_text_type
Fix unicode bug in launch error message
2018-07-16 10:49:44 -04:00
Haokun-Chen
f2de453110 show active row indicator correctly when close active list item 2018-07-16 10:49:14 -04:00
kialam
ac01eab0f1 Merge pull request #2525 from kialam/fix/1067-workflow-status-pending
Update labels and tooltips whenever the websocket emits status change
2018-07-16 10:36:09 -04:00
Michael Abashian
097125446a Merge pull request #2519 from mabashian/2505-application-token
Removes application requirement when creating token, fixes delete personal token
2018-07-16 10:31:52 -04:00
Michael Abashian
4e8fff8cf1 Merge pull request #2532 from mabashian/1882-templates-list
Remove updateDataset listener from templates list controller
2018-07-16 10:31:29 -04:00
Shane McDonald
9b941e8b05 Merge pull request #2040 from kivio/tiller-namespace-configuration
#2039 add tiller-namespace as argument
2018-07-16 10:10:23 -04:00
kialam
90ad104391 Update labels and tooltips whenever the websocket emits status change
Since the translated workflow status copy is a result of a function; it
does not auto-update when `workflow.status` is updated. We should call
it whenever the web socket lets us know that a job status has changed.
2018-07-16 09:50:36 -04:00
Shane McDonald
3f8b80e415 Merge pull request #2028 from basos9/fix-nginx-log
FIX nginx use selected log formatting
2018-07-16 09:47:05 -04:00
AlanCoding
fd468ac766 raise 400 instead of ignoring if fields mismatch v1/v2 2018-07-16 09:36:43 -04:00
AlanCoding
b5b2bf15df remove custom get_queryset that ignored special case 2018-07-14 21:09:57 -04:00
Jared Tabor
0d089b8cbf Subscribes the Sources list to both the inventory group for pending deletes
It was subscribed to the jobs group, for source sync updates, but now it
is subscribed to that group and the inventory group for pending deletes.
2018-07-13 16:17:55 -07:00
Haokun-Chen
7ed89c63f9 update workflowMaker title text to be Workflow Visualizer|workflowName 2018-07-13 17:23:48 -04:00
Haokun Chen
62967b2806 Merge pull request #2530 from Haokun-Chen/2526
remove view/edit icon from dashboard Recent Template list
2018-07-13 17:19:20 -04:00
Jared Tabor
7dbdff2aa7 Adds error catch block to credentials resolve
Catches the case where a user doesn't have permission to a credential
2018-07-13 13:54:00 -07:00
Christian Adams
1dac1e4a82 Merge pull request #2529 from rooftopcellist/fix_csrf_mult_sesh
Fixes sessions in multiple tabs
2018-07-13 16:46:30 -04:00
adamscmRH
896ffb2065 Fixes sessions in multiple tabs 2018-07-13 16:31:23 -04:00
mabashian
f7dda124b1 Remove updateDataset from templates list 2018-07-13 15:59:31 -04:00
John Hill
dd63e645b3 Merge pull request #2521 from ansible/Fix4lookupmodal
Updating flow to match feature changes
2018-07-13 15:58:51 -04:00
AlanCoding
e897cbd237 fix unicode bug in launch error message 2018-07-13 15:50:50 -04:00
Haokun-Chen
57e80dfcd7 remove view/edit icon from dashboard Recent Template list 2018-07-13 15:25:13 -04:00
Alan Rominger
9a44f6d13d Merge pull request #2524 from AlanCoding/schedule_log
Add missing job lifecycle log for schedule spawns
2018-07-13 14:18:15 -04:00
Ryan Petrello
8e253a9aff Merge pull request #2473 from ryanpetrello/disable-oauth2-for-external-users
don't allow OAuth2 token creation for "external" users
2018-07-13 12:55:06 -04:00
Michael Abashian
13abb36a50 Merge pull request #2516 from mabashian/2513-machine-prompt
Cleanup _.has() usage in prompt controller
2018-07-13 11:59:07 -04:00
AlanCoding
a5803255ac add missing job lifecycle log for schedule spawns 2018-07-13 11:13:47 -04:00
Bill Nottingham
a98367f4ac Merge pull request #2068 from aperigault/devel
Update SAML doc
2018-07-13 11:05:55 -04:00
aperigault
8ad7d4f699 Update SAML doc 2018-07-13 15:39:46 +02:00
Chris Meyers
38de79b81f Merge pull request #1576 from aperigault/devel
Map users in organizations based on saml groups
2018-07-13 09:03:32 -04:00
John Hill
c9766abf0f Updating flow 2018-07-13 08:59:35 -04:00
mabashian
d90a1a1ce7 Fixed deleting personal access tokens 2018-07-12 17:24:12 -04:00
mabashian
8297bd00b3 Removes application requirement when creating a token 2018-07-12 17:02:26 -04:00
mabashian
912c774376 Cleanup _.has() usage in prompt controller 2018-07-12 14:57:52 -04:00
Ryan Petrello
df0e28ec65 don't allow OAuth2 token creation for "external" users
see: https://github.com/ansible/tower/issues/2326
2018-07-12 14:33:59 -04:00
Marliana Lara
d9713f9b3f Merge pull request #2477 from marshmalien/fix/1040-sidebar-spacing
Fix side navigation icon alignment
2018-07-12 13:28:51 -04:00
Jared Tabor
8310d736f5 Merge pull request #2462 from mabashian/2309-breadcrumb
Move ui-view from lookup component out to form
2018-07-11 22:30:12 -07:00
Jake McDermott
a7f967429e Merge pull request #2506 from jakemcdermott/fix-2495
show status icon next to job output panel title when expanded
2018-07-11 22:08:02 -04:00
Jared Tabor
02f6fa9b0a Prevents the user from adding a token for a user other than themselves
It's possible to maninpulate the URL to get to the add-token screen
for a different user, which gives the user the idea that they could
possibly add a token for that user, which is not allowed.
2018-07-11 17:32:56 -07:00
Jared Tabor
1b67755358 Cleanup to users' state tree
In order to add additional route flexibility for the users-tokens states

Removes unnecessary ui-view from form-generator

Adjust nested ui-view target

found during PR feedback
2018-07-11 16:45:20 -07:00
Jared Tabor
a30e2f93a6 Adds org column to the application lookup modal, while on tokens form 2018-07-11 16:32:33 -07:00
mabashian
8a2be07ccb Tweaked logic around the lookup modal and new form lookup fields in order to support dynamic breadcrumbs and selecting applications with the same name. 2018-07-11 16:32:30 -07:00
Jake McDermott
2d8a10ebe9 show status icon next to panel title when expanded 2018-07-11 18:29:06 -04:00
Jake McDermott
0f5c4a4bf7 Merge pull request #2490 from ansible/jakemcdermott-workflow-panel-scroll
hide workflow job left panel scrollbar when it isn't needed
2018-07-11 17:32:13 -04:00
Alan Rominger
2ceae5c88a Merge pull request #2496 from AlanCoding/proj_create
Restore project_admin as role for project creation
2018-07-11 16:11:09 -04:00
AlanCoding
46c8920020 restore project_admin as role for project creation 2018-07-11 15:36:48 -04:00
Alan Rominger
f268857129 Merge pull request #2466 from AlanCoding/prompts_but_not_prompts
Fix regression of JT callback relaunch
2018-07-11 13:58:39 -04:00
AlanCoding
6697d0c205 fix bug where empty extra vars gave relaunch 500 2018-07-11 13:09:44 -04:00
Jake McDermott
a85326777b hide workflow job left panel scrollbar when it isn't needed 2018-07-11 13:02:20 -04:00
Marliana Lara
56521cceb9 Merge pull request #2487 from marshmalien/fix/remove-sched-cal
Remove calendar icon from job templates list
2018-07-11 12:48:22 -04:00
Marliana Lara
b7b704e4c7 Remove calendar icon from job templates list 2018-07-11 11:16:02 -04:00
Christian Adams
6ac17c874f Merge pull request #2486 from rooftopcellist/fix_change_pass
selectively clear sesh on pass change
2018-07-11 10:59:06 -04:00
adamscmRH
e99d922261 selectively clear sesh on pass change 2018-07-11 10:29:16 -04:00
Ryan Petrello
3c8a81bcab Merge pull request #2484 from ryanpetrello/spaaaaaaaaaaaaaaaaaaaace
remove unnecessary spaces
2018-07-11 10:04:23 -04:00
Ryan Petrello
090c585be5 remove unnecessary spaces 2018-07-11 09:50:50 -04:00
Ryan Petrello
5fd7badd1b Merge pull request #2483 from ryanpetrello/iso-policy-instance-list
don't allow isolated instances in IG.policy_instance_list
2018-07-11 09:43:50 -04:00
Ryan Petrello
387f7d3d67 don't allow isolated instances in IG.policy_instance_list
see: https://github.com/ansible/tower/issues/2394
2018-07-11 09:29:46 -04:00
Arnout van Meer
a0e8d8aecf Don't capitalise last name
Making assumptions about names is always a risky situation, even having a separate first and last name field should be avoided wherever possible. In this specific case, applying auto-capitalisation to the first character of the last name field makes it impossible to correctly enter my (and many other) Dutch surname. Common initial parts of Dutch surnames are 'de', 'van', 'van der' and other combinations. These are always lowercase.

Fun additional trivia: when it comes to sorting these names alphabetically you are supposed to ignore the prefix. In the case of my name you'd index it under 'M', not 'v'.
2018-07-11 14:09:34 +01:00
Yunfan Zhang
92b44246a6 Merge pull request #2471 from YunfanZhang42/fix_token_modified
Fix null values on Token modified field.
2018-07-10 16:32:33 -04:00
Alan Rominger
00cc002b8e Merge pull request #2467 from AlanCoding/ig_errors
Fix server errors unattaching instance from group
2018-07-10 16:20:21 -04:00
Yunfan Zhang
e2ed24aef0 Fix null values on Token modified field. 2018-07-10 16:03:25 -04:00
Alan Rominger
a7561ce527 Merge pull request #2478 from AlanCoding/std_env
Move static inventory update options to constants
2018-07-10 16:01:31 -04:00
Ben Thomasson
d9ddf56285 Merge pull request #2468 from benthomasson/network_ui_very_long_names
Wraps long names of devices in the network UI at 25 characters
2018-07-10 15:55:11 -04:00
Ryan Petrello
68cf80cbca Merge pull request #2479 from ryanpetrello/release_3.3.0
Revert "enforce JT/Job.timeout >= 0"
2018-07-10 15:28:57 -04:00
Ryan Petrello
07ddfe2c9c Merge pull request #2059 from mattclay/node-pool
Switch AWX to a dedicated Shippable node pool.
2018-07-10 15:21:35 -04:00
Ryan Petrello
acd045379c Revert "enforce JT/Job.timeout >= 0"
This reverts commit 1fb41cf8d0.
2018-07-10 15:06:13 -04:00
Matt Clay
18b7b3e028 Switch AWX to a dedicated Shippable node pool.
Signed-off-by: Matt Clay <matt@mystile.com>
2018-07-10 11:58:09 -07:00
AlanCoding
a634b6b9e7 move static inventory update options to constants 2018-07-10 14:45:55 -04:00
Marliana Lara
60f6fba19b Fix side navigation icon alignment 2018-07-10 14:40:21 -04:00
Ben Thomasson
45cece8f57 Wraps long names of devices in the network UI at 25 characters 2018-07-10 14:35:09 -04:00
Jake McDermott
68ceaadf8d Merge pull request #2474 from ansible/jakemcdermott-patch-1
use a less rigid selector for credential form title
2018-07-10 14:02:48 -04:00
Christian Adams
2aa3150bdd Merge pull request #2472 from rooftopcellist/expiration_logout_500
catch empty session case
2018-07-10 13:51:45 -04:00
adamscmRH
762ce04b0a catch empty session case 2018-07-10 13:50:39 -04:00
Jake McDermott
00a7de99a4 use a less rigid selector for credential form title 2018-07-10 13:41:25 -04:00
Marliana Lara
319b1f56fc Merge pull request #2450 from marshmalien/fix/2433-hide-cred-list-label
Fix credential labels in jobs list
2018-07-10 13:36:56 -04:00
kialam
bf0469faad Merge pull request #2470 from kialam/fix/2388-fix-activity-stream
Adjust `schedule` route params for activity stream functionality
2018-07-10 13:23:43 -04:00
Marliana Lara
deb6c3caf8 Sanitize credential name tags 2018-07-10 13:18:42 -04:00
Jake McDermott
630cdce244 Merge pull request #2443 from jakemcdermott/fix-2397
sanitize host detail modal stderr/stdout
2018-07-10 11:44:11 -04:00
kialam
fe16579f88 Adjust schedule route params for activity stream functionality 2018-07-10 11:41:04 -04:00
Jake McDermott
321983fdfa santize host detail modal stderr and stdout 2018-07-10 11:19:33 -04:00
Jake McDermott
93fe14fa01 fix wrapping of host event modal stdout/err lines 2018-07-10 11:19:00 -04:00
Marliana Lara
83d86b3375 Merge pull request #2437 from marshmalien/fix/2434-list-icons
Tweak network visualization icon and remove calendar icon from lists
2018-07-10 11:09:14 -04:00
Ryan Petrello
ca3a2c752d Merge pull request #2463 from ryanpetrello/fix-2421
enforce JT/Job.timeout >= 0
2018-07-10 10:42:46 -04:00
Alan Rominger
7b860e4eeb Merge pull request #2445 from AlanCoding/true_admin
Fix bug with custom script user_capabilities
2018-07-10 10:25:17 -04:00
AlanCoding
73f3837f62 fix server errors unattaching instance from group 2018-07-10 09:38:56 -04:00
Marliana Lara
ae64b9abac Remove calendar icon and related code from lists 2018-07-10 09:28:33 -04:00
AlanCoding
ec643d6406 fix regression of callback relaunch 2018-07-10 08:45:23 -04:00
Ryan Petrello
1fb41cf8d0 enforce JT/Job.timeout >= 0
see: https://github.com/ansible/tower/issues/2421
2018-07-10 08:25:36 -04:00
kialam
9c653cb603 Merge pull request #2455 from kialam/fix/2193-workflow-status
Account for canceled workflow status in chart and results section
2018-07-09 16:58:44 -04:00
Christian Adams
ab861ae777 Merge pull request #2460 from rooftopcellist/reorder_root_api
Reorder root api
2018-07-09 16:39:13 -04:00
John Mitchell
33a0b017a6 Merge pull request #2454 from jlmitch5/fixJobsPortalMode
Fix jobs portal mode
2018-07-09 16:35:55 -04:00
Marliana Lara
b9250e2ceb Merge pull request #2458 from marshmalien/fix/1847-dashboard-graph
Fix dashboard graph view dropdown
2018-07-09 16:35:06 -04:00
Michael Abashian
8002cac82e Merge pull request #2427 from mabashian/2424-vault
Fixed bug displaying vault cred with no vault_id
2018-07-09 16:22:01 -04:00
adamscmRH
16dc1f57dd reorder api endpoint links 2018-07-09 16:11:27 -04:00
Alan Rominger
c78e274373 Merge pull request #2459 from AlanCoding/old_cred_msg
Change key to match old error message
2018-07-09 15:57:11 -04:00
AlanCoding
e36458a6c0 change key to match old error message 2018-07-09 15:36:13 -04:00
Alan Rominger
a90329f21b Merge pull request #2385 from AlanCoding/team_org_object_roles
Allow adding teams to org object roles
2018-07-09 15:34:45 -04:00
Yunfan Zhang
307e5204fa Merge pull request #2447 from YunfanZhang42/fix_credential_leak
Forbid users from using unauthorized credentials in projects and inventories.
2018-07-09 15:06:39 -04:00
Yunfan Zhang
270102c188 Forbid users from using unauthorized credentials in projects and inventories.
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-07-09 15:04:53 -04:00
Ryan Petrello
55b6f95b61 Merge pull request #2453 from ryanpetrello/fix-api-login-redirect
make the API browser direct you to the proper location post-login
2018-07-09 14:48:47 -04:00
Marliana Lara
617017aebd Fix dashboard graph view dropdown update bug 2018-07-09 14:37:26 -04:00
AlanCoding
e044b996e5 allow adding teams to org object roles 2018-07-09 14:13:57 -04:00
John Mitchell
9ffb3395bc fix index.less new line issue 2018-07-09 13:58:50 -04:00
Ryan Petrello
1d09c6b25a make the API browser direct you to the proper location post-login 2018-07-09 13:58:38 -04:00
John Mitchell
2f8b668ef9 fix portal mode issues 2018-07-09 13:53:46 -04:00
Alan Rominger
2dd3014374 Merge pull request #2441 from AlanCoding/error_message
Fix regression: include error message from remote server
2018-07-09 13:51:06 -04:00
Jared Tabor
6d33e27100 Merge pull request #2429 from jaredevantabor/fix-2422
Corrects label on schedule form
2018-07-09 10:46:37 -07:00
kialam
5a338c5f9b Account for canceled workflow status in chart and results section 2018-07-09 13:34:52 -04:00
Bill Nottingham
5c16f8c294 Merge pull request #2451 from wenottingham/six-PRs-and-a-movie
Merge assorted PRs from the AWX community
2018-07-09 13:27:17 -04:00
Wayne Witzel III
8969276710 Merge pull request #2446 from ansible/issue-2330
Add explicit Job Template Admin role
2018-07-09 13:26:39 -04:00
Rob Ruma
6378479ee7 Updates to callback scripts that include retry functionality for bash and extra_vars handling for PowerShell
Signed-off-by: Rob Ruma <robruma@users.noreply.github.com>
2018-07-09 13:00:10 -04:00
Bill Nottingham
ae4135f149 add tests 2018-07-09 12:59:45 -04:00
moss
14def1e693 add want_hostcollections for sat6 source vars
Signed-off-by: moss <smossber@redhat.com>
2018-07-09 12:59:35 -04:00
Paul Neumann
73197f3ae5 Extend unit test for Azure source variable generation
Add tests for generation of Azure source variables. Test cases such
as overwriting a variable with its default value, overwriting a variable
with something different to its default value and add variables not set
by default.
2018-07-09 12:59:14 -04:00
Paul Neumann
4b7f106e9f Enable source variables for Azure inventory 2018-07-09 12:58:59 -04:00
Cristian Vargas
475a2bd9bb Remove trailing comma
Signed-off-by: Cristian Vargas <cristian@swapps.co>
2018-07-09 12:58:21 -04:00
Cristian Vargas
7ecde597ac Make LAST UPDATED field in projects table sortable
Signed-off-by: Cristian Vargas <cristian@swapps.co>
2018-07-09 12:58:12 -04:00
Wayne Witzel III
70a97ce998 Update test to reflect needing job_template_admin_role 2018-07-09 12:17:34 -04:00
Jake McDermott
3b3ae9f7f5 Merge pull request #2444 from jakemcdermott/fix-2334
add host_status_counts to adhoc commands; fix status display for adhoc commands
2018-07-09 12:08:25 -04:00
Ryan Petrello
df095d9b67 Merge pull request #2449 from ryanpetrello/https-logs
default HTTP-based log emits to HTTPS
2018-07-09 12:07:34 -04:00
Bill Nottingham
a4b1cb6e20 Merge pull request #2055 from wenottingham/sattests
add want_hostcollections for sat6 source vars (with tests)
2018-07-09 12:05:26 -04:00
Ryan Petrello
6bd9792518 default HTTP-based log emits to HTTPS
see: https://github.com/ansible/awx/issues/2048
2018-07-09 11:52:04 -04:00
Bill Nottingham
64cfbe7642 add tests 2018-07-09 11:49:45 -04:00
Marliana Lara
549cd347e9 Fix credential labels in jobs list 2018-07-09 11:33:21 -04:00
Chris Meyers
6a610d633f Merge pull request #2430 from chrismeyersfsu/fix-do_not_touch_my_iso
deny topology changes to iso instances via api
2018-07-09 11:04:19 -04:00
Wayne Witzel III
2f78c658b1 Add explicit Job Template Admin role 2018-07-09 10:57:58 -04:00
moss
0f50dfd617 add want_hostcollections for sat6 source vars
Signed-off-by: moss <smossber@redhat.com>
2018-07-09 10:45:16 -04:00
Bill Nottingham
4737200566 Merge pull request #2051 from wenottingham/remove-issue-link
Rework reporting issues/get involved.
2018-07-09 10:17:30 -04:00
AlanCoding
7860cda9dc fix bug with custom script user_capabilities 2018-07-09 10:15:17 -04:00
Jake McDermott
bf55c7e7e2 use host_status_counts field for adhoc command jobs ui 2018-07-09 10:13:49 -04:00
Jake McDermott
1b1df63415 add host_status_counts to adhoc command event 2018-07-09 10:13:39 -04:00
Jake McDermott
380bf77b63 move host_status_counts logic into event model 2018-07-09 10:13:31 -04:00
Jake McDermott
87fccb9f45 fix status list for client-generated status counts 2018-07-09 10:13:21 -04:00
Ryan Petrello
e886311d41 Merge pull request #2439 from ryanpetrello/copy-over-here
Add a Location header to HTTP 201 for POST to copy endpoints
2018-07-09 09:28:51 -04:00
AlanCoding
34e2d9b47c fix regression: include error message from remote server 2018-07-09 09:04:14 -04:00
Ryan Petrello
2eb09e2fa2 Merge pull request #2435 from ryanpetrello/webpack-ui-external
add instructions for running the UI webpack server on an external host
2018-07-09 08:52:54 -04:00
Ryan Petrello
2916edd70f Add a Location header to HTTP 201 for POST to copy endpoints 2018-07-09 08:47:01 -04:00
AlanCoding
6a9a8eacc2 ask user input if credential prompting enabled 2018-07-09 08:37:47 -04:00
Ryan Petrello
da0fe173c9 Merge pull request #2431 from ryanpetrello/fix-201-location
add a missing Location header on HTTP 201 in a few places
2018-07-09 08:37:17 -04:00
sangongs
67c59b66e2 Merge pull request #2376 from sangongs/fix_get_failures
Fix serializers of unified_jobs & ad_hoc_commands to avoid exceptions
2018-07-09 08:14:34 -04:00
Rob Ruma
6514c338a2 Adding ability to ignore SSL certificate validation errors, cleanup parameters and usage
Signed-off-by: Rob Ruma <robruma@users.noreply.github.com>
2018-07-06 23:18:12 -04:00
chris meyers
19e865e9a5 prevent remove iso instance from iso instance groups 2018-07-06 15:34:26 -04:00
chris meyers
2ffc4b256d fix copy paste error 2018-07-06 15:12:57 -04:00
Christian Adams
7f27a3c74d Merge pull request #2335 from rooftopcellist/patch_exp_setting
migrate AUTH_TOKEN_EXPIRATION  to new session length setting
2018-07-06 15:08:02 -04:00
Ryan Petrello
9a2c359274 add instructions for running the UI webpack server on an external host 2018-07-06 14:52:34 -04:00
chris meyers
aeca21ab5b deny topology changes to iso instances via api 2018-07-06 14:50:17 -04:00
Marliana Lara
0a890d04da Merge pull request #2425 from marshmalien/fix/2417-instance-modal-styles
Fix instance modal styles
2018-07-06 14:28:38 -04:00
Bill Nottingham
4f02fe0b32 Rework reporting issues/get involved.
Denote that bugs & ideas go to the issue tracking repo, and discussion goes to mailing list/IRC.
2018-07-06 14:27:12 -04:00
adamscmRH
cb6514777d grab on-disk setting 2018-07-06 14:16:59 -04:00
Jared Tabor
7bf1569417 Corrects label on schedule form 2018-07-06 10:46:24 -07:00
John Mitchell
9ae88acc49 fix jobs list header 2018-07-06 11:59:50 -04:00
Ryan Petrello
ef211a4dc8 add a missing Location header on HTTP 201 in a few places 2018-07-06 11:34:48 -04:00
Ryan Petrello
b445e66ffa Merge pull request #2423 from ryanpetrello/multibyte-unicode-isolated
don't decode stdout on-the-fly as it's processed
2018-07-06 09:44:11 -04:00
Ryan Petrello
172defa0d4 don't use codecs.open for syncing isolated stdout data
see: https://github.com/ansible/tower/issues/2315
2018-07-06 08:25:51 -04:00
Bill Nottingham
dd8ca48bf9 Merge pull request #2403 from wenottingham/read-all-about-it
Don't filter out read role.
2018-07-05 20:04:54 -04:00
Marliana Lara
900cb56950 Merge pull request #2419 from marshmalien/fix/1517-xss-application-token-description
Add sanitize filter to token description field
2018-07-05 16:46:10 -04:00
Marliana Lara
f6c48bc1da Merge pull request #2426 from marshmalien/fix/1521-templates-dismiss-button
Hide dismiss button on the templates list panel
2018-07-05 16:44:46 -04:00
mabashian
85de502681 Fixed bug displaying vault cred with no vault_id 2018-07-05 15:51:27 -04:00
Marliana Lara
df3f10d71b Hide dismiss button on the templates list panel 2018-07-05 15:28:59 -04:00
Marliana Lara
aafc92819d Fix instance modal styles 2018-07-05 14:57:35 -04:00
Marliana Lara
b860395949 Add sanitize filter to token description field 2018-07-05 13:57:38 -04:00
Marliana Lara
70f1b0d642 Merge pull request #2418 from marshmalien/fix/2243-activity-stream-link
Add case for CTIT settings in activity stream
2018-07-05 13:25:28 -04:00
Jared Tabor
56fc5b104e Merge pull request #2415 from jaredevantabor/fix-2413
Fixes Discard Changes & Save buttons in Settings page
2018-07-05 10:01:24 -07:00
Marliana Lara
c71f98dc42 Add case for settings in build link factory 2018-07-05 12:16:40 -04:00
adamscmRH
9ac92c0ee0 refactor code 2018-07-05 11:48:33 -04:00
Bill Nottingham
fa5132991f Require certpair for SAML. 2018-07-05 11:12:00 -04:00
Christian Adams
90d57300da Merge pull request #2357 from rooftopcellist/hookup_ui_expire
Hookup ui expire
2018-07-05 08:45:56 -04:00
Jared Tabor
a4e9f18d2b Fixes Discard Changes & Save buttons in Settings page 2018-07-03 15:25:00 -07:00
Alan Rominger
0b811a53ff Merge pull request #2410 from AlanCoding/filterama
Show filterable: False if not filterable
2018-07-03 17:32:11 -04:00
adamscmRH
3e1aaec9fe add generic setting method 2018-07-03 17:09:47 -04:00
adamscmRH
ae0793f374 Hookup UI session expiration 2018-07-03 16:53:27 -04:00
Alan Rominger
13c1b87df4 Merge pull request #2191 from AlanCoding/schedule_fixes
Fix bugs creating WFJT schedule with passwords
2018-07-03 16:51:01 -04:00
Jared Tabor
2f108e55f3 Merge pull request #2412 from jaredevantabor/fix-warning
Prefers arrow function over unnamed function
2018-07-03 13:26:55 -07:00
Jared Tabor
580736e80d Prefers arrow function over unnamed function 2018-07-03 13:08:57 -07:00
Alan Rominger
360ad7ad61 Merge branch 'release_3.3.0' into filterama 2018-07-03 15:42:37 -04:00
Ryan Petrello
151187f623 Merge pull request #2408 from ryanpetrello/fix-2323
properly check read permissions in `GET /api/v2/wfjt/N/copy/`
2018-07-03 15:32:20 -04:00
kialam
1feb81f20c Merge pull request #2402 from kialam/fix/2308-network-ui-device
Update the canvas element’s scale factor upon initialization.
2018-07-03 15:24:42 -04:00
Alan Rominger
1f7d7151ad Merge pull request #2405 from AlanCoding/app_act_str
Add back in application activity stream link
2018-07-03 15:23:18 -04:00
AlanCoding
b97626bf37 show filterable: False if not filterable 2018-07-03 15:21:10 -04:00
Yunfan Zhang
e9a2100a62 Merge pull request #2400 from YunfanZhang42/fix_content_type
Handle exception with invalid HTTP content_type.
2018-07-03 15:16:13 -04:00
Ryan Petrello
d1f5485b96 properly check read permissions in GET /api/v2/wfjt/N/copy/
see: https://github.com/ansible/tower/issues/2323
2018-07-03 15:15:00 -04:00
kialam
26360f8852 Update the canvas element’s scale factor upon initialization.
And fix initial value of `$scope.current_scale`.
2018-07-03 15:03:09 -04:00
AlanCoding
2a5853e4fc add back in application activity stream link 2018-07-03 14:30:56 -04:00
Bill Nottingham
e271a69efb Don't filter out read role. 2018-07-03 14:00:38 -04:00
Yunfan Zhang
b4890ee331 Handle exception with invalid HTTP content_type.
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-07-03 13:55:18 -04:00
Jared Tabor
4c1bc49258 Merge pull request #2395 from jaredevantabor/https-dev-server
Changes UI dev server to operate over https
2018-07-03 09:30:41 -07:00
Marliana Lara
77815c20a4 Merge pull request #2386 from marshmalien/fix/1824-disable-row-user-permissions
Fix disableRowValue expression in permissions users list
2018-07-03 11:27:19 -04:00
Marliana Lara
a9ddd02f5c Merge pull request #2392 from marshmalien/fix/1380-disable-ig-lookup
Disable instance group lookup for org admin
2018-07-03 11:17:11 -04:00
Marliana Lara
f3ff624873 Merge pull request #2361 from marshmalien/fix/panel-header-docs
Modify panel header to accept title and badge string bindings
2018-07-03 11:16:36 -04:00
Ryan Petrello
1c478b5ccb Merge pull request #2399 from ryanpetrello/remove-storage-cruft
delete some old, dead code
2018-07-03 11:04:57 -04:00
Ryan Petrello
b8dbf62abc delete some old, dead code 2018-07-03 10:30:22 -04:00
Marliana Lara
220831a3d0 Merge pull request #2382 from marshmalien/fix/2321-modal-backdrop
Fix modal backdrop styles
2018-07-03 10:27:25 -04:00
Haokun Chen
641392b815 Merge pull request #2342 from Haokun-Chen/1843
move smart inventory button next to smart-search bar in host list page
2018-07-03 10:10:03 -04:00
Ryan Petrello
d58411cf07 Merge pull request #2396 from ryanpetrello/fix-pexpect-hang
support env vars that contain unicode (without hanging)
2018-07-03 08:44:46 -04:00
Ryan Petrello
4d7a20a9fb support env vars that contain unicode (without hanging)
see: https://github.com/ansible/tower/issues/2391
see: https://github.com/pexpect/pexpect/issues/512
2018-07-03 08:26:11 -04:00
Jared Tabor
92cf8d538a Changes UI dev server to operate over https 2018-07-02 22:09:24 -07:00
Marliana Lara
35b27005d4 Disable instance group lookup when user is an org admin 2018-07-02 16:25:46 -04:00
adamscmRH
4c84d400a8 migrate session length setting 2018-07-02 14:17:16 -04:00
adamscmRH
b5dc3e6b94 patch session length settings 2018-07-02 14:17:16 -04:00
Marliana Lara
773c41ec81 Fix disableRowValue expression in permissions users list 2018-07-02 12:49:30 -04:00
Guoqiang Zhang
5a4451ddd4 Fix serializers of unified_jobs & ad_hoc_commands to avoid special exceptions 2018-07-02 11:53:33 -04:00
Ryan Petrello
380df1b327 Merge pull request #2380 from ryanpetrello/noisy-celery-watcher
make celery-watcher less noisy
2018-07-02 11:01:18 -04:00
Jake McDermott
209c29d897 Merge pull request #2381 from ansible/jakemcdermott-remove-final-counter-offset
remove offset from EOF websocket final_counter
2018-07-02 10:49:22 -04:00
Ryan Petrello
a8eb4327ea make celery-watcher less noisy 2018-07-02 10:44:06 -04:00
Jake McDermott
1d9e788db4 Merge pull request #2383 from ansible/jakemcdermott-fix-2234
use height of parent container for output section
2018-07-02 10:43:53 -04:00
Jake McDermott
164e6cceca use height of parent container for output section 2018-07-02 10:25:58 -04:00
Marliana Lara
ce2f4dca16 Fix instance modal backdrop styles 2018-07-02 10:21:31 -04:00
Haokun Chen
d17f3d7d2a Merge pull request #2355 from Haokun-Chen/2197
deregister the transition hook when destroy smart-search controller
2018-07-02 10:18:25 -04:00
Jake McDermott
3edf5ba95c remove offset from final_counter 2018-07-02 10:08:12 -04:00
Marcin Karkocha
a19df9b3b3 #2039 add tiller-namespace as argument 2018-07-02 12:33:26 +00:00
Ilkka Tengvall
0443bd3099 fixes selinux permissions for awx data.
fixes issue #2036 and  #1896
2018-07-02 09:22:36 +03:00
Jijo Varghese
919a614dbb ldap attributes filter in user_groups()
ldap search currently fetches ALL attributes which is a waste of bandwidth resources and
woefully slow on large ldap groups when it only needs to parse the name_attr

Signed-off-by: Jijo Varghese <jijojv@gmail.com>
2018-06-30 00:02:19 -07:00
Alan Rominger
6f63c7ba38 Merge pull request #2346 from AlanCoding/no_controller_node
No controller node field for project updates
2018-06-29 14:52:34 -04:00
Marliana Lara
581436f23d Merge pull request #2369 from marshmalien/fix/2234-job-output-height
[Job Results] Remove scrollbar from standard out panel
2018-06-29 14:25:51 -04:00
AlanCoding
8ae979908c Enforce unified list field consistency
Discovered via bug: controller_node field present in
project update list but not in detail view

Added tests to assert that "unified" list serializer
produces same fields as the ordinary serializer,
for unified jobs & unified JTs

Added test to check that list serializers do differ
from detail serializer except for allowed differences

Added test to check that list serializers are applied
correctly - only on list views, and that detail views,
likewise, do not use list serializers

Fix the many many bugs discovered by these new
testing mechanisms
2018-06-29 14:03:52 -04:00
Marliana Lara
94674313e4 Remove scrollbar from job results standard out 2018-06-29 12:07:52 -04:00
Alan Rominger
d5661a0434 Merge pull request #2343 from AlanCoding/credential_hell
Copy JT credential logic to Job summary fields
2018-06-28 19:27:33 -04:00
Haokun-Chen
81ef98e627 leftAlign smart inventory button next to search bar 2018-06-28 16:53:12 -04:00
Michael Abashian
1c194dbfbc Merge pull request #2351 from mabashian/2301-xss
Rolls back changes to the xss filter.  Addresses escaped characters in cred tags.
2018-06-28 15:04:56 -04:00
Ryan Petrello
26bd16b855 Merge pull request #2352 from ryanpetrello/fix-csrf-sessions
fix a few remaining CSRF nits
2018-06-28 13:57:13 -04:00
Marliana Lara
642cc88fcd Modify panel header to accept title and badge string bindings 2018-06-28 13:44:05 -04:00
mabashian
b426eeeb5c Rolls back xss filter test 2018-06-28 13:26:48 -04:00
Ryan Petrello
b8ed78ee9d Never send WWW-Authenticate: Basic... headers for the API 2018-06-28 13:00:23 -04:00
Ben Thomasson
fe66bb99d5 Merge pull request #2242 from benthomasson/network_ui_read_only_permissions_fix
Adds topology edit permissions check to network ui session
2018-06-28 12:54:41 -04:00
Haokun Chen
ad483aedc7 Merge pull request #2337 from Haokun-Chen/2096
show credential on job detail page for jobs besides JTs playbook job
2018-06-28 11:52:04 -04:00
Haokun-Chen
a07ee67eb9 deregister the transition hook when destroy smart-search controller 2018-06-28 11:01:01 -04:00
Ryan Petrello
d52fa377d8 remove unnecessary CSRF exemptions 2018-06-28 09:35:01 -04:00
Ryan Petrello
3b0f7de3e6 Properly return HTTP 403 when CSRF fails (not HTTP 500) 2018-06-28 09:33:59 -04:00
Michael Abashian
e8748fa147 Merge pull request #2338 from mabashian/instance-modal-search
Updates to instance list and instance modal search
2018-06-28 09:15:34 -04:00
Ryan Petrello
63723013f7 Merge pull request #2345 from ryanpetrello/fix-csrf-sessions
properly enforce CSRF validation
2018-06-28 09:14:56 -04:00
mabashian
cbcc47010d Rolls back changes to the xss filter. Removes unnecessary sanitize of credential names in tags 2018-06-28 08:59:36 -04:00
V.Gouvalas
1239195289 FIX nginx use selected log formatting 2018-06-28 14:09:13 +03:00
Ryan Petrello
504dfd32ee properly enforce CSRF validation
see: https://github.com/ansible/tower/issues/2339
2018-06-27 21:09:26 -04:00
Jake McDermott
b54ea736b0 Merge pull request #2318 from jakemcdermott/job-results/viewable-page-up-down
make output nav controls move up or down by viewable content height
2018-06-27 20:13:30 -04:00
Jared Tabor
0ec95c8463 Merge pull request #2296 from jaredevantabor/fix-719
Displayeth thy Cancel button on the jobs list for a running system job
2018-06-27 15:08:33 -07:00
Jared Tabor
c9c7ee14b2 Merge pull request #2329 from jaredevantabor/schedules
Fixeth thy schedules
2018-06-27 15:04:20 -07:00
Marliana Lara
8317102f0d Merge pull request #2336 from marshmalien/1723-ux-manual-instances
Remove instance policy list lookup from instance group form
2018-06-27 16:10:20 -04:00
AlanCoding
a15527b54c copy JT credential logic to Job summary fields 2018-06-27 14:39:35 -04:00
Ryan Petrello
39bc64d089 Merge pull request #2332 from ryanpetrello/fix-session-limit
make settings.SESSIONS_PER_USER work
2018-06-27 14:34:21 -04:00
Jared Tabor
aa76f6ca39 Adjustments to Socket Service for session-limit PR 2018-06-27 10:45:23 -07:00
Haokun-Chen
67bda81e67 show credential to job detail page 2018-06-27 12:45:24 -04:00
Ryan Petrello
b2cdf82b78 make settings.SESSIONS_PER_USER work
see: https://github.com/ansible/tower/issues/2209
2018-06-27 12:09:56 -04:00
mabashian
9ec5009bdf Updates to instance list and instance modal search 2018-06-27 11:44:38 -04:00
John Mitchell
3e951a5598 Merge pull request #2328 from jlmitch5/fixTemplateTagWrapping
Fix template tag wrapping
2018-06-27 11:05:45 -04:00
Haokun Chen
9f6d431c54 Merge pull request #2324 from Haokun-Chen/2050
update tag component to use tag directive
2018-06-27 10:24:13 -04:00
Marliana Lara
7c76807a8e Remove instance policy list lookup from instance group form 2018-06-27 10:18:03 -04:00
Jared Tabor
5702c8249e Fixes the standalone schedules list styling
The list was not wrapped in a panel and the form was not showing
above the list view like our other CRUD views.
2018-06-26 14:19:12 -07:00
John Mitchell
106ec1aabe fix template list tag wrapping 2018-06-26 16:21:30 -04:00
John Mitchell
a9526de2c4 fix inv host list status wrapping 2018-06-26 16:21:09 -04:00
Haokun-Chen
da421f28e8 update tag component to use tag directive in smart-search, multi-select, input/lookup.partial, instance-group-multiselect 2018-06-26 13:59:02 -04:00
Haokun Chen
7aa48708d6 Merge pull request #2305 from Haokun-Chen/2225
fixing margin for instances group, application, credential page
2018-06-26 13:56:44 -04:00
John Mitchell
981f77774b Merge pull request #2224 from ansible/2179
align tag to left hand side of bar
2018-06-26 13:48:38 -04:00
Jake McDermott
e07eba266d Merge pull request #2306 from jakemcdermott/job-results/static-pager
improve job output search
2018-06-26 13:12:21 -04:00
Jake McDermott
47fc676607 cache last job_event page when not running 2018-06-26 12:55:58 -04:00
Jake McDermott
7f23aa81e6 clear job event search on relaunch 2018-06-26 12:55:52 -04:00
Jake McDermott
e6668a43cd add pager for static and filtered job results 2018-06-26 12:55:37 -04:00
Jake McDermott
374f781d0d make nav controls move up or down by viewable content height 2018-06-26 12:08:41 -04:00
Ryan Petrello
d73b71d94b Merge pull request #2317 from ryanpetrello/harden-session-expiration
make `awx-manage expire_sessions --user xyz` more robust
2018-06-26 10:39:46 -04:00
Haokun-Chen
feff7fb776 fixing margin for instances list, application token, credential permission page 2018-06-26 10:37:52 -04:00
Haokun Chen
b7ff3aa8fe Merge pull request #2311 from Haokun-Chen/2234
add responsiveness to job output panel
2018-06-26 10:22:53 -04:00
Ryan Petrello
5c44bf4ef9 Merge pull request #2313 from ryanpetrello/fix-ui-401
don't send WWW-Authenticate: Basic for AJAX, and properly detect 401
2018-06-26 10:07:35 -04:00
Ryan Petrello
f6920a02cf make awx-manage expire_sessions --user xyz more robust
see: https://github.com/ansible/tower/issues/2316
2018-06-26 08:52:52 -04:00
Ryan Petrello
7880f83d97 don't send WWW-Authenticate: Basic for AJAX, and properly detect 401 2018-06-26 08:40:21 -04:00
Haokun-Chen
be0a77b203 add responsiveness to job output panel 2018-06-25 16:53:39 -04:00
Bill Nottingham
2e980293d9 Merge pull request #2009 from cdvv7788/Issue/1506
Make LAST UPDATED field in projects table sortable #1506
2018-06-25 16:27:30 -04:00
Bill Nottingham
0d03036fb1 Merge pull request #1629 from robruma/feature/update_callback_scripts
Updates to callback scripts
2018-06-25 15:47:25 -04:00
Ryan Petrello
a4271024fe Merge pull request #2014 from cdvv7788/fix-contributing-docs
Fix issue with table of contents(CONTRIBUTING.md)
2018-06-25 15:37:46 -04:00
Ryan Petrello
37972ec9da Merge pull request #1876 from paneu/azure-rm-inv-variables
Enable source variables for Azure inventory
2018-06-25 15:36:27 -04:00
Ryan Petrello
d8c4f118c2 Merge pull request #2020 from ryanpetrello/fix-tz-test
fix a failing timezone test
2018-06-25 15:36:15 -04:00
Ryan Petrello
1b2d7ed748 fix a failing timezone test 2018-06-25 15:18:29 -04:00
Paul Neumann
f6eb534f30 Extend unit test for Azure source variable generation
Add tests for generation of Azure source variables. Test cases such
as overwriting a variable with its default value, overwriting a variable
with something different to its default value and add variables not set
by default.
2018-06-25 20:26:20 +02:00
Paul Neumann
33f9834747 Enable source variables for Azure inventory 2018-06-25 20:26:20 +02:00
Christian Adams
602f60b9b2 Merge pull request #2019 from rooftopcellist/cp_pytest_upgrade
update dev pytest
2018-06-25 13:27:20 -04:00
adamscmRH
3b36f85989 update dev pytest 2018-06-25 13:22:17 -04:00
Jake McDermott
2ca4c08567 Merge pull request #2294 from jaredevantabor/2179
Update jobs list if navigating from the output page.
2018-06-25 12:38:58 -04:00
John Mitchell
b6334361af fix typo 2018-06-25 11:47:14 -04:00
Jake McDermott
c5300e9c05 Merge pull request #2298 from jakemcdermott/job-results/expand-collapse-all-without-domquery
store event names in record list to find orphan task lines when toggling
2018-06-25 11:38:06 -04:00
Jake McDermott
9449eeb37e Merge pull request #2299 from jakemcdermott/tests/workflow-visualizer-5000-selector
update selector used for workflow button
2018-06-25 10:47:34 -04:00
Jake McDermott
295dba8622 Merge pull request #2297 from jakemcdermott/job-results/reintroduce-ng-non-bindable
reintroduce ng-non-bindable to output lines
2018-06-25 10:45:58 -04:00
Haokun Chen
fb56585636 Merge pull request #2290 from Haokun-Chen/2254
update jobs/schedules to schedules in route and breadcrumb
2018-06-25 10:24:36 -04:00
Jake McDermott
e64d05c324 update selector used for workflow button 2018-06-25 10:05:52 -04:00
Marliana Lara
f53662a248 Merge pull request #2292 from marshmalien/fix/2251-firefox-dashboard-dropdown-arrows
Fix dashboard graph dropdown arrows in firefox
2018-06-25 09:59:38 -04:00
Marliana Lara
3fbde0b409 Merge pull request #2289 from marshmalien/fix/2277-wrap-preview-tags
Wrap job prompt preview tags
2018-06-25 09:59:03 -04:00
Haokun Chen
a7ba7708bb Merge pull request #2287 from Haokun-Chen/2284
fix job result stats section when running/finish jobs
2018-06-25 09:47:48 -04:00
Christian Adams
39c0ed4ad6 Merge pull request #2291 from rooftopcellist/revert_radius_110
Revert Django-radius to 1.1.0
2018-06-25 08:59:36 -04:00
Jake McDermott
71f2388ec8 use record list to find orphan task records when toggling 2018-06-25 01:38:53 -04:00
Jake McDermott
92b8d90800 reintroduce ng-non-bindable directive to output lines 2018-06-25 01:06:41 -04:00
Cristian Vargas
19ca2581fa Fix issue with table of contents(links)
Signed-off-by: Cristian Vargas <cristian@swapps.co>
2018-06-23 13:16:38 -05:00
Jared Tabor
d468f829dd Shows the Cancel button on the jobs list for a running system job 2018-06-22 17:56:26 -07:00
Jared Tabor
ccd8a48617 Merge pull request #2295 from jaredevantabor/2265
Alas, the stdout page wasn't loading if sockets were down
2018-06-22 15:36:59 -07:00
Jared Tabor
041256a6e0 Removing return statement
The SocketService.addStateResolve returns the resolve so you don't
have to.
2018-06-22 14:47:52 -07:00
Jared Tabor
c0f3b0268e Update jobs list if navigating from the output page. 2018-06-22 13:42:00 -07:00
Marliana Lara
ad205a869d Fix dashboard graph dropdown arrows in firefox 2018-06-22 16:29:57 -04:00
Jake McDermott
46223d3cbf Merge pull request #2282 from Haokun-Chen/fixed-toggle-menu
fix toggle menu when scroll up
2018-06-22 15:38:09 -04:00
Haokun-Chen
2d2b1676aa update jobs/schedules to schedules in route and breadcrumb 2018-06-22 15:36:44 -04:00
Jake McDermott
c19af3ca4f Merge pull request #2288 from marshmalien/fix/2279-job-output-line-highlight
Flex job event line highlighting across entire row
2018-06-22 15:27:45 -04:00
Marliana Lara
93988896a9 Wrap job prompt preview tags 2018-06-22 15:27:32 -04:00
Marliana Lara
ffdb564c15 Flex job event line highlighting across entire row 2018-06-22 15:06:16 -04:00
adamscmRH
8cc77234fc revert django-radius from 1.3.3 to 1.1.0 2018-06-22 15:01:11 -04:00
John Hill
aa98842364 Merge pull request #1953 from mabashian/jt-launch-automated-tests
First pass at JT launch with prompts automated tests
2018-06-22 14:37:03 -04:00
Jake McDermott
a50614983a wait for job to finish before ending tests 2018-06-22 14:21:14 -04:00
Jared Tabor
a8504d7bd7 Merge pull request #2276 from jaredevantabor/disabled-codemirror
Improves UX for readonly codemirrors so that users can copy/paste
2018-06-22 11:09:58 -07:00
Jake McDermott
d3b71858df use prompt inventory list id 2018-06-22 13:53:34 -04:00
Jake McDermott
ef4607b29f make sure surveys are enabled before adding a survey 2018-06-22 13:53:25 -04:00
Jake McDermott
9ae5ffc8ca make sure project is updated before test begins 2018-06-22 13:53:15 -04:00
Jake McDermott
2f2b19ffec increase timeout threshold for login 2018-06-22 13:53:06 -04:00
mabashian
e243cf4435 Fixed linting errors 2018-06-22 13:51:10 -04:00
mabashian
fbfaf69ee9 Added extra assertions and waits to reduce flake 2018-06-22 13:51:10 -04:00
mabashian
1d74499385 Added check to make sure that input contents match what we expect them to match 2018-06-22 13:51:10 -04:00
mabashian
264b0f248a First pass at automated jt launch tests 2018-06-22 13:51:10 -04:00
Marliana Lara
a6837343a5 Merge pull request #2275 from marshmalien/fix/see-more-see-less
Add show more/less to job details labels
2018-06-22 13:15:07 -04:00
Haokun-Chen
e51e4e5f6c fix job result stats section when running/finish jobs 2018-06-22 13:09:04 -04:00
Christian Adams
8bd2217a49 Merge pull request #2278 from rooftopcellist/fix_dot_oauth2_error
Fix dot oauth2 error
2018-06-22 12:54:39 -04:00
Marliana Lara
62fd5ea6ef Show up to 50 labels in job details 2018-06-22 11:33:40 -04:00
Ryan Petrello
accf586588 Merge pull request #2283 from sangongs/honcho_io_encoding
Force the python IO encoding to be utf_8 when using honcho
2018-06-22 10:22:55 -04:00
Guoqiang Zhang
530860c386 Force the python IO encoding to be utf_8 when using honcho 2018-06-22 09:35:28 -04:00
Haokun-Chen
3933e01dd1 fix toggle menu when scroll up 2018-06-22 09:33:23 -04:00
adamscmRH
b7f5161835 try-except auth_header 2018-06-21 17:11:34 -04:00
Marliana Lara
09abba63b7 Add show more less to job details labels 2018-06-21 17:08:18 -04:00
Alan Rominger
bed4d240af Merge pull request #2274 from AlanCoding/absolute_nonsense
Remove brittle condition causing schema to fail
2018-06-21 15:44:48 -04:00
Jared Tabor
aac939d9e4 Improves UX for readonly codemirrors so that users can copy/paste 2018-06-21 12:30:53 -07:00
AlanCoding
b2251cb916 remove brittle condition causing schema to fail 2018-06-21 14:39:25 -04:00
Jake McDermott
7cd203d610 Merge pull request #2246 from marshmalien/fix/job-output-table
Extend standard out line border to full length of container
2018-06-21 13:47:59 -04:00
Haokun Chen
f72ed46354 Merge pull request #2270 from Haokun-Chen/2248
change workflow editor to workflow visualizer
2018-06-21 13:46:29 -04:00
Cristian Vargas
5a8f4060b7 Remove trailing comma
Signed-off-by: Cristian Vargas <cristian@swapps.co>
2018-06-21 11:53:33 -05:00
Haokun-Chen
f3e4780c7a change workflow editor to workflow visualizer 2018-06-21 12:27:35 -04:00
Ryan Petrello
008a3a0d01 Merge pull request #2269 from ryanpetrello/no-inventory-credentials-v1
always specify `cloud: True/False` for JT/job credential summary
2018-06-21 12:07:10 -04:00
Ryan Petrello
813a3be2b8 always specify cloud: True/False for JT/job credential summary 2018-06-21 11:16:35 -04:00
Ryan Petrello
c944f37637 Merge pull request #2268 from ryanpetrello/no-inventory-credentials-v1
filter jt.summary_fields.credential.credential_type from /api/v1/
2018-06-21 11:12:56 -04:00
Ryan Petrello
c7125a335a filter jt.summary_fields.credential.credential_type from /api/v1/ 2018-06-21 11:03:23 -04:00
Ben Thomasson
d294139f4a Adds topology edit permissions check to network ui session
This allows the read-only views to work while rejecting
any edit messages that could be sent by a read-only client.
2018-06-21 10:57:15 -04:00
Ryan Petrello
30e2207960 Merge pull request #2266 from AlanCoding/no_cs_v1
Do not show create_schedule link in v1
2018-06-21 10:54:17 -04:00
Ryan Petrello
9994dad55f Merge pull request #2262 from ryanpetrello/no-inventory-credentials-v1
don't show summary_fields.credential.credential_type_id on /api/v1/
2018-06-21 10:29:50 -04:00
John Mitchell
abe7d3b084 Merge pull request #2247 from jlmitch5/fixAddOrgAndNewListSearch
Fix add org and new list search
2018-06-21 10:21:04 -04:00
AlanCoding
94fce61d36 do not show create_schedule link in v1 2018-06-21 10:09:47 -04:00
Marliana Lara
8297b040f8 Wrap output event text 2018-06-21 09:51:55 -04:00
Ryan Petrello
83ecea2377 don't show summary_fields.credential.credential_type_id on /api/v1/ 2018-06-21 09:19:47 -04:00
Cristian Vargas
fc745e1979 Make LAST UPDATED field in projects table sortable
Signed-off-by: Cristian Vargas <cristian@swapps.co>
2018-06-20 22:42:18 -05:00
adamscmRH
01a1d6ffd0 selectively authenticate with OAuth2 Backend 2018-06-20 23:09:52 -04:00
Jared Tabor
f38b01c80e Merge pull request #2237 from jaredevantabor/networking
Network UI fixes
2018-06-20 15:47:33 -07:00
Jared Tabor
ccb7758b37 Changes the ngShow for the Network Visualizer and Remediate Inventory buttons
to only show them on the Details tab (or in the case of Remediate inventory,
only show it on the Details or Hosts tab).
2018-06-20 15:27:40 -07:00
Ryan Petrello
7dee3c74ef Merge pull request #2259 from ryanpetrello/no-inventory-credentials-v1
don't show inventory_source.related.credentials in /api/v1/
2018-06-20 17:37:06 -04:00
Ryan Petrello
78f6907c1b don't show inventory_source/update.related.credentials in /api/v1/ 2018-06-20 17:21:08 -04:00
Haokun Chen
9ec53b6e03 Merge pull request #2249 from Haokun-Chen/2228
enable expand/collapse all tasks button in job result page
2018-06-20 15:05:27 -04:00
Jared Tabor
f3fa3afe93 Changes title on the Network UI to "Network Visualizer | <name of inv>" 2018-06-20 11:48:42 -07:00
Haokun-Chen
daf3215241 enable expand/collapse all tasks button in job result page 2018-06-20 14:30:35 -04:00
Marliana Lara
15c8f5709c Update side nav width and font size 2018-06-20 14:22:24 -04:00
AlanCoding
f753bea24f Test-based fixes to launch config password handling
Fix bug creating WFJT schedule with passwords:
discard survey_passwords field if given in WFJT
prompts processing method.
Fixed by porting prior JT fix to WFJT method of
same name.

Fix bug where API browser will show encrypted form
of variables in the POST submission box after
failed attempt:
copy extra_data so encrypted data values are not
added in still-linked request.data

Fix a bug where submitted extra_data $encrypted$ string
literal was saved because survey_passwords was empty
when there was no diff from prior.

Allow not answering required password questions with a
non-empty default value when saving a launch config.
The literal $encrypted$ string now gets passed into the
prompts / survey validator.
2018-06-20 14:18:38 -04:00
John Mitchell
e89f9b62f5 emit value expected by new lists from smart search 2018-06-20 14:01:49 -04:00
Marliana Lara
2824e750cb Extend standard out line border to full length of container 2018-06-20 13:49:41 -04:00
Yunfan Zhang
37d61904bf Merge pull request #2177 from YunfanZhang42/disallow_dict_on_credentials
Disallow posting dictionary as credentials to JT launch API endpoint.
2018-06-20 13:37:21 -04:00
Alan Rominger
8dc2068d18 Merge pull request #2238 from AlanCoding/hold_auth_app
Delay auth app migrations until 3.3
2018-06-20 13:27:44 -04:00
Yunfan Zhang
9fec43c643 Disallow posting dictionary as credentials to JT launch API endpoint. 2018-06-20 13:05:47 -04:00
John Mitchell
3d42fb1237 updating reference to custom virtualenv 2018-06-20 12:50:38 -04:00
Alan Rominger
d1bc9758db Merge pull request #2060 from AlanCoding/one_less_counter
Get rid of duplicate counter variable
2018-06-20 09:46:03 -04:00
AlanCoding
ecf24b6eef delay auth app migrations until 3.3 2018-06-20 07:57:40 -04:00
Jared Tabor
2566a5f14f Adds a button to the inventory form that links the user directly to hte
Network UI
2018-06-19 14:55:51 -07:00
Jared Tabor
c02c92890c Enables smart inventories to be shown on the network UI 2018-06-19 14:55:51 -07:00
Jared Tabor
afb214b8d4 Hides the "Inventory" title on the inventory toolbox when toggling 2018-06-19 14:55:51 -07:00
Jared Tabor
0bc3332f68 Changes console.logs to $log.debug for network UI 2018-06-19 14:55:51 -07:00
Jared Tabor
5bf0724bd0 Changes "Cancel" button to read "Close" 2018-06-19 14:55:51 -07:00
Ryan Petrello
bb657de6a7 Merge pull request #2231 from ryanpetrello/expedite-isolated-heartbeat
expedite the heartbeat when an isolated node is registered
2018-06-19 16:38:56 -04:00
Marliana Lara
07665d545d Merge pull request #2230 from marshmalien/fix/2229-side-nav-styles
Fix side navigation width and text styles
2018-06-19 15:41:45 -04:00
Ryan Petrello
ff2f7aa950 expedite the heartbeat when an isolated node is registered 2018-06-19 15:37:02 -04:00
Haokun Chen
8df186bc91 Merge pull request #2227 from Haokun-Chen/2157
make Instance Group in job details a link
2018-06-19 15:09:55 -04:00
Marliana Lara
540f4fa956 Update instance group breadcrumb strings 2018-06-19 15:07:37 -04:00
Haokun-Chen
38526b831b make Instance Group in job details a link 2018-06-19 14:47:42 -04:00
Marliana Lara
520293dd2e Fix side navigation width and text styles 2018-06-19 14:00:02 -04:00
Ryan Petrello
2be8e8d55a Merge pull request #2217 from ryanpetrello/fix-job-reaper
stop setting celery's hostname dynamically (it's passed via the cli)
2018-06-19 13:05:14 -04:00
Michael Abashian
1dffb542b8 Merge pull request #2204 from jakemcdermott/fix-2190
job output window - use tail for max counter when it is greater than api counter
2018-06-19 12:51:28 -04:00
Michael Abashian
389ed995d5 Merge pull request #2218 from jakemcdermott/fix-2159
job output window - improve scrolling behavior
2018-06-19 12:51:05 -04:00
Bill Nottingham
3dd2b97a53 Merge pull request #2223 from wenottingham/info-for-the-info-gods
Switch token/basic auth logging to INFO.
2018-06-19 12:29:24 -04:00
Ryan Petrello
471ff69257 stop setting celery's hostname dynamically (it's passed via the cli) 2018-06-19 12:16:00 -04:00
John Mitchell
5231b4c738 align tag to left hand side of bar
link #2169
2018-06-19 11:42:57 -04:00
Bill Nottingham
482f45b860 Switch token/basic auth logging to INFO, to match login/logout logging. 2018-06-19 11:37:19 -04:00
Haokun Chen
598d6e8445 Merge pull request #2188 from Haokun-Chen/1849
fix credential form private key passphrase and authorize password error
2018-06-19 11:11:30 -04:00
Jake McDermott
106494e650 use tail for max counter when it is greater than api counter 2018-06-19 09:49:05 -04:00
Jake McDermott
8f34725f7e don't reset scroll position on page-first 2018-06-19 09:46:17 -04:00
Jake McDermott
a6c4f15a86 set page-up post-scroll height to beginning of new dataset 2018-06-19 09:45:41 -04:00
Shane McDonald
93ddda13fd Merge pull request #2216 from ansible/rollback-task-reaper-pr
Revert "fix celery task reaper"
2018-06-18 19:24:29 -04:00
Haokun-Chen
fe31f54778 delete empty inputs fields to clear error on credential form 2018-06-18 16:48:41 -04:00
Ryan Petrello
ef6433c6f9 Revert "fix celery task reaper"
This reverts commit 1359208a99.
2018-06-18 16:18:20 -04:00
Ryan Petrello
b4c30576af Merge pull request #2200 from ryanpetrello/custom_venv_allow_bundled
allow the bundled `ansible` virtualenv to be selected on JT/Project
2018-06-18 15:50:16 -04:00
Ryan Petrello
eb9083c447 allow the bundled ansible virtualenv to be selected on JT/Proj
see: https://github.com/ansible/awx/issues/34
2018-06-18 14:33:09 -04:00
Christian Adams
7aa835abd4 Merge pull request #2210 from rooftopcellist/fix_refresh_token_fallout
fix oauth2 refresh tests for dat112
2018-06-18 14:31:35 -04:00
Shane McDonald
4f5a0d5a08 Merge pull request #1994 from taylorsmithgg/patch-1
Update INSTALL.md
2018-06-18 14:15:45 -04:00
Marliana Lara
4b59628075 Merge pull request #2175 from marshmalien/fix/1496-inconsistent-ui-character-escaping
Use textContent property instead of innerHTML within sanitize filter
2018-06-18 13:37:36 -04:00
adamscmRH
b498585c27 fix oauth2 refresh tests for dat112 2018-06-18 13:27:18 -04:00
Taylor Smith
e768e3f743 Update INSTALL.md
Fix link for kubernetes installer
2018-06-18 10:15:38 -07:00
Haokun Chen
af97338190 Merge pull request #2205 from Haokun-Chen/2181
keep expanded output window state after search
2018-06-18 12:42:41 -04:00
Haokun-Chen
11ffc8e28f keep expanded output window state after search 2018-06-18 12:39:42 -04:00
Haokun Chen
3df8a1df8c Merge pull request #2170 from Haokun-Chen/1890
disabled toggle for replace/revert button for auditor user
2018-06-18 09:47:02 -04:00
Ryan Petrello
a3a9b04416 Merge pull request #2201 from ryanpetrello/release_3.3.0
fix busted migrations
2018-06-15 20:48:43 -04:00
Ryan Petrello
427271f791 fix busted migrations 2018-06-15 20:38:57 -04:00
Chris Meyers
ee179c3693 Merge pull request #2174 from chrismeyersfsu/fix-reaper_hostname_map
fix celery task reaper
2018-06-15 17:06:04 -04:00
chris meyers
1359208a99 fix celery task reaper
* celery workers have internal queue names that are named after the
system hostname. This may differ from what tower knows the host by,
Instance.hostname
This adds a mapping so we can convert internal celery names to Instance
names for purposes of reaping jobs.
2018-06-15 16:56:53 -04:00
Marliana Lara
2a52dceb1a Update sanitize filter test 2018-06-15 13:49:35 -04:00
Ryan Petrello
6d17954571 Merge pull request #2185 from ryanpetrello/fix-2184
fix a bug in JobTemplate.extra_credentials summary_fields
2018-06-15 13:49:01 -04:00
Ryan Petrello
45fb262556 fix a bug in JobTemplate.extra_credentials summary_fields
see: https://github.com/ansible/tower/issues/2184
2018-06-15 12:19:40 -04:00
Marliana Lara
9a73d9c616 Use textContent property instead of innerHTML in sanitize filter 2018-06-15 10:43:19 -04:00
Christian Adams
1b5ea07745 Merge pull request #2171 from rooftopcellist/upgrade_oauth_112
Upgrade Django-oauth-toolkit to 1.1.2
2018-06-15 10:22:20 -04:00
Haokun Chen
9fef1e91aa Merge pull request #2173 from Haokun-Chen/2169
fix alignment of Job details status icon with text
2018-06-15 09:54:53 -04:00
Haokun Chen
5150933890 Merge pull request #2172 from Haokun-Chen/2155
fix Job output search tag styling
2018-06-15 09:54:39 -04:00
adamscmRH
c5f2b9a471 upgrade django-oauth-toolkit to 1.1.2 2018-06-15 09:50:34 -04:00
AlanCoding
16696a6fea get rid of duplicate counter variable 2018-06-15 09:29:13 -04:00
John Mitchell
26ffad11a5 Merge pull request #2148 from jlmitch5/fixNoLicenseLayoutStyling
fix no license layout styling
2018-06-14 17:32:24 -04:00
John Mitchell
4a26745daf fix no license layout styling 2018-06-14 17:31:53 -04:00
Marliana Lara
3da4aaa669 Merge pull request #2168 from marshmalien/fix/2144-job-output-line-number-styles
Fix inconsistent line number background color in job output panel
2018-06-14 16:29:08 -04:00
Haokun-Chen
bcdef5a58d fix alignment of Job details status icon with text 2018-06-14 15:52:01 -04:00
Alan Rominger
ad354238e9 Merge pull request #2165 from AlanCoding/bwrap_where_art_thou
log details for unhandled bwrap case
2018-06-14 15:18:09 -04:00
Christian Adams
5ee4333fb0 Merge pull request #2163 from rooftopcellist/related_token_endpoint
Add Related token link
2018-06-14 14:39:13 -04:00
Shane McDonald
8aa651faba Update translations 2018-06-14 14:37:18 -04:00
Haokun-Chen
df3aca7ff7 fix Job output search tag styling 2018-06-14 14:18:13 -04:00
adamscmRH
462e0be8d3 adds related tokens link to app endpoint 2018-06-14 14:12:18 -04:00
AlanCoding
adee02ab51 log details for unhandled bwrap case 2018-06-14 14:01:59 -04:00
Haokun-Chen
8df3c6e901 disabled toggle for replace/revert button for auditor user 2018-06-14 13:56:38 -04:00
Ryan Petrello
d0efa67845 Merge pull request #2161 from ryanpetrello/fix-2038
enforce `True` or `False` for boolean credential injectors
2018-06-14 13:29:58 -04:00
Ryan Petrello
0bcbccba33 enforce True or False for boolean credential injectors
see: https://github.com/ansible/tower/issues/2038
2018-06-14 12:34:54 -04:00
Marliana Lara
b9a4f50592 Fix inconsistent line number background color in job output panel 2018-06-14 11:50:32 -04:00
Christian Adams
485ce3f994 Merge pull request #2164 from rooftopcellist/update_pytest
update dev pytest
2018-06-14 11:45:57 -04:00
adamscmRH
b87d25300a update dev pytest 2018-06-14 10:11:11 -04:00
Yunfan Zhang
2a983e3dec Merge pull request #2152 from YunfanZhang42/host_filter_case_insensitive
Make search in Smart Filter case insensitive.
2018-06-13 16:21:00 -04:00
Ryan Petrello
07323640bc Merge pull request #2156 from ryanpetrello/fix-iso-dev
fix a few isolated dev issues
2018-06-13 15:36:59 -04:00
Ryan Petrello
84eacfc360 fix a few isolated dev issues
the main goal of this change is to make `make docker-isolated` work out
of the box

- specify the proper version for awx-expect --version
- update some deprecated playbook bits
- change the isolated container to privileged so bwrap will work
- fix awx-manage test_isolated_connection
- expedite the first isolated heartbeat so you don't have to wait 10m;
  this is accomplished by _not_ setting Instance.last_isolated_check to
  now() at insertion time (which causes the next check not to happen for
  10 minutes)
- fix a bug that caused isolated node execution to fail when bwrap was
  enabled

see: https://github.com/ansible/tower/issues/2150

This reverts commit 9863fe71dc.
2018-06-13 14:17:58 -04:00
Yunfan Zhang
f332c0b8c3 Make search in host_filter case insensitive. 2018-06-13 14:16:48 -04:00
Jared Tabor
e921f8e42b Merge pull request #2081 from jaredevantabor/i18n
UI i18n Audit
2018-06-13 14:13:12 -04:00
Marliana Lara
39d6b924e9 Merge pull request #2145 from marshmalien/fix/2143-remove-instance-modal-header-panel
Remove panel header directive from instance modals
2018-06-13 12:49:39 -04:00
Jared Tabor
1a8b5426f8 UI i18n Audit: Translates strings throughout the UI
Translations for dashboard lists -> tooltips

Changing "Portal Mode" to "My View," in part due to translations.

Adding "Job Template" to strings to be translated from OPTIONS on API

Marking translations for JT that has a project that needs to be re-synced.

Marking translations for survey maker

Marking translations for lookup modal directive

Marking translations for empty, "Go To Notifications To Add Template"

Adds strings service for scheduler, and marking strings for translation

Translations for teams linkout from orgs, as well as cred types

Translations for instance groups

Marks translations for the Network UI

Translates strings on the workflow editor

Translations for workflow results

Translations for host event modal and some missing translations on

the stdout page.
2018-06-13 12:49:22 -04:00
Marliana Lara
13a5554b4e Merge pull request #2142 from marshmalien/fix/863-input-lookup-component-styles
Fix input lookup component styles
2018-06-13 12:45:44 -04:00
Michael Abashian
7912f56f02 Merge pull request #2138 from mabashian/2126-search-multiple-requests
Fixed issue where search actions were sending two requests
2018-06-13 10:12:37 -04:00
Marliana Lara
acb1336721 Fix input lookup button height 2018-06-13 09:39:45 -04:00
mabashian
ab53fd0874 Fix smart search directive unit tests 2018-06-12 16:24:32 -04:00
Ryan Petrello
a92c2a2e17 Merge pull request #2141 from ryanpetrello/fix-1979
properly detect settings.AUTHENTICATION_BACKEND changes for SSO logins
2018-06-12 15:43:27 -04:00
Marliana Lara
625ae5d1bf Remove panel header directive from instance modals 2018-06-12 15:43:06 -04:00
Ryan Petrello
c3bda8e259 properly detect settings.AUTHENTICATION_BACKEND changes for SSO logins
see: https://github.com/ansible/tower/issues/1979
2018-06-12 15:24:09 -04:00
kialam
404fdb474c Merge pull request #2130 from kialam/fix/2106-job-view-pagination
Broadcast `updateDataset` for job template controller
2018-06-12 15:06:06 -04:00
mabashian
36732d8113 Fixed issue where search actions were sending two requests. Cleaned up and organized smart search controller 2018-06-12 14:28:56 -04:00
Jake McDermott
1f9bd96700 Merge pull request #2132 from jakemcdermott/job-results/basic-output-expand-collapse
add minimal output line collapse / expand
2018-06-12 14:26:38 -04:00
Ryan Petrello
ee6902bbbb Merge pull request #2140 from ryanpetrello/release_3.3.0
make sdb-listen work for docker-compose-cluster
2018-06-12 14:20:42 -04:00
Jake McDermott
5cf2204f0e Merge pull request #2131 from jakemcdermott/job-results/eof-counter
replace final_line_count with final_counter for EOF websocket
2018-06-12 14:11:33 -04:00
Haokun Chen
dcf8538731 Merge pull request #2135 from Haokun-Chen/1848
remove .at-TabGroup + .at-Panel-body margin setting, affecting credentials, applications, instance groups
2018-06-12 13:59:13 -04:00
Ryan Petrello
1733a20094 make sdb-listen work for docker-compose-cluster
use a different port range for each container, because docker can't map
them all to the same port range
2018-06-12 13:57:28 -04:00
Haokun Chen
0ffa28dd98 Merge pull request #2139 from Haokun-Chen/2134
fix to enable to change default value of TCP CONNECTION TIMEOUT
2018-06-12 13:50:41 -04:00
Haokun Chen
2954c29e7c Merge pull request #2137 from Haokun-Chen/1967
fix schedules list of inventory sources gives global schedules list
2018-06-12 13:50:31 -04:00
Haokun Chen
387682cee8 Merge pull request #2125 from Haokun-Chen/1837
fix error when deleting the only item on page 2 for list page
2018-06-12 13:50:10 -04:00
Michael Abashian
39dee3d5c2 Merge pull request #2120 from mabashian/1882-prompt-cred-filter
Fix issue searching creds list on prompt
2018-06-12 13:43:06 -04:00
Haokun-Chen
f200a39b4b fix to enable to change default value of TCP CONNECTION TIMEOUT for logging 2018-06-12 12:54:35 -04:00
Michael Abashian
c2afb240f3 Merge pull request #2129 from mabashian/2091-inv-src-cred
Fixed clear-all on inventory source credential lookup
2018-06-12 12:11:45 -04:00
Haokun-Chen
913da53ce6 fix schedules list of inventory sources gives global schedules list 2018-06-12 11:46:27 -04:00
Haokun Chen
03099c91f8 Merge pull request #2128 from Haokun-Chen/host-completed-jobs-tower
add completed job section on host page and related host page under inventory
2018-06-12 11:41:31 -04:00
Chris Meyers
bc9a934cfe Merge pull request #2110 from chrismeyersfsu/improvement-remove_instance_group_queues2
remove rampart group queue subscription
2018-06-12 11:36:04 -04:00
Haokun-Chen
9ae69a4651 remove .at-TabGroup + .at-Panel-body margin setting 2018-06-12 10:02:08 -04:00
Alan Rominger
ce117285e1 Merge pull request #2079 from AlanCoding/creds_no_op
Allow no-op case when modifying deprecated credentials
2018-06-12 09:08:35 -04:00
Ryan Petrello
4df4d7366e Merge pull request #1983 from lshchur/patch-1
Update INSTALL.md
2018-06-12 08:25:09 -04:00
Ryan Petrello
1488c737a1 Merge pull request #2123 from ryanpetrello/fix-2118
more gracefully handle fact cache failures for hosts that contain /
2018-06-12 07:59:23 -04:00
Alan Rominger
3251ed2f6c Merge pull request #1980 from AlanCoding/settings_exc_info
Handle broken transactions in DB settings getattr
2018-06-12 07:49:05 -04:00
Alan Rominger
a8c31a51e9 Merge pull request #2004 from AlanCoding/checkin_access
Allow managing credentials with external user management
2018-06-12 07:47:16 -04:00
Alan Rominger
951142d510 Merge pull request #1950 from AlanCoding/more_roles
Cover testing of new 3.3 org roles for user security fix
2018-06-12 07:45:36 -04:00
Lyosha Shchur
99e6c21cbd Update INSTALL.md 2018-06-12 11:57:24 +03:00
Jake McDermott
eb39fcfeaf add basic output expand-collapse 2018-06-11 21:04:40 -04:00
Jake McDermott
992bc1a5ec use final_counter from EOF websocket in UI 2018-06-11 18:36:56 -04:00
Jake McDermott
60a38a196a add final_counter to EOF websocket 2018-06-11 18:36:28 -04:00
Jake McDermott
ce411a21c6 Merge pull request #2117 from jakemcdermott/job-results/window
apply a windowing function to buffered event stream
2018-06-11 18:31:19 -04:00
Jake McDermott
9137b4acef Merge pull request #2114 from jakemcdermott/job-results/host-counts
reduce the minimum number of http requests required to load job details from 7 to 3
2018-06-11 18:19:14 -04:00
kialam
9ef301f25a Broadcast updateDataset for job template controller
So it knows to call the `refreshJobs ()` method and update the model
accordingly.
2018-06-11 17:43:13 -04:00
mabashian
9d8db1d75b Changed let to const 2018-06-11 17:01:11 -04:00
mabashian
a3368a8c96 Fixed clear-all on inventory source credential lookup 2018-06-11 16:46:04 -04:00
Haokun-Chen
069c5dacaa add completed job section on host page
host completed jobs added on both host page and related section under inventory edit
2018-06-11 16:37:16 -04:00
Haokun-Chen
49f0a63150 fix error when deleting the only item on page 2 for list page of organization, scheduler,
instance_groups, inventories, projects, jobs, template, credentials, inventory-scripts,
teams, users, credential-types and notifications
2018-06-11 15:56:44 -04:00
Chris Meyers
769e714f71 Merge pull request #2122 from chrismeyersfsu/fix-iso_celery_usage
iso nodes do not have celery. that is ok
2018-06-11 15:47:16 -04:00
chris meyers
987063e7fd iso nodes do not have celery. that is ok 2018-06-11 15:38:41 -04:00
Ryan Petrello
d0d7bf5c21 more gracefully handle fact cache failures for hosts that contain /
see: https://github.com/ansible/awx/issues/1977
related: https://github.com/ansible/ansible/issues/41413
2018-06-11 15:38:09 -04:00
Ryan Petrello
ab4271b36d Merge pull request #2124 from ryanpetrello/for-shaaaaaaame
fix failing flake8
2018-06-11 15:38:03 -04:00
Ryan Petrello
62c5784833 fix failing flake8 2018-06-11 15:21:47 -04:00
Yunfan Zhang
ee00c628af Merge pull request #2116 from YunfanZhang42/release_3.3.0
Disallow HTTP update methods in job_detail API endpoint.
2018-06-11 15:10:11 -04:00
Yunfan Zhang
1bc1a6f63f Disallow HTTP update methods in job_detail API endpoint. 2018-06-11 14:47:43 -04:00
Ryan Petrello
fa9b7106ff Merge pull request #2102 from ryanpetrello/fix-2085
WIP: add a background process to spot celery hangs and reload the worker pool
2018-06-11 12:44:18 -04:00
Ryan Petrello
88e3c46810 add a background process to spot celery hangs and reload the worker pool
see: https://github.com/ansible/tower/issues/2085
2018-06-11 12:22:21 -04:00
mabashian
6794afb284 Maintain reference to querySet rather than cloning so that changes made after initialization will propagate 2018-06-11 11:56:33 -04:00
John Mitchell
fbafb9a5bf Merge pull request #2052 from jlmitch5/fixInstancesList
instance list fixes
2018-06-11 10:05:21 -04:00
John Mitchell
709cf70138 use dot notation for state params 2018-06-11 09:50:12 -04:00
Haokun Chen
8e944bc097 Merge pull request #2105 from Haokun-Chen/1904
Hide run selection when current tab is different from selected
2018-06-11 09:45:03 -04:00
Jake McDermott
6a59356200 apply a windowing function to buffered event stream 2018-06-10 22:25:05 -04:00
Jake McDermott
5e9da2d772 request job details and initial events dataset concurrently 2018-06-08 22:28:00 -04:00
Jake McDermott
4c93c68a29 remove single-event api queries and extra labels request 2018-06-08 22:27:52 -04:00
Jake McDermott
92ae09e163 add host_status_counts and playbook_counts to project update details 2018-06-08 22:27:41 -04:00
Yunfan Zhang
18384bc509 Merge pull request #2112 from YunfanZhang42/release_3.3.0
Fix exception format in project_update_stdout.
2018-06-08 16:22:02 -04:00
Marliana Lara
3ff3e8d298 Merge pull request #2109 from marshmalien/fix/2068-pagination-error
Add value to $scope.querySet when in .users.add states
2018-06-08 16:19:36 -04:00
Michael Abashian
8b543ea0a7 Merge pull request #2082 from mabashian/2075-jt-edit-put
Changed jt edit api call from put to patch
2018-06-08 15:57:34 -04:00
Yunfan Zhang
1a3ab7d487 Fix exception format in project_update_stdout.
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2018-06-08 15:42:00 -04:00
chris meyers
fb11967114 remove isolated instance group queue listening 2018-06-08 13:46:58 -04:00
chris meyers
1cea20092c remove rampart group queue subscription
* We now target Instances in the task manager when transitioning jobs
from pending to waiting; whereas before we submitted jobs to Instance
Groups to be picked up by Instance's in those Instance Groups.
Subscribing Instances to their Instance Groups is no longer needed. This
change removes the Instance Group queue subscription.
2018-06-08 11:20:54 -04:00
Marliana Lara
750f70c21f Add value to $scope.querySet when in .users.add states 2018-06-08 10:59:27 -04:00
Haokun Chen
d44215f291 Merge pull request #2101 from Haokun-Chen/1850
validate input when toggle replace/revert on password
2018-06-08 10:57:01 -04:00
Haokun-Chen
4bafe02a94 Hide run selection when current tab is different from selected 2018-06-08 10:55:07 -04:00
Yunfan Zhang
1255cfc2f0 Merge pull request #2104 from YunfanZhang42/release_3.3.0
Fix job id incorrectly cast to string in ActiveJobConflict.
2018-06-08 09:53:06 -04:00
Yunfan Zhang
0de369b42f Fix job id incorrectly cast to string in ActiveJobConflict. 2018-06-08 09:31:38 -04:00
Alan Rominger
bcd9c5dada Merge pull request #2098 from AlanCoding/u_no_copy
Prohibit users without read_role from viewing copy endpoint
2018-06-08 08:54:32 -04:00
Jake McDermott
f78f179789 Merge pull request #2057 from jakemcdermott/job-results/slide
fix memory leak in output render service, rewrite output data storage
2018-06-08 03:10:25 -04:00
Jake McDermott
09aa75e7c4 simplify and add docstrings 2018-06-08 02:56:32 -04:00
Jake McDermott
cbae7efdd5 use a sliding window over counter intervals 2018-06-07 22:28:06 -04:00
Jake McDermott
1c414789fb fix memory leak in output render service 2018-06-07 22:27:57 -04:00
Alan Rominger
df1fe19b21 Merge pull request #2089 from AlanCoding/friends_workflow_job
Prohibit relaunching workflow jobs from other users
2018-06-07 20:07:58 -04:00
Christian Adams
4f3c45ac59 Merge pull request #2087 from rooftopcellist/add_DDT_to_docs
Info on setting up DDT
2018-06-07 18:26:11 -04:00
Haokun-Chen
ab42c710eb validate form when toggle replace/revert on password/secret 2018-06-07 15:58:31 -04:00
AlanCoding
ed762fd4b6 prohibit users without read_role from viewing copy endpoint 2018-06-07 15:14:49 -04:00
Alan Rominger
d969e37f94 Merge pull request #2095 from AlanCoding/memories_of_labels
Exclude m2m copies from activity stream
2018-06-07 15:09:27 -04:00
Haokun Chen
62a5104302 Merge pull request #2093 from Haokun-Chen/2066
fixed 404 error when delete smart inventory while editing
2018-06-07 14:56:43 -04:00
kialam
4391f14da9 Merge pull request #2097 from kialam/fix/2028-session-timeout
Fix placement of network ui `select2` dropdowns
2018-06-07 14:47:59 -04:00
Jared Tabor
86f840f220 Merge pull request #2083 from jaredevantabor/awx-net-zoom-default
Sets default zoom to 100% on network UI
2018-06-07 11:42:36 -07:00
Haokun Chen
fa9c6967fd Merge pull request #2086 from Haokun-Chen/2033
Reset and clear export dropdown selection after user takes action for Network UI
2018-06-07 14:36:36 -04:00
kialam
1b45e8b825 Merge pull request #2034 from kialam/fix/1884-scm-creds-filter
Fix Project SCM cred lookup
2018-06-07 14:15:20 -04:00
Michael Abashian
2e82347769 Merge pull request #2011 from mabashian/1934-schedule-wf-pass-prompt
Add read-only view of prompts.  Prevent creds with passwords on jt schedules/wfjt nodes
2018-06-07 14:14:42 -04:00
kialam
7ecef3ee5e Fix placement of network ui select2 dropdowns
Render them in the correct parent container in the DOM.
2018-06-07 13:50:04 -04:00
mabashian
91c46731d1 Removed unused Alert 2018-06-07 13:42:33 -04:00
AlanCoding
8509a43b95 exclude m2m copies from activity stream 2018-06-07 13:34:58 -04:00
mabashian
1a4e7c8572 Rolled credential warning string back to include remove or replace 2018-06-07 13:16:42 -04:00
mabashian
68ac23dd46 Fixed various bugs with preventing prompting for credential passwords on schedules and workflow nodes 2018-06-07 13:16:42 -04:00
mabashian
09ee140fb4 Prevent scheduling JT runs where credentials with passwords are required. Added read-only view of schedules when user does not have edit permissions. 2018-06-07 13:16:42 -04:00
Haokun-Chen
c2001d0442 fixed error when delete smart inventory while editing 2018-06-07 13:08:45 -04:00
AlanCoding
b0b7f7a295 prohibit relaunching workflow jobs from other users 2018-06-07 13:01:15 -04:00
Jake McDermott
b1f36572c6 Merge pull request #2065 from jakemcdermott/2058
add host_status, play, and task counts to job details
2018-06-07 12:59:11 -04:00
Yunfan Zhang
6f09c1b994 Merge pull request #2090 from YunfanZhang42/fix_test_expect
Fix Jenkins test_expect.
2018-06-07 12:18:19 -04:00
Yunfan Zhang
b68ded7c15 Fix tests. 2018-06-07 12:04:20 -04:00
Ryan Petrello
18e371c0cf Merge pull request #2088 from ryanpetrello/fix-2085
default instance capacity to zero
2018-06-07 12:00:07 -04:00
adamscmRH
68f7f25788 info to set ip DDT 2018-06-07 11:46:10 -04:00
kialam
6fee8c699d Fix SCM credential list for Projects add and edit views 2018-06-07 11:44:08 -04:00
kialam
b344eb9af0 Fix failing test by only preserving credential_type
- Reset `defaults` object’s own `credential_type` value to that of
`queryset`’s.
2018-06-07 11:44:07 -04:00
kialam
99ea28c3fd Check defaults against query set to make sure credential_type does not get overwritten
- We want to preserve the existing `credential_type` param that already
exists in `queryset` and not have `defaults
` overwrite it. We first loop through the `defaults` object keys and
check it against the the keys of `queryset` and if the keys match, then
set the value to `queryset[key]`.
2018-06-07 11:44:07 -04:00
Ryan Petrello
195aff37ad default instance capacity to zero at registration/insertion time
if the first health check fails due to AMQP or celery issues, the
capacity will stay at the default of 100 (which is confusing)

see: https://github.com/ansible/tower/issues/2085
2018-06-07 11:42:31 -04:00
Haokun-Chen
9ff995f6f9 reset Export dropdown after user takes action in Network UI 2018-06-07 10:43:44 -04:00
Marliana Lara
85aeb799dc Merge pull request #2078 from marshmalien/fix/869-instance-groups-jobs-link
Add "running jobs" and "total jobs" links to instances and instance groups
2018-06-07 09:45:29 -04:00
Chris Meyers
dfe2ce4b43 Merge pull request #2080 from chrismeyersfsu/fix-controller_node_adhoc
add controller_node to ad hoc job
2018-06-07 09:02:29 -04:00
AlanCoding
dde706b61f allow no-op case when modifying deprecated credentials 2018-06-07 07:16:07 -04:00
Jared Tabor
4fa1518bcc Sets default zoom to 100% on network UI
instead of 120%
2018-06-06 18:24:24 -07:00
mabashian
a108238e0a Changed jt edit api call from put to patch so that we don't clear the credentials every time a change is made. Removed unneeded code. 2018-06-06 18:32:09 -04:00
Jake McDermott
f8f59c8c8c add host_status, play, and task counts to job details 2018-06-06 18:02:31 -04:00
chris meyers
0702692ca9 add controller_node to adhoc command job 2018-06-06 16:28:28 -04:00
Chris Meyers
429c1bf2b4 Merge pull request #2070 from chrismeyersfsu/fix-controller_node_not_needed_on_some_jobs
remove controller_node field from jobs that don't apply
2018-06-06 16:19:00 -04:00
kialam
cc1cd38ddd Merge pull request #2009 from kialam/fix/1063-multiple-creds-tags
View More Component with Credential Tags in Template List View
2018-06-06 16:06:13 -04:00
Jake McDermott
3f8e6e3416 Merge pull request #2074 from Haokun-Chen/1881
fixed job details search bar when empty input or duplicate input
2018-06-06 15:20:55 -04:00
Haokun Chen
60d535fa6b Merge pull request #2069 from Haokun-Chen/2046
remove HIDE CURSOR and HIDE BUTTONS from the key shortcuts in Network UI
2018-06-06 15:17:14 -04:00
chris meyers
74155dfc9d add system jobs to controller_node exceptions 2018-06-06 15:04:41 -04:00
Ryan Petrello
0fd89579e9 Merge pull request #2073 from ryanpetrello/more-i18n
sprinkle more i18n for certain field labels
2018-06-06 14:57:58 -04:00
Marliana Lara
c8ab4d4623 Add link to running and total jobs for instance groups and instances 2018-06-06 14:52:36 -04:00
Marliana Lara
31da1e6ef7 Audit string translations in instance groups templates 2018-06-06 14:48:23 -04:00
Haokun-Chen
6b1129ce1d fixed job details search bar when empty input or duplicate input 2018-06-06 14:29:32 -04:00
Ryan Petrello
d0249d3ae6 sprinkle more i18n for certain field labels
see: https://github.com/ansible/tower/issues/2063
2018-06-06 14:06:34 -04:00
Marliana Lara
decfc8fa8c Update limit-panels directive to query for the new Panels component 2018-06-06 13:36:42 -04:00
Chris Meyers
431ee9bbbf Merge pull request #2049 from chrismeyersfsu/improvement-jobs_total3
add total job count for instance + instance group
2018-06-06 12:56:03 -04:00
Haokun-Chen
48c4266cb3 Remove HIDE CURSOR and HIDE BUTTONS from the key 2018-06-06 11:51:02 -04:00
chris meyers
8ee4b9680c remove controller_node field from jobs that don't apply 2018-06-06 11:26:15 -04:00
kialam
d6ca943d23 Remove TagService 2018-06-06 11:17:09 -04:00
kialam
b16854898b Refactor Toggle Tag Component
This refactor includes the following things:
- Offload credential tag formatting to the parent controller, e.g.
`TemplateListController`.
- Initialize the `Toggle Tag` component in the parent view instead of
the List Item component view.
- Rename some variables for better comprehension.
2018-06-06 11:17:09 -04:00
kialam
6ca4c7de9d Offload tag formatting logic to templateList controller 2018-06-06 11:17:09 -04:00
kialam
b8404abb26 Rename credential tooltip component string
- For better legibility
2018-06-06 11:17:09 -04:00
kialam
2ee361db5d Rename toggle component to toggle-tag for better clarity. 2018-06-06 11:17:09 -04:00
kialam
22ddf7883a Adjust template to account for more than one tag type. 2018-06-06 11:17:09 -04:00
kialam
cc91729f72 Account for default tags as well 2018-06-06 11:17:09 -04:00
kialam
8373d89c92 Duplicate ns.tooltips CREDENTIALS string to ComponentStrings to avoid using OutputStrings 2018-06-06 11:17:08 -04:00
kialam
e66b00eb64 Translate VIEW MORE and VIEW LESS into component strings 2018-06-06 11:17:08 -04:00
kialam
265554accb Add link to credentials tag in template 2018-06-06 11:17:08 -04:00
kialam
f49b61ecfa Create TagService
This new Service can be used anywhere that needs a credentials tag and
can be expanded upon to include other helpful tag methods as needed.
2018-06-06 11:17:08 -04:00
kialam
62f4beddb2 Reduce height of tags in job list page 2018-06-06 11:17:08 -04:00
kialam
63f3a38ceb Add more functionality to Toggle Tag Component
- Remove existing `switch` logic in favor of Toggle Tag Component, now
with comments!

- Slight adjustment to icons to center vertically; account for
non-standard credential `kind` attributes so icons display as they
should.

- Style the `View More/Less` button accordingly

- Update Toggle Tag directive template to include icons
2018-06-06 11:17:08 -04:00
kialam
de6167a52c Create basic toggle tag component 2018-06-06 11:17:08 -04:00
Alan Rominger
4f85de5fcf Merge pull request #2056 from AlanCoding/alan33chachachachanges
Update CHANGELOG.md for many 3.3 items
2018-06-06 10:57:55 -04:00
AlanCoding
a9391584d7 Update CHANGELOG.md for 3.3 items
Added API items in headline feature list
Added items found by scrubbing the merged PR queue

Add 3.3 section header
move the 3.3 section to the top of file,
before the existing 3.2 section
2018-06-06 10:37:49 -04:00
Will Thames
b899096f99 Use use-context to set Kubernetes context
`kubectl config use-context` is the command to set the current context,
not `set-context`

Signed-off-by: Will Thames <will@thames.id.au>
2018-06-06 13:02:26 +10:00
chris meyers
b876c2af62 add total job count for instance + instance group 2018-06-05 12:05:22 -04:00
Dmytro Makovey
adaa164a19 allow nginx config extension 2018-06-05 08:16:08 -07:00
Matthew Jones
ba997f924e Merge pull request #2055 from matburt/remove_logstash
Remove the logstash container from the base dev docker compose
2018-06-05 09:55:48 -04:00
Matthew Jones
22dd6ddfea Remove the logstash container from the base dev docker compose
Now with less java running while you code!
2018-06-05 09:42:38 -04:00
Yunfan Zhang
c055666a9f Merge pull request #2035 from YunfanZhang42/release_3.3.0
Added awx-manage command for expiring sessions.
2018-06-05 09:36:37 -04:00
Wayne Witzel III
b0d1ba4861 Merge pull request #2054 from wwitzel3/release_3.3.0
Only duplicate nodes if original WFJT is not available
2018-06-05 09:22:41 -04:00
Yunfan Zhang
d8cb47bf82 Added awx-manage command for expiring sessions. 2018-06-05 09:18:55 -04:00
Wayne Witzel III
7affa15efe Only duplicate nodes if original WFJT is not available 2018-06-05 13:08:06 +00:00
Alan Rominger
88051cc9fc Merge pull request #2045 from AlanCoding/can_see_all_teams
Show org-admins all teams if ALL USERS setting enabled
2018-06-05 08:39:59 -04:00
AlanCoding
74c6c350a1 show org-admins all teams if ALL USERS setting enabled 2018-06-05 07:55:13 -04:00
Alan Rominger
d250b89f47 Merge pull request #2041 from AlanCoding/lazy_passwords
No launch config errors with replacable ASK credential
2018-06-05 07:49:43 -04:00
John Mitchell
e480639699 Merge pull request #2044 from jlmitch5/fixInvSourceNotifSearch
fix notifications search on inventory source form tab
2018-06-04 17:55:54 -04:00
John Mitchell
8bd801fd07 make sure instances list is always ordered 2018-06-04 17:53:08 -04:00
John Mitchell
5c874c6b3d fix wrapping issue for instances list 2018-06-04 17:36:30 -04:00
Yunfan Zhang
4fe7c9ea42 Merge pull request #1953 from YunfanZhang42/devel
Let create_oauth2_token print errors from std_err.
2018-06-04 16:42:44 -04:00
Ryan Petrello
bfb8e97a9d Merge pull request #2051 from ryanpetrello/space-for
fix a setting help text typo
2018-06-04 16:31:13 -04:00
Ryan Petrello
97fc745329 fix a setting help text typo 2018-06-04 16:28:26 -04:00
Yunfan Zhang
64b612921d Merge branch 'devel' into devel 2018-06-04 15:54:23 -04:00
Yunfan Zhang
9945a3bc64 Added an awx-manage command for generating OAuth2 token. 2018-06-04 15:49:04 -04:00
Ryan Petrello
5ceeb020cf Merge pull request #2048 from ryanpetrello/how-do-you-say-violet-in-french
fix an i18n-related bug that affects non-English hipchat users
2018-06-04 15:26:15 -04:00
Ryan Petrello
581756527e fix an i18n-related bug that affects non-English hipchat users
see: https://github.com/ansible/tower/issues/951
2018-06-04 15:02:27 -04:00
Chris Meyers
899084fa75 Merge pull request #1922 from chrismeyersfsu/improvement-accurate_capacity
per-instance accurate capacity consumption
2018-06-04 14:36:58 -04:00
John Mitchell
f9ed4296bb fix notifications search on inventory source form tab 2018-06-04 13:51:49 -04:00
John Mitchell
d2858e2d0e Merge pull request #2016 from jlmitch5/appTabOrgAdmin
make app tab visiable to org admins
2018-06-04 12:04:16 -04:00
AlanCoding
648ec3141b no launch config errors with replacable ASK credential 2018-06-04 11:19:22 -04:00
Christian Adams
17bc2a42ab Merge pull request #2040 from rooftopcellist/oauth2_doc_clean
updates oauth docs with quickstart
2018-06-04 11:14:18 -04:00
adamscmRH
d885d0fe22 updates oauth docs with quickstart 2018-06-04 10:57:18 -04:00
chris meyers
7b0b4f562d get isolated execution at the point its needed
* Instead of passing around the isolated host that the task is to
execute on; grab the isolated execution host from the instance further
down the call stack. Without passing the isolated hostname around.
2018-06-04 10:06:59 -04:00
chris meyers
b94cf379f6 do not choose offline instances 2018-06-04 10:06:59 -04:00
chris meyers
9d732cdbdf update unit and functional tests 2018-06-04 10:06:59 -04:00
chris meyers
9863fe71dc do not require privileged iso container
* The init call w/ privileged was causing my laptop to wig out. This
changeset still functions w/ out requiring privileged access.
2018-06-04 10:06:59 -04:00
chris meyers
8d352a4edf conform isolated system to new early node choice
* Randomly chose an instance in the controller instance group for which
to control the isolated node run. Note the chosen instance via a job
controller_node field
2018-06-04 10:06:59 -04:00
chris meyers
e720fe5dd0 decide the node a job will run early
* Deciding the Instance that a Job runs on at celery task run-time makes
it hard to evenly distribute tasks among Instnaces. Instead, the task
manager will look at the world of running jobs and choose an instance
node to run on; applying a deterministic job distribution algo.
2018-06-04 10:06:59 -04:00
Alan Rominger
f394c02afd Merge pull request #2013 from AlanCoding/big_trouble_in_0013
Fix tracebacks when running migrations
2018-06-04 09:51:44 -04:00
AlanCoding
239c60a2bd fix tracebacks when running migrations 2018-06-04 07:35:35 -04:00
Bill Nottingham
7ef32a8827 Merge pull request #2037 from wenottingham/tower-inv-fix
Fix syntax error
2018-06-02 12:07:00 -04:00
Bill Nottingham
427ea6752e Fix syntax error 2018-06-01 22:25:46 -04:00
Christian Adams
69a507ae19 Merge pull request #2008 from rooftopcellist/default_scope
Default scope
2018-06-01 13:43:11 -04:00
adamscmRH
97c5ff0b33 make scope write by default 2018-06-01 13:24:32 -04:00
Jake McDermott
b7bb80c79f Merge pull request #2020 from sangongs/fix_failed_badge_color
Fix the color of the tips badge for failed hosts in the host status bar
2018-06-01 11:38:10 -04:00
Guoqiang Zhang
7aa2b7f6a7 Fix the color of the tips badge for failed hosts in the host status bar 2018-06-01 10:25:41 -04:00
Ryan Petrello
330691f4a2 Merge pull request #2019 from ryanpetrello/back-to-the-future
fix a failing timezone test
2018-06-01 10:14:22 -04:00
Marliana Lara
7a997f0615 Merge pull request #2015 from marshmalien/fix/1970-1885-scheduler-bugs
Fix invalid schedule warning and disable save button
2018-06-01 10:04:29 -04:00
Ryan Petrello
6183e5166d fix a failing timezone test 2018-06-01 09:51:42 -04:00
Alan Rominger
a4efd0a5d2 Merge pull request #2005 from AlanCoding/dep_oauth
Make our oauth model creation a dependency of other app
2018-06-01 09:35:07 -04:00
Ryan Petrello
8c5f3404bf Merge pull request #2006 from ryanpetrello/port-jinja2-always
allow Jinja2 in ansible -a when ALLOW_JINJA_IN_EXTRA_VARS is 'always'
2018-06-01 07:32:48 -04:00
Jared Tabor
e2d3a7be26 Merge pull request #1999 from jaredevantabor/fix-1927
Fixes URL used for root groups for pagination purposes
2018-05-31 14:14:49 -07:00
Jared Tabor
7549d85619 Merge pull request #2001 from jaredevantabor/fix-741
Marking a Configure Tower string for translation
2018-05-31 14:06:06 -07:00
John Mitchell
a20eaae7bc make app tab visiable to org admins 2018-05-31 17:02:51 -04:00
Haokun Chen
b944f2d681 Merge pull request #1997 from Haokun-Chen/fix-dashboard-icon
fixed job list action icon on dashboard page for system auditor user
2018-05-31 16:36:16 -04:00
Marliana Lara
2bdb1fc577 Fix scheduler form warning bug and disable save when date options are invalid 2018-05-31 16:31:19 -04:00
Haokun Chen
be4e5c8f06 fixed dashboard icon under job template section for system auditor user
dashboard icon fixed
2018-05-31 16:18:55 -04:00
Yunfan Zhang
a45ccfdc79 Merge pull request #1942 from YunfanZhang42/devel
Added an awx-manage command for generating OAuth2 token.
2018-05-31 16:13:58 -04:00
Jared Tabor
782b9b8bec Fixes URL used for root groups for pagination purposes.
Changes from 'inventories/:inventory_id/root_groups' to
'inventories/:inventory_id/groups'. Includes changing the function
name for root groups based on PR feedback.
2018-05-31 13:06:15 -07:00
Jared Tabor
be864012b7 Merge pull request #1957 from jaredevantabor/fix-1824-2
Makes rows inactive on permissions list if assigning user doesn't have
2018-05-31 12:43:52 -07:00
Alan Rominger
b3b38777c1 Merge pull request #1994 from AlanCoding/network_client
Remove network_ui Client model, replace with simple uuid
2018-05-31 15:23:00 -04:00
Marliana Lara
c0b243df7e Merge pull request #1988 from marshmalien/fix/1883-vault-password-toggle
Fix vault prompt password show/hide toggle
2018-05-31 14:57:58 -04:00
Marliana Lara
47406b0832 Merge pull request #1984 from marshmalien/fix/1847-dashboard-graph-dropdown
Fix dashboard graph VIEW dropdown filter
2018-05-31 14:57:38 -04:00
Yunfan Zhang
2c4f7911a6 Added an awx-manage command for generating OAuth2 token. 2018-05-31 14:27:21 -04:00
Alan Rominger
dd944319f1 Merge pull request #1989 from AlanCoding/delete_networks
Delete network canvas objects in delete inventory task
2018-05-31 13:57:13 -04:00
Jared Tabor
edbb03cdc0 Merge pull request #1998 from jaredevantabor/fix-1982
Prevents Network UI from scrolling and showing Tower
2018-05-31 09:37:04 -07:00
Jared Tabor
01611540f0 Marking a Configure Tower string for translation
Once this gets added to the UI's es.po file, this should show up translated,
along with it's tooltip.
2018-05-31 09:36:23 -07:00
Ryan Petrello
99d2f3ea34 allow Jinja2 in ansible -a when ALLOW_JINJA_IN_EXTRA_VARS is 'always' 2018-05-31 11:49:50 -04:00
Shane McDonald
246e63bdb6 Update translation templates 2018-05-31 10:53:57 -04:00
AlanCoding
b7a5c10ce4 make our oauth model creation a dependency of other app 2018-05-31 10:19:43 -04:00
Bill Nottingham
01dcb3f733 Merge pull request #1938 from tux-00/patch-1
Fix bad path in installation doc
2018-05-31 09:56:43 -04:00
Ryan Petrello
68bfb08b03 Merge pull request #1995 from ryanpetrello/test-tower-inv-source
add a test for tower inventory syncs
2018-05-31 09:36:10 -04:00
John Mitchell
24c6f14f44 Merge pull request #1977 from jlmitch5/fixTokenScopeAddInUI
Fix token scope add in ui
2018-05-31 09:35:15 -04:00
AlanCoding
f692f0c70a test creating credential for self & org_member 2018-05-31 08:58:38 -04:00
AlanCoding
253606c8bf allow managing credentials with external user management 2018-05-31 08:40:32 -04:00
Raphaël B
f485185562 Fix bad path 2018-05-31 11:32:55 +02:00
Jared Tabor
70897d3503 Prevents Network UI from scrolling and showing Tower
I also fixed an issue where the mouse-wheel events were not zooming
the network UI in firefox.
2018-05-30 14:19:07 -07:00
Alan Rominger
302505905e Merge pull request #1992 from AlanCoding/copy_v2
Make copy endpoints specific to v2
2018-05-30 15:51:44 -04:00
Alan Rominger
7aa1c64fac Merge pull request #1996 from AlanCoding/null_handler_again
Interpret null protocol as logging.NullHandler
2018-05-30 15:49:15 -04:00
AlanCoding
015b19d8c3 interpret null protocol as logging.NullHandler 2018-05-30 15:21:51 -04:00
Ryan Petrello
e2a05b14a5 Merge pull request #1993 from ryanpetrello/tower-inv-errors
clean up Tower inventory error handling
2018-05-30 15:15:07 -04:00
Ryan Petrello
9bc871db47 add a test for tower inventory syncs 2018-05-30 15:13:49 -04:00
AlanCoding
c690da4058 make copy endpoints specific to v2 2018-05-30 14:01:58 -04:00
AlanCoding
e889c976eb Remove network_ui Client model 2018-05-30 13:56:19 -04:00
Ryan Petrello
354b076956 clean up Tower inventory error handling
related: https://github.com/ansible/tower/pull/1697
related: https://github.com/ansible/tower-qa/pull/1746
2018-05-30 13:34:14 -04:00
Marliana Lara
79202708af Fix vault credential password prompt toggle show and hide 2018-05-30 12:42:27 -04:00
AlanCoding
124fcd6f62 delete network canvas objects in delete inventory task 2018-05-30 12:03:20 -04:00
Bill Nottingham
56d6ba2eda Merge pull request #1985 from wenottingham/netpuffaddr
ansible venv: re-add netaddr Python package
2018-05-30 10:57:04 -04:00
Pierre-Louis Bonicoli
16cde26468 ansible venv: re-add netaddr Python package
Closes #1763
2018-05-30 10:32:54 -04:00
Bill Nottingham
c3ab51e8fe Merge pull request #1924 from pilou-/ansible_venv_readd_netaddr
ansible virtualenv: re-add netaddr Python package
2018-05-30 10:27:08 -04:00
Ryan Petrello
a75da0fd58 Merge branch 'release_3.3.0' into fixTokenScopeAddInUI 2018-05-30 10:18:56 -04:00
AlanCoding
4e6fd59180 Handle broken transactions in DB settings getattr
This expands the role of the log database error context manager
and will actually make itself an exception to the standard
ORM behavior of raising an error when any queries are executed
inside of a broken transaction.

In this particular case it is less risky to continue on
with a database query and push the data to memcache than
it would be to use default settings values in violation of
user's intent. (hopefully)
2018-05-30 09:00:03 -04:00
Pierre-Louis Bonicoli
a752d04505 ansible venv: re-add netaddr Python package
Closes #1763
2018-05-30 02:01:03 +02:00
Marliana Lara
4c9ceb48a1 Merge pull request #1981 from marshmalien/fix/1886-job-details-credential
Add credential tags to job details
2018-05-29 17:27:23 -04:00
Marliana Lara
4f90391f54 Fix dashboard graph status dropdown value 2018-05-29 17:25:09 -04:00
Marliana Lara
5d0a131530 Add credential tags to job details 2018-05-29 16:29:14 -04:00
Ryan Petrello
a3aad31be3 Merge pull request #1964 from ryanpetrello/fix-token-scope
fix a few minor issues that have broken the User Token creation
2018-05-29 15:10:17 -04:00
John Mitchell
0f6fe210b7 fix when token scope is passing when the ui saves the form 2018-05-29 15:04:25 -04:00
Jake McDermott
d01940ffc5 Merge pull request #1965 from jakemcdermott/double-search
Fix wording of smart search key
2018-05-29 14:31:14 -04:00
Jake McDermott
9d87f85275 fix wording of search keys 2018-05-29 14:14:47 -04:00
Alan Rominger
232ad2a06c Merge pull request #1912 from AlanCoding/other_user_relaunch
Disallow launching jobs with other user's prompts
2018-05-29 11:51:13 -04:00
Ryan Petrello
b6d450923a Merge pull request #1972 from ryanpetrello/i-am-not-a-smart-man
use the _correct_ argument to specify poll vs select
2018-05-29 11:31:51 -04:00
Chris Meyers
f1083540a3 Merge pull request #1971 from chrismeyersfsu/fix-cached_dependency_list
do not cache dependency_list
2018-05-29 11:27:59 -04:00
Ryan Petrello
c369d44518 use the _correct_ argument to specify poll vs select 2018-05-29 11:25:08 -04:00
Ryan Petrello
238ffe5e7e Merge pull request #1969 from ryanpetrello/better-pexpect-poll
upgrade to the latest pexpect
2018-05-29 10:35:29 -04:00
chris meyers
4da68564ef do not cache dependency_list
* This is probably causing some bug. Calls to start_task within the same
run of the task manager could result in previous dependency lists being
used.
2018-05-29 10:27:51 -04:00
Ryan Petrello
7f7f635f7b upgrade to the latest pexpect
see: https://github.com/pexpect/pexpect/pull/492
see: https://github.com/ansible/tower/issues/1797
2018-05-29 09:52:59 -04:00
Ryan Petrello
af7ec17ccd fix a few minor issues that have broken the User Token creation
see: https://github.com/ansible/tower/issues/1928
2018-05-25 17:37:02 -04:00
Ryan Petrello
0fca495792 Merge pull request #1961 from ryanpetrello/fix-1672
don't allow Accept:application/json on /api/login/
2018-05-25 16:55:11 -04:00
Ryan Petrello
fc1077b9cb Merge pull request #1962 from ryanpetrello/i18n-credentials
mark dynamic Credential Type labels and help_text for i18n
2018-05-25 16:31:09 -04:00
Ryan Petrello
e03c584b80 mark dynamic Credential Type labels and help_text for i18n
see: https://github.com/ansible/tower/issues/1960
related: https://github.com/ansible/ansible-tower/pull/6844
2018-05-25 15:08:11 -04:00
Ryan Petrello
a0433773d8 don't allow Accept:application/json on /api/login/
see: https://github.com/ansible/tower/issues/1672
2018-05-25 14:21:22 -04:00
Marliana Lara
b5cb4e8290 Merge pull request #1958 from marshmalien/fix/1949-proj-permissions-users-link
Fix project permissions user link
2018-05-25 14:10:46 -04:00
Marliana Lara
0b0fd21734 Fix project permissions user link 2018-05-25 13:57:10 -04:00
kialam
8acb57f43a Merge pull request #1954 from kialam/fix/1880-tag-component
Create Tag Component for Job Search
2018-05-25 13:45:09 -04:00
kialam
376a763cc0 vertically center CLEAR ALL "button" using newly created mixin and resolve merge conflict 2018-05-25 13:32:43 -04:00
kialam
a9bdac0d53 use newer variables 2018-05-25 12:26:44 -04:00
kialam
d8dcac9158 small cleanup 2018-05-25 12:26:44 -04:00
kialam
edada76050 Pixel pushing 2018-05-25 12:26:44 -04:00
kialam
d83fa5a031 change 5px down to 3px per design feedback. 2018-05-25 12:26:44 -04:00
kialam
7292e00158 create componentized tags 2018-05-25 12:26:44 -04:00
Alan Rominger
03d975e18d Merge pull request #1959 from AlanCoding/cpf8
flake8 errors in access.py due to an upgrade
2018-05-25 12:09:37 -04:00
Jake McDermott
54056963af Merge pull request #1951 from jakemcdermott/job-results/strings
organize and translate job output and workflow results strings
2018-05-25 11:34:18 -04:00
AlanCoding
e64e25fcc1 flake8 errors in access.py due to an upgrade 2018-05-25 11:28:38 -04:00
Jake McDermott
29f0f94734 Merge pull request #1955 from jakemcdermott/job-results/always-discard-lines-beneath-threshold
always discard lines beneath threshold when tailing output
2018-05-25 11:22:08 -04:00
Christian Adams
b065593e49 Merge pull request #1932 from rooftopcellist/validate_scope
Validate scope
2018-05-25 10:49:02 -04:00
Alan Rominger
d35fb691b1 Merge pull request #1952 from AlanCoding/new_test_artifact
Ignore new test artifact being produced
2018-05-25 09:54:05 -04:00
John Mitchell
733c3fe594 Merge pull request #1940 from jlmitch5/fixAuditor
Fix auditor issues of displaying stuff you shouldn't in the ui
2018-05-25 09:34:42 -04:00
Ryan Petrello
960b64f292 Merge pull request #1947 from ryanpetrello/fix-897
fix a bug in the instance policy algorithm when both min and % are used
2018-05-25 08:55:51 -04:00
Jared Tabor
3d8d27064f Makes rows inactive on permissions list if assigning user doesn't have
permission to edit the target user
2018-05-25 00:18:50 -07:00
Jake McDermott
46758f1e7e always discard events beneath line threshold 2018-05-24 22:48:09 -04:00
Jake McDermott
e085c4ae71 use a one-way binding for back-to-top text 2018-05-24 20:10:00 -04:00
Marliana Lara
cdbcf4c128 Merge pull request #1897 from marshmalien/fix/1865-templates-list-active-row
Update active row indicator when state param id changes
2018-05-24 16:32:56 -04:00
Michael Abashian
6f868a7bca Merge pull request #1925 from mabashian/1902-root-edge-type
Fixed error changing edge type of a previous root node
2018-05-24 16:28:31 -04:00
Michael Abashian
f187210405 Merge pull request #1941 from mabashian/1933-edge-toggle
Fixed edge type dropdown race condition
2018-05-24 16:24:15 -04:00
Jake McDermott
dcd36adf25 add one-way bindings for static stats bar strings 2018-05-24 15:59:58 -04:00
Jake McDermott
62fa6dadb0 organize and translate workflow results strings 2018-05-24 15:57:50 -04:00
Jake McDermott
930ecaec3e organize and translate job output strings 2018-05-24 15:57:31 -04:00
AlanCoding
1790b1703f ignore new test artifact being produced 2018-05-24 15:48:13 -04:00
adamscmRH
bb6a4f6964 fix oauth urls & rename for clarity 2018-05-24 15:32:48 -04:00
Marliana Lara
c1593935ca Update active row indicator when state param id changes 2018-05-24 15:24:01 -04:00
Jake McDermott
b68b4db888 Merge pull request #1936 from jakemcdermott/job-results/update-search
update filterable check for job results search
2018-05-24 15:03:39 -04:00
Bill Nottingham
bd744bced7 Merge pull request #1912 from wenottingham/great-pexpectations
Regen requirements (followon to https://github.com/ansible/awx/pull/1895)
2018-05-24 14:34:56 -04:00
adamscmRH
3d5605f4b5 refactor & purge cruft 2018-05-24 14:33:27 -04:00
Marliana Lara
5af17b4e78 Merge pull request #1937 from marshmalien/fix/1619-statedefinition-error-handler
Add error handler to stateDefinitions resourceData resolve
2018-05-24 14:22:19 -04:00
Bill Nottingham
f4c165bf28 Regen requirements (followon to https://github.com/ansible/awx/pull/1895) 2018-05-24 14:14:17 -04:00
AlanCoding
e04a07f56c cover testing of new 3.3 org roles for user security fix 2018-05-24 13:56:38 -04:00
Marliana Lara
41e432abf0 Add error handling to stateDefinitions resolve block 2018-05-24 13:21:44 -04:00
Ryan Petrello
870adc14f9 fix a bug in the instance policy algorithm when both min and % are used
see: https://github.com/ansible/tower/issues/897
2018-05-24 12:28:46 -04:00
adamscmRH
be9598af53 fix refresh token & refactor 2018-05-24 12:25:27 -04:00
Bill Nottingham
019a07f919 Merge pull request #1920 from wenottingham/great-pexpectations
adding pexpect support
2018-05-24 12:21:09 -04:00
Alan Rominger
da2fa14bf7 Merge pull request #1910 from AlanCoding/moflake8
flake8 errors in access.py due to an upgrade
2018-05-24 11:47:37 -04:00
adamscmRH
5d220e8222 add scope validator to token endpoints 2018-05-24 11:06:58 -04:00
AlanCoding
1466e5c343 flake8 errors in access.py due to an upgrade 2018-05-24 10:17:55 -04:00
Ryan Petrello
f0df747a2f Merge pull request #1943 from ryanpetrello/network-ui-ci
run network ui tests in shippable and Jenkins
2018-05-24 09:58:37 -04:00
Ryan Petrello
c9c7a4b8f4 fix a few broken network UI tests 2018-05-24 09:46:35 -04:00
Ryan Petrello
37264d9d21 rename some tests from unit -> functional 2018-05-24 09:27:34 -04:00
Ryan Petrello
3abdf66794 run network ui tests in shippable and Jenkins 2018-05-24 09:07:53 -04:00
Alan Rominger
9dc4e1944c Merge pull request #1917 from AlanCoding/no_more
Do not put deep copy items in activity stream
2018-05-24 08:07:05 -04:00
Ryan Petrello
479a7cd320 Merge pull request #1938 from ryanpetrello/fix-1866
add help text for the new custom_virtualenv field
2018-05-24 06:28:20 -04:00
Ryan Petrello
1ea4ef8778 Merge pull request #1942 from ryanpetrello/fix-1939
allow any authenticated user to access the schedule preview API endpoint
2018-05-24 06:27:31 -04:00
Ryan Petrello
63f089c712 allow any authenticated user to access the schedule preview API endpoint
see: https://github.com/ansible/tower/issues/1939
2018-05-23 16:51:58 -04:00
mabashian
dbc02ae9a1 Fixed race condition where selecte2-ifying the edge type was happening before the digest cycle finished 2018-05-23 16:44:44 -04:00
John Mitchell
ef7ed76178 fix auditor issues 2018-05-23 16:31:08 -04:00
Ryan Petrello
d8f86ecba0 add help text for the new custom_virtualenv field
see: https://github.com/ansible/tower/issues/1866
2018-05-23 16:19:59 -04:00
Jake McDermott
06eb400f22 add callback for checking if field is filterable 2018-05-23 15:59:20 -04:00
Ryan Petrello
1564f62c2a Merge pull request #1835 from AlanCoding/network_ui_admin
Restrict network_ui to inventory admins
2018-05-23 15:25:55 -04:00
Ryan Petrello
ec8d6e2f6b Merge pull request #1929 from ryanpetrello/fix-968
allow AUTH_LDAP_USER_FLAGS_BY_GROUP to specify an OR'd list for a flag
2018-05-23 14:58:27 -04:00
Ryan Petrello
28a42850a2 allow AUTH_LDAP_USER_FLAGS_BY_GROUP to specify an OR'd list for a flag
see: https://github.com/ansible/tower/issues/968
2018-05-23 14:45:46 -04:00
Bill Nottingham
50503f97cc Regen requirements_ansible.txt (minimal update). 2018-05-23 14:11:09 -04:00
Jared Tabor
921c3d2535 Merge pull request #1924 from jaredevantabor/fix-1831
Fixes Organizations pagination
2018-05-23 09:53:35 -07:00
Jared Tabor
4edb689f83 Merge pull request #1923 from jaredevantabor/fix-1064
Validates extra vars before moving to next step in prompt workflow
2018-05-23 09:51:41 -07:00
Alan Rominger
550c6edb33 Merge pull request #1851 from AlanCoding/sch_modified_by
Fix schedules modified_by getting nulled
2018-05-23 10:42:07 -04:00
Bill Nottingham
7bc28276f2 add note 2018-05-23 10:31:54 -04:00
Ryan Petrello
8bbc36336e Merge pull request #1906 from ryanpetrello/delete-user-activity-stream
store metadata about ActivityStream.actor when the User is deleted
2018-05-23 10:15:01 -04:00
Michael Abashian
966464623a Merge pull request #1915 from mabashian/1900-concurrent-checkbox
Fixed concurrent jobs checkbox on wfjt edit form
2018-05-23 10:12:20 -04:00
Michael Abashian
c7a0634480 Merge pull request #1914 from mabashian/1901-wfjt-prompt-vars
Fix aggregation of extra vars on wfjt launch preview
2018-05-23 10:11:57 -04:00
Michael Abashian
81126fd48f Merge pull request #1911 from mabashian/1905-wf-launch-check
Only check the launch endpoint for job templates when editing wf node
2018-05-23 10:10:38 -04:00
Ryan Petrello
f434196bae store denormalized metadata about ActivityStream.actor for accounting
see: https://github.com/ansible/tower/issues/1782
2018-05-23 09:47:26 -04:00
AlanCoding
b7e9bda6cf track prior organization_id by base model prior values tore
Also fix bug where unified pointers were counted in
the prior values store
2018-05-23 08:54:03 -04:00
mabashian
c913badafe Fixed error changing edge type of a previous root node 2018-05-22 20:21:39 -04:00
Jared Tabor
b37926792f Fixes organizations collections watcher
it was watching 'organization' instead of 'organizations'
2018-05-22 17:11:04 -07:00
Jake McDermott
d9ce945762 Merge pull request #1921 from jakemcdermott/job-results/sanitize-breadcrumb
sanitize dynamic job details breadcrumb
2018-05-22 20:09:27 -04:00
Jared Tabor
16b00e4867 Validates extra vars before moving to next step in prompt workflow 2018-05-22 15:35:21 -07:00
Jake McDermott
f42c9bb952 sanitize dynamic breadcrumb label 2018-05-22 17:45:51 -04:00
Fedor Sumkin
a1ed0f47ab adding pexpect support 2018-05-22 16:45:05 -04:00
Bill Nottingham
00877769a3 Merge pull request #1895 from sumkincpp/patch-1
Support for expect ansible module
2018-05-22 16:43:48 -04:00
Jake McDermott
845227a9c4 Merge pull request #1918 from jakemcdermott/job-results/fix-status-check
improve status checking for job results
2018-05-22 16:40:55 -04:00
AlanCoding
d369ae7638 do not put deep copy items in activity stream 2018-05-22 16:23:08 -04:00
Jake McDermott
34dc939782 improve the check performed to determine if a job is in an active state 2018-05-22 16:22:13 -04:00
AlanCoding
c3368bc4ff disallow launching with other users prompts 2018-05-22 15:47:36 -04:00
mabashian
2bb59fde54 Fixed concurrent jobs checkbox on wfjt edit form 2018-05-22 15:03:41 -04:00
mabashian
87f4104304 Get default wfjt extra vars so that we can show all extra vars on launch preview 2018-05-22 14:55:43 -04:00
Jake McDermott
156b5e6979 Merge pull request #1888 from jakemcdermott/fix-1770
make prior output viewable for partial job runs
2018-05-22 14:47:18 -04:00
Jake McDermott
9bbed9f14e use event end_line for discarding events below starting threshold 2018-05-22 13:58:24 -04:00
Jake McDermott
89e08460dd display client finish time for incomplete job statuses 2018-05-22 13:57:37 -04:00
mabashian
c5f0d66554 Only check the launch endpoint for job templates, not unified jts of other types 2018-05-22 13:48:00 -04:00
Alan Rominger
7d36bd1fb2 Merge pull request #1786 from AlanCoding/system_params2
Add exception to allow relaunching callback jobs
2018-05-22 12:48:58 -04:00
Jared Tabor
8a1f2e9f54 Merge pull request #1873 from jaredevantabor/ldap-stuff
LDAP fixes for saving, and improved error handling
2018-05-22 09:11:42 -07:00
Jared Tabor
f585aa44be Merge pull request #1821 from jaredevantabor/breadcrumbs
Fixes a portal mode breadcrumb and capitalizes the instance groups b.c.
2018-05-22 09:09:56 -07:00
John Mitchell
22cffccc38 Merge pull request #1762 from jlmitch5/appTokenSearchPath
update app tokens search path
2018-05-22 12:00:42 -04:00
Alan Rominger
e2cd05e8e2 Merge pull request #1903 from AlanCoding/jake
Add final_line_count to EOF websocket
2018-05-22 11:47:51 -04:00
AlanCoding
f54ac776cd add final_line_count to EOF websocket 2018-05-21 15:47:43 -04:00
Ryan Petrello
ffdd7f162b Merge pull request #1893 from ryanpetrello/fix-broken-cancels
revert expect(use_poll=True) due to a bug that causes `os.read()` hangs
2018-05-21 13:05:51 -04:00
Ryan Petrello
d493a4e0d0 revert expect(use_poll=True) due to a bug that causes os.read() hangs
There's a bug in the implementation in pexpect:
pexpect/pexpect#491

Issues that could be related to this:
ansible/awx#1870
ansible/awx#1840

Rolling this back will cause #861 to no longer be "fixed". We'll have to solve it another way, or wait for pexpect to fix the poll bug.
2018-05-21 12:42:20 -04:00
Ryan Petrello
d7cdfdca2a Merge pull request #1861 from ryanpetrello/safe-queue-name
prevent unicode in instance hostnames and instance group names
2018-05-21 12:14:54 -04:00
Jake McDermott
2cbadcd392 make prior output viewable for partial job runs 2018-05-21 11:25:47 -04:00
Alan Rominger
36d566800c Merge pull request #1867 from AlanCoding/help_text_fds
Mark field scm_delete_on_next_update for removal
2018-05-21 10:12:05 -04:00
Fedor Sumkin
809de21451 adding pexpect support 2018-05-19 18:42:50 +03:00
Jared Tabor
7610c660cb Fixes the CTiT save errors. I added a toast message for successful saves too. 2018-05-18 16:30:44 -07:00
Ryan Petrello
4abac44411 prevent unicode in instance hostnames and instance group names
see: https://github.com/ansible/tower/issues/1721
2018-05-18 16:28:43 -04:00
Wayne Witzel III
86616c4062 Merge pull request #1864 from wwitzel3/fix-1859
Check if the project update for the project has been canceled.
2018-05-18 15:08:04 -04:00
Wayne Witzel III
9fe44cfaae check EACCES and only refresh cancel_flag 2018-05-18 14:58:58 -04:00
AlanCoding
222fbfc328 add help text, deprecate field 2018-05-18 14:26:22 -04:00
AlanCoding
969fb21e98 restrict network_ui to inv admins 2018-05-18 14:17:59 -04:00
Wayne Witzel III
5279b102cb Fix task unit test 2018-05-18 13:52:51 -04:00
Wayne Witzel III
41fe9e1caf Check if the project update for the project we are trying to lock is canceled 2018-05-18 12:46:54 -04:00
AlanCoding
967624c576 fix schedules modified_by getting nulled 2018-05-18 07:38:49 -04:00
Marliana Lara
f6eeecf6d1 Merge pull request #1834 from marshmalien/fix/1323-ctit-dialog-position
Fix position of CTiT logger test dialog
2018-05-17 16:52:52 -04:00
Matthew Jones
72f2994cc5 Merge branch 'release_3.3.0' into devel 2018-05-17 16:07:47 -04:00
Ryan Petrello
2e0125037a Merge pull request #1836 from ryanpetrello/hands-off-my-tokens
filter `/api/v2/users/N/tokens/` to only show tokens for _that_ user
2018-05-17 15:54:28 -04:00
Marliana Lara
02417dc668 Fix position in Firefox 2018-05-17 15:46:06 -04:00
Ryan Petrello
51f66b8c0a filter /api/v2/users/N/tokens/ to only show tokens for _that_ user
see: https://github.com/ansible/tower/issues/1773
2018-05-17 15:44:35 -04:00
Chris Meyers
a348893a91 Merge pull request #1846 from chrismeyersfsu/fix-1_in_maxint_chance_of_collision
more test fixes
2018-05-17 15:04:56 -04:00
AlanCoding
db6cc7c50b Add exception to allow relaunching callback jobs
allows for execute_role level users to directly
relaunch callback-type jobs, even though limit
has changed from JT, it is a down-selection
2018-05-17 14:41:56 -04:00
chris meyers
4031c888de fork process may finish before cancel callback
* The "should we cancel?" callback check is only called while the
subprocess (child) is alive. If the child executes quickly, the cancel
callback has no chance to run.
* call a subprocess that takes longer to run like sleep 2
2018-05-17 14:39:57 -04:00
chris meyers
d8615df47f postgres back tests can't do this 2018-05-17 14:39:57 -04:00
Jared Tabor
85caf6253c Fixes a portal mode breadcrumb and capitalizes the instance groups breadcrumb 2018-05-17 11:36:51 -07:00
Ryan Petrello
46add35f98 Merge pull request #1840 from chrismeyersfsu/fix-1_in_maxint_chance_of_collision
flake8
2018-05-17 14:15:57 -04:00
chris meyers
88bb98c967 flake8 2018-05-17 13:38:37 -04:00
Ryan Petrello
1026bc493f Merge pull request #1819 from ryanpetrello/slooooooooooooow-uri-cleaner
speed up a handful of really slow stdout tests
2018-05-17 13:38:20 -04:00
Chris Meyers
49982eea2d Merge pull request #1839 from chrismeyersfsu/fix-1_in_maxint_chance_of_collision
reduce chance of collision on cache namespace
2018-05-17 13:37:35 -04:00
chris meyers
40ef30a914 reduce chance of collision on cache namespace 2018-05-17 13:37:04 -04:00
Ryan Petrello
b6923bdbeb speed up a handful of really slow stdout tests
before: 59 passed in 95.20 seconds
after: 59 passed in 11.09 seconds
2018-05-17 13:27:18 -04:00
Chris Meyers
178d94a421 Merge pull request #1818 from chrismeyersfsu/fix-parallel_failures
isolate test cache
2018-05-17 13:24:40 -04:00
Jared Tabor
1876b3b0f5 Merge pull request #1809 from jaredevantabor/scheduler
Fixes to the scheduler form
2018-05-17 10:12:51 -07:00
chris meyers
04767641af isolate cache 2018-05-17 12:58:11 -04:00
Marliana Lara
b4bee93b35 Fix position of CTiT logger test dialog 2018-05-17 12:46:25 -04:00
Marliana Lara
64e3323ff5 Merge pull request #1815 from marshmalien/fix/1474-instance-policy-list-search
Hookup instance policy list smart search and add Dataset resolve
2018-05-17 12:25:38 -04:00
Alan Rominger
14d10a93cc Merge pull request #1817 from AlanCoding/notification_fail
Do not fail entire notification chain if one fails
2018-05-17 10:06:03 -04:00
Ryan Petrello
5bbbb87fee Merge pull request #1822 from AlanCoding/f8
fix flake8 introduced by new tests
2018-05-17 08:59:06 -04:00
AlanCoding
c998fd6bcb fix flake8 introduced by new tests 2018-05-17 07:43:09 -04:00
Jake McDermott
8f1c15e20d Merge pull request #1820 from jakemcdermott/job-results/fix-counters
don't reset counters on job start
2018-05-16 18:46:27 -04:00
Jake McDermott
2255ee5dba don't reset counters on job start 2018-05-16 17:32:40 -04:00
AlanCoding
f9871f32a3 do not fail entire notification chain if one fails 2018-05-16 15:16:40 -04:00
Chris Meyers
7f214f5ad2 Merge pull request #1766 from chrismeyersfsu/i_like_parallel_tests_and_I_can_not_lie
parallelize test running
2018-05-16 15:13:20 -04:00
chris meyers
97ab6449b9 parallelize test running 2018-05-16 14:29:15 -04:00
Jake McDermott
ae8fe207d4 Merge pull request #1812 from jakemcdermott/1770
maintain correct page and event counts on running jobs
2018-05-16 12:22:39 -04:00
Marliana Lara
f2e0214623 Hookup instance policy list smart search and add Dataset resolve 2018-05-16 12:12:21 -04:00
Ryan Petrello
f287948efe Merge pull request #1804 from ryanpetrello/stdout-format-json
never convert ANSI codes to HTML for format /stdout/?format=json
2018-05-16 11:41:20 -04:00
Ryan Petrello
53ef9ed288 never convert ANSI codes to HTML for format /stdout/?format=json
see: https://github.com/ansible/awx/issues/1863
2018-05-16 11:20:55 -04:00
Ryan Petrello
f49d52ad8e Merge pull request #1807 from ryanpetrello/polymorphic_created_by_delete
restore a django-polymorphic workaround to avoid a weird cascade bug
2018-05-16 11:03:41 -04:00
Ryan Petrello
07aeecc018 Merge pull request #1813 from ryanpetrello/until-until-until
fix a nuanced parsing bug in naive UNTIL= parsing
2018-05-16 10:01:27 -04:00
Ryan Petrello
39cb1cb60c fix a nuanced parsing bug in naive UNTIL= parsing 2018-05-16 09:35:04 -04:00
Jake McDermott
1d9fb53879 Merge pull request #1808 from jlmitch5/assortedStyleFixes33
Assorted style fixes for 3.3
2018-05-16 00:44:08 -04:00
Jake McDermott
11e7dcd0dc maintain correct page counts on running jobs 2018-05-16 00:19:41 -04:00
Jake McDermott
77e75c6e13 Merge pull request #1811 from jaredevantabor/workflow-stdout-vars
Uses atCodeMirror directive for extra vars widget on workflow results…
2018-05-15 23:34:27 -04:00
Jared Tabor
3658ce1a93 Uses atCodeMirror directive for extra vars widget on workflow results page 2018-05-15 18:09:07 -07:00
Jared Tabor
1e6905aac4 Fixes to the scheduler form 2018-05-15 15:31:21 -07:00
John Mitchell
3a6f1e2b63 make labels input standard width on wfjt form 2018-05-15 17:18:51 -04:00
John Mitchell
87239c0e11 right align smart inv button 2018-05-15 17:18:35 -04:00
John Mitchell
7b5dcee30f fix smart status bar color 2018-05-15 17:17:56 -04:00
Ryan Petrello
db1a669c68 work around a django-polymorphic bug that breaks certain cascades
see: #1794
2018-05-15 16:55:37 -04:00
Ryan Petrello
29927433cb Merge pull request #1806 from ryanpetrello/md5-not-even-once
remove md5 password hashing in dev
2018-05-15 16:33:35 -04:00
Chris Meyers
0bbc08e587 Merge pull request #1882 from chrismeyersfsu/fix-installer_readme
add variables to inventory mentioned in docs
2018-05-15 16:12:14 -04:00
Jared Tabor
0eefed80e1 Merge pull request #1765 from jaredevantabor/schedules-reorg
Schedules Re-org to related tabs
2018-05-15 13:10:35 -07:00
Ryan Petrello
d5fbb2d3b6 remove md5 password hashing in dev 2018-05-15 14:57:47 -04:00
chris meyers
ceedc135b2 add variables to inventory mentioned in docs
* Also better error message when openshift cert failure
2018-05-15 14:44:43 -04:00
Jared Tabor
f3923af3fa Makes extra variables CodeMirror shown only for JT-schedules that
have promptable extra vars in the JT. Hides vars for all other schedule types
2018-05-15 11:38:25 -07:00
Ryan Petrello
6bce1b9413 Merge pull request #1802 from ryanpetrello/scm-inventory-bwrap-root
run scm inv syncs at the project root so relative imports work w/ bwrap
2018-05-15 13:46:25 -04:00
Bill Nottingham
52ecc975d9 Merge pull request #1878 from wenottingham/that's-not-how-that-works
Fix checkout of role requirements.
2018-05-15 10:42:43 -07:00
Bill Nottingham
c078a51ddb Merge pull request #1789 from wenottingham/that's-not-how-that-works
Fix checkout of role requirements.
2018-05-15 10:28:05 -07:00
Bill Nottingham
32c027e0ea Merge pull request #1793 from wenottingham/what-did-you-pexpect
Bump pexpect version on isolated node.
2018-05-15 09:49:26 -07:00
Ryan Petrello
3ab7f06f95 run scm inv syncs at the project root so relative imports work w/ bwrap
see: https://github.com/ansible/tower/issues/1357
2018-05-15 12:00:37 -04:00
Luis Gracia
8e85a57c1a AWX launchers should wait for other containers to be ready 2018-05-15 11:45:54 -04:00
John Mitchell
fd0b439ee6 Merge pull request #1779 from jlmitch5/updateDefaultAnsibleEnvironmentText
change default option text for ansible environment dropdown to Default Environment
2018-05-15 11:36:43 -04:00
Bill Nottingham
6622e6bbd6 Bump pexpect version on isolated node. 2018-05-15 11:24:27 -04:00
Ryan Petrello
7481d671ff Merge pull request #1791 from ryanpetrello/censor-deleted-token
censor OAuth tokens from activity stream deletion records
2018-05-15 10:00:55 -04:00
Ryan Petrello
05b0c5ec6f censor OAuth tokens from activity stream deletion records
see: https://github.com/ansible/tower/issues/1772
2018-05-15 09:16:37 -04:00
Ryan Petrello
f5c4abc81b Merge pull request #1787 from ryanpetrello/admin-dif-mode
fix a bug that prevented JT admins from editing diff mode
2018-05-15 09:02:14 -04:00
Wayne Witzel III
e7e173b576 Merge pull request #1790 from wwitzel3/fix-1744
Prevent creating excessive update computed tasks when copying an Inve…
2018-05-15 08:37:49 -04:00
Alan Rominger
64fed4d360 Merge pull request #1768 from AlanCoding/all_the_search_fields
Enforce consistently setting view search_fields
2018-05-15 08:32:44 -04:00
Wayne Witzel III
5c45b25484 Prevent creating excessive update computed tasks when copying an Inventory 2018-05-15 08:17:48 -04:00
Bill Nottingham
efd0085ba2 Fix checkout of role requirements.
'omit' is only special as a module argument, it cannot be used in this way.
Hence, just have two conditional tasks.
2018-05-15 01:22:13 -04:00
Bill Nottingham
c3d720cbd4 Fix checkout of role requirements.
'omit' is only special as a module argument, it cannot be used in this way.
Hence, just have two conditional tasks.
2018-05-15 01:20:51 -04:00
Jared Tabor
5006b84eee adds parentResolve for new route 2018-05-14 18:34:07 -07:00
Jared Tabor
8f3cc4ec3e Addes a /#/jobs/schedules/:schedule_id/ route to the app
To leave user in the context of jobs/schedules when editing
a schedule instead of putting them in the context of the resource
they're scheduling
2018-05-14 17:54:30 -07:00
Jared Tabor
e04b2b7455 Fixes breadcrumbs for all the schedule states 2018-05-14 17:17:24 -07:00
Michael Abashian
406d82b99c Merge pull request #1783 from mabashian/1513-delete-last-survey-q
Delete the survey if the user removes all the survey questions
2018-05-14 16:07:19 -04:00
Michael Abashian
eb8140284a Merge pull request #1781 from mabashian/944-limit-panels
Tweaked limit-panels so that it doesn't use $transitions
2018-05-14 16:07:01 -04:00
Michael Abashian
dbfe99ab27 Merge pull request #1764 from mabashian/1454-checkbox-styling
Fixed credentials form checkbox styling
2018-05-14 16:06:28 -04:00
Michael Abashian
32e78ed7b2 Merge pull request #1752 from mabashian/1466-workflow
Fixed bug checking for credentials to remove
2018-05-14 16:06:06 -04:00
Michael Abashian
b69e2ed7a0 Merge pull request #1739 from mabashian/1717-delete-permission
Fixed bug deleting last team/user permission on page
2018-05-14 16:05:54 -04:00
Ryan Petrello
357a735e56 fix a bug that prevented JT admins from editing diff mode
see: https://github.com/ansible/tower/issues/801
2018-05-14 16:01:36 -04:00
mabashian
bfc602ae10 Changed variable names 2018-05-14 14:58:29 -04:00
mabashian
1a9b60a199 Delete the survey if the user removes all the survey questions 2018-05-14 14:55:32 -04:00
Ryan Petrello
7646f12e76 Merge pull request #1777 from ryanpetrello/admin-virtualenv
fix a bug that prevented JT admins from editing custom virtualenvs
2018-05-14 14:45:51 -04:00
Ryan Petrello
a942ccb272 Merge pull request #1778 from ryanpetrello/1k-ought-to-be-enough-for-anybody
truncate certain event fields when they are overly long
2018-05-14 14:30:42 -04:00
mabashian
ef514fb3c0 Mitigated race condition issues with limit-panel directive by removing dependency on the state transition event 2018-05-14 14:28:52 -04:00
Ryan Petrello
5b55e3cb2b fix a bug that prevented JT admins from editing custom virtualenvs
see: https://github.com/ansible/tower/issues/1754
2018-05-14 14:12:22 -04:00
Ryan Petrello
bb3b19e174 truncate certain event fields when they are overly long
see: https://github.com/ansible/tower/issues/1775
2018-05-14 14:02:17 -04:00
Jake McDermott
a74b8fa744 Merge pull request #1755 from jakemcdermott/1747
always render initial set of job events on initialization for still-running jobs
2018-05-14 11:41:38 -04:00
John Mitchell
3d157fab47 change default option text for ansible environment dropdown to Default Environment 2018-05-14 11:26:46 -04:00
Jake McDermott
503668141b add procedure for attaching to running jobs 2018-05-14 11:17:54 -04:00
Alan Rominger
6a0966d456 Merge pull request #1761 from AlanCoding/project_save_diff
Update project if certain params changed
2018-05-14 11:13:46 -04:00
AlanCoding
ec7f1c2540 enforce consistently setting view search_fields 2018-05-14 10:12:49 -04:00
Jake McDermott
665354c32e add skip functionality to event replay tool 2018-05-12 00:18:15 -04:00
Jake McDermott
f3343f780c always remove websocket listeners 2018-05-12 00:18:04 -04:00
Jake McDermott
2f5eefe809 push initial events on partially complete job initialization 2018-05-12 00:17:52 -04:00
Jared Tabor
77e195bbb9 Moves schedules tab to related tab for sources form 2018-05-11 16:42:49 -07:00
Jared Tabor
ce09ab446d Moves scheduler to related tab for projects
Signed-off-by: Jared Tabor <jtabor@redhat.com>
2018-05-11 16:37:24 -07:00
Jared Tabor
13d58107b8 Moves scheduler to related tab for workflows
and updates all links to point to updated state
2018-05-11 16:37:24 -07:00
Jared Tabor
464b7c3775 Moves schedules to related tab for job templates 2018-05-11 16:37:24 -07:00
mabashian
e9348134f0 Fixed credentials form checkbox styling 2018-05-11 16:38:04 -04:00
AlanCoding
b79606d9d3 update project if certain params changed 2018-05-11 13:59:15 -04:00
John Mitchell
a096051dc3 update app tokens search path 2018-05-11 13:54:25 -04:00
John Mitchell
0f98ed5046 Merge pull request #1753 from jlmitch5/newListForPortalMode
update portal mode templates list to new style
2018-05-11 10:33:59 -04:00
Ryan Petrello
6c0af2ef57 Merge pull request #1667 from ryanpetrello/and-you-get-a-timezone
change timezone behavior slightly for Schedule.rrule to make things simpler for UI folks
2018-05-11 09:55:23 -04:00
Alan Rominger
1b64e52f64 Merge pull request #1749 from AlanCoding/fix_team_parents
Fix team parentage being removed
2018-05-11 07:19:17 -04:00
John Mitchell
79ccabd0bd Merge pull request #1750 from jlmitch5/newTokensListRowItems
add new row items to user's token list
2018-05-10 16:52:50 -04:00
Jared Tabor
669b40a3e3 Merge pull request #1751 from jaredevantabor/1662-copy-prompt
Removes prompt modal after clicking the action button on the copy prompt
2018-05-10 13:30:10 -07:00
Jared Tabor
576a4a1b58 removes extra slash 2018-05-10 13:04:26 -07:00
John Mitchell
db2a2fa578 update portal mode templates list to new style 2018-05-10 14:44:23 -04:00
John Mitchell
97614892c6 fix syntax error in tokens list controller 2018-05-10 14:17:38 -04:00
John Mitchell
8a2c3ce716 add tokens to activity stream 2018-05-10 14:13:13 -04:00
Jared Tabor
4caa145161 Removes prompt modal after clicking the action button on the copy prompt 2018-05-10 11:06:56 -07:00
John Mitchell
924cb51d51 make delete of app work when you are on app's tokens route 2018-05-10 13:45:46 -04:00
John Mitchell
77eea40d0b use app name as part of delete token confirmation modal header 2018-05-10 13:38:56 -04:00
mabashian
a648ce5457 Fixed bug checking for credentials to remove 2018-05-10 13:00:32 -04:00
John Mitchell
956596227b use translated string for scope in tokens list 2018-05-10 12:38:56 -04:00
Jared Tabor
0c45d917d1 adds comment for setUntil function 2018-05-10 09:34:39 -07:00
John Mitchell
6c26574718 add new row items to token list 2018-05-10 12:29:55 -04:00
Jake McDermott
4b5c09c07c Merge pull request #1745 from jakemcdermott/fix-1740
show inventory-related and license error on for inventory update job details
2018-05-10 12:00:55 -04:00
Jake McDermott
6ccb2a46f7 Merge pull request #1743 from jakemcdermott/job-results/fix-1535
error handling for job results filter and route
2018-05-10 11:53:53 -04:00
AlanCoding
949895d0bc fix team parentage being removed 2018-05-10 11:13:09 -04:00
John Mitchell
adfe44a761 Merge pull request #1727 from jlmitch5/33appfieldupdates
app field updates
2018-05-10 11:09:41 -04:00
Wayne Witzel III
5d016c0dcb Merge pull request #1705 from benthomasson/network_ui_openshift_fix
Adds websocket for network_ui to the installer version of nginx.conf
2018-05-10 09:41:11 -04:00
Michael Abashian
916d88eee7 Merge pull request #1736 from mabashian/1729-scheduler
Added min value error message to "Days of data to keep" on scheduler
2018-05-10 09:31:12 -04:00
Michael Abashian
c3816a9812 Merge pull request #1735 from mabashian/1732-schedule
Only initialize extra vars if they are promptable
2018-05-10 09:30:51 -04:00
Michael Abashian
e6a56aa784 Merge pull request #1734 from mabashian/1730-jt-launch-inv
Fixed jt launch next button disabled when prompting for inventory
2018-05-10 09:29:17 -04:00
Michael Abashian
9afda6b331 Merge pull request #1728 from mabashian/1714-wf-completed-jobs
Added completed jobs tab to the workflow form
2018-05-10 09:28:57 -04:00
Alan Rominger
db776feea9 Merge pull request #1666 from AlanCoding/handlers_everywhere
Send our oddball loggers to external logger too
2018-05-10 08:38:31 -04:00
Alan Rominger
5643505a31 Merge pull request #1664 from AlanCoding/more_wfjt_cred_fixes
Correctly check credential permission on WFJT copy
2018-05-10 07:42:49 -04:00
Alan Rominger
1b69f7a376 Merge pull request #1716 from AlanCoding/sinfo
Include full stack trace for DB settings error
2018-05-09 20:04:41 -04:00
Jake McDermott
e19ffc1fba show license error details 2018-05-09 19:43:40 -04:00
Jake McDermott
4355b30afe show overwrite details 2018-05-09 19:43:32 -04:00
Jake McDermott
43ea72e278 show inventory source details 2018-05-09 19:43:24 -04:00
Jake McDermott
b030cdcd40 use inventory id from job args to construct inventory link 2018-05-09 19:43:14 -04:00
Jared Tabor
04b8349895 fixes issues with select dropdowns
and adds a search box for the timezone select dropdown
2018-05-09 16:15:02 -07:00
Jared Tabor
507db4e3b6 sets the UNTIL time to use the "until" that is explicitly state on the
schedules endpoint GET response
2018-05-09 14:39:26 -07:00
Chris Meyers
1d0ed6b0b3 Merge pull request #1733 from chrismeyersfsu/fix-instance_enabled_flag
disabled instance stay subscribed to bcast queue
2018-05-09 17:11:51 -04:00
chris meyers
4761e17566 disabled instance stay subscribed to bcast queue
* A disabled node needs to stay subscribed to the broadcast queue
because the work to re-subscribe the node to queues when the node is
re-enabled is done over the broadcast queue.
2018-05-09 17:03:26 -04:00
Ryan Petrello
c52eb0f327 provide a naive UNTIL= datestamp for schedules for UI convenience 2018-05-09 15:51:52 -04:00
Jake McDermott
3b5dd7eac5 error handling for job results filter and route 2018-05-09 15:31:28 -04:00
Ryan Petrello
056933e33e refactor naive UNTIL= coercion 2018-05-09 15:00:48 -04:00
mabashian
eccf3029b4 Fixed bug deleting last team/user permission on page 2018-05-09 14:31:33 -04:00
mabashian
9218a89589 Added error message to "Days of data to keep" when the user inputs a value less than one 2018-05-09 13:21:15 -04:00
mabashian
a02521a0bd Only initialize extra vars if they are promptable 2018-05-09 13:03:58 -04:00
mabashian
39827af902 Fixed jt launch next button disabled when prompting for inventory 2018-05-09 12:37:00 -04:00
Michael Abashian
72f982ab55 Merge pull request #1725 from mabashian/1670-clear-all
Activity stream clear-all bug fixes
2018-05-09 12:23:16 -04:00
AlanCoding
bbfabd2779 include full stack trace for DB settings error 2018-05-09 11:37:40 -04:00
mabashian
ece5724c80 Added completed jobs tab to the workflow form 2018-05-08 19:31:24 -04:00
John Mitchell
ffdf406300 reorder fields and make redirect_uri field not required on app form 2018-05-08 17:09:52 -04:00
mabashian
366c1c19b0 Removed commented lines. Rolled back noInfo change 2018-05-08 16:19:56 -04:00
mabashian
1807d0a910 Activity stream clear-all bug fixes. Re-enabled smart search directive test which required tweaking karma conf. 2018-05-08 16:13:56 -04:00
Alan Rominger
b50bddbc93 Merge pull request #1719 from AlanCoding/dragon_lair
Allow unicode queue names via CLI
2018-05-08 14:11:52 -04:00
Alan Rominger
2450a3ecd4 Merge pull request #1708 from AlanCoding/namespace_explosions
Accurate 400 messages for undefined filename namespaces
2018-05-08 14:04:55 -04:00
AlanCoding
3bd54ab837 allow unicode queue names via CLI 2018-05-08 12:43:39 -04:00
Ryan Petrello
00ae91dace slight cleanup and refactor of Schedule.timezone property 2018-05-08 08:28:51 -04:00
Jared Tabor
876431c529 Removes the 'Z' from the UNTIL before sending the rrule to the API 2018-05-07 14:42:59 -07:00
Jared Tabor
33d4c97156 Sets the timezone to the api/v2/schedule/:id -> data.timezone
and moving the data calls from the controller to the route resolve
2018-05-07 14:42:59 -07:00
Shane McDonald
cb91b97fd0 Update pot files 2018-05-07 17:35:14 -04:00
Ryan Petrello
441e5cc9c2 allow naive UNTILs to be specified for schedule rrules 2018-05-07 13:00:01 -07:00
Ryan Petrello
fbe2391b86 provide the timezone so that the UI doesn't have to
this will also ensure that UI doesn't use a different front end library
that will yield different results than the underlying Python code
2018-05-07 13:00:01 -07:00
AlanCoding
1e38abff91 accurate 400 messages for undefined filename namespaces 2018-05-07 15:39:10 -04:00
Ben Thomasson
e5dd3a9626 Merge pull request #1257 from benthomasson/network_ui_unit_tests
Adds unit tests for network_ui
2018-05-07 14:45:34 -04:00
Alan Rominger
459362daa5 Merge pull request #1706 from ansible/AlanCoding-patch-1
Fix syntax error in docs
2018-05-07 14:42:09 -04:00
Alan Rominger
ea2ddd3bba Fix syntax error in docs 2018-05-07 14:14:09 -04:00
Ben Thomasson
33ef12002f Adds websocket for network_ui to the installer version of nginx.conf 2018-05-07 13:42:29 -04:00
Jake McDermott
8e75cabcfa Merge pull request #1695 from jakemcdermott/fix-1614-1615-1616
disable activity stream for relaunched job labels, fix ui activity stream links
2018-05-07 12:57:44 -04:00
Jake McDermott
99e722e8e4 Merge pull request #1694 from jakemcdermott/job-results/remove-watch
job results - remove all watchers and move code into components
2018-05-07 12:57:26 -04:00
Jake McDermott
654ab0f007 Merge pull request #1704 from marshmalien/fix/1702-ff-job-results-panel-width
Fix Job Results panel width in Firefox
2018-05-07 12:54:33 -04:00
Marliana Lara
327d673301 Merge pull request #1701 from marshmalien/fix/job-template-form-extra-vars-cm-error
Set id on extra_vars job template form field
2018-05-07 12:20:10 -04:00
Marliana Lara
1488697001 Fix job results panel width in firefox 2018-05-07 12:19:39 -04:00
Marliana Lara
af4e86d70e Set Id on extra_vars job template form field 2018-05-07 11:19:30 -04:00
Alan Rominger
f4aaabaae7 Merge pull request #1698 from AlanCoding/transactions_gone_crazy
do not check for migration version if not migrating
2018-05-07 11:06:05 -04:00
Marliana Lara
de22fd40fa Merge pull request #1679 from marshmalien/fix/1442-extra-vars-api-error-validation
Fix job template extra vars form validation
2018-05-07 10:14:36 -04:00
Alan Rominger
0015df148b Merge pull request #1696 from AlanCoding/lock_wait
Add log message when locks are holding up jobs
2018-05-07 09:59:52 -04:00
Alan Rominger
f4a946f228 Merge pull request #1697 from AlanCoding/tower_json_err
Fix error-handling bug for tower inventory source
2018-05-07 09:47:57 -04:00
AlanCoding
e099c455d2 do not check for migration version if not migrating 2018-05-07 08:56:24 -04:00
AlanCoding
b275d13da2 fix error-handling bug for tower inventory source 2018-05-07 08:38:44 -04:00
AlanCoding
5a37184e7c add log message when locks are holding up jobs 2018-05-07 07:44:08 -04:00
Jake McDermott
63c268f9c5 don't render activity stream links for labels 2018-05-07 07:22:25 -04:00
Jake McDermott
363266fb89 fix links to workflow jobs on activity stream 2018-05-07 07:22:16 -04:00
Jake McDermott
d00b8549b4 disable activity stream for relaunched job label associations 2018-05-07 07:22:03 -04:00
Jake McDermott
42b88c6400 move directive code to components 2018-05-07 02:24:11 -04:00
Jake McDermott
58beb9640c remove watchers 2018-05-07 02:23:56 -04:00
Jake McDermott
a3fdd244b5 add message service 2018-05-07 02:23:39 -04:00
Jake McDermott
34a2128af8 Merge pull request #1684 from jakemcdermott/job-results/tag-lists
show job and skip tags as collapsable label lists
2018-05-04 14:45:55 -04:00
Jake McDermott
77a8abbc25 Merge pull request #1685 from jakemcdermott/filterable-if-filterable
show filterable:true for filterable fields
2018-05-04 12:57:20 -04:00
Jake McDermott
3d752997ee filter empty tags 2018-05-04 12:24:01 -04:00
Marliana Lara
23da2487d7 Merge pull request #1683 from marshmalien/fix/1650-current-system-config
Fix undefined form error in Configuration System form
2018-05-04 10:58:58 -04:00
Alan Rominger
8067113368 Merge pull request #1689 from AlanCoding/error_error
Avoid error in templating error
2018-05-04 10:43:49 -04:00
Alan Rominger
0fae43fc70 Merge pull request #1687 from AlanCoding/cannot_find_org
Avoid DB action in signal, confusing logs
2018-05-04 10:42:55 -04:00
Graham Mainwaring
617d6a8cf4 Merge pull request #1851 from ghjm/devel
Move data migration docs to root dir
2018-05-04 10:12:40 -04:00
Graham Mainwaring
c144bb99cf Move data migration docs to root dir 2018-05-04 10:11:21 -04:00
Graham Mainwaring
6db32e5c3e Merge pull request #1848 from rooftopcellist/data_migration_docs
Adds data migration docs for upgrades
2018-05-04 10:07:03 -04:00
AlanCoding
c5d49be2c1 avoid error in templating error 2018-05-04 08:39:09 -04:00
AlanCoding
6d7f772e98 avoid DB action in signal, confusing logs 2018-05-04 08:12:40 -04:00
adamscmRH
b281aaa0e5 Adds data migration docs for upgrades 2018-05-03 23:49:03 -04:00
Jake McDermott
0682d19d5e show filterable:true for filterable fields 2018-05-03 17:37:19 -04:00
Jake McDermott
5ada6f6db2 show job and skip tags as collapsable label lists 2018-05-03 14:40:23 -04:00
Marliana Lara
34408a8ef9 Fix undefined currentSystem form error 2018-05-03 14:29:17 -04:00
Ben Thomasson
af4367b222 Adds unit tests for network_ui
* Covers 100% of non-migration python lines of code
2018-05-03 14:13:33 -04:00
Michael Abashian
a9c9646060 Merge pull request #1680 from ansible/jakemcdermott-patch-smoke
remove redundant navbar checks
2018-05-03 13:46:47 -04:00
Jake McDermott
6f9da515b1 Update smoke.js 2018-05-03 13:43:47 -04:00
Marliana Lara
f3b24b8c55 Merge pull request #1676 from marshmalien/fix/1674-remove-portal-mode-breadcrumb
Remove portalMode.myJobs from portal mode breadcrumb
2018-05-03 13:42:39 -04:00
Jake McDermott
21a973752b remove redundant navbar checks 2018-05-03 13:41:12 -04:00
Marliana Lara
187534dba8 Fix job template extra vars form validation 2018-05-03 13:29:04 -04:00
Jake McDermott
b9f9104f57 Merge pull request #1669 from jakemcdermott/fix-1668
use icontains when expected for searches
2018-05-03 13:19:58 -04:00
Chris Meyers
2c118fc82d Merge pull request #1678 from chrismeyersfsu/fix-better_cluster_log_messages
better cluster membership policy log messages
2018-05-03 11:48:18 -04:00
chris meyers
5668d215fd better cluster membership policy log messages 2018-05-03 11:44:46 -04:00
Jake McDermott
1ed9f609fc use correct param names when calling encodeParams 2018-05-03 11:42:27 -04:00
Jake McDermott
2b1bef54ce add failing unit tests 2018-05-03 11:41:56 -04:00
Michael Abashian
da5781bfc9 Merge pull request #1661 from mabashian/679-searchable-fields
Consume searchable fields from api options response
2018-05-03 11:21:12 -04:00
Wayne Witzel III
538c15141a Merge pull request #1675 from wwitzel3/fix-879
Bulk update host field to null for JobEvents
2018-05-03 11:15:15 -04:00
Marliana Lara
42d33e5135 Remove portal mode breadcrumb 2018-05-03 10:58:42 -04:00
Wayne Witzel III
91a2466650 Bulk update host field to null for JobEvents 2018-05-03 10:48:36 -04:00
AlanCoding
ec1e94376c correctly check credential permission on WFJT copy 2018-05-03 07:42:59 -04:00
Jake McDermott
2abf959d84 Merge pull request #1648 from marshmalien/ux-hit-list/add-buttons
UX Hit List - Add Buttons
2018-05-03 01:27:24 -04:00
Jake McDermott
771dbe2ffe Merge pull request #1659 from marshmalien/fix/ux-hit-list
UX Hit List
2018-05-03 01:08:46 -04:00
Jake McDermott
143012318d Merge pull request #1660 from jakemcdermott/update-1534
update job urls for models
2018-05-02 18:44:39 -04:00
Jake McDermott
5b3bfa31df Merge pull request #1647 from jakemcdermott/fix-1534-and-713
add persistent jobs->results filtering, prior version compatibility for job urls
2018-05-02 18:42:54 -04:00
Jake McDermott
127883f104 add prior version url compatibility 2018-05-02 18:21:25 -04:00
Jared Tabor
0715773987 Merge pull request #1632 from jaredevantabor/1507-error-message
fixes error handling with groups service, sources service
2018-05-02 14:22:45 -07:00
Jared Tabor
e792abbdc1 Merge pull request #1646 from jaredevantabor/1476-cancel-job
Changes "Cancel" to "OK" on cancel-job-prompt modal
2018-05-02 14:16:42 -07:00
Jared Tabor
3b7a50f3e9 Merge pull request #1645 from jaredevantabor/1472-popover-traceback
Don't render tooltips that shouldn't exist
2018-05-02 14:15:03 -07:00
Jared Tabor
2baae8f75b Merge pull request #1640 from jaredevantabor/1502-AS-after-networking
Fix Activity Stream after visiting the network UI
2018-05-02 14:14:49 -07:00
Marliana Lara
8b6ee8d360 Fix all of the issues for the 3.3 UX Hit List
* Portal mode job header
* Move edit buttons to beginning of action buttons
* Dashboard job row spacing
* Decrease toggle button height
* Remove extra scrollbars from job results standard out
2018-05-02 16:05:32 -04:00
Marliana Lara
2140daf11e Fix add button display property and add tooltips
* Add tooltips to list add buttons of instance groups, instances, and applications.
2018-05-02 15:55:23 -04:00
AlanCoding
59744e421f send our oddball loggers to external logger too 2018-05-02 15:33:58 -04:00
mabashian
84c0fdfa4a Removed unused function 2018-05-02 14:21:43 -04:00
Jake McDermott
45ffe7a955 update api-ui job urls 2018-05-02 14:17:28 -04:00
mabashian
368a037062 Remove non-filterable fields from search key and treat searches using those keys like string searches. 2018-05-02 14:17:03 -04:00
Michael Abashian
1d6b15a6a7 Merge pull request #1627 from mabashian/user-pass-validation
Clear invalid password error if password field is completely cleared
2018-05-02 14:02:22 -04:00
Michael Abashian
48b0d4445c Merge pull request #1625 from mabashian/1621-team-org-list
Fixed team list org sorting
2018-05-02 14:02:00 -04:00
Michael Abashian
342ef8f2c9 Merge pull request #1624 from mabashian/1493-copy-inv-list
Reload state after copying inventory to update list
2018-05-02 14:01:33 -04:00
Michael Abashian
5cda2c94ac Merge pull request #1620 from mabashian/1589-relaunch-passwords
Fixed error showing vault password prompts on relaunch
2018-05-02 14:01:06 -04:00
Alan Rominger
b62dfa3e49 Merge pull request #1658 from AlanCoding/check_wfjt_creds
Check WFJT credentials fix
2018-05-02 13:52:30 -04:00
Chris Meyers
a50358afc5 Merge pull request #1638 from chrismeyersfsu/fix-isolated_heartbeat
control celery routes using celery router
2018-05-02 13:51:58 -04:00
Jared Tabor
7a3fb02791 Aligns text for canceling/deleting a job on the jobs list & the stdout page 2018-05-02 10:44:04 -07:00
Ryan Petrello
ad11653975 Merge pull request #1636 from ryanpetrello/bad-license-no-schedules
don't run scheduled jobs if there isn't a valid license
2018-05-02 13:36:29 -04:00
AlanCoding
902b1af417 fix access check for wfjt node copy 2018-05-02 13:24:57 -04:00
Alan Rominger
65b342ae73 Merge pull request #1654 from AlanCoding/pluralize_again
Update access check to plural creds
2018-05-02 13:08:04 -04:00
Chris Meyers
e24eef1d13 Merge pull request #1656 from chrismeyersfsu/fix-instance_group_creation_required
only require the name field when creating instance group
2018-05-02 13:07:46 -04:00
chris meyers
9f745dd3b8 control celery routes using celery router
* Each time a route is needed (i.e. when a task is sumitted to celery).
The router will be queried. This is ideal. With the previous method we
had to consider how a change in the routes would propogate to all celery
workers and nodes.

* fully describe the default awx queue
* Our dynamic queue registration would correct awx_private_queue.
However, we don't want celery to even create an "invalid"/extra
queue-exchange-route. This change makes sure we don't create extranious
things in rabbitmq.

* reduce the cluster queue registration output. Only output when the
queue registration list changes.
2018-05-02 12:57:36 -04:00
chris meyers
38885580b4 only require the name field when creating instance group 2018-05-02 12:32:08 -04:00
Ryan Petrello
30af0a1b44 don't run scheduled jobs if there isn't a valid license 2018-05-02 11:52:51 -04:00
Christian Adams
0e4b0e86bf Merge pull request #1642 from rooftopcellist/session_parity
add auth cookies
2018-05-02 11:47:59 -04:00
AlanCoding
652f837622 update access check to plural creds 2018-05-02 11:37:38 -04:00
Ben Thomasson
f6600872b0 Merge pull request #1643 from benthomasson/network_ui_export_yaml_fix
Fixes timeout when exporting YAML from network UI
2018-05-02 11:15:31 -04:00
Ben Thomasson
d386e89af2 Merge pull request #1626 from benthomasson/network_ui_websocket_auth_fix
Adds authentication checking to the network UI websocket.
2018-05-02 11:15:19 -04:00
Marliana Lara
7007e46b8a Remove add button dropdown gap and update border radius
* Fix linting error
2018-05-02 10:57:24 -04:00
Alan Rominger
72655961e4 Merge pull request #1630 from AlanCoding/no_restart_try2
Replace service restart with new handler changing dynamically with settings
2018-05-02 10:32:57 -04:00
Ben Thomasson
89cabf7ca0 Fixes timeout when exporting YAML from network UI
Exporting YAML on dev envs with honcho and in production environments
would timeout.  This was due to daphne handling the export request
in dev but not in production.  This fixes network_ui to use uwsgi instead
of daphne to handle the request.
2018-05-02 10:31:36 -04:00
Ben Thomasson
d8a1b78316 Adds authentication checking to the network UI websocket.
Adds user authentication checking to the websocket connect
callback function. This prevents unauthenicated users
from making changes to the network canvas or viewing the
data on the canvas by getting snapshots of the diagram.
2018-05-02 10:28:24 -04:00
Antony PERIGAULT
4090fe6d11 Fix functional tests 2018-05-02 16:25:44 +02:00
AlanCoding
ac20aa954a Replace logging-related restart with dynamic handler
refactor existing handlers to be the related
  "real" handler classes, which are swapped
  out dynamically by external logger "proxy" handler class

real handler swapout only done on setting change

remove restart_local_services method
get rid of uWSGI fifo file

change TCP/UDP return type contract so that it mirrors
  the request futures object
add details to socket error messages
2018-05-02 09:47:22 -04:00
Marliana Lara
dce52d0552 Update the Add button content and styles
* Change the text from "Add" to "+"
* Update the e2e test to check for an id #button-add
2018-05-02 09:35:11 -04:00
Antony PERIGAULT
9bfac4f44b New feature: Add SAML users as organization admins 2018-05-02 15:03:48 +02:00
Antony PERIGAULT
13cd57feba Revert "Map users in organizations based on saml groups"
This reverts commit b4e0ff650165e6b0ab08d9a78be85f2f46182b94.
2018-05-02 15:03:48 +02:00
Antony PERIGAULT
eab417cf8b Map users in organizations based on saml groups 2018-05-02 14:54:20 +02:00
Jake McDermott
0c8b2a9872 remove unused service 2018-05-02 01:06:15 -04:00
Jake McDermott
83d5fef67c conditionally hide scroll 2018-05-02 01:06:04 -04:00
Jake McDermott
b64990562a Merge pull request #1644 from jaredevantabor/activity-stream-fixes
Activity stream fixes
2018-05-01 19:34:41 -04:00
Jared Tabor
cf0efe969e Changes "Cancel" to "OK" on cancel-job-prompt modal 2018-05-01 16:20:44 -07:00
Jared Tabor
63542c3b43 Don't render tooltips that shouldn't exist 2018-05-01 16:05:22 -07:00
Jake McDermott
359140f733 Merge pull request #1634 from mabashian/1486-relaunch
Update relaunch button on details page in real time as status changes
2018-05-01 18:48:05 -04:00
Jared Tabor
a840ec4089 Fixes jobs' page activity stream link, and remove AS button on job results page 2018-05-01 15:36:47 -07:00
Jared Tabor
a79632968c Fixes job template schedule link from Activity Stream 2018-05-01 15:19:44 -07:00
adamscmRH
dead84da1a add auth cookies 2018-05-01 16:57:17 -04:00
Jared Tabor
079d8e2565 fixes issue with ui-view for network UI
and closes network UI socket connections after closing the network UI
2018-05-01 13:43:33 -07:00
Christian Adams
fd4f78a64c Merge pull request #1637 from rooftopcellist/exp_setting_update
Token Expiration Setting Update
2018-05-01 15:05:33 -04:00
adamscmRH
1963ab689a rm an unnecessary uwsgi restart 2018-05-01 14:12:00 -04:00
Chris Meyers
cbc1fc2faa Merge pull request #1635 from chrismeyersfsu/fix-tower_instance_group_read_only
make tower instance group name field read-only
2018-05-01 13:54:52 -04:00
Chris Meyers
22c2bd0257 Merge pull request #1629 from chrismeyersfsu/fix-stable_broadcast_queue_name
broadcast queues get a per-node stable queue name
2018-05-01 13:53:25 -04:00
chris meyers
202ddae813 make tower instance group name field read-only 2018-05-01 13:31:24 -04:00
chris meyers
648d9165ff broadcast queues get a per-node stable queue name
* Using Kombu's default Broadcast() constructor requires only 1
parameter. That parameter defines the exchange name and the queue name
is randomly generated per-node.
* This caused problems if/when celery enters an infinite restart loop
because too many rabbit queues get created and rabbit OOM's
(gracefully).
* To remedy this we tell Broadcast the queue name to use, which is
derived from some constant + the node name so that the per-node queue
name is stable.
2018-05-01 13:09:10 -04:00
mabashian
5ef297aec1 Update relaunch button on details page in real time as status changes 2018-05-01 12:13:16 -04:00
Jared Tabor
421293c8c5 fixes error handling with groups service, sources service 2018-04-30 15:11:34 -07:00
mabashian
e45be8155e Clear invalid password error if password field is completely cleared 2018-04-30 14:57:05 -04:00
Jake McDermott
f7effd82dc Merge pull request #1828 from jakemcdermott/patch-tests
patch smoke test
2018-04-30 14:22:29 -04:00
Ben Thomasson
05556809d3 Merge pull request #1618 from benthomasson/network_ui_toolbox_title_fix
Fixes scroll of devices over inventory toolbox title.
2018-04-30 13:59:49 -04:00
Ben Thomasson
90813c9be6 Merge pull request #1617 from benthomasson/network_ui_toolbox_drag_fix
Fixes dragging devices out of the inventory toolbox
2018-04-30 13:59:17 -04:00
Ben Thomasson
58d47a1b0b Merge pull request #1622 from benthomasson/network_ui_inventory_redirect
Fixes 301 redirects on topology websocket connection
2018-04-30 13:58:25 -04:00
Jake McDermott
b71a8af62d patch smoke test 2018-04-30 13:51:43 -04:00
Christian Adams
dab766239f Merge pull request #1613 from rooftopcellist/update_oauth2_filter
granularly prevent filtering oauth secrets
2018-04-30 12:11:24 -04:00
Shane McDonald
17b6051233 Merge pull request #1826 from shanemcd/update-install-docs
Update install docs
2018-04-30 12:05:11 -04:00
Shane McDonald
6f4ef29ae7 Update install docs
- Document openshift_skip_tls_verify
- Document openshift_pg_emptydir
- Add minimum minishift specs
- Move minishift section below variable reference
2018-04-30 12:02:57 -04:00
mabashian
f8a9402d4b Fixed team list org sorting 2018-04-30 11:55:54 -04:00
adamscmRH
4197a9fd35 granularly prevent filtering oauth secrets 2018-04-30 11:54:23 -04:00
mabashian
fcc5549ec9 Reload state after copying inventory to update list 2018-04-30 11:41:26 -04:00
Ben Thomasson
fd38c62e7e Fixes 301 redirects on topology websocket connection
Fixes 301 redirects on creation of the topology websocket
connection by adding a trailing slash to the websocket URI.
2018-04-30 10:59:54 -04:00
mabashian
24e363888a Fixed error showing vault password prompts on relaunch 2018-04-30 10:47:41 -04:00
Ben Thomasson
456bf5d04d Fixes scroll of devices over inventory toolbox title.
Fixes a defect where the devices in the inventory toolbox
would scroll over the toolbox title.   This moves the title
later in the rendering order and adds a background to the title.
2018-04-30 10:40:30 -04:00
Ben Thomasson
10fd65bea0 Fixes dragging devices out of the inventory toolbox
Fixes a defect where devices were dropped onto the canvas
if they were moved a small amount after being selected in
the inventory toolbox.   This fix checks that the mouse
has cleared the boundary of the inventory toolbox before
dropping it onto the canvas.
2018-04-30 10:26:09 -04:00
Ryan Petrello
1e4c2f6d4f Merge pull request #1814 from jaredevantabor/1811-sockets
Adds liveUpdates flag for the UI back in
2018-04-27 16:24:16 -04:00
John Mitchell
7781667977 Merge pull request #1612 from jlmitch5/removePanelCloseIcon
only show close icon in templates panel header when applicable
2018-04-27 15:44:34 -04:00
John Mitchell
aa6fc6d8bf only show close icon in templates panel header when applicable 2018-04-27 15:38:12 -04:00
Jared Tabor
791cc06e27 Adds liveUpdates flag for the UI back in
This line was lost in the 3.2.4 merge
2018-04-27 12:33:57 -07:00
Jared Tabor
28d6983be0 Merge pull request #1610 from jaredevantabor/fix-sockets
Fix sockets
2018-04-27 12:31:39 -07:00
Alan Rominger
f122fb4e1d Merge pull request #1321 from AlanCoding/order_field_validate
Use field validation in both filter classes
2018-04-27 14:34:07 -04:00
John Mitchell
1344e056fa Merge pull request #1597 from jlmitch5/oauthNewFields
Oauth new fields
2018-04-27 14:22:21 -04:00
Jared Tabor
f5c4f9a9df Adds liveUpdates flag for the UI back in
This line was lost in the 3.2.4 merge
2018-04-27 11:15:20 -07:00
John Mitchell
11560ab7bb populate org and description on app detail view 2018-04-27 13:05:34 -04:00
Ryan Petrello
327d3c3f5b Merge pull request #1810 from ryanpetrello/devel
restore the celery hostname
2018-04-27 12:20:30 -04:00
Ryan Petrello
8bc8bb1bd6 restore the celery hostname 2018-04-27 12:16:16 -04:00
Ryan Petrello
0e27d62e7a Merge pull request #1608 from ryanpetrello/celery-whooooooooo-aaaaaare-you-who-who-who-whoooo
restore the celery hostname
2018-04-27 12:15:33 -04:00
Ryan Petrello
c8e416f0b7 restore the celery hostname 2018-04-27 11:40:58 -04:00
John Mitchell
6ab64590d7 update app activity stream target to o_auth2_application 2018-04-27 11:37:17 -04:00
Jake McDermott
c31dd4994e Merge pull request #1606 from marshmalien/fix/1536-job-results-ux
Fix job result detail and standard out panel styles
2018-04-27 11:34:41 -04:00
Ryan Petrello
732698440f Merge pull request #1809 from shanemcd/devel
Merge branch 'release_3.3.0' into awx/devel
2018-04-27 11:33:52 -04:00
Jake McDermott
5537431e05 Merge pull request #1598 from jakemcdermott/project-host-details-and-traceback-label
add click-to-open project host details and improve traceback details label
2018-04-27 11:31:59 -04:00
Marliana Lara
35bd98eb49 Fix job result detail and standard out panel styles 2018-04-27 10:31:36 -04:00
Shane McDonald
4fdf462b98 Merge branch 'release_3.3.0' into awx/devel
# Conflicts:
#	awx/ui/client/src/standard-out/standard-out-factories/main.js
#	awx/ui/package.json
2018-04-27 10:17:59 -04:00
Jared Tabor
1b013eb2e3 Merge pull request #1577 from jaredevantabor/network-dep-cleanup
Removes dupclicate Angular import
2018-04-26 14:36:42 -07:00
John Mitchell
f99792e604 make selects work with ng required 2018-04-26 17:06:20 -04:00
Jake McDermott
af44a12e7b Merge pull request #1600 from wenottingham/and-the-years-start-coming-and-they-dont-stop-coming
Fix another stray 2017 in the UI.
2018-04-26 14:27:30 -04:00
Bill Nottingham
23a009f8bb Fix another stray 2017 in the UI. 2018-04-26 14:03:57 -04:00
Alan Rominger
22e763a44c Merge pull request #1595 from AlanCoding/revert_team
Revert allowing org members to see teams
2018-04-26 14:02:27 -04:00
AlanCoding
c88303ca67 revert change to allow org members to see teams 2018-04-26 13:37:08 -04:00
Jared Tabor
41f0b2b703 Merge pull request #1801 from jaredevantabor/update-installmd
Updates README.md to include Node and NPM version req's
2018-04-26 10:34:49 -07:00
Jake McDermott
61757fb2b1 improve traceback details label 2018-04-26 13:24:41 -04:00
John Mitchell
3bcc48402c add support for applications activity stream 2018-04-26 13:23:03 -04:00
John Mitchell
72254758f6 add support for additional selects 2018-04-26 13:22:39 -04:00
Jake McDermott
9cc9bdc4b5 clickable stdout events and host details modal for projects 2018-04-26 13:21:28 -04:00
Jared Tabor
da79f1450c Merge pull request #1576 from jaredevantabor/1021-system-job-cleanup
Cleanup the Cleanup
2018-04-26 10:18:34 -07:00
Jared Tabor
5f38b4fde4 removes code/references related to cleanup_facts mgmt jobs, and their schedules 2018-04-26 09:35:34 -07:00
Jared Tabor
b154949639 Removes dupclicate Angular import, and removes tower.app.js module from network UI 2018-04-26 09:22:25 -07:00
AlanCoding
dff0f2f9ed Revert "update tests for org members seeing teams"
This reverts commit fe04f69e89.
2018-04-26 12:21:50 -04:00
Ryan Petrello
a009d21edc Merge pull request #1592 from ryanpetrello/release_3.3.0
3.2.4 -> 3.3.0
2018-04-26 11:34:16 -04:00
Ryan Petrello
1eb5e98743 Merge branch 'release_3.2.4' into release_3.3.0 2018-04-26 11:10:28 -04:00
Alan Rominger
074302b573 Merge pull request #1588 from AlanCoding/notification_update_fields
Avoid unrelated errors saving notification
2018-04-26 10:19:40 -04:00
Alan Rominger
144e89f0a9 Merge pull request #1587 from AlanCoding/workflow_job_log
Add corresponding log for WorkflowJob submission
2018-04-26 09:50:05 -04:00
AlanCoding
52d8d851fe avoid unrelated errors saving notification 2018-04-26 09:36:43 -04:00
AlanCoding
84d9273012 add corresponding log for WorkflowJob submission 2018-04-26 09:30:19 -04:00
Matthew Jones
ccada295ee Merge pull request #1586 from ansible/fix_missing_instance_group
Fix an issue where missing instance group would cause an error
2018-04-26 09:21:37 -04:00
Matthew Jones
2f3d7b17f6 Fix an issue where missing instance group would cause an error
We'll now default to queue submission to the basic management queue
2018-04-26 09:11:08 -04:00
AlanCoding
6306ac2825 use field validation in both filter classes 2018-04-26 07:23:20 -04:00
Jake McDermott
0046b25fa0 Merge pull request #1578 from jakemcdermott/fix-jobz-expanded-host-event
ensure host modal can be visible when details panel is collapsed
2018-04-26 00:31:43 -04:00
Jake McDermott
8fa224f846 ensure host modal can be visible when details panel is collapsed 2018-04-26 00:03:53 -04:00
John Mitchell
45d037a2cc don't prefer destructuring for arrays within es-lint 2018-04-25 21:12:13 -04:00
Jared Tabor
b05becf302 Updates README.md to include Node and NPM version req's 2018-04-25 15:06:24 -07:00
Jake McDermott
9809ddb84c Merge pull request #1575 from mabashian/1522-expand-results
Implemented expand/collapse job results
2018-04-25 17:56:53 -04:00
Michael Abashian
8f6bb15acf Merge pull request #1564 from mabashian/1444-prompt-socket-v2
Hold off on refreshing lists when launch prompt modal is open
2018-04-25 17:00:02 -04:00
mabashian
fe7a0a63b9 Implemented expand/collapse job results 2018-04-25 16:56:11 -04:00
Ryan Petrello
6e3c35dba8 Merge pull request #1574 from ryanpetrello/select-poll
use select.poll() instead of select.select() for file descriptors
2018-04-25 16:49:41 -04:00
Ryan Petrello
f0d3713e99 use select.poll() instead of select.select() for file descriptors
see: https://github.com/ansible/tower/issues/861
see: https://github.com/pexpect/pexpect/pull/474
2018-04-25 16:29:55 -04:00
Christian Adams
5d82ee5a27 Merge pull request #1572 from rooftopcellist/radius_auth_fix
Radius auth fix
2018-04-25 16:17:31 -04:00
Ryan Petrello
69b10feecd Merge pull request #1571 from ryanpetrello/remove-old-fact-cleanup
remove the legacy fact cleanup system template
2018-04-25 16:14:38 -04:00
Christian Adams
2476dc1a61 Merge pull request #1800 from rooftopcellist/auth-backends-fix
fixes sso auth backends
2018-04-25 15:20:25 -04:00
Bill Nottingham
523613c64c Merge pull request #1554 from wenottingham/(don't)-use-the-force-rey
Only force role updates when we actually check out a new version.
2018-04-25 15:11:26 -04:00
adamscmRH
90308066af update radius backend for dr1.3.3 2018-04-25 15:04:46 -04:00
Ryan Petrello
0bc5665e92 remove the legacy fact cleanup system template
see: https://github.com/ansible/tower/issues/1021
2018-04-25 14:20:19 -04:00
Wayne Witzel III
9319bbce8d Merge pull request #1565 from wwitzel3/fix-703
Allow real null to be searched in host_filter
2018-04-25 13:47:29 -04:00
Bill Nottingham
b3ca7acb41 Only pass --force if we have an scm_result (i.e., we ran an actual checkout/revision change.) 2018-04-25 13:46:46 -04:00
Marliana Lara
7f87cd9c47 Merge pull request #1570 from marshmalien/fix/1550-ig-readonly-org-admins
[UI] Org Admin permissions for Instance Groups
2018-04-25 13:41:40 -04:00
adamscmRH
db1072563f fixes sso auth backends 2018-04-25 13:15:01 -04:00
Michael Abashian
cb1f25393a Merge pull request #1543 from mabashian/1447-prompt-strings
Mark prompt strings for translation
2018-04-25 13:02:01 -04:00
Marliana Lara
9192829de2 [UI] Org Admin permissions for Instance Groups 2018-04-25 12:54:08 -04:00
Wayne Witzel III
14b0298217 Merge pull request #1566 from wwitzel3/make-awx-link
Add awx-link make target
2018-04-25 12:39:25 -04:00
mabashian
ac4697e93b Fixed bug displaying default cred with password when creating a schedule 2018-04-25 12:01:10 -04:00
Wayne Witzel III
7151071779 Add awx-link make target 2018-04-25 11:55:57 -04:00
mabashian
cf38faa899 Use string interpolation rather than passing action text in via a var 2018-04-25 11:51:27 -04:00
mabashian
82f2783c97 Mark prompt strings for translation 2018-04-25 11:51:27 -04:00
Wayne Witzel III
404b476576 Allow real null to be searched in host_filter 2018-04-25 11:46:21 -04:00
Jared Tabor
e5a1049edf Merge pull request #1402 from jaredevantabor/vars-component
Adds atCodeMirror directive
2018-04-25 08:43:12 -07:00
Michael Abashian
33a080d9dc Merge pull request #1525 from mabashian/schedule-extra-vars-fixes
Populate JT schedule add with default extra vars when promptable.
2018-04-25 11:40:24 -04:00
Michael Abashian
91ab129d9c Merge pull request #1395 from mabashian/1134-schedule-cred-password
Prevent credentials with passwords in schedule/workflow node prompts
2018-04-25 11:40:00 -04:00
Shane McDonald
5313e069ca Merge pull request #1799 from shanemcd/devel
Fix Helm PostgreSQL deployment name
2018-04-25 11:22:39 -04:00
Michael Abashian
b14a7eda35 Merge pull request #1499 from mabashian/1458-vault-pass-prompt
Fixed bug where vault password prompt was not being hidden after removing default cred
2018-04-25 11:20:49 -04:00
mabashian
d44d28beba Populate JT schedule add with default extra vars when promptable. Hide schedule vars for everything except JT's with promptable extra vars 2018-04-25 11:19:43 -04:00
Shane McDonald
e5faf0798f Always pull memcached image 2018-04-25 11:17:37 -04:00
Shane McDonald
e623c3d7cd Don’t hardcode Helm PostgreSQL deployment name 2018-04-25 11:17:26 -04:00
mabashian
eaa2227890 Replace styles with classes and move string to strings file 2018-04-25 11:08:08 -04:00
mabashian
895ad70a12 Prevent users from attempting to create a template schedule or workflow node with credentials that require passwords 2018-04-25 11:08:08 -04:00
Michael Abashian
d5c2af0492 Merge pull request #1528 from mabashian/1489-wfjt-schedule-prompt
Adds prompting to workflow schedules when a survey is present on the wfjt
2018-04-25 11:00:34 -04:00
Michael Abashian
e62a8797ae Merge branch 'release_3.3.0' into 1458-vault-pass-prompt 2018-04-25 10:59:57 -04:00
Alan Rominger
4919198c1d Merge pull request #1561 from AlanCoding/event_missing_stuff
Add handling for missing related items of events
2018-04-25 10:51:31 -04:00
mabashian
ea80fb8497 Hold off on refreshing lists when ws-jobs events come in and the launch modal is open to prevent the modal from getting wiped 2018-04-25 10:51:13 -04:00
Alan Rominger
c966492222 Merge pull request #1340 from AlanCoding/more_ig_validation
More Instance Group validation
2018-04-25 10:40:52 -04:00
Chris Meyers
1bf3624db7 Merge pull request #1548 from chrismeyersfsu/fix-very_round_up_instance_policy_percentage
ensure instance policy percentages round up
2018-04-25 10:37:10 -04:00
AlanCoding
b7f280588c add handling for missing related items of events 2018-04-25 10:33:43 -04:00
chris meyers
14c6265b27 ensure instance policy percentages round up 2018-04-25 10:11:40 -04:00
AlanCoding
c691d16b11 validate instance group host list 2018-04-25 09:45:30 -04:00
Matthew Jones
c6e76ec6c7 Merge pull request #1557 from ansible/instance_group_rebuild_on_save
Update group cluster policies on save, not just created
2018-04-25 08:57:47 -04:00
Matthew Jones
4442e7de25 Merge pull request #1555 from ansible/no_instancegroup_for_workflowjob
Remove Instance Group concept/usage from WorkflowJobs
2018-04-25 08:30:40 -04:00
Matthew Jones
4af8a53232 Remove Instance Group concept/usage from WorkflowJobs
This also relaxes some of the task manager rules on Instance Groups
down the full stack such that workflow jobs tend to shortcut the
processing or omit it altogether.

This lets the workflow job spawning logic exist outside of the
instance group queues, which it doesn't need to participate in in the
first place.
2018-04-25 08:29:49 -04:00
Wayne Witzel III
ce65914143 Merge pull request #1556 from ryanpetrello/fix-1490
fix a bug in custom virtualenv when Project.organization is None
2018-04-25 07:01:47 -04:00
Matthew Jones
05419d010b Update group cluster policies on save, not just created
Currently updating policy settings doesn't trigger a re-evaluation of
instance group policies, this makes sure we re-evaluate in the event
that anything changes.
2018-04-24 21:40:11 -04:00
Ryan Petrello
c98ede2f27 fix a bug in custom virtualenv when Project.organization is None
see: https://github.com/ansible/tower/issues/1490
2018-04-24 16:53:10 -04:00
Marliana Lara
2d9c4cff32 Merge pull request #1509 from marshmalien/fix/1380-org-admin-ig-access
Show instance groups tab if user is an Org Admin
2018-04-24 14:30:37 -04:00
Chris Meyers
f8b547e528 Merge pull request #1552 from chrismeyersfsu/fix-policy_not_required_field
policy fields not required
2018-04-24 14:23:35 -04:00
Jake McDermott
42e5f6ad33 Merge pull request #1538 from jakemcdermott/fix-smoke-nav
don't anticipate ui-disablement on navbar click to current page
2018-04-24 14:08:37 -04:00
chris meyers
619ec905b2 policy fields not required
* They were previously not required until a min/max was enforced. This
caused the fields to, unintentionally, be required.
* This fix makes the policy fields not required and provides sane defaults.
2018-04-24 14:05:38 -04:00
John Mitchell
c8442d705b Merge pull request #1530 from jlmitch5/newListXSSSanitize
specifically bind html only the row items that need it for new lists …
2018-04-24 13:58:46 -04:00
Alan Rominger
8765de732e Merge pull request #1546 from AlanCoding/named_words
use named formatting in error messages
2018-04-24 13:43:48 -04:00
Alan Rominger
7c0fdd5f05 Merge pull request #1540 from AlanCoding/modified_by_alice
Do not update modified_by for system fields
2018-04-24 12:25:03 -04:00
AlanCoding
13550acb91 fix cross-talk between JT-proj due to arg mutability 2018-04-24 11:29:33 -04:00
AlanCoding
7c621a91ee use named formatting in error messages 2018-04-24 11:26:36 -04:00
Alan Rominger
3b129d784a Merge pull request #1526 from AlanCoding/network_logs
Add more logs for network canvas activity
2018-04-24 11:14:22 -04:00
Michael Abashian
311e0343df Merge pull request #1520 from mabashian/1446-verbosity-prompt-preview
Show verbosity on prompt preview tab
2018-04-24 11:04:26 -04:00
AlanCoding
68975572f3 do not update modified_by for system fields 2018-04-24 10:48:23 -04:00
Marliana Lara
fd52fe9b96 Merge pull request #1527 from marshmalien/fix/1415-Tower-group-name-readonly
Make tower instance group name input field read-only
2018-04-24 07:40:24 -04:00
Jake McDermott
155daf47ea don't anticipate spinny on navbar click to current page 2018-04-24 01:19:53 -04:00
Jake McDermott
43aab10d18 Merge pull request #1532 from jaredevantabor/adhoc-host-events
Adhoc host events
2018-04-24 00:31:27 -04:00
Jake McDermott
d0c8c7d5ce Merge pull request #1533 from jaredevantabor/1436-angular-in-stdout
Adds NgNonBindable directive to stdout lines
2018-04-24 00:25:13 -04:00
Matthew Jones
047e2a92c5 Merge pull request #1506 from ansible/update_vmware_inventory
Updating vmware_inventory from upstream
2018-04-24 00:01:09 -04:00
Jared Tabor
6f1774f1b1 Adds NgNonBindable directive to stdout lines
in order to prevent stdout code from running angular snippets
2018-04-23 19:51:14 -07:00
Jared Tabor
99fb8e6d83 Updates URL for host events for adhoc commands 2018-04-23 19:15:12 -07:00
Jared Tabor
298af25bab Points the host event modal's Standard Out tab at event_data.res.stdout
instead of `event_data.res.results.stdout`. Same for stderr. This was
some stale copy pasta from the host event modal rework
2018-04-23 18:13:26 -07:00
Jared Tabor
929129e8ad Makes CodeMirror Modal resizable 2018-04-23 18:05:47 -07:00
Jared Tabor
0b4d88a57d Adds ability for parent controller to call atCodeMirror's init() function.
This enables the parent controller to re-instantiate the CodeMirror instance
on the fly, when necessary. This was necessary on the NetworkUI to update the
CodeMirror instance on the Host Detail panel.
2018-04-23 17:35:17 -07:00
Jared Tabor
19ebaa6916 Adds atCdeMirror directive
This commit adds a new component to be used for showing CodeMirror
instances, along with an expandable capability to view more variables.
It also removes the previous directive for the Network UI that used
to include this functionality.
2018-04-23 17:35:16 -07:00
Marliana Lara
bcee83e87c Fix broken unit tests 2018-04-23 19:35:59 -04:00
John Mitchell
9cfd264103 specifically bind html only the row items that need it for new lists in the ui 2018-04-23 16:57:43 -04:00
mabashian
6241290733 Adds prompting to workflow schedules when a survey is present on the wfjt 2018-04-23 15:53:16 -04:00
Marliana Lara
b9427ecf6d Show instance groups tab if user is an Org Admin 2018-04-23 15:50:48 -04:00
Marliana Lara
29b9c44a1e Show tower group name field as read-only 2018-04-23 15:29:53 -04:00
AlanCoding
405a936544 add more logs for network canvas activity 2018-04-23 15:29:13 -04:00
Ryan Petrello
e4ffdeb0b5 Merge pull request #1518 from ryanpetrello/botocore-dep-hell
unpin botocore now that an upstream dependency issue is resolved
2018-04-23 15:15:59 -04:00
Ryan Petrello
19d5d71937 unpin botocore now that an upstream dependency issue is resolved
related: 4f585dd09e
related: https://github.com/boto/botocore/pull/1433
2018-04-23 14:43:09 -04:00
John Mitchell
0de88d6566 Merge pull request #1440 from jlmitch5/fixNewTab
fix new tab in router
2018-04-23 13:52:27 -04:00
mabashian
5848a61238 Show verbosity on prompt preview tab 2018-04-23 13:52:11 -04:00
Michael Abashian
7a281cefed Merge pull request #1516 from mabashian/fix-prompt-creds
Fixed merge conflict error that prevents launching JTs with cred prompting
2018-04-23 13:46:50 -04:00
mabashian
e38d779d04 Fixed botched merge conflict bug which prevents launching jobs that need credential selection 2018-04-23 13:42:37 -04:00
Matthew Jones
18b41791ab Updating vmware_inventory from upstream 2018-04-23 12:59:41 -04:00
John Mitchell
fd598f5adc Merge pull request #1439 from jlmitch5/fixInstanceGroupsRunningJobs
update instance groups to only be running jobs
2018-04-23 12:43:23 -04:00
John Mitchell
a1541d679c remove obsolete .go unit test 2018-04-23 12:41:07 -04:00
mabashian
19ef91f2aa Fixed bug where vault password prompt was not being hidden after removing default credential 2018-04-23 12:26:07 -04:00
Ryan Petrello
488e0cc4c6 Merge pull request #1459 from wwitzel3/become-enable
Add new credential become methods, inject instead of set in database
2018-04-23 11:50:31 -04:00
Michael Abashian
4b4bbcebae Merge pull request #1399 from mabashian/1137-cancel-prompt
Fixed bug where user could still save schedule/node after halfway filling out prompt step(s)
2018-04-23 11:30:00 -04:00
Wayne Witzel III
765ad07d9e Fix migration name/ordering 2018-04-23 11:00:21 -04:00
Michael Abashian
d36ec19e24 Merge branch 'release_3.3.0' into 1137-cancel-prompt 2018-04-23 10:57:01 -04:00
Michael Abashian
8c10a064f2 Merge pull request #1438 from mabashian/1437-host-filter-tags
Fixed bug where host filter search tags were not present
2018-04-23 10:55:42 -04:00
Wayne Witzel III
f1b37ff53a Fix order become methods render and migration query 2018-04-23 10:33:59 -04:00
Wayne Witzel III
c1a8d8670f Pop the type to be consistent 2018-04-23 10:33:59 -04:00
Wayne Witzel III
07474d5b21 Extend become_method to model field validation as well 2018-04-23 10:33:59 -04:00
Wayne Witzel III
d6ac9b6e3d Restore previous choices, clean up some minor things 2018-04-23 10:33:59 -04:00
Wayne Witzel III
8fa98d0d54 Add new credential become methods, inject instead of set in database 2018-04-23 10:33:59 -04:00
Wayne Witzel III
df4f6ecfd6 Merge pull request #1480 from wwitzel3/release_3.3.0
Fixup migrations.
2018-04-23 06:01:06 -07:00
Wayne Witzel III
44470200a2 Fix migration numbering 2018-04-23 07:51:36 -04:00
Wayne Witzel III
c37ed32c55 Merge pull request #1204 from AlanCoding/org_members_team
allow org members to see teams in org
2018-04-23 04:15:38 -07:00
Matthew Jones
ec8a8119b9 Merge pull request #1468 from ansible/protect_iso_groups
Protect isolated and control groups from api deletion
2018-04-20 17:36:30 -04:00
Alan Rominger
cdb7e16e6d Merge pull request #1463 from AlanCoding/update_supervisor
Update the dev supervisor file to match recent change
2018-04-20 16:51:08 -04:00
Christian Adams
136a58ee85 Merge pull request #1465 from rooftopcellist/update_oauth2_docs
Update oauth2 docs
2018-04-20 16:50:12 -04:00
John Mitchell
ee137b8b4d fix open in new tab for credentials and inventory scripts 2018-04-20 16:00:57 -04:00
Matthew Jones
062329f56e Protect isolated and control groups from api deletion
Isolated and Control groups are managed strictly from the standalone
setup playbook installer and should not be directly managable from the
api. Especially true since you can't assign or create isolated groups
from within the API itself.

In the future this may change but allowing this in the API could leave
the system in a bad state.
2018-04-20 15:30:13 -04:00
adamscmRH
350ebab161 fix curl example 2018-04-20 15:22:28 -04:00
AlanCoding
4036f64cc4 update the dev supervisor file to match recent change 2018-04-20 14:53:21 -04:00
Chris Meyers
a2901a47ee Merge pull request #1410 from chrismeyersfsu/fix-revert_tower_special_group
send all tower work to a user-hidden queue
2018-04-20 14:21:50 -04:00
Christian Adams
b9d5f96f00 Merge pull request #1460 from rooftopcellist/saml_auth_issue
fix multiple auth backends
2018-04-20 14:04:36 -04:00
Matthew Jones
d04bbde3c2 Merge pull request #1786 from shanemcd/devel
Fix image build role when not deploying to localhost
2018-04-20 13:46:50 -04:00
adamscmRH
3627c713fa fix multiple auth backends 2018-04-20 13:34:51 -04:00
Alan Rominger
996cf550f2 Merge pull request #1443 from AlanCoding/start_anyway
Minor tweak to WFJT can_start launch field
2018-04-20 13:04:42 -04:00
chris meyers
a56771c8f0 send all tower work to a user-hidden queue
* Before, we had a special group, tower, that ran any async work that
tower needed done. This allowed users fine grain control over which
nodes did background work. However, this granularity was too complicated
for users. So now, all tower system work goes to a special non-user
exposed celery queue. Tower remains the fallback instance group to
execute jobs on. The tower group will be created upon install and
protected from deletion.
2018-04-20 13:04:36 -04:00
Alan Rominger
a916bf07bb Merge pull request #1238 from AlanCoding/licenses
Licenses
2018-04-20 13:03:35 -04:00
Alan Rominger
2c917f876f Merge pull request #1455 from AlanCoding/event_of_the_century
Fix event querysets for non superusers
2018-04-20 13:02:54 -04:00
AlanCoding
129701d825 minor tweak to WFJT can_start launch field 2018-04-20 12:49:38 -04:00
AlanCoding
6cb237d5d9 fix event querysets for non superusers 2018-04-20 11:44:52 -04:00
Shane McDonald
e2deab485e Merge pull request #1776 from enginvardar/devel
Install unzip for awx_task docker image to enable usage of unarchive …
2018-04-20 09:11:23 -04:00
Marliana Lara
8d6bd2f3a9 Merge pull request #1396 from marshmalien/fix/1342-css-gridify-lists
Fix alignment of list action icons and invalid item bar
2018-04-20 09:03:49 -04:00
Engin Vardar
6b06d1896e Install unzip to enable usage of unarchive module
Signed-off-by: Engin Vardar <enginvardar@gmail.com>
2018-04-20 09:17:27 +02:00
Shane McDonald
98a9e82d2d Fix image build role when not deploying to localhost 2018-04-20 00:07:25 -04:00
Shane McDonald
590d5ccad1 Merge pull request #1718 from soumikgh/devel
Bind mount to custom certs to `source/anchors` subfolder
2018-04-19 22:33:36 -04:00
John Mitchell
3f509d5ae8 fix new tab in router 2018-04-19 18:27:15 -04:00
John Mitchell
b042beeef7 update instance groups to only be running jobs 2018-04-19 18:15:35 -04:00
mabashian
d4f46fa0e4 Fixed bug where host filter search tags were not present 2018-04-19 17:40:26 -04:00
Marliana Lara
763afc7245 Fix row label bugs and responsive actions button alignment 2018-04-19 16:08:26 -04:00
Alan Rominger
81234986b4 Merge pull request #1435 from AlanCoding/dragon_riddle
Add relative location to CT schema errors
2018-04-19 16:01:18 -04:00
Marliana Lara
92a742af98 Fix alignment of action icons and invalid bar with css grid 2018-04-19 15:18:32 -04:00
AlanCoding
fb43538333 add relative location to CT schema errors 2018-04-19 14:58:40 -04:00
Alan Rominger
60e3dfe22c Merge pull request #1432 from AlanCoding/dragon_born_again
Fix server error with unicode in template
2018-04-19 14:49:11 -04:00
AlanCoding
9f6a4e135f fix server error with unicode in template 2018-04-19 14:25:59 -04:00
Alan Rominger
3798decafc Merge pull request #1429 from AlanCoding/invalid_dragon
prevent server error with CT unicode keys
2018-04-19 13:51:58 -04:00
AlanCoding
f78037c0f3 prevent server error with CT unicode keys 2018-04-19 13:27:25 -04:00
Alan Rominger
a7ecc306e1 Merge pull request #1328 from AlanCoding/job_del_protect
make deletion protection mixin work with inventories
2018-04-19 13:18:31 -04:00
Alan Rominger
c0fd56c654 Merge pull request #1381 from AlanCoding/test_docker
Run ansible tests separately
2018-04-19 13:04:14 -04:00
Christian Adams
d08790a5b4 Merge pull request #1420 from rooftopcellist/act_stream_access
Act stream access
2018-04-19 11:51:33 -04:00
Wayne Witzel III
ab311d5c2f Merge pull request #1422 from wwitzel3/release_3.3.0
Remove unused code, OrderedDictLoader
2018-04-19 08:33:16 -07:00
adamscmRH
b6fcfd43b1 Fix app activity stream permissions 2018-04-19 11:19:19 -04:00
Michael Abashian
ae69abf73c Merge pull request #1413 from mabashian/694-wfjt-missing-jts
Show warning on wfjt form when the workflow contains deleted job templates
2018-04-19 11:17:54 -04:00
Bill Nottingham
dd6527288f Merge pull request #1425 from wenottingham/out-with-the-stdout
Drop /var/lib/awx/job_status listing from sosreport.
2018-04-19 11:10:21 -04:00
mabashian
783cca316e Fixed broken wfjt save test 2018-04-19 11:05:03 -04:00
mabashian
15b31c7abe Removed trailing whitespace 2018-04-19 10:54:35 -04:00
mabashian
b37ee2f611 Show warning on wfjt form when the workflow contains deleted job templates 2018-04-19 10:54:04 -04:00
Bill Nottingham
ea9278a3ea Drop /var/lib/awx/job_status listing from sosreport.
This directory is not persistently populated any more.
2018-04-19 10:47:45 -04:00
Michael Abashian
1fc6a34e62 Merge pull request #1362 from mabashian/933-form-checkboxes-too-wide
Make checkbox labels the width of their contents not their parent
2018-04-19 10:34:04 -04:00
Marliana Lara
bcc5508efd Merge pull request #1401 from marshmalien/fix/ff/1361-template-add-button-styles
Remove +Add button bevel border in Firefox
2018-04-19 10:22:51 -04:00
Marliana Lara
5f7466364b Merge pull request #1407 from marshmalien/fix/1392-relaunch-on-failed
Show relaunch dropdown for only jobs with the status of "failed"
2018-04-19 10:19:06 -04:00
mabashian
4794fc510d Use flex instead of float on form checkboxes 2018-04-19 10:08:34 -04:00
Marliana Lara
4daf1d815b Merge pull request #1398 from marshmalien/fix/1362-instance-modal-scrollable
Add scroll to instance modal
2018-04-19 10:05:07 -04:00
Michael Abashian
6595515987 Merge pull request #1421 from mabashian/692-broken-jt-workflow-form
Prevent user from selecting an invalid JT when adding/editing a wfjt node
2018-04-19 10:02:04 -04:00
Michael Abashian
d2f4ed46ea Merge pull request #1376 from mabashian/1022-groups-all-groups
Show all inventory groups instead of just root groups on the inventor…
2018-04-19 10:01:26 -04:00
Michael Abashian
d3a3694a49 Merge pull request #1356 from mabashian/947-allow-simultaneous
Add checkbox for allow_simultaneous on the workflow job template forms
2018-04-19 09:58:39 -04:00
Michael Abashian
38d83081bb Merge pull request #1335 from mabashian/1260-org-credentials
Check for org credentials and present the count to the user before org deletion
2018-04-19 09:58:00 -04:00
Michael Abashian
4158d64410 Merge pull request #1332 from mabashian/1318-workflow-template-survey
Fixed bug launching workflow with survey
2018-04-19 09:57:25 -04:00
Ryan Petrello
3c7a0b5505 Merge pull request #1424 from ryanpetrello/more-yaml-unsafe
add more edge case handling for yaml unsafe marking
2018-04-19 09:32:25 -04:00
Ryan Petrello
f8211b0588 add more edge case handling for yaml unsafe marking 2018-04-19 09:16:22 -04:00
Chris Meyers
df298cec36 Merge pull request #1374 from chrismeyersfsu/fix-proj_update_redact
redact project update urls when downloading stdout
2018-04-19 09:09:24 -04:00
Wayne Witzel III
a23aadf346 Remove unused code, OrderedDictLoader 2018-04-19 08:07:09 -04:00
Ryan Petrello
31ea55acb9 Merge pull request #1397 from ryanpetrello/unsafe-extra-vars-324
mark launch-time extra vars as !unsafe and sanitize Jinja from certain CLI flags
2018-04-19 07:55:53 -04:00
Wayne Witzel III
3c5928fe5b Merge pull request #1405 from wenottingham/sending-out-an-sos-to-the-world
Update sosreport plugin to pull in more information
2018-04-19 04:10:54 -07:00
Wayne Witzel III
250e036d0b Merge pull request #1412 from AlanCoding/yaml_json_cats_dogs
Add protection for job-compatible vars
2018-04-19 04:04:42 -07:00
mabashian
a918539e23 Prevent user from selecting an invalid JT when adding/editing a wfjt node 2018-04-18 18:13:51 -04:00
chris meyers
09d5645b90 redact project update urls when downloading stdout
* For ProjectUpdate jobs. Redact potentially sensitive urls from the
output.
2018-04-18 16:45:55 -04:00
Alan Rominger
cbe3bc3f2a Merge pull request #1337 from AlanCoding/not_negative_no
never show negative remaining capacity values
2018-04-18 16:33:09 -04:00
Alan Rominger
5cd53142a6 Merge pull request #1341 from AlanCoding/AND_help
Clarify help text on AND searches
2018-04-18 16:19:18 -04:00
Alan Rominger
63b3cc84c4 Merge pull request #1414 from AlanCoding/job_add
avoid server error adding job
2018-04-18 12:04:07 -04:00
Shane McDonald
f4f22dc585 Merge pull request #1777 from shanemcd/devel
Use Deployment on Kubernetes
2018-04-18 10:32:40 -04:00
Shane McDonald
cf5149ecf4 Use Deployment on Kubernetes
I messed this up when rebasing.
2018-04-18 10:28:50 -04:00
Christian Adams
87ba56ba67 Merge pull request #1409 from rooftopcellist/validate_scopes
adds help-text for scopes
2018-04-18 10:09:59 -04:00
Alan Rominger
18a7e86e0c Merge pull request #1175 from AlanCoding/protect_hosts
Add deletion protection to hosts
2018-04-18 10:06:05 -04:00
AlanCoding
13c483e463 avoid server error adding job 2018-04-18 08:27:08 -04:00
AlanCoding
c397cacea5 add protection for job-compatible vars 2018-04-18 07:14:02 -04:00
Ryan Petrello
835f2eebc3 make extra var YAML serialization more robust to non-dict extra vars 2018-04-17 15:39:37 -04:00
Alan Rominger
283132cd08 Merge pull request #1393 from AlanCoding/no_cred_pass
Fix API browser server error on relaunch
2018-04-17 15:28:35 -04:00
adamscmRH
50a5a1a9f8 adds help-text for scopes 2018-04-17 14:38:51 -04:00
Christian Adams
2db44cbf17 Merge pull request #1404 from rooftopcellist/application_id_act_stream
Fix app json error
2018-04-17 13:49:57 -04:00
Marliana Lara
328d9dbe01 Show relaunch dropdown if job has status of "failed" 2018-04-17 13:35:01 -04:00
Bill Nottingham
40cf80db1d Add rabbitmq status commands as well. 2018-04-17 12:25:26 -04:00
Bill Nottingham
ade51c93d8 Add some more information to sosreports.
- tower cluster configuration
- list of all venvs (including custom ones)
2018-04-17 12:25:26 -04:00
Ryan Petrello
fe47b75aad use a three-prong setting for Jinja extra vars policy 2018-04-17 12:08:07 -04:00
adamscmRH
0d2f92c364 Fix app json error 2018-04-17 12:02:35 -04:00
Shane McDonald
ffc347bfd0 Merge pull request #1771 from shanemcd/kubernetes-role-cleanup
Kubernetes role cleanup
2018-04-17 11:16:46 -04:00
Ryan Petrello
7304301948 don't bother building a safe extra vars namespace; it's a file path now 2018-04-17 10:24:14 -04:00
Ryan Petrello
7074dcd677 don't allow usage of jinja templates in certain ansible CLI flags
see: https://github.com/ansible/tower/issues/1338
2018-04-17 09:20:05 -04:00
Alan Rominger
4e4dabb7f1 Merge pull request #1391 from AlanCoding/crusty_setting
Remove setting corresponding to removed tests
2018-04-16 20:36:37 -04:00
Shane McDonald
40d7751fbd Remove image push logic from installer roles
I’m going to be reusing this code on the Tower side, and I’m trying to refactor some of the AWX specific bits out. There will probably be more to come, but this is a good start.
2018-04-16 19:01:43 -04:00
Shane McDonald
2b6fe7969f Move rabbitmq and memcached images into variables 2018-04-16 17:43:15 -04:00
Shane McDonald
0786b41ac6 Allow for customizing kubernetes deployment name 2018-04-16 17:43:15 -04:00
Shane McDonald
479a56c6d3 Generalize variable names in installer
secret_key
2018-04-16 17:43:15 -04:00
Marliana Lara
c4f04f544f Fix add button styles in Firefox 2018-04-16 17:40:04 -04:00
mabashian
fcf9e45d0a Only update the promptData object when the user successfully completes the prompt process 2018-04-16 16:59:23 -04:00
Marliana Lara
acda67f0fe Make instance modal scrollable 2018-04-16 16:52:17 -04:00
Ryan Petrello
88c243c92a mark all unsafe launch-time extra vars as !unsafe
see: https://github.com/ansible/tower/issues/1338
see: https://bugzilla.redhat.com/show_bug.cgi?id=1565865
2018-04-16 16:47:44 -04:00
Bill Nottingham
bba7f45972 Pass extra vars via file rather than via commandline, including custom creds.
The extra vars file created lives in the playbook private runtime
directory, and will be reaped along with the rest of the directory.

Adjust assorted unit tests as necessary.
2018-04-16 16:31:50 -04:00
Shane McDonald
e4a6fc55df Remove unused variable from inventory 2018-04-16 15:51:36 -04:00
Shane McDonald
bebc37b3eb Set kubernetes_namespace when deploying on OpenShift
kubernetes_namespace is referenced later it the role but may not be set if deploying on openshift
2018-04-16 15:51:36 -04:00
Shane McDonald
534b2f1601 Fix openshift_pg_emptydir logic 2018-04-16 15:51:36 -04:00
Shane McDonald
db02bd7531 Remove explicit nodePort declarations for RabbitMQ service
This lets Kubernetes handle the port mapping, which resolves a port collision issue when running multiple deployments of AWX in a single cluster.
2018-04-16 15:51:36 -04:00
Shane McDonald
e9ddf7b9db Use a DeploymentConfig in OpenShift 2018-04-16 15:51:36 -04:00
Shane McDonald
0055c2ffff Merge pull request #1760 from AlanCoding/fix_tests_25
Fix tests fallout from 2.5 upgrade
2018-04-16 15:51:11 -04:00
AlanCoding
d234b71fd8 fix API browser server error on relaunch 2018-04-16 15:03:44 -04:00
AlanCoding
4ff2f3e061 remove setting corresponding to removed tests 2018-04-16 14:49:54 -04:00
Alan Rominger
a03316cdb9 Merge pull request #1388 from AlanCoding/dep_warn
Fix deprecation warning for project update
2018-04-16 14:26:56 -04:00
AlanCoding
affaf23a6b fix deprecation warning for project update 2018-04-16 13:22:58 -04:00
Marliana Lara
cf5ac47a7b Merge pull request #1349 from marshmalien/fix/1290-readonly-tower-group
UI - Display tower instance group as read-only
2018-04-16 13:05:35 -04:00
Michael Abashian
7cd26451b5 Merge pull request #1365 from mabashian/1346-empty-codemirror
Fixed empty codemirror bug
2018-04-16 12:06:05 -04:00
AlanCoding
5eaffb3520 run ansible tests separately 2018-04-16 10:32:51 -04:00
Alan Rominger
88e2741836 Merge pull request #1370 from AlanCoding/backport_with_items
[3.2.4] with_items no_log fix
2018-04-16 09:57:25 -04:00
Alan Rominger
8a55b7f296 Merge pull request #1378 from AlanCoding/fix_unit_test
Fix conditional LDAP test fail
2018-04-16 09:13:59 -04:00
AlanCoding
9bd64fd490 never show negative remaining capacity values 2018-04-16 08:05:16 -04:00
AlanCoding
52416188e2 clarify help text on AND searches 2018-04-16 08:04:07 -04:00
AlanCoding
8ea323895a fix conditional LDAP test fail
Previously, if the main unit tests, test_common.py was
run before running this test, it would fail.
By clearing the cache at the start of the test, we
make its behavior consistent and predictable no
matter what other tests are also being ran,
and the assertion is adjusted to match.
2018-04-16 07:53:44 -04:00
Alan Rominger
900ea14883 Merge pull request #1286 from AlanCoding/remove_user_roles
Remove the "user admin role" entirely
2018-04-16 07:33:55 -04:00
mabashian
7239b28dd8 Show all inventory groups instead of just root groups on the inventory groups tab 2018-04-13 16:21:24 -04:00
AlanCoding
de07ef0680 fix tests fallout from 2.5 upgrade 2018-04-13 16:01:11 -04:00
chris meyers
04693ecb0f remove infinite loop regex
* Fancy url finding regex can result in infinite loop for malformed ipv6
urls so replace it with a more nieve regex that can overmatch.
* regex's that find malformed ipv6 urls will be passed to urlparse. This
can result in a parsing/ValueError. For these cases we redact the entire
found URI.
2018-04-13 15:48:06 -04:00
AlanCoding
77aab65f57 fix no_log leaking with_items values 2018-04-13 15:41:57 -04:00
Jake McDermott
b1f4fb3a98 Merge pull request #1368 from jakemcdermott/fix-1334
add expandable explanation and traceback details
2018-04-13 15:15:34 -04:00
Christian Adams
a1dbd4dd57 Merge pull request #1371 from rooftopcellist/fix_app_change_id
Fix id in activity_stream
2018-04-13 15:11:48 -04:00
adamscmRH
dcb6ca33a5 fix id for app in act_stream 2018-04-13 14:37:19 -04:00
Jake McDermott
9f7dd2af09 add expandable explanation and traceback details 2018-04-13 13:50:52 -04:00
Alan Rominger
684091f4f3 Merge pull request #1367 from AlanCoding/another_lib_fail
Fix test so that playbook runs to completion
2018-04-13 13:39:07 -04:00
AlanCoding
ddc8871e12 fix test so that playbook runs to completion 2018-04-13 13:21:38 -04:00
mabashian
ec1897ac3e Check to make sure extraVarsClone exists before attempting to cull passwords 2018-04-13 13:05:28 -04:00
Alan Rominger
e5165f152a Merge pull request #1351 from AlanCoding/loop_log_fix
[fixes test fail] Fix no_log leaking with_items values
2018-04-13 13:02:28 -04:00
mabashian
cb01dea55f Make checkbox labels the width of their contents no their parent 2018-04-13 10:34:39 -04:00
Michael Abashian
2dad8cc980 Merge pull request #1347 from mabashian/1188-launch-double-submit
Prevent double click on launch which spawns multiple jobs
2018-04-13 10:00:29 -04:00
Michael Abashian
9512bbe1df Merge pull request #1344 from mabashian/845-jobs-list-cancel
Added cancel job logic to the jobs list
2018-04-13 09:58:43 -04:00
Alan Rominger
fb53bc95db Merge pull request #1358 from AlanCoding/fix_lib
fix PATH hack used in test
2018-04-13 09:21:18 -04:00
AlanCoding
6f9ff54430 fix PATH hack used in test 2018-04-13 08:44:39 -04:00
AlanCoding
0c2a621a4e fix no_log leaking with_items values 2018-04-13 07:16:44 -04:00
Alan Rominger
8f6688a84b Merge pull request #1355 from AlanCoding/rm_test
[fixes test fail] Remove test for behavior going away in Ansible 2.5
2018-04-12 17:40:14 -04:00
AlanCoding
e3984cb89b remove test for behavior going away in Ansible 2.5 2018-04-12 15:34:58 -04:00
mabashian
93dc27f0e7 Add checkbox for allow_simultaneous on the workflow job template forms 2018-04-12 15:34:36 -04:00
Michael Abashian
35a75196a9 Merge pull request #1336 from mabashian/1301-activity-stream-setting
Added setting name and setting category to activity stream detail modal
2018-04-12 14:23:10 -04:00
AlanCoding
4995ee7a60 remove admin_role for users 2018-04-12 13:18:49 -04:00
Christian Adams
087ac17c90 Merge pull request #1308 from rooftopcellist/fix_censor
Fix censor
2018-04-12 11:56:44 -04:00
Marliana Lara
05415da3f9 Display Tower instance group as read-only 2018-04-12 10:39:36 -04:00
mabashian
52e226780a Disable prompt final action button after first click to prevent double clicking and launching multiple jobs 2018-04-12 09:54:56 -04:00
mabashian
f35bc4b40a Cancelable job status' should be pending, waiting or running 2018-04-12 09:30:04 -04:00
mabashian
fab3f3d592 Added cancel job logic to the jobs list 2018-04-11 16:53:03 -04:00
Christian Adams
a2cc357f21 Merge pull request #1333 from rooftopcellist/app_help_text
add oauth2 help text
2018-04-11 16:12:45 -04:00
adamscmRH
d1b8142b94 add oauth2 help text 2018-04-11 15:10:39 -04:00
Alan Rominger
4cc84d020d Merge pull request #1169 from AlanCoding/filterability
Add tip in OPTIONS for fields that cannot be filtered
2018-04-11 14:35:37 -04:00
Alan Rominger
7ad42161fc Merge pull request #1331 from AlanCoding/show_me_your_exceptions
Always log uncaught task exceptions
2018-04-11 14:26:09 -04:00
Michael Abashian
5959c01611 Merge pull request #1315 from mabashian/1004-smart-inv-hosts
Force on/off toggle to be disabled on smart inventory host list
2018-04-11 13:23:35 -04:00
mabashian
6757f5bbe5 Added setting name and setting category to activity stream detail modal 2018-04-11 13:21:06 -04:00
mabashian
94ecfbee6a Check for org credentials and present the count to the user before org deletion 2018-04-11 12:53:49 -04:00
Shane McDonald
b0425d524c Merge pull request #1754 from ansible/fix-docker-compose-template
Fix whitespace issues with docker-compose jinja template
2018-04-11 12:38:09 -04:00
mabashian
3dd9ca3fb6 Check to make sure vm.promptData.launchConf.passwords_needed_to_start exists before looping 2018-04-11 11:09:01 -04:00
Shane McDonald
3720c57c63 Fix whitespace issues with docker-compose jinja template
See https://github.com/ansible/awx/issues/1710
2018-04-11 11:06:34 -04:00
AlanCoding
0a23195a7b always log uncaught task exceptions 2018-04-11 11:03:06 -04:00
Alan Rominger
c936fd7035 Merge pull request #1329 from AlanCoding/help_text_words
expand on fact cache timeout help text
2018-04-11 10:32:24 -04:00
Marliana Lara
cee94e7b97 Merge pull request #1327 from marshmalien/fix/976-jt-admin-error-prompt
Fix erroneous job template admin error message
2018-04-11 10:19:24 -04:00
Michael Abashian
0459043b8e Merge pull request #1307 from mabashian/957-nested-group-name
Fixed nested group name link
2018-04-11 10:10:59 -04:00
Michael Abashian
9b7f9c4276 Merge pull request #1304 from mabashian/1136-credential-password-prompt
1136 credential password prompt
2018-04-11 10:10:36 -04:00
Michael Abashian
e77369d113 Merge pull request #1299 from mabashian/1005-adhoc-cred-machine
Limit adhoc credential lookup to only machine credentials
2018-04-11 10:10:13 -04:00
mabashian
9e31c25025 Pass ngDisabled a simple boolean instead of truthy expression 2018-04-11 10:07:49 -04:00
AlanCoding
24369572dc expand on fact cache timeout help text 2018-04-11 07:58:37 -04:00
AlanCoding
0c224df9ad make deletion protection mixin work with inventories 2018-04-11 07:54:09 -04:00
Jared Tabor
03f4010edc Merge pull request #1275 from jaredevantabor/webpack-dev
Changes https flag to false for UI dev env watcher
2018-04-10 14:01:03 -07:00
Chris Meyers
85b026dec7 Merge pull request #1326 from chrismeyersfsu/fix-ldap_defaults
set better defaults for ldap
2018-04-10 15:54:56 -04:00
chris meyers
00cd6cb384 set better defaults for ldap
* LDAP params is a new field. It contains the kwargs that will be passed
to the python class specified by group type. The default for group type
is MemberDNGroupType. The required params are now those in the defaults.
2018-04-10 15:44:08 -04:00
Marliana Lara
07a01e741b Fix erroneous job template admin error message 2018-04-10 15:41:02 -04:00
Marliana Lara
0f79c940a0 Merge pull request #1322 from marshmalien/fix/1293-delete-ig-infinite-spinner
Fix infinite Wait spinner when deleting instance group
2018-04-10 15:36:30 -04:00
Marliana Lara
46f6c67566 Add updates to instance groups strings file 2018-04-10 15:25:24 -04:00
Jake McDermott
55ae23a2f4 Merge pull request #1320 from jakemcdermott/use-copy-capability-field
use copy capability field for copy action
2018-04-10 14:34:12 -04:00
Alan Rominger
ffa61250bb Merge pull request #1312 from AlanCoding/fix_silent_fail
fix silent traceback tests were causing
2018-04-10 14:02:36 -04:00
adamscmRH
8529f2b5eb makes censor characters consistent 2018-04-10 14:02:33 -04:00
Marliana Lara
6beaa4b166 Fix infinite Wait spinner when deleting instance group 2018-04-10 13:46:55 -04:00
Jake McDermott
02d7ce97c6 use copy capability field for copy action 2018-04-10 13:38:07 -04:00
Alan Rominger
e78b5dab73 Merge pull request #1310 from AlanCoding/null_encrypted
do not server error if this value is None
2018-04-10 12:52:56 -04:00
Jake McDermott
53944a2cf3 Merge pull request #1314 from jakemcdermott/fix-delete-cancel-urls
use newly ordained list of statuses for showing cancel/delete
2018-04-10 12:49:30 -04:00
Jake McDermott
f0e0a8a338 use newly ordained list of statuses for showing cancel/delete 2018-04-10 12:36:21 -04:00
mabashian
2f96169f07 Force on/off toggle to be disabled on smart inventory host list 2018-04-10 12:27:09 -04:00
Jake McDermott
1961f99106 Merge pull request #1313 from jakemcdermott/fix-delete-cancel-urls
use ordained list of statuses for showing cancel/delete
2018-04-10 12:07:26 -04:00
Jake McDermott
6768b10638 use ordained list of statuses for showing cancel/delete 2018-04-10 12:05:10 -04:00
John Mitchell
ec586de687 Merge pull request #1281 from jlmitch5/componentizeListInvalidity
move invalid list row properties to row component
2018-04-10 11:58:35 -04:00
Marliana Lara
888a1cbea8 Merge pull request #1236 from marshmalien/fix/926-prompt-for-days-form
Fix Cleanup Job Days cannot be changed from 30
2018-04-10 11:54:46 -04:00
AlanCoding
69822391b3 fix silent traceback tests were causing 2018-04-10 11:51:05 -04:00
Marliana Lara
704a2a73c7 Fix error where controller was accessing wrong prompt_for_days_form scope. 2018-04-10 11:32:35 -04:00
Jake McDermott
ffa1f37742 Merge pull request #1309 from jakemcdermott/fix-delete-cancel-urls
fix cancel-delete urls
2018-04-10 11:01:58 -04:00
AlanCoding
4f65b283df do not server error if this value is None 2018-04-10 11:00:37 -04:00
Jake McDermott
02f9fd0ca0 fix cancel-delete urls 2018-04-10 10:58:33 -04:00
mabashian
50a1a5707e Fixed nested group name link 2018-04-10 10:51:56 -04:00
mabashian
c8b12ed23e Fixed bug where typing in a password would update all password inputs 2018-04-10 10:26:56 -04:00
mabashian
a6dd7dbf07 Fixed credential prompting bug where only one password field is ever shown even if multiple passwords are required 2018-04-10 10:08:49 -04:00
Ryan Petrello
ea900b6f95 Merge pull request #1298 from ryanpetrello/fix-1266
fix a bug preventing custom credential templates from including unicode
2018-04-10 08:43:13 -04:00
Alan Rominger
486e5a2ef2 Merge pull request #1297 from AlanCoding/millennials
Prevent OverflowError in SESSION_COOKIE_AGE
2018-04-10 07:19:25 -04:00
mabashian
6e2133aa52 Limit adhoc credential lookup to only machine credentials 2018-04-09 17:10:15 -04:00
Ryan Petrello
b1028a2e0a fix a bug preventing custom credential templates from including unicode
see: https://github.com/ansible/tower/issues/1266
2018-04-09 17:08:10 -04:00
Jake McDermott
dd5a34ce3b pin container images 2018-04-09 16:30:47 -04:00
Michael Abashian
150467a1cb Merge pull request #1295 from mabashian/1033-inv-source-error-handling
Fixed inventory source form error message
2018-04-09 15:51:27 -04:00
Michael Abashian
335e8be709 Merge pull request #1287 from mabashian/1077-host-pagination
Fixed host/groups pagination issue
2018-04-09 15:49:52 -04:00
AlanCoding
13759fd8ce prevent OverflowError in SESSION_COOKIE_AGE 2018-04-09 15:48:26 -04:00
John Mitchell
e6d4778049 Merge pull request #1277 from jlmitch5/navUpdates33
ux updates to navigation
2018-04-09 15:34:56 -04:00
Jake McDermott
e343a8d983 Merge pull request #1296 from jakemcdermott/bug-1294
update badge count on search
2018-04-09 15:25:18 -04:00
mabashian
453a8507b0 Function/code cleanup 2018-04-09 15:07:27 -04:00
Jake McDermott
04d8642daf update badge count on search 2018-04-09 15:04:52 -04:00
mabashian
23d1454646 Fixed inventory source form error message. Leveraged inv src model for adding/editing existing object 2018-04-09 15:01:16 -04:00
Ryan Petrello
1c24ab913e Merge pull request #1282 from ryanpetrello/fix-1268
add exception handling to deprecated v1 credential support
2018-04-09 14:46:48 -04:00
Alan Rominger
51d43e59e4 Merge pull request #1272 from AlanCoding/user_create_err
handle 400 error creating sys auditor
2018-04-09 14:37:25 -04:00
Ryan Petrello
18c95bf706 add exception handling to deprecated v1 credential support
see: https://github.com/ansible/tower/issues/1268
2018-04-09 14:23:43 -04:00
Michael Abashian
5b619ff0c1 Merge pull request #1274 from mabashian/1026-relaunch-adhoc-error-handle
Added generic error handling to promises in relaunch button component
2018-04-09 13:45:49 -04:00
Jake McDermott
8b7884a965 Merge pull request #1280 from jakemcdermott/bug-1271
ensure correct auth and system configuration forms are loaded
2018-04-09 13:34:25 -04:00
Jake McDermott
67ba534097 ensure correct system and auth forms are loaded 2018-04-09 13:09:49 -04:00
John Mitchell
8371e73bd0 update collapse nav spacer padding amount 2018-04-09 13:04:57 -04:00
Jake McDermott
831fb13347 Merge pull request #1285 from jakemcdermott/output-details-command-args
show module arg details for command jobs
2018-04-09 12:29:24 -04:00
Jake McDermott
d2dfca23f6 show module arg details for command jobs 2018-04-09 12:10:43 -04:00
John Mitchell
3ab255bda8 remove todo messages 2018-04-09 11:57:32 -04:00
mabashian
93e6d06bca Fixed host/groups pagination issue 2018-04-09 11:53:59 -04:00
Jake McDermott
27e8e55d15 add e2e test for auth form rendering after tab switch 2018-04-09 11:30:52 -04:00
John Mitchell
37546d6495 move invalid list row properties to row component 2018-04-09 11:20:26 -04:00
Alan Rominger
5594bae766 Merge pull request #1247 from AlanCoding/more_v1_yay
More accurate handling of serializer cred versioning
2018-04-09 10:39:54 -04:00
AlanCoding
c1f1921995 add test for JT credential summary_fields 2018-04-09 09:56:43 -04:00
Jake McDermott
4a9bf0e46d Merge pull request #1278 from jakemcdermott/bug-1276
fix stats bar issue for adhoc jobs + account for 'check' type project update jobs
2018-04-09 09:56:17 -04:00
Ryan Petrello
c420146c56 Merge pull request #1279 from ryanpetrello/release_3.3.0
missing import for celery failure handler
2018-04-09 09:23:35 -04:00
Ryan Petrello
ba66996add missing import for celery failure handler 2018-04-09 09:10:50 -04:00
AlanCoding
c88621f5fb more accurate handling of serializer cred versioning 2018-04-09 08:39:27 -04:00
Jake McDermott
78e0c02a08 no stats event expected for inventory updates 2018-04-09 08:38:20 -04:00
AlanCoding
f369e3ba0f handle 400 error creating sys auditor 2018-04-09 08:37:54 -04:00
Jake McDermott
56935fef94 account for existence of 'check' project update jobs 2018-04-09 08:35:14 -04:00
Jake McDermott
60d311c1a9 don't try to use stats events for adhoc commands 2018-04-09 08:34:43 -04:00
John Mitchell
177b771826 fix less syntax arrow 2018-04-06 18:04:10 -04:00
John Mitchell
ea16bef39b ux updates to navigation 2018-04-06 17:50:49 -04:00
Jake McDermott
8134110e6f Merge pull request #1263 from mabashian/1067-workflow-running-status
Handle workflow job status race condition
2018-04-06 17:32:57 -04:00
Jared Tabor
639da5de59 Changes https flag to false for UI dev env 2018-04-06 13:28:24 -07:00
Jake McDermott
ac29e5d299 Merge pull request #1264 from mabashian/1059-job-results-resource-tooltips
Updated job results related resources tooltips
2018-04-06 16:07:37 -04:00
mabashian
0f07f4f956 Added generic error handling to promises in relaunch button component 2018-04-06 15:52:29 -04:00
Wayne Witzel III
a088621425 Merge pull request #1250 from wwitzel3/fix-1228
Update role hierarchy when a JobTemplate moves orgs.
2018-04-06 15:31:23 -04:00
Wayne Witzel III
99fb0fa4cd Extract update_role_parentage_for_instance 2018-04-06 15:19:41 -04:00
Alan Rominger
89f770c9ca Merge pull request #1270 from AlanCoding/user_editability
User editing permission changes (3.2.4 backport)
2018-04-06 14:19:50 -04:00
Alan Rominger
aa464fdcc8 Merge pull request #1267 from AlanCoding/ig_min_max
Add min/max to IG fields
2018-04-06 14:08:28 -04:00
Alan Rominger
5df957e223 Merge pull request #1269 from AlanCoding/no_more_jobs
Deprecate jobs creation via sublist
2018-04-06 14:08:10 -04:00
AlanCoding
1195385492 User editing permission changes
Only allow administrative action for a user
who is a system admin or auditor if the
the requesting-user is a system admin.

Previously a user could be edited if the
requesting-user was an admin of ANY of the
orgs the user was member of.
This is changed to require admin permission
to ALL orgs the user is member of.

As a special-case, allow org admins to add
a user as a member to their organization if
the following conditions are met:
- the user is not member of any other orgs
- the org admin has permissions to all of
  the roles the user has
2018-04-06 14:05:29 -04:00
Ryan Petrello
5560dc1da9 Merge pull request #1252 from ryanpetrello/celery-failure-handler
implement celery failure logging using CELERY_ANNOTATIONS
2018-04-06 13:40:34 -04:00
Wayne Witzel III
81fe778676 Collect roles and update parentage instead of saving JT 2018-04-06 13:35:24 -04:00
Alan Rominger
a38e6fc882 Merge pull request #1261 from AlanCoding/user_work_items
More User admin-ing: (2) superuser escalation fix (3) ANY->ALL (4) orphan adoption
2018-04-06 13:14:40 -04:00
AlanCoding
5a380b4437 deprecate jobs creation via sublist 2018-04-06 12:59:53 -04:00
AlanCoding
7dd4dd00b3 add min/max to IG fields 2018-04-06 12:37:11 -04:00
AlanCoding
12979260bb include new org roles in permissions fix 2018-04-06 12:03:43 -04:00
Chris Meyers
675920efb6 Merge pull request #1254 from chrismeyersfsu/fix-polymorphic_delete
update polymorphic delete workaround django 1.11
2018-04-06 11:28:16 -04:00
Ryan Petrello
4c0096a524 implement celery failure logging using CELERY_ANNOTATIONS
see: https://github.com/ansible/awx/issues/1720
see: https://github.com/ansible/tower/issues/1190
2018-04-06 11:23:23 -04:00
chris meyers
bd7d9db1ce correctly cascade set null
* It's problematic to delete an instance that is referenced by a foreign
key; where the referening model is one that has a Polymorphic parent.
* Specifically, when Django goes to nullify the relationship it relies
on the related instances[0] class type to issue a query to decide what
to nullify. So if the foreignkey references multiple different types
(i.e. ProjectUpdate, Job) then only 1 of those class types will get
nullified. The end result is an IntegrityError when delete() is called.
* This changeset ensures that the parent Polymorphic class is queried so
that all the foreignkey entries are nullified
* Also remove old Django "hack" that doesn't work with Django 1.11
2018-04-06 11:10:16 -04:00
mabashian
5fb532c87b Updated job results related resources tooltips 2018-04-06 11:05:54 -04:00
Ryan Petrello
ac2ece5313 Merge pull request #1217 from rooftopcellist/json_parser
Json parser
2018-04-06 10:23:09 -04:00
mabashian
cb92f1794a Handle race condition where workflow job status might appear stuck in waiting if we miss the socket event indicating that it got moved to running 2018-04-06 10:15:24 -04:00
AlanCoding
a344ceda0e User editing permission changes
Only allow administrative action for a user
who is a system admin or auditor if the
the requesting-user is a system admin.

Previously a user could be edited if the
requesting-user was an admin of ANY of the
orgs the user was member of.
This is changed to require admin permission
to ALL orgs the user is member of.

As a special-case, allow org admins to add
a user as a member to their organization if
the following conditions are met:
- the user is not member of any other orgs
- the org admin has permissions to all of
  the roles the user has
2018-04-06 09:51:08 -04:00
adamscmRH
0f046338ac check ParseError fix 2018-04-06 08:47:54 -04:00
Jake McDermott
21b58e689a Merge pull request #1256 from wenottingham/typo-fix
Fix trivial UI typo
2018-04-05 20:15:11 -04:00
Paul Neumann
c407cb78b5 Fix trivial UI typo 2018-04-05 14:15:55 -04:00
Michael Abashian
d1b504e34d Merge pull request #1255 from mabashian/templates-forms-disabled
Fixed bug where job/workflow templates add forms were disabled
2018-04-05 14:13:30 -04:00
Bill Nottingham
538bf40f96 Merge pull request #1735 from paneu/devel
Fix trivial UI typo
2018-04-05 14:00:58 -04:00
mabashian
d9c9df73d2 Fixed unit test failure 2018-04-05 14:00:13 -04:00
mabashian
78893590d1 Fixed bug where job/workflow templates add forms were fully disabled for users with add access 2018-04-05 13:34:16 -04:00
Paul Neumann
c11c9abcaa Fix trivial UI typo 2018-04-05 19:32:31 +02:00
adamscmRH
881688dd77 fix authentication order 2018-04-05 12:04:07 -04:00
mabashian
2f746c9fd9 Complete removal of InitialPlaybookRun 2018-04-05 12:00:41 -04:00
Matthew Jones
62e2be9c4b Merge pull request #1722 from avantassel/devel
Added nginx_status to nginx.conf
2018-04-05 11:26:53 -04:00
Wayne Witzel III
0bd9919108 Make use of callback explicitly for Project and Inventory 2018-04-05 11:05:48 -04:00
Wayne Witzel III
3411389d00 Added JobTemplate ownership change test 2018-04-05 11:00:13 -04:00
Bill Nottingham
442c209899 Merge pull request #1251 from wenottingham/release_3.3.0
Set `raw=True` when reading passwords from ConfigParser files.
2018-04-05 10:46:12 -04:00
Bill Nottingham
17f8ec64ce Set raw=True when reading passwords from ConfigParser files.
Cherry-pick of https://github.com/ansible/ansible/pull/35582
2018-04-05 10:32:50 -04:00
Michael Abashian
e47570e323 Merge pull request #1243 from mabashian/1011-codemirror-syntax
Fixed codemirror syntax highlighting
2018-04-05 09:59:10 -04:00
Wayne Witzel III
524343870b Added Project & Inventory signals for JobTemplate RBAC 2018-04-05 09:46:03 -04:00
Ben Thomasson
bb596e8ce8 Merge pull request #1203 from benthomasson/release_3.3.0
Removes --fake-initial from awx-manage migrate.
2018-04-05 09:08:16 -04:00
Ben Thomasson
dfe35bd405 Merge pull request #1187 from benthomasson/networking-acceptance-ben
Adds acceptance doc for networking UI
2018-04-05 09:07:57 -04:00
Alan Rominger
ab277e816a Merge pull request #1242 from AlanCoding/copy_scripts
Remove shortcut for custom scripts copy
2018-04-05 08:45:15 -04:00
Alan Rominger
596523b2fa Merge pull request #1246 from AlanCoding/cred_total_int
Fix bug from new credential property
2018-04-05 08:23:03 -04:00
Alan Rominger
e5f93bdf95 Merge pull request #1245 from AlanCoding/orphaned_workflows
Fix WFJT user_capabilities special-case
2018-04-05 08:22:42 -04:00
Alan Rominger
1d26c2feb0 Merge pull request #1241 from AlanCoding/actually_validate_spec
check for existence and type of all spec items
2018-04-05 08:06:19 -04:00
AlanCoding
133cca1446 fix WFJT user_capabilities special-case 2018-04-05 08:04:18 -04:00
AlanCoding
50794452c8 fix bug from new credential property 2018-04-05 08:01:26 -04:00
Alan Rominger
16732e52f2 Merge pull request #1244 from AlanCoding/cancel_weirdness
avoid v1 cruft fields in JobCancelSerializer
2018-04-05 07:23:52 -04:00
Jake McDermott
dd0e7e2751 Merge pull request #1163 from ansible/job-results
job results / job event output
2018-04-05 03:12:29 -04:00
Jake McDermott
1362b444f2 move search tag test 2018-04-05 02:50:09 -04:00
Jake McDermott
cf68df41d5 remove unused code 2018-04-05 02:49:56 -04:00
Jake McDermott
01d9c8546e fix team, credential, and workflow copy regressions 2018-04-05 02:49:45 -04:00
Jake McDermott
939666f172 add polyfills for phantomjs 2018-04-05 02:49:42 -04:00
Jake McDermott
b44c7127f7 reactivate linter for dev server 2018-04-05 02:49:39 -04:00
Jared Tabor
fe58b74d1e Adds the host event modal to the standard out feature
Removes old host modal code
2018-04-05 02:49:38 -04:00
Jake McDermott
18dc0e9066 switch ordering of output panel actions 2018-04-05 02:49:35 -04:00
Jake McDermott
a7bcb491d7 disable search while searching 2018-04-05 02:49:32 -04:00
Jake McDermott
356defff09 remove unused lib code 2018-04-05 02:49:28 -04:00
Jake McDermott
379e2226fa rename search tag test 2018-04-05 02:49:24 -04:00
Jake McDermott
e4ad34fa14 update smoke test for new job results view 2018-04-05 02:49:20 -04:00
Jake McDermott
cf4b29c6d5 remove has-ansi dependency 2018-04-05 02:49:12 -04:00
Jake McDermott
95a37fab05 fix lint errors 2018-04-05 02:48:47 -04:00
Jake McDermott
a5e20117e3 move search into feature-level component 2018-04-05 02:48:23 -04:00
Jake McDermott
1f9b325f38 use status service in details and stats components 2018-04-05 02:47:54 -04:00
Jake McDermott
bdd36341ae add status service 2018-04-05 02:47:51 -04:00
Jake McDermott
6c8923d653 tighten up status transitions for relaunch 2018-04-05 02:47:47 -04:00
Jake McDermott
66dcf01088 add raw txt download 2018-04-05 02:47:44 -04:00
Jake McDermott
181d7e0e01 add delete and cancel 2018-04-05 02:47:41 -04:00
Jake McDermott
fc01af2298 hide dev utility 2018-04-05 02:47:37 -04:00
Jake McDermott
07186e1606 disable search when running 2018-04-05 02:47:34 -04:00
Jake McDermott
6b302ef167 job results link-in 2018-04-05 02:47:31 -04:00
Jake McDermott
a53f70f0af add inventory updates 2018-04-05 02:47:27 -04:00
Jake McDermott
8da2c3cad2 fix regression with opening credential edit/add 2018-04-05 02:47:24 -04:00
Jake McDermott
b10dc6d4ff wip - integrate adhoc and workflow 2018-04-05 02:47:20 -04:00
Jake McDermott
91e5659042 rename to engine service
The rename reflects the fact that this service is now driven by an external caller
after being initialized with hooks.
2018-04-05 02:47:15 -04:00
Jake McDermott
450eaeca96 add event processing for stats and host status components 2018-04-05 02:47:11 -04:00
Jake McDermott
faa33e0bec navigate to new job results view on relaunch 2018-04-05 02:47:08 -04:00
Jake McDermott
b577f50930 event processing for details panel and initial stats bar integration 2018-04-05 02:47:05 -04:00
Jake McDermott
f65d170cab initial details panel integration 2018-04-05 02:47:02 -04:00
gconsidine
a23e5e920f Add support for in progress jobs and omit expand
* Any event received by the stream service will start rendering
(instead of JOB_START events only)
* Expand/collapse only shown for static results
2018-04-05 02:46:59 -04:00
gconsidine
033314e4f6 Add fixes to results
- Handle out of order events by batching lines until all lines
  are present
  - In static mode, fetch pages of results until container is full
  and scroll bar appears (for scroll events related to pagination)
2018-04-05 02:46:59 -04:00
gconsidine
e3d42d8e1b Fix webpack-dev-server proxy to accommodate auth changes 2018-04-05 02:46:59 -04:00
gconsidine
81c85913ac Add encoding of html entities in stdout from the API 2018-04-05 02:46:58 -04:00
gconsidine
c9612b8c75 Fix (most) lint errors 2018-04-05 02:46:58 -04:00
gconsidine
57ea582898 Fix stream pause/resume transitions 2018-04-05 02:46:58 -04:00
gconsidine
189963ae83 Add independent stream service 2018-04-05 02:46:58 -04:00
Jake McDermott
7acc99cf15 initial search integration 2018-04-05 02:46:56 -04:00
Jake McDermott
13162ca33a move data transformation logic into a service so it can be reused 2018-04-05 02:46:53 -04:00
Jake McDermott
0adf671de4 refactor, lint, separate data transformation logic from display logic 2018-04-05 02:46:48 -04:00
Jake McDermott
c12173233b add initial test and sanity check for search tags 2018-04-05 02:46:43 -04:00
Jake McDermott
1cc7d5535e hacking together some basic bootstrapping for job results view - not yet an actual test 2018-04-05 02:46:32 -04:00
John Mitchell
a1b7d86981 remove the rest of templates list code and update organization tempaltes list to using new code 2018-04-04 17:01:05 -04:00
John Mitchell
e492043819 utilize new list on projects template list 2018-04-04 17:00:25 -04:00
John Mitchell
3f91cd72c3 Merge pull request #1231 from jlmitch5/licenseOnSettingsPage
add license route to settings page
2018-04-04 16:49:57 -04:00
John Mitchell
a0948b410e embed license panel within settings pane 2018-04-04 16:43:32 -04:00
AlanCoding
02b7424b29 check for existence and type of all spec items 2018-04-04 16:39:36 -04:00
AlanCoding
f0862cd413 avoid v1 cruft fields in JobCancelSerializer 2018-04-04 16:30:44 -04:00
Michael Abashian
0d9759102e Merge pull request #1232 from mabashian/889-firefox-event
Fixed event error in firefox when logging in
2018-04-04 16:13:53 -04:00
gconsidine
60a19246ae Add promise-based event processesing for consistency 2018-04-04 16:03:42 -04:00
gconsidine
3705169de0 Remove stream service from job index includes 2018-04-04 16:03:42 -04:00
gconsidine
0c09447f2d Refactor scroll handling into independent service 2018-04-04 16:03:42 -04:00
gconsidine
b16d9a89e3 Refactor page handling 2018-04-04 16:03:42 -04:00
gconsidine
df84f822f6 [WIP] Move page-related functionality into separate service 2018-04-04 16:03:42 -04:00
gconsidine
a5bd905f18 [WIP] Add event buffering on scroll/resume 2018-04-04 16:03:42 -04:00
gconsidine
60a43015e2 Update when scroll,stream flags are flipped 2018-04-04 16:03:42 -04:00
gconsidine
5c3cf83d08 Implement memory max (NodeList ejection) in real-time mode 2018-04-04 16:03:42 -04:00
gconsidine
d48f69317f Add scroll lock for real-time display 2018-04-04 16:03:42 -04:00
gconsidine
83897d43a7 Add websocket connection info for remaining job types 2018-04-04 16:03:42 -04:00
gconsidine
e143698484 Fix resource references in models 2018-04-04 16:03:42 -04:00
gconsidine
d6e7058947 Remove extraneous model import 2018-04-04 16:03:42 -04:00
gconsidine
3d02ef8209 Add basic (no optimization) real-time implementation 2018-04-04 16:03:42 -04:00
gconsidine
ad1764c7f2 Add ws subscription to job results 2018-04-04 16:03:42 -04:00
gconsidine
2eef166325 Remove git merge conflict artifacts 2018-04-04 16:03:42 -04:00
gconsidine
a6ee7b6aac Remove unused functionality from controller 2018-04-04 16:03:42 -04:00
gconsidine
2e07fee39f Add more robust stdout navigation 2018-04-04 16:03:42 -04:00
gconsidine
07ff25a241 Add generalized resource to job results view 2018-04-04 16:03:42 -04:00
gconsidine
41d3d29ae8 Fix project update model 2018-04-04 16:03:42 -04:00
gconsidine
52a6cca206 Add models for remaining event types 2018-04-04 16:03:42 -04:00
gconsidine
e5187e4ac8 Adjust pagination/scrolling 2018-04-04 16:03:42 -04:00
gconsidine
cc36ee6bed Add WIP prepend/previous on scroll 2018-04-04 16:03:42 -04:00
gconsidine
745e547e34 Add nested page cache 2018-04-04 16:03:42 -04:00
gconsidine
4b81d8d494 Add WIP implementation of pagination with cache 2018-04-04 16:03:42 -04:00
gconsidine
ab8651eab6 Add functions to calc number of rows in view 2018-04-04 16:03:42 -04:00
gconsidine
fa59f46f2b Update less variable names 2018-04-04 16:03:42 -04:00
gconsidine
c08538b8f0 Fix model pagination behavior, limit, and cache 2018-04-04 16:03:42 -04:00
gconsidine
5a75059c86 Add load on scroll and max results to base model 2018-04-04 16:03:42 -04:00
gconsidine
b88ad50a75 Update style of stdout container 2018-04-04 16:03:42 -04:00
gconsidine
3006caffe1 Update style to be inline with mockups 2018-04-04 16:03:42 -04:00
gconsidine
e26c977b36 Add partial implementation of model.next 2018-04-04 16:03:42 -04:00
gconsidine
81dac1d1b8 Update code/output components 2018-04-04 16:03:42 -04:00
gconsidine
a7f29aac3a Add component-based stdout for host modal 2018-04-04 16:03:42 -04:00
gconsidine
21e74fc5eb Add click to launch host event detail modal 2018-04-04 16:03:42 -04:00
gconsidine
56b6d7e85d Add scrollTo for top and bottom, add better expand/collapse 2018-04-04 16:03:42 -04:00
gconsidine
d914b70bb6 Add expand/collapse to parent events 2018-04-04 16:03:42 -04:00
gconsidine
dbf1fd2d4f Use event record with output template 2018-04-04 16:03:42 -04:00
gconsidine
6f7841a920 Add record object to maintain event meta info 2018-04-04 16:03:42 -04:00
gconsidine
0a66d1c3fc Add dynamic angular interaction after HTML insertion 2018-04-04 16:03:42 -04:00
gconsidine
aaec3474b0 Add support for params to BaseModel.extend 2018-04-04 16:03:42 -04:00
gconsidine
3096a58272 Update style to match latest mockup 2018-04-04 16:03:42 -04:00
gconsidine
5c10ce3082 Update job output styling 2018-04-04 16:03:42 -04:00
gconsidine
30c472c499 Add basic event output in sandbox 2018-04-04 16:03:42 -04:00
gconsidine
946f3b5c92 Add ansi parsing libs 2018-04-04 16:03:42 -04:00
gconsidine
0de5301c23 Fix eslint errors/warnings emitted to browser 2018-04-04 16:03:42 -04:00
gconsidine
5b8d2e7659 Add model and resolve block to sandbox view 2018-04-04 16:03:42 -04:00
gconsidine
212ab96a31 Add structure for sandboxed job results 2018-04-04 16:03:42 -04:00
Ryan Petrello
0554e62f70 Merge pull request #1227 from ryanpetrello/encrypt-oauth2-client-secret
automatically encrypt/decrypt main_oauth2application.client_secret
2018-04-04 16:00:30 -04:00
mabashian
7084fe9a6d Fixed codemirror syntax highlighting 2018-04-04 15:36:37 -04:00
Ryan Petrello
5f01d26224 automatically encrypt/decrypt main_oauth2application.client_secret
see: https://github.com/ansible/awx/issues/1416
2018-04-04 15:35:24 -04:00
Jared Tabor
0f5f2804a7 Reverts DeleteJob factory, fixes null provider to stdout pages
and removing unnecessary console.logs in app.js
2018-04-04 11:38:27 -07:00
AlanCoding
6e1e7d8426 remove shortcut for custom scripts copy 2018-04-04 14:35:28 -04:00
AlanCoding
e48fa5c7bf manual license updating 2018-04-04 13:09:42 -04:00
AlanCoding
a6e9ed97d2 add the licenses obtained algorithmically 2018-04-04 12:02:37 -04:00
AlanCoding
17c1ac4468 remove licenses for packes removed in 3.3 2018-04-04 10:59:54 -04:00
Alan Rominger
c2446beb6e Merge pull request #1235 from AlanCoding/rm_TOWER_HOST
remove TOWER_HOST from job env vars
2018-04-04 10:42:16 -04:00
Christian Adams
2b7ad578d5 Merge pull request #1121 from rooftopcellist/organization_based_permission
Organization based permission
2018-04-04 10:39:40 -04:00
AlanCoding
c064195025 remove TOWER_HOST from job env vars 2018-04-04 10:32:41 -04:00
Alan Rominger
716a2a6b0f Merge pull request #1213 from AlanCoding/alan_does_jsonschema
custom message for JSONschema type error
2018-04-04 10:27:23 -04:00
adamscmRH
53139b109e clean up application logic 2018-04-04 10:22:49 -04:00
Ryan Petrello
808267d3fe Merge pull request #1234 from ryanpetrello/hey-hey-hey-goodbye
remove old crusty test fixtures
2018-04-04 09:48:09 -04:00
AlanCoding
996a5b20b0 unit tests of cred field types 2018-04-04 09:38:50 -04:00
Ryan Petrello
4b518298a6 remove old crusty test fixtures 2018-04-04 09:32:17 -04:00
Ryan Petrello
0359c4ed98 Merge pull request #1233 from ryanpetrello/fix-1215
more gracefully account for undefined stdout
2018-04-04 08:45:22 -04:00
Ryan Petrello
0db24a5c97 more gracefully account for undefined stdout
see: https://github.com/ansible/tower/issues/1215
related: https://github.com/ansible/tower/pull/1192#issuecomment-377982131
2018-04-04 08:29:57 -04:00
Wayne Witzel III
6c7a7dbbc0 Merge pull request #1151 from wwitzel3/release_3.3.0
Fix issue with adding new RBAC fields
2018-04-04 08:03:52 -04:00
Ryan Petrello
856312e7ea Merge pull request #1226 from ryanpetrello/fix-1224
add more custom credential type env blacklist items
2018-04-04 08:03:02 -04:00
Wayne Witzel III
bab2745392 Refresh the old instance so the returned obj is up-to-date 2018-04-04 07:49:29 -04:00
Wayne Witzel III
5f888d8400 Fix issue with adding new RBAC fields 2018-04-04 07:48:21 -04:00
Alan Rominger
bf4251794a Merge pull request #1223 from AlanCoding/delete_user_role
Delete user role on deletion of a user
2018-04-04 07:04:04 -04:00
Jared Tabor
77d3d5f5cb Merge pull request #1725 from jaredevantabor/fix-1648
Increases the angular-tz-extension tag in package.json
2018-04-03 23:00:42 +00:00
Michael Abashian
bec66e05ff Merge pull request #1197 from mabashian/941-activity-stream-inv
Fixed regular inventory activity stream link
2018-04-03 18:40:05 -04:00
Jared Tabor
f70917df64 Increases the angular-tz-extension tag in package.json
The angular-tz-extensions was changed to accomodate for an issue with
UTC dates not getting parsed correctly.
2018-04-03 15:38:45 -07:00
mabashian
e8d80b5502 Fixed event error in firefox when logging in. Removed transition console logs. 2018-04-03 18:36:34 -04:00
Jared Tabor
96e5ed57e1 Merge pull request #1229 from jaredevantabor/scheduler-deps
Increases the angular-tz-extension tag in package.json
2018-04-03 21:52:31 +00:00
John Mitchell
4e6ce9af18 add license route to settings page 2018-04-03 17:36:46 -04:00
Jared Tabor
9f07beed59 Increases the angular-tz-extension tag in package.json
The angular-tz-extensions was changed to accomodate for an issue with
UTC dates not getting parsed correctly.
2018-04-03 21:27:38 +00:00
Ryan Petrello
95b5bac6e7 Merge pull request #1208 from ryanpetrello/fix-playbook-on-notify
properly support `v2_playbook_on_notify` in ansible 2.5+
2018-04-03 16:19:10 -04:00
Ryan Petrello
31a0eab880 add more custom credential type env blacklist items
see: https://github.com/ansible/tower/issues/1224
2018-04-03 15:44:44 -04:00
Alan Rominger
ac1bc08480 Merge pull request #1220 from AlanCoding/fix_check_related
fix bug where role name was given incorrectly
2018-04-03 15:12:23 -04:00
Chris Meyers
21e8661fae Merge pull request #1222 from chrismeyersfsu/fix-isolated_query
use non-deprecated way of setting many2many
2018-04-03 14:40:26 -04:00
AlanCoding
ee8416140a custom message for JSONschema type error 2018-04-03 14:38:30 -04:00
AlanCoding
a52b22ffdf delete user role on deletion of a user 2018-04-03 14:31:56 -04:00
chris meyers
88fbb6706f use non-deprecated way of setting many2many 2018-04-03 14:31:37 -04:00
Chris Meyers
9677a9841c Merge pull request #1221 from chrismeyersfsu/fix-isolated_query
fixed isolated instance query
2018-04-03 14:04:01 -04:00
Alan Rominger
59c30af19f Merge pull request #1219 from AlanCoding/dragon_vault_id
Prevent unicode errors in cred unique_hash
2018-04-03 14:01:51 -04:00
chris meyers
c3100afd0e fixed isolated instance query
* Was considering an isolated instance: any instance that has at least 1
group with no controller. This is technically correct since an iso node
can not be a part of a non-iso group.
* The query is now more robust and considers a node an iso node if ALL
groups that a node belong to ALL have a controller.
* Also added better debugging for the special tower instance group
* Added a check for the existance of the special tower group so that
logs are less "messy" during the install process.
2018-04-03 13:50:57 -04:00
AlanCoding
8a7f00bdf7 fix bug where role name was given incorrectly 2018-04-03 13:39:16 -04:00
AlanCoding
9695031b27 prevent unicode errors in cred unique_hash 2018-04-03 13:34:21 -04:00
Andrew Van Tassel
84329fc735 Update nginx.conf (#1)
* Update nginx.conf

Added nginx_status, Sysdig is relentless...
2018-04-03 11:24:30 -06:00
Ryan Petrello
8e51f61afa Merge pull request #1195 from ryanpetrello/dont_log_task_args
only record task.args in the callback plugin if `DISPLAY_ARGS_TO_STDOUT`
2018-04-03 12:44:53 -04:00
Alan Rominger
275cc061f0 Merge pull request #1216 from AlanCoding/no_inv_no_callback
prohibit config callback with no inventory
2018-04-03 12:35:31 -04:00
adamscmRH
9ef1fce5e1 add tests & correct auditor permissions 2018-04-03 11:03:50 -04:00
AlanCoding
482c159ac6 prohibit config callback with no inventory 2018-04-03 10:56:35 -04:00
Ryan Petrello
5fd5c95a1d only record task.args in the callback plugin if DISPLAY_ARGS_TO_STDOUT
see: https://github.com/ansible/awx/issues/1633
2018-04-03 10:52:55 -04:00
Wayne Witzel III
f64587cd1c Merge pull request #1207 from wwitzel3/fix-32-1189
Back port of 3.3.0 fix
2018-04-03 09:29:38 -04:00
adamscmRH
e9a128138a add org-app endpoint & permissions 2018-04-03 08:58:53 -04:00
adamscmRH
a7625b8747 add organization to app model 2018-04-03 08:58:53 -04:00
Ryan Petrello
f8c40cc26f properly support v2_playbook_on_notify in ansible 2.5+
see: https://github.com/ansible/awx/issues/1705
see: https://github.com/ansible/tower/issues/1205
related: https://github.com/ansible/ansible/pull/32633
2018-04-03 08:53:13 -04:00
AlanCoding
fe04f69e89 update tests for org members seeing teams 2018-04-03 07:50:49 -04:00
AlanCoding
d2ec880cad allow org members to see teams in org 2018-04-03 07:41:06 -04:00
Jake McDermott
652bdf7875 Merge pull request #1210 from mabashian/1029-passwords-preview
Scrub passwords from extra vars preview on launch
2018-04-03 01:36:17 -04:00
mabashian
278a2091c2 Scrub passwords from extra vars preview on launch 2018-04-02 16:47:49 -04:00
Chris Meyers
654a1b3e09 Merge pull request #1201 from chrismeyersfsu/fix-provision_instance_list
append registered hostname to policy list
2018-04-02 16:39:20 -04:00
Chris Meyers
d2c9bd2f3b Merge pull request #1194 from chrismeyersfsu/fix-more_better_unicode_handling
better unicode handling
2018-04-02 16:31:21 -04:00
chris meyers
e5dcfda1fe append registered hostname to policy list
* The Instance Group list of instances was getting over-written with
every call to the register_instance management command.
* This changeset appends --hostnames to the Instance Group policy list.
2018-04-02 16:26:59 -04:00
Wayne Witzel III
c4635fa683 Merge pull request #1199 from wwitzel3/fix-1189
Fixes RBAC issue, ensures can admin of sub_obj when needed
2018-04-02 16:06:11 -04:00
Wayne Witzel III
b905aec1d4 Merge pull request #1199 from wwitzel3/fix-1189
Fixes RBAC issue, ensures can admin of sub_obj when needed
2018-04-02 16:03:00 -04:00
Wayne Witzel III
067ead35ac Extend test and fix to include the admin_role 2018-04-02 15:39:01 -04:00
Ben Thomasson
43601be8a7 Removes --fake-initial from awx-manage migrate.
The --fake-initial option is no longer needed and can cause
application with an initial migration to fail as was seen
in the network_ui application.
2018-04-02 15:34:39 -04:00
John Mitchell
3f66379f9d Merge pull request #1122 from jlmitch5/addWorkflowToJobsList
add workflow job row item to jobs list
2018-04-02 14:36:16 -04:00
Michael Abashian
7526ac05bc Merge pull request #1196 from mabashian/1055-pending-running-icon
Added running indicator to smart status and sockets to template list
2018-04-02 14:25:09 -04:00
Soumik Ghosh
41c3e69450 Bind mount to custom certs to 2018-04-02 14:23:23 -04:00
John Mitchell
139cfbfc55 add workflow job row item to jobs list 2018-04-02 14:17:50 -04:00
Michael Abashian
d9cd205929 Merge pull request #1182 from mabashian/1082-relaunch-playbook-run
Fixed bug relaunching job on successful/failed hosts
2018-04-02 14:13:22 -04:00
Wayne Witzel III
ea7a0b2f58 Fixes RBAC issue, ensures can admin of sub_obj when needed 2018-04-02 14:10:14 -04:00
mabashian
d68679c559 Fixed regular inventory activity stream link 2018-04-02 13:57:44 -04:00
mabashian
1cf8e3cc20 Fixed linting errors 2018-04-02 13:48:07 -04:00
Michael Abashian
8ad9d07896 Merge pull request #1178 from mabashian/1161-templates-list-pagination
Fixed templates list pagination
2018-04-02 13:44:33 -04:00
Michael Abashian
5a881d4eb0 Merge pull request #1156 from mabashian/990-host-filter-remove-term
Fixed host filter tag removal
2018-04-02 13:41:18 -04:00
Michael Abashian
0d281dbe21 Merge pull request #1145 from mabashian/prompt-cleanup-v2
Complete removal of InitiatePlaybookRun
2018-04-02 13:40:51 -04:00
mabashian
6bd6cc7fbc Added running indicator to smart status. Added sockets back to templates list 2018-04-02 13:30:17 -04:00
AlanCoding
dd8acb70be add deletion protection to hosts 2018-04-02 13:21:22 -04:00
Alan Rominger
6a835b8a6b Merge pull request #1193 from AlanCoding/broken_no_launch
hide launch button for invalid JTs (using user_capabilities)
2018-04-02 13:08:53 -04:00
chris meyers
557637afcb better unicode handling 2018-04-02 12:05:16 -04:00
Chris Meyers
07aa99f949 Merge pull request #1192 from chrismeyersfsu/fix-stdout_handler_undefined
more gracefully account for undefined stdout
2018-04-02 11:58:07 -04:00
AlanCoding
d8f37e799b hide launch button for invalid JTs 2018-04-02 11:58:02 -04:00
chris meyers
7e7ff8137d more gracefully account for undefined stdout
* It's possible to have an exception raised in BaseTask.run() before the
stdout handler gets defined. This is problematic when the exception
handler tries to access that undefined var .. causing another exception.
Note that the second exception is caught also but it's not desirable to
lose the first exception.
* This fix checks to see if the stdout handler var is defined before
calling it's methods. Thus, we retain the original error message.
2018-04-02 11:41:30 -04:00
Chris Meyers
47fa99d3ad Merge pull request #1154 from chrismeyersfsu/enhancement-tower_in_all_groups
add all instances to special tower instance group
2018-04-02 09:39:04 -04:00
Alan Rominger
2e1a2f0a95 Merge pull request #1184 from AlanCoding/validate_scope
Validate token scope
2018-04-02 09:36:12 -04:00
Alan Rominger
afd54a9ff9 Merge pull request #1174 from AlanCoding/cred_type_deets
Include credential type details (and more!) in activity stream
2018-04-02 08:03:33 -04:00
Jared Tabor
92dc450940 Adds acceptance doc for networking UI
* Adds gerkin feature file for networking visualization
* Adds implementation details to networking.md
2018-03-29 16:53:57 -04:00
chris meyers
838b723c73 add all instances to special tower instance group
* All instances except isolated instances
* Also, prevent any tower attributes from being modified via the API
2018-03-29 16:47:52 -04:00
AlanCoding
a4721dc9e7 validate token scope 2018-03-29 15:43:25 -04:00
mabashian
2ccbf5a817 Fixed bug relaunching job on successful/failed hosts 2018-03-29 15:09:31 -04:00
Alan Rominger
09801d6dab Merge pull request #1150 from AlanCoding/types_docs
Make example credential type work
2018-03-29 15:03:03 -04:00
AlanCoding
9244989a14 test for all models in ActivityStreamSerializer 2018-03-29 14:57:26 -04:00
Alan Rominger
b919c36994 Merge pull request #1166 from AlanCoding/role_mods
Exclude created/modified from RoleSerializer
2018-03-29 14:05:41 -04:00
mabashian
3f15966d9d Fixed templates list pagination 2018-03-29 13:54:22 -04:00
Marliana Lara
1f0889431c Merge pull request #1138 from marshmalien/fix/auth_ldap_group_type_params_field
Add ldap_group_type_params codemirror field to LDAP forms
2018-03-29 13:47:25 -04:00
Marliana Lara
372b2925d2 Merge pull request #1123 from marshmalien/fix/manage_org_auth
Warning banner when Org Admin doesn't have authorization
2018-03-29 13:38:37 -04:00
Marliana Lara
471248e66c Fix LDAP_GROUP_TYPE_PARAMS revert value 2018-03-29 13:33:17 -04:00
AlanCoding
0295351bf1 include credential type details in activity stream 2018-03-29 12:07:05 -04:00
Alan Rominger
f16ad97081 Merge pull request #1165 from AlanCoding/you_know_who_you_are
Prevent modified from showing up in activity stream
2018-03-29 12:00:36 -04:00
Alan Rominger
05a56b9b22 Merge pull request #1164 from AlanCoding/path_words
Add verbosity to local_path error
2018-03-29 11:58:39 -04:00
AlanCoding
86579775b2 field OPTIONS tip for filterability 2018-03-29 10:55:43 -04:00
Marliana Lara
5ffe0f40d2 Only show banner if user is an org admin without edit capabilities 2018-03-29 10:53:09 -04:00
AlanCoding
19c3e26cf2 exclude created/modified from RoleSerializer 2018-03-29 08:59:03 -04:00
Ryan Petrello
61d58b83a4 Merge pull request #1162 from ryanpetrello/release_3.2.4
properly filter disabled hosts on smart inventory composition
2018-03-29 08:51:20 -04:00
AlanCoding
48112f2c56 prevent modified from showing up in activity stream 2018-03-29 08:37:20 -04:00
AlanCoding
27e4630426 add verbosity to local_path error 2018-03-29 07:53:10 -04:00
Ryan Petrello
c1cc92afa0 properly filter disabled hosts on smart inventory composition
see: #1053
related: https://github.com/ansible/tower/pull/1155
2018-03-28 17:02:32 -04:00
Shane McDonald
3cb37b131b Merge pull request #1702 from shanemcd/postgresql-persistent-template
Customizable template for OpenShift PostgreSQL deployment
2018-03-28 16:37:02 -04:00
Chris Meyers
8c3b1c06d9 Merge pull request #1160 from chrismeyersfsu/fix-instance_running_jobs
fix api browser endpoint title
2018-03-28 16:31:00 -04:00
Shane McDonald
1ef7d73bc9 Customizable template for OpenShift PostgreSQL deployment
`oc new-app --template=postgresql-persistent` has been kind of a pain. It would attempt to create a Persistent Volume, but does not allow you to specify the storageClass.

This code assumes that a Persistent Volume is already available and will fail with a helpful error message if it is not.

Signed-off-by: Shane McDonald <me@shanemcd.com>
2018-03-28 16:25:43 -04:00
chris meyers
bf6412ea06 fix api browser endpoint name
* Endpoint exposes all jobs associated with an Instance. This is what we
want. Align the endpoint description with this behavior by removing the
word running.
2018-03-28 16:24:19 -04:00
chris meyers
8438331563 make jobs_running more rich in OPTIONS
* Expose jobs_running as an IntegerField
2018-03-28 16:01:24 -04:00
Alan Rominger
c7ecbb7d2a Merge pull request #1157 from AlanCoding/no_access_token
Remove access_token from Activity Stream serializer
2018-03-28 15:56:12 -04:00
AlanCoding
33e2457721 remove access_token from ActStr serializer 2018-03-28 15:38:58 -04:00
Ryan Petrello
6e246c1782 Merge pull request #1155 from ryanpetrello/fix-1053
properly filter disabled hosts on smart inventory composition
2018-03-28 15:34:16 -04:00
mabashian
4e0b890a03 Fixed host filter tag removal 2018-03-28 15:27:12 -04:00
Ryan Petrello
23267bce38 properly filter disabled hosts on smart inventory composition
see: https://github.com/ansible/tower/issues/1053
2018-03-28 15:16:26 -04:00
AlanCoding
2a45f352bb make example cred type work 2018-03-28 14:40:38 -04:00
Alan Rominger
ae5d17d151 Merge pull request #1147 from AlanCoding/exclude_last_used
Exclude last_used from activity stream
2018-03-28 14:32:55 -04:00
Michael Abashian
9b3bb2a9b3 Merge branch 'release_3.3.0' into prompt-cleanup-v2 2018-03-28 13:07:10 -04:00
AlanCoding
98dc59765e exclude last_used from activity stream 2018-03-28 12:53:11 -04:00
Shane McDonald
84e3bcc031 Merge pull request #1701 from shanemcd/devel
Move rabbitmq_version out of inventory file
2018-03-28 12:47:43 -04:00
Shane McDonald
c8ea03e67b Move rabbitmq_version out of inventory file
Signed-off-by: Shane McDonald <me@shanemcd.com>
2018-03-28 12:45:05 -04:00
Shane McDonald
c1e1bf32d0 Merge pull request #1699 from shanemcd/rabbitmq-3.7
Upgrade to RabbitMQ 3.7, remove need for etcd2
2018-03-28 12:14:54 -04:00
Jared Tabor
ed86828a6f Merge pull request #1691 from jaredevantabor/fix-1687
Reverts DeleteJob factory, fixes null provider to stdout pages
2018-03-28 08:54:31 -07:00
Shane McDonald
935dc8bca7 Upgrade to RabbitMQ 3.7, remove need for etcd2
Signed-off-by: Shane McDonald <me@shanemcd.com>
2018-03-28 11:45:33 -04:00
Alan Rominger
bed9b06426 Merge pull request #1124 from AlanCoding/hot_potato
Stream standard out in non-event models
2018-03-28 11:38:49 -04:00
Shane McDonald
3f685c42fe Merge pull request #1693 from shanemcd/consolidate-roles
Consolidate OpenShift and Kubernetes roles
2018-03-28 11:37:12 -04:00
Shane McDonald
98f5dc3fcc Consolidate OpenShift and Kubernetes roles
Signed-off-by: Shane McDonald <me@shanemcd.com>
2018-03-28 11:36:08 -04:00
Marliana Lara
d5d80860e9 Merge pull request #1131 from marshmalien/fix/small_ui_improvements
UI Fix inventory list action buttons, upgrade screen, custom venv fields
2018-03-28 11:26:21 -04:00
Michael Abashian
81e85408eb Merge pull request #1120 from mabashian/1066-workflow-node-credentials
Fixed workflow node credential bug
2018-03-28 11:22:51 -04:00
mabashian
767991fc2b Complete removal of InitialPlaybookRun 2018-03-28 11:18:09 -04:00
AlanCoding
8c167e50c9 Continuously stream data from verbose jobs
In verbose unified job models (inventory updates, system jobs,
etc.), do not delay dispatch just because the encoded
event data is not part of the data written to the buffer.

This allows output from these commands to be submitted
to the callback queue as they are produced, instead
of waiting until the buffer is closed.
2018-03-28 11:05:49 -04:00
Chris Meyers
fe0e873108 Merge pull request #1144 from chrismeyersfsu/fix-auto_reprovision
delay looking up settings SYSTEM_UUID
2018-03-28 10:32:24 -04:00
chris meyers
eef6f7ecb0 delay looking up settings SYSTEM_UUID 2018-03-28 09:54:51 -04:00
Chris Meyers
bc34a74b7e Merge pull request #1142 from chrismeyersfsu/fix-ldap_options_label
fix ldap group type params label
2018-03-28 09:15:39 -04:00
chris meyers
dc46a732bc fix ldap group type params label
* copy pasted ldap group type label and did no previously update. This
updates.
2018-03-28 09:12:06 -04:00
Wayne Witzel III
3936b5e7a3 Merge pull request #1690 from ryanpetrello/coc
add a link to the community code of conduct
2018-03-28 08:55:57 -04:00
Jared Tabor
f10281e9ef Reverts DeleteJob factory, fixes null provider to stdout pages
and removing unnecessary console.logs in app.js
2018-03-27 14:21:39 -07:00
Ryan Petrello
d9a0029ef7 add a link to the community code of conduct 2018-03-27 16:51:30 -04:00
Marliana Lara
492e74a345 Remove pending_deletion button bug from inventory list 2018-03-27 16:43:50 -04:00
Marliana Lara
9b30b02acb Hide Ansible Environment form fields when there are no custom venvs 2018-03-27 16:43:39 -04:00
Marliana Lara
25c8bf93ec Add AUTH_LDAP_GROUP_TYPE_PARAMS field to LDAP form 2018-03-27 16:06:26 -04:00
Chris Meyers
4740f90dc7 Merge pull request #1129 from chrismeyersfsu/enhancement-node_reregister
reregister node when they come back online
2018-03-27 15:24:58 -04:00
chris meyers
7ce8907b7b reregister node when they come back online
* Nodes are marked offline, then deleted; given enough time. Nodes can
come back for various reasions (i.e. netsplit). When they come back,
have them recreate the node Instance if AWX_AUTO_DEPROVISION_INSTANCES
is True. Otherwise, do nothing. The do nothing case will show up in the
logs as celery job tracebacks as they fail to be self aware.
2018-03-27 14:30:47 -04:00
Ryan Petrello
96f85c4dd5 Merge pull request #1689 from ryanpetrello/security-issue-template
more issue template updates
2018-03-27 11:47:12 -04:00
Ryan Petrello
14886af969 more issue template updates 2018-03-27 11:44:25 -04:00
Ryan Petrello
4ea97c0f86 Merge pull request #1688 from ryanpetrello/security-issue-template
add instructions for responsible disclosure of security issues
2018-03-27 11:42:13 -04:00
Marliana Lara
4fab94d2ce Add warning banner when Org Admin doesn't have manage auth 2018-03-27 11:41:16 -04:00
Ryan Petrello
e6d4aead65 add instructions for responsible disclosure of security issues 2018-03-27 11:38:22 -04:00
mabashian
d744679d22 Fixed bug where the machine credential was being stripped from a workflow node if the edge type was changed. 2018-03-27 11:21:24 -04:00
Shane McDonald
7002c6f1b1 Delete unused namespace file
Signed-off-by: Shane McDonald <me@shanemcd.com>
2018-03-27 10:57:22 -04:00
Shane McDonald
3072c3bd8d Whitespace fix
Signed-off-by: Shane McDonald <me@shanemcd.com>
2018-03-27 10:57:22 -04:00
Matthew Jones
3a3c883504 Merge pull request #1115 from ryanpetrello/newer-dateutil
remove an RRULE parsing bug fix that landed upstream in python-dateutil
2018-03-26 20:36:10 -07:00
Ryan Petrello
21d629531f remove an RRULE parsing bug fix that landed upstream in python-dateutil
related: a2a246a834
2018-03-26 18:02:52 -04:00
Ryan Petrello
f3bf9bc34f Merge pull request #1114 from ryanpetrello/newer-dateutil
update to a newer python-dateutil with more bug fixes we were vendoring
2018-03-26 17:21:45 -04:00
Ryan Petrello
a2a246a834 update to a newer python-dateutil with more bug fixes we were vendoring
related: dateutil/dateutil#649
2018-03-26 17:12:01 -04:00
Matthew Jones
9637058406 Merge pull request #1512 from chrismeyersfsu/feature-new_ldap_group_type
add ldap group type like posixGroupType
2018-03-26 12:29:01 -07:00
Matthew Jones
d6203b521f Merge pull request #1679 from mabashian/workflow-node-start-bug
Fixed js error when adding first workflow node
2018-03-26 12:20:38 -07:00
Matthew Jones
d685815478 Merge pull request #1607 from AlanCoding/tower_verify_field
Sync tower verify_ssl parameter with tower-cli
2018-03-26 12:12:45 -07:00
Matthew Jones
71d2a4b4cf Merge pull request #1610 from AlanCoding/group_related
Include related Jobs in group deletion protection
2018-03-26 12:09:45 -07:00
mabashian
6c321f810a Tweaked isRoot logic to follow the same pattern as the rest of the function 2018-03-26 15:00:33 -04:00
mabashian
2c1fe14206 Fixed js error when adding first workflow node 2018-03-26 14:55:01 -04:00
Alan Rominger
3411721a2c Merge pull request #1676 from AlanCoding/unused_settings
Removed unused settings (replaced by source_vars)
2018-03-26 14:16:42 -04:00
AlanCoding
9db0fdfc0b sync tower verify_ssl parameter with tower-cli
Add new input for the tower type credential
elsewhere, tests are being added for verify_ssl in modules
tower-cli also updating to use the original tower.py var
2018-03-26 13:42:52 -04:00
Chris Meyers
09babbe862 Merge pull request #1677 from chrismeyersfsu/fix-traceback_msg
call celery method with celery context
2018-03-26 13:03:32 -04:00
John Mitchell
b1cd7dbd2f Merge pull request #1678 from jlmitch5/removeTowerLicenseDir
remove tower-license dir
2018-03-26 12:17:58 -04:00
John Mitchell
02a97a2ec2 update .gitignore to include root tower-license dir 2018-03-26 12:13:00 -04:00
Alan Rominger
e38955e1fa Merge pull request #1670 from AlanCoding/no_credential
Inventory source can_change - remove credential check
2018-03-26 12:06:57 -04:00
John Mitchell
012e644b9f remove tower-license dir 2018-03-26 12:03:40 -04:00
chris meyers
1503e0505e call celery method with celery context
* Tracebacks are more informative this way.
2018-03-26 12:02:42 -04:00
Ryan Petrello
7842b67bea Merge pull request #1104 from ryanpetrello/fix-1101
properly sanitize module arguments with no_log (like uri:password)
2018-03-26 11:57:28 -04:00
chris meyers
b9b8502738 introspect ldap group types for param validation
* Instead of keeping a hard-coded mapping of valid args for each ldap
group type; introspect the subclass to determine valid/invalid fields
2018-03-26 11:40:49 -04:00
Alan Rominger
4c2cff7a63 Merge pull request #1666 from AlanCoding/fix_workflow_vars_again
Ignore workflow survey passwords when not applicable
2018-03-26 11:17:32 -04:00
Alan Rominger
fe6755eca8 Merge pull request #1659 from AlanCoding/relaunch_creds
New credential passwords system on relaunch
2018-03-26 11:16:03 -04:00
Matthew Jones
bddb288ac1 Merge pull request #1352 from ansible/network_ui_3_3
Graphical UI for Network Inventory
2018-03-26 08:11:21 -07:00
John Mitchell
ac70945071 Merge pull request #1657 from jlmitch5/jobsNewListUi
implement new style jobs list in ui
2018-03-26 11:07:56 -04:00
Michael Abashian
e486b16706 Merge pull request #1662 from mabashian/1555-permissions-checkboxes
Fixed permissions multi-select deselect bug
2018-03-26 10:30:42 -04:00
Michael Abashian
b1e959bdaa Merge pull request #1671 from mabashian/t-1099-workflow-nodes
Fixed several workflow node bugs
2018-03-26 10:30:23 -04:00
AlanCoding
d91ce03652 removed unused settings (replaced by source_vars) 2018-03-26 10:19:17 -04:00
John Mitchell
01982e7eab utilize transation for instance groups jobs sub panels titles
and fix a few linting errors
2018-03-26 10:07:47 -04:00
AlanCoding
894eeee979 inventory source can_change rm credential check 2018-03-26 09:45:45 -04:00
Matthew Jones
f5252d9147 Merge pull request #1624 from theblazehen/devel
Add Rocket.Chat notification type
2018-03-26 06:41:48 -07:00
Jeandre Le Roux
c25d8a5d34 Fix rocket.chat notification test flake8
Signed-off-by: Jeandre Le Roux <theblazehen@theblazehen.com>
2018-03-26 15:13:33 +02:00
Christian Adams
8646aa8c34 Merge pull request #1673 from HNKNTA/devel
Fixed parentless function
2018-03-26 09:06:18 -04:00
HNKNTA
7ddbc49568 Fixed parentless function
Signed-off-by: HNKNTA <hnknta@gmail.com>
2018-03-25 18:33:46 +03:00
Jared Tabor
7979bc93fb Merge pull request #1105 from jaredevantabor/background-tabs
Fixes issue with sockets and XHR requests for backgrounded tabs
2018-03-23 16:18:25 -07:00
Jared Tabor
df60876bf3 Adds a debug function to turn on $log.debug 2018-03-23 16:17:24 -07:00
Ben Thomasson
cafc62bd20 Renames Persistence to NetworkingEvents and removes the persistance channel 2018-03-23 15:46:51 -07:00
John Mitchell
f3329c8cce fix instance groups sub jobs lists 2018-03-23 17:00:41 -04:00
Ben Thomasson
38eb2691a8 Updates models based on PR feedback from matburt et al.
* Moves topology_data to views
* Changes id to cid
* Changes pk to id
* Changes host_id and inventory_id to ForeignKeys
* Resets migrations for network_ui
* Cleans up old files
2018-03-23 17:00:29 -04:00
Jared Tabor
883545d4cb Fixes some bugs from PR feedback
* Fixes bug where new devices on the canvas weren't added to the search dropdown
* Fixes bug with closing the details panel
* Changes the fill color to white for remote-selected devices
* Fixes read-only mode by swapping out move controller for move read-only
* Updates range on the zoom widget
2018-03-23 17:00:28 -04:00
Ben Thomasson
8086906a43 Improves pagination unrolling based on jmcdermott's feedback
* Fixes pagination and fsm-diff
* Removes unused Array.extend
2018-03-23 17:00:28 -04:00
Jared Tabor
82ec0d4d4b Disables actions according to RBAC privilege
* Removes the toolbox if user doesn't have permission to edit
* Fixes the extra click that was identified with the context menu
* Adds new readonly version of the move FSM
* Adds an enhancement to debug directive to align the text better
* Disables the toolbox FSM if user doesn't have permission to edit
2018-03-23 17:00:27 -04:00
Ben Thomasson
96b3ebd31e Moves network_ui_test to an external repo 2018-03-23 17:00:27 -04:00
Jared Tabor
abb95fdad6 Cleans up the Network UI after PR feedback and UX feedback
-removes stale commented-out lines
-makes "unknown" type devices smaller on canvas
-moves "unknown" type device title underneath icon
-removes collapsed inventory toolbox
-changes "Delete" to "Remove"
-removes the "Close" button for "Cancel" on details panel
-changing Remove color to red
2018-03-23 17:00:27 -04:00
Ben Thomasson
0e32644a27 Check for missing environ in request 2018-03-23 17:00:27 -04:00
Ben Thomasson
174d0e610f Fixes double import of instanceGroups app 2018-03-23 17:00:26 -04:00
Ben Thomasson
297816b110 Adds CONTRIBUTING docs 2018-03-23 17:00:26 -04:00
Ben Thomasson
f8992e0edf Makes changes suggested by wwitzel3's review 2018-03-23 17:00:26 -04:00
Ben Thomasson
bcf8f0bd42 Resetting migrations for network_ui 2018-03-23 17:00:25 -04:00
Ben Thomasson
b9d4fc2bb9 Adds creating links from host vars from inventory
* Adds creating links from host vars
* Returns devices to the toolbox after they are removed from the canvas
2018-03-23 17:00:25 -04:00
Jared Tabor
66c351c60c Cleans up network UI code for 3.3
This removes features that were not selected for 3.3.

* Removes breadcrumb
* Removes "Jump To" panel and some of the hotkey panel items
* Removes Buttons in favor of Action Dropdown
* Removes chevrons
* Removes ActionIcon model
* Removes the Rename button on the context menu
* Makes details panel readonly
* Adds expand modal for extra vars
* Adds inventory copy function back to inventory list
* Sets cursor to visible
* Adds hide_menus
* Adds fix for mice that return large mousewheel deltas
2018-03-23 17:00:25 -04:00
Ben Thomasson
766bee3753 Refactors network_ui_test out of network_ui
* Separates test messages from application messages
* Removes test runner and groups, processes, and streams from network_ui
* Adds network_ui_test
* Fixes routing for network_ui_test
* Removes coverage_report tool from network_ui
* Fixes network_ui_test test workflow
* Sets width and height of the page during tests
2018-03-23 17:00:25 -04:00
Ben Thomasson
b29a605800 Cleans up feature set for 3.3
This removes the experimental features that were not selected
for 3.3 release.

* Removes dpath requirement
* Removes generated action_plugins
* Removes network UI v1 api
* Removes unused network management commands
* Removes network UI CLI client
* Removes templates
* Removes unused DataBinding models
* Removes obsolete test
* Removes unused admin and tests
* Removes experimental UndoPersistence, RedoPersistence, and auto-layout functions
* Removes API endpoints for network visualization
* Removes unused consumer routes
* Removes group, site, and rack features for 3.3
* Removes unused tables controller
* Removes undo/redo
* Removes group code and scale checks
2018-03-23 17:00:24 -04:00
Ben Thomasson
8d28748451 Updates UI CONTRIBUTING for 3.3
* Fixes links in CONTRIBUTING.md
* Moves CONTRIBUTING and UI design files to ui/client/src/network-ui
* Adds README.md for network_ui/designs
* Updates design
2018-03-23 17:00:24 -04:00
Ben Thomasson
f8d83638b0 Adds inventory tracking and templating to network UI groups and hosts.
* Adds group_id to Group table
* Adds inventory_group_id to Group table
* Adds creation of inventory hosts and groups from the network UI
* Changes network UI variables to be under awx key
* Fixes variables initial value
* Adds group membership association/disassociation
* Removes items from the inventory toolbar when loaded by a snaphot
* Adds nunjucks dependency to package.json
* Adds templating to hosts
* Adds templating for racks
* Adds site templating
* Adds group associations for sites
* Squashes migrations for network_ui
* Flake8 migrations
* Changes reserved field type to device_type, group_type, and process_type
* Allows blank values for all CharFields in network_ui models
* Changes reserved field type to device_type, group_type, and process_type
2018-03-23 17:00:23 -04:00
Ben Thomasson
b7848ab4f6 Adds breadcrumb to network UI
* Adds functionality for breadcrumb
* Changes the site icon to stay the same size
2018-03-23 17:00:23 -04:00
Ben Thomasson
a222fb5ebd Updates pipeline and FSM design and development tools
* Updates pipeline and FSM design for 3.4 features:
    group and read/write design features.
* Adds tool to copy layout from existing design
* Adds pipeline design
2018-03-23 17:00:23 -04:00
Jared Tabor
14ee6a8360 Adds editing to the host details form.
* Adds editing host vars, description, and name to the host details
form.
* Adds details panel FSM and updates to keybindings FSM
2018-03-23 17:00:22 -04:00
Ben Thomasson
6f3bf4fd1b Adds search field and jump-to a device UI.
Adds a search field in the network UI and a jump-to level menu. This
allows users to quickly find a device on the canvas or jump to a
certain mode/zoom-level.

Adds animation to smooth out the transition from the current viewport
to a viewport centered on the searched for device or zoom-level.

* Adds animation FSM and changes the 0 hot key to use it
* Adds jump to animation
* Adds search bar type ahead
* Adds jump animation to search and jump-to menus
* Adds keybinding FSM
* Updates the dropdown when devices are added/edit/removed
* Highlights the searched for host
2018-03-23 17:00:22 -04:00
Ben Thomasson
00a9283e32 Adds an API for network UI, action plugins, and API client
* Adds a simple DRF API for network-ui
* Moves network_ui api to v1_api
* Uses BaseSerializer for networking v1 api
* Adds v2 of the network API
* Uses standard AWX base classes for the network UI API
* Adds canvas prefix to network UI api URL names
* Adds ansible action plugins for automating network UI workflows
* Adds python client for the networking visualization API
2018-03-23 17:00:22 -04:00
Ben Thomasson
2736aecfb2 Adds context menus for group, racks, and sites
* Adds context menu for a rack, and adding more error handling for
    items that don't exist in Tower
* Adds context menu for sites
* Adds handler for showing details for links and interfaces
* Fixes the removed "watchCollection" in order to update details panel
* Removes the context menu when changing the scale of the canvas
* Adds delete context menu button, as well as refactoring the delete
    functionality to the network.ui.controller.js
* Updates delete functionality to delete nested groups/devices
    if the current_scale is set to site or rack icons
* Adds context menu to a group
* Hides rack/site title in top left of group, as well as centering
    labels on all icons
* Moves the context menu off screen when disabling it
* Adds unique name to hosts, routers, switches, and groups
* Makes the names of host/switch/router/group SVG elements so they update when
    the user updates the name of the SVG element
* Removing svg buttons and adding new html toolbar
* Adds panel for Jump To feature, along with basic functionality
* Adds Key dropdown for hotkeys and adding browser refresh hotkey
* Adds breadcrumb bar and making adjustments after feedback with UX
* Rearrages panels and adding some resize logic
* Fixes z-index of key-panel  and jump-to panel
* Adds white background to text underneath icons
* Makes all icons blue
* Changes sizes and colors of icons. Also made icon text background white
* Adjusts sizes of rack and site icons within group boundary
2018-03-23 17:00:21 -04:00
Ben Thomasson
7f0b23c357 Removes early experiments from network UI.
* Removing unused widgets app
* Removes dead code for rack from move
* Removes experimental touch support
* Removes unused Group corners function
* Removes experimental tables app
* Removes stencil and layers
* Removes status light and task status
* Removes configuration
* Removes unused PasteGroup message and handler
* Removes unused inventory clip path partial
* Removes old recordings
* Removes unused table messages
* Removes unused Task and Configuration models
2018-03-23 17:00:21 -04:00
Ben Thomasson
bf7f4ee1e1 Adds network UI test framework
This adds a test framework to drive UI tests from the client
instead of injecting events from the websocket.  Tests consist
of a pair of snapshots (before and after the test) and
a list of UI events to process.  Tests are run using a FSM
in the client that controls the resetting of state to the snapshot,
injecting the events into the UI, recording test coverage,
and reporting tests to the server.

* Adds design for event trace table
* Adds design for a coverage tracking table
* Adds models for EventTrace and Coverage
* Adds trace_id to recording messages
* Adds design for TopologySnapshot table
* Adds order to TopologySnapshot table
* Adds TopologySnapshot table
* Adds Snapshot message when recordings are started and stoppped
* Adds models for tracking test cases and test results
* Adds designs for a test runner FSM
* Updates test management commands with new schema
* Adds download recording button
* Adds models to track tests
* Adds ui test runner
* Adds id and client to TestResult design
* Adds id and client to TestResult
* Update message types
* Stores test results and code coverage from the test runner
* Adds tool to generate a test coverage report
* Adds APIs for tests and code coverage
* Adds per-test-case coverage reports
* Breaks out coverage for loading the modules from the tests
* Re-raises server-side errors
* Captures errors during tests
* Adds defaults for host name and host type
* Disables test FSM trace storage
* Adds support for sending server error message to the client
* Resets the UI flags, history, and toolbox contents between tests
* Adds istanbul instrumentation to network-ui
2018-03-23 17:00:21 -04:00
Ben Thomasson
eeaf7c257c Fixes #945 by removing the network_ui plugin 2018-03-23 17:00:20 -04:00
Jared Tabor
050f43e3bf Improves host details panel UI
* Hooks up the first two context menu buttons
* Makes the rename and details menu show up
    wherever the user's cursor's location
* Adds TopologyInventory and DeviceHost tables
* Adds design for host_id on the Device table
* Adds migrations for TopologyInventory
* Adds host_id to Device table
* Adds inventory_id and host_id tracking
* Auto-closes the right hand panel if focus is directed to the canvas.
* Retrieves the host details on inventory load.
* Adds back support for inventory and host_id tracking
* Adds host icon
* Changes rack icon to new icon
* Site icon replacement
* Fixes host icon "hitbox", and adding debug and construction
* Adds construction and debug lines for switch, router, rack, and site
* Adds some error handling for REST calls, as well as alert on
    host detail panel.
2018-03-23 17:00:20 -04:00
Ben Thomasson
1c1844d889 Reorganizes the network-ui code under awx/client/src/network-ui
* Moves network UI source to awx/client/src/network-ui
* Moves network ui partials to awx/ui/client/network-ui
* Renames widgets with suffix partial.svg
* Updates directives to use bundled partials
* Uses ~network-ui for loading UI component
2018-03-23 17:00:20 -04:00
Ben Thomasson
f6eecad25e Adds explicit channels between FSMs to add in tracing message flows.
* Adds channels between FSMs
* Adds FSMTrace model
* Adds FSMTrace storage and download

Channels between FSMs make the processing pipeline delegation explicit
and allow for better instrumentation to trace the state of the entire
pipeline including FSM state transitions and message flow through
the pipeline.  This feature is not turned on by default and is
only necessary for debugging or certain kinds of testing.
2018-03-23 17:00:19 -04:00
Jared Tabor
a1f639bc8f Adds host detail panel UI and improves toolbox UI
* Changes Layers' panel's default setting to not expanded
* Adds OffScreen2 state to handle the case where a toolbox is both offscreen and disabled
* Adds a collapsed view of the toolbox, as well as a model for ActionIcons
    which is a model whose purpose is to connect the button FSM with the
    chevron icons that are used on the toolbox.
* Adds action-icon directive
* Enables/disables the icons if they're not shown
* Fixes initial state of the toolboxes
* Creates context menu and context menu buttons in the network UI
* Adds extra vars to details panel on left hand side
2018-03-23 17:00:19 -04:00
Ben Thomasson
519983308a Adds content to CONTRIBUTING.md
* Adds SVG intro to CONTRIBUTING.md
* Add FSM intro
* Add rendered images of the FSM designs
* Adding example
* Adding links
* Adds details about the FSM design workflows
* Adds FSM state docs
* Adds event handler docs
* Adds details about FSMController
* Adds example of making an FSMController
* Adds details about messages, models, and message passing
* Adds models and messages to CONTRIBUTING.md
* Adds example to widget development
* Adds detail to the widget development example
* Add message type definitions
2018-03-23 17:00:19 -04:00
Ben Thomasson
809eafe9a9 Adds devserver support
* Adds support for webpack devserver
* Enable istanbul on network UI
* Enable capture and replay tests on the network ui
* Normalize mouse wheel events
* Fix missing trailing slash on hosts API
* Add Export YAML button
2018-03-23 17:00:18 -04:00
Ben Thomasson
2713ec2dd5 Adds Red Hat copyright notice 2018-03-23 17:00:18 -04:00
Jared Tabor
2a8ced5a5d Adds network UI shell wrapper
* Adds networking icons, state, and shell
* Adds network UI to the network UI shell.
* Removes jquery as a dependency of network-ui
* Fills the entire viewport with the network canvas and
    makes header panel and the right panel overlay on
    top of it
2018-03-23 17:00:18 -04:00
Ben Thomasson
09d461b1d0 Improves FSM design and adds tools to diff design and implementation.
* Resolves conflicts between designs and implementation
* Adding fsm_diff to network_ui/tools
* Add extract.js for FSM toolchain to network_ui
2018-03-23 17:00:17 -04:00
Ben Thomasson
56991552d2 Adds task status on the device
* Show task status on device for now

This shows the status of the last few tasks run on a device as a
green/red circle on the device icon.  This data live updates
from data emitted over the websocket.
2018-03-23 17:00:17 -04:00
Ben Thomasson
3f84ef69eb Adds facts processing for ansible_net_neighbors
* Adds logic for consuming ansible_net_neighbors facts

This consumes facts emitted from Ansible over a websocket to
Tower.  This allows consumers in network to process the facts and
emit messges to the network UI.  This requires a special callback
plugin to run in Tower to emit the messages into the websocket using
the python websocket-client library.
2018-03-23 17:00:17 -04:00
Ben Thomasson
6f1000cd94 Adds toolbox to network UI
* Calls API to get inventory
* Adds CopySite message
* Adds Toolbox and ToolboxItem model design
* Add Toolbox and ToolboxItem tables
* Sends toolbox items to client from server on connect
2018-03-23 17:00:17 -04:00
Ben Thomasson
c79ef60d8b Adds streams and processes for application design
Adds application level streams and process widgets to
model applications that run on networking devices or hosts.

* Changes Application to Process
* Adds StreamCreate and ProcessCreate messages
* Adds process id sequence to device
* Add serializers for streams and processes
2018-03-23 17:00:16 -04:00
Ben Thomasson
d153d5f907 Adds a type field to group to support racks and sites
* Add type support to Group
2018-03-23 17:00:16 -04:00
Ben Thomasson
9dc4e22fe6 Adds support for multiple view modes
Adds mulitple view modes based on zoom-level.  This allows for easy
drilling into a device for more detail or zooming-out for a overview.

* Adds support for multi-site and device modes
* Adds icons to remote device in device detail
* Adds site widget
* Adds link between sites
* Adds toolboxes for inventory, site, and applications
* Adds rack mode
* Adds UI for adding processes to devices
* Adds copy and paste support
* Adds streams
2018-03-23 17:00:16 -04:00
Ben Thomasson
8fb54efa8e Adds a tabular view of the topology data
The traditional network engineer workflow includes a diagram, a
spreadsheet, and the CLI.  This adds an experimental view of the
network topology data in a spreadsheet like table view.

* Adds angular-xeditable dependency for tables view.
* Add data binding models
* Add message transformations from table to topology formats
* Adding dependencies for tables view
2018-03-23 17:00:15 -04:00
Ben Thomasson
d0e402c39a Begins network-ui prototype integration into Tower UI.
* Moves network ui into a directive
* Adds awxNet prefix to network ui directives
* Adds a module to integrate the stand alone network UI with
    Tower UI.
* Adds reconnectingwebsocket to webpack bundle
* Adds configuration for webpack
* Moves ngTouch and hamsterjs to webpack vendor bundle
* Moves angular to network UI vendor bundle
* Adds ui-router dependency
* Changes CSS to BEM style
* Adds unique id sequences for devices and links on Topology and interfaces on Device
* Adds group widget with move, resize, delete, and edit label support
2018-03-23 17:00:15 -04:00
Ben Thomasson
640e687f3e Adds JSON and YAML export of the network topology.
Adds views that export the entire network topology as JSON and YAML.
2018-03-23 17:00:15 -04:00
Ben Thomasson
257cf6a7d7 Adds callback plugin for network_ui
The callback plugin for the network UI adds real-time
event streaming to the canvas from Ansible events.
2018-03-23 17:00:14 -04:00
Ben Thomasson
701150bd1a Adds configuration for the network-ui websocket
* Configures NGINX for the network-ui websocket.
* Configures supervisor.conf for network_ui websocket.
2018-03-23 17:00:14 -04:00
Ben Thomasson
48d801271c Imports prototype from ansible-network-ui
The ansible-network-ui prototype project builds a standalone Network UI
outside of Tower as its own Django application. The original prototype
code is located here:
https://github.com/benthomasson/ansible-network-ui.

The prototype provides a virtual canvas that supports placing
networking devices onto 2D plane and connecting those devices together
with connections called links.  The point where the link connects
to the network device is called an interface.  The devices, interfaces,
and links may all have their respective names.  This models physical
networking devices is a simple fashion.

The prototype implements a pannable and zoomable 2D canvas in using SVG
elements and AngularJS directives.   This is done by adding event
listeners for mouse and keyboard events to an SVG element that fills the
entire browser window.

Mouse and keyboard events are handled in a processing pipeline where
the processing units are implemented as finite state machines that
provide deterministic behavior to the UI.

The finite state machines are built in a visual way that makes
the states and transitions clearly evident.  The visual tool for
building FSM is located here:
https://github.com/benthomasson/fsm-designer-svg.   This tool
is a fork of this project where the canvas is the same.  The elements
on the page are FSM states and the directional connections are called
transitions.   The bootstrapping of the FSM designer tool and
network-ui happen in parallel.  It was useful to try experiemental
code in FSM designer and then import it into network-ui.

The FSM designer tool provides a YAML description of the design
which can be used to generate skeleton code and check the implementation
against the design for discrepancies.

Events supported:

* Mouse click
* Mouse scroll-wheel
* Keyboard events
* Touch events

Interactions supported:

* Pan canvas by clicking-and-dragging on the background
* Zooming canvas by scrolling mousewheel
* Adding devices and links by using hotkeys
* Selecting devices, interaces, and links by clicking on their icon
* Editing labels on devices, interfaces, and links by double-clicking on
  their icon
* Moving devices around the canvas by clicking-and-dragging on their
  icon

Device types supported:

* router
* switch
* host
* racks

The database schema for the prototype is also developed with a visual
tool that makes the relationships in the snowflake schema for the models
quickly evident.  This tool makes it very easy to build queries across
multiple tables using Django's query builder.

See: https://github.com/benthomasson/db-designer-svg

The client and the server communicate asynchronously over a websocket.
This allows the UI to be very responsive to user interaction since
the full request/response cycle is not needed for every user
interaction.

The server provides persistence of the UI state in the database
using event handlers for events generated in the UI.  The UI
processes mouse and keyboard events, updates the UI, and
generates new types of events that are then sent to the server
to be persisted in the database.

UI elements are tracked by unique ids generated on the client
when an element is first created.  This allows the elements to
be correctly tracked before they are stored in the database.

The history of the UI is stored in the TopologyHistory model
which is useful for tracking which client made which change
and is useful for implementing undo/redo.

Each message is given a unique id per client and has
a known message type.  Message types are pre-populated
in the MessageType model using a database migration.

A History message containing all the change messages for a topology is
sent when the websocket is connected.  This allows for undo/redo work
across sessions.

This prototype provides a server-side test runner for driving
tests in the user interface.  Events are emitted on the server
to drive the UI.  Test code coverage is measured using the
istanbul library which produces instrumented client code.
Code coverage for the server is is measured by the coverage library.

The test code coverage for the Python code is 100%.
2018-03-23 17:00:14 -04:00
mabashian
348de30a17 Fixed several workflow node bugs 2018-03-23 15:50:34 -04:00
chris meyers
cb7e17885f remove uneeded auth ldap settings
* I had thought that setting the settings was required. But carefully
selected defaults for the settings is the correct way to deal with
errors I was seeing early in developing this feature.
2018-03-23 15:41:08 -04:00
Jared Tabor
8643972064 Fixes issue with sockets and XHR requests for backgrounded tabs
adjusts toggling based on API setting and doesn't toggle for job stdout page
2018-03-23 12:40:34 -07:00
AlanCoding
f6e507ad12 add API setting for UI live updates
include context data

update help text
2018-03-23 12:40:31 -07:00
John Mitchell
babad0b868 move all jobs views to using new view 2018-03-23 14:53:20 -04:00
AlanCoding
7ea9575e78 ignore workflow survey passwords when not applicable 2018-03-23 13:01:45 -04:00
AlanCoding
5fe63894d5 new credential passwords system on relaunch 2018-03-23 12:44:52 -04:00
Shane McDonald
1595947ae2 Merge pull request #1663 from jakemcdermott/fix-docker-installer-paths
update reference to role file path to work with installer roles dir
2018-03-23 12:43:54 -04:00
Jake McDermott
4a8f24becc update reference to role file path to work with roles dir 2018-03-23 12:43:13 -04:00
Ryan Petrello
35e38760aa properly sanitize module arguments with no_log (like uri:password)
this will _not_ sanitize playbooks that have secrets hard-coded *in* the
playbook - for that, people will need to use Vault or a variable/lookup

see: https://github.com/ansible/tower/issues/1101
see: https://github.com/ansible/awx/issues/1633
2018-03-23 11:15:37 -04:00
mabashian
bf142fa434 Fixed permissions multi-select deselect bug 2018-03-23 10:51:44 -04:00
Ryan Petrello
07680dd7c0 Merge pull request #1652 from ryanpetrello/fix-500
send job notification templates _after_ all events have been processed
2018-03-23 10:51:06 -04:00
John Mitchell
95f80ce512 implement new style jobs list in ui 2018-03-23 09:35:41 -04:00
Michael Abashian
e7cfe1e0b6 Merge pull request #1640 from mabashian/1561-survey-multi-select
Fixed bug on non-required multiple choice survey questions
2018-03-23 09:31:56 -04:00
Michael Abashian
224d996b9c Merge pull request #1622 from mabashian/169-prompt-cleanup
Propagate new launch/relaunch logic across the app
2018-03-23 09:31:33 -04:00
Ryan Petrello
61aafe15d6 fix busted shippable builds 2018-03-22 16:56:04 -04:00
mabashian
7a4bc233f6 Pass job into the relaunch component rather than pull it from the parent. Added launch template component, use it on the templates lists. 2018-03-22 16:14:54 -04:00
Shane McDonald
caf576cac0 Merge pull request #1655 from shanemcd/devel
Move installer roles into roles directory
2018-03-22 14:39:03 -04:00
Shane McDonald
84cd933702 Move installer roles into roles directory
Signed-off-by: Shane McDonald <me@shanemcd.com>
2018-03-22 14:34:03 -04:00
mabashian
c3b32e2a73 Cleaned up awRequireMultiple and fixed broken survey question error messaging 2018-03-22 11:58:47 -04:00
Shane McDonald
0d86e646ec Merge pull request #1100 from rooftopcellist/fix_upgrade_python_saml24
fix_python_saml24_update
2018-03-22 11:48:24 -04:00
adamscmRH
ad37f71af4 fix_python_saml24_update 2018-03-22 11:26:17 -04:00
Jeandre Le Roux
0525df595e Add unit test for rocket.chat notifications
Signed-off-by: Jeandre Le Roux <theblazehen@theblazehen.com>
2018-03-22 16:11:03 +02:00
Ryan Petrello
f59f47435b send job notification templates _after_ all events have been processed
see: https://github.com/ansible/awx/issues/500
2018-03-22 09:30:41 -04:00
Chris Meyers
ddf000e8e7 Merge pull request #1643 from chrismeyersfsu/fix-tower_special_group
do not allow tower group delete or name change
2018-03-22 08:06:03 -04:00
chris meyers
305ef6fa7e do not allow tower group delete or name change
* DO allow policy changes and other attribute changes
2018-03-22 08:05:06 -04:00
Chris Meyers
3446134501 Merge pull request #1646 from chrismeyersfsu/fix-kombu_unicode
use non-unicode queue names
2018-03-21 21:59:05 -04:00
Bill Nottingham
eae85e803e Merge pull request #1644 from wenottingham/botbotbot
update team map
2018-03-21 19:35:58 -04:00
mabashian
8d04be0fc8 Fixed unit test failures 2018-03-21 19:22:08 -04:00
chris meyers
e0803b9f08 use non-unicode queue names
* Use unicode InstanceGroup and queue names up until the point we
actually create the queue
* kombu add_consumers returns a dict with a value that contians the
passed in queue name. Trouble is, the returned dict value is a string
and not a unicode string and this results in an error.
2018-03-21 16:50:07 -04:00
Chris Meyers
724812e87c Merge pull request #1637 from chrismeyersfsu/fix-instance_removed_from_group
handle instance group names unicode
2018-03-21 15:47:00 -04:00
Bill Nottingham
45240a6bf0 update team map 2018-03-21 15:46:50 -04:00
mabashian
0cadea1cb5 Fixed bug preventing the user from ignoring a non-required multi-select survey question on launch 2018-03-21 14:55:38 -04:00
Alan Rominger
b3e15f70cb Merge pull request #1612 from AlanCoding/token_no
Make user_capabilities False for read tokens
2018-03-21 14:45:19 -04:00
Ryan Petrello
a13ddff81a Merge pull request #1627 from aperigault/fix_deprecation
Replace deprecated -U option by --become-user
2018-03-21 14:32:13 -04:00
Bill Nottingham
88ef889cf1 Merge pull request #1634 from wenottingham/winrm-rf
Cherry-pick fix for WinRM listener to AzureRM inventory script.
2018-03-21 14:13:08 -04:00
chris meyers
91bfed3d50 handle instance group names unicode 2018-03-21 13:41:48 -04:00
AlanCoding
4f1f578fde make user_capabilities False for read tokens 2018-03-21 13:14:14 -04:00
Shane McDonald
f8b5318206 Merge pull request #1093 from rooftopcellist/upgrade_python_saml
upgrade python-saml for CVE fix
2018-03-21 12:27:35 -04:00
adamscmRH
c3842b6bf9 upgrade python-saml for CVE fix 2018-03-21 12:07:18 -04:00
Ryan Petrello
1a542c5e06 Merge pull request #1620 from ryanpetrello/dynamic-autoscale
dynamically set worker autoscale max_concurrency based on system memory
2018-03-21 11:52:16 -04:00
Marliana Lara
6e11b5b9c8 Merge pull request #1557 from marshmalien/feat/final_granular_permission_types
New RBAC roles at the Org level
2018-03-21 11:35:15 -04:00
Marliana Lara
4106e496df Merge pull request #1574 from marshmalien/fix/capacity_adjustment_value
Add capacity adjuster slider label
2018-03-21 11:35:03 -04:00
Ryan Petrello
6a96e6a268 dynamically set worker autoscale max_concurrency based on system memory 2018-03-21 11:10:48 -04:00
mabashian
bee7148c61 Addressed jshint errors 2018-03-21 10:59:13 -04:00
Marliana Lara
2ae02fda82 Update pr based on feedback 2018-03-21 10:55:00 -04:00
Marliana Lara
01d35ea9c0 Show organizations based on more granular RBAC roles 2018-03-21 10:54:59 -04:00
Marliana Lara
c156a0af99 Add capacity adjustment slider label 2018-03-21 10:53:16 -04:00
Bill Nottingham
531e5b5137 Cherry-pick fix for WinRM listenr to AzureRM inventory script.
(ref: https://github.com/ansible/ansible/pull/37499/)
2018-03-21 10:46:30 -04:00
mabashian
f0ff578923 Cleanup linting errors 2018-03-21 10:27:48 -04:00
chris meyers
1c578cdd74 validate group type params 2018-03-21 09:13:08 -04:00
chris meyers
17795f82e8 more parameters 2018-03-21 09:13:08 -04:00
chris meyers
e3c362956d add ldap group type like posixGroupType
* Adds pattern to easy add django-auth-ldap group types classes and to
pass parameters via AUTH_LDAP_GROUP_TYPE_PARAMS
* Adds new group type PosixUIDGroupType that accepts the attribute,
ldap_group_user_attr, on which to search for the user(s) in the group.
2018-03-21 09:13:08 -04:00
Rob Ruma
e8b026648f Updates to callback scripts that include retry functionality for bash and extra_vars handling for PowerShell
Signed-off-by: Rob Ruma <robruma@users.noreply.github.com>
2018-03-21 08:22:08 -04:00
AlanCoding
001fa634aa include related Jobs in group del protection 2018-03-21 08:05:16 -04:00
Antony PERIGAULT
3adcdb43ad Replace deprecated -U option by --become-user 2018-03-21 12:28:27 +01:00
Jeandre Le Roux
fd12c44ada Add Rocket.Chat notification type
Summary: Add Rocket.Chat notification type
Issue type: Feature Pull Request
Component: Notifications

Signed-off-by: Jeandre Le Roux <theblazehen@theblazehen.com>
2018-03-21 10:02:50 +02:00
Bill Nottingham
e58038b056 Merge pull request #1623 from cvick/patch-1
Added a space before closing quote to fix spelling
2018-03-20 23:25:12 -04:00
Chris Vick
fca1e7028f Added a space before closing quote to fix spelling
Without the space before the lines closing quote, 'or' and 'other' get concatenated to 'orother' in the tooltip
2018-03-20 19:36:37 -07:00
Wayne Witzel III
f4e57e2906 Merge pull request #1608 from wwitzel3/devel
System Setting for Orgainization User/Team permissions.
2018-03-20 17:17:49 -04:00
mabashian
2e858790db Propagate launch/relaunch logic across the app. Removed some old launch related factories. 2018-03-20 15:53:21 -04:00
Alan Rominger
8056ac5393 Delay import of freeze to make tests run (#1617)
* Delay import of freeze to make tests run

* fix flake8 error
2018-03-20 11:58:11 -04:00
Matthew Jones
6419339094 Merge pull request #1570 from rooftopcellist/authorization_flow_docs
add authorization grant to docs
2018-03-20 07:26:10 -07:00
Matthew Jones
3ee8b3b514 Merge pull request #1613 from EagleIJoe/patch-1
Corrected alternate dns servers entries in docker-compose template
2018-03-20 07:24:31 -07:00
Wayne Witzel III
d7f26f417d Reword help text for manage org auth 2018-03-20 07:31:08 -04:00
Alan Rominger
30fb4076df Merge pull request #1569 from AlanCoding/relaunch_survey
Allow normal users to relaunch jobs with survey answers
2018-03-20 07:14:09 -04:00
Matthew Jones
c0661722b6 Merge pull request #1523 from paihu/slack-color-notification
support slack color notification #1490
2018-03-19 18:05:28 -07:00
Martin Adler
ca7b6ad648 Corrected alternate dns servers entries
As lstrip_blocks: True was added, this broke the formating when adding alternate DNS servers within the template. Removing the extra white space removals within the if and endif statements fixed the resulting yml formating.
2018-03-19 21:08:52 +01:00
Wayne Witzel III
d5564e8d81 Fix user capabilities when MANAGE_ORGANIZATION_AUTH is disabled 2018-03-19 15:16:54 -04:00
Wayne Witzel III
a9da494904 switch to single toggle and change name 2018-03-19 14:45:52 -04:00
John Mitchell
a9e13cc5f4 Merge pull request #1580 from jlmitch5/usersAppCrudUi
implement users tokens sub list
2018-03-19 13:23:29 -04:00
Wayne Witzel III
771108e298 Protect team assignment for the roles access point 2018-03-19 12:10:13 -04:00
Wayne Witzel III
eb3b518507 Add Organization User/Team toggle to UI 2018-03-19 11:25:14 -04:00
Wayne Witzel III
33ac8a9668 System wide toggle for org admin user/team abilities 2018-03-19 11:24:36 -04:00
Ryan Petrello
2b443b51eb Merge pull request #1606 from ryanpetrello/uwsgi-top
add uwsgitop as a dependency
2018-03-19 10:58:22 -04:00
Ryan Petrello
918f372c20 add uwsgitop as a dependency
see: https://github.com/ansible/ansible-tower/issues/7966
2018-03-19 08:53:30 -04:00
Matthew Jones
681918be9a Merge pull request #1598 from ryanpetrello/pin-boto-core
pin botocore to avoid dependency hell re: latest python-dateutil
2018-03-17 13:08:44 -07:00
Bill Nottingham
2780cd0d4c Merge pull request #1601 from wenottingham/following-a-new-path
Just set ANSIBLE_SSH_CONTROL_PATH_DIR, and don't worry about the socket file name.
2018-03-16 22:35:26 -04:00
John Mitchell
cbc20093d7 move users tokens to features folder 2018-03-16 17:15:28 -04:00
Bill Nottingham
6fc4274c68 Just set ANSIBLE_SSH_CONTROL_PATH_DIR, and don't worry about the socket file name.
Ansible itself (since 2.3) has code to have a shorter hashed control path socket name.
2018-03-16 16:56:45 -04:00
Ryan Petrello
4f585dd09e pin botocore to avoid dependency hell re: latest python-dateutil
boto decided to pin python-dateutil on a version _lower than_ what we
need for the TZID= bug fix:
90d7692702 (diff-b4ef698db8ca845e5845c4618278f29a)
2018-03-16 16:08:03 -04:00
John Mitchell
8babac49a6 update users token crud list to utilize string file 2018-03-16 15:56:30 -04:00
Matthew Jones
8aa7e4692d Merge pull request #1596 from ansible/jlmitch5-patch-3
update .gitignore to include tower license dir
2018-03-16 12:36:00 -07:00
John Mitchell
cf20943434 update .gitignore to include tower license dir 2018-03-16 15:33:18 -04:00
Bill Nottingham
d5d2858626 Merge pull request #1591 from wenottingham/bad-date
Bump copyright date.
2018-03-16 15:11:10 -04:00
Bill Nottingham
52599f16ad Bump copyright date.
We don't need to do this at the source code level, but we should do it for the app as a whole.
2018-03-16 14:57:08 -04:00
Ryan Petrello
a1f15362ab Merge pull request #1575 from aperigault/fix_nginx_upstreams
Fix nginx upstreams
2018-03-16 14:53:48 -04:00
Alan Rominger
1413659f5f Merge pull request #1593 from AlanCoding/fix_processed
Fix bug with non-event model
2018-03-16 14:53:05 -04:00
AlanCoding
bbbb7def0a fix bug with non-event model 2018-03-16 14:27:36 -04:00
Marliana Lara
85a95c8cb8 Merge pull request #1577 from marshmalien/fix/empty_ig_list_results_error
Fix error where list directive requires results attribute
2018-03-16 13:52:34 -04:00
adamscmRH
5f6a8ca2c0 add authorization grant to docs 2018-03-16 12:21:22 -04:00
Alan Rominger
75dd8d7d30 Merge pull request #1587 from AlanCoding/more_event_blocking
Block deletion of resources with unprocessed events
2018-03-16 11:26:33 -04:00
AlanCoding
66108164b9 remove unnecessary mock 2018-03-16 10:55:48 -04:00
AlanCoding
69eccd3130 move ACTIVE_STATES to constants 2018-03-16 10:31:41 -04:00
AlanCoding
7881c921ac block deletion of resources w unprocessed events 2018-03-16 10:14:28 -04:00
Wayne Witzel III
16aa3d724f Merge pull request #1586 from wwitzel3/devel
Moved RelatedJobMixin impl to Project instead of ProjectUpdate
2018-03-16 09:58:34 -04:00
Wayne Witzel III
6231742f71 Move RelatedJob mixin to Project 2018-03-16 09:42:32 -04:00
Wayne Witzel III
c628e9de0a Filter active jobs by WFT/JT 2018-03-16 09:32:42 -04:00
Wayne Witzel III
c54d9a9445 Fix query using self -> self.project and fix imports 2018-03-16 09:24:46 -04:00
Wayne Witzel III
f594f62dfc Project needs to expose all of its ProjectUpdate jobs in an active state 2018-03-16 09:12:20 -04:00
Chris Meyers
0689cea806 Merge pull request #1572 from chrismeyersfsu/fix-instance_removed_from_group
handle unicode things in task logger
2018-03-15 16:25:13 -04:00
Chris Meyers
0cf1b4d603 Merge pull request #1535 from chrismeyersfsu/fix-protect_tower_group
prevent tower group delete and update
2018-03-15 16:02:36 -04:00
chris meyers
1f7506e982 prevent tower group delete and update
* related to https://github.com/ansible/ansible-tower/issues/7931
* The Tower Instance group is special. It should always exist, so
prevent any delete to it.
* Only allow super users to associate/disassociate instances the 'tower'
instance group.
* Do not allow fields of tower instance group to be changed.
2018-03-15 15:23:06 -04:00
Chris Meyers
2640ef8b1c Merge pull request #1536 from chrismeyersfsu/fix-protect_instance_groups
prevent instance group delete if running jobs
2018-03-15 14:57:45 -04:00
John Mitchell
e7a0bbb5db implement users tokens sub list 2018-03-15 14:53:49 -04:00
chris meyers
5d5d8152c5 prevent instance group delete if running jobs
* related to https://github.com/ansible/ansible-tower/issues/7936
2018-03-15 14:25:49 -04:00
Matthew Jones
3928f536d8 Merge pull request #1571 from matburt/fixing_cluster_resources
Fixing some issues defining resource requests in openshift and k8s
2018-03-15 11:20:56 -07:00
Marliana Lara
84904420ad Pass results attr to list directive from instance groups list 2018-03-15 14:13:33 -04:00
chris meyers
2ea0b31e2b handle unicode things in task logger
Related to https://github.com/ansible/ansible-tower/issues/7957

* Problem presented itself as Instances falling out of Instance Groups.
This was due to the cluster membership policy decider erroring out on a
logger message with unicode.
* Fixed up potential other unicode logger unicode issues in tasks.py
2018-03-15 14:04:39 -04:00
Antony PERIGAULT
8cf1c1a180 Fix nginx configuration to avoid ipv6 resolutions errors 2018-03-15 17:54:51 +01:00
Matthew Jones
192dc82458 Update documentation for default pod resource requests
Including information on how to override the default resources
2018-03-15 12:01:02 -04:00
Matthew Jones
3ba7095ba4 Fixing some issues defining resource requests in openshift and k8s
* Allow overriding all container resource requests by setting defaults/
* Fix an issue where template vars were reversed in the deployment config
* Remove `limit` usage to allow for resource ballooning if it's available
* Fix type error when using templated values in the config map for resources
2018-03-15 12:00:53 -04:00
AlanCoding
43aef6c630 allow normal users to relaunch jobs w survey answers 2018-03-15 07:43:03 -04:00
Michael Abashian
597874b849 Merge pull request #1489 from mabashian/169-workflow-nodes
Implemented new workflow node prompting
2018-03-14 16:58:35 -04:00
mabashian
9873bab451 Removed unused/commented code 2018-03-14 16:26:02 -04:00
Matthew Jones
cec77964ac Merge pull request #1563 from matburt/container_cluster_capacity
Implement container-cluster aware capacity determination
2018-03-14 12:06:25 -07:00
Christian Adams
2abf4ccf3b Merge pull request #1562 from rooftopcellist/python_saml_upgrade
add xmlsec flag to docker installs
2018-03-14 14:53:26 -04:00
Matthew Jones
b0cf4de072 Implement container-cluster aware capacity determination
* Added two settings values for declaring absolute cpu and memory
  capacity that will be picked up by the capacity utility methods
* installer inventory variables for controlling the amount of cpu and
  memory container requests/limits for the awx task containers
* Added fixed values for cpu and memory container requests for other
  containers
* configmap uses the declared inventory variables to define the
  capacity inputs that will be used by AWX to correspond to the same
  inputs for requests/limits on the deployment.
2018-03-14 14:35:45 -04:00
Shane McDonald
2af085e1fe Merge pull request #1552 from jffz/devel
Add ca_trust_dir to local docker installations
2018-03-14 14:32:55 -04:00
adamscmRH
8d460490c1 add xmlsec flag to docker installs 2018-03-14 14:28:35 -04:00
John Mitchell
5eed816c4d Merge pull request #1558 from ansible/jlmitch5-patch-2
encode username and password when sending login POST from ui
2018-03-14 11:29:34 -04:00
John Mitchell
17cdbef376 encode username and password when sending login POST from ui
fixes #1553
2018-03-14 11:12:50 -04:00
Alexander Bauer
709cb0ae2b fixup! Add local_docker facility for bind-mounting ca-trust 2018-03-14 10:52:36 -04:00
Alexander Bauer
db8df5f724 Add local_docker facility for bind-mounting ca-trust
This implements one possible solution for #411, but does not solve it for
Kubernetes or Openshift installations.

# Conflicts:
#	installer/inventory
2018-03-14 10:52:36 -04:00
Alan Rominger
5c0a52df16 Merge pull request #1533 from AlanCoding/count_events
Track emitted events on model
2018-03-14 10:30:43 -04:00
John Mitchell
ea5ab2df7f Merge pull request #1453 from jlmitch5/licenseInSettingsUi
[Tower only] Make pendo license settings opt out whenever license is added
2018-03-14 10:26:08 -04:00
jeff
4fa0d2406a Remove unneeded jinja endif 2018-03-14 15:16:26 +01:00
Alan Rominger
92b8fc7e73 Merge pull request #1554 from AlanCoding/poly_who
fix bugs with UJT optimizations
2018-03-14 09:11:57 -04:00
Matthew Jones
63f0082e4d Merge pull request #1543 from matburt/k8s_helm_instructions
Adding information on Kubernetes RBAC considerations for Helm
2018-03-14 05:52:12 -07:00
AlanCoding
5170fb80dc fix bugs with UJT optimizations 2018-03-14 08:19:53 -04:00
AlanCoding
04a27d5b4d Namechange events_processed -> event_processing_finished
from PR review, also adding tests to assert that the
value is passed from the stdout_handle to the UnifiedJob
object on finalization of job run in tasks.py
2018-03-14 07:53:04 -04:00
AlanCoding
b803a6e557 Track emitted events on model 2018-03-14 07:53:02 -04:00
Alan Rominger
0db584e23e Merge pull request #1530 from AlanCoding/inv_env_vars
More restrictive inventory env vars management
2018-03-14 07:23:42 -04:00
jeff
f9f91ecf81 Add ca_trust_dir to task image 2018-03-14 11:41:10 +01:00
jeff
aca74d05ae Add 'ca_trust_dir' variable to allow Custom CA sharing between host and containers 2018-03-14 11:40:56 +01:00
Matthew Jones
b646e675d6 Merge pull request #1544 from matburt/sorting_region_choices
Sort cloud regions in a stable way
2018-03-13 18:02:31 -07:00
Matthew Jones
4a5f458a36 Merge pull request #1542 from matburt/adding_more_extra_vars
Adding more helpful job extra vars
2018-03-13 17:53:44 -07:00
John Mitchell
04bc044340 Merge pull request #1437 from jlmitch5/appCrudUi
implements application crud ui
2018-03-13 18:07:10 -04:00
John Mitchell
c65342acc9 make call to pendo setting and set check box based on that when license already exists 2018-03-13 15:41:45 -04:00
Matthew Jones
acde2520d0 Sort cloud regions in a stable way
* All comes first
* Then US regions
* Then all other regions alphabetically
2018-03-13 15:31:28 -04:00
Wayne Witzel III
4b27b05fd2 Merge pull request #1541 from wwitzel3/devel
Fix member_role parent to include credential_admin_role
2018-03-13 13:52:58 -04:00
Matthew Jones
dcf0b49840 Adding information on Kubernetes RBAC considerations for Helm 2018-03-13 13:48:10 -04:00
John Mitchell
f8c6187007 add back in comments describing license type payload 2018-03-13 13:34:03 -04:00
John Mitchell
d9f5eab404 add separator above checkbox 2018-03-13 13:34:03 -04:00
John Mitchell
8b10d64d73 update code formatting based on feedback 2018-03-13 13:34:02 -04:00
John Mitchell
2b4a53147e turn pendo tracking off in settings when checkbox is unchecked 2018-03-13 13:34:02 -04:00
John Mitchell
5f4f4a2fb9 make pendo license settings opt out whenever license is added 2018-03-13 13:34:00 -04:00
Matthew Jones
45ad94f057 Adding more helpful job extra vars
* Adds email, first name, last name as extra vars to job launches
* Remove old ad-hoc command extra vars population... use our
  base-class method instead
2018-03-13 13:33:54 -04:00
Wayne Witzel III
db38cf8f93 Fix member_role parent to include credential_admin_role 2018-03-13 12:20:40 -04:00
Alan Rominger
dcae4f65b5 Merge pull request #1330 from AlanCoding/capable_of_anything
New copy fields, clean up user_capabilities logic
2018-03-13 12:05:45 -04:00
paihu
dfea3a4b95 fix: broken backward compatibility
fix: param hex_color isn't optional

Signed-off-by: paihu <paihu_j@yahoo.co.jp>
2018-03-13 18:04:47 +09:00
John Mitchell
9d6fab9417 update edit controller to PUT app instead of POST
remove old applications tokens code
2018-03-12 17:40:08 -04:00
Christian Adams
f995b99af6 Merge pull request #1531 from rooftopcellist/application_description
add description to app serializer
2018-03-12 17:19:54 -04:00
Chris Meyers
724ca23685 Merge pull request #1534 from chrismeyersfsu/fix-4_job_limit
autoscale celery up to 50 workers
2018-03-12 15:45:01 -04:00
chris meyers
a4859a929c autoscale celery up to 50 workers 2018-03-12 15:36:15 -04:00
adamscmRH
91214aa899 add description to app serializer 2018-03-12 15:07:59 -04:00
John Mitchell
80db90b34c reduce delete prompting cruft for app ui 2018-03-12 14:35:03 -04:00
AlanCoding
3566140ecc more restrictive inventory env vars management 2018-03-12 13:35:22 -04:00
John Mitchell
3cf447c49b remove N_ dependency in favor strings files 2018-03-12 13:31:19 -04:00
John Mitchell
a22f1387d1 adjust user tokens list labeling 2018-03-12 13:31:19 -04:00
John Mitchell
8a28d7c950 remove permissions subview code from applications ui crud 2018-03-12 13:31:18 -04:00
John Mitchell
8031337114 add applications.edit.organization route 2018-03-12 13:31:18 -04:00
John Mitchell
8d2c0b58e1 remove unnecessary conditional 2018-03-12 13:31:18 -04:00
John Mitchell
f4ad9afc5e add app crud ui 2018-03-12 13:31:18 -04:00
Marliana Lara
c19bb79587 Merge pull request #1499 from marshmalien/style/display_invalid_items
Add border between invalid and active template flags
2018-03-12 12:37:42 -04:00
Ryan Petrello
6d9b386727 Merge pull request #1529 from ryanpetrello/new-dateutil
bump python-dateutil to latest
2018-03-12 12:34:02 -04:00
Ryan Petrello
44adab0e9e bump python-dateutil to latest
this change provides support for numerous bug fixes, along with
support for parsing TZINFO= from rrule strings

related: https://github.com/ansible/ansible-tower/issues/823
related: https://github.com/dateutil/dateutil/issues/614
2018-03-12 12:20:03 -04:00
mabashian
8aa9569074 In the JT form, moved options from its own line to in-line 2018-03-12 10:56:36 -04:00
mabashian
982b83c2d3 Fixed several workflow prompting and edge type bugs 2018-03-12 10:50:33 -04:00
Matthew Jones
346c9fcc8a Merge pull request #1514 from wenottingham/a-period-piece
Add some periods.
2018-03-12 07:40:16 -07:00
Matthew Jones
eaff7443d2 Merge pull request #1522 from therealmaxmouse/patch-1
Update INSTALL.md
2018-03-12 07:39:48 -07:00
Matthew Jones
8a9397a997 Merge pull request #1528 from jffz/devel
Fix project_data_dir templating for local_docker install
2018-03-12 07:37:11 -07:00
jeff
4972755ccb Fix project_data_dir templating for local_docker install 2018-03-12 14:50:44 +01:00
Ryan Petrello
6d43b8c4dd Merge pull request #1527 from ryanpetrello/oauth2-filter
restrict API filtering on oauth-related fields
2018-03-12 09:43:05 -04:00
Ryan Petrello
a61187e132 restrict API filtering on oauth-related fields
related: https://github.com/ansible/awx/issues/1354
2018-03-12 09:16:37 -04:00
paihu
9b5e088d70 support slack color notification #1490
Signed-off-by: paihu <paihu_j@yahoo.co.jp>
2018-03-12 14:14:44 +09:00
therealmaxmouse
54ae039b95 Update INSTALL.md
fixing typo
2018-03-11 11:45:35 -04:00
Bill Nottingham
7b2b71e3ef ... update string in tests as well. 2018-03-09 17:49:46 -05:00
Bill Nottingham
fb05eecee0 Add some periods. 2018-03-09 17:23:52 -05:00
Ryan Petrello
dcab97f94f Merge pull request #1504 from ryanpetrello/oauth2-swagger
properly categorize OAuth2 endpoints for swagger autogen
2018-03-09 15:27:02 -05:00
Ryan Petrello
397b9071a6 properly categorize OAuth2 endpoints for swagger autogen 2018-03-09 15:07:50 -05:00
Shane McDonald
7984bd2824 Merge pull request #1493 from jffz/devel
Fix for dns and dns_search templating
2018-03-09 12:52:10 -05:00
Marliana Lara
6f7cb0a16e Add border between invalid and active indicators 2018-03-09 12:21:46 -05:00
Marliana Lara
bfbbb95256 Merge pull request #1475 from marshmalien/feat/style_upgrade_page
Style migrations-pending page
2018-03-09 11:47:34 -05:00
Marliana Lara
882ed4d05a Merge pull request #1497 from marshmalien/feat/display_invalid_items_onPrompt
Denote invalid template when no inventory and no prompt-for-inventory
2018-03-09 10:38:20 -05:00
Christian Adams
cee12c4e6c Merge pull request #1378 from rooftopcellist/no_patch_app
disallow changing token-app
2018-03-09 10:33:24 -05:00
Marliana Lara
c2a3e82d29 Check Inventory ask_inventory_on_launch value when verifying template validity 2018-03-09 10:08:39 -05:00
Chris Meyers
181af03ab9 Merge pull request #1495 from chrismeyersfsu/fix-celery_rollback
more celery rollback
2018-03-09 09:31:31 -05:00
chris meyers
e2ed1542e6 more celery rollback
* Setting reload code calls a celery 4.x method signature. This changes
it back to a 3.x safe call.
2018-03-09 09:27:09 -05:00
jffz
ca27dee4fc Fix dns and dns_search templating
Fix templating for dns and dns_search entries for both `awx_web` and `awx_task` images.

Multiple entries were templated in a oneliner style while docker-compose wanted them in a list style.
2018-03-09 11:04:26 +01:00
mabashian
c98e7f6ecd Implemented workflow node prompting 2018-03-08 18:45:28 -05:00
Christian Adams
8a25342ce5 Merge pull request #1373 from rooftopcellist/oauth_doc_csrf
update docs
2018-03-08 18:15:04 -05:00
Alan Rominger
b41d9c4620 Merge pull request #1470 from AlanCoding/mo_exceptions
Include stack trace for delete_inventory logs
2018-03-08 17:18:40 -05:00
adamscmRH
91c0f2da6f simplifies detail serializer 2018-03-08 14:55:25 -05:00
Matthew Jones
b11b1acc68 Update middleware warning for latest minor version 2018-03-08 12:54:26 -05:00
adamscmRH
9b195bc80f fix oauth docs 2018-03-08 12:44:53 -05:00
adamscmRH
fd7c078a8b update docs 2018-03-08 12:10:29 -05:00
adamscmRH
06bacd7bdc add serializer for token detail 2018-03-08 12:03:50 -05:00
Marliana Lara
6f23147d98 Style migrations/pending page 2018-03-08 11:47:59 -05:00
Alan Rominger
3605dbfd73 Merge pull request #1472 from AlanCoding/more_deps
Add shade back into AWX requirements
2018-03-08 11:04:20 -05:00
Michael Abashian
599d84403b Merge pull request #1425 from mabashian/169-credentials
Added add/replace credential validation on jt launch and schedule
2018-03-08 10:57:27 -05:00
AlanCoding
4a01805a19 add shade back into AWX requirements
Last round of dependency updates showed that AWX
depended on packages which came implicitly from shade
decorator is added as an explicit dependency
and all of the rest of shade requirements are
added back in here.
2018-03-08 10:32:19 -05:00
Michael Abashian
c580146c77 Merge branch 'devel' into 169-credentials 2018-03-08 10:03:29 -05:00
mabashian
ce3dc40649 Edit schedule credential prompting code cleanup 2018-03-08 09:58:31 -05:00
Shane McDonald
5bf2e00d24 Merge pull request #1471 from shanemcd/devel
Fix container boots on AppArmor protected systems
2018-03-08 09:44:33 -05:00
Shane McDonald
02102f5ba8 Fix container boots on AppArmor protected systems
Link https://github.com/ansible/awx/issues/1297

Signed-off-by: Shane McDonald <me@shanemcd.com>
2018-03-08 09:41:04 -05:00
Shane McDonald
2861397433 Set imagePullPolicy to Always
Not sure why we werent doing this before.
2018-03-08 09:41:04 -05:00
AlanCoding
54a68da088 include stack trace for delete_inventory logs 2018-03-08 08:30:59 -05:00
Alan Rominger
044b85ce7a Merge pull request #1415 from AlanCoding/depgrades
Dependency Upgrades
2018-03-08 08:29:46 -05:00
Michael Abashian
b970452950 Merge pull request #1441 from marshmalien/feat/display_invalid_items
Denote invalid job templates and scheduled jobs
2018-03-07 15:26:13 -05:00
adamscmRH
f485a04dfc disallow changing token-app 2018-03-07 15:13:56 -05:00
mabashian
a5043029c1 Implemented the ability to specify credentials when creating a scheduled job run. Added validation for removing but not replacing default credentials. 2018-03-07 11:57:31 -05:00
Matthew Jones
61a48996ee Merge pull request #1459 from rooftopcellist/update_session_setting
add csrf & session settings
2018-03-07 08:41:17 -08:00
Jake McDermott
8f58d0b998 Merge pull request #1455 from ansible/jakemcdermott-patch-2
auto hide multi credential scrollbar
2018-03-07 11:33:29 -05:00
adamscmRH
0490bca268 add csrf & session settings 2018-03-07 09:32:24 -05:00
Christian Adams
095515bb56 Merge pull request #1458 from rooftopcellist/fix_expiration
Fix expiration
2018-03-07 08:13:25 -05:00
adamscmRH
efaa698939 fix token expiration time 2018-03-07 00:42:44 -05:00
AlanCoding
556e6c4a11 Dependency Updates
Upgrades of minor dependency upgrades
Inventory scripts were upgraded in separate commit

Major exclusions from this update
- celery was already downgraded for other reasons
- Django / DRF major update already done, minor bumps here
- asgi-amqp has fixes coming independently, not touched
- TACACS plus added features not needed

Removals of note
- remove shade from AWX requirements
- remove kombu from Ansible requirements

Other notes

Add note about pinning setuptools and pip,
done but not mentioned previously

Stop pinning gevent-websocket and twisted

upgrade Azure to Ansible core requirements

more detailed notes
https://gist.github.com/AlanCoding/9442a512ab6977940bc7b5b346d4f70b

upgrade version of Django for Exception
2018-03-06 16:04:01 -05:00
Matthew Jones
8421d2b0d2 Merge pull request #1457 from matburt/remove_old_migrations
Remove old south migrations from before a previous django upgrade
2018-03-06 12:59:32 -08:00
Jake McDermott
f8ca0a613f Update prompt.block.less 2018-03-06 14:56:38 -05:00
Christian Adams
db91e30464 Merge pull request #1449 from rooftopcellist/fix_exp_time
fix token expiration time
2018-03-06 14:55:38 -05:00
Matthew Jones
d19ef60d97 Remove old south migrations from before a previous django upgrade 2018-03-06 14:47:09 -05:00
Jake McDermott
5971d79a8f auto hide multi credential scrollbar 2018-03-06 14:33:28 -05:00
Wayne Witzel III
a3b2f29478 Merge pull request #1454 from wwitzel3/fix-role-summary
Fix role summary when role description is overloaded
2018-03-06 14:03:22 -05:00
adamscmRH
a80e3855cd fix token expiration time 2018-03-06 13:22:12 -05:00
Wayne Witzel III
8dce5c826c Fix role summary when role description is overloaded 2018-03-06 13:07:29 -05:00
Demin, Petr
f4a241aba2 Constrain requests 2018-03-06 12:47:34 -05:00
Jake McDermott
105b4982c4 Merge pull request #1451 from tburko/devel
Fix "System settings panel form is not rendering #1440"
2018-03-06 11:15:16 -05:00
Alan Rominger
cc33109412 Merge pull request #1445 from AlanCoding/platform
Add platform to ec2 group by options
2018-03-06 07:23:22 -05:00
Taras Burko
8a5cd3ec7d Fix "System settings panel form is not rendering #1440" 2018-03-06 14:03:36 +02:00
Ryan Petrello
d6af0bfd50 Merge pull request #1448 from ryanpetrello/fix-7923
normalize custom_virtualenv empty values to null
2018-03-05 17:25:51 -05:00
Ryan Petrello
8955e6bc1c normalize custom_virtualenv empty values to null
see: https://github.com/ansible/ansible-tower/issues/7923
2018-03-05 17:05:10 -05:00
Shane McDonald
61087940c5 Merge pull request #1446 from matburt/fix_kubernetes_configmap
Apply celery rollback changes to kubernetes configmap
2018-03-05 16:46:57 -05:00
Matthew Jones
e99184656e Apply rabbitmq and setting kubernetes changes post-celery rollback 2018-03-05 16:22:27 -05:00
AlanCoding
341e2c0fe2 add platform to ec2 group by options 2018-03-05 15:43:28 -05:00
Matthew Jones
105b82c436 Apply celery rollback changes to kubernetes configmap 2018-03-05 15:32:24 -05:00
Ryan Petrello
1596b2907b Merge pull request #1439 from ryanpetrello/fix-7923
add validation to InventorySource.inventory to avoid task manager death
2018-03-05 15:12:24 -05:00
Marliana Lara
18f3c79bc3 Denote invalid job templates and scheduled jobs by displaying a red invalid bar 2018-03-05 14:52:40 -05:00
Ryan Petrello
8887be5952 add validation to InventorySource.inventory to avoid task manager death
see: https://github.com/ansible/awx/issues/1438
2018-03-05 14:40:57 -05:00
Shane McDonald
44f6423af3 Merge pull request #1442 from ryanpetrello/devel
fix busted shippable builds
2018-03-05 14:38:35 -05:00
Chris Meyers
80a970288d Merge pull request #1443 from chrismeyersfsu/fix-named_urls
handle 404 returned by resolve()
2018-03-05 14:37:07 -05:00
chris meyers
ccfb6d64bf handle 404 returned by resolve()
* related to https://github.com/ansible/ansible-tower/issues/7926
* if 404 on url in migration loading middelware, do NOT short circuit
middleware. Simply call the normal middlware code path in this case.
2018-03-05 14:34:53 -05:00
Ryan Petrello
13672cc88c fix busted shippable builds 2018-03-05 14:16:42 -05:00
Shane McDonald
d5773c58d3 Merge pull request #1426 from chrismeyersfsu/fix-migration_in_progress
short-circuit middleware if migration loading url
2018-03-03 10:48:50 -05:00
Jake McDermott
5370c5e07d Merge pull request #1431 from wenottingham/check-check-check-it-out
Adjust some wording in the UI.
2018-03-02 21:07:18 -05:00
Bill Nottingham
1606380f61 Adjust some wording in the UI.
Attempt to make the 'scm update' vs 'scm checkout' more clear.
Remove 'future' from scheduling tooltips (superfluous).
2018-03-02 19:54:02 -05:00
Christian Adams
953850a0d7 Merge pull request #1427 from rooftopcellist/hide_client_secret
Hide client_secret from activity stream
2018-03-02 15:43:49 -05:00
adamscmRH
701a5c9a36 hides client_secret from act stream 2018-03-02 14:47:49 -05:00
chris meyers
36d59651af inherit rather than monkey patch
* Enable migration in progress page in ALL environments
2018-03-02 12:37:48 -05:00
Christian Adams
d1319b7394 Merge pull request #1414 from rooftopcellist/testing_oauth
fix token creation at `api/o/token`
2018-03-02 11:36:59 -05:00
chris meyers
746a2c1eea short-circuit middleware if migration loading url
* Had to monkey patch django middleware logic.
* Left checks to tell coders to use new middleware behavior in favor of
monkey patching.
2018-03-02 11:21:26 -05:00
Chris Meyers
9df76f963b Merge pull request #1412 from chrismeyersfsu/reap_new_nodes_too
reap all nodes that havn't checked in
2018-03-02 10:03:37 -05:00
chris meyers
17de084d04 perform the min needed DB ops to offline a node
* Don't do an extra save to the DB that could conflict with another
heartbeat when it isn't needed since we will be deleting the node
anyway.
2018-03-02 07:57:59 -05:00
Chris Meyers
f907995374 Merge pull request #1417 from chrismeyersfsu/fix-config_watcher
invoke main() in config watcher script
2018-03-01 17:11:58 -05:00
chris meyers
b69315f2eb fix up the config map watcher script
* invoke main() in config watcher script
* correctly call hash update by passing the filename
2018-03-01 17:06:07 -05:00
chris meyers
a3a618d733 call node init procedures as early as possible
* invoke the first heartbeat as early as possible. Results in a much
better user experience where when a user scales up an awx node, the node
appears with capacity earlier.
2018-03-01 17:05:58 -05:00
adamscmRH
fa7647f828 fix token creation 2018-03-01 16:19:58 -05:00
Chris Meyers
8c1ec37c80 Merge pull request #1411 from chrismeyersfsu/early_first_heartbeat
call node init procedures as early as possible
2018-03-01 13:01:37 -05:00
Jake McDermott
d7616accf5 Improve documentation for AWX E2E (#1381)
* Improve documentation for AWX E2E
2018-03-01 12:00:16 -05:00
chris meyers
5c647c2a0d call node init procedures as early as possible
* invoke the first heartbeat as early as possible. Results in a much
better user experience where when a user scales up an awx node, the node
appears with capacity earlier.
2018-03-01 11:24:45 -05:00
chris meyers
e94bd128b8 reap all nodes that havn't checked in
* Before this change we would exclude the reaping of new nodes. With
this change, new nodes will be considered for reaping just like old
nodes.
2018-03-01 11:21:54 -05:00
Alan Rominger
8d57b84251 Merge pull request #1353 from AlanCoding/dep_scripts
Update inventory scripts
2018-03-01 10:56:11 -05:00
Chris Meyers
f18d99d7a9 Merge pull request #1409 from chrismeyersfsu/openshift_runtime_rabbitmq_cookie
dynamically set rabbitmq cookie
2018-03-01 09:57:11 -05:00
chris meyers
9436e8ae25 dynamically set rabbitmq cookie 2018-03-01 09:23:45 -05:00
Wayne Witzel III
dba78e6bfb Merge pull request #1398 from wwitzel3/devel
Update to latest asgi-amqp
2018-02-28 15:20:55 -05:00
Wayne Witzel III
73f0a0d147 Update to latest asgi-amqp 2018-02-28 14:43:37 -05:00
Cédric Levasseur
a2d543eb3b Inserting a note about PostgreSQL minimal version 9.4 in installation doc (#1385)
* Minimal postgresql version

* moving the Postgresql minimal version note.

* moved to System requirements and 'minimal' replaced by 'minimum'.
2018-02-28 13:44:50 -05:00
Shane McDonald
7087341570 Merge pull request #1397 from shanemcd/devel
Fix celery 3 broker url reference in standalone docker install
2018-02-28 12:50:57 -05:00
Shane McDonald
0e9a8d5592 Fix celery 3 broker url reference 2018-02-28 12:47:05 -05:00
Alan Rominger
4fba2d61e6 Merge pull request #1394 from AlanCoding/text_type2
Prevent unicode bug in job_explanation
2018-02-28 12:42:11 -05:00
AlanCoding
54c0436959 prevent unicode bug in job_explanation 2018-02-28 11:01:20 -05:00
Alan Rominger
ee0e239a9e Merge pull request #1374 from AlanCoding/your_name
More consistent representations of model objects
2018-02-28 09:08:29 -05:00
Matthew Jones
dc4b9341da Merge pull request #1383 from jakemcdermott/401-on-invalid-login
issue a 401 on invalid login
2018-02-28 08:35:11 -05:00
Jake McDermott
75a27f2457 issue 401 on invalid login 2018-02-28 02:02:52 -05:00
Jake McDermott
ee20fc478b add test for invalid login 2018-02-28 02:02:39 -05:00
Jake McDermott
01ee2adf30 Merge pull request #1382 from jakemcdermott/cookie-settings
adding in default session cookie setting for docker stand alone
2018-02-27 20:42:46 -05:00
Jake McDermott
877cde9a7f add default cookie settings 2018-02-27 20:40:41 -05:00
Ryan Petrello
b5a46c346d Merge pull request #1379 from ryanpetrello/fix-1366
don't inject custom extra_vars for inventory updates
2018-02-27 17:00:22 -05:00
Christian Adams
6e39388090 Merge pull request #1380 from rooftopcellist/csrf_flag
adds csrf flag to support http
2018-02-27 16:36:23 -05:00
Christian Adams
47c4eb38df Merge pull request #1377 from rooftopcellist/remove_authtoken_model
Removes Auth token
2018-02-27 16:33:20 -05:00
adamscmRH
69f8304643 adds csrf flag to support http 2018-02-27 16:19:46 -05:00
adamscmRH
40d563626e removes authtoken 2018-02-27 16:12:13 -05:00
Ryan Petrello
b9ab06734d don't inject custom extra_vars for inventory updates
see: https://github.com/ansible/awx/issues/1366
2018-02-27 16:10:23 -05:00
Chris Meyers
d551566b4d Merge pull request #1372 from chrismeyersfsu/old-celery3
celery 4.x to 3.x roll back
2018-02-27 15:26:46 -05:00
chris meyers
6606a29f57 celery 4.x -> 3.x change route config name 2018-02-27 14:13:05 -05:00
Jake McDermott
f9129aefba Merge pull request #1361 from mabashian/1279-preview-credentials
Put credentials on their own line in the launch preview
2018-02-27 13:42:00 -05:00
AlanCoding
bacd895705 more consistent representations of model objects 2018-02-27 12:18:57 -05:00
chris meyers
148baf7674 add explicit awx_celery container version 2018-02-27 11:37:10 -05:00
chris meyers
5918fa5573 remove () from postgres port value
* awx task container uses postgres port to wait for postgres to become
available before the container init continues. The () are problematic
and are removed.
* () was originally added to fix an openshift issues. That error does
NOT occur with this fix.
2018-02-27 11:36:55 -05:00
chris meyers
e4470aa4cf remove uneeded celery configs
* Celery routes and queues are set and defined at runtime. Thus, a
static definition of routes and queues is not needed.
2018-02-27 11:36:55 -05:00
chris meyers
fe05b4c0d5 use celery 3.x BROKER_URL
* Celery 4.x specifies the broker via CELERY_BROKER_URL. Since we are
now on 3.x, use 3.x way of specifying the broker via BROKER_URL
2018-02-27 11:36:55 -05:00
Alan Rominger
6d7f60ea61 Merge pull request #1368 from AlanCoding/none_client
Fix server error with absent client_secret
2018-02-27 10:39:50 -05:00
Ryan Petrello
a4ab424134 Merge pull request #1362 from ryanpetrello/rdb-sdb
replace our rdb tooling w/ the sdb PyPI package
2018-02-27 10:06:21 -05:00
Ryan Petrello
3636a7c582 Merge pull request #1355 from ryanpetrello/devel
set $HOME via an API call so AWX_TASK_ENV isn't marked as readonly
2018-02-27 09:57:17 -05:00
AlanCoding
c900027f82 fix server error with absent client_secret 2018-02-27 09:23:36 -05:00
Ryan Petrello
d743b77353 replace our rdb tooling w/ the sdb PyPI package 2018-02-26 19:05:50 -05:00
Ryan Petrello
7741de5153 set $HOME via an API call so AWX_TASK_ENV isn't marked as readonly
see: https://github.com/ansible/awx/issues/1315
2018-02-26 16:35:36 -05:00
Michael Abashian
c3968ca2b6 Merge pull request #1357 from mabashian/1281-prompt-inv
Fixed bug preventing users from selecting non-default inventory on job launch
2018-02-26 16:18:42 -05:00
mabashian
c58ea0ea25 Put credentials on their own line in the launch preview and forced them to wrap 2018-02-26 16:06:52 -05:00
Bill Nottingham
4519013a13 Merge pull request #1356 from wenottingham/mongo-only-pawn
Remove some obsolete code.
2018-02-26 15:30:37 -05:00
Bill Nottingham
c1203942e0 Remove obsolete ansible_awx.egg-info. 2018-02-26 15:04:37 -05:00
Bill Nottingham
e7a8ecc05a Fix another instance. 2018-02-26 14:57:24 -05:00
Bill Nottingham
9c722cba22 Remove some obsolete code. 2018-02-26 14:55:13 -05:00
mabashian
9ad8bdf8de Fixed bug preventing users from selecting non-default inventory on job launch 2018-02-26 14:50:31 -05:00
AlanCoding
b878a844d0 Update inventory scripts
ec2
- added support for tags and instance attributes
- allow filtering RDS instances by tags
- add option to group by platform
- set missing defaults
- make cache unique to script ran
- bug fixes
- implement AND'd filters
azure_rm
- minor python 3 upgrades
cloudforms
- minor regex fix
foreman
- several new configurables
- changes to caching
gce
- python 3 upgrades
- added gce_subnetwork param
openstack
- added `--cloud` parameter
ovirt4
- obtain defaults from env vars
vmware_inventory
- changed imports
- allow for custom filters
- changed host_filters
- error handling
- python 3 upgrades
2018-02-26 13:46:21 -05:00
AlanCoding
7b78a2ebcc update tests for new call pattern for capabilities prefetch 2018-02-26 12:13:41 -05:00
AlanCoding
ce9234df0f Revamp user_capabilities with new copy fields
Add copy fields corresponding to new server-side copying

Refactor the way user_capabilities are delivered
 - move the prefetch definition from views to serializer
 - store temporary mapping in serializer context
 - use serializer backlinks to denote polymorphic prefetch model exclusions
2018-02-26 12:13:41 -05:00
Christian Adams
9493b72f29 Merge pull request #904 from ansible/oauth_n_session
Implement session-based  and OAuth 2 authentications
2018-02-26 12:12:38 -05:00
Jake McDermott
7430856ac9 Merge pull request #1344 from jakemcdermott/e2e-updates
e2e / nightwatch updates
2018-02-26 11:58:29 -05:00
adamscmRH
407bcd0cbd fix def application test 2018-02-26 11:35:09 -05:00
Jake McDermott
350f25c6e5 Merge pull request #1343 from jakemcdermott/oauth_n_session
ui tooling fixes / updates for oauth changes
2018-02-26 10:42:04 -05:00
Jake McDermott
c786736688 add setup step for org lookup check 2018-02-25 19:40:22 -05:00
Jake McDermott
01a8b2771a add worker file push command 2018-02-25 19:40:19 -05:00
Jake McDermott
a23e4732b6 bump nightwatch and chromedriver versions 2018-02-25 19:40:15 -05:00
Jake McDermott
24fd4a360e use updated project when checking copy 2018-02-25 19:40:11 -05:00
Jake McDermott
8bf31600b0 stabilize local test runs 2018-02-25 19:40:08 -05:00
Jake McDermott
0e7db2a816 do searchability check last
This fixes a small race condition that sometimes occurs when running
locally by ensuring that the delayed paged scrolling that happens
from using search doesn't put the password reset button out of view
when the test runner is trying to find and click it.
2018-02-25 19:40:02 -05:00
Jake McDermott
59e278a648 ensure correct url is built for inventory hosts page 2018-02-25 19:39:38 -05:00
Jake McDermott
44acecf61e use basic auth by default for data setup 2018-02-25 14:28:09 -05:00
adamscmRH
30b473b0df remove default app creation 2018-02-24 21:34:07 -05:00
Jake McDermott
6bdcba307c fix missing comma 2018-02-24 13:59:55 -05:00
Marliana Lara
434cd31df8 Merge pull request #1338 from marshmalien/feat/multiple_venvs
Implement UI selects for Playbook, Project, and Organization Virtualenvs
2018-02-23 15:48:41 -05:00
Jake McDermott
2b4e631838 Merge pull request #1339 from jakemcdermott/use-navbar-in-smoke-test
use navbar when accessing project and template views
2018-02-23 15:36:46 -05:00
Jake McDermott
b0e0b8f0e3 use navbar when accessing project and template views 2018-02-23 15:08:44 -05:00
Marliana Lara
8a163b5939 Add error handling 2018-02-23 14:49:00 -05:00
Marliana Lara
23300003ab Add dropdown inputs for Job Template, Project, and Organization virtual
envs
2018-02-23 14:49:00 -05:00
adamscmRH
87350e1014 prelim update to docs 2018-02-23 14:10:29 -05:00
adamscmRH
2911dec324 fixes app token endpoint 2018-02-23 11:06:53 -05:00
adamscmRH
99989892cd fixs naming 2018-02-23 09:25:23 -05:00
Alan Rominger
ad8822bcfc Merge pull request #1314 from AlanCoding/fix_rescheduling
Correct permission check for job rescheduling
2018-02-22 16:04:04 -05:00
Ryan Petrello
c35c01e7b1 Merge pull request #1328 from ryanpetrello/devel
Revert "changes to license compliance"
2018-02-22 15:28:54 -05:00
adamscmRH
ecc61b62ca reverts cookie change 2018-02-22 15:18:12 -05:00
John Mitchell
09efc03163 update incorrect logic for auth service rootscope/cookie logged in status vars 2018-02-22 15:18:12 -05:00
John Mitchell
db748775c8 make auth function convert values from cookies to boolean 2018-02-22 15:18:12 -05:00
adamscmRH
310f37dd37 clears authtoken & add PAT 2018-02-22 15:18:12 -05:00
John Mitchell
88bc4a0a9c ui auth works on 8013 now 2018-02-22 15:18:12 -05:00
John Mitchell
976766e4a3 excise token-based auth from ui 2018-02-22 15:18:12 -05:00
Aaron Tan
1c2621cd60 Implement session-based and OAuth 2 authentications
Relates #21. Please see acceptance docs for feature details.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2018-02-22 15:18:12 -05:00
Ryan Petrello
35f629d42c Revert "changes to license compliance"
This reverts commit 218dfb680e.
2018-02-22 15:02:33 -05:00
Alan Rominger
db39ab1b0c Merge pull request #1322 from AlanCoding/check_version
Loosen overwrite_vars constraint for new feature
2018-02-22 14:26:30 -05:00
Shane McDonald
c612ab1c89 Merge pull request #1327 from marshmalien/fix/bump-angular-scheduler-version
Bump angular-scheduler version to 0.3.2
2018-02-22 13:55:07 -05:00
Shane McDonald
c0fe6866c4 Merge pull request #1070 from vrutkovs/installer-ocp-token
Allow authenticating with Openshift via a token
2018-02-22 13:40:01 -05:00
Marliana Lara
746b99046f Bump angular-scheduler version to 0.3.2 2018-02-22 13:35:33 -05:00
Wayne Witzel III
91c6d406c5 Rollback celery 2018-02-22 09:37:14 -05:00
AlanCoding
4727cda336 Loosen overwrite_vars constraint for new feature 2018-02-22 07:47:28 -05:00
Alan Rominger
2ebee58727 Merge pull request #1321 from AlanCoding/magic_credential
Alias filters by credential to credentials
2018-02-21 15:51:42 -05:00
AlanCoding
91e59ebd29 alias filters by credential to credentials 2018-02-21 14:57:26 -05:00
AlanCoding
992d7831b1 add test for ScheduleAccess prompts 2018-02-21 14:11:55 -05:00
Marliana Lara
88b67c894c Merge pull request #1231 from marshmalien/fix/tzid-schedules
Add support for TZID in schedule rrules
2018-02-21 13:55:31 -05:00
Marliana Lara
d71ecf1eee Fix jshint confusing semantics error 2018-02-21 13:18:43 -05:00
Marliana Lara
b9a2f7a87e Add debounce function to preview list to reduce overhead 2018-02-21 13:18:40 -05:00
Marliana Lara
e0cfd18aac Set local timezone dropdown to rrule TZID value 2018-02-21 13:18:39 -05:00
Marliana Lara
73916ade45 Filter dates with moment.js instead of built-in angular date filter 2018-02-21 13:18:38 -05:00
Marliana Lara
1768001881 Add support for TZID in schedule rrules 2018-02-21 13:18:33 -05:00
Chris Church
795681a887 Merge pull request #1311 from cchurch/fix-dummy-data
Fix dummy data generator for WFJT node credentials.
2018-02-21 10:19:50 -05:00
AlanCoding
de4e95f396 correct permission check for job rescheduling 2018-02-21 09:25:43 -05:00
Chris Church
4ec683efcb Fix dummy data generator for WFJT node credentials. 2018-02-21 08:55:43 -05:00
Chris Church
727ded2d4d Merge pull request #1308 from cclauss/patch-1
Py3 Syntax Errors: 0700 -> 0x700 and 0600 -> 0x600
2018-02-21 08:29:49 -05:00
cclauss
8967afc645 octal, not hex 2018-02-21 14:13:47 +01:00
cclauss
d66cad3e0e Py3 Syntax Errors: 0700 -> 0x700 and 0600 -> 0x600
$ __python3 -c "0700"__
```
  File "<string>", line 1
    0700
       ^
SyntaxError: invalid token
```
2018-02-21 12:18:52 +01:00
Ryan Petrello
7db05855de Merge pull request #1306 from ryanpetrello/isolated-fact-cache
support fact caching for isolated hosts
2018-02-20 15:50:49 -05:00
Ryan Petrello
7d9e4d6e2f support fact caching for isolated hosts
see: https://github.com/ansible/awx/issues/198
2018-02-20 15:00:47 -05:00
Ryan Petrello
662f4ec346 Merge pull request #1304 from ryanpetrello/devel
remove dead code
2018-02-20 14:44:52 -05:00
Ryan Petrello
ac3ce82eb1 remove dead code
the code that persists `set_stat` data for workflows now lives elsewhere

related: d57470ce49
2018-02-20 14:14:23 -05:00
Alan Rominger
1582fcbb50 Merge pull request #1277 from AlanCoding/inv_multicred
Use the m2m field for inventory source credentials
2018-02-20 14:08:22 -05:00
AlanCoding
bb6032cff6 docs and review change for IS multivault
Mention inventory sources /credentials/ endpoint in docs
Also change means of identifying projects for the purose
of injecting custom credentials
2018-02-20 12:34:58 -05:00
AlanCoding
9c4d89f512 use the m2m field for inventory source creds 2018-02-20 12:34:56 -05:00
Matthew Jones
8505783350 Merge remote-tracking branch 'tower/release_3.2.3' into devel
* tower/release_3.2.3:
  fix unicode bugs with log statements
  use --export option for ansible-inventory
  add support for new "BECOME" prompt in Ansible 2.5+ for adhoc commands
  enforce strings for secret password inputs on Credentials
  fix a bug for "users should be able to change type of unused credential"
  fix xss vulnerabilities - on host recent jobs popover - on schedule name tooltip
  fix a bug when testing UDP-based logging configuration
  bump templates form credential_types page limit
  Wait for Slack RTM API websocket connection to be established
  don't process artifacts from custom `set_stat` calls asynchronously
  don't overwrite env['ANSIBLE_LIBRARY'] when fact caching is enabled
  only allow facts to cache in the proper file system location
  replace our memcached-based fact cache implementation with local files
  add support for new "BECOME" prompt in Ansible 2.5+
  fix a bug in inventory generation for isolated nodes
  properly handle unicode for isolated job buffers
2018-02-20 12:22:25 -05:00
Ryan Petrello
76ff925b77 Merge pull request #1298 from sjenning/add-import-playbook
add import_playbook as a top-level playbook indicator
2018-02-20 09:54:23 -05:00
Seth Jennings
42ff1cfd67 add import_playbook as top-level playbook indicator 2018-02-19 16:03:08 -06:00
Ryan Petrello
90bb43ce74 Merge pull request #1292 from ryanpetrello/fix-1291
don't require credentials to relaunch a job
2018-02-19 12:01:42 -05:00
Ryan Petrello
56e3d98e62 don't require credentials to relaunch a job
see: https://github.com/ansible/awx/issues/1291
2018-02-19 11:15:55 -05:00
Matthew Jones
7d51b3b6b6 Merge pull request #1116 from bmduffy/bugfix-pem-validation
[bugfix-pem-validation]
2018-02-19 07:53:19 -05:00
Vadim Rutkovsky
5e25859069 Allow authenticating with Openshift via a token 2018-02-18 16:24:16 +01:00
Brian Duffy
4270e3a17b [bugfix] updated pem validation unit tests 2018-02-18 15:11:42 +00:00
Brian Duffy
098f4eb198 [bugfix-pem-validation] pass flake8 2018-02-18 01:46:31 +00:00
Jake McDermott
ae1167ab15 Merge pull request #1282 from ansible/jakemcdermott-patch-1
fix last run job variable reference
2018-02-16 16:35:35 -05:00
Jake McDermott
5b5411fecd fix last run job variable reference 2018-02-16 16:32:13 -05:00
Brian Duffy
235213bd3b updated regex 2018-02-16 16:06:33 +00:00
Wayne Witzel III
2c71a27630 Merge pull request #1123 from wwitzel3/new-permissions
New RBAC Roles
2018-02-15 16:56:03 -05:00
Alan Rominger
1a6819cdea Merge pull request #630 from AlanCoding/text_type
Fix unicode bugs with log statements
2018-02-15 15:52:29 -05:00
AlanCoding
465e605464 fix unicode bugs with log statements 2018-02-15 15:26:58 -05:00
Alan Rominger
22f1a53266 Merge pull request #1233 from AlanCoding/no_turning_back
Raise 400 error on removal of credential on launch
2018-02-15 14:11:57 -05:00
Ryan Petrello
733b4b874e Merge pull request #1255 from ryanpetrello/license-compliance
changes to license compliance
2018-02-15 09:30:41 -05:00
AlanCoding
3d433350d3 raise 400 error on removal of credential on launch
Definition of removal is providing a `credentials` list on launch
that lacks a type of credential that the job template has.
This assures that every category of credential the job template
has will also exist on jobs ran from that job template.
This restriction already existed, but this makes the endpoint
fail instead of re-adding the credentials.
This change makes manual launch congruent with saved launch
configurations.
2018-02-15 08:16:03 -05:00
Wayne Witzel III
30a5617825 Address PR feedback 2018-02-14 22:53:33 +00:00
Alan Rominger
5935c410e4 Merge pull request #629 from AlanCoding/export
Use --export option for ansible-inventory
2018-02-14 15:56:05 -05:00
Alan Rominger
c90cf7c5e2 Merge pull request #1253 from AlanCoding/group_vars
Use --export option for ansible-inventory
2018-02-14 15:52:00 -05:00
Ryan Petrello
218dfb680e changes to license compliance
now if a license is expired or over the managed node limit, it won't
prevent host creation or Job/JobTemplate launches

see: https://github.com/ansible/ansible-tower/issues/7860
2018-02-14 15:51:19 -05:00
AlanCoding
b01deb393e use --export option for ansible-inventory 2018-02-14 14:48:13 -05:00
Chris Church
410111b8c8 Merge pull request #1241 from cclauss/six.string_types_in_mixins.py
six.string_types in mixins.py
2018-02-14 13:38:44 -05:00
AlanCoding
05e6eda453 use --export option for ansible-inventory 2018-02-14 12:34:41 -05:00
Bill Nottingham
4a4b44955b Merge pull request #1247 from pkoro/anchor-link-fix
Fix in anchor link
2018-02-14 10:37:43 -05:00
Ryan Petrello
9d82098162 Merge pull request #1249 from ryanpetrello/no-travis
we don't use travis for tests; remove .travis.yml
2018-02-14 10:15:48 -05:00
Ryan Petrello
1c62c142f1 we don't use travis for tests; remove .travis.yml 2018-02-14 10:07:17 -05:00
Paschalis Korosoglou
5215bbcbf6 Fix in anchor link 2018-02-14 16:05:58 +02:00
Matthew Jones
0d2daecf49 Merge pull request #1243 from matburt/fix_clustering_isolated
Fix isolated instance clustering implementation
2018-02-14 08:32:24 -05:00
cclauss
552b69592c six.string_types in mixins.py 2018-02-14 08:35:14 +01:00
Matthew Jones
ffe5a92eb9 Update isolated instance capacity calculaltion 2018-02-13 21:51:50 -05:00
Matthew Jones
925d9efecf Fixing up isolated node execution after cluster changes
* Rework queue detection to include control groups and isolated instances
* Fix up development tooling around isolated nodes
* Update unit tests
2018-02-13 21:51:38 -05:00
Jake McDermott
c1b6595a0b Merge pull request #1201 from jakemcdermott/item_copy_ui
api-backed copy ui
2018-02-13 17:42:00 -05:00
Jake McDermott
d4e46a35ce get exact match on ids 2018-02-13 17:15:59 -05:00
Jake McDermott
bf0683f7fe replace usage of all and spread 2018-02-13 17:15:56 -05:00
Jake McDermott
0ff94c63f2 use edit capability for showing copy on most views 2018-02-13 17:15:52 -05:00
Jake McDermott
16153daa14 add e2e test for inventory script copy 2018-02-13 17:15:48 -05:00
Jake McDermott
a680d188c0 implement model based copy for inventory scripts 2018-02-13 17:15:44 -05:00
Jake McDermott
d56f1a0120 add e2e test for credential copy 2018-02-13 17:15:41 -05:00
Jake McDermott
50d95ddc3f implement model-based credential copy 2018-02-13 17:15:37 -05:00
Jake McDermott
21a32f90ce add e2e test for notification template copy 2018-02-13 17:15:34 -05:00
Jake McDermott
09d3e6cd98 implement model-based copy for notification templates 2018-02-13 17:15:30 -05:00
Jake McDermott
29f1d695ae add NotificationTemplate model 2018-02-13 17:15:26 -05:00
Jake McDermott
e0f3e4feb7 add e2e test for inventory copy 2018-02-13 17:15:20 -05:00
Jake McDermott
e9ce9621f2 implement model-based copy for inventories 2018-02-13 17:15:16 -05:00
Jake McDermott
a02eda1bea add e2e test for project copy 2018-02-13 17:15:12 -05:00
Jake McDermott
779385ddb6 implement model based copy for projects 2018-02-13 17:15:05 -05:00
Jake McDermott
e5fd483d06 implement model-based copy for job templates and workflow templates 2018-02-13 17:15:01 -05:00
Jake McDermott
8679651d4c add e2e test for template copy and delete warnings 2018-02-13 17:14:57 -05:00
Jake McDermott
4c988fbc02 add WorkflowJobTemplate model 2018-02-13 17:14:48 -05:00
Jake McDermott
c40feb52b7 add base model unit test 2018-02-13 17:14:43 -05:00
Jake McDermott
78b975b2a9 add copy to base model 2018-02-13 17:14:38 -05:00
Jake McDermott
cfba11f8d7 slight cleanup of templates list controller
lint / fix all of the indentation issues
smaller functions
use a variable for any string a user sees
2018-02-13 17:14:30 -05:00
Jake McDermott
73fa8521d0 add e2e test for job and workflow template copy 2018-02-13 17:14:18 -05:00
Jake McDermott
894f0cf2c5 update current workflow copy implementation to be compatible with recent api changes 2018-02-13 17:13:54 -05:00
Chris Church
67ec811e8d Merge pull request #1186 from cclauss/execfile-file-reduce-StandardError
Miscellaneous Python 3 changes: execfile(), file(), reduce(), StandardError
2018-02-13 15:11:24 -05:00
Chris Church
31d0e55c2a Merge pull request #1175 from cclauss/unicode-to-six-u
Change unicode() --> six.text_type() for Python 3
2018-02-13 15:11:11 -05:00
Ryan Petrello
3a0f2ce2fe Merge pull request #628 from ryanpetrello/sudo-become-adhoc
add support for new "BECOME" prompt in Ansible 2.5+ for adhoc commands
2018-02-13 14:38:30 -05:00
Ryan Petrello
613d48cdbc add support for new "BECOME" prompt in Ansible 2.5+ for adhoc commands
see: https://github.com/ansible/ansible-tower/issues/7850
2018-02-13 14:26:27 -05:00
Alan Rominger
39362aab4b Merge pull request #1204 from AlanCoding/default_omission
Omit placeholder vars with survey password defaults
2018-02-13 12:58:11 -05:00
Alan Rominger
6cb3267ebe Merge pull request #1214 from AlanCoding/fix_schedule_qs
Change schedule queryset logic to avoid server error
2018-02-13 12:54:05 -05:00
Bill Nottingham
f8c66b826a Merge pull request #1217 from wenottingham/eat-your-celery-messages
Tweak celery-related messages.
2018-02-13 11:48:21 -05:00
Bill Nottingham
7b288ef98a Tweak celery-related messages. 2018-02-13 10:52:14 -05:00
AlanCoding
58a94be428 Omit placeholder vars with survey password defaults
WFJT nodes & schedules (launch configs) will accept POST/PATCH/PUT
with variables in extra_data that have $encrypted$ for their value
if a valid survey default exists.

In this case, the variable is simply removed from the extra_data.
This is done so that it does not affect pre-existing value
substitution for $encrypted$ values from the config itself
2018-02-13 09:07:59 -05:00
AlanCoding
960845883d change schedule qs logic, avoid server error 2018-02-13 08:32:00 -05:00
Ryan Petrello
eda53eb548 Merge pull request #627 from ryanpetrello/fix-7898
enforce strings for secret password inputs on Credentials
2018-02-12 17:11:02 -05:00
Ryan Petrello
82e41b40bb enforce strings for secret password inputs on Credentials
see: https://github.com/ansible/ansible-tower/issues/7898
2018-02-12 17:03:32 -05:00
Alan Rominger
0268d575f8 Merge pull request #1193 from AlanCoding/no_sneaking_credential_in
Validation clause for WFJT node to follow credential prompt rule
2018-02-12 12:46:12 -05:00
Brian Duffy
6b5a6e9226 [bugfix-pem-validation] left a print statement in 2018-02-12 16:44:32 +00:00
Ryan Petrello
56d01cda6b Merge pull request #1205 from ryanpetrello/fix-pexpect-test
improve a bwrap test
2018-02-12 10:50:00 -05:00
Ryan Petrello
194c2dcf0b improve a bwrap test 2018-02-12 10:14:37 -05:00
Ryan Petrello
b38be89d1a Merge pull request #1203 from ryanpetrello/update-pexpect
upgrade to the latest pexpect
2018-02-12 09:49:26 -05:00
Ryan Petrello
2a168faf6a upgrade to the latest pexpect
see: https://github.com/ansible/awx/issues/417
2018-02-12 09:18:14 -05:00
Ryan Petrello
83b5377387 Merge pull request #1187 from ryanpetrello/file-your-vars-away-for-a-rainy-day
pass extra vars via file rather than via commandline
2018-02-12 08:48:19 -05:00
cclauss
2e623ad80c Change unicode() --> six.text_type() for Python 3 2018-02-11 21:09:12 +01:00
Ryan Petrello
7e42c54868 Merge pull request #1184 from cclauss/basestring-to-six.string_types
basestring to six.string_types for Python 3
2018-02-10 09:49:16 -05:00
Bill Nottingham
aa5bd9f5bf Pass extra vars via file rather than via commandline, including custom creds.
The extra vars file created lives in the playbook private runtime
directory, and will be reaped along with the rest of the directory.

Adjust assorted unit tests as necessary.
2018-02-10 09:27:24 -05:00
Wayne Witzel III
13e777f01b Rename migration files 2018-02-10 02:52:26 +00:00
Wayne Witzel III
819b318fe5 Add Org Execute 2018-02-10 02:52:26 +00:00
Wayne Witzel III
9e7bd55579 Add Notification Admin 2018-02-10 02:52:26 +00:00
Wayne Witzel III
fbece6bdde Updating and adding tests for new RBAC roles 2018-02-10 02:52:26 +00:00
Wayne Witzel III
9fdd00785f Add new RBAC role migrations 2018-02-10 02:52:26 +00:00
Wayne Witzel III
b478740f28 Add Workflow Admin 2018-02-10 02:52:25 +00:00
Wayne Witzel III
109841c350 Add Credential Admin role 2018-02-10 02:52:25 +00:00
Wayne Witzel III
6c951aa883 Add Inventory Admin role 2018-02-10 02:52:25 +00:00
Wayne Witzel III
e7e83afd00 Add Project Admin role 2018-02-10 02:52:25 +00:00
Brian Duffy
7d956a3b68 [bugfix-pem-validation] update from code review 2018-02-10 01:08:29 +00:00
AlanCoding
02ac139d5c validation clause for WFJT node to follow cred prompt rule 2018-02-09 16:17:21 -05:00
Jake McDermott
605a2c7e01 Merge pull request #1189 from jakemcdermott/fix-multivault-select
fix recent multi-vault select breakage
2018-02-09 13:47:17 -05:00
Jake McDermott
484caf29b6 fix recent multi-vault select breakage 2018-02-09 12:52:16 -05:00
Jake McDermott
b2b519e48d Merge pull request #1096 from mabashian/169-v1
UI support for prompting on job template schedules
2018-02-09 11:34:25 -05:00
Jake McDermott
e8e6f50573 Merge branch 'devel' into 169-v1 2018-02-09 11:32:40 -05:00
cclauss
260aec543e Misc Python 3 changes: execfile(), file(), reduce(), StandardError 2018-02-09 17:17:05 +01:00
Marliana Lara
7c95cd008f Merge pull request #1152 from marshmalien/feat/ui_clustering_bugs
Fix UI bugs related to UI Clustering
2018-02-09 11:13:59 -05:00
Ryan Petrello
0ff11ac026 Merge pull request #1185 from ryanpetrello/stop-it-uwsgi
fix celery pid restart issues
2018-02-09 11:07:01 -05:00
Ryan Petrello
605c5e3276 fix celery pid restart issues 2018-02-09 11:03:00 -05:00
cclauss
c371b869dc basestring to six.string_types for Python 3 2018-02-09 16:28:36 +01:00
Shane McDonald
476dbe58c5 Merge pull request #1183 from ryanpetrello/swagger
normalize dates in the Swagger output to minimize diffs
2018-02-09 10:18:19 -05:00
Ryan Petrello
3c43aaef21 normalize dates in the Swagger output to minimize diffs 2018-02-09 10:16:27 -05:00
Ryan Petrello
76d5c02e07 Merge pull request #1181 from ryanpetrello/swagger
move swagger doc metadata out of the awx repo
2018-02-09 10:09:03 -05:00
Ryan Petrello
fe02abe630 move swagger doc metadata out of the awx repo 2018-02-09 09:45:23 -05:00
Ryan Petrello
ce9cb24995 Merge pull request #1171 from cclauss/from-six-import-xrange
from six.moves import xrange for Python 3
2018-02-09 09:02:38 -05:00
Jake McDermott
6cb6c61e5c Merge pull request #1176 from jakemcdermott/stabilize-xss
use project details view to check permissions list
2018-02-08 17:32:39 -05:00
Jake McDermott
67e5d083b8 use project details view to check permissions list 2018-02-08 17:26:54 -05:00
Ryan Petrello
5932c54126 Merge pull request #1165 from ryanpetrello/remove_new_in
remove the `new_in_<version>` in API doc gen
2018-02-08 17:07:50 -05:00
cclauss
e1a8b69736 from six.moves import xrange for Python 3 2018-02-08 22:41:33 +01:00
Ryan Petrello
7472026cca remove the new_in_<version> in API doc gen
see: https://github.com/ansible/awx/issues/73
2018-02-08 16:21:22 -05:00
Jake McDermott
8475bdfdc4 Merge pull request #1170 from shanemcd/fix_standalone_docker_wait_fors
Fix wait_fors in standalone Docker installs
2018-02-08 16:08:31 -05:00
Ryan Petrello
bd2f1568fb Merge pull request #626 from ryanpetrello/release_3.2.3
fix a bug for "users should be able to change type of unused credential"
2018-02-08 15:59:22 -05:00
Alan Rominger
b3dcfc8c18 Merge pull request #903 from ansible/item_copy
Implement item copy feature
2018-02-08 15:51:16 -05:00
Ryan Petrello
72715df751 fix a bug for "users should be able to change type of unused credential"
see: https://github.com/ansible/ansible-tower/issues/7516
related: https://github.com/ansible/tower/pull/441
2018-02-08 15:44:14 -05:00
Shane McDonald
6b3ca32827 Fix wait_fors in standalone Docker installs 2018-02-08 15:08:44 -05:00
Ryan Petrello
1ccdb305e3 Merge pull request #1164 from cclauss/use-new-style-exceptions
Modernize Python 2 code to get ready for Python 3
2018-02-08 14:10:25 -05:00
Ryan Petrello
033bec693b Merge pull request #1166 from ryanpetrello/fix-system-job-stdout
properly handle STDOUT_MAX_BYTES_DISPLAY for system jobs
2018-02-08 13:55:59 -05:00
Ryan Petrello
f2c5859fde properly handle STDOUT_MAX_BYTES_DISPLAY for system jobs
see: https://github.com/ansible/ansible-tower/issues/7890
2018-02-08 11:37:05 -05:00
cclauss
e18838a4b7 Modernize Python 2 code to get ready for Python 3 2018-02-08 17:26:22 +01:00
Shane McDonald
48300da443 Merge pull request #1163 from ryanpetrello/swagger
add indention to swagger docs
2018-02-08 10:52:47 -05:00
Ryan Petrello
5b9dc41015 add indention to swagger docs
this will make it easier to spot changes as our APIs change
2018-02-08 10:51:42 -05:00
Alan Rominger
01c6463b1b Merge pull request #1162 from AlanCoding/remove_cred_sf
Remove credential from node and schedule summary fields
2018-02-08 10:37:46 -05:00
Alan Rominger
181399df7a Merge pull request #1159 from AlanCoding/reschedule_msg
Verbose error messages for failure to re-schedule
2018-02-08 10:28:11 -05:00
Ryan Petrello
9bc0a0743b Merge pull request #1161 from ryanpetrello/zone-names
update zoneinfo endpoint to be a list of dicts
2018-02-08 09:48:11 -05:00
Ryan Petrello
c1d0768e37 Merge pull request #1160 from ryanpetrello/fix-old-rrule-dtstart
add a few schedule RRULE parsing improvements
2018-02-08 09:47:59 -05:00
Marliana Lara
d743faf33e Fix UI bugs related to instance groups views
* Fix bug where capacity_adjustment sets to "1.00" when instance is toggled
* Hookup websockets for instance group jobs and instance jobs
* Add Wait spinner to Capacity_Adjuster, Instance association modal, and Instance group delete
* Add updateDataset event listener to update instance and instanceGroups list after smartSearch query
2018-02-08 09:33:24 -05:00
AlanCoding
0f66892d06 remove credential from node and schedule summary fields 2018-02-08 09:22:55 -05:00
Ryan Petrello
c866d85b8c update zoneinfo endpoint to be a list of dicts 2018-02-08 09:12:26 -05:00
Ryan Petrello
3c799b007e don't allow rrule values that contain both COUNT and UNTIL
see: https://github.com/ansible/ansible-tower/issues/7887
2018-02-08 08:59:52 -05:00
Ryan Petrello
887f16023a improve detection of expensive DTSTART RRULE values 2018-02-08 08:54:30 -05:00
AlanCoding
87b59903a5 verbose error messages for failure to re-schedule 2018-02-08 08:46:56 -05:00
Bill Nottingham
e982f6ed06 Merge pull request #1154 from wenottingham/namespaces-the-final-frontier
Have bubblewrap mount a new /proc in the wrapped environment.
2018-02-07 17:24:38 -05:00
Ryan Petrello
fb5428dd63 Merge pull request #1151 from ansible/jakemcdermott-patch-1-1
always return schema from get_default_schema
2018-02-07 16:56:48 -05:00
Alan Rominger
b38aa3dfb6 Merge pull request #1153 from AlanCoding/fix_wfjt_scheduling
fix bug scheduling WFJT without prompts
2018-02-07 15:49:13 -05:00
Bill Nottingham
c1a0e2cd16 Have bubblewrap mount a new /proc in the wrapped environment.
Since we're running with a new pid namespace, we should have
a new /proc that is in that namespace. Otherwise things will
be weird.
2018-02-07 15:47:03 -05:00
AlanCoding
fe69a23a4e fix bug scheduling WFJT without prompts 2018-02-07 14:34:25 -05:00
Jake McDermott
90f555d684 always return schema from get_default_schema 2018-02-07 13:42:01 -05:00
Matthew Jones
4002f2071d Adding instance group policy unit tests
also remove async call for applying topology change
2018-02-07 11:14:53 -05:00
Ryan Petrello
244dfa1c92 Merge pull request #1145 from ryanpetrello/swagger
fix a bad swagger-related import that breaks the build
2018-02-07 09:12:28 -05:00
Ryan Petrello
1adb4cefec fix a bad swagger-related import that breaks the build 2018-02-07 08:56:59 -05:00
Bill Nottingham
4abcbf949a Merge pull request #1142 from geerlingguy/fix-some-text
Fix grammar for tasks - replace 'state' with 'stage'.
2018-02-06 19:28:20 -05:00
Jeff Geerling
19f0b9ba92 Fix grammar for tasks - replace 'state' with 'stage'. 2018-02-06 16:57:59 -06:00
Ryan Petrello
b1c4c75360 Merge pull request #1141 from ryanpetrello/swagger
a bit of extra Swagger doc tinkering
2018-02-06 14:33:24 -05:00
Ryan Petrello
cc3659d375 fix a busted swagger import 2018-02-06 13:43:31 -05:00
Ryan Petrello
b1695fe107 add instructions for generating Swagger/OpenAPI docs 2018-02-06 13:37:33 -05:00
Jake McDermott
8cd0870253 Merge pull request #1135 from chrismeyersfsu/tests-recent_jobs_xss
xss test for per-host recent jobs popup
2018-02-06 11:51:05 -05:00
Ryan Petrello
84dc40d141 Merge pull request #1124 from ryanpetrello/swagger
add support for building swagger/OpenAPI JSON
2018-02-06 11:12:36 -05:00
Ryan Petrello
8b976031cb use VERSION_TARGET for Swagger doc generation 2018-02-06 10:48:51 -05:00
Chris Meyers
aaf87c0c04 xss test for per-host recent jobs popup 2018-02-06 10:37:00 -05:00
Ryan Petrello
7ff9f0b7d1 build example Swagger request and response bodies from our API tests 2018-02-06 10:36:25 -05:00
Ryan Petrello
527594285f more Swagger template markup 2018-02-06 10:12:58 -05:00
Ryan Petrello
07dfab648c add some tests to prove that OpenAPI JSON compilation works 2018-02-06 10:12:58 -05:00
Ryan Petrello
10974159b5 add support for marking Swagger paths deprecated 2018-02-06 10:12:58 -05:00
Ryan Petrello
ac7c5f8648 clean up API markdown docs 2018-02-06 10:12:57 -05:00
Ryan Petrello
57c22c20b2 add support for building swagger/OpenAPI JSON
to build, run `make swagger`; a file named `swagger.json` will be
written to the current working directory
2018-02-06 10:12:57 -05:00
Matthew Jones
c61efc0af8 Add information on enabled flag 2018-02-05 15:44:26 -05:00
Ryan Petrello
772fcc9149 Merge pull request #1097 from rbywater/feature/preferipv4
Add ability to select to prefer IPv4 addresses for ansible_ssh_host
2018-02-05 14:57:10 -05:00
Matthew Jones
8e94a9e599 Adding capacity docs
Updating capacity for callback jobs to include parent process impact
2018-02-05 09:49:01 -05:00
Shane McDonald
1e9b0c2786 Merge pull request #1130 from shanemcd/fix-etcd-template
Fix variable reference in k8s etcd template
2018-02-05 09:18:20 -05:00
Richard Bywater
5e5790e7d1 Use correct source_vars syntax 2018-02-05 12:45:52 +13:00
Richard Bywater
9f8b9b8d7f Fix unit test 2018-02-05 08:55:10 +13:00
Richard Bywater
6d69087db8 Add prefer_ipv4 to whitelist and add unit test for config value 2018-02-05 08:55:10 +13:00
Richard Bywater
a737663dde Add ability to select to prefer IPv4 addresses for ansible_ssh_host
Currently Cloudforms can return a mix of IPv4 and IPv6 addresses in the
ipaddresses field and this mix comes in a "random" order (that is the
first entry may be IPv4 sometimes but IPv6 other times). If you wish to
always use IPv4 for the ansible_ssh_host value then this is problematic.

This change adds a new prefer_ipv4 flag which will look for the first
IPv4 address in the ipaddresses list and uses that instead of just the
first entry.
2018-02-05 08:55:10 +13:00
Shane McDonald
dce934577b Fix variable reference in k8s etcd template 2018-02-03 10:29:53 -05:00
Jake McDermott
3d421cc595 Merge pull request #1078 from jakemcdermott/saml-ldap-updates
update configuration views for multiple LDAP servers, SAML 2FA, and SAML attribute mapping
2018-02-02 12:15:44 -05:00
Ryan Petrello
93c8cc9f8e Merge pull request #696 from jladdjr/awx_349_custom_cred_write_multiple_files
Feature: Multi-file support for Credential Types
2018-02-02 11:39:11 -05:00
Chris Meyers
1808559586 Merge pull request #1102 from chrismeyersfsu/tests-job_schedules_xss
add xss test for jobs schedules
2018-02-02 11:29:42 -05:00
Jim Ladd
d558299b1f Add test for injecting multiple files 2018-02-02 11:07:13 -05:00
Bill Nottingham
ef5b040f70 Merge pull request #1121 from jeis2497052/devel
Propose small spelling changes
2018-02-02 10:55:23 -05:00
John Eismeier
026cbeb018 Propose small spelling changes 2018-02-02 10:49:55 -05:00
Matthew Jones
6163cc6b5c Merge pull request #1058 from ansible/scalable_clustering
Implement Container Cluster-based dynamic scaling
2018-02-02 09:22:06 -05:00
Ryan Petrello
ed1bacdc08 Merge pull request #1090 from ryanpetrello/awx-ansible-overview
add documentation for how awx uses/interacts with ansible
2018-02-02 08:44:11 -05:00
Jake McDermott
f39fa35d86 Merge pull request #1103 from mabashian/1091-status-icons
Tweaked smart status icon styling to prevent overlap with action buttons
2018-02-01 23:03:37 -05:00
Matthew Jones
9266444b19 Merge pull request #1117 from ryanpetrello/fatal-celery-reload
run the celery reload in a shell so the uwsgi hook isn't fatal on fail
2018-02-01 22:39:00 -05:00
Ryan Petrello
35230eded1 run the celery reload in a shell so the uwsgi hook isn't fatal on fail 2018-02-01 22:32:08 -05:00
Brian Duffy
68057560e5 [bugfix-pem-validation] added unit test to simulate catted data
Signed-off-by: Brian Duffy <bmduffy@gmail.com>
2018-02-02 01:20:31 +00:00
Brian Duffy
047ff7b55f [bugfix-pem-validation]
Signed-off-by: Brian Duffy <bmduffy@gmail.com>
2018-02-01 23:50:02 +00:00
Jake McDermott
ecacf64c28 Merge pull request #1105 from mabashian/1023-activity-stream-inv-link
Fixed inventory links in activity stream
2018-02-01 18:23:54 -05:00
Jake McDermott
d01e6ab8b6 Merge pull request #1106 from mabashian/1014-team-link-user-permissions
Fixed team links in users permissions tab
2018-02-01 18:23:00 -05:00
Jake McDermott
5653b47aa3 Merge pull request #1112 from mabashian/994-empty-list-text
Updated empty list text
2018-02-01 18:22:11 -05:00
Marliana Lara
d4a461e5b4 Switch Array.map() in favor of Array.forEach() 2018-02-01 16:57:10 -05:00
Marliana Lara
f9265ee329 Create an InstancePolicyList directive to replace the pre-existing
modal implementation

* Remove Instance-List-Policy controller
* Replace let with const when values aren't being reassigned
* Update CapacityAdjuster directive to use replace:true
* Assign less values that are specific to element
* Add more error handling
2018-02-01 16:57:10 -05:00
Marliana Lara
fa70d108d7 Apply UI feedback changes
* Remove input slider css mixin
* Remove unused dependencies
* Improve error handling by plugging in the ProcessErrors factory
2018-02-01 16:57:10 -05:00
Marliana Lara
e07f441e32 Add Instance enable/disable toggle to list 2018-02-01 16:57:10 -05:00
Marliana Lara
70786c53a7 Add capacity adjuster directive 2018-02-01 16:57:10 -05:00
Marliana Lara
342958ece3 Add stringToNumber directive 2018-02-01 16:57:09 -05:00
Marliana Lara
368101812c Add Instance and InstanceGroup models 2018-02-01 16:57:09 -05:00
Matthew Jones
70bf78e29f Apply capacity algorithm changes
* This also adds fields to the instance view for tracking cpu and
  memory usage as well as information on what the capacity ranges are
* Also adds a flag for enabling/disabling instances which removes them
  from all queues and has them stop processing new work
* The capacity is now based almost exclusively on some value relative
  to forks
* capacity_adjustment allows you to commit an instance to a certain
  amount of forks, cpu focused or memory focused
* Each job run adds a single fork overhead (that's the reasoning
  behind the +1)
2018-02-01 16:57:09 -05:00
Matthew Jones
6a85fc38dd Add scalable cluster kubernetes support 2018-02-01 16:57:09 -05:00
Matthew Jones
6e9930a45f Use on_commit hook for triggering ig policy
* also Apply console handlers to loggers for dev environment
2018-02-01 16:56:43 -05:00
Matthew Jones
d9e774c4b6 Updates for automatic triggering of policies
* Switch policy router queue to not be "tower" so that we don't
  fall into a chicken/egg scenario
* Show fixed policy list in serializer so a user can determine if
  an instance is manually managed
* Change IG membership mixin to not directly handle applying topology
  changes. Instead it just makes sure the policy instance list is
  accurate
* Add create/delete hooks for instances and groups to trigger policy
  re-evaluation
* Update policy algorithm for fairer distribution
* Fix an issue where CELERY_ROUTES wasn't renamed after celery/django
  upgrade
* Update unit tests to be more explicit
* Update count calculations used by algorithm to only consider
  non-manual instances
* Adding unit tests and fixture
* Don't propagate logging messages from awx.main.tasks and
  awx.main.scheduler
* Use advisory lock to prevent policy eval conflicts
* Allow updating instance groups from view
2018-02-01 16:56:16 -05:00
Matthew Jones
56abfa732e Adding initial instance group policies
and policy evaluation planner
2018-02-01 16:56:15 -05:00
Matthew Jones
c819560d39 Add automatic deprovisioning support, only enabled for openshift
* Implement a config watcher for service restarts
* If the configmap bind point changes then restart all services
2018-02-01 16:51:40 -05:00
Chris Meyers
0e97dc4b84 Beat and celery clustering fixes
* use embedded beat rather than standalone
* dynamically set celeryd hostname at runtime
* add embeded beat flag to celery startup
* Embedded beat mode routes will piggyback off of celery worker setup
signal
2018-02-01 16:47:33 -05:00
Matthew Jones
624289bed7 Add support for directly managing instance groups
* Associating/Disassociating an instance with a group
* Triggering a topology rebuild on that change
* Force rabbitmq cleanup of offline nodes
* Automatically check for dependent service startup
* Fetch and set hostname for celery so it doesn't clobber other
  celeries
* Rely on celery init signals to dyanmically set listen queues
* Removing old total_capacity instance manager property
2018-02-01 16:46:44 -05:00
Matthew Jones
6ede1dfbea Update openshift installer to support rabbitmq autoscale
* Switch rabbitmq container out for one that supports autoscale
* Add etcd pod to support autoscale negotiation
2018-02-01 16:38:10 -05:00
Chris Meyers
c9ff3e99b8 celeryd attach to queues dynamically
* Based on the tower topology (Instance and InstanceGroup
relationships), have celery dyamically listen to queues on boot
* Add celery task capable of "refreshing" what queues each celeryd
worker listens to. This will be used to support changes in the topology.
* Cleaned up some celery task definitions.
* Converged wrongly targeted job launch/finish messages to 'tower'
queue, rather than a 1-off queue.
* Dynamically route celery tasks destined for the local node
* separate beat process

add support for separate beat process
2018-02-01 16:37:33 -05:00
Ryan Petrello
7bc3d85913 Merge pull request #1114 from ryanpetrello/fix-dateutil-bug
work around a bug in dateutil that incorrectly parses Z dates
2018-02-01 16:06:13 -05:00
Ryan Petrello
0a8df7fde2 work around a bug in dateutil that incorrectly parses Z dates
related: https://github.com/dateutil/dateutil/issues/349
2018-02-01 15:51:59 -05:00
Ryan Petrello
b39269c4c2 Merge pull request #1113 from ryanpetrello/fix-schedule-related
fix a bug which can break the schedules list endpoint
2018-02-01 14:50:37 -05:00
Chris Meyers
09981c0020 Merge pull request #1107 from ansible/docs-saml2
Extend saml docs to include new fields added
2018-02-01 14:33:51 -05:00
Ryan Petrello
81bdbef785 fix a bug which can break the schedules list endpoint
see: https://github.com/ansible/ansible-tower/issues/7881
related: https://github.com/ansible/awx/pull/1095
2018-02-01 14:30:56 -05:00
Chris Meyers
3c541a4695 Merge pull request #1111 from ansible/jakemcdermott-update-ldap-docs
Updates to ldap documentation
2018-02-01 14:30:23 -05:00
Jake McDermott
5a1ae9b816 Update ldap.md 2018-02-01 13:57:07 -05:00
mabashian
8c261892ee Updated empty list text 2018-02-01 13:54:33 -05:00
Matthew Jones
b89d4349c0 Merge pull request #1080 from Xiol/feat-projects-vol
Allow AWX projects directory to be a volume
2018-02-01 13:17:34 -05:00
Jake McDermott
3e98363811 Merge pull request #1104 from ansible/doc-formatting
Update saml.md
2018-02-01 11:55:46 -05:00
John Mitchell
7e400413db Merge pull request #625 from jlmitch5/fixXSS
fix xss vulnerabilities
2018-02-01 11:49:35 -05:00
Chris Meyers
f24289b2ba Extend saml docs to include new fields added 2018-02-01 11:27:01 -05:00
mabashian
9170c557a7 Fixed team links in users permissions tab 2018-02-01 11:23:51 -05:00
Chris Meyers
a47b403f8d Update saml.md 2018-02-01 11:05:08 -05:00
mabashian
83aa7bfac4 Fixed inventory links in activity stream 2018-02-01 11:04:16 -05:00
Chris Meyers
290a296f9f add xss test for jobs schedules
* Test for tooltip regression on job schedules list entries
2018-02-01 10:55:13 -05:00
mabashian
db0b2e6cb6 Tweaked smart status icon styling to prevent overlap with action buttons 2018-02-01 10:44:08 -05:00
Ryan Petrello
f391b7ace4 Merge pull request #1095 from ryanpetrello/schedule-related-proj-inv
add related links to the inventory and project for a schedule
2018-01-31 15:53:13 -05:00
Ryan Petrello
008c9e4320 Merge pull request #1094 from ryanpetrello/leaky-mock
remove some leaky mock.patch() that were causing sporadic test failures
2018-01-31 15:52:58 -05:00
mabashian
e57d200d6e Implemented generic prompt modal for launching and saving launch configurations. Added UI support for prompting on job template schedules. 2018-01-31 15:40:23 -05:00
Ryan Petrello
8ddc1c61ef add related links to the inventory and project for a schedule
see: https://github.com/ansible/awx/issues/276
2018-01-31 15:18:11 -05:00
Ryan Petrello
0aa6c7b83f remove some leaky mock.patch() that were causing sporadic test failures 2018-01-31 15:12:59 -05:00
Jake McDermott
e43879d44e Merge pull request #1092 from dovshap/patch-1
Update INSTALL.md
2018-01-31 14:11:11 -05:00
Ryan Petrello
2a6f6111dc add documentation for how awx uses/interacts with ansible 2018-01-31 14:02:18 -05:00
dovshap
6b0659d63a Update INSTALL.md
fix bad link in contents
2018-01-31 11:00:03 -08:00
Jim Ladd
4c1dddcaf9 Respond to PR feedback 2018-01-31 11:22:01 -05:00
Shane McDonald
426e901cdf Merge pull request #1089 from KAMiKAZOW/patch-1
Fix CentOS typo in CONTRIBUTING.md
2018-01-30 21:11:10 -05:00
KAMiKAZOW
ac55f93cfb CentOS typo in CONTRIBUTING.md 2018-01-31 03:07:52 +01:00
Ryan Petrello
c32c3db35e Merge pull request #1086 from ryanpetrello/fix-enabled-sso-auth
fix a bug which causes /api/v2/auth/ to list disabled auth backends
2018-01-30 16:35:26 -05:00
John Mitchell
28596b7d5e fix xss vulnerabilities
- on host recent jobs popover
- on schedule name tooltip
2018-01-30 16:30:00 -05:00
Ryan Petrello
20a999f846 Merge pull request #1085 from ryanpetrello/fix-7876
fix a bug in custom venv support that breaks legacy `POST /api/v1/jobs`
2018-01-30 16:21:10 -05:00
Ryan Petrello
81af34fce3 fix a bug which causes /api/v2/auth/ to list disabled auth backends
see: https://github.com/ansible/awx/issues/1073
2018-01-30 16:20:29 -05:00
Ryan Petrello
8fed469975 fix a bug in custom venv support that breaks legacy POST /api/v1/jobs
see: https://github.com/ansible/ansible-tower/issues/7876
2018-01-30 15:29:11 -05:00
Jake McDermott
a2e274d1f9 Merge pull request #623 from jakemcdermott/fix-ansible-tower-7871
bump templates form credential_types page limit
2018-01-30 14:48:36 -05:00
Ryan Petrello
d96cc51431 Merge pull request #624 from ryanpetrello/release_3.2.3
fix a bug when testing UDP-based logging configuration
2018-01-30 10:27:39 -05:00
Dane Elwell
c6d4a62263 Allow AWX projects directory to be a volume
Signed-off-by: Dane Elwell <dane.elwell@ukfast.co.uk>
2018-01-30 09:49:44 +00:00
Jake McDermott
4cd6a6e566 add fields for saml + 2fa 2018-01-30 00:28:13 -05:00
Jake McDermott
ed138fccf6 add forms + select for additional ldap servers 2018-01-30 00:28:02 -05:00
Jake McDermott
44d223b6c9 add fields for team and organization saml attribute mappings 2018-01-30 00:27:51 -05:00
Ryan Petrello
a9b77eb706 Merge pull request #1066 from ryanpetrello/fix-schedules-without-inventories
fix a few bugs for scheduled jobs that run without inventories
2018-01-29 16:08:17 -05:00
Ryan Petrello
e642af82cc fix a few bugs for scheduled jobs that run without inventories
see: https://github.com/ansible/ansible-tower/issues/7865
see: https://github.com/ansible/ansible-tower/issues/7866
2018-01-29 15:15:57 -05:00
Ryan Petrello
b0a755d7b5 Merge pull request #1076 from ryanpetrello/rrule-until-changes
adhere to RFC5545 regarding UNTIL timezones
2018-01-29 13:31:17 -05:00
Ryan Petrello
6753f1ca35 adhere to RFC5545 regarding UNTIL timezones
If the "DTSTART" property is specified as a date with UTC time or a date with
local time and time zone reference, then the UNTIL rule part MUST be specified
as a date with UTC time.
2018-01-29 12:42:31 -05:00
Ryan Petrello
982539f444 fix a bug when testing UDP-based logging configuration
see: https://github.com/ansible/ansible-tower/issues/7868
2018-01-29 12:05:51 -05:00
Ryan Petrello
f8d9d5f51a Merge pull request #1067 from ryanpetrello/fix-7869
don't allow distant DTSTART values for schedules; it's slow
2018-01-29 12:00:36 -05:00
Wayne Witzel III
bad8c65321 Merge pull request #1074 from wwitzel3/devel
Load Celery inspector manually when needed
2018-01-29 12:00:24 -05:00
Ryan Petrello
6f0c937236 don't allow distant DTSTART values for schedules; it's slow
see: https://github.com/ansible/ansible-tower/issues/7869
2018-01-29 10:16:03 -05:00
Wayne Witzel III
55a616cba6 Load Celery inspector manually when needed 2018-01-29 14:57:03 +00:00
Jake McDermott
4c79e6912e bump templates form credential_types page limit 2018-01-28 21:50:30 -05:00
Jim Ladd
4b13bcdce2 Update tests for custom credentials 2018-01-28 21:02:48 -05:00
Jim Ladd
18178c83b3 Validate single and multi-file injection 2018-01-28 21:02:47 -05:00
Jim Ladd
7aa1ae69b3 Add backwards compatibility for injecting single file 2018-01-28 20:50:44 -05:00
Jim Ladd
286a70f2ca Add support for multi-file injection in custom creds 2018-01-28 20:50:43 -05:00
Shane McDonald
87365e5969 Merge pull request #1071 from jakemcdermott/set-selenium-container-image-tags
use selenium hub / node container image version '3.8.1-erbium'
2018-01-28 16:37:03 -05:00
Jake McDermott
7e829e3a9d use selenium hub / node container image version '3.8.1-erbium' 2018-01-28 16:05:29 -05:00
Shane McDonald
b8cba916a5 Merge pull request #1069 from tdgroot/develop-dockerfile_rsync
Add rsync to Dockerfile
2018-01-27 10:14:36 -05:00
Timon de Groot
dc96a1730e Add rsync to Dockerfile 2018-01-27 11:54:51 +01:00
Matthew Jones
d4983ea10d Merge pull request #856 from ewjoachim/docker-compose-491
Fixes #491: Adding Docker Compose installer
2018-01-26 08:33:40 -05:00
Joachim Jablon
209bdd00a1 related #491 Bacpkort #1007 2018-01-26 07:09:28 +01:00
Joachim Jablon
c4efbd62bc related #491 Docker Compose installer
Signed-off-by: Joachim Jablon <ewjoachim@gmail.com>
2018-01-26 07:09:28 +01:00
Joachim Jablon
287a3bc8d4 related #491 Documentation for Docker Compose
Signed-off-by: Joachim Jablon <ewjoachim@gmail.com>
2018-01-26 07:09:28 +01:00
Joachim Jablon
9fefc26528 related #491 Split local_docker docker into 2 task files
Signed-off-by: Joachim Jablon <ewjoachim@gmail.com>
2018-01-26 07:09:28 +01:00
Ryan Petrello
e2d4ef31fd Merge pull request #1061 from ryanpetrello/fix-1042
fix a unicode bug in the stdout endpoint when ?content_encoding=base64
2018-01-25 16:07:21 -05:00
Ryan Petrello
a15e257b9e fix a unicode bug in the stdout endpoint when ?content_encoding=base64
see: https://github.com/ansible/awx/issues/1042
2018-01-25 15:53:43 -05:00
Ryan Petrello
a56370fed5 Merge pull request #1059 from ryanpetrello/reload-celery
reload the entire celery worker pool when uwsgi reloads the Python app
2018-01-25 15:12:22 -05:00
Ryan Petrello
e7ed4811c1 reload the entire celery worker pool when uwsgi reloads the Python app
this is for the development environment only; when uwsgi notices a code
change, it automatically reloads the uwsgi workers; this patch includes
a hook that sends `SIGHUP` to the celery process, causing it to spawn
a new set of workers as well
2018-01-25 14:59:40 -05:00
Ryan Petrello
9860b38438 Merge pull request #1055 from ryanpetrello/lazybaron
only import the redbaron library on-demand
2018-01-25 13:09:58 -05:00
Ryan Petrello
ef80ecd3b6 only import the redbaron library on-demand
redbaron is a library we use to facilitate parsing local settings files;
at _import_ time it generates a parse tree and caches it to disk at
`/tmp`; this process is _really time consuming, and only necessary if
we're actually *using* the library

right now, we're importing this library and paying the penalty
_every_ time we load the awx application
2018-01-25 10:23:44 -05:00
Ryan Petrello
50290a9063 Merge pull request #1024 from ryanpetrello/fix-710-schedule-timezone
support TZID= in schedule rrules
2018-01-25 10:14:57 -05:00
Shane McDonald
fefa4a8bf4 Merge pull request #1049 from ansible/jakemcdermott-fix-1045
add minimum git version to install guide
2018-01-24 15:40:10 -05:00
Jake McDermott
546f88c74d add minimum git version 2018-01-24 15:12:58 -05:00
Matthew Jones
42098bfa6d Merge pull request #621 from ryanpetrello/set_stat_workflow_race_condition
don't process artifacts from custom `set_stat` calls asynchronously
2018-01-24 10:27:19 -05:00
Jake McDermott
afa1fb489c Merge pull request #1044 from jakemcdermott/fix-948
bump templates form credential_types page limit
2018-01-24 09:35:43 -05:00
Wayne Witzel III
b205630490 Merge pull request #622 from wwitzel3/release_3.2.3
Wait for Slack RTM API websocket connection to be established
2018-01-24 08:59:45 -05:00
Wayne Witzel III
aa469d730e Wait for Slack RTM API websocket connection to be established 2018-01-24 13:48:42 +00:00
Jake McDermott
3571abb42b bump templates form credential_types page limit 2018-01-23 18:28:59 -05:00
Ryan Petrello
d57470ce49 don't process artifacts from custom set_stat calls asynchronously
previously, we persisted custom artifacts to the database on
`Job.artifacts` via the callback receiver.  when the callback receiver
is backed up processing events, this can result in race conditions for
workflows where a playbook calls `set_stat()`, but the artifact data is
not persisted in the database before the next job in the workflow starts

see: https://github.com/ansible/ansible-tower/issues/7831
2018-01-23 17:09:23 -05:00
Jake McDermott
21425db889 Merge pull request #1041 from jakemcdermott/fix-multicred-bugs
Fix multicred bugs
2018-01-23 13:34:35 -05:00
Jake McDermott
cc64657749 use correct handle for modal tag deselect 2018-01-23 10:32:13 -05:00
Jake McDermott
7300c2ccc1 fix unexpected deselect when selecting no-vault-id vault credentials 2018-01-23 10:19:19 -05:00
Jake McDermott
7c596039c5 fix modal exit button close 2018-01-23 09:39:59 -05:00
Ryan Petrello
9857c8272e add more tests for weird timezone/DST boundaries in schedules
see: https://github.com/ansible/awx/pull/1024
2018-01-22 14:57:57 -05:00
Shane McDonald
797169317c Merge pull request #1037 from shanemcd/devel
Use newer version of git in dev image
2018-01-22 14:43:09 -05:00
Shane McDonald
67c6591f6f Use newer version of git in dev image
More fallout from #982
2018-01-22 13:57:44 -05:00
Ryan Petrello
15906b7e3c support TZID= in schedule rrules
this commit allows schedule `rrule` strings to include local timezone
information via TZID=NNNNN; occurrences are _generated_ in the local
time specific by the user (or UTC, if e.g., DTSTART:YYYYMMDDTHHMMSSZ)
while Schedule.next_run, Schedule.dtstart, and Schedule.dtend will be
stored in the UTC equivalent (i.e., the scheduler will still do math on
"what to run next" based on UTC datetimes).

in addition to this change, there is now a new API endpoint,
`/api/v2/schedules/preview/`, which takes an rrule and shows the next
10 occurrences in local and UTC time.

see: https://github.com/ansible/ansible-tower/issues/823
related: https://github.com/dateutil/dateutil/issues/614
2018-01-22 11:50:00 -05:00
Ryan Petrello
fdd2b84804 Merge pull request #1036 from ryanpetrello/fix-955
fix a bug that breaks workflows w/ a survey password + inventory sync
2018-01-22 10:55:51 -05:00
Ryan Petrello
ac3f7d0fac fix a bug that breaks workflows w/ a survey password + inventory sync
prior versions of awx did not raise an exception for this scenario
- they simply ignored kwargs that they couldn't accept.  this change is
a sort of middle ground - it ignores them, but gives a clue in the logs
as to why

see: https://github.com/ansible/awx/issues/955
related: https://github.com/ansible/awx/pull/803
2018-01-22 09:41:30 -05:00
Shane McDonald
09d63b4883 Merge pull request #1029 from jakemcdermott/fix-navbar
fix navbar / breadcrumb issue
2018-01-19 13:54:56 -05:00
Jake McDermott
b96e33ea50 fix navbar / breadcrumb issue 2018-01-19 13:52:11 -05:00
Matthew Jones
71d23e8c81 Merge pull request #1007 from wallnerryan/alternate-dns-servers
support dns servers: fixes https://github.com/ansible/awx/issues/1004
2018-01-19 08:58:29 -05:00
Ryan Petrello
073feb74cb Merge pull request #1015 from ryanpetrello/fix-980
fix another bug that breaks the JT callback process
2018-01-18 14:26:48 -05:00
Ryan Petrello
43f19cc94b fix another bug that breaks the JT callback process
see: https://github.com/ansible/awx/issues/980
related: 17cd0595d7
2018-01-18 13:17:06 -05:00
Ryan Petrello
ef312f0030 Merge pull request #1011 from ryanpetrello/fix-1010
don't require an IRC password in the notification UI
2018-01-18 12:55:57 -05:00
Christian Adams
d0fec0f19c Merge pull request #1013 from rooftopcellist/rdb_docs
added RDB info to docs
2018-01-18 12:33:00 -05:00
adamscmRH
1e14221625 added RDB info to docs 2018-01-18 11:48:26 -05:00
Matthew Jones
b6a901ac51 Merge pull request #1012 from wwitzel3/devel
first-parent requires git >= 1.8.4
2018-01-18 11:36:33 -05:00
Wayne Witzel III
1af0ee2f8c first-parent requires git >= 1.8.4 2018-01-18 16:12:23 +00:00
Ryan Petrello
b62ac6fbe4 Merge pull request #1001 from ryanpetrello/fix-7852
refactor credential injection for builtin types
2018-01-18 10:49:03 -05:00
Ryan Petrello
e5aaeedc43 don't require an IRC password in the notification UI
see: https://github.com/ansible/awx/issues/1010
2018-01-18 09:14:22 -05:00
Wayne Witzel III
fc5c5400cd Merge pull request #1003 from wwitzel3/devel
Fix notification_data attempting to access name property of an int
2018-01-18 08:55:50 -05:00
Wayne Witzel III
95bead2bb2 Extend notification_data test 2018-01-18 13:30:12 +00:00
Ryan Wallner
bcbda23aee support dns servers 2018-01-18 07:46:09 -05:00
Jake McDermott
5a21783013 Merge pull request #976 from jakemcdermott/multivault-templates-form
multivault select for templates form
2018-01-17 23:20:44 -05:00
Jake McDermott
e33604de71 show credential kind icon on credential tags 2018-01-17 23:07:34 -05:00
Jake McDermott
c50c63a9ff default to machine credential type 2018-01-17 23:07:23 -05:00
Jake McDermott
916d91cbc7 use updated credentials endpoint 2018-01-17 23:07:10 -05:00
Jake McDermott
79bd8b2c72 show vault id 2018-01-17 22:02:54 -05:00
Jake McDermott
5939116b0a update e2e and smoke tests for multivault select 2018-01-17 22:02:43 -05:00
Jake McDermott
6759e60428 add working multivault select for templates form 2018-01-17 22:02:30 -05:00
Jake McDermott
ef8af79700 load multiselect list when vault kind is selected 2018-01-17 22:02:16 -05:00
Ryan Petrello
dbb4d2b011 refactor credential injection for builtin types
this cleanups up a _lot_ of code duplication that we have for builtin
credential types. it will allow customers to setup custom inventory
sources that utilize builtin credential types (e.g., a custom inventory
script that could use an AzureRM credential)

see: https://github.com/ansible/ansible-tower/issues/7852
2018-01-17 16:50:28 -05:00
Wayne Witzel III
4a28065dbb Fix notification_data attempting to access name property of an int 2018-01-17 21:46:49 +00:00
Ryan Petrello
5387846cbb Merge pull request #992 from ryanpetrello/optimize-output-event-filter
optimize OutputEventFilter for large stdout streams
2018-01-17 14:24:15 -05:00
Ryan Petrello
6b247f1f24 Merge pull request #1000 from ryanpetrello/fix-7853
fix a minor unicode handling bug in project names
2018-01-17 14:15:15 -05:00
Ryan Petrello
838b793704 fix a minor unicode handling bug in project names
see: https://github.com/ansible/ansible-tower/issues/7853
2018-01-17 13:37:06 -05:00
Ryan Petrello
3cb8c98a41 Merge pull request #998 from ryanpetrello/fix-980
fix a bug which broke the callback plugin launch process
2018-01-17 12:12:05 -05:00
Ryan Petrello
18f254fc28 Merge pull request #769 from rbywater/feature/cloudformssuffix
Add ability to append suffix to host names for Cloudforms Inventory
2018-01-17 11:43:10 -05:00
Michael Abashian
9c6c6ce816 Merge pull request #990 from mabashian/975-delete-template
Fixed delete on templates list
2018-01-17 11:40:42 -05:00
Chris Meyers
6699be95bf Merge pull request #995 from chrismeyersfsu/improvement-fact_cache_log_job
add job_id to fact cache log output
2018-01-17 11:30:57 -05:00
Ryan Petrello
17cd0595d7 fix a bug which broke the callback plugin launch process
see: https://github.com/ansible/awx/issues/980
2018-01-17 11:28:13 -05:00
Chris Meyers
0402064c0f expose ansible_facts_modified 2018-01-17 10:28:34 -05:00
Chris Meyers
e33265e12c add job_id to fact cache log output 2018-01-17 10:19:27 -05:00
Richard Bywater
b8c76301de Add validation to ensure leading fullstop for suffix 2018-01-17 13:20:59 +13:00
Ryan Petrello
51f7907a01 optimize OutputEventFilter for large stdout streams
update our event data search algorithm to be a bit lazier in event data
discovery; this drastically improves processing speeds for stdout >5MB

see: https://github.com/ansible/awx/issues/417
2018-01-16 14:41:35 -05:00
jlmitch5
1a98cedc0f Merge pull request #993 from ansible/jlmitch5-patch-1
update css so that scroll bar doesn't take padding from main content area
2018-01-16 14:28:14 -05:00
jlmitch5
db974d4fd4 update css so that scroll bar doesn't take padding from main content area 2018-01-16 14:22:08 -05:00
mabashian
d6e663eff0 Fixed delete on templates list 2018-01-16 08:36:38 -05:00
Christian Adams
ccb40c8c68 Merge pull request #986 from rooftopcellist/xtra_vars
extends JT xtra var error msg
2018-01-16 00:58:59 -05:00
Ryan Petrello
6eb04de1a7 Merge pull request #978 from ryanpetrello/fix-7841
fix a minor bug in the JT launch related to support for zero credentials
2018-01-15 20:35:28 -05:00
Shane McDonald
cad5c5e79a Merge pull request #987 from shanemcd/devel
Fix sdist builder image
2018-01-15 20:25:16 -05:00
Shane McDonald
97472cb91b Fix sdist builder image
Fallout from https://github.com/ansible/awx/pull/982
2018-01-15 15:39:48 -05:00
adamscmRH
0c63ea0052 extends JT xtra var error msg 2018-01-15 15:05:03 -05:00
Ryan Petrello
fa9c6287f7 Merge pull request #620 from ryanpetrello/fix-815
don't overwrite env['ANSIBLE_LIBRARY'] when fact caching is enabled
2018-01-15 13:55:42 -05:00
Ryan Petrello
2955842c44 don't overwrite env['ANSIBLE_LIBRARY'] when fact caching is enabled
see: https://github.com/ansible/awx/issues/815
see: https://github.com/ansible/ansible-tower/issues/7830
2018-01-15 13:39:46 -05:00
Ryan Petrello
64028dba66 Merge pull request #619 from ryanpetrello/file_based_tower_fact_cache
replace our memcached-based fact cache implementation with local files
2018-01-15 11:57:18 -05:00
Chris Meyers
2b1d2b2976 Merge pull request #805 from chrismeyersfsu/feature-saml_import_attr
allow for saml attributes to define team and org
2018-01-15 11:57:05 -05:00
Ryan Petrello
e1d50a43fd only allow facts to cache in the proper file system location 2018-01-15 11:45:49 -05:00
Shane McDonald
7d51b1cb9d Merge pull request #982 from shanemcd/devel
Use first parent commit when determining version from tags
2018-01-15 11:04:23 -05:00
Shane McDonald
52e531625c Use first parent commit when determining version from tags
We were having issues where an older tag was being outputed from `git describe`.

From the man page:

Follow only the first parent commit upon seeing a merge commit. This is useful when you wish to not match tags on branches merged in the history of the target commit.
2018-01-15 11:01:47 -05:00
Ryan Petrello
983b192a45 replace our memcached-based fact cache implementation with local files
see: https://github.com/ansible/ansible-tower/issues/7840
2018-01-15 09:16:44 -05:00
Richard Bywater
b5db652050 Clarify that leading fullstop needed 2018-01-14 14:05:34 +13:00
Jake McDermott
e699402115 Merge pull request #979 from mabashian/template-list-actions
Added old schedule/copy logic to template list
2018-01-12 20:19:31 -05:00
mabashian
d012f5cd99 Added old schedule/copy logic to template list until it can be refactored 2018-01-12 12:23:29 -05:00
Ryan Petrello
e0c04df1ee Merge pull request #618 from ryanpetrello/become_who_you_were_meant_to_be
add support for new "BECOME" prompt in Ansible 2.5+
2018-01-12 11:45:08 -05:00
Ryan Petrello
4a2ca20b60 fix a minor bug in the JT launch related to support for zero credentials
see: https://github.com/ansible/ansible-tower/issues/7841
2018-01-12 11:37:33 -05:00
Ryan Petrello
563f730268 add support for new "BECOME" prompt in Ansible 2.5+
see: https://github.com/ansible/ansible-tower/issues/7850
2018-01-12 10:40:40 -05:00
Chris Meyers
e49dfd6ee2 only run saml pipeline if saml social auth
* Do not trigger saml social auth pipeline methods if the user logging
in was not created by the saml social auth backend.
2018-01-11 16:20:49 -05:00
Jake McDermott
fb414802fa Merge pull request #970 from ansible/smoketest-fixes-for-lists
update test selector for add button dropdown arrow
2018-01-11 16:13:51 -05:00
Michael Abashian
00f400e839 Merge pull request #971 from mabashian/892-delete-inv-src
Fixed a few straggling success/error promises and replaced with then/catch
2018-01-11 14:51:29 -05:00
Chris Meyers
234e33df0e Merge pull request #959 from chrismeyersfsu/feature-multiple_ldap_servers
implement multiple ldap servers
2018-01-11 14:45:38 -05:00
mabashian
f9b0a3121f Fixed a few straggling success/error promises and replaced with then/catch 2018-01-11 13:59:46 -05:00
Jake McDermott
0afdca3674 update test selector for add button dropdown arrow 2018-01-11 13:48:03 -05:00
Matthew Jones
03cef6fea3 Merge pull request #969 from matburt/default_x_forwarded_for
Add X-Forwarded-For as a default source of remote host headers
2018-01-11 12:01:27 -05:00
Matthew Jones
7dc0fce1aa Use x-forwarded-for by default in openshift and kubernetes 2018-01-11 12:00:01 -05:00
Matthew Jones
648d27f28d Merge pull request #909 from scottp-dpaw/add-openshift-hint
Add REMOTE_HOST_HEADERS override to OpenShift template
2018-01-11 11:56:05 -05:00
jlmitch5
5a5e5bc121 Merge pull request #898 from jlmitch5/newTemplateList
implementation for expanded template list
2018-01-11 11:23:56 -05:00
John Mitchell
aea37654e2 updated template list to using new components 2018-01-11 11:20:12 -05:00
Ryan Petrello
89b9d7ac8b Merge pull request #617 from ryanpetrello/release_3.2.3
fix a bug in inventory generation for isolated nodes
2018-01-11 11:04:09 -05:00
Ryan Petrello
b8758044e0 fix a bug in inventory generation for isolated nodes
see: https://github.com/ansible/ansible-tower/issues/7849
related: https://github.com/ansible/awx/pull/551
2018-01-11 10:41:58 -05:00
Chris Meyers
2ed97aeb0c implement multiple ldap servers 2018-01-11 09:03:14 -05:00
Ryan Petrello
9431b0b6ff Merge pull request #962 from ryanpetrello/fix-7843
fix a unicode handling bug
2018-01-10 18:17:58 -05:00
Ryan Petrello
a5007ccd41 fix a unicode handling bug
see: https://github.com/ansible/ansible-tower/issues/7843
related: https://github.com/ansible/awx/pull/807
2018-01-10 15:56:31 -05:00
Michael Abashian
81fc4219ae Merge pull request #957 from mabashian/860-facts
Fixed display of host facts
2018-01-10 15:02:23 -05:00
Ryan Petrello
c3c4d79890 Merge pull request #958 from ryanpetrello/multivenv
add an example for custom virtualenv setup in containers
2018-01-10 14:24:42 -05:00
Ryan Petrello
b01b229fea add an example for custom virtualenv setup in containers 2018-01-10 13:48:55 -05:00
mabashian
984b7e066d Fixed display of host facts 2018-01-10 13:18:38 -05:00
Matthew Jones
67d927121d Merge pull request #940 from ryanpetrello/multivenv
implement support for per-playbook/project/org virtualenvs
2018-01-10 12:15:38 -05:00
Ryan Petrello
4c40791d06 properly handle unicode for isolated job buffers
from: https://docs.python.org/2/library/stringio.html#module-cStringIO
"Unlike the StringIO module, this module is not able to accept Unicode
strings that cannot be encoded as plain ASCII strings."

see: https://github.com/ansible/ansible-tower/issues/7846
2018-01-10 10:56:59 -05:00
Matthew Jones
ae06cff991 Merge pull request #938 from ansible/kubernetes_install_support
Kubernetes install support
2018-01-10 09:57:33 -05:00
Matthew Jones
7ea6d7bf4d Clean up documentation for kubernetes installer 2018-01-10 09:39:07 -05:00
Matthew Jones
fad4a549d0 Remove oc command usage from docker registry k8s reference 2018-01-10 09:38:00 -05:00
Matthew Jones
9365e477c5 Merge pull request #951 from ansible/remove_nodeport
Remove nodeport customization
2018-01-10 09:32:36 -05:00
Matthew Jones
d0b3cac72a Remove nodeport definition 2018-01-10 09:29:12 -05:00
Chris Meyers
de02138dfd spelling is hard 2018-01-10 09:26:11 -05:00
Matthew Jones
44f0b003fc Kubernetes install documentation 2018-01-10 09:25:59 -05:00
Matthew Jones
56aed597b2 Add initial support for kubernetes to the installer 2018-01-10 09:25:59 -05:00
Matthew Jones
f33ee03b98 Remove nodeport customization
This isn't strictly necessary for the Openshift routes and can
sometimes cause problems when the resource is already defined in openshift
2018-01-10 09:23:46 -05:00
Ryan Petrello
69a3b0def6 Merge pull request #946 from ryanpetrello/fix-7846
fix a handful of issues for playbooks that contain unicode
2018-01-10 09:16:40 -05:00
Matthew Jones
6504972d82 Merge pull request #741 from rbywater/bugfix/cloudformsinventory
Fix CloudForms enabled & id variable names - relates to #705
2018-01-10 00:22:58 -05:00
Ryan Petrello
4bb2b5768e properly compose stdout downloads that contain unicode 2018-01-09 23:52:02 -05:00
Ryan Petrello
c0a641ed52 properly handle unicode for isolated job buffers
from: https://docs.python.org/2/library/stringio.html#module-cStringIO
"Unlike the StringIO module, this module is not able to accept Unicode
strings that cannot be encoded as plain ASCII strings."

see: https://github.com/ansible/ansible-tower/issues/7846
2018-01-09 23:46:17 -05:00
Ryan Petrello
1e8c89f536 implement support for per-playbook/project/org virtualenvs
see: https://github.com/ansible/awx/issues/34
2018-01-09 22:47:01 -05:00
Shane McDonald
54d3412820 Merge pull request #942 from wwitzel3/devel
Update asgi-amqp requirement
2018-01-09 19:17:45 -05:00
Wayne Witzel III
1690938dfb Update asgi-amqp requirement 2018-01-09 23:54:30 +00:00
Chris Meyers
0a9d3d47b9 more efficiently determine saml team mapping 2018-01-09 12:16:07 -05:00
Ryan Petrello
2952b0a0fe Merge pull request #807 from AlanCoding/inv_update_name
Make inventory update name combination of inventory and source
2018-01-08 10:43:44 -05:00
Ryan Petrello
1d3e8f8b87 Merge pull request #831 from AlanCoding/field_names
Use Options models to consolidate field_names list
2018-01-08 10:36:16 -05:00
Ryan Petrello
97c040aaa1 Merge pull request #839 from AlanCoding/cache_settings_dict
Cache the global settings list, cProfile speedup
2018-01-08 10:35:00 -05:00
Ryan Petrello
818c95501a Merge pull request #920 from ryanpetrello/fix-914
add vault_id to launch endpoints default vault credentials
2018-01-08 10:31:31 -05:00
Chris Meyers
664bdec57f add documentation 2018-01-05 14:43:33 -05:00
Michael Abashian
92068930a6 Merge pull request #919 from ansible/jakemcdermott-add-dialog-slider-imports
add dialog and slider vendor imports
2018-01-05 08:48:11 -05:00
Chris Meyers
d07a946183 Merge pull request #921 from chrismeyersfsu/fix-handle_work_error-689
Fix handle_work_error()
2018-01-05 07:54:03 -05:00
Chris Meyers
9d58b15135 allow for saml attributes to define team and org
related to https://github.com/ansible/awx/issues/217

* Adds a configure tower in tower setting for users to configure a saml
attribute that tower will use to put users into teams and orgs.
2018-01-04 15:35:11 -05:00
Chris Meyers
a0038276a4 do not use a custom task exception
* Celery + json pickling do not handle custom Exceptions (and may never
do so). Mentioning of, if handling custom Exceptions then the code would
be susceptible to same arbitrary code execution that python pickle is
vulnerable to.
* So don't use custom Exceptions.
2018-01-04 15:30:52 -05:00
Chris Meyers
f0ff6ecb0a handle_work_error signature to work
* celery error callback signature isn't well defined. Thus, our error
callback signature is made to handle just about any call signature and
depend on only 1 attribute, id, existing.

See https://github.com/celery/celery/issues/3709
2018-01-04 15:23:13 -05:00
Ryan Petrello
60743d6ba6 add the vault_id to the response payload on the JT launch endpoint
see: https://github.com/ansible/awx/issues/914
2018-01-04 15:13:48 -05:00
Ryan Petrello
4707b5e020 Merge pull request #917 from ryanpetrello/more-stdout-event-polish
more stdout event polish
2018-01-04 14:54:46 -05:00
Jake McDermott
ed7d7fcf00 add dialog and slider vendor imports 2018-01-04 14:46:42 -05:00
Aaron Tan
6c2a7f3782 Merge pull request #906 from jangsutsr/refactor_named_url_tests
Refactor named URL unit tests
2018-01-04 14:20:27 -05:00
Ryan Petrello
47875c5f9a Merge pull request #916 from ryanpetrello/memcache-fact-cache-size-warning
make the fact caching plugin fail more gracefully for large payloads
2018-01-04 13:06:29 -05:00
Ryan Petrello
f28f7c6184 refactor job event signal generation code 2018-01-04 12:50:12 -05:00
Ryan Petrello
1494c8395b update websockets docs to reflect new event groups 2018-01-04 11:40:15 -05:00
Ryan Petrello
2691e1d707 make the fact caching plugin fail more gracefully for large payloads
related: https://github.com/ansible/ansible/pull/34424
2018-01-04 11:33:47 -05:00
Ryan Petrello
6d413bd412 Merge pull request #833 from ryanpetrello/stdout-events
generalize stdout event processing to emit events for all job types
2018-01-04 11:28:52 -05:00
Aaron Tan
54bf7e13d8 Refactor named URL unit tests
The original tests set no longer works after Django 1.11 due to more
strict rules against dynamic model definition. The refactored tests set
aims at each existing model that apply named URL rules,  instead of
abstract general use cases, thus significantly improves maintainability
and readability.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2018-01-03 14:00:30 -05:00
Ryan Petrello
c6b6a3ad89 send and subcribe to summary events for all new events 2018-01-03 09:09:45 -05:00
Ryan Petrello
2bd656e61d calculate stdout download length using the ORM, not raw SQL 2018-01-03 09:09:44 -05:00
Ryan Petrello
35b8e40d3c remove deprecation from the stdout endpoint; text downloads still use it 2018-01-03 09:09:44 -05:00
Ryan Petrello
c4d901bf2c add functional API tests for deprecated job event stdout composition
see: https://github.com/ansible/awx/issues/200
2018-01-03 09:09:44 -05:00
Ryan Petrello
1369f72885 add new API endpoints and websocket emit for new job event types
see: https://github.com/ansible/awx/issues/200
2018-01-03 09:09:44 -05:00
Ryan Petrello
0b30e7907b change stdout composition to generate from job events on the fly
this approach totally removes the process of reading and writing stdout
files on the local file system at settings.JOBOUTPUT_ROOT when jobs are
run; now stdout content is only written on-demand as it's fetched for
the deprecated `stdout` endpoint

see: https://github.com/ansible/awx/issues/200
2018-01-03 09:09:43 -05:00
Ryan Petrello
fc94b3a943 generalize stdout event processing to emit events for *all* job types
* introduces three new models: `ProjectUpdateEvent`,
  `InventoryUpdateEvent`, and `SystemJobEvent`
* simplifies the stdout callback management in `tasks.py` - now _all_
  job run types capture and emit events to the callback receiver
* supports stdout reconstruction from events for stdout downloads for
  _all_ job types
* configures `ProjectUpdate` runs to configure the awx display callback
  (so we can capture real playbook events for `project_update.yml`)
* ProjectUpdate, InventoryUpdate, and SystemJob runs no longer write
  text blobs to the deprecated `main_unifiedjob.result_stdout_text` column

see: https://github.com/ansible/awx/issues/200
2018-01-03 09:09:42 -05:00
Scott Percival
fde9099198 Add REMOTE_HOST_HEADERS override to OpenShift template
Signed-off-by: Scott Percival <scott.percival@dbca.wa.gov.au>
2018-01-03 09:53:17 +08:00
Michael Abashian
815cd829e0 Merge pull request #872 from mabashian/865-jquery-ui-upgrade-bug
Fixed spinners after jquery-ui upgrade
2018-01-02 13:18:51 -05:00
Aaron Tan
a2fd78add4 Implement item copy feature
See acceptance doc for implement details.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2018-01-02 10:20:44 -05:00
Ryan Petrello
28c612ae9c Merge pull request #871 from AlanCoding/dirty_extra_data
Fix bug when creating system job schedule
2018-01-02 09:22:07 -05:00
Bill Nottingham
d6ed6a856d Merge pull request #845 from wenottingham/he-sees-you-when-you're-sleeping
Tweak collected information.
2017-12-21 13:52:11 -05:00
mabashian
706b370f7e Fixed spinners after jquery-ui upgrade 2017-12-20 16:02:53 -05:00
AlanCoding
80a2d10742 fix bug when creating system job schedule 2017-12-20 15:30:57 -05:00
Jake McDermott
f7259a1e78 Merge pull request #844 from jakemcdermott/fix-package-json-backmerge-issue
package.json updates / restore ui watch functionality
2017-12-18 17:03:03 -05:00
AlanCoding
08570fe785 make inventory update name combination of inventory and source 2017-12-18 16:21:39 -05:00
Jake McDermott
987cdc6802 Bump versions of angular-codemirror, jquery-ui, and moment 2017-12-18 16:21:29 -05:00
Alan Rominger
6e27294e2b Merge pull request #846 from AlanCoding/encrypt_on_save
Encrypt password answers on config save
2017-12-18 16:20:08 -05:00
AlanCoding
3439ba5f3b allow WFJT nodes without required variables 2017-12-18 12:03:40 -05:00
AlanCoding
c8e10adc96 fix bug saving extra_data and follow prompts rules
display_extra_vars was not taking a copy of the data before
acting on it - this causes a bug where the activity stream will
modify the existing object on the model. That leads to new data
not being accepted.

Also moved the processing of extra_data to prior to the accept
or ignore kwargs logic so that we pass the right (post-encryption)
form of the variables.
2017-12-18 10:50:22 -05:00
Christian Adams
7e261b5246 Merge pull request #847 from rooftopcellist/contributing_typos
Fixed Typos
2017-12-15 11:09:43 -05:00
AlanCoding
1e1839915d validate against unencrypted values at spawn point 2017-12-15 10:47:23 -05:00
AlanCoding
74bf058d62 encrypt password answers on config save 2017-12-15 07:48:55 -05:00
Matthew Jones
5ec537bad2 Merge pull request #843 from ansible/remove_old_tests
Removing old unused tests
2017-12-14 23:55:12 -05:00
Bill Nottingham
568901af74 Tweak collected information. 2017-12-14 19:22:18 -05:00
adamscmRH
c2e9926330 Fixed Typos 2017-12-14 16:13:04 -05:00
Jake McDermott
c4ccfa1b27 restoring ui watch functionality 2017-12-14 14:23:46 -05:00
Matthew Jones
478bcc0b07 Removing old unused tests 2017-12-14 11:34:43 -05:00
AlanCoding
0bb9c58e25 cache the global settings list, cProfile speedup 2017-12-14 11:29:30 -05:00
Alan Rominger
9c783aa0ce Merge pull request #804 from AlanCoding/active_count
simplify query for active_count
2017-12-14 10:47:12 -05:00
Alan Rominger
526391a072 Merge pull request #838 from AlanCoding/no_unicode_loop_2
Avoid slowdown generating smart_filter (alternative 2)
2017-12-14 10:23:31 -05:00
AlanCoding
98f8faa349 simplify query for active_count 2017-12-14 09:53:26 -05:00
AlanCoding
8a2a5b0fb1 avoid slowdown generating smart_filter 2017-12-14 09:39:39 -05:00
Jake McDermott
07cfa6cba5 Merge pull request #834 from AlanCoding/jump-the-start-line 2017-12-13 22:43:54 -05:00
AlanCoding
e188692acf use Options models to consolidate field_names list 2017-12-13 22:39:38 -05:00
Jake McDermott
ad70754b6a Merge pull request #832 from mabashian/linting-error-cleanup
Fixed linting/leftover merge errors
2017-12-13 19:46:02 -05:00
AlanCoding
9fb24f1a4c add hack to TimingMiddlWare for Shippable tests 2017-12-13 18:49:26 -05:00
mabashian
aefa30e1e9 Fixed linting/leftover merge errors 2017-12-13 18:28:52 -05:00
Alan Rominger
7eb2d86890 Merge pull request #749 from AlanCoding/detail_opt
Apply list view optimizations to detail view
2017-12-13 18:19:00 -05:00
Matthew Jones
2fb0144914 Add libcurl-devel to official image build 2017-12-13 16:14:55 -05:00
AlanCoding
e3a731bb9e apply listview optimizations to detail view 2017-12-13 16:09:37 -05:00
Ryan Petrello
451e9a7504 Merge pull request #826 from AlanCoding/322flake
flake8 fixes from removal of re-encrypt test
2017-12-13 15:23:41 -05:00
Ryan Petrello
8311acfba2 Merge pull request #825 from AlanCoding/towervars
Add back in support of towervars lost in merge
2017-12-13 15:19:47 -05:00
AlanCoding
77a1c405a6 flake8 fixes from removal of reencrypt test 2017-12-13 14:32:34 -05:00
AlanCoding
1b0bca8229 add back in support of towervars lost in merge 2017-12-13 14:30:11 -05:00
Ryan Petrello
bd91e8eb54 Merge pull request #824 from ryanpetrello/devel
fix a few tests caused by fallout between 3.2.2 bugs and 3.3 multicred
2017-12-13 14:10:39 -05:00
Ryan Petrello
ea4cd99003 fix a few tests caused by fallout between 3.2.2 bugs and 3.3 multicred 2017-12-13 14:02:25 -05:00
Shane McDonald
00ce244716 Merge pull request #822 from jakemcdermott/fix-merge-issues
fix merge issue with inventory source service
2017-12-13 13:32:13 -05:00
Jake McDermott
3b791609cd fix merge issue with inventory source service 2017-12-13 13:23:15 -05:00
Matthew Jones
a8d4eb7c1d Merge pull request #821 from ryanpetrello/devel
more test cleanup from 3.2.2 merge
2017-12-13 13:15:59 -05:00
Ryan Petrello
d35bfafcf5 more test cleanup from 3.2.2 merge 2017-12-13 13:14:22 -05:00
Ryan Petrello
9f8ef4d1e5 Merge pull request #820 from ryanpetrello/devel
fix a number of failing unit tests related to the 3.2.2 merge
2017-12-13 13:04:55 -05:00
Ryan Petrello
a978d094b4 fix a number of failing unit tests related to the 3.2.2 merge 2017-12-13 13:03:17 -05:00
Shane McDonald
47e422ba7a Merge pull request #819 from ansible/jakemcdermott-patch-1
fix arg name clash in hosts list controller
2017-12-13 13:02:47 -05:00
Jake McDermott
4b86815275 fix arg name clash in hosts list controller 2017-12-13 13:01:11 -05:00
Alan Rominger
6c1c850c5f Merge pull request #816 from AlanCoding/ints
use credential property that returns integers
2017-12-13 12:56:07 -05:00
AlanCoding
f4f1e0fd3c use credential property that returns integers 2017-12-13 12:54:32 -05:00
Matthew Jones
ca84e1c654 Merge pull request #817 from ansible/jakemcdermott-patch-1
fix missing comma in package.json
2017-12-13 12:48:16 -05:00
Jake McDermott
6b6e898882 fix missing comma in package.json 2017-12-13 12:45:26 -05:00
Matthew Jones
9dbcc5934e Merge remote-tracking branch 'tower/release_3.2.2' into devel 2017-12-13 12:25:47 -05:00
Greg Considine
fac7fd45f8 Merge pull request #614 from gconsidine/ui/fix/toggle-button-container
Adjust style of toggle button to accommodate text that exceeds 42px
2017-12-11 16:09:44 -05:00
Matthew Jones
34c206fab0 Bump psql-container pg version to 9.6 2017-12-11 12:01:28 -05:00
gconsidine
a2f64f1053 Adjust style of toggle button to accommodate text that exceeds 42px 2017-12-11 11:47:21 -05:00
Shane McDonald
334d47f3ab Pull updated translations 2017-12-11 09:42:06 -05:00
Ryan Petrello
4724b6a3d6 Merge pull request #613 from ryanpetrello/release_3.2.2
change how we detect the current user at LDAP login to avoid a nuanced recursion error
2017-12-08 15:46:32 -05:00
Ryan Petrello
ce94ba4c83 change how we detect the current user to avoid a nuanced recursion error
see: https://github.com/ansible/ansible-tower/issues/7802
2017-12-08 15:35:47 -05:00
Ryan Petrello
0dc4fa975b Merge pull request #612 from ryanpetrello/release_3.2.2
fix a race condition in "host.last_job" when jobs are deleted
2017-12-06 13:43:45 -05:00
Ryan Petrello
1fb890f4eb fix a race condition in "host.last_job" when jobs are deleted
see: https://github.com/ansible/ansible-tower/issues/7815
2017-12-06 11:30:19 -05:00
Shane McDonald
15e8fd5eca Pull updated translations 2017-12-05 14:17:18 -05:00
Ryan Petrello
06e751fea1 Merge pull request #611 from ryanpetrello/release_3.2.2
more unit tests for survey default handling
2017-12-05 09:18:48 -05:00
Ryan Petrello
fe93ef5488 more unit tests for survey default handling 2017-12-05 09:04:57 -05:00
Richard Bywater
9b05a41eec Add ability to append suffix to host names for Cloudforms Inventory
Allows for use of a suffix that will be appended to host names returned
from Cloudforms API if that suffix is not present.

For example with a suffix of 'example.org', the following results would
be shown for a particular Cloudforms host name:
someexample -> someexample.example.org
someexample.example.org -> someexample.example.org

The main use-case for this is, when one Inventory Source is returning
names that have a FQDN name whilst others are returning a shortname, to
ensure that the hosts in an inventory aren't effectively duplicated.
2017-12-05 14:47:33 +13:00
Ryan Petrello
2c12f1b66e Merge pull request #610 from ryanpetrello/faster-result-stdout-cleanup
don't fetch stdout when purging jobs - it's slow and causes OOMs
2017-12-04 15:41:16 -05:00
Ryan Petrello
33dedc88c8 don't fetch stdout when purging jobs - it's slow and causes OOMs
see: https://github.com/ansible/ansible-tower/issues/7751
2017-12-04 15:14:55 -05:00
Alan Rominger
759867c863 Merge pull request #609 from AlanCoding/more_encryption_tests
encryption tests around the contract with survey functionality
2017-12-04 14:20:30 -05:00
Alan Rominger
d4613d448c Merge pull request #608 from AlanCoding/empty_string_defaults
allow password default reuse with empty default
2017-12-04 14:19:32 -05:00
AlanCoding
dbd68c5747 encryption tests around the contract with survey functionality 2017-12-04 11:45:07 -05:00
AlanCoding
d23d7c422d allow password default reuse with empty default 2017-12-04 10:49:36 -05:00
Ryan Petrello
4b793dc58a Merge pull request #606 from ryanpetrello/test-7806
improve validation for empty default passwords
2017-12-04 10:19:06 -05:00
Ryan Petrello
112757e202 properly handle JT launch POST for required survey fields w/ no default
see: ansible/ansible-tower#7805
2017-12-04 09:45:21 -05:00
Ryan Petrello
12380fe1b1 add more tests for survey default encryption
see: https://github.com/ansible/ansible-tower/issues/7805
see: https://github.com/ansible/ansible-tower/issues/7806
see: https://github.com/ansible/ansible-tower/issues/7807
2017-12-04 09:45:14 -05:00
Ryan Petrello
b987b7daa0 Merge pull request #605 from ryanpetrello/release_3.2.2
fix another survey encryption-related bug
2017-12-01 17:30:43 -05:00
Ryan Petrello
6c7851b51f fix another survey encryption-related bug 2017-12-01 17:11:00 -05:00
Aaron Tan
1ff0591553 Merge pull request #603 from jangsutsr/fix-7737-1
Follow up fix #542
2017-12-01 16:07:14 -05:00
Aaron Tan
58ad214dcf Follow up fix #542
Relates
https://github.com/ansible/ansible-tower/issues/7737#issuecomment-348566452

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-12-01 15:58:33 -05:00
Ryan Petrello
a71cee9300 Merge pull request #604 from ryanpetrello/survey_spec_validation_refactor
refactor survey spec validation into a separate testable function
2017-12-01 15:44:07 -05:00
Ryan Petrello
1057b93570 refactor survey spec validation into a separate testable function 2017-12-01 15:34:07 -05:00
Alan Rominger
e0edfeac7c Merge pull request #602 from AlanCoding/clean_defaults
block user from entering encrypted as bare default
2017-12-01 14:54:42 -05:00
AlanCoding
47f45bf9b3 block user from entering encrypted as bare default 2017-12-01 14:44:06 -05:00
Ryan Petrello
8d162f9044 Merge pull request #601 from ryanpetrello/flake8-fixes
backport a few fixes from awx to address busted ci
2017-12-01 12:48:06 -05:00
AlanCoding
6269b43456 update tests to new Ansible core code 2017-12-01 12:31:56 -05:00
AlanCoding
67867cf0c8 flake8: comply with new E722 rule 2017-12-01 12:16:44 -05:00
Ryan Petrello
7538b4ce15 Merge pull request #600 from ryanpetrello/fix-7800-migration
upgrade survey encryption migration to work around an old survey bug
2017-12-01 12:13:18 -05:00
Ryan Petrello
8c6a1e348d upgrade survey encryption migration to work around an old survey bug
see: https://github.com/ansible/ansible-tower/issues/7800
2017-12-01 11:34:47 -05:00
Shane McDonald
3cd80ef67a Update pot files 2017-11-30 15:29:29 -05:00
Wayne Witzel III
f3310236e4 Merge pull request #599 from wwitzel3/release_3.2.2
Fix git project sync bug.
2017-11-30 11:22:29 -05:00
Wayne Witzel III
ed28faa3db Use TMP instead of TMPDIR and only set it in RunProjectUpdate 2017-11-30 16:10:12 +00:00
Ryan Petrello
fc4b02b79f Merge pull request #597 from ryanpetrello/jenkins-no-like-unicode
removing some cruft we thought would help us catch bugs (it didn't)
2017-11-29 16:39:20 -05:00
Ryan Petrello
a3dd9eb4b7 removing some cruft we thought would help us catch bugs (it didn't) 2017-11-29 16:23:07 -05:00
Richard Bywater
079abc162f Fix CloudForms enabled & id variable names
On Cloudforms (Version 2.0 at least), the dictionary that gets passed to
the inventory_import has a top-level 'cloudforms' dictionary element
that contains the 'id' and 'power_state' rather than those elements
being at the top-level of the dictionary.

This change adds in the 'cloudforms' into the expected name.
2017-11-30 09:30:23 +13:00
Ryan Petrello
d773d163f7 Merge pull request #595 from ryanpetrello/fix-workflow-survey-encrypt
more survey password encryption bug squashing
2017-11-29 15:09:40 -05:00
Ryan Petrello
68ada92f3b more survey password encryption bug squashing
the nature of this latest bug is that the WorkflowJob has a *different*
implementation of _accept_or_ignore_job_kwargs, and it wasn't performing
encryption for extra vars provided at launch time; this change places the
encryption mechanism in UJT.create_unified_job so that it works the same
for _all_ UJTs

see: https://github.com/ansible/ansible-tower/issues/7798
see: https://github.com/ansible/ansible-tower/issues/7046
2017-11-29 14:40:41 -05:00
Aaron Tan
4c43afda19 Merge pull request #586 from jangsutsr/fix-7768
Supress exception with concurrent deletion
2017-11-29 13:40:45 -05:00
Ryan Petrello
91cc4689c9 Merge pull request #594 from ryanpetrello/fix-sosreport-venv
fix incorrect virtualenv path for sosreport plugin
2017-11-29 10:07:12 -05:00
Hideki Saito
febfcf709d fix incorrect virtualenv path for sosreport plugin 2017-11-29 09:57:41 -05:00
Ryan Petrello
cf1d5a29f6 Merge pull request #593 from ryanpetrello/fix-7796
fix another encrypted survey password bug
2017-11-28 17:08:35 -05:00
Ryan Petrello
1425021106 fix another encrypted survey password bug
properly encrypt extra_vars that overlap with survey passwords when
`ask_variables_on_launch=true`

see: https://github.com/ansible/ansible-tower/issues/7796
2017-11-28 16:52:47 -05:00
Ryan Petrello
7b42316366 Merge pull request #592 from ryanpetrello/fix-7793
fix a bug which caused v1 cred backwards-compat to apply to v2 requests
2017-11-28 14:49:54 -05:00
Ryan Petrello
ce9d75c2e4 Merge pull request #591 from ryanpetrello/rename-ovirt
rename oVirt4 to Red Hat Virtualization
2017-11-28 13:10:58 -05:00
Ryan Petrello
26845642f0 fix a bug which caused v1 cred backwards-compat to apply to v2 requests
see: https://github.com/ansible/ansible-tower/issues/7793
2017-11-28 13:05:13 -05:00
Ryan Petrello
6fa0d9d4ed rename oVirt4 to Red Hat Virtualization
see: https://github.com/ansible/ansible-tower/issues/7790
2017-11-28 11:02:42 -05:00
Ryan Petrello
7accac2f63 Merge pull request #590 from ryanpetrello/fix-7784
fix a bug in survey password default validation within workflows
2017-11-27 18:04:30 -05:00
Ryan Petrello
044c047ac6 fix a bug in survey password default validation
see: https://github.com/ansible/ansible-tower/issues/7046
see: https://github.com/ansible/ansible-tower/issues/7764
see: https://github.com/ansible/ansible-tower/issues/7784
2017-11-27 17:25:45 -05:00
Chris Meyers
5a2ecd25e7 Merge pull request #589 from ansible/fix-project_update_cascade_fast
correctly cascade job cancel
2017-11-27 13:21:25 -05:00
Chris Meyers
6c89935521 correctly cascade job cancel
* Check the reason for a dependent project update failure. If it's
because of a cancel, then let the normal cancel mechanisms update the
jobs status and explanation. Do not update the dependent job's status
for a project update that was canceled, in the run code.
2017-11-27 12:34:55 -05:00
Aaron Tan
0641c6b0a6 Supress exception with concurrent deletion
Relates https://github.com/ansible/ansible-tower/issues/7768

This issue, as well as
https://github.com/ansible/ansible-tower/issues/7622, both rooted in a
concurrency issue of Django ORM:
https://github.com/ansible/ansible-tower/issues/762://code.djangoproject.com/ticket/28806

The solution related deals specifically with the related issue, but is
not a general solution. A general workaround can be found in
https://github.com/ansible/tower/pull/500.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-11-17 16:29:08 -05:00
Alan Rominger
4ea27e0d1b Merge pull request #587 from AlanCoding/computed_self
update original when updating computed fields
2017-11-17 12:23:43 -05:00
Wayne Witzel III
79c196fc08 Merge pull request #588 from wwitzel3/release_3.2.2
Include all previously run operations to satisfy Django migration planner
2017-11-17 12:12:21 -05:00
Wayne Witzel III
249a5e5e4d Include all previously run operations to satisfy Django migration planner. 2017-11-17 12:02:07 -05:00
AlanCoding
51c73cb357 update original when updating computed fields 2017-11-17 10:16:49 -05:00
Ryan Petrello
8d35b71321 Merge pull request #585 from ryanpetrello/fix-wfjt-survey-encryption
re-encrypt WFJT.survey_spec and WorkflowJob.extra_vars too
2017-11-17 08:52:54 -05:00
Ryan Petrello
a80d5b1b39 reencrypt WFJT.survey_spec too
https://github.com/ansible/ansible-tower/issues/7046
2017-11-16 23:00:22 -05:00
Wayne Witzel III
e5d86419c8 Merge pull request #582 from AlanCoding/smart_computed2
update smart inventory computed fields
2017-11-16 19:36:08 -05:00
Greg Considine
54a98ff612 Merge pull request #581 from gconsidine/ui/fix/disabled-button-opacity
Update disabled button color to match style guide
2017-11-16 16:40:06 -05:00
Ryan Petrello
e7077185bf Merge pull request #584 from ryanpetrello/release_3.2.2
make settings.AWX_ISOLATED_KEY_GENERATION readonly
2017-11-16 13:42:00 -05:00
Ryan Petrello
4187d02b8a make settings.AWX_ISOLATED_KEY_GENERATION readonly
see: https://github.com/ansible/ansible-tower/issues/7380
2017-11-16 13:35:37 -05:00
Matthew Jones
457359322f Merge pull request #583 from ansible/nicer_error_tower_inventory
Present the tower inventory sync failure in a better way
2017-11-16 13:16:22 -05:00
Matthew Jones
8a65c6e1c8 Present the tower inventory sync failure in a better way
This allows it to be handled better by ansible 2.4+
2017-11-16 12:59:12 -05:00
AlanCoding
fb29f68efc update smart inventory computed fields 2017-11-16 11:57:30 -05:00
gconsidine
1fcddba558 Update disabled button color to match style guide 2017-11-16 11:15:23 -05:00
Chris Meyers
e20599d7bb Merge pull request #580 from chrismeyersfsu/fix-project_update_cascade_tower
cascade cancel proj update when job canceled
2017-11-15 11:19:35 -05:00
Chris Meyers
9288b53015 cascade cancel proj update when job canceled
* Implicit project update, launch_type='sync', get "associated" with a
job via project_update. When a job is canceled, so should this implicit
project update. This change enforces that logic.
2017-11-15 11:17:52 -05:00
Ryan Petrello
82be0a8af2 Merge pull request #579 from ryanpetrello/fix-survey-encryption-migration-failure
fix a bug in the survey reencryption migration
2017-11-15 10:38:35 -05:00
Ryan Petrello
35c374fc79 fix a bug in the survey reencryption migration
see: https://github.com/ansible/ansible-tower/issues/7046
2017-11-15 10:26:46 -05:00
Alan Rominger
dbe135991b Merge pull request #575 from AlanCoding/single_cancel
do not propogate cancel of inventory sync back up to project
2017-11-15 09:46:41 -05:00
Bill Nottingham
64f89b3fce Merge pull request #578 from wenottingham/protect-our-environment
Remove some environment variables the callback plugin doesn't actually use
2017-11-14 16:10:53 -05:00
Bill Nottingham
aaaae87aa7 Remove some environment variables the callback plugin doesn't actually use. 2017-11-14 15:57:49 -05:00
Ryan Petrello
44a2d7a346 Merge pull request #577 from ryanpetrello/release_3.2.2
render survey_spec for display purposes in a safe manner
2017-11-13 15:18:09 -05:00
Ryan Petrello
be00b1ca96 render survey_spec for display purposes in a safe manner
survey_spec is a nested dict, so if we don't `deepcopy()` it, updates
to the individual fields could corrupt the original data structure;
this was causing a bug whereby activity stream updates converted
encrypted survey password defaults -> `$encrypted$`, but inadvertently
modified the originating model due to shared references

see: https://github.com/ansible/ansible-tower/issues/7769
2017-11-13 13:01:56 -05:00
AlanCoding
33574d70c8 do not propogate cancel of inventory sync back up to project 2017-11-13 08:44:00 -05:00
Ryan Petrello
bc705ad8ce Merge pull request #574 from ryanpetrello/fix-7764
properly perform validation on encrypted survey defaults
2017-11-10 12:07:54 -05:00
Ryan Petrello
78961c8037 properly perform validation on encrypted survey defaults
see: https://github.com/ansible/ansible-tower/issues/7764
2017-11-10 10:52:09 -05:00
Alan Rominger
e22486ada8 Merge pull request #573 from AlanCoding/7765
[3.2.2] fix bug of system auditor 404 viewing job
2017-11-08 11:16:28 -05:00
AlanCoding
0051da95c9 fix bug of system auditor 404 viewing job 2017-11-08 10:44:41 -05:00
Ryan Petrello
122142c040 Merge pull request #572 from ryanpetrello/isolated-debug-toolkit
add some useful tools for isolated connectivity debugging
2017-11-08 10:08:05 -05:00
Ryan Petrello
91ad0a9f89 add a useful tool for isolated connectivity debugging 2017-11-08 09:27:33 -05:00
Ryan Fitzpatrick
6ea3ecbb26 Merge pull request #567 from rmfitzpatrick/tower_inv_source_filter_wording
Provide more specificity to Tower inventory filter help text
2017-11-07 10:55:30 -05:00
Jared Tabor
e87dce023b Merge pull request #568 from jaredevantabor/source-deletion
When deleting a source, delete the source's groups too
2017-11-06 11:27:46 -08:00
Matthew Jones
89a05e9bbc Handle json decoder errors from tower inventory source 2017-11-06 14:15:53 -05:00
Jared Tabor
96fbc9ea27 Merge pull request #571 from jaredevantabor/6551
Band aid for rapidly deleting groups
2017-11-03 16:28:22 -07:00
Jared Tabor
e70d377a53 feedback from PR: launch both DELETE calls at the same time
for both groups and hosts.
2017-11-03 16:26:00 -07:00
Jared Tabor
f65ef9f75c prolong removing the delete modal until after the list refreshes, post-delete 2017-11-03 15:25:39 -07:00
Wayne Witzel III
7149c41804 Merge pull request #570 from wwitzel3/release_3.2.2
Handle ProgrammingError in squashed helpers
2017-11-03 10:45:09 -04:00
Wayne Witzel III
1a5b5c32b8 Handle ProgrammingError in squashed helpers 2017-11-03 10:34:25 -04:00
Wayne Witzel III
1b44ca8ef4 Merge pull request #569 from wwitzel3/release_3.2.2
Handle programming error when evaluating the replaces list for 320
2017-11-03 09:02:58 -04:00
Wayne Witzel III
d7f4707044 Handle programming error when evaluating the replaces list for 320 2017-11-03 08:53:53 -04:00
Jared Tabor
9d39ac83f9 When deleting a source, delete the source's groups too 2017-11-02 15:59:09 -07:00
Wayne Witzel III
ce393da6fd Merge pull request #564 from wwitzel3/squashbillies
Squashbillies - Fixing direct upgrades from 3.0/3.1 bug fix revisions.
2017-11-02 16:19:26 -04:00
Wayne Witzel III
2f86774006 3.2.0 should not have any replacements defined unless 0005a or 0005b migrations have been run previously 2017-11-02 16:11:45 -04:00
Ryan Fitzpatrick
e2c63c41e7 Provide more specificity to Tower inventory filter help text 2017-11-02 15:01:03 -04:00
Wayne Witzel III
f9685717b8 Move post 3.0 migrations to pre 3.1 position in migration files 2017-11-02 14:06:36 -04:00
Wayne Witzel III
47a3ba9bd5 Rename squash 300 to 30 2017-11-02 14:06:36 -04:00
Wayne Witzel III
af3e6f792c Rename squash 310 to 31 2017-11-02 14:06:35 -04:00
Wayne Witzel III
fc56a1c170 Fix 3.0 to 3.2 migration paths 2017-11-02 14:06:35 -04:00
Wayne Witzel III
84fb908261 Fix 3.1 to 3.2 migration paths 2017-11-02 14:06:33 -04:00
jlmitch5
cb4a38d7a7 Merge pull request #566 from ansible/click-to-close
Add close logic to clicking outside of the bounds of a lookup modal
2017-11-02 13:33:03 -04:00
John Mitchell
9518c38bb8 add close logic to clicking outside of the bounds of a lookup modal 2017-11-02 12:20:53 -04:00
Matthew Jones
5e37d6ea7e Remove unused TOWER_HOST and AWX_HOST env vars
These were conflicting with the new Tower credential
2017-11-02 10:44:06 -04:00
jlmitch5
54e76b2534 Merge pull request #565 from ansible/no_placeholder_select2_typeahead
munge placeholder from select2 typeahead search bar
2017-11-01 12:45:29 -04:00
jlmitch5
b8ed41fa82 munge placeholder from select2 typeahead search bar 2017-10-31 14:39:25 -04:00
Michael Abashian
fbd03287ea Merge pull request #549 from mabashian/7697-smart-inv-pagination
Only pass host filter param to smart inv shortcut form
2017-10-31 13:29:52 -04:00
Michael Abashian
7919433288 Merge pull request #548 from mabashian/7752-host-list
Fixed related host list linking
2017-10-31 13:29:35 -04:00
Ryan Petrello
3568be84c8 Merge pull request #561 from ryanpetrello/idle-hands
improve the callback worker's ability to deal with idle/disconnected DB
2017-10-31 10:05:29 -04:00
Ryan Petrello
8d2ab3de42 improve the callback worker's ability to deal with idle/disconnected DB
if database connectivity is lost, callback workers currently raise an
uncaught exception and hang; this can cause the entire process to stop
handling callback events

see: https://github.com/ansible/ansible-tower/issues/7660
2017-10-31 09:51:13 -04:00
Jared Tabor
4c4cbaef9f Merge pull request #562 from jaredevantabor/timezone
Changing angular-tz-extensions branch
2017-10-30 14:21:19 -07:00
Jared Tabor
aef224732c changing angular-tz to point to a branch with a patch for UTC timezones
and also patching angular-scheduler to point to angular 1.4.14
and also patching angular-codemirror to point to angular 1.4.14,
and adding fsevents:"*" to the package.json, and regenerating
npm-shrinkwrap.json for the new dependencies and their branches.
2017-10-30 14:20:24 -07:00
Jake McDermott
b0c1be7338 Merge pull request #563 from jakemcdermott/bug-7718
append credential types documentation link to popovers
2017-10-30 16:24:19 -04:00
Jake McDermott
14a3a6073e append credential types documentation link to help popovers 2017-10-30 15:23:27 -04:00
Jake McDermott
fc7c2117e9 Merge pull request #553 from jakemcdermott/bug-5449
use abbreviated month name for dashboard chart
2017-10-27 17:01:47 -04:00
Aaron Tan
962de13965 Merge pull request #503 from jangsutsr/fix-7712
[3.2.2]Special handle host related_search_fields
2017-10-27 11:16:09 -04:00
Aaron Tan
7211ff22df Special handle host related_search_fields
Relates #7712 of ansible-tower.

UI uses `related_search_fields` list to populate help text for resourse
search, `ansible_facts` is searchable via UI but the general pickup
logic would ignore it. So make it a corner case.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-27 10:55:43 -04:00
Alan Rominger
003d7f0915 Merge pull request #543 from AlanCoding/urlencode_host_filter
[3.2.2] urlencode unquote host_filter on save
2017-10-27 08:50:39 -04:00
Matthew Jones
f019452207 Merge pull request #551 from ansible/tower_inventory_source
Tower inventory source
2017-10-27 08:41:24 -04:00
Alan Rominger
c323a2393a Merge pull request #552 from AlanCoding/retry_cleanup
[3.2.2] retry cleanup of build artifacts for bwrap race condition
2017-10-27 08:23:28 -04:00
Matthew Jones
85be3c7692 Align inventory variables with Ansible modules 2017-10-27 08:12:14 -04:00
Matthew Jones
5f3ebc26e0 Adding license checks for Tower inventory source
* For Tower the license must match between the source and destination
* For AWX the check is disabled
* Hosts imported from another Tower don't count against your license
  in the local Tower
* Fix up some issues with enablement
* Prevent slashes from being used in the instance filter
* Add &all=1 filter to make sure we pick up all hosts
2017-10-27 08:12:14 -04:00
Matthew Jones
d282966aa1 Use towervars to enable turning on remote tracking vars on Tower src
* This allows the local Tower to track enabled state and unique
  instance id for each host imported from the remote Tower
2017-10-27 08:12:14 -04:00
Matthew Jones
71e132ce0f Show instance filter ui element with tower inventory source 2017-10-27 08:12:14 -04:00
Jake McDermott
d6d84e8f5e use abbreviated month name for dashboard chart 2017-10-26 21:44:01 -04:00
Matthew Jones
fdc7f58bb4 Support passing instance filters to tower inventory src
* Switch ignore ssl errors to default on
* Application inventory source defaults for Tower src
2017-10-26 13:51:05 -04:00
Matthew Jones
6c597ad165 Adding initial credential and invsrc for Tower
* New credential type for Tower
* Inventory source definitions and migrations for Tower
* Initial Tower inventory source script
2017-10-26 13:51:05 -04:00
AlanCoding
48ec69c4f5 retry cleanup of build artifacts for bwrap race condition 2017-10-26 13:33:21 -04:00
Aaron Tan
1ea3d55167 Merge pull request #550 from jangsutsr/fix-7737-1
Follow up fix #7737
2017-10-26 11:29:05 -04:00
Aaron Tan
7181bd1c9b Follow up fix #7737
The original fix introduced migration failure, this PR managed to fix
that.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-26 11:15:07 -04:00
Ryan Petrello
9e8ac3b09b Merge pull request #547 from ryanpetrello/fix-cleanup-memory-usage
[3.2.2] Backport (from awx) various memory optimizations for job cleanup
2017-10-26 10:39:58 -04:00
Aaron Tan
e24e1fc1f0 Merge pull request #542 from jangsutsr/fix-7737
[3.2.2]support `AZURE_CLOUD_ENVIRONMENT`
2017-10-26 10:20:14 -04:00
Aaron Tan
f28b48a473 support AZURE_CLOUD_ENVIRONMENT
Relates #7737 of ansible-tower.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-26 10:11:21 -04:00
Michael Abashian
4f58537949 Merge pull request #546 from mabashian/6209-license-readonly-auth-forms
Make codemirror ready-only when auth form field is disabled
2017-10-26 09:58:24 -04:00
mabashian
0512f65c8f Only pass host filter param to smart inv shortcut form 2017-10-26 09:55:36 -04:00
mabashian
947bdeed3e Fixed related host list linking 2017-10-25 16:59:44 -04:00
Mike McMahon
d3a7bec674 Backport (from awx) various memory optimizations for job cleanup
see: https://github.com/ansible/ansible-tower/issues/7751

0388568 Reduces the job to only looking at objects older than the cutoff date
0234311 missing colon and missing variable usage
399e0e5 switching to iterator and adding the missed Job cleanup
0cd34c1 jobs take count of gte cutoff, process only lt cutoff
2017-10-25 12:17:46 -04:00
Ryan Petrello
652facba9f Merge pull request #545 from ryanpetrello/fix-7746
work around an ansible bug that can cause project syncs to fail
2017-10-25 11:37:15 -04:00
mabashian
b1ef7506ea Make codemirror ready-only when auth form field is disabled 2017-10-25 11:30:26 -04:00
Ryan Petrello
c95d7d465a work around an ansible bug that can cause project syncs to fail
https://github.com/ansible/ansible-tower/issues/7746
https://github.com/ansible/ansible/issues/30064
2017-10-25 11:09:39 -04:00
Michael Abashian
70919638ba Merge pull request #541 from mabashian/7608-adhoc-launch-modal
Made adhoc launch modal height dynamic
2017-10-24 14:07:32 -04:00
Michael Abashian
6ea48cd73e Merge pull request #540 from mabashian/6370-delete-inv-src
Delete inv source hosts before inv source
2017-10-24 14:07:08 -04:00
Michael Abashian
63ca8e4134 Merge pull request #538 from mabashian/7707-host-filter-remove-tags-v2
Fixed removing host filter search term with encoded character
2017-10-24 14:06:37 -04:00
Aaron Tan
725cc469cf Merge pull request #544 from jangsutsr/fix-7747
[3.2.2]Include vault credential check in job relaunch
2017-10-24 12:14:01 -04:00
Aaron Tan
665a4d83e3 Include vault credential check in job relaunch
Relates #7747 of ansible-tower.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-24 11:00:13 -04:00
AlanCoding
018514d657 urlencode unquote host_filter on save 2017-10-24 08:05:08 -04:00
mabashian
71d428433f Made adhoc launch modal height dynamic 2017-10-23 12:09:25 -04:00
Michael Abashian
2f689fffbe Merge pull request #531 from mabashian/4796-workflow-resize-v2
Zoom workflow graph to fit screen on initial load
2017-10-23 10:47:14 -04:00
mabashian
3119d5ed22 Delete inv source hosts before inv source 2017-10-20 20:10:36 -04:00
Ryan Petrello
aab27e9b93 Merge pull request #539 from ryanpetrello/fix-7740
fix a unicode handling bug in inventory source name migration
2017-10-20 13:35:20 -04:00
Ryan Petrello
b60a30cbd4 fix a unicode handling bug in inventory source name migration
see: https://github.com/ansible/ansible-tower/issues/7740
2017-10-20 12:13:44 -04:00
Ryan Petrello
88acd95a72 Merge pull request #534 from ryanpetrello/release_3.2.2
store cloudforms inventory cache files in the proper location on disk
2017-10-20 09:41:05 -04:00
mabashian
c3fbb07535 Fixed removing host filter search term with encoded character 2017-10-19 19:31:41 -04:00
Michael Abashian
8d043e6f85 Merge pull request #532 from mabashian/7681-disassociate-help-popover
Disassociate host/group popover text
2017-10-19 11:12:28 -04:00
Michael Abashian
31602c4b28 Merge pull request #533 from mabashian/7720-adhoc-launch-error
Fixed error message when launching adhoc command
2017-10-19 11:11:44 -04:00
Ryan Petrello
57cd8adc2d Merge pull request #537 from ryanpetrello/ovirt4-auth-module
properly support authentication for ovirt4 ansible modules
2017-10-19 09:57:16 -04:00
Ryan Petrello
c1e20fe7a0 properly support authentication for ovirt4 ansible modules
see: https://github.com/ansible/ansible-tower/issues/6522
see: https://github.com/ansible/ansible-tower/issues/6522#issuecomment-337909863
2017-10-19 09:47:25 -04:00
Ryan Petrello
b1f5529aa4 Merge pull request #536 from ryanpetrello/fix-7741
properly follow symlinks for bwrap'd working directories
2017-10-19 08:58:16 -04:00
Alan Rominger
350699eda8 Merge pull request #504 from AlanCoding/fk_error_msg
[3.2.2] tweak of error message for ForeignKey filters
2017-10-18 19:06:12 -04:00
Ryan Petrello
10a7544d68 properly follow symlinks for bwrap'd working directories
see: https://github.com/ansible/ansible-tower/issues/7741
2017-10-18 17:03:10 -04:00
Jared Tabor
d3eea5e694 generalizing class which is ignored when trying to drag the host-event-modal
it was only applied to .CodeMirror, which is only used by the JSON tab
2017-10-18 10:55:53 -07:00
Marliana Lara
8fd9fea113 Merge pull request #530 from marshmalien/fix/7702-job-stdout-wordwrap
Fix job standard out word-wrap
2017-10-18 13:51:36 -04:00
Wayne Witzel III
470a4b7746 Merge pull request #535 from wwitzel3/release_3.2.2
use getattr in social auth django strategy
2017-10-18 11:02:11 -04:00
Wayne Witzel III
38c2ea7025 use getattr in social auth django strategy 2017-10-18 10:20:44 -04:00
Ryan Petrello
5895654538 store cloudforms inventory cache files in the proper location on disk
with process isolation enabled (which is the awx default), cloudforms
caches inventory script results on disk; awx should direct cloudforms to
store these cache files in a location that's exposed to the isolated
environment

see: ansible/ansible#31760
2017-10-17 17:07:21 -04:00
mabashian
b402d9ba6d Fixed error message when launching adhoc command 2017-10-17 14:42:24 -04:00
mabashian
5db478a4a0 Zoom workflow graph to fit screen on initial load 2017-10-17 12:59:44 -04:00
mabashian
059347eec3 Made disassociate host/group titles more descriptive 2017-10-17 10:23:17 -04:00
mabashian
e8dbfa42cf Fixed disassociate host from group help text 2017-10-17 10:10:34 -04:00
Michael Abashian
3d12e040ed Merge pull request #528 from mabashian/5129-jt-spinner-v2
Moved wait stop calls on jt form so that they fire right before reloading state
2017-10-16 16:20:02 -04:00
Michael Abashian
fceca3bcae Merge pull request #527 from mabashian/7697-smart-inventory-shortcut
Fixed smart inv button bug navigating to page 2 of hosts.
2017-10-16 16:19:40 -04:00
Marliana Lara
fcd03fb1c2 Fix job standard out error message word-wrap 2017-10-13 14:59:57 -04:00
mabashian
2cab6982c1 Moved wait stop calls on jt form so that they fire right before reloading state 2017-10-12 17:01:32 -04:00
mabashian
3ede367df4 Fixed smart inv button bug navigating to page 2 of hosts. Added tooltip when button is disabled. 2017-10-12 16:56:21 -04:00
Alan Rominger
f6bf0ad21f Merge pull request #521 from AlanCoding/update_isolated
[3.2.2] update isolated container requirements
2017-10-12 14:24:38 -04:00
Greg Considine
817b397d20 Merge pull request #524 from gconsidine/ui/fix/remove-unsupported-query-tokens
Remove unsupported tokens from search generated queries
2017-10-11 17:54:26 -04:00
jlmitch5
b61fdaf721 Merge pull request #526 from jlmitch5/hideWorkflowAndSurveyButtons
hide workflow and survey buttons from non-detail tabs
2017-10-11 11:35:35 -04:00
John Mitchell
1603106cb4 include workflow editor when showing buttons' 2017-10-11 10:58:38 -04:00
Aaron Tan
1454000b91 Merge pull request #522 from jangsutsr/ldap_docs
Add LDAP deploy instructions
2017-10-11 10:07:29 -04:00
Alan Rominger
b2e63d5e47 Merge pull request #510 from AlanCoding/event_accounting
add logger statement for number of events
2017-10-10 22:12:11 -04:00
Alan Rominger
e7ede6af4a Merge pull request #525 from AlanCoding/update_isolated_version
[3.2.2] update fallback isolated version to 3.2.2
2017-10-10 22:06:09 -04:00
Alan Rominger
5503d4efb4 Merge pull request #523 from AlanCoding/fix_isolated_capacity
[3.2.2] fix equation for isolated instance capacity
2017-10-10 22:04:03 -04:00
John Mitchell
54640dbca0 hide workflow and survey buttons from non-detail tabs
since the two are basically sub-states of the edit form (detail tab), they should only show up when that tab is selected
2017-10-10 17:08:04 -04:00
AlanCoding
eab82f3efa updated fallback isolated version to 3.2.2 2017-10-10 15:45:20 -04:00
gconsidine
9e3d90896b Remove unsupported tokens from search generated queries 2017-10-10 15:22:17 -04:00
AlanCoding
e66a1002ee fix equation for isolated instance capacity 2017-10-10 14:58:09 -04:00
Aaron Tan
82160e2072 Add LDAP deploy instructions
Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-10 14:54:53 -04:00
AlanCoding
e814f28039 add logger statement for number of events 2017-10-10 14:48:00 -04:00
AlanCoding
03e58523b2 tweak of error message for ForeignKey filters 2017-10-10 14:47:37 -04:00
AlanCoding
341ef411a4 update isolated container requirements 2017-10-10 14:46:41 -04:00
Aaron Tan
8d19555cf1 Merge pull request #519 from jangsutsr/fix-7726
Disable inventory var overwrite in inv import
2017-10-10 14:38:50 -04:00
Greg Considine
d23fd0515d Merge pull request #518 from gconsidine/ui/fix/credential-kind-list-display
Use credential_type to fetch associated types in list view
2017-10-10 14:38:50 -04:00
Aaron Tan
b9483c28b0 Disable inventory var overwrite in inv import
Relates #7726 of ansible-tower.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-10 14:38:50 -04:00
Alan Rominger
6f9fc0c3f8 Merge pull request #514 from AlanCoding/no_ordereddit
[3.2.2] prevent OrderedDict syntax in error message
2017-10-10 14:38:49 -04:00
gconsidine
766a088749 Use credential_type to fetch associated types in list view 2017-10-10 14:38:49 -04:00
Chris Church
2b539cab85 Merge pull request #511 from cchurch/ldap-filter-dash-support
[3.2.2] Support dash in LDAP attribute names in filters.
2017-10-10 14:38:49 -04:00
AlanCoding
2fb67a3648 prevent OrderedDict syntax in error message 2017-10-10 14:38:49 -04:00
Greg Considine
64c5e3994e Merge pull request #513 from gconsidine/ui/fix/lookup-component-empty-input
Set lookup value changed from something to nothing to be null
2017-10-10 14:38:49 -04:00
Alan Rominger
7b792926eb Merge pull request #509 from AlanCoding/max_ui_events
[3.2.2] add CTiT setting for max UI job events
2017-10-10 14:38:49 -04:00
Chris Church
c067788428 Support dash in LDAP attribute names in filters. 2017-10-10 14:38:49 -04:00
gconsidine
b7071a48c2 Set lookup value changed from something to nothing to be null 2017-10-10 14:38:49 -04:00
AlanCoding
dee4b72303 add CTiT setting for max UI job events 2017-10-10 14:38:49 -04:00
Alan Rominger
5994a77b84 Merge pull request #508 from AlanCoding/password_handholding
[3.2.2] reword error message about encrypted user input
2017-10-10 14:38:48 -04:00
Marliana Lara
f93506fe2c Merge pull request #491 from marshmalien/fix/7661-host-config-key-border
[3.2.2] Fix missing right border of lookup buttons
2017-10-10 14:38:48 -04:00
Alan Rominger
7c86e38b81 Merge pull request #506 from AlanCoding/active_job_period
[3.2.2] add period to active job conflict error
2017-10-10 14:38:48 -04:00
AlanCoding
1c374fba7d reword error message about encrypted user input 2017-10-10 14:38:48 -04:00
Marliana Lara
2cc9e2ca0b Fix hidden right border of form input lookup buttons 2017-10-10 14:38:48 -04:00
Alan Rominger
335dfd564a Merge pull request #505 from AlanCoding/v1_jt_vc_ct_sf
[3.2.2] Exclude credential type content from v1
2017-10-10 14:38:48 -04:00
AlanCoding
5380d57ce8 add period to active job conflict error
Rename StateConflict to ActiveJobConflict and used shared
message inside of that exception class.
2017-10-10 14:38:48 -04:00
AlanCoding
a01f80db5b Exclude credential type content from v1
credential_type_id was showing up in vault_credential
summary_fields in API v1
2017-10-10 14:38:48 -04:00
Aaron Tan
d7eba47adb Merge pull request #456 from jangsutsr/fix-7656
[3.2.2]Remove search term separators
2017-10-10 14:38:47 -04:00
Alan Rominger
5fffdec69d Merge pull request #490 from AlanCoding/many_deleter_320
[3.2.2] Delete all hosts or groups from inventory source
2017-10-10 14:38:47 -04:00
Aaron Tan
358ef76529 Remove search term separators
Relates #7656 in ansible-tower.

We have been using comma `,` and space ` ` to separate search terms in
query string `<field_name>__search=<search terms>`, however in general
we can always use `&` to achieve separation like
`<field_name>__search=<search term 1>&<field_name>__search=<search term
2>&...`. Using specific delimiters makes it impossible for search terms
to contain those delimiters, so they are better off being removed.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-10 14:38:47 -04:00
Aaron Tan
bb628c52ad Merge pull request #487 from jangsutsr/fix-7586
[3.2.2]Fix SAML auth behind load balancer issue.
2017-10-10 14:38:47 -04:00
AlanCoding
d2e0b26287 allow deleting hosts and groups from inv src sublists 2017-10-10 14:38:47 -04:00
Ryan Petrello
f2d46baf09 Merge pull request #496 from ryanpetrello/fix-6683
fix a bug when Tower is integrated with ipsilon SAML server
2017-10-10 14:38:47 -04:00
Ryan Petrello
c6fdadd7f2 Merge pull request #497 from ryanpetrello/fix-7259
properly sanitize encrypted default passwords in JT.survey_spec
2017-10-10 14:38:47 -04:00
Aaron Tan
cc8b115c6a Fix SAML auth behind load balancer issue.
Relates to #7586 of ansible-tower as a follow-up of fix #420 of tower.

The original fix works for Django version 1.9 and above, this PR
expanded the solution to Django verison 1.8 and below.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-10 14:38:47 -04:00
Ryan Petrello
82d05e0a10 properly sanitize encrypted default passwords in JT.survey_spec
see: https://github.com/ansible/ansible-tower/issues/7259
2017-10-10 14:38:47 -04:00
Ryan Petrello
9978b3f9ad Merge pull request #489 from ryanpetrello/release_3.2.2
fix busted 3.2.2 activity stream migration
2017-10-10 14:38:46 -04:00
Alan Rominger
4f4af058b3 Merge pull request #480 from AlanCoding/committed_cap
[3.2.2] add IG committed capacity to serializer
2017-10-10 14:38:46 -04:00
Ryan Petrello
b372cebf8d fix a bug when Tower is integrated with ipsilon SAML server
https://github.com/ansible/ansible-tower/issues/6683
2017-10-10 14:38:46 -04:00
Alan Rominger
3df8e2beb1 Merge pull request #494 from AlanCoding/wfjt_perm_fix2
[3.2.2] fix bug checking WFJT node for prompted resources
2017-10-10 14:38:46 -04:00
AlanCoding
c45fbcf2ee add IG committed capacity to serializer 2017-10-10 14:38:46 -04:00
Ryan Petrello
5efa50788f Merge pull request #481 from ryanpetrello/fix-7046
[3.2.2] encrypt job survey data
2017-10-10 14:38:46 -04:00
AlanCoding
3abbe87e10 fix bug checking WFJT node for prompted resources 2017-10-10 14:38:46 -04:00
Ryan Petrello
f26bdb3e96 migrate existing survey passwords to be encrypted
see: https://github.com/ansible/ansible-tower/issues/7046
2017-10-10 14:38:46 -04:00
Ryan Petrello
4be4e3db7f encrypt job survey data
see: https://github.com/ansible/ansible-tower/issues/7046
2017-10-10 14:38:46 -04:00
Alan Rominger
4ea92f0dcb Merge pull request #306 from AlanCoding/new_perf_logging
[3.2.2] new method of performance logging
2017-10-10 14:38:45 -04:00
Ryan Petrello
a0cfbb93e9 fix busted 3.2.2 activity stream migration
see: ansible/ansible-tower#7704
2017-10-10 14:38:45 -04:00
Aaron Tan
08a784d50c Merge pull request #474 from jangsutsr/fix-7386
Include Tower configurations into activity stream
2017-10-10 14:38:45 -04:00
AlanCoding
9ee18d02c8 new method of performance logging 2017-10-10 14:38:45 -04:00
Ryan Petrello
4fd190e4c8 Merge pull request #468 from ryanpetrello/smarter-credtype-migrations
[3.2.2] add new credential types in a more stable way in migrations
2017-10-10 14:38:45 -04:00
Aaron Tan
a11e33458f Include Tower configurations into activity stream
Relates #7386 of ansible-tower.

Due to the uniqueness of Tower configuration datastore model, it is not
fully compatible with activity stream workflow. This PR introduced
setting field for activitystream model along with other changes to make
Tower configuration a special case for activity streams.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-10 14:38:45 -04:00
Aaron Tan
84fdfbb898 Merge pull request #469 from jangsutsr/fix-7684
[3.2.2] Prevent slugify username from social sso backends
2017-10-10 14:38:45 -04:00
Ryan Petrello
f4a252a331 add new credential types in a more stable way in migrations
instead of writing individual migrations for new built-in credential
types, this change makes the "setup_tower_managed_defaults" function
idempotent so that it only adds the credential types you're missing
2017-10-10 14:38:45 -04:00
Ryan Petrello
d4fe60756b Merge pull request #466 from ryanpetrello/ovirt4-inv-source
don't install pycurl from pypi; use a system package instead
2017-10-10 14:38:45 -04:00
Aaron Tan
f4ab979b59 Prevent slugify username from social sso backends
Relates #7684 of ansible-tower.

Slugify username in python-social-auth means disallowing
any non-alphanumerial characters, which is an over-kill
for awx/tower, thus disabling it.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2017-10-10 14:38:45 -04:00
Ryan Petrello
3d3d79b6b3 Merge pull request #464 from ryanpetrello/ovirt4-inv-source
add ovirt sdk dependency for ovirt4 support
2017-10-10 14:38:44 -04:00
Ryan Petrello
e06d4d7734 don't install pycurl from pypi; use a system package instead
the ovirt4 sdk relies on pycurl, which is complicated to install w/ pip;
rely on pycurl to be provided by a system package instead
2017-10-10 14:38:44 -04:00
Ryan Petrello
ab18a4a440 Merge pull request #454 from ryanpetrello/ovirt4-inv-source
support ovirt4 as a built-in inventory source
2017-10-10 14:38:44 -04:00
Ryan Petrello
7438062b97 add ovirt sdk dependency for ovirt4 support 2017-10-10 14:38:44 -04:00
Ryan Petrello
4510cd11db Merge pull request #452 from ryanpetrello/fix-7609
disable GCE inventory caching w/ a .ini file
2017-10-10 14:38:44 -04:00
Ryan Petrello
74f2509482 support ovirt4 as a built-in inventory source
see: https://github.com/ansible/ansible-tower/issues/6522
2017-10-10 14:38:44 -04:00
Ryan Petrello
f84e42ed15 Merge pull request #451 from ryanpetrello/fix-7609
disable GCE inventory source cache
2017-10-10 14:38:44 -04:00
Ryan Petrello
94b4dabee2 disable GCE inventory caching w/ a .ini file
see: https://github.com/ansible/ansible-tower/issues/7609
see: https://github.com/ansible/tower/pull/451#pullrequestreview-64454393
2017-10-10 14:38:44 -04:00
Ryan Petrello
94d44e8791 disable GCE inventory source cache
by default, the GCE inventory script caches results on disk for
5 minutes; disable this behavior

see: https://github.com/ansible/ansible-tower/issues/7609
2017-10-10 14:38:44 -04:00
Ryan Petrello
d24166bd68 Merge pull request #442 from ryanpetrello/fix-7554
properly encode LDAP DN values on validation
2017-10-10 14:38:43 -04:00
Ryan Petrello
62f82e7a7e Merge pull request #441 from ryanpetrello/fix-7607
allow the credential type to be changed for unused credentials
2017-10-10 14:38:43 -04:00
Ryan Petrello
7a21a45781 properly encode LDAP DN values on validation
see: https://github.com/ansible/ansible-tower/issues/7554
2017-10-10 14:38:43 -04:00
Ryan Petrello
91ec0a4482 Merge pull request #430 from ryanpetrello/fix-7620
don't show polymorphic_ctype in unique validation error messaging
2017-10-10 14:38:43 -04:00
Ryan Petrello
c8f4320b58 allow the credential type to be changed for unused credentials
see: https://github.com/ansible/ansible-tower/issues/7607
2017-10-10 14:38:43 -04:00
Ryan Petrello
71a725c5f8 Merge pull request #432 from ryanpetrello/fix-7513
add awx meta variables to adhoc command extra_vars
2017-10-10 14:38:43 -04:00
Ryan Petrello
96572fe3d4 don't show polymorphic_ctype in unique validation error messaging
see: https://github.com/ansible/ansible-tower/issues/7620
2017-10-10 14:38:43 -04:00
Ryan Petrello
554a9586c6 add awx meta variables to adhoc command extra_vars
see: https://github.com/ansible/ansible-tower/issues/7513
2017-10-10 14:38:37 -04:00
Ryan Petrello
f41c8cf4f2 Merge pull request #426 from ryanpetrello/fix-7655
don't append to the activity stream on LDAP group disassociate
2017-10-10 14:38:18 -04:00
Ryan Petrello
f2f42c2c8a don't append to the activity stream on LDAP group disassociate
for organizations w/ a large number of ldap orgs/teams, this results in
a _huge_ number of extraneous activity stream entries

see: https://github.com/ansible/ansible-tower/issues/7655
2017-10-10 14:38:18 -04:00
1630 changed files with 112952 additions and 125872 deletions

4
.github/BOTMETA.yml vendored
View File

@@ -12,5 +12,5 @@ files:
labels: component:installer
macros:
team_api: wwitzel3 matburt chrismeyersfsu cchurch AlanCoding ryanpetrello jangstur
team_ui: jlmitch5 jaredevantabor mabashian gconsidine marshmalien benthomasson
team_api: wwitzel3 matburt chrismeyersfsu cchurch AlanCoding ryanpetrello rooftopcellist
team_ui: jlmitch5 jaredevantabor mabashian marshmalien benthomasson jakemcdermott

3
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@@ -0,0 +1,3 @@
# Community Code of Conduct
Please see the official [Ansible Community Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html).

View File

@@ -1,3 +1,11 @@
<!---
The Ansible community is highly committed to the security of our open source
projects. Security concerns should be reported directly by email to
security@ansible.com. For more information on the Ansible community's
practices regarding responsible disclosure, see
https://www.ansible.com/security
-->
##### ISSUE TYPE
<!--- Pick one below and delete the rest: -->
- Bug Report

41
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,41 @@
---
name: "\U0001F41B Bug report"
about: Create a report to help us improve
---
##### ISSUE TYPE
- Bug Report
##### COMPONENT NAME
<!-- Pick the area of AWX for this issue, you can have multiple, delete the rest: -->
- API
- UI
- Installer
##### SUMMARY
<!-- Briefly describe the problem. -->
##### 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. -->

View File

@@ -0,0 +1,22 @@
---
name: "✨ Feature request"
about: Suggest an idea for this project
---
##### ISSUE TYPE
- Feature Idea
##### COMPONENT NAME
<!-- Pick the area of AWX for this issue, you can have multiple, delete the rest: -->
- API
- UI
- Installer
##### SUMMARY
<!-- Briefly describe the problem or desired enhancement. -->
##### ADDITIONAL INFORMATION
<!-- Include any links to sosreport, database dumps, screenshots or other
information. -->

View File

@@ -0,0 +1,9 @@
---
name: "\U0001F525 Security bug report"
about: How to report security vulnerabilities
---
For all security related bugs, email security@ansible.com instead of using this issue tracker and you will receive a prompt response.
For more information on the Ansible community's practices regarding responsible disclosure, see https://www.ansible.com/security

10
.gitignore vendored
View File

@@ -1,3 +1,8 @@
# Ignore generated schema
swagger.json
schema.json
reference-schema.json
# Tags
.tags
.tags1
@@ -22,6 +27,8 @@ awx/ui/build_test
awx/ui/client/languages
awx/ui/templates/ui/index.html
awx/ui/templates/ui/installing.html
/tower-license
/tower-license/**
# Tower setup playbook testing
setup/test/roles/postgresql
@@ -50,6 +57,7 @@ __pycache__
**/node_modules/**
/tmp
**/npm-debug.log*
**/package-lock.json
# UI build flag files
awx/ui/.deps_built
@@ -65,6 +73,7 @@ pep8.txt
scratch
testem.log
awx/awx_test.sqlite3-journal
.pytest_cache/
# Mac OS X
*.DS_Store
@@ -109,7 +118,6 @@ local/
*.mo
requirements/vendor
.i18n_built
VERSION
.idea/*
# AWX python libs populated by requirements.txt

View File

@@ -1,31 +0,0 @@
sudo: false
language: python
python:
- '2.7'
env:
- TOXENV=api-lint
- TOXENV=api
- TOXENV=ui-lint
- TOXENV=ui
install:
- pip install tox
script:
- tox
# after_success:
# - TOXENV=coveralls tox
addons:
apt:
packages:
- swig
- libxmlsec1-dev
- postgresql-9.5
- libssl-dev
cache:
pip: true
directories:
- node_modules
- .tox
services:
- mongodb
# Enable when we stop using sqlite for API tests
# - postgresql

View File

@@ -2,28 +2,29 @@
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.freenode.net, 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-before-contributing-code)
* [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)
* [Building the environment](#building-the-environment)
* [Clone the AWX repo](#clone-the-awx-repo)
* [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)
* [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-the-shell)
* [Create a superuser](#create-a-superuser)
* [Load the data](#load-the-data)
* [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)
@@ -33,10 +34,11 @@ Have questions about this document or anything not covered here? Come chat with
## Things to know prior to submitting code
- All code submissions are done through pull requests against the `devel` branch.
- 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).
- 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.
- 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)
## Setting up your development environment
@@ -48,7 +50,7 @@ The AWX development environment workflow and toolchain is based on Docker, and t
Prior to starting the development services, you'll need `docker` and `docker-compose`. On Linux, you can generally find these in your distro's packaging, but you may find that Docker themselves maintain a separate repo that tracks more closely to the latest releases.
For macOS and Windows, we recommend [Docker for Mac](https://www.docker.com/docker-mac) and [Docker for Windows](https://www.docker.com/docker-windows)
For macOS and Windows, we recommend [Docker for Mac](https://www.docker.com/docker-mac) and [Docker for Windows](https://www.docker.com/docker-windows)
respectively.
For Linux platforms, refer to the following from Docker:
@@ -57,7 +59,7 @@ For Linux platforms, refer to the following from Docker:
> https://docs.docker.com/engine/installation/linux/docker-ce/fedora/
**Centos**
**CentOS**
> https://docs.docker.com/engine/installation/linux/docker-ce/centos/
@@ -85,8 +87,8 @@ If you're not using Docker for Mac, or Docker for Windows, you may need, or choo
The AWX UI requires the following:
- Node 6.x LTS version
- NPM 3.x LTS
- Node 8.x LTS
- NPM 6.x LTS
### Build the environment
@@ -136,21 +138,21 @@ Run the following to build the AWX UI:
```
### Running the environment
#### Start the containers
#### 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, celery, and the front end build process.
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
(host)$ docker ps
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
@@ -173,7 +175,7 @@ The first time you start the environment, database migrations need to run in ord
```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, djcelery, sites, kombu_transport_django, social_auth, contenttypes, auth, conf, main
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...
@@ -217,8 +219,8 @@ If you want to start and use the development environment, you'll first need to b
(container)# /bootstrap_development.sh
```
The above will do all the setup tasks, including running database migrations, so it amy take a couple minutes.
The above will do all the setup tasks, including running database migrations, so it may take a couple minutes.
Now you can start each service individually, or start all services in a pre-configured tmux session like so:
```bash
@@ -247,9 +249,9 @@ Before you can log into AWX, you need to create an admin user. With this user yo
(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
@@ -261,7 +263,21 @@ You can optionally load some demo data. This will create a demo project, invento
> 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.
### Accessing the AWX web interface
##### Building API Documentation
AWX includes support for building [Swagger/OpenAPI
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
this data into more consumable formats (such as HTML). http://editor.swagger.io
is an example of one such service.
### Accessing the AWX web interface
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/).
@@ -274,14 +290,14 @@ When necessary, remove any AWX containers and images by running the following:
```bash
(host)$ make docker-clean
```
## What should I work on?
For feature work, take a look at the current [Enhancements](https://github.com/ansible/awx/issues?q=is%3Aissue+is%3Aopen+label%3Atype%3Aenhancement).
If it has someone assigned to it then that person is the person responsible for working the enhancement. If you feel like you could contribute then reach out to that person.
Fixing bugs, adding translations, and updating the documentation are always appreciated, so reviewing the backlog of issues is always a good place to start.
Fixing bugs, adding translations, and updating the documentation are always appreciated, so reviewing the backlog of issues is always a good place to start. For extra information on debugging tools, see [Debugging](https://github.com/ansible/awx/blob/devel/docs/debugging.md).
**NOTE**
@@ -293,7 +309,7 @@ Fixing bugs, adding translations, and updating the documentation are always appr
## Submitting Pull Requests
Fixes and Features for AWX will go through the Github pull request process. Submit your pull request (PR) agains the `devel` branch.
Fixes and Features for AWX will go through the Github pull request process. Submit your pull request (PR) against the `devel` branch.
Here are a few things you can do to help the visibility of your change, and increase the likelihood that it will be accepted:
@@ -312,9 +328,26 @@ It's generally a good idea to discuss features with us first by engaging us in t
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`.
Sometimes it might take us a while to fully review your PR. We try to keep the `devel` branch in good working order, and so we review requests carefuly. Please be patient.
Sometimes it might take us a while to fully review your PR. We try to keep the `devel` branch in good working order, and so we review requests carefully. Please be patient.
All submitted PRs will have the linter and unit tests run against them, and the status reported in the PR.
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
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`
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.
## Reporting Issues

97
DATA_MIGRATION.md Normal file
View File

@@ -0,0 +1,97 @@
# Migrating Data Between AWX Installations
## Introduction
Upgrades using Django migrations are not expected to work in AWX. As a result, to upgrade to a new version, it is necessary to export resources from the old AWX node and import them into a freshly-installed node with the new version. The recommended way to do this is to use the tower-cli send/receive feature.
This tool does __not__ support export/import of the following:
* Logs/history
* Credential passwords
* LDAP/AWX config
### Install & Configure Tower-CLI
In terminal, pip install tower-cli (if you do not have pip already, install [here](https://pip.pypa.io/en/stable/installing/)):
```
$ pip install --upgrade ansible-tower-cli
```
The AWX host URL, user, and password must be set for the AWX instance to be exported:
```
$ tower-cli config host <old-awx-host.example.com>
$ tower-cli config username <user>
$ tower-cli config password <pass>
```
For more information on installing tower-cli look [here](http://tower-cli.readthedocs.io/en/latest/quickstart.html).
### Export Resources
Export all objects
```$ tower-cli receive --all > assets.json```
### Teardown Old AWX
Clean up remnants of the old AWX install:
```docker rm -f $(docker ps -aq)``` # remove all old awx containers
```make clean-ui``` # clean up ui artifacts
### Install New AWX version
If you are installing AWX as a dev container, pull down the latest code or version you want from GitHub, build
the image locally, then start the container
```
git pull # retrieve latest AWX changes from repository
make docker-compose-build # build AWX image
make docker-compose # run container
```
For other install methods, refer to the [Install.md](https://github.com/ansible/awx/blob/devel/INSTALL.md).
### Import Resources
Configure tower-cli for your new AWX host as shown earlier. Import from a JSON file named assets.json
```
$ tower-cli config host <new-awx-host.example.com>
$ tower-cli config username <user>
$ tower-cli config password <pass>
$ tower-cli send assets.json
```
--------------------------------------------------------------------------------
## Additional Info
If you have two running AWX hosts, it is possible to copy all assets from one instance to another
```$ tower-cli receive --tower-host old-awx-host.example.com --all | tower-cli send --tower-host new-awx-host.example.com```
#### More Granular Exports:
Export all credentials
```$ tower-cli receive --credential all > credentials.json```
> Note: This exports the credentials with blank strings for passwords and secrets
Export a credential named "My Credential"
```$ tower-cli receive --credential "My Credential"```
#### More Granular Imports:
You could import anything except an organization defined in a JSON file named assets.json
```$ tower-cli send --prevent organization assets.json```

View File

@@ -13,24 +13,31 @@ This document provides a guide for installing AWX.
- [Choose a deployment platform](#choose-a-deployment-platform)
- [Official vs Building Images](#official-vs-building-images)
- [OpenShift](#openshift)
- [Prerequisites](#prerequisites)
- [Prerequisites](#prerequisites-1)
- [Deploying to Minishift](#deploying-to-minishift)
- [Pre-build steps](#pre-build-steps)
- [PostgreSQL](#postgresql)
- [Start the build](#start-the-build)
- [Post build](#post-build)
- [Accessing AWX](#accessing-awx)
- [Docker](#docker)
- [Kubernetes](#kubernetes)
- [Prerequisites](#prerequisites-2)
- [Pre-build steps](#pre-build-steps-1)
- [Configuring Helm](#configuring-helm)
- [Start the build](#start-the-build-1)
- [Accessing AWX](#accessing-awx-1)
- [SSL Termination](#ssl-termination)
- [Docker or Docker Compose](#docker-or-docker-compose)
- [Prerequisites](#prerequisites-3)
- [Pre-build steps](#pre-build-steps-2)
- [Deploying to a remote host](#deploying-to-a-remote-host)
- [Inventory variables](#inventory-variables)
- [Docker registry](#docker-registry)
- [PostgreSQL](#postgresql-1)
- [Proxy settings](#proxy-settings)
- [Start the build](#start-the-build-1)
- [Start the build](#start-the-build-2)
- [Post build](#post-build-1)
- [Accessing AWX](#accessing-awx-1)
- [Accessing AWX](#accessing-awx-2)
## Getting started
@@ -54,7 +61,9 @@ Before you can run a deployment, you'll need the following installed in your loc
- [Docker](https://docs.docker.com/engine/installation/)
- [docker-py](https://github.com/docker/docker-py) Python module
- [GNU Make](https://www.gnu.org/software/make/)
- [Git](https://git-scm.com/)
- [Git](https://git-scm.com/) Requires Version 1.8.4+
- [Node 8.x LTS version](https://nodejs.org/en/download/)
- [NPM 6.x LTS](https://docs.npmjs.com/)
### System Requirements
@@ -63,7 +72,8 @@ The system that runs the AWX service will need to satisfy the following requirem
- At leasts 4GB of memory
- At least 2 cpu cores
- At least 20GB of space
- Running Docker or Openshift
- Running Docker, Openshift, or Kubernetes
- If you choose to use an external PostgreSQL database, please note that the minimum version is 9.4.
### AWX Tunables
@@ -71,11 +81,14 @@ The system that runs the AWX service will need to satisfy the following requirem
### Choose a deployment platform
We currently support running AWX as a containerized application using Docker images deployed to either an OpenShift cluster, or a standalone Docker daemon. The remainder of this document will walk you through the process of building the images, and deploying them to either platform.
We currently support running AWX as a containerized application using Docker images deployed to either an OpenShift cluster, docker-compose or a standalone Docker daemon. The remainder of this document will walk you through the process of building the images, and deploying them to either platform.
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. To deploy to Docker, view the [Docker section](#docker), and for OpenShift, view the [OpenShift section](#openshift).
In the sections below, you'll find deployment details and instructions for each platform:
- [OpenShift](#openshift)
- [Kubernetes](#kubernetes)
- [Docker or Docker Compose](#docker-or-docker-compose).
### Official vs Building Images
@@ -106,10 +119,62 @@ To complete a deployment to OpenShift, you will obviously need access to an Open
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-build steps
Before starting the build process, review the [inventory](./installer/inventory) file, and uncomment and provide values for the following variables found in the `[all:vars]` section:
*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
@@ -121,43 +186,9 @@ $ eval $(minishift docker-env)
> 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.
### Pre-build steps
Before starting the build process, review the [inventory](./installer/inventory) file, and uncomment and provide values for the following variables found in the `[all:vars]` section:
*openshift_host*
> IP address or hostname of the OpenShift cluster. If you're using Minishift, this will be the value returned by `minishift ip`.
*awx_openshift_project*
> Name of the OpenShift project that will be created, and used as the namespace for the AWX app. Defaults to *awx*.
*awx_node_port*
> The web server port running inside the AWX pod. Defaults to *30083*.
*openshift_user*
> Username of the OpenShift user that will create the project, and deploy the application. Defaults to *developer*.
*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.
n
*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.
#### PostgreSQL
AWX requires access to a PostgreSQL database, and by default, one will be created and deployed in a pod. The database is configured for persistence and will create a persistent volume claim named `postgresql`. By default it will claim 5GB from the available persistent volume pool. This can be tuned by setting a variable in the inventory file or on the command line during the `ansible-playbook` run.
ansible-playbook ... -e pg_volume_capacity=n
By default, AWX will deploy a PostgreSQL pod inside of your cluster. You will need to create a [Persistent Volume Claim](https://docs.openshift.org/latest/dev_guide/persistent_volumes.html) which is named `postgresql` by default, and can be overridden by setting the `openshift_pg_pvc_name` variable. For testing and demo purposes, you may set `openshift_pg_emptydir=yes`.
If you wish to use an external database, in the inventory file, set the value of `pg_hostname`, and update `pg_username`, `pg_password`, `pg_database`, and `pg_port` with the connection information. When setting `pg_hostname` the installer will assume you have configured the database in that location and will not launch the postgresql pod.
@@ -205,7 +236,7 @@ Using /etc/ansible/ansible.cfg as config file
}
Operations to perform:
Synchronize unmigrated apps: solo, api, staticfiles, messages, channels, django_extensions, ui, rest_framework, polymorphic
Apply all migrations: sso, taggit, sessions, djcelery, sites, kombu_transport_django, social_auth, contenttypes, auth, conf, main
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...
@@ -271,22 +302,109 @@ The above example is taken from a Minishift instance. From a web browser, use `h
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`.
## Docker
## Kubernetes
### Prerequisites
You will need the following installed on the host where AWX will be deployed:
A Kubernetes deployment will require you to have access to a Kubernetes cluster as well as the following tools:
- [Docker](https://docs.docker.com/engine/installation/)
- [docker-py](https://github.com/docker/docker-py) Python module
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
- [helm](https://docs.helm.sh/using_helm/#quickstart-guide)
Note: After installing Docker, the Docker service must be started.
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-build steps
Before starting the build process, review the [inventory](./installer/inventory) file, and uncomment and provide values for the following variables found in the `[all:vars]` section uncommenting when necessary. Make sure the openshift and standalone docker sections are commented out:
*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)
### Start the build
After making changes to the `inventory` file use `ansible-playbook` to begin the install
```bash
$ ansible-playbook -i inventory install.yml
```
### Post build
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 or Docker-Compose
### Prerequisites
- [Docker](https://docs.docker.com/engine/installation/) on the host where AWX will be deployed. After installing Docker, the Docker service must be started (depending on your OS, you may have to add the local user that uses Docker to the ``docker`` group, refer to the documentation for details)
- [docker-py](https://github.com/docker/docker-py) Python module.
If you're installing using Docker Compose, you'll need [Docker Compose](https://docs.docker.com/compose/install/).
### Pre-build 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.
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:
@@ -308,7 +426,7 @@ If you choose to use the official images then the remote host will be the one to
> As mentioned above, in [Prerequisites](#prerequisites-1), the prerequisites are required on the remote host.
> When deploying to a remote host, the playook 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.
> 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
@@ -323,6 +441,17 @@ Before starting the build process, review the [inventory](./installer/inventory)
> Provide a port number that can be mapped from the Docker daemon host to the web server running inside the AWX container. Defaults to *80*.
*use_docker_compose*
> Switch to ``true`` to use Docker Compose instead of the standalone Docker install.
*docker_compose_dir*
When using docker-compose, the `docker-compose.yml` file will be created there (default `/var/lib/awx`).
*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
@@ -404,6 +533,8 @@ e240ed8209cd awx_task:1.0.0.8 "/tini -- /bin/sh ..." 2 minutes ago
97e196120ab3 postgres:9.6 "docker-entrypoint..." 2 minutes ago Up 2 minutes 5432/tcp postgres
```
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
@@ -421,7 +552,7 @@ Using /etc/ansible/ansible.cfg as config file
}
Operations to perform:
Synchronize unmigrated apps: solo, api, staticfiles, messages, channels, django_extensions, ui, rest_framework, polymorphic
Apply all migrations: sso, taggit, sessions, djcelery, sites, kombu_transport_django, social_auth, contenttypes, auth, conf, main
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...
@@ -466,3 +597,14 @@ Added instance awx to tower
The AWX web server is accessible on the deployment host, using the *host_port* value set in the *inventory* file. The default URL is [http://localhost](http://localhost).
You will prompted with a login dialog. The default administrator username is `admin`, and the password is `password`.
### Maintenance using docker-compose
After the installation, maintenance operations with docker-compose can be done by using the `docker-compose.yml` file created at the location pointed by `docker_compose_dir`.
Among the possible operations, you may:
- Stop AWX : `docker-compose stop`
- Upgrade AWX : `docker-compose pull && docker-compose up --force-recreate`
See the [docker-compose documentation](https://docs.docker.com/compose/) for details.

141
Makefile
View File

@@ -11,11 +11,7 @@ GIT_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
MANAGEMENT_COMMAND ?= awx-manage
IMAGE_REPOSITORY_AUTH ?=
IMAGE_REPOSITORY_BASE ?= https://gcr.io
VERSION=$(shell git describe --long)
VERSION3=$(shell git describe --long | sed 's/\-g.*//')
VERSION3DOT=$(shell git describe --long | sed 's/\-g.*//' | sed 's/\-/\./')
RELEASE_VERSION=$(shell git describe --long | sed 's@\([0-9.]\{1,\}\).*@\1@')
VERSION := $(shell cat VERSION)
# NOTE: This defaults the container image version to the branch that's active
COMPOSE_TAG ?= $(GIT_BRANCH)
@@ -23,7 +19,7 @@ COMPOSE_HOST ?= $(shell hostname)
VENV_BASE ?= /venv
SCL_PREFIX ?=
CELERY_SCHEDULE_FILE ?= /celerybeat-schedule
CELERY_SCHEDULE_FILE ?= /var/lib/awx/beat.db
DEV_DOCKER_TAG_BASE ?= gcr.io/ansible-tower-engineering
# Python packages to install only from source (not from binary wheels)
@@ -46,20 +42,9 @@ DATE := $(shell date -u +%Y%m%d%H%M)
NAME ?= awx
GIT_REMOTE_URL = $(shell git config --get remote.origin.url)
ifeq ($(OFFICIAL),yes)
VERSION_TARGET ?= $(RELEASE_VERSION)
else
VERSION_TARGET ?= $(VERSION3DOT)
endif
# TAR build parameters
ifeq ($(OFFICIAL),yes)
SDIST_TAR_NAME=$(NAME)-$(RELEASE_VERSION)
WHEEL_NAME=$(NAME)-$(RELEASE_VERSION)
else
SDIST_TAR_NAME=$(NAME)-$(VERSION3DOT)
WHEEL_NAME=$(NAME)-$(VERSION3DOT)
endif
SDIST_TAR_NAME=$(NAME)-$(VERSION)
WHEEL_NAME=$(NAME)-$(VERSION)
SDIST_COMMAND ?= sdist
WHEEL_COMMAND ?= bdist_wheel
@@ -72,8 +57,8 @@ UI_RELEASE_FLAG_FILE = awx/ui/.release_built
I18N_FLAG_FILE = .i18n_built
.PHONY: clean clean-tmp clean-venv requirements requirements_dev \
develop refresh adduser migrate dbchange dbshell runserver celeryd \
.PHONY: awx-link clean clean-tmp clean-venv requirements requirements_dev \
develop refresh adduser migrate dbchange dbshell runserver \
receiver test test_unit test_ansible test_coverage coverage_html \
dev_build release_build release_clean sdist \
ui-docker-machine ui-docker ui-release ui-devel \
@@ -99,6 +84,11 @@ clean-venv:
clean-dist:
rm -rf dist
clean-schema:
rm -rf swagger.json
rm -rf schema.json
rm -rf reference-schema.json
# Remove temporary build files, compiled Python files.
clean: clean-ui clean-dist
rm -rf awx/public
@@ -110,7 +100,6 @@ clean: clean-ui clean-dist
rm -rf requirements/vendor
rm -rf tmp
rm -rf $(I18N_FLAG_FILE)
rm -f VERSION
mkdir tmp
rm -rf build $(NAME)-$(VERSION) *.egg-info
find . -type f -regex ".*\.py[co]$$" -delete
@@ -180,11 +169,10 @@ requirements_awx: virtualenv_awx
else \
cat requirements/requirements.txt requirements/requirements_git.txt | $(VENV_BASE)/awx/bin/pip install $(PIP_OPTIONS) --no-binary $(SRC_ONLY_PKGS) --ignore-installed -r /dev/stdin ; \
fi
$(VENV_BASE)/awx/bin/pip uninstall --yes -r requirements/requirements_tower_uninstall.txt
#$(VENV_BASE)/awx/bin/pip uninstall --yes -r requirements/requirements_tower_uninstall.txt
requirements_awx_dev:
$(VENV_BASE)/awx/bin/pip install -r requirements/requirements_dev.txt
$(VENV_BASE)/awx/bin/pip uninstall --yes -r requirements/requirements_dev_uninstall.txt
requirements: requirements_ansible requirements_awx
@@ -216,13 +204,11 @@ init:
. $(VENV_BASE)/awx/bin/activate; \
fi; \
$(MANAGEMENT_COMMAND) provision_instance --hostname=$(COMPOSE_HOST); \
$(MANAGEMENT_COMMAND) register_queue --queuename=tower --hostnames=$(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 | ssh -o "StrictHostKeyChecking no" root@isolated 'cat > /root/.ssh/authorized_keys'; \
elif [ "$(AWX_GROUP_QUEUES)" != "tower" ]; then \
$(MANAGEMENT_COMMAND) register_queue --queuename=$(firstword $(subst $(comma), ,$(AWX_GROUP_QUEUES))) --hostnames=$(COMPOSE_HOST); \
$(MANAGEMENT_COMMAND) generate_isolated_key > /awx_devel/awx/main/expect/authorized_keys; \
fi;
# Refresh development environment after pulling new code.
@@ -237,7 +223,7 @@ migrate:
if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
$(MANAGEMENT_COMMAND) migrate --noinput --fake-initial
$(MANAGEMENT_COMMAND) migrate --noinput
# Run after making changes to the models to create a new migration.
dbchange:
@@ -251,7 +237,7 @@ server_noattach:
tmux new-session -d -s awx 'exec make uwsgi'
tmux rename-window 'AWX'
tmux select-window -t awx:0
tmux split-window -v 'exec make celeryd'
tmux split-window -v 'exec make dispatcher'
tmux new-window 'exec make daphne'
tmux select-window -t awx:1
tmux rename-window 'WebSockets'
@@ -276,19 +262,13 @@ supervisor:
supervisord --configuration /supervisor.conf --pidfile=/tmp/supervisor_pid
# Alternate approach to tmux to run all development tasks specified in
# Procfile. https://youtu.be/OPMgaibszjk
# Procfile.
honcho:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
honcho start -f tools/docker-compose/Procfile
flower:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
celery flower --address=0.0.0.0 --port=5555 --broker=amqp://guest:guest@$(RABBITMQ_HOST):5672//
collectstatic:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
@@ -299,7 +279,7 @@ uwsgi: collectstatic
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
uwsgi -b 32768 --socket 127.0.0.1:8050 --module=awx.wsgi:application --home=/venv/awx --chdir=/awx_devel/ --vacuum --processes=5 --harakiri=120 --master --no-orphans --py-autoreload 1 --max-requests=1000 --stats /tmp/stats.socket --master-fifo=/awxfifo --lazy-apps --logformat "%(addr) %(method) %(uri) - %(proto) %(status)"
uwsgi -b 32768 --socket 127.0.0.1:8050 --module=awx.wsgi:application --home=/venv/awx --chdir=/awx_devel/ --vacuum --processes=5 --harakiri=120 --master --no-orphans --py-autoreload 1 --max-requests=1000 --stats /tmp/stats.socket --lazy-apps --logformat "%(addr) %(method) %(uri) - %(proto) %(status)" --hook-accepting1-once="exec:awx-manage run_dispatcher --reload"
daphne:
@if [ "$(VENV_BASE)" ]; then \
@@ -320,12 +300,13 @@ runserver:
fi; \
$(PYTHON) manage.py runserver
# Run to start the background celery worker for development.
celeryd:
# Run to start the background task dispatcher for development.
dispatcher:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
celery worker -A awx -l DEBUG -B -Ofair --autoscale=100,4 --schedule=$(CELERY_SCHEDULE_FILE) -Q tower_scheduler,tower_broadcast_all,$(COMPOSE_HOST),$(AWX_GROUP_QUEUES) -n celery@$(COMPOSE_HOST)
$(PYTHON) manage.py run_dispatcher
# Run to start the zeromq callback receiver
receiver:
@@ -337,9 +318,6 @@ receiver:
nginx:
nginx -g "daemon off;"
rdb:
$(PYTHON) tools/rdb.py
jupyter:
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
@@ -364,15 +342,33 @@ pyflakes: reports
pylint: reports
@(set -o pipefail && $@ | reports/$@.report)
check: flake8 pep8 # pyflakes pylint
genschema: reports
$(MAKE) swagger PYTEST_ARGS="--genschema"
TEST_DIRS ?= awx/main/tests/unit awx/main/tests/functional awx/conf/tests awx/sso/tests
# Run all API unit tests.
test: test_ansible
swagger: reports
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
py.test $(TEST_DIRS)
(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
awx-link:
cp -R /tmp/awx.egg-info /awx_devel/ || true
sed -i "s/placeholder/$(shell git describe --long | sed 's/\./\\./g')/" /awx_devel/awx.egg-info/PKG-INFO
cp -f /tmp/awx.egg-link /venv/awx/lib/python2.7/site-packages/awx.egg-link
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 \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
PYTHONDONTWRITEBYTECODE=1 py.test -p no:cacheprovider -n auto $(TEST_DIRS)
awx-manage check_migrations --dry-run --check -n 'vNNN_missing_migration_file'
test_combined: test_ansible test
test_unit:
@if [ "$(VENV_BASE)" ]; then \
@@ -471,7 +467,7 @@ $(I18N_FLAG_FILE): $(UI_DEPS_FLAG_FILE)
ui-deps: $(UI_DEPS_FLAG_FILE)
$(UI_DEPS_FLAG_FILE):
$(NPM_BIN) --unsafe-perm --prefix awx/ui install awx/ui
$(NPM_BIN) --unsafe-perm --prefix awx/ui install --no-save awx/ui
touch $(UI_DEPS_FLAG_FILE)
ui-docker-machine: $(UI_DEPS_FLAG_FILE)
@@ -551,23 +547,38 @@ docker-isolated:
TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml -f tools/docker-isolated-override.yml create
docker start tools_awx_1
docker start tools_isolated_1
echo "__version__ = '`python setup.py --version`'" | docker exec -i tools_isolated_1 /bin/bash -c "cat > /venv/awx/lib/python2.7/site-packages/awx.py"
if [ "`docker exec -i -t tools_isolated_1 cat /root/.ssh/authorized_keys`" == "`docker exec -t tools_awx_1 cat /root/.ssh/id_rsa.pub`" ]; then \
echo "SSH keys already copied to isolated instance"; \
else \
docker exec "tools_isolated_1" bash -c "mkdir -p /root/.ssh && rm -f /root/.ssh/authorized_keys && echo $$(docker exec -t tools_awx_1 cat /root/.ssh/id_rsa.pub) >> /root/.ssh/authorized_keys"; \
fi
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
echo "__version__ = '`git describe --long | cut -d - -f 1-1`'" | docker exec -i tools_isolated_1 /bin/bash -c "cat > /venv/awx/lib/python2.7/site-packages/awx.py"
CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml -f tools/docker-isolated-override.yml up
# Docker Compose Development environment
docker-compose: docker-auth
TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml up --no-recreate awx
CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml up --no-recreate awx
docker-compose-cluster: docker-auth
TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose-cluster.yml up
CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose-cluster.yml up
docker-compose-test: docker-auth
cd tools && TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /bin/bash
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /bin/bash
docker-compose-runtest:
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /start_tests.sh
docker-compose-build-swagger:
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /start_tests.sh swagger
docker-compose-genschema:
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm --service-ports awx /start_tests.sh genschema
mv swagger.json schema.json
docker-compose-detect-schema-change:
$(MAKE) docker-compose-genschema
curl https://s3.amazonaws.com/awx-public-ci-files/schema.json -o reference-schema.json
# Ignore differences in whitespace with -b
diff -u -b schema.json reference-schema.json
docker-compose-clean:
cd tools && CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose run --rm -w /awx_devel --service-ports awx make clean
cd tools && TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose rm -sf
docker-compose-build: awx-devel-build
@@ -593,11 +604,14 @@ docker-refresh: docker-clean docker-compose
# Docker Development Environment with Elastic Stack Connected
docker-compose-elk: docker-auth
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
CURRENT_UID=$(shell id -u) TAG=$(COMPOSE_TAG) DEV_DOCKER_TAG_BASE=$(DEV_DOCKER_TAG_BASE) docker-compose -f tools/docker-compose.yml -f tools/elastic/docker-compose.logstash-link.yml -f tools/elastic/docker-compose.elastic-override.yml up --no-recreate
docker-compose-cluster-elk: docker-auth
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
minishift-dev:
ansible-playbook -i localhost, -e devtree_directory=$(CURDIR) tools/clusterdevel/start_minishift_dev.yml
clean-elk:
docker stop tools_kibana_1
docker stop tools_logstash_1
@@ -607,8 +621,7 @@ clean-elk:
docker rm tools_kibana_1
psql-container:
docker run -it --net tools_default --rm postgres:9.4.1 sh -c 'exec psql -h "postgres" -p "5432" -U postgres'
docker run -it --net tools_default --rm postgres:9.6 sh -c 'exec psql -h "postgres" -p "5432" -U postgres'
VERSION:
@echo $(VERSION_TARGET) > $@
@echo "awx: $(VERSION_TARGET)"
@echo "awx: $(VERSION)"

View File

@@ -1,7 +1,6 @@
[![Run Status](https://api.shippable.com/projects/591c82a22f895107009e8b35/badge?branch=devel)](https://app.shippable.com/github/ansible/awx)
[![Gated by Zuul](https://zuul-ci.org/gated.svg)](https://ansible.softwarefactory-project.io/zuul/status)
AWX
===
<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.
@@ -11,6 +10,8 @@ To learn more about using AWX, and Tower, view the [Tower docs site](http://docs
The AWX Project Frequently Asked Questions can be found [here](https://www.ansible.com/awx-project-faq).
The AWX logos and branding assets are covered by [our trademark guidelines](https://github.com/ansible/awx-logos/blob/master/TRADEMARKS.md).
Contributing
------------
@@ -23,7 +24,7 @@ Contributing
Reporting Issues
----------------
If you're experiencing a problem, 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 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).
Code of Conduct
---------------
@@ -33,11 +34,10 @@ We ask all of our community members and contributors to adhere to the [Ansible c
Get Involved
------------
We welcome your feedback and ideas. Here's how to reach us:
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 [mailing list](https://groups.google.com/forum/#!forum/awx-project)
- [Open an Issue](https://github.com/ansible/awx/issues)
License
-------

1
VERSION Normal file
View File

@@ -0,0 +1 @@
2.1.0

View File

@@ -7,11 +7,10 @@ import sys
import warnings
from pkg_resources import get_distribution
from .celery import app as celery_app
__version__ = get_distribution('awx').version
__all__ = ['__version__']
__all__ = ['__version__', 'celery_app']
# Check for the presence/absence of "devonly" module to determine if running
# from a source code checkout or release packaage.
@@ -22,6 +21,48 @@ except ImportError: # pragma: no cover
MODE = 'production'
import hashlib
try:
import django
from django.utils.encoding import force_bytes
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
from django.db.backends.base import schema
HAS_DJANGO = True
except ImportError:
HAS_DJANGO = False
if HAS_DJANGO is True:
# This line exists to make sure we don't regress on FIPS support if we
# upgrade Django; if you're upgrading Django and see this error,
# update the version check below, and confirm that FIPS still works.
if django.__version__ != '1.11.16':
raise RuntimeError("Django version other than 1.11.16 detected {}. \
Subclassing BaseDatabaseSchemaEditor is known to work for Django 1.11.16 \
and may not work in newer Django versions.".format(django.__version__))
class FipsBaseDatabaseSchemaEditor(BaseDatabaseSchemaEditor):
@classmethod
def _digest(cls, *args):
"""
Generates a 32-bit digest of a set of arguments that can be used to
shorten identifying names.
"""
try:
h = hashlib.md5()
except ValueError:
h = hashlib.md5(usedforsecurity=False)
for arg in args:
h.update(force_bytes(arg))
return h.hexdigest()[:8]
schema.BaseDatabaseSchemaEditor = FipsBaseDatabaseSchemaEditor
def find_commands(management_dir):
# Modified version of function from django/core/management/__init__.py.
command_dir = os.path.join(management_dir, 'commands')

View File

@@ -2,126 +2,21 @@
# All Rights Reserved.
# Python
import urllib
import logging
# Django
from django.conf import settings
from django.utils.timezone import now as tz_now
from django.utils.encoding import smart_text
from django.utils.translation import ugettext_lazy as _
# Django REST Framework
from rest_framework import authentication
from rest_framework import exceptions
from rest_framework import HTTP_HEADER_ENCODING
# AWX
from awx.main.models import AuthToken
# Django-OAuth-Toolkit
from oauth2_provider.contrib.rest_framework import OAuth2Authentication
logger = logging.getLogger('awx.api.authentication')
class TokenAuthentication(authentication.TokenAuthentication):
'''
Custom token authentication using tokens that expire and are associated
with parameters specific to the request.
'''
model = AuthToken
@staticmethod
def _get_x_auth_token_header(request):
auth = request.META.get('HTTP_X_AUTH_TOKEN', '')
if isinstance(auth, type('')):
# Work around django test client oddness
auth = auth.encode(HTTP_HEADER_ENCODING)
return auth
@staticmethod
def _get_auth_token_cookie(request):
token = request.COOKIES.get('token', '')
if token:
token = urllib.unquote(token).strip('"')
return 'token %s' % token
return ''
def authenticate(self, request):
self.request = request
# Prefer the custom X-Auth-Token header over the Authorization header,
# to handle cases where the browser submits saved Basic auth and
# overrides the UI's normal use of the Authorization header.
auth = TokenAuthentication._get_x_auth_token_header(request).split()
if not auth or auth[0].lower() != 'token':
auth = authentication.get_authorization_header(request).split()
# Prefer basic auth over cookie token
if auth and auth[0].lower() == 'basic':
return None
elif not auth or auth[0].lower() != 'token':
auth = TokenAuthentication._get_auth_token_cookie(request).split()
if not auth or auth[0].lower() != 'token':
return None
if len(auth) == 1:
msg = _('Invalid token header. No credentials provided.')
raise exceptions.AuthenticationFailed(msg)
elif len(auth) > 2:
msg = _('Invalid token header. Token string should not contain spaces.')
raise exceptions.AuthenticationFailed(msg)
return self.authenticate_credentials(auth[1])
def authenticate_credentials(self, key):
now = tz_now()
# Retrieve the request hash and token.
try:
request_hash = self.model.get_request_hash(self.request)
token = self.model.objects.select_related('user').get(
key=key,
request_hash=request_hash,
)
except self.model.DoesNotExist:
raise exceptions.AuthenticationFailed(AuthToken.reason_long('invalid_token'))
# Tell the user why their token was previously invalidated.
if token.invalidated:
raise exceptions.AuthenticationFailed(AuthToken.reason_long(token.reason))
# Explicitly handle expired tokens
if token.is_expired(now=now):
token.invalidate(reason='timeout_reached')
raise exceptions.AuthenticationFailed(AuthToken.reason_long('timeout_reached'))
# Token invalidated due to session limit config being reduced
# Session limit reached invalidation will also take place on authentication
if settings.AUTH_TOKEN_PER_USER != -1:
if not token.in_valid_tokens(now=now):
token.invalidate(reason='limit_reached')
raise exceptions.AuthenticationFailed(AuthToken.reason_long('limit_reached'))
# If the user is inactive, then return an error.
if not token.user.is_active:
raise exceptions.AuthenticationFailed(_('User inactive or deleted'))
# Refresh the token.
# The token is extended from "right now" + configurable setting amount.
token.refresh(now=now)
# Return the user object and the token.
return (token.user, token)
class TokenGetAuthentication(TokenAuthentication):
def authenticate(self, request):
if request.method.lower() == 'get':
token = request.GET.get('token', None)
if token:
request.META['HTTP_X_AUTH_TOKEN'] = 'Token %s' % token
return super(TokenGetAuthentication, self).authenticate(request)
class LoggedBasicAuthentication(authentication.BasicAuthentication):
def authenticate(self, request):
@@ -130,10 +25,32 @@ class LoggedBasicAuthentication(authentication.BasicAuthentication):
ret = super(LoggedBasicAuthentication, self).authenticate(request)
if ret:
username = ret[0].username if ret[0] else '<none>'
logger.debug(smart_text(u"User {} performed a {} to {} through the API".format(username, request.method, request.path)))
logger.info(smart_text(u"User {} performed a {} to {} through the API".format(username, request.method, request.path)))
return ret
def authenticate_header(self, request):
if not settings.AUTH_BASIC_ENABLED:
return
return super(LoggedBasicAuthentication, self).authenticate_header(request)
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
)
))
setattr(user, 'oauth_scopes', [x for x in token.scope.split() if x])
return ret

View File

@@ -1,30 +1,31 @@
# Django
from django.utils.translation import ugettext_lazy as _
# Tower
# AWX
from awx.conf import fields, register
from awx.api.fields import OAuth2ProviderField
from oauth2_provider.settings import oauth2_settings
register(
'AUTH_TOKEN_EXPIRATION',
'SESSION_COOKIE_AGE',
field_class=fields.IntegerField,
min_value=60,
max_value=30000000000, # approx 1,000 years, higher values give OverflowError
label=_('Idle Time Force Log Out'),
help_text=_('Number of seconds that a user is inactive before they will need to login again.'),
category=_('Authentication'),
category_slug='authentication',
)
register(
'AUTH_TOKEN_PER_USER',
'SESSIONS_PER_USER',
field_class=fields.IntegerField,
min_value=-1,
label=_('Maximum number of simultaneous logins'),
help_text=_('Maximum number of simultaneous logins a user may have. To disable enter -1.'),
label=_('Maximum number of simultaneous logged in sessions'),
help_text=_('Maximum number of simultaneous logged in sessions a user may have. To disable enter -1.'),
category=_('Authentication'),
category_slug='authentication',
)
register(
'AUTH_BASIC_ENABLED',
field_class=fields.BooleanField,
@@ -33,3 +34,28 @@ register(
category=_('Authentication'),
category_slug='authentication',
)
register(
'OAUTH2_PROVIDER',
field_class=OAuth2ProviderField,
default={'ACCESS_TOKEN_EXPIRE_SECONDS': oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS,
'AUTHORIZATION_CODE_EXPIRE_SECONDS': 600},
label=_('OAuth 2 Timeout Settings'),
help_text=_('Dictionary for customizing OAuth 2 timeouts, available items are '
'`ACCESS_TOKEN_EXPIRE_SECONDS`, the duration of access tokens in the number '
'of seconds, and `AUTHORIZATION_CODE_EXPIRE_SECONDS`, the duration of '
'authorization grants in the number of seconds.'),
category=_('Authentication'),
category_slug='authentication',
)
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.'),
category=_('Authentication'),
category_slug='authentication',
)

22
awx/api/exceptions.py Normal file
View File

@@ -0,0 +1,22 @@
# Copyright (c) 2018 Ansible by Red Hat
# All Rights Reserved.
# Django
from django.utils.translation import ugettext_lazy as _
# Django REST Framework
from rest_framework.exceptions import ValidationError
class ActiveJobConflict(ValidationError):
status_code = 409
def __init__(self, active_jobs):
# During APIException.__init__(), Django Rest Framework
# 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
}

View File

@@ -1,10 +1,17 @@
# Copyright (c) 2016 Ansible, Inc.
# All Rights Reserved.
# Django
from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import ObjectDoesNotExist
# Django REST Framework
from rest_framework import serializers
# AWX
from awx.conf import fields
from awx.main.models import Credential
__all__ = ['BooleanNullField', 'CharNullField', 'ChoiceNullField', 'VerbatimField']
@@ -66,3 +73,36 @@ class VerbatimField(serializers.Field):
def to_representation(self, value):
return value
class OAuth2ProviderField(fields.DictField):
default_error_messages = {
'invalid_key_names': _('Invalid key names: {invalid_key_names}'),
}
valid_key_names = {'ACCESS_TOKEN_EXPIRE_SECONDS', 'AUTHORIZATION_CODE_EXPIRE_SECONDS'}
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)
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
kwargs['min_value'] = 1
kwargs.setdefault('help_text', 'This resource has been deprecated and will be removed in a future release')
super(DeprecatedCredentialField, self).__init__(**kwargs)
def to_internal_value(self, pk):
try:
Credential.objects.get(pk=pk)
except ObjectDoesNotExist:
raise serializers.ValidationError(_('Credential {} does not exist').format(pk))
return pk

View File

@@ -4,6 +4,7 @@
# Python
import re
import json
from functools import reduce
# Django
from django.core.exceptions import FieldError, ValidationError
@@ -24,14 +25,6 @@ from rest_framework.filters import BaseFilterBackend
from awx.main.utils import get_type_for_model, to_python_boolean
from awx.main.utils.db import get_all_field_names
from awx.main.models.credential import CredentialType
from awx.main.models.rbac import RoleAncestorEntry
class MongoFilterBackend(BaseFilterBackend):
# FIX: Note that MongoEngine can't use the filter backends from DRF
def filter_queryset(self, request, queryset, view):
return queryset
class V1CredentialFilterBackend(BaseFilterBackend):
@@ -84,6 +77,63 @@ class TypeFilterBackend(BaseFilterBackend):
raise ParseError(*e.args)
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 also the revised lookup path
ex., given
model=Organization
path='project__timeout'
returns tuple of field at the end of the line as well as a corrected
path, for special cases we do substitutions
(<IntegerField for timeout>, 'project__timeout')
'''
# Store of all the fields used to detect repeats
field_set = set([])
new_parts = []
for name in path.split('__'):
if model is None:
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)
if name == 'type' and 'polymorphic_ctype' in get_all_field_names(model):
name = 'polymorphic_ctype'
new_parts.append('polymorphic_ctype__model')
else:
new_parts.append(name)
if name in getattr(model, 'PASSWORD_FIELDS', ()):
raise PermissionDenied(_('Filtering on password fields is not allowed.'))
elif name == 'pk':
field = model._meta.pk
else:
name_alt = name.replace("_", "")
if name_alt in model._meta.fields_map.keys():
field = model._meta.fields_map[name_alt]
new_parts.pop()
new_parts.append(name_alt)
else:
field = model._meta.get_field(name)
if isinstance(field, ForeignObjectRel) and getattr(field.field, '__prevent_search__', False):
raise PermissionDenied(_('Filtering on %s is not allowed.' % name))
elif getattr(field, '__prevent_search__', False):
raise PermissionDenied(_('Filtering on %s is not allowed.' % name))
if field in field_set:
# Field traversed twice, could create infinite JOINs, DoSing Tower
raise ParseError(_('Loops not allowed in filters, detected on field {}.').format(field.name))
field_set.add(field)
model = getattr(field, 'related_model', None)
return field, '__'.join(new_parts)
class FieldLookupBackend(BaseFilterBackend):
'''
Filter using field lookups provided via query string parameters.
@@ -98,59 +148,23 @@ class FieldLookupBackend(BaseFilterBackend):
'isnull', 'search')
def get_field_from_lookup(self, model, lookup):
field = None
parts = lookup.split('__')
if parts and parts[-1] not in self.SUPPORTED_LOOKUPS:
parts.append('exact')
if '__' in lookup and lookup.rsplit('__', 1)[-1] in self.SUPPORTED_LOOKUPS:
path, suffix = lookup.rsplit('__', 1)
else:
path = lookup
suffix = 'exact'
if not path:
raise ParseError(_('Query string field name not provided.'))
# FIXME: Could build up a list of models used across relationships, use
# those lookups combined with request.user.get_queryset(Model) to make
# sure user cannot query using objects he could not view.
new_parts = []
field, new_path = get_field_from_path(model, path)
# Store of all the fields used to detect repeats
field_set = set([])
for name in parts[:-1]:
# 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)
if name == 'type' and 'polymorphic_ctype' in get_all_field_names(model):
name = 'polymorphic_ctype'
new_parts.append('polymorphic_ctype__model')
else:
new_parts.append(name)
if name in getattr(model, 'PASSWORD_FIELDS', ()):
raise PermissionDenied(_('Filtering on password fields is not allowed.'))
elif name == 'pk':
field = model._meta.pk
else:
name_alt = name.replace("_", "")
if name_alt in model._meta.fields_map.keys():
field = model._meta.fields_map[name_alt]
new_parts.pop()
new_parts.append(name_alt)
else:
field = model._meta.get_field(name)
if isinstance(field, ForeignObjectRel) and getattr(field.field, '__prevent_search__', False):
raise PermissionDenied(_('Filtering on %s is not allowed.' % name))
elif getattr(field, '__prevent_search__', False):
raise PermissionDenied(_('Filtering on %s is not allowed.' % name))
if field in field_set:
# Field traversed twice, could create infinite JOINs, DoSing Tower
raise ParseError(_('Loops not allowed in filters, detected on field {}.').format(field.name))
field_set.add(field)
model = getattr(field, 'related_model', None) or field.model
if parts:
new_parts.append(parts[-1])
new_lookup = '__'.join(new_parts)
new_lookup = new_path
new_lookup = '__'.join([new_path, suffix])
return field, new_lookup
def to_python_related(self, value):
@@ -166,7 +180,13 @@ class FieldLookupBackend(BaseFilterBackend):
elif isinstance(field, models.BooleanField):
return to_python_boolean(value)
elif isinstance(field, (ForeignObjectRel, ManyToManyField, GenericForeignKey, ForeignKey)):
return self.to_python_related(value)
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)
)
else:
return field.to_python(value)
@@ -218,7 +238,11 @@ class FieldLookupBackend(BaseFilterBackend):
or_filters = []
chain_filters = []
role_filters = []
search_filters = []
search_filters = {}
# Can only have two values: 'AND', 'OR'
# If 'AND' is used, an iterm must satisfy all condition to show up in the results.
# If 'OR' is used, an item just need to satisfy one condition to appear in results.
search_filter_relation = 'OR'
for key, values in request.query_params.lists():
if key in self.RESERVED_NAMES:
continue
@@ -242,12 +266,13 @@ class FieldLookupBackend(BaseFilterBackend):
# Search across related objects.
if key.endswith('__search'):
if values and ',' in values[0]:
search_filter_relation = 'AND'
values = reduce(lambda list1, list2: list1 + list2, [i.split(',') for i in values])
for value in values:
for search_term in force_text(value).replace(',', ' ').split():
search_value, new_keys = self.value_to_python(queryset.model, key, search_term)
assert isinstance(new_keys, list)
for new_key in new_keys:
search_filters.append((new_key, search_value))
search_value, new_keys = self.value_to_python(queryset.model, key, force_text(value))
assert isinstance(new_keys, list)
search_filters[search_value] = new_keys
continue
# Custom chain__ and or__ filters, mutually exclusive (both can
@@ -271,7 +296,7 @@ class FieldLookupBackend(BaseFilterBackend):
# TODO: remove after API v1 deprecation period
if queryset.model._meta.object_name in ('JobTemplate', 'Job') and key in (
'credential', 'vault_credential', 'cloud_credential', 'network_credential'
):
) or queryset.model._meta.object_name in ('InventorySource', 'InventoryUpdate') and key == 'credential':
key = 'credentials'
# Make legacy v1 Credential fields work for backwards compatability
@@ -321,12 +346,12 @@ class FieldLookupBackend(BaseFilterBackend):
else:
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=RoleAncestorEntry.objects.filter(
ancestor__in=request.user.roles.all(),
content_type_id=ContentType.objects.get_for_model(queryset.model).id,
role_field=role_name
).values_list('object_id').distinct())
Q(pk__in=queryset.model.accessible_pk_qs(request.user, role_name))
)
if or_filters:
q = Q()
@@ -336,11 +361,18 @@ class FieldLookupBackend(BaseFilterBackend):
else:
q |= Q(**{k:v})
args.append(q)
if search_filters:
if search_filters and search_filter_relation == 'OR':
q = Q()
for k,v in search_filters:
q |= Q(**{k:v})
for term, constrains in search_filters.iteritems():
for constrain in constrains:
q |= Q(**{constrain: term})
args.append(q)
elif search_filters and search_filter_relation == 'AND':
for term, constrains in search_filters.iteritems():
q_chain = Q()
for constrain in constrains:
q_chain |= Q(**{constrain: term})
queryset = queryset.filter(q_chain)
for n,k,v in chain_filters:
if n:
q = ~Q(**{k:v})
@@ -371,7 +403,7 @@ class OrderByBackend(BaseFilterBackend):
else:
order_by = (value,)
if order_by:
order_by = self._strip_sensitive_model_fields(queryset.model, order_by)
order_by = self._validate_ordering_fields(queryset.model, order_by)
# Special handling of the type field for ordering. In this
# case, we're not sorting exactly on the type field, but
@@ -396,15 +428,17 @@ class OrderByBackend(BaseFilterBackend):
# Return a 400 for invalid field names.
raise ParseError(*e.args)
def _strip_sensitive_model_fields(self, model, order_by):
def _validate_ordering_fields(self, model, order_by):
for field_name in order_by:
# strip off the negation prefix `-` if it exists
_field_name = field_name.split('-')[-1]
prefix = ''
path = field_name
if field_name[0] == '-':
prefix = field_name[0]
path = field_name[1:]
try:
# if the field name is encrypted/sensitive, don't sort on it
if _field_name in getattr(model, 'PASSWORD_FIELDS', ()) or \
getattr(model._meta.get_field(_field_name), '__prevent_search__', False):
raise ParseError(_('cannot order by field %s') % _field_name)
except FieldDoesNotExist:
pass
yield field_name
field, new_path = get_field_from_path(model, path)
new_path = '{}{}'.format(prefix, new_path)
except (FieldError, FieldDoesNotExist) as e:
raise ParseError(e.args[0])
yield new_path

View File

@@ -5,6 +5,8 @@
import inspect
import logging
import time
import six
import urllib
# Django
from django.conf import settings
@@ -18,39 +20,98 @@ from django.utils.encoding import smart_text
from django.utils.safestring import mark_safe
from django.contrib.contenttypes.models import ContentType
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth import views as auth_views
# Django REST Framework
from rest_framework.authentication import get_authorization_header
from rest_framework.exceptions import PermissionDenied
from rest_framework.exceptions import PermissionDenied, AuthenticationFailed, ParseError, NotAcceptable, UnsupportedMediaType
from rest_framework import generics
from rest_framework.response import Response
from rest_framework import status
from rest_framework import views
from rest_framework.permissions import AllowAny
from rest_framework.renderers import StaticHTMLRenderer, JSONRenderer
from rest_framework.negotiation import DefaultContentNegotiation
# cryptography
from cryptography.fernet import InvalidToken
# AWX
from awx.api.filters import FieldLookupBackend
from awx.main.models import * # noqa
from awx.main.access import access_registry
from awx.main.utils import * # noqa
from awx.main.utils.db import get_all_field_names
from awx.api.serializers import ResourceAccessListElementSerializer
from awx.api.serializers import ResourceAccessListElementSerializer, CopySerializer, UserSerializer
from awx.api.versioning import URLPathVersioning, get_request_version
from awx.api.metadata import SublistAttachDetatchMetadata
from awx.api.metadata import SublistAttachDetatchMetadata, Metadata
__all__ = ['APIView', 'GenericAPIView', 'ListAPIView', 'SimpleListAPIView',
'ListCreateAPIView', 'SubListAPIView', 'SubListCreateAPIView',
'SubListDestroyAPIView',
'SubListCreateAttachDetachAPIView', 'RetrieveAPIView',
'RetrieveUpdateAPIView', 'RetrieveDestroyAPIView',
'RetrieveUpdateDestroyAPIView', 'DestroyAPIView',
'RetrieveUpdateDestroyAPIView',
'SubDetailAPIView',
'ResourceAccessList',
'ParentMixin',
'DeleteLastUnattachLabelMixin',
'SubListAttachDetachAPIView',]
'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'
)
except NotAcceptable:
resp = Response(status=status.HTTP_406_NOT_ACCEPTABLE)
resp.accepted_renderer = StaticHTMLRenderer()
resp.accepted_media_type = 'text/plain'
resp.renderer_context = {}
return resp
return super(LoggedLoginView, self).get(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
ret = super(LoggedLoginView, self).post(request, *args, **kwargs)
current_user = getattr(request, 'user', None)
if request.user.is_authenticated:
logger.info(smart_text(u"User {} logged in.".format(self.request.user.username)))
ret.set_cookie('userLoggedIn', 'true')
current_user = UserSerializer(self.request.user)
current_user = JSONRenderer().render(current_user.data)
current_user = urllib.quote('%s' % current_user, '')
ret.set_cookie('current_user', current_user, secure=settings.SESSION_COOKIE_SECURE or None)
return ret
else:
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:
logger.info("User {} logged out.".format(original_user.username))
return ret
def get_view_name(cls, suffix=None):
'''
Wrapper around REST framework get_view_name() to support get_name() method
@@ -89,8 +150,17 @@ def get_view_description(cls, request, html=False):
return mark_safe(desc)
def get_default_schema():
if settings.SETTINGS_MODULE == 'awx.settings.development':
from awx.api.swagger import AutoSchema
return AutoSchema()
else:
return views.APIView.schema
class APIView(views.APIView):
schema = get_default_schema()
versioning_class = URLPathVersioning
def initialize_request(self, request, *args, **kwargs):
@@ -115,6 +185,17 @@ class APIView(views.APIView):
drf_request = super(APIView, self).initialize_request(request, *args, **kwargs)
request.drf_request = drf_request
try:
request.drf_request_user = getattr(drf_request, 'user', False)
except AuthenticationFailed:
request.drf_request_user = None
except (PermissionDenied, ParseError) as exc:
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')
self.__init_request_error__ = exc
return drf_request
def finalize_response(self, request, response, *args, **kwargs):
@@ -124,7 +205,10 @@ class APIView(views.APIView):
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))
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/.'
logger.info(status_msg)
else:
logger.warn(status_msg)
@@ -140,30 +224,38 @@ class APIView(views.APIView):
response['X-API-Query-Count'] = len(q_times)
response['X-API-Query-Time'] = '%0.3fs' % sum(q_times)
analytics_logger.info("api response", extra=dict(python_objects=dict(request=request, response=response)))
return response
def get_authenticate_header(self, request):
"""
Determine the WWW-Authenticate header to use for 401 responses. Try to
use the request header as an indication for which authentication method
was attempted.
"""
for authenticator in self.get_authenticators():
resp_hdr = authenticator.authenticate_header(request)
if not resp_hdr:
continue
req_hdr = get_authorization_header(request)
if not req_hdr:
continue
if resp_hdr.split()[0] and resp_hdr.split()[0] == req_hdr.split()[0]:
return resp_hdr
# If it can't be determined from the request, use the last
# authenticator (should be Basic).
try:
return authenticator.authenticate_header(request)
except NameError:
pass
# HTTP Basic auth is insecure by default, because the basic auth
# backend does not provide CSRF protection.
#
# If you visit `/api/v2/job_templates/` and we return
# `WWW-Authenticate: Basic ...`, your browser will prompt you for an
# HTTP basic auth username+password and will store it _in the browser_
# for subsequent requests. Because basic auth does not require CSRF
# validation (because it's commonly used with e.g., tower-cli and other
# non-browser clients), browsers that save basic auth in this way are
# vulnerable to cross-site request forgery:
#
# 1. Visit `/api/v2/job_templates/` and specify a user+pass for basic auth.
# 2. Visit a nefarious website and submit a
# `<form action='POST' method='https://tower.example.org/api/v2/job_templates/N/launch/'>`
# 3. The browser will use your persisted user+pass and your login
# session is effectively hijacked.
#
# To prevent this, we will _no longer_ send `WWW-Authenticate: Basic ...`
# headers in responses; this means that unauthenticated /api/v2/... requests
# will now return HTTP 401 in-browser, rather than popping up an auth dialog.
#
# This means that people who wish to use the interactive API browser
# must _first_ login in via `/api/login/` to establish a session (which
# _does_ enforce CSRF).
#
# CLI users can _still_ specify basic auth credentials explicitly via
# a header or in the URL e.g.,
# `curl https://user:pass@tower.example.org/api/v2/job_templates/N/launch/`
return 'Bearer realm=api authorization_url=/api/o/authorize/'
def get_view_description(self, html=False):
"""
@@ -171,27 +263,14 @@ class APIView(views.APIView):
and in the browsable API.
"""
func = self.settings.VIEW_DESCRIPTION_FUNCTION
return func(self.__class__, self._request, html)
return func(self.__class__, getattr(self, '_request', None), html)
def get_description_context(self):
return {
'view': self,
'docstring': type(self).__doc__ or '',
'new_in_13': getattr(self, 'new_in_13', False),
'new_in_14': getattr(self, 'new_in_14', False),
'new_in_145': getattr(self, 'new_in_145', False),
'new_in_148': getattr(self, 'new_in_148', False),
'new_in_200': getattr(self, 'new_in_200', False),
'new_in_210': getattr(self, 'new_in_210', False),
'new_in_220': getattr(self, 'new_in_220', False),
'new_in_230': getattr(self, 'new_in_230', False),
'new_in_240': getattr(self, 'new_in_240', False),
'new_in_300': getattr(self, 'new_in_300', False),
'new_in_310': getattr(self, 'new_in_310', False),
'new_in_320': getattr(self, 'new_in_320', False),
'new_in_330': getattr(self, 'new_in_330', False),
'new_in_api_v2': getattr(self, 'new_in_api_v2', False),
'deprecated': getattr(self, 'deprecated', False),
'swagger_method': getattr(self.request, 'swagger_method', None),
}
def get_description(self, request, html=False):
@@ -209,7 +288,7 @@ class APIView(views.APIView):
context['deprecated'] = True
description = render_to_string(template_list, context)
if context.get('deprecated'):
if context.get('deprecated') and context.get('swagger_method') is None:
# render deprecation messages at the very top
description = '\n'.join([render_to_string('api/_deprecated.md', context), description])
return description
@@ -247,6 +326,12 @@ class APIView(views.APIView):
kwargs.pop('version')
return super(APIView, self).dispatch(request, *args, **kwargs)
def check_permissions(self, request):
if request.method not in ('GET', 'OPTIONS', 'HEAD'):
if 'write' not in getattr(request.user, 'oauth_scopes', ['write']):
raise PermissionDenied()
return super(APIView, self).check_permissions(request)
class GenericAPIView(generics.GenericAPIView, APIView):
# Base class for all model-based views.
@@ -269,12 +354,17 @@ class GenericAPIView(generics.GenericAPIView, APIView):
return serializer
def get_queryset(self):
#if hasattr(self.request.user, 'get_queryset'):
# return self.request.user.get_queryset(self.model)
if self.queryset is not None:
return self.queryset._clone()
elif self.model is not None:
return self.model._default_manager.all()
qs = self.model._default_manager
if self.model in access_registry:
access_class = access_registry[self.model]
if access_class.select_related:
qs = qs.select_related(*access_class.select_related)
if access_class.prefetch_related:
qs = qs.prefetch_related(*access_class.prefetch_related)
return qs
else:
return super(GenericAPIView, self).get_queryset()
@@ -299,7 +389,6 @@ class GenericAPIView(generics.GenericAPIView, APIView):
]:
d[key] = self.metadata_class().get_serializer_info(serializer, method=method)
d['settings'] = settings
d['has_named_url'] = self.model in settings.NAMED_URL_GRAPH
return d
@@ -315,13 +404,6 @@ class ListAPIView(generics.ListAPIView, GenericAPIView):
def get_queryset(self):
return self.request.user.get_queryset(self.model)
def paginate_queryset(self, queryset):
page = super(ListAPIView, self).paginate_queryset(queryset)
# Queries RBAC info & stores into list objects
if hasattr(self, 'capabilities_prefetch') and page is not None:
cache_list_capabilities(page, self.capabilities_prefetch, self.model, self.request.user)
return page
def get_description_context(self):
if 'username' in get_all_field_names(self.model):
order_field = 'username'
@@ -442,6 +524,40 @@ class SubListAPIView(ParentMixin, ListAPIView):
return qs & sublist_qs
class DestroyAPIView(generics.DestroyAPIView):
def has_delete_permission(self, obj):
return self.request.user.can_access(self.model, 'delete', obj)
def perform_destroy(self, instance, check_permission=True):
if check_permission and not self.has_delete_permission(instance):
raise PermissionDenied()
super(DestroyAPIView, self).perform_destroy(instance)
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())):
raise PermissionDenied()
self.perform_list_destroy(instance_list)
return Response(status=status.HTTP_204_NO_CONTENT)
def perform_list_destroy(self, instance_list):
if self.check_sub_obj_permission:
for instance in instance_list:
if not self.has_delete_permission(instance):
raise PermissionDenied()
for instance in instance_list:
self.perform_destroy(instance, check_permission=False)
class SubListCreateAPIView(SubListAPIView, ListCreateAPIView):
# Base class for a sublist view that allows for creating subobjects
# associated with the parent object.
@@ -642,6 +758,7 @@ class DeleteLastUnattachLabelMixin(object):
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)
if res:
@@ -680,22 +797,11 @@ class RetrieveUpdateAPIView(RetrieveAPIView, generics.RetrieveUpdateAPIView):
pass
class RetrieveDestroyAPIView(RetrieveAPIView, generics.RetrieveDestroyAPIView):
def destroy(self, request, *args, **kwargs):
# somewhat lame that delete has to call it's own permissions check
obj = self.get_object()
if not request.user.can_access(self.model, 'delete', obj):
raise PermissionDenied()
obj.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
class RetrieveUpdateDestroyAPIView(RetrieveUpdateAPIView, RetrieveDestroyAPIView):
class RetrieveDestroyAPIView(RetrieveAPIView, DestroyAPIView):
pass
class DestroyAPIView(GenericAPIView, generics.DestroyAPIView):
class RetrieveUpdateDestroyAPIView(RetrieveUpdateAPIView, DestroyAPIView):
pass
@@ -713,3 +819,191 @@ class ResourceAccessList(ParentMixin, ListAPIView):
for r in roles:
ancestors.update(set(r.ancestors.all()))
return User.objects.filter(roles__in=list(ancestors)).distinct()
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))
class CopyAPIView(GenericAPIView):
serializer_class = CopySerializer
permission_classes = (AllowAny,)
copy_return_serializer_class = None
new_in_330 = True
new_in_api_v2 = True
def v1_not_allowed(self):
return Response({'detail': 'Action only possible starting with v2 API.'},
status=status.HTTP_404_NOT_FOUND)
def _get_copy_return_serializer(self, *args, **kwargs):
if not self.copy_return_serializer_class:
return self.get_serializer(*args, **kwargs)
serializer_class_store = self.serializer_class
self.serializer_class = self.copy_return_serializer_class
ret = self.get_serializer(*args, **kwargs)
self.serializer_class = serializer_class_store
return ret
@staticmethod
def _decrypt_model_field_if_needed(obj, field_name, field_val):
if field_name in getattr(type(obj), 'REENCRYPTION_BLACKLIST_AT_COPY', []):
return field_val
if isinstance(field_val, dict):
for sub_field in field_val:
if isinstance(sub_field, six.string_types) \
and isinstance(field_val[sub_field], six.string_types):
try:
field_val[sub_field] = decrypt_field(obj, field_name, sub_field)
except InvalidToken:
# Catching the corner case with v1 credential fields
field_val[sub_field] = decrypt_field(obj, sub_field)
elif isinstance(field_val, six.string_types):
field_val = decrypt_field(obj, field_name)
return field_val
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'
)
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)
)
return ret
@staticmethod
def copy_model_obj(old_parent, new_parent, model, obj, creater, copy_name='', create_kwargs=None):
fields_to_preserve = set(getattr(model, 'FIELDS_TO_PRESERVE_AT_COPY', []))
fields_to_discard = set(getattr(model, 'FIELDS_TO_DISCARD_AT_COPY', []))
m2m_to_preserve = {}
o2m_to_preserve = {}
create_kwargs = create_kwargs or {}
for field_name in fields_to_discard:
create_kwargs.pop(field_name, None)
for field in model._meta.get_fields():
try:
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'):
create_kwargs.pop(field.name, None)
continue
if field.one_to_many:
if field.name in fields_to_preserve:
o2m_to_preserve[field.name] = field_val
elif field.many_to_many:
if field.name in fields_to_preserve and not old_parent:
m2m_to_preserve[field.name] = field_val
elif field.many_to_one and not field_val:
create_kwargs.pop(field.name, None)
elif field.many_to_one and field_val == old_parent:
create_kwargs[field.name] = new_parent
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
)
new_obj = model.objects.create(**create_kwargs)
logger.debug(six.text_type('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():
getattr(new_obj, m2m).add(related_obj)
if not old_parent:
sub_objects = []
for o2m in o2m_to_preserve:
for sub_obj in o2m_to_preserve[o2m].all():
sub_model = type(sub_obj)
sub_objects.append((sub_model.__module__, sub_model.__name__, sub_obj.pk))
return new_obj, sub_objects
ret = {obj: new_obj}
for o2m in o2m_to_preserve:
for sub_obj in o2m_to_preserve[o2m].all():
ret.update(CopyAPIView.copy_model_obj(obj, new_obj, type(sub_obj), sub_obj, creater))
return ret
def get(self, request, *args, **kwargs):
if get_request_version(request) < 2:
return self.v1_not_allowed()
obj = self.get_object()
if not request.user.can_access(obj.__class__, 'read', obj):
raise PermissionDenied()
create_kwargs = self._build_create_dict(obj)
for key in create_kwargs:
create_kwargs[key] = getattr(create_kwargs[key], 'pk', None) or create_kwargs[key]
can_copy = request.user.can_access(self.model, 'add', create_kwargs) and \
request.user.can_access(self.model, 'copy_related', obj)
return Response({'can_copy': can_copy})
def post(self, request, *args, **kwargs):
if get_request_version(request) < 2:
return self.v1_not_allowed()
obj = self.get_object()
create_kwargs = self._build_create_dict(obj)
create_kwargs_check = {}
for key in create_kwargs:
create_kwargs_check[key] = getattr(create_kwargs[key], 'pk', None) or create_kwargs[key]
if not request.user.can_access(self.model, 'add', create_kwargs_check):
raise PermissionDenied()
if not request.user.can_access(self.model, 'copy_related', obj):
raise PermissionDenied()
serializer = self.get_serializer(data=request.data)
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', '')
)
if hasattr(new_obj, 'admin_role') and request.user not in new_obj.admin_role:
new_obj.admin_role.members.add(request.user)
if sub_objs:
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'
)
trigger_delayed_deep_copy(
self.model.__module__, self.model.__name__,
obj.pk, new_obj.pk, request.user.pk, sub_objs,
permission_check_func=permission_check_func
)
serializer = self._get_copy_return_serializer(new_obj)
headers = {'Location': new_obj.get_absolute_url(request=request)}
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
class BaseUsersList(SubListCreateAttachDetachAPIView):
def post(self, request, *args, **kwargs):
ret = super(BaseUsersList, self).post( request, *args, **kwargs)
if ret.status_code != 201:
return ret
try:
if ret.data is not None and request.data.get('is_system_auditor', False):
# This is a faux-field that just maps to checking the system
# auditor role member list.. unfortunately this means we can't
# set it on creation, and thus needs to be set here.
user = User.objects.get(id=ret.data['id'])
user.is_system_auditor = request.data['is_system_auditor']
ret.data['is_system_auditor'] = request.data['is_system_auditor']
except AttributeError as exc:
print(exc)
pass
return ret

View File

@@ -44,9 +44,9 @@ class Metadata(metadata.SimpleMetadata):
if placeholder is not serializers.empty:
field_info['placeholder'] = placeholder
# Update help text for common fields.
serializer = getattr(field, 'parent', None)
if serializer:
if serializer and hasattr(serializer, 'Meta') and hasattr(serializer.Meta, 'model'):
# Update help text for common fields.
field_help_text = {
'id': _('Database ID for this {}.'),
'name': _('Name of this {}.'),
@@ -59,10 +59,19 @@ class Metadata(metadata.SimpleMetadata):
'modified': _('Timestamp when this {} was last modified.'),
}
if field.field_name in field_help_text:
if hasattr(serializer, 'Meta') and hasattr(serializer.Meta, 'model'):
opts = serializer.Meta.model._meta.concrete_model._meta
verbose_name = smart_text(opts.verbose_name)
field_info['help_text'] = field_help_text[field.field_name].format(verbose_name)
opts = serializer.Meta.model._meta.concrete_model._meta
verbose_name = smart_text(opts.verbose_name)
field_info['help_text'] = field_help_text[field.field_name].format(verbose_name)
if field.field_name == 'type':
field_info['filterable'] = True
else:
for model_field in serializer.Meta.model._meta.fields:
if field.field_name == model_field.name:
field_info['filterable'] = True
break
else:
field_info['filterable'] = False
# Indicate if a field has a default value.
# FIXME: Still isn't showing all default values?
@@ -190,23 +199,6 @@ class Metadata(metadata.SimpleMetadata):
finally:
delattr(view, '_request')
# Add version number in which view was added to Tower.
added_in_version = '1.2'
for version in ('3.2.0', '3.1.0', '3.0.0', '2.4.0', '2.3.0', '2.2.0',
'2.1.0', '2.0.0', '1.4.8', '1.4.5', '1.4', '1.3'):
if getattr(view, 'new_in_%s' % version.replace('.', ''), False):
added_in_version = version
break
metadata['added_in_version'] = added_in_version
# Add API version number in which view was added to Tower.
added_in_api_version = 'v1'
for version in ('v2',):
if getattr(view, 'new_in_api_%s' % version, False):
added_in_api_version = version
break
metadata['added_in_api_version'] = added_in_api_version
# Add type(s) handled by this view/serializer.
if hasattr(view, 'get_serializer'):
serializer = view.get_serializer()

View File

@@ -1,7 +1,6 @@
# Python
from collections import OrderedDict
import json
import yaml
# Django
from django.conf import settings
@@ -13,36 +12,6 @@ from rest_framework import parsers
from rest_framework.exceptions import ParseError
class OrderedDictLoader(yaml.SafeLoader):
"""
This yaml loader is used to deal with current pyYAML (3.12) not supporting
custom object pairs hook. Remove it when new version adds that support.
"""
def construct_mapping(self, node, deep=False):
if isinstance(node, yaml.nodes.MappingNode):
self.flatten_mapping(node)
else:
raise yaml.constructor.ConstructorError(
None, None,
"expected a mapping node, but found %s" % node.id,
node.start_mark
)
mapping = OrderedDict()
for key_node, value_node in node.value:
key = self.construct_object(key_node, deep=deep)
try:
hash(key)
except TypeError, exc:
raise yaml.constructor.ConstructorError(
"while constructing a mapping", node.start_mark,
"found unacceptable key (%s)" % exc, key_node.start_mark
)
value = self.construct_object(value_node, deep=deep)
mapping[key] = value
return mapping
class JSONParser(parsers.JSONParser):
"""
Parses JSON-serialized data, preserving order of dictionary keys.

View File

@@ -17,7 +17,7 @@ logger = logging.getLogger('awx.api.permissions')
__all__ = ['ModelAccessPermission', 'JobTemplateCallbackPermission',
'TaskPermission', 'ProjectUpdatePermission', 'InventoryInventorySourcesUpdatePermission',
'UserPermission', 'IsSuperUser']
'UserPermission', 'IsSuperUser', 'InstanceGroupTowerPermission',]
class ModelAccessPermission(permissions.BasePermission):
@@ -103,7 +103,8 @@ class ModelAccessPermission(permissions.BasePermission):
return False
# Always allow superusers
if getattr(view, 'always_allow_superuser', True) and request.user.is_superuser:
if getattr(view, 'always_allow_superuser', True) and request.user.is_superuser \
and not hasattr(request.user, 'oauth_scopes'):
return True
# Check if view supports the request method before checking permission
@@ -226,3 +227,11 @@ class IsSuperUser(permissions.BasePermission):
def has_permission(self, request, view):
return request.user and request.user.is_superuser
class InstanceGroupTowerPermission(ModelAccessPermission):
def has_object_permission(self, request, view, obj):
if request.method == 'DELETE' and obj.name == "tower":
return False
return super(InstanceGroupTowerPermission, self).has_object_permission(request, view, obj)

View File

@@ -5,6 +5,8 @@
from rest_framework import renderers
from rest_framework.request import override_method
import six
class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer):
'''
@@ -69,8 +71,8 @@ class PlainTextRenderer(renderers.BaseRenderer):
format = 'txt'
def render(self, data, media_type=None, renderer_context=None):
if not isinstance(data, basestring):
data = unicode(data)
if not isinstance(data, six.string_types):
data = six.text_type(data)
return data.encode(self.charset)

File diff suppressed because it is too large Load Diff

103
awx/api/swagger.py Normal file
View File

@@ -0,0 +1,103 @@
import json
import warnings
from coreapi.document import Object, Link
from rest_framework import exceptions
from rest_framework.permissions import AllowAny
from rest_framework.renderers import CoreJSONRenderer
from rest_framework.response import Response
from rest_framework.schemas import SchemaGenerator, AutoSchema as DRFAuthSchema
from rest_framework.views import APIView
from rest_framework_swagger import renderers
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))
link.__dict__['deprecated'] = getattr(self.view, 'deprecated', False)
# auto-generate a topic/tag for the serializer based on its model
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()
elif hasattr(self.view, 'model'):
link.__dict__['topic'] = str(self.view.model._meta.verbose_name_plural).title()
else:
warnings.warn('Could not determine a Swagger tag for path {}'.format(path))
return link
def get_description(self, path, method):
self.view._request = self.view.request
setattr(self.view.request, 'swagger_method', method)
description = super(AutoSchema, self).get_description(path, method)
return description
class SwaggerSchemaView(APIView):
_ignore_model_permissions = True
exclude_from_schema = True
permission_classes = [AllowAny]
renderer_classes = [
CoreJSONRenderer,
renderers.OpenAPIRenderer,
renderers.SwaggerUIRenderer
]
def get(self, request):
generator = SchemaGenerator(
title='Ansible Tower 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
_deprecated = []
# By default, DRF OpenAPI serialization places all endpoints in
# a single node based on their root path (/api). Instead, we want to
# group them by topic/tag so that they're categorized in the rendered
# output
document = schema._data.pop('api')
for path, node in document.items():
if isinstance(node, Object):
for action in node.values():
topic = getattr(action, 'topic', None)
if topic:
schema._data.setdefault(topic, Object())
schema._data[topic]._data[path] = node
if isinstance(action, Object):
for link in action.links.values():
if link.deprecated:
_deprecated.append(link.url)
elif isinstance(node, Link):
topic = getattr(node, 'topic', None)
if topic:
schema._data.setdefault(topic, Object())
schema._data[topic]._data[path] = node
if not schema:
raise exceptions.ValidationError(
'The schema generator did not return a schema Document'
)
return Response(
schema,
headers={'X-Deprecated-Paths': json.dumps(_deprecated)}
)

View File

@@ -1,9 +1,9 @@
The resulting data structure contains:
{
"count": 99,
"next": null,
"previous": null,
"count": 99,
"next": null,
"previous": null,
"results": [
...
]
@@ -54,12 +54,15 @@ within all designated text fields of a model.
?search=findme
_Added in AWX 1.4_
(_Added in Ansible Tower 3.1.0_) Search across related fields:
?related__search=findme
Note: If you want to provide more than one search term, multiple
search fields with the same key, like `?related__search=foo&related__search=bar`,
will be ORed together. Terms separated by commas, like `?related__search=foo,bar`
will be ANDed together.
## Filtering
Any additional query string parameters may be used to filter the list of
@@ -70,7 +73,7 @@ in the specified value should be url-encoded. For example:
?field=value%20xyz
Fields may also span relations, only for fields and relationships defined in
the database:
the database:
?other__field=value
@@ -79,7 +82,7 @@ To exclude results matching certain criteria, prefix the field parameter with
?not__field=value
(_Added in AWX 1.4_) By default, all query string filters are AND'ed together, so
By default, all query string filters are AND'ed together, so
only the results matching *all* filters will be returned. To combine results
matching *any* one of multiple criteria, prefix each query string parameter
with `or__`:

View File

@@ -1,14 +0,0 @@
{% if not version_label_flag or version_label_flag == 'true' %}
{% if new_in_13 %}> _Added in AWX 1.3_{% endif %}
{% if new_in_14 %}> _Added in AWX 1.4_{% endif %}
{% if new_in_145 %}> _Added in Ansible Tower 1.4.5_{% endif %}
{% if new_in_148 %}> _Added in Ansible Tower 1.4.8_{% endif %}
{% if new_in_200 %}> _Added in Ansible Tower 2.0.0_{% endif %}
{% if new_in_220 %}> _Added in Ansible Tower 2.2.0_{% endif %}
{% if new_in_230 %}> _Added in Ansible Tower 2.3.0_{% endif %}
{% if new_in_240 %}> _Added in Ansible Tower 2.4.0_{% endif %}
{% if new_in_300 %}> _Added in Ansible Tower 3.0.0_{% endif %}
{% if new_in_310 %}> _New in Ansible Tower 3.1.0_{% endif %}
{% if new_in_320 %}> _New in Ansible Tower 3.2.0_{% endif %}
{% if new_in_330 %}> _New in Ansible Tower 3.3.0_{% endif %}
{% endif %}

View File

@@ -0,0 +1,3 @@
Relaunch an Ad Hoc Command:
Make a POST request to this resource to launch a job. If any passwords or variables are required then they should be passed in via POST data. In order to determine what values are required in order to launch a job based on this job template you may make a GET request to this endpoint.

View File

@@ -0,0 +1,122 @@
# Token Handling using OAuth2
This page lists OAuth 2 utility endpoints used for authorization, token refresh and revoke.
Note endpoints other than `/api/o/authorize/` are not meant to be used in browsers and do not
support HTTP GET. The endpoints here strictly follow
[RFC specs for OAuth2](https://tools.ietf.org/html/rfc6749), so please use that for detailed
reference. Note AWX net location default to `http://localhost:8013` in examples:
## Create Token for an Application using Authorization code grant type
Given an application "AuthCodeApp" of grant type `authorization-code`,
from the client app, the user makes a GET to the Authorize endpoint with
* `response_type`
* `client_id`
* `redirect_uris`
* `scope`
AWX will respond with the authorization `code` and `state`
to the redirect_uri specified in the application. The client application will then make a POST to the
`api/o/token/` endpoint on AWX with
* `code`
* `client_id`
* `client_secret`
* `grant_type`
* `redirect_uri`
AWX will respond with the `access_token`, `token_type`, `refresh_token`, and `expires_in`. For more
information on testing this flow, refer to [django-oauth-toolkit](http://django-oauth-toolkit.readthedocs.io/en/latest/tutorial/tutorial_01.html#test-your-authorization-server).
## Create Token for an Application using Implicit grant type
Suppose we have an application "admin's app" of grant type `implicit`.
In API browser, first make sure the user is logged in via session auth, then visit authorization
endpoint with given parameters:
```text
http://localhost:8013/api/o/authorize/?response_type=token&client_id=L0uQQWW8pKX51hoqIRQGsuqmIdPi2AcXZ9EJRGmj&scope=read
```
Here the value of `client_id` should be the same as that of `client_id` field of underlying application.
On success, an authorization page should be displayed asking the logged in user to grant/deny the access token.
Once the user clicks on 'grant', the API browser will try POSTing to the same endpoint with the same parameters
in POST body, on success a 302 redirect will be returned.
## Create Token for an Application using Password grant type
Log in is not required for `password` grant type, so a simple `curl` can be used to acquire a personal access token
via `/api/o/token/` with
* `grant_type`: Required to be "password"
* `username`
* `password`
* `client_id`: Associated application must have grant_type "password"
* `client_secret`
For example:
```bash
curl -X POST \
-d "grant_type=password&username=<username>&password=<password>&scope=read" \
-u "gwSPoasWSdNkMDtBN3Hu2WYQpPWCO9SwUEsKK22l:fI6ZpfocHYBGfm1tP92r0yIgCyfRdDQt0Tos9L8a4fNsJjQQMwp9569e
IaUBsaVDgt2eiwOGe0bg5m5vCSstClZmtdy359RVx2rQK5YlIWyPlrolpt2LEpVeKXWaiybo" \
http://localhost:8013/api/o/token/ -i
```
In the above post request, parameters `username` and `password` are username and password of the related
AWX user of the underlying application, and the authentication information is of format
`<client_id>:<client_secret>`, where `client_id` and `client_secret` are the corresponding fields of
underlying application.
Upon success, access token, refresh token and other information are given in the response body in JSON
format:
```text
{
"access_token": "9epHOqHhnXUcgYK8QanOmUQPSgX92g",
"token_type": "Bearer",
"expires_in": 31536000000,
"refresh_token": "jMRX6QvzOTf046KHee3TU5mT3nyXsz",
"scope": "read"
}
```
## Refresh an existing access token
The `/api/o/token/` endpoint is used for refreshing access token:
```bash
curl -X POST \
-d "grant_type=refresh_token&refresh_token=AL0NK9TTpv0qp54dGbC4VUZtsZ9r8z" \
-u "gwSPoasWSdNkMDtBN3Hu2WYQpPWCO9SwUEsKK22l:fI6ZpfocHYBGfm1tP92r0yIgCyfRdDQt0Tos9L8a4fNsJjQQMwp9569eIaUBsaVDgt2eiwOGe0bg5m5vCSstClZmtdy359RVx2rQK5YlIWyPlrolpt2LEpVeKXWaiybo" \
http://localhost:8013/api/o/token/ -i
```
In the above post request, `refresh_token` is provided by `refresh_token` field of the access token
above. The authentication information is of format `<client_id>:<client_secret>`, where `client_id`
and `client_secret` are the corresponding fields of underlying related application of the access token.
Upon success, the new (refreshed) access token with the same scope information as the previous one is
given in the response body in JSON format:
```text
{
"access_token": "NDInWxGJI4iZgqpsreujjbvzCfJqgR",
"token_type": "Bearer",
"expires_in": 31536000000,
"refresh_token": "DqOrmz8bx3srlHkZNKmDpqA86bnQkT",
"scope": "read write"
}
```
Internally, the refresh operation deletes the existing token and a new token is created immediately
after, with information like scope and related application identical to the original one. We can
verify by checking the new token is present at the `api/v2/tokens` endpoint.
## Revoke an access token
Revoking an access token is the same as deleting the token resource object.
Revoking is done by POSTing to `/api/o/revoke_token/` with the token to revoke as parameter:
```bash
curl -X POST -d "token=rQONsve372fQwuc2pn76k3IHDCYpi7" \
-u "gwSPoasWSdNkMDtBN3Hu2WYQpPWCO9SwUEsKK22l:fI6ZpfocHYBGfm1tP92r0yIgCyfRdDQt0Tos9L8a4fNsJjQQMwp9569eIaUBsaVDgt2eiwOGe0bg5m5vCSstClZmtdy359RVx2rQK5YlIWyPlrolpt2LEpVeKXWaiybo" \
http://localhost:8013/api/o/revoke_token/ -i
```
`200 OK` means a successful delete.

View File

@@ -1,4 +1,5 @@
Site configuration settings and general information.
{% ifmeth GET %}
# Site configuration settings and general information
Make a GET request to this resource to retrieve the configuration containing
the following fields (some fields may not be visible to all users):
@@ -11,6 +12,10 @@ the following fields (some fields may not be visible to all users):
* `license_info`: Information about the current license.
* `version`: Version of Ansible Tower package installed.
* `eula`: The current End-User License Agreement
{% endifmeth %}
{% ifmeth POST %}
# Install or update an existing license
(_New in Ansible Tower 2.0.0_) Make a POST request to this resource as a super
user to install or update the existing license. The license data itself can
@@ -18,3 +23,11 @@ be POSTed as a normal json data structure.
(_New in Ansible Tower 2.1.1_) The POST must include a `eula_accepted` boolean
element indicating acceptance of the End-User License Agreement.
{% endifmeth %}
{% ifmeth DELETE %}
# Delete an existing license
(_New in Ansible Tower 2.0.0_) Make a DELETE request to this resource as a super
user to delete the existing license
{% endifmeth %}

View File

@@ -1,3 +1 @@
{{ docstring }}
{% include "api/_new_in_awx.md" %}

View File

@@ -1,37 +0,0 @@
Make a POST request to this resource with `username` and `password` fields to
obtain an authentication token to use for subsequent requests.
Example JSON to POST (content type is `application/json`):
{"username": "user", "password": "my pass"}
Example form data to post (content type is `application/x-www-form-urlencoded`):
username=user&password=my%20pass
If the username and password provided are valid, the response will contain a
`token` field with the authentication token to use and an `expires` field with
the timestamp when the token will expire:
{
"token": "8f17825cf08a7efea124f2638f3896f6637f8745",
"expires": "2013-09-05T21:46:35.729Z"
}
Otherwise, the response will indicate the error that occurred and return a 4xx
status code.
For subsequent requests, pass the token via the HTTP `Authorization` request
header:
Authorization: Token 8f17825cf08a7efea124f2638f3896f6637f8745
The auth token is only valid when used from the same remote address and user
agent that originally obtained it.
Each request that uses the token for authentication will refresh its expiration
timestamp and keep it from expiring. A token only expires when it is not used
for the configured timeout interval (default 1800 seconds).
A DELETE request with the token set will cause the token to be invalidated and
no further requests can be made with it.

View File

@@ -1,9 +1,13 @@
{% ifmeth GET %}
# Retrieve {{ model_verbose_name|title }} Variable Data:
Make a GET request to this resource to retrieve all variables defined for this
Make a GET request to this resource to retrieve all variables defined for a
{{ model_verbose_name }}.
{% endifmeth %}
{% ifmeth PUT PATCH %}
# Update {{ model_verbose_name|title }} Variable Data:
Make a PUT request to this resource to update variables defined for this
Make a PUT or PATCH request to this resource to update variables defined for a
{{ model_verbose_name }}.
{% endifmeth %}

View File

@@ -38,5 +38,3 @@ Data about failed and successfull hosts by inventory will be given as:
"id": 2,
"name": "Test Inventory"
},
{% include "api/_new_in_awx.md" %}

View File

@@ -1,3 +1,5 @@
# View Statistics for Job Runs
Make a GET request to this resource to retrieve aggregate statistics about job runs suitable for graphing.
## Parmeters and Filtering
@@ -33,5 +35,3 @@ Data will be returned in the following format:
Each element contains an epoch timestamp represented in seconds and a numerical value indicating
the number of events during that time period
{% include "api/_new_in_awx.md" %}

View File

@@ -1,3 +1 @@
Make a GET request to this resource to retrieve aggregate statistics for Tower.
{% include "api/_new_in_awx.md" %}

View File

@@ -1,4 +1,4 @@
# List All {{ model_verbose_name_plural|title }} for this {{ parent_model_verbose_name|title }}:
# List All {{ model_verbose_name_plural|title }} for {{ parent_model_verbose_name|title|anora }}:
Make a GET request to this resource to retrieve a list of all
{{ model_verbose_name_plural }} directly or indirectly belonging to this

View File

@@ -1,9 +1,7 @@
# List Potential Child Groups for this {{ parent_model_verbose_name|title }}:
# List Potential Child Groups for {{ parent_model_verbose_name|title|anora }}:
Make a GET request to this resource to retrieve a list of
{{ model_verbose_name_plural }} available to be added as children of the
current {{ parent_model_verbose_name }}.
{% include "api/_list_common.md" %}
{% include "api/_new_in_awx.md" %}

View File

@@ -1,4 +1,4 @@
# List All {{ model_verbose_name_plural|title }} for this {{ parent_model_verbose_name|title }}:
# List All {{ model_verbose_name_plural|title }} for {{ parent_model_verbose_name|title|anora }}:
Make a GET request to this resource to retrieve a list of all
{{ model_verbose_name_plural }} of which the selected

View File

@@ -1,3 +1,5 @@
# List Fact Scans for a Host Specific Host Scan
Make a GET request to this resource to retrieve system tracking data for a particular scan
You may filter by datetime:
@@ -7,5 +9,3 @@ You may filter by datetime:
and module
`?datetime=2015-06-01&module=ansible`
{% include "api/_new_in_awx.md" %}

View File

@@ -1,3 +1,5 @@
# List Fact Scans for a Host by Module and Date
Make a GET request to this resource to retrieve system tracking scans by module and date/time
You may filter scan runs using the `from` and `to` properties:
@@ -7,5 +9,3 @@ You may filter scan runs using the `from` and `to` properties:
You may also filter by module
`?module=packages`
{% include "api/_new_in_awx.md" %}

View File

@@ -0,0 +1 @@
# List Red Hat Insights for a Host

View File

@@ -29,5 +29,3 @@ Response code from this action will be:
- 202 if some inventory source updates were successful, but some failed
- 400 if all of the inventory source updates failed
- 400 if there are no inventory sources in the inventory
{% include "api/_new_in_awx.md" %}

View File

@@ -1,7 +1,9 @@
# List Root {{ model_verbose_name_plural|title }} for this {{ parent_model_verbose_name|title }}:
{% ifmeth GET %}
# List Root {{ model_verbose_name_plural|title }} for {{ parent_model_verbose_name|title|anora }}:
Make a GET request to this resource to retrieve a list of root (top-level)
{{ model_verbose_name_plural }} associated with this
{{ parent_model_verbose_name }}.
{% include "api/_list_common.md" %}
{% endifmeth %}

View File

@@ -10,7 +10,7 @@ object containing groups, including the hosts, children and variables for each
group. The response data is equivalent to that returned by passing the
`--list` argument to an inventory script.
_(Added in AWX 1.3)_ Specify a query string of `?hostvars=1` to retrieve the JSON
Specify a query string of `?hostvars=1` to retrieve the JSON
object above including all host variables. The `['_meta']['hostvars']` object
in the response contains an entry for each host with its variables. This
response format can be used with Ansible 1.3 and later to avoid making a
@@ -18,11 +18,19 @@ separate API request for each host. Refer to
[Tuning the External Inventory Script](http://docs.ansible.com/developing_inventory.html#tuning-the-external-inventory-script)
for more information on this feature.
_(Added in AWX 1.4)_ By default, the inventory script will only return hosts that
By default, the inventory script will only return hosts that
are enabled in the inventory. This feature allows disabled hosts to be skipped
when running jobs without removing them from the inventory. Specify a query
string of `?all=1` to return all hosts, including disabled ones.
Specify a query string of `?towervars=1` to add variables
to the hostvars of each host that specifies its enabled state and database ID.
Specify a query string of `?subset=slice2of5` to produce an inventory that
has a restricted number of hosts according to the rules of job slicing.
To apply multiple query strings, join them with the `&` character, like `?hostvars=1&all=1`.
## Host Response
Make a GET request to this resource with a query string similar to

View File

@@ -9,5 +9,3 @@ cancelled. The response will include the following field:
Make a POST request to this resource to cancel a pending or running inventory
update. The response status code will be 202 if successful, or 405 if the
update cannot be canceled.
{% include "api/_new_in_awx.md" %}

View File

@@ -9,5 +9,3 @@ from its inventory source. The response will include the following field:
Make a POST request to this resource to update the inventory source. If
successful, the response status code will be 202. If the inventory source is
not defined or cannot be updated, a 405 status code will be returned.
{% include "api/_new_in_awx.md" %}

View File

@@ -1,4 +1,4 @@
# Group Tree for this {{ model_verbose_name|title }}:
# Group Tree for {{ model_verbose_name|title|anora }}:
Make a GET request to this resource to retrieve a hierarchical view of groups
associated with the selected {{ model_verbose_name }}.
@@ -11,5 +11,3 @@ also containing a list of its children.
Each group data structure includes the following fields:
{% include "api/_result_fields_common.md" %}
{% include "api/_new_in_awx.md" %}

View File

@@ -1,10 +1,15 @@
# Cancel Job
{% ifmeth GET %}
# Determine if a Job can be cancelled
Make a GET request to this resource to determine if the job can be cancelled.
The response will include the following field:
* `can_cancel`: Indicates whether this job can be canceled (boolean, read-only)
{% endifmeth %}
{% ifmeth POST %}
# Cancel a Job
Make a POST request to this resource to cancel a pending or running job. The
response status code will be 202 if successful, or 405 if the job cannot be
canceled.
{% endifmeth %}

View File

@@ -23,5 +23,3 @@ Will show only failed plays. Alternatively `false` may be used.
?play__icontains=test
Will filter plays matching the substring `test`
{% include "api/_new_in_awx.md" %}

View File

@@ -25,5 +25,3 @@ Will show only failed plays. Alternatively `false` may be used.
?task__icontains=test
Will filter tasks matching the substring `test`
{% include "api/_new_in_awx.md" %}

View File

@@ -1,3 +1,3 @@
Relaunch a job:
Relaunch a Job:
Make a POST request to this resource to launch a job. If any passwords or variables are required then they should be passed in via POST data. In order to determine what values are required in order to launch a job based on this job template you may make a GET request to this endpoint.
Make a POST request to this resource to launch a job. If any passwords or variables are required then they should be passed in via POST data. In order to determine what values are required in order to launch a job based on this job template you may make a GET request to this endpoint.

View File

@@ -1,4 +1,5 @@
# Start Job
{% ifmeth GET %}
# Determine if a Job can be started
Make a GET request to this resource to determine if the job can be started and
whether any passwords are required to start the job. The response will include
@@ -7,10 +8,14 @@ the following fields:
* `can_start`: Flag indicating if this job can be started (boolean, read-only)
* `passwords_needed_to_start`: Password names required to start the job (array,
read-only)
{% endifmeth %}
{% ifmeth POST %}
# Start a Job
Make a POST request to this resource to start the job. If any passwords are
required, they must be passed via POST data.
If successful, the response status code will be 202. If any required passwords
are not provided, a 400 status code will be returned. If the job cannot be
started, a 405 status code will be returned.
{% endifmeth %}

View File

@@ -1,13 +1,7 @@
{% with 'false' as version_label_flag %}
{% include "api/sub_list_create_api_view.md" %}
{% endwith %}
Labels not associated with any other resources are deleted. A label can become disassociated with a resource as a result of 3 events.
1. A label is explicitly disassociated with a related job template
2. A job is deleted with labels
3. A cleanup job deletes a job with labels
{% with 'true' as version_label_flag %}
{% include "api/_new_in_awx.md" %}
{% endwith %}

View File

@@ -48,7 +48,7 @@ Here is a more comprehensive example showing the various question types and thei
"min": 5,
"max": "",
"required": false,
"default": "yes"
"default": "Leeloo Minai Lekarariba-Laminai-Tchai Ekbat De Sebat"
},
{
"type": "text",
@@ -57,9 +57,9 @@ Here is a more comprehensive example showing the various question types and thei
"variable": "short_answer",
"choices": "",
"min": "",
"max": 5,
"max": 7,
"required": false,
"default": "yes"
"default": "leeloo"
},
{
"type": "text",
@@ -70,7 +70,7 @@ Here is a more comprehensive example showing the various question types and thei
"min": "",
"max": "",
"required": true,
"default": "yes"
"default": "NOT OPTIONAL"
},
{
"type": "multiplechoice",
@@ -81,7 +81,7 @@ Here is a more comprehensive example showing the various question types and thei
"min": "",
"max": "",
"required": false,
"default": "yes"
"default": "one"
},
{
"type": "multiselect",
@@ -92,7 +92,7 @@ Here is a more comprehensive example showing the various question types and thei
"min": "",
"max": "",
"required": false,
"default": "yes"
"default": "one\nthree"
},
{
"type": "integer",

View File

@@ -1,8 +1,8 @@
{% ifmeth GET %}
# List {{ model_verbose_name_plural|title }}:
Make a GET request to this resource to retrieve the list of
{{ model_verbose_name_plural }}.
{% include "api/_list_common.md" %}
{% include "api/_new_in_awx.md" %}
{% endifmeth %}

View File

@@ -1,6 +1,6 @@
{% include "api/list_api_view.md" %}
# Create {{ model_verbose_name_plural|title }}:
# Create {{ model_verbose_name|title|anora }}:
Make a POST request to this resource with the following {{ model_verbose_name }}
fields to create a new {{ model_verbose_name }}:
@@ -8,5 +8,3 @@ fields to create a new {{ model_verbose_name }}:
{% with write_only=1 %}
{% include "api/_result_fields_common.md" with serializer_fields=serializer_create_fields %}
{% endwith %}
{% include "api/_new_in_awx.md" %}

View File

@@ -1,4 +1,4 @@
# Retrieve {{ model_verbose_name|title }} Playbooks:
Make GET request to this resource to retrieve a list of playbooks available
for this {{ model_verbose_name }}.
for {{ model_verbose_name|anora }}.

View File

@@ -9,5 +9,3 @@ cancelled. The response will include the following field:
Make a POST request to this resource to cancel a pending or running project
update. The response status code will be 202 if successful, or 405 if the
update cannot be canceled.
{% include "api/_new_in_awx.md" %}

View File

@@ -8,5 +8,3 @@ from its SCM source. The response will include the following field:
Make a POST request to this resource to update the project. If the project
cannot be updated, a 405 status code will be returned.
{% include "api/_new_in_awx.md" %}

View File

@@ -1,12 +1,6 @@
{% if has_named_url %}
### Note: starting from api v2, this resource object can be accessed via its named URL.
{% endif %}
# Retrieve {{ model_verbose_name|title }}:
# Retrieve {{ model_verbose_name|title|anora }}:
Make GET request to this resource to retrieve a single {{ model_verbose_name }}
record containing the following fields:
{% include "api/_result_fields_common.md" %}
{% include "api/_new_in_awx.md" %}

View File

@@ -1,16 +1,14 @@
{% if has_named_url %}
### Note: starting from api v2, this resource object can be accessed via its named URL.
{% endif %}
# Retrieve {{ model_verbose_name|title }}:
{% ifmeth GET %}
# Retrieve {{ model_verbose_name|title|anora }}:
Make GET request to this resource to retrieve a single {{ model_verbose_name }}
record containing the following fields:
{% include "api/_result_fields_common.md" %}
{% endifmeth %}
# Delete {{ model_verbose_name|title }}:
{% ifmeth DELETE %}
# Delete {{ model_verbose_name|title|anora }}:
Make a DELETE request to this resource to delete this {{ model_verbose_name }}.
{% include "api/_new_in_awx.md" %}
{% endifmeth %}

View File

@@ -1,15 +1,14 @@
{% if has_named_url %}
### Note: starting from api v2, this resource object can be accessed via its named URL.
{% endif %}
# Retrieve {{ model_verbose_name|title }}:
{% ifmeth GET %}
# Retrieve {{ model_verbose_name|title|anora }}:
Make GET request to this resource to retrieve a single {{ model_verbose_name }}
record containing the following fields:
{% include "api/_result_fields_common.md" %}
{% endifmeth %}
# Update {{ model_verbose_name|title }}:
{% ifmeth PUT PATCH %}
# Update {{ model_verbose_name|title|anora }}:
Make a PUT or PATCH request to this resource to update this
{{ model_verbose_name }}. The following fields may be modified:
@@ -17,9 +16,12 @@ Make a PUT or PATCH request to this resource to update this
{% with write_only=1 %}
{% include "api/_result_fields_common.md" with serializer_fields=serializer_update_fields %}
{% endwith %}
{% endifmeth %}
{% ifmeth PUT %}
For a PUT request, include **all** fields in the request.
{% endifmeth %}
{% ifmeth PATCH %}
For a PATCH request, include only the fields that are being modified.
{% include "api/_new_in_awx.md" %}
{% endifmeth %}

View File

@@ -1,15 +1,14 @@
{% if has_named_url %}
### Note: starting from api v2, this resource object can be accessed via its named URL.
{% endif %}
# Retrieve {{ model_verbose_name|title }}:
{% ifmeth GET %}
# Retrieve {{ model_verbose_name|title|anora }}:
Make GET request to this resource to retrieve a single {{ model_verbose_name }}
record containing the following fields:
{% include "api/_result_fields_common.md" %}
{% endifmeth %}
# Update {{ model_verbose_name|title }}:
{% ifmeth PUT PATCH %}
# Update {{ model_verbose_name|title|anora }}:
Make a PUT or PATCH request to this resource to update this
{{ model_verbose_name }}. The following fields may be modified:
@@ -17,13 +16,18 @@ Make a PUT or PATCH request to this resource to update this
{% with write_only=1 %}
{% include "api/_result_fields_common.md" with serializer_fields=serializer_update_fields %}
{% endwith %}
{% endifmeth %}
{% ifmeth PUT %}
For a PUT request, include **all** fields in the request.
{% endifmeth %}
{% ifmeth PATCH %}
For a PATCH request, include only the fields that are being modified.
{% endifmeth %}
# Delete {{ model_verbose_name|title }}:
{% ifmeth DELETE %}
# Delete {{ model_verbose_name|title|anora }}:
Make a DELETE request to this resource to delete this {{ model_verbose_name }}.
{% include "api/_new_in_awx.md" %}
{% endifmeth %}

View File

@@ -0,0 +1 @@
# Test Logging Configuration

View File

@@ -1,9 +1,9 @@
# List {{ model_verbose_name_plural|title }} for this {{ parent_model_verbose_name|title }}:
{% ifmeth GET %}
# List {{ model_verbose_name_plural|title }} for {{ parent_model_verbose_name|title|anora }}:
Make a GET request to this resource to retrieve a list of
{{ model_verbose_name_plural }} associated with the selected
{{ parent_model_verbose_name }}.
{% include "api/_list_common.md" %}
{% include "api/_new_in_awx.md" %}
{% endifmeth %}

View File

@@ -1,6 +1,6 @@
{% include "api/sub_list_api_view.md" %}
# Create {{ model_verbose_name_plural|title }} for this {{ parent_model_verbose_name|title }}:
# Create {{ model_verbose_name|title|anora }} for {{ parent_model_verbose_name|title|anora }}:
Make a POST request to this resource with the following {{ model_verbose_name }}
fields to create a new {{ model_verbose_name }} associated with this
@@ -25,7 +25,7 @@ delete the associated {{ model_verbose_name }}.
}
{% else %}
# Add {{ model_verbose_name_plural|title }} for this {{ parent_model_verbose_name|title }}:
# Add {{ model_verbose_name_plural|title }} for {{ parent_model_verbose_name|title|anora }}:
Make a POST request to this resource with only an `id` field to associate an
existing {{ model_verbose_name }} with this {{ parent_model_verbose_name }}.
@@ -37,5 +37,3 @@ remove the {{ model_verbose_name }} from this {{ parent_model_verbose_name }}
{% if model_verbose_name != "label" %} without deleting the {{ model_verbose_name }}{% endif %}.
{% endif %}
{% endif %}
{% include "api/_new_in_awx.md" %}

View File

@@ -0,0 +1,6 @@
{% include "api/sub_list_create_api_view.md" %}
# Delete all {{ model_verbose_name_plural }} of this {{ parent_model_verbose_name|title }}:
Make a DELETE request to this resource to delete all {{ model_verbose_name_plural }} show in the list.
The {{ parent_model_verbose_name|title }} will not be deleted by this request.

View File

@@ -12,12 +12,6 @@ For example on `cleanup_jobs` and `cleanup_activitystream`:
Which will act on data older than 30 days.
For `cleanup_facts`:
`{"extra_vars": {"older_than": "4w", "granularity": "3d"}}`
Which will reduce the granularity of scan data to one scan per 3 days when the data is older than 4w.
For `cleanup_activitystream` and `cleanup_jobs` commands, providing
`"dry_run": true` inside of `extra_vars` will show items that will be
removed without deleting them.
@@ -27,7 +21,6 @@ applicable either when running it from the command line or launching its
system job template with empty `extra_vars`.
- Defaults for `cleanup_activitystream`: days=90
- Defaults for `cleanup_facts`: older_than="30d", granularity="1w"
- Defaults for `cleanup_jobs`: days=90
If successful, the response status code will be 202. If the job cannot be

View File

@@ -1,12 +1,16 @@
# List Roles for this Team:
# List Roles for a Team:
{% ifmeth GET %}
Make a GET request to this resource to retrieve a list of roles associated with the selected team.
{% include "api/_list_common.md" %}
{% endifmeth %}
{% ifmeth POST %}
# Associate Roles with this Team:
Make a POST request to this resource to add or remove a role from this team. The following fields may be modified:
* `id`: The Role ID to add to the team. (int, required)
* `disassociate`: Provide if you want to remove the role. (any value, optional)
{% endifmeth %}

View File

@@ -25,5 +25,3 @@ dark background.
Files over {{ settings.STDOUT_MAX_BYTES_DISPLAY|filesizeformat }} (configurable)
will not display in the browser. Use the `txt_download` or `ansi_download`
formats to download the file directly to view it.
{% include "api/_new_in_awx.md" %}

View File

@@ -1,3 +1,5 @@
# Retrieve Information about the current User
Make a GET request to retrieve user information about the current user.
One result should be returned containing the following fields:

View File

@@ -1,12 +1,16 @@
# List Roles for this User:
# List Roles for a User:
{% ifmeth GET %}
Make a GET request to this resource to retrieve a list of roles associated with the selected user.
{% include "api/_list_common.md" %}
{% endifmeth %}
{% ifmeth POST %}
# Associate Roles with this User:
Make a POST request to this resource to add or remove a role from this user. The following fields may be modified:
* `id`: The Role ID to add to the user. (int, required)
* `disassociate`: Provide if you want to remove the role. (any value, optional)
{% endifmeth %}

View File

@@ -11,6 +11,7 @@ from awx.api.views import (
CredentialObjectRolesList,
CredentialOwnerUsersList,
CredentialOwnerTeamsList,
CredentialCopy,
)
@@ -22,6 +23,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/object_roles/$', CredentialObjectRolesList.as_view(), name='credential_object_roles_list'),
url(r'^(?P<pk>[0-9]+)/owner_users/$', CredentialOwnerUsersList.as_view(), name='credential_owner_users_list'),
url(r'^(?P<pk>[0-9]+)/owner_teams/$', CredentialOwnerTeamsList.as_view(), name='credential_owner_teams_list'),
url(r'^(?P<pk>[0-9]+)/copy/$', CredentialCopy.as_view(), name='credential_copy'),
]
__all__ = ['urls']

View File

@@ -20,6 +20,7 @@ from awx.api.views import (
InventoryAccessList,
InventoryObjectRolesList,
InventoryInstanceGroupsList,
InventoryCopy,
)
@@ -40,6 +41,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/access_list/$', InventoryAccessList.as_view(), name='inventory_access_list'),
url(r'^(?P<pk>[0-9]+)/object_roles/$', InventoryObjectRolesList.as_view(), name='inventory_object_roles_list'),
url(r'^(?P<pk>[0-9]+)/instance_groups/$', InventoryInstanceGroupsList.as_view(), name='inventory_instance_groups_list'),
url(r'^(?P<pk>[0-9]+)/copy/$', InventoryCopy.as_view(), name='inventory_copy'),
]
__all__ = ['urls']

View File

@@ -7,6 +7,7 @@ from awx.api.views import (
InventoryScriptList,
InventoryScriptDetail,
InventoryScriptObjectRolesList,
InventoryScriptCopy,
)
@@ -14,6 +15,7 @@ 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

@@ -10,6 +10,7 @@ from awx.api.views import (
InventorySourceUpdatesList,
InventorySourceActivityStreamList,
InventorySourceSchedulesList,
InventorySourceCredentialsList,
InventorySourceGroupsList,
InventorySourceHostsList,
InventorySourceNotificationTemplatesAnyList,
@@ -25,6 +26,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/inventory_updates/$', InventorySourceUpdatesList.as_view(), name='inventory_source_updates_list'),
url(r'^(?P<pk>[0-9]+)/activity_stream/$', InventorySourceActivityStreamList.as_view(), name='inventory_source_activity_stream_list'),
url(r'^(?P<pk>[0-9]+)/schedules/$', InventorySourceSchedulesList.as_view(), name='inventory_source_schedules_list'),
url(r'^(?P<pk>[0-9]+)/credentials/$', InventorySourceCredentialsList.as_view(), name='inventory_source_credentials_list'),
url(r'^(?P<pk>[0-9]+)/groups/$', InventorySourceGroupsList.as_view(), name='inventory_source_groups_list'),
url(r'^(?P<pk>[0-9]+)/hosts/$', InventorySourceHostsList.as_view(), name='inventory_source_hosts_list'),
url(r'^(?P<pk>[0-9]+)/notification_templates_any/$', InventorySourceNotificationTemplatesAnyList.as_view(),

View File

@@ -9,6 +9,8 @@ from awx.api.views import (
InventoryUpdateCancel,
InventoryUpdateStdout,
InventoryUpdateNotificationsList,
InventoryUpdateCredentialsList,
InventoryUpdateEventsList,
)
@@ -18,6 +20,8 @@ urls = [
url(r'^(?P<pk>[0-9]+)/cancel/$', InventoryUpdateCancel.as_view(), name='inventory_update_cancel'),
url(r'^(?P<pk>[0-9]+)/stdout/$', InventoryUpdateStdout.as_view(), name='inventory_update_stdout'),
url(r'^(?P<pk>[0-9]+)/notifications/$', InventoryUpdateNotificationsList.as_view(), name='inventory_update_notifications_list'),
url(r'^(?P<pk>[0-9]+)/credentials/$', InventoryUpdateCredentialsList.as_view(), name='inventory_update_credentials_list'),
url(r'^(?P<pk>[0-9]+)/events/$', InventoryUpdateEventsList.as_view(), name='inventory_update_events_list'),
]
__all__ = ['urls']

View File

@@ -8,6 +8,7 @@ from awx.api.views import (
JobTemplateDetail,
JobTemplateLaunch,
JobTemplateJobsList,
JobTemplateSliceWorkflowJobsList,
JobTemplateCallback,
JobTemplateSchedulesList,
JobTemplateSurveySpec,
@@ -19,6 +20,7 @@ from awx.api.views import (
JobTemplateAccessList,
JobTemplateObjectRolesList,
JobTemplateLabelList,
JobTemplateCopy,
)
@@ -27,6 +29,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/$', JobTemplateDetail.as_view(), name='job_template_detail'),
url(r'^(?P<pk>[0-9]+)/launch/$', JobTemplateLaunch.as_view(), name='job_template_launch'),
url(r'^(?P<pk>[0-9]+)/jobs/$', JobTemplateJobsList.as_view(), name='job_template_jobs_list'),
url(r'^(?P<pk>[0-9]+)/slice_workflow_jobs/$', JobTemplateSliceWorkflowJobsList.as_view(), name='job_template_slice_workflow_jobs_list'),
url(r'^(?P<pk>[0-9]+)/callback/$', JobTemplateCallback.as_view(), name='job_template_callback'),
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'),
@@ -41,6 +44,7 @@ urls = [
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'),
url(r'^(?P<pk>[0-9]+)/labels/$', JobTemplateLabelList.as_view(), name='job_template_label_list'),
url(r'^(?P<pk>[0-9]+)/copy/$', JobTemplateCopy.as_view(), name='job_template_copy'),
]
__all__ = ['urls']

View File

@@ -8,6 +8,7 @@ from awx.api.views import (
NotificationTemplateDetail,
NotificationTemplateTest,
NotificationTemplateNotificationList,
NotificationTemplateCopy,
)
@@ -16,6 +17,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/$', NotificationTemplateDetail.as_view(), name='notification_template_detail'),
url(r'^(?P<pk>[0-9]+)/test/$', NotificationTemplateTest.as_view(), name='notification_template_test'),
url(r'^(?P<pk>[0-9]+)/notifications/$', NotificationTemplateNotificationList.as_view(), name='notification_template_notification_list'),
url(r'^(?P<pk>[0-9]+)/copy/$', NotificationTemplateCopy.as_view(), name='notification_template_copy'),
]
__all__ = ['urls']

47
awx/api/urls/oauth2.py Normal file
View File

@@ -0,0 +1,47 @@
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
from django.conf.urls import url
from awx.api.views import (
OAuth2ApplicationList,
OAuth2ApplicationDetail,
ApplicationOAuth2TokenList,
OAuth2ApplicationActivityStreamList,
OAuth2TokenList,
OAuth2TokenDetail,
OAuth2TokenActivityStreamList,
)
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'^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'
),
]
__all__ = ['urls']

View File

@@ -0,0 +1,31 @@
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
from django.conf.urls import url
from oauthlib import oauth2
from oauth2_provider import views
from awx.api.views import (
ApiOAuthAuthorizationRootView,
)
class TokenView(views.TokenView):
def create_token_response(self, request):
try:
return super(TokenView, self).create_token_response(request)
except oauth2.AccessDeniedError as e:
return request.build_absolute_uri(), {}, str(e), '403'
urls = [
url(r'^$', ApiOAuthAuthorizationRootView.as_view(), name='oauth_authorization_root_view'),
url(r"^authorize/$", views.AuthorizationView.as_view(), name="authorize"),
url(r"^token/$", TokenView.as_view(), name="token"),
url(r"^revoke_token/$", views.RevokeTokenView.as_view(), name="revoke-token"),
]
__all__ = ['urls']

View File

@@ -21,6 +21,7 @@ from awx.api.views import (
OrganizationInstanceGroupsList,
OrganizationObjectRolesList,
OrganizationAccessList,
OrganizationApplicationList,
)
@@ -45,6 +46,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/instance_groups/$', OrganizationInstanceGroupsList.as_view(), name='organization_instance_groups_list'),
url(r'^(?P<pk>[0-9]+)/object_roles/$', OrganizationObjectRolesList.as_view(), name='organization_object_roles_list'),
url(r'^(?P<pk>[0-9]+)/access_list/$', OrganizationAccessList.as_view(), name='organization_access_list'),
url(r'^(?P<pk>[0-9]+)/applications/$', OrganizationApplicationList.as_view(), name='organization_applications_list'),
]
__all__ = ['urls']

View File

@@ -19,10 +19,11 @@ from awx.api.views import (
ProjectNotificationTemplatesSuccessList,
ProjectObjectRolesList,
ProjectAccessList,
ProjectCopy,
)
urls = [
urls = [
url(r'^$', ProjectList.as_view(), name='project_list'),
url(r'^(?P<pk>[0-9]+)/$', ProjectDetail.as_view(), name='project_detail'),
url(r'^(?P<pk>[0-9]+)/playbooks/$', ProjectPlaybooks.as_view(), name='project_playbooks'),
@@ -39,6 +40,7 @@ urls = [
name='project_notification_templates_success_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'),
]
__all__ = ['urls']

View File

@@ -10,6 +10,7 @@ from awx.api.views import (
ProjectUpdateStdout,
ProjectUpdateScmInventoryUpdates,
ProjectUpdateNotificationsList,
ProjectUpdateEventsList,
)
@@ -20,6 +21,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/stdout/$', ProjectUpdateStdout.as_view(), name='project_update_stdout'),
url(r'^(?P<pk>[0-9]+)/scm_inventory_updates/$', ProjectUpdateScmInventoryUpdates.as_view(), name='project_update_scm_inventory_updates'),
url(r'^(?P<pk>[0-9]+)/notifications/$', ProjectUpdateNotificationsList.as_view(), name='project_update_notifications_list'),
url(r'^(?P<pk>[0-9]+)/events/$', ProjectUpdateEventsList.as_view(), name='project_update_events_list'),
]
__all__ = ['urls']

View File

@@ -8,6 +8,7 @@ from awx.api.views import (
SystemJobDetail,
SystemJobCancel,
SystemJobNotificationsList,
SystemJobEventsList
)
@@ -16,6 +17,7 @@ urls = [
url(r'^(?P<pk>[0-9]+)/$', SystemJobDetail.as_view(), name='system_job_detail'),
url(r'^(?P<pk>[0-9]+)/cancel/$', SystemJobCancel.as_view(), name='system_job_cancel'),
url(r'^(?P<pk>[0-9]+)/notifications/$', SystemJobNotificationsList.as_view(), name='system_job_notifications_list'),
url(r'^(?P<pk>[0-9]+)/events/$', SystemJobEventsList.as_view(), name='system_job_events_list'),
]
__all__ = ['urls']

View File

@@ -2,8 +2,13 @@
# All Rights Reserved.
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.views import (
ApiRootView,
ApiV1RootView,
@@ -11,7 +16,6 @@ from awx.api.views import (
ApiV1PingView,
ApiV1ConfigView,
AuthView,
AuthTokenView,
UserMeList,
DashboardView,
DashboardJobsGraphView,
@@ -22,6 +26,12 @@ from awx.api.views import (
JobExtraCredentialsList,
JobTemplateCredentialsList,
JobTemplateExtraCredentialsList,
SchedulePreview,
ScheduleZoneInfo,
OAuth2ApplicationList,
OAuth2TokenList,
ApplicationOAuth2TokenList,
OAuth2ApplicationDetail,
)
from .organization import urls as organization_urls
@@ -57,6 +67,8 @@ from .schedule import urls as schedule_urls
from .activity_stream import urls as activity_stream_urls
from .instance import urls as instance_urls
from .instance_group import urls as instance_group_urls
from .oauth2 import urls as oauth2_urls
from .oauth2_root import urls as oauth2_root_urls
v1_urls = [
@@ -64,7 +76,6 @@ v1_urls = [
url(r'^ping/$', ApiV1PingView.as_view(), name='api_v1_ping_view'),
url(r'^config/$', ApiV1ConfigView.as_view(), name='api_v1_config_view'),
url(r'^auth/$', AuthView.as_view()),
url(r'^authtoken/$', AuthTokenView.as_view(), name='auth_token_view'),
url(r'^me/$', UserMeList.as_view(), name='user_me_list'),
url(r'^dashboard/$', DashboardView.as_view(), name='dashboard_view'),
url(r'^dashboard/graphs/jobs/$', DashboardJobsGraphView.as_view(), name='dashboard_jobs_graph_view'),
@@ -113,11 +124,31 @@ v2_urls = [
url(r'^jobs/(?P<pk>[0-9]+)/credentials/$', JobCredentialsList.as_view(), name='job_credentials_list'),
url(r'^job_templates/(?P<pk>[0-9]+)/extra_credentials/$', JobTemplateExtraCredentialsList.as_view(), name='job_template_extra_credentials_list'),
url(r'^job_templates/(?P<pk>[0-9]+)/credentials/$', JobTemplateCredentialsList.as_view(), name='job_template_credentials_list'),
url(r'^schedules/preview/$', SchedulePreview.as_view(), name='schedule_rrule'),
url(r'^schedules/zoneinfo/$', ScheduleZoneInfo.as_view(), name='schedule_zoneinfo'),
url(r'^applications/$', OAuth2ApplicationList.as_view(), name='o_auth2_application_list'),
url(r'^applications/(?P<pk>[0-9]+)/$', OAuth2ApplicationDetail.as_view(), name='o_auth2_application_detail'),
url(r'^applications/(?P<pk>[0-9]+)/tokens/$', ApplicationOAuth2TokenList.as_view(), name='application_o_auth2_token_list'),
url(r'^tokens/$', OAuth2TokenList.as_view(), name='o_auth2_token_list'),
url(r'^', include(oauth2_urls)),
]
app_name = 'api'
urlpatterns = [
url(r'^$', ApiRootView.as_view(), name='api_root_view'),
url(r'^(?P<version>(v2))/', include(v2_urls)),
url(r'^(?P<version>(v1|v2))/', include(v1_urls))
url(r'^(?P<version>(v1|v2))/', include(v1_urls)),
url(r'^login/$', LoggedLoginView.as_view(
template_name='rest_framework/login.html',
extra_context={'inside_login_context': True}
), 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'),
]

View File

@@ -14,9 +14,12 @@ from awx.api.views import (
UserRolesList,
UserActivityStreamList,
UserAccessList,
OAuth2ApplicationList,
OAuth2UserTokenList,
UserPersonalTokenList,
UserAuthorizedTokenList,
)
urls = [
url(r'^$', UserList.as_view(), name='user_list'),
url(r'^(?P<pk>[0-9]+)/$', UserDetail.as_view(), name='user_detail'),
@@ -28,6 +31,11 @@ urls = [
url(r'^(?P<pk>[0-9]+)/roles/$', UserRolesList.as_view(), name='user_roles_list'),
url(r'^(?P<pk>[0-9]+)/activity_stream/$', UserActivityStreamList.as_view(), name='user_activity_stream_list'),
url(r'^(?P<pk>[0-9]+)/access_list/$', UserAccessList.as_view(), name='user_access_list'),
url(r'^(?P<pk>[0-9]+)/applications/$', OAuth2ApplicationList.as_view(), name='o_auth2_application_list'),
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']

File diff suppressed because it is too large Load Diff

211
awx/api/views/inventory.py Normal file
View File

@@ -0,0 +1,211 @@
# Copyright (c) 2018 Red Hat, Inc.
# All Rights Reserved.
# Python
import logging
# Django
from django.conf import settings
from django.db.models import Q
from django.contrib.contenttypes.models import ContentType
from django.utils.translation import ugettext_lazy as _
# Django REST Framework
from rest_framework.exceptions import PermissionDenied
from rest_framework.response import Response
from rest_framework import status
# AWX
from awx.main.models import (
ActivityStream,
Inventory,
JobTemplate,
Role,
User,
InstanceGroup,
InventoryUpdateEvent,
InventoryUpdate,
InventorySource,
CustomInventoryScript,
)
from awx.api.generics import (
ListCreateAPIView,
RetrieveUpdateDestroyAPIView,
SubListAPIView,
SubListAttachDetachAPIView,
ResourceAccessList,
CopyAPIView,
)
from awx.api.serializers import (
InventorySerializer,
ActivityStreamSerializer,
RoleSerializer,
InstanceGroupSerializer,
InventoryUpdateEventSerializer,
CustomInventoryScriptSerializer,
InventoryDetailSerializer,
JobTemplateSerializer,
)
from awx.api.views.mixin import (
ActivityStreamEnforcementMixin,
RelatedJobsPreventDeleteMixin,
ControlledByScmMixin,
)
logger = logging.getLogger('awx.api.views.organization')
class InventoryUpdateEventsList(SubListAPIView):
model = InventoryUpdateEvent
serializer_class = InventoryUpdateEventSerializer
parent_model = InventoryUpdate
relationship = 'inventory_update_events'
view_name = _('Inventory Update Events List')
search_fields = ('stdout',)
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):
model = CustomInventoryScript
serializer_class = CustomInventoryScriptSerializer
class InventoryScriptDetail(RetrieveUpdateDestroyAPIView):
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):
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):
model = CustomInventoryScript
copy_return_serializer_class = CustomInventoryScriptSerializer
class InventoryList(ListCreateAPIView):
model = Inventory
serializer_class = InventorySerializer
def get_queryset(self):
qs = Inventory.accessible_objects(self.request.user, 'read_role')
qs = qs.select_related('admin_role', 'read_role', 'update_role', 'use_role', 'adhoc_role')
qs = qs.prefetch_related('created_by', 'modified_by', 'organization')
return qs
class InventoryDetail(RelatedJobsPreventDeleteMixin, ControlledByScmMixin, RetrieveUpdateDestroyAPIView):
model = Inventory
serializer_class = InventoryDetailSerializer
def update(self, request, *args, **kwargs):
obj = self.get_object()
kind = self.request.data.get('kind') or kwargs.get('kind')
# 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 super(InventoryDetail, self).update(request, *args, **kwargs)
def destroy(self, request, *args, **kwargs):
obj = self.get_object()
if not request.user.can_access(self.model, 'delete', obj):
raise PermissionDenied()
self.check_related_active_jobs(obj) # related jobs mixin
try:
obj.schedule_deletion(getattr(request.user, 'id', None))
return Response(status=status.HTTP_202_ACCEPTED)
except RuntimeError as e:
return Response(dict(error=_("{0}".format(e))), status=status.HTTP_400_BAD_REQUEST)
class InventoryActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView):
model = ActivityStream
serializer_class = ActivityStreamSerializer
parent_model = Inventory
relationship = 'activitystream_set'
search_fields = ('changes',)
def get_queryset(self):
parent = self.get_parent_object()
self.check_parent_access(parent)
qs = self.request.user.get_queryset(self.model)
return qs.filter(Q(inventory=parent) | Q(host__in=parent.hosts.all()) | Q(group__in=parent.groups.all()))
class InventoryInstanceGroupsList(SubListAttachDetachAPIView):
model = InstanceGroup
serializer_class = InstanceGroupSerializer
parent_model = Inventory
relationship = 'instance_groups'
class InventoryAccessList(ResourceAccessList):
model = User # needs to be User for AccessLists's
parent_model = Inventory
class InventoryObjectRolesList(SubListAPIView):
model = Role
serializer_class = RoleSerializer
parent_model = Inventory
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 InventoryJobTemplateList(SubListAPIView):
model = JobTemplate
serializer_class = JobTemplateSerializer
parent_model = Inventory
relationship = 'jobtemplates'
def get_queryset(self):
parent = self.get_parent_object()
self.check_parent_access(parent)
qs = self.request.user.get_queryset(self.model)
return qs.filter(inventory=parent)
class InventoryCopy(CopyAPIView):
model = Inventory
copy_return_serializer_class = InventorySerializer

309
awx/api/views/mixin.py Normal file
View File

@@ -0,0 +1,309 @@
# Copyright (c) 2018 Red Hat, Inc.
# All Rights Reserved.
import dateutil
import logging
from django.db.models import (
Count,
F,
)
from django.db import transaction
from django.shortcuts import get_object_or_404
from django.utils.timezone import now
from django.utils.translation import ugettext_lazy as _
from rest_framework.permissions import SAFE_METHODS
from rest_framework.exceptions import PermissionDenied
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.models.organization import Team
from awx.main.models.projects import Project
from awx.main.models.inventory import Inventory
from awx.main.models.jobs import JobTemplate
from awx.conf.license import (
feature_enabled,
LicenseForbids,
)
from awx.api.exceptions import ActiveJobConflict
logger = logging.getLogger('awx.api.views.mixin')
class ActivityStreamEnforcementMixin(object):
'''
Mixin to check that license supports activity streams.
'''
def check_permissions(self, request):
ret = super(ActivityStreamEnforcementMixin, self).check_permissions(request)
if not feature_enabled('activity_streams'):
raise LicenseForbids(_('Your license does not allow use of the activity stream.'))
return ret
class SystemTrackingEnforcementMixin(object):
'''
Mixin to check that license supports system tracking.
'''
def check_permissions(self, request):
ret = super(SystemTrackingEnforcementMixin, self).check_permissions(request)
if not feature_enabled('system_tracking'):
raise LicenseForbids(_('Your license does not permit use of system tracking.'))
return ret
class WorkflowsEnforcementMixin(object):
'''
Mixin to check that license supports workflows.
'''
def check_permissions(self, request):
ret = super(WorkflowsEnforcementMixin, self).check_permissions(request)
if not feature_enabled('workflows') and request.method not in ('GET', 'OPTIONS', 'DELETE'):
raise LicenseForbids(_('Your license does not allow use of workflows.'))
return ret
class UnifiedJobDeletionMixin(object):
'''
Special handling when deleting a running unified job object.
'''
def destroy(self, request, *args, **kwargs):
obj = self.get_object()
if not request.user.can_access(self.model, 'delete', obj):
raise PermissionDenied()
try:
if obj.unified_job_node.workflow_job.status in ACTIVE_STATES:
raise PermissionDenied(detail=_('Cannot delete job resource when associated workflow job is running.'))
except self.model.unified_job_node.RelatedObjectDoesNotExist:
pass
# Still allow deletion of new status, because these can be manually created
if obj.status in ACTIVE_STATES and obj.status != 'new':
raise PermissionDenied(detail=_("Cannot delete running job resource."))
elif not obj.event_processing_finished:
# 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)
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))
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)
if status.is_success(response.status_code):
if self.parent_model is Instance:
ig_obj = get_object_or_400(self.model, pk=sub_id)
inst_name = ig_obj.hostname
else:
inst_name = get_object_or_400(self.model, pk=sub_id).hostname
with transaction.atomic():
ig_qs = InstanceGroup.objects.select_for_update()
if self.parent_model is Instance:
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),
}
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:
return (sub_id, res)
sub = get_object_or_400(self.model, pk=sub_id)
attach_errors = self.is_valid_relation(None, sub)
if attach_errors:
return (sub_id, Response(attach_errors, status=status.HTTP_400_BAD_REQUEST))
return (sub_id, res)
def unattach(self, request, *args, **kwargs):
response = super(InstanceGroupMembershipMixin, self).unattach(request, *args, **kwargs)
if status.is_success(response.status_code):
sub_id = request.data.get('id', None)
if self.parent_model is Instance:
inst_name = self.get_parent_object().hostname
else:
inst_name = get_object_or_400(self.model, pk=sub_id).hostname
with transaction.atomic():
ig_qs = InstanceGroup.objects.select_for_update()
if self.parent_model is Instance:
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),
}
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))
ig_obj.save(update_fields=['policy_instance_list'])
return response
class RelatedJobsPreventDeleteMixin(object):
def perform_destroy(self, obj):
self.check_related_active_jobs(obj)
return super(RelatedJobsPreventDeleteMixin, self).perform_destroy(obj)
def check_related_active_jobs(self, obj):
active_jobs = obj.get_active_jobs()
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)
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))
class OrganizationCountsMixin(object):
def get_serializer_context(self, *args, **kwargs):
full_context = super(OrganizationCountsMixin, self).get_serializer_context(*args, **kwargs)
if self.request is None:
return full_context
db_results = {}
org_qs = self.model.accessible_objects(self.request.user, 'read_role')
org_id_list = org_qs.values('id')
if len(org_id_list) == 0:
if self.request.method == 'POST':
full_context['related_field_counts'] = {}
return full_context
inv_qs = Inventory.accessible_objects(self.request.user, 'read_role')
project_qs = Project.accessible_objects(self.request.user, 'read_role')
# 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')
JT_project_reference = 'project__organization'
JT_inventory_reference = 'inventory__organization'
db_results['job_templates_project'] = JobTemplate.accessible_objects(
self.request.user, 'read_role').exclude(
project__organization=F(JT_inventory_reference)).values(JT_project_reference).annotate(
Count(JT_project_reference)).order_by(JT_project_reference)
db_results['job_templates_inventory'] = JobTemplate.accessible_objects(
self.request.user, 'read_role').values(JT_inventory_reference).annotate(
Count(JT_inventory_reference)).order_by(JT_inventory_reference)
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')
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}
for res, count_qs in db_results.items():
if res == 'job_templates_project':
org_reference = JT_project_reference
elif res == 'job_templates_inventory':
org_reference = JT_inventory_reference
elif res == 'users':
org_reference = 'id'
else:
org_reference = 'organization'
for entry in count_qs:
org_id = entry[org_reference]
if org_id in count_context:
if res == 'users':
count_context[org_id]['admins'] = entry['admins']
count_context[org_id]['users'] = entry['users']
continue
count_context[org_id][res] = entry['%s__count' % org_reference]
# Combine the counts for job templates by project and inventory
for org in org_id_list:
org_id = org['id']
count_context[org_id]['job_templates'] = 0
for related_path in ['job_templates_project', 'job_templates_inventory']:
if related_path in count_context[org_id]:
count_context[org_id]['job_templates'] += count_context[org_id].pop(related_path)
full_context['related_field_counts'] = count_context
return full_context
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')
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)):
return
project_following_sources.update(scm_last_revision='')
def get_object(self):
obj = super(ControlledByScmMixin, self).get_object()
self._reset_inv_src_rev(obj)
return obj
def get_parent_object(self):
obj = super(ControlledByScmMixin, self).get_parent_object()
self._reset_inv_src_rev(obj)
return obj

View File

@@ -0,0 +1,247 @@
# Copyright (c) 2018 Red Hat, Inc.
# All Rights Reserved.
# Python
import logging
# Django
from django.db.models import Count
from django.contrib.contenttypes.models import ContentType
from django.utils.translation import ugettext_lazy as _
# AWX
from awx.conf.license import (
feature_enabled,
LicenseForbids,
)
from awx.main.models import (
ActivityStream,
Inventory,
Project,
JobTemplate,
WorkflowJobTemplate,
Organization,
NotificationTemplate,
Role,
User,
Team,
InstanceGroup,
)
from awx.api.generics import (
ListCreateAPIView,
RetrieveUpdateDestroyAPIView,
SubListAPIView,
SubListCreateAttachDetachAPIView,
SubListAttachDetachAPIView,
ResourceAccessList,
BaseUsersList,
)
from awx.api.serializers import (
OrganizationSerializer,
InventorySerializer,
ProjectSerializer,
UserSerializer,
TeamSerializer,
ActivityStreamSerializer,
RoleSerializer,
NotificationTemplateSerializer,
WorkflowJobTemplateSerializer,
InstanceGroupSerializer,
)
from awx.api.views.mixin import (
ActivityStreamEnforcementMixin,
RelatedJobsPreventDeleteMixin,
OrganizationCountsMixin,
)
logger = logging.getLogger('awx.api.views.organization')
class OrganizationList(OrganizationCountsMixin, ListCreateAPIView):
model = Organization
serializer_class = OrganizationSerializer
def get_queryset(self):
qs = Organization.accessible_objects(self.request.user, 'read_role')
qs = qs.select_related('admin_role', 'auditor_role', 'member_role', 'read_role')
qs = qs.prefetch_related('created_by', 'modified_by')
return qs
def create(self, request, *args, **kwargs):
"""Create a new organzation.
If there is already an organization and the license of this
instance does not permit multiple organizations, then raise
LicenseForbids.
"""
# Sanity check: If the multiple organizations feature is disallowed
# by the license, then we are only willing to create this organization
# if no organizations exist in the system.
if (not feature_enabled('multiple_organizations') and
self.model.objects.exists()):
raise LicenseForbids(_('Your license only permits a single '
'organization to exist.'))
# Okay, create the organization as usual.
return super(OrganizationList, self).create(request, *args, **kwargs)
class OrganizationDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView):
model = Organization
serializer_class = OrganizationSerializer
def get_serializer_context(self, *args, **kwargs):
full_context = super(OrganizationDetail, self).get_serializer_context(*args, **kwargs)
if not hasattr(self, 'kwargs') or 'pk' not in self.kwargs:
return full_context
org_id = int(self.kwargs['pk'])
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')
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(
project__organization__id=org_id).count()
full_context['related_field_counts'] = {}
full_context['related_field_counts'][org_id] = org_counts
return full_context
class OrganizationInventoriesList(SubListAPIView):
model = Inventory
serializer_class = InventorySerializer
parent_model = Organization
relationship = 'inventories'
class OrganizationUsersList(BaseUsersList):
model = User
serializer_class = UserSerializer
parent_model = Organization
relationship = 'member_role.members'
class OrganizationAdminsList(BaseUsersList):
model = User
serializer_class = UserSerializer
parent_model = Organization
relationship = 'admin_role.members'
class OrganizationProjectsList(SubListCreateAttachDetachAPIView):
model = Project
serializer_class = ProjectSerializer
parent_model = Organization
relationship = 'projects'
parent_key = 'organization'
class OrganizationWorkflowJobTemplatesList(SubListCreateAttachDetachAPIView):
model = WorkflowJobTemplate
serializer_class = WorkflowJobTemplateSerializer
parent_model = Organization
relationship = 'workflows'
parent_key = 'organization'
class OrganizationTeamsList(SubListCreateAttachDetachAPIView):
model = Team
serializer_class = TeamSerializer
parent_model = Organization
relationship = 'teams'
parent_key = 'organization'
class OrganizationActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView):
model = ActivityStream
serializer_class = ActivityStreamSerializer
parent_model = Organization
relationship = 'activitystream_set'
search_fields = ('changes',)
class OrganizationNotificationTemplatesList(SubListCreateAttachDetachAPIView):
model = NotificationTemplate
serializer_class = NotificationTemplateSerializer
parent_model = Organization
relationship = 'notification_templates'
parent_key = 'organization'
class OrganizationNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView):
model = NotificationTemplate
serializer_class = NotificationTemplateSerializer
parent_model = Organization
relationship = 'notification_templates_any'
class OrganizationNotificationTemplatesErrorList(SubListCreateAttachDetachAPIView):
model = NotificationTemplate
serializer_class = NotificationTemplateSerializer
parent_model = Organization
relationship = 'notification_templates_error'
class OrganizationNotificationTemplatesSuccessList(SubListCreateAttachDetachAPIView):
model = NotificationTemplate
serializer_class = NotificationTemplateSerializer
parent_model = Organization
relationship = 'notification_templates_success'
class OrganizationInstanceGroupsList(SubListAttachDetachAPIView):
model = InstanceGroup
serializer_class = InstanceGroupSerializer
parent_model = Organization
relationship = 'instance_groups'
class OrganizationAccessList(ResourceAccessList):
model = User # needs to be User for AccessLists's
parent_model = Organization
class OrganizationObjectRolesList(SubListAPIView):
model = Role
serializer_class = RoleSerializer
parent_model = Organization
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)

278
awx/api/views/root.py Normal file
View File

@@ -0,0 +1,278 @@
# Copyright (c) 2018 Ansible, Inc.
# All Rights Reserved.
import logging
import json
from collections import OrderedDict
from django.conf import settings
from django.utils.encoding import smart_text
from django.utils.decorators import method_decorator
from django.views.decorators.csrf import ensure_csrf_cookie
from django.template.loader import render_to_string
from django.utils.translation import ugettext_lazy as _
from rest_framework.permissions import AllowAny, IsAuthenticated
from rest_framework.response import Response
from rest_framework import status
from awx.api.generics import APIView
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.api.versioning import reverse, get_request_version, drf_reverse
from awx.conf.license import get_license, feature_enabled
from awx.main.models import (
Project,
Organization,
Instance,
InstanceGroup,
JobTemplate,
)
logger = logging.getLogger('awx.api.views.root')
class ApiRootView(APIView):
permission_classes = (AllowAny,)
view_name = _('REST API')
versioning_class = None
swagger_topic = 'Versioning'
@method_decorator(ensure_csrf_cookie)
def get(self, request, format=None):
''' List supported API versions '''
v1 = reverse('api:api_v1_root_view', kwargs={'version': 'v1'})
v2 = reverse('api:api_v2_root_view', kwargs={'version': 'v2'})
data = OrderedDict()
data['description'] = _('AWX REST API')
data['current_version'] = v2
data['available_versions'] = dict(v1 = v1, v2 = v2)
data['oauth2'] = drf_reverse('api:oauth_authorization_root_view')
if feature_enabled('rebranding'):
data['custom_logo'] = settings.CUSTOM_LOGO
data['custom_login_info'] = settings.CUSTOM_LOGIN_INFO
return Response(data)
class ApiOAuthAuthorizationRootView(APIView):
permission_classes = (AllowAny,)
view_name = _("API OAuth 2 Authorization Root")
versioning_class = None
swagger_topic = 'Authentication'
def get(self, request, format=None):
data = OrderedDict()
data['authorize'] = drf_reverse('api:authorize')
data['token'] = drf_reverse('api:token')
data['revoke_token'] = drf_reverse('api:revoke-token')
return Response(data)
class ApiVersionRootView(APIView):
permission_classes = (AllowAny,)
swagger_topic = 'Versioning'
def get(self, request, format=None):
''' List top level resources '''
data = OrderedDict()
data['ping'] = reverse('api:api_v1_ping_view', request=request)
data['instances'] = reverse('api:instance_list', request=request)
data['instance_groups'] = reverse('api:instance_group_list', request=request)
data['config'] = reverse('api:api_v1_config_view', request=request)
data['settings'] = reverse('api:setting_category_list', request=request)
data['me'] = reverse('api:user_me_list', request=request)
data['dashboard'] = reverse('api:dashboard_view', request=request)
data['organizations'] = reverse('api:organization_list', request=request)
data['users'] = reverse('api:user_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)
data['credentials'] = reverse('api:credential_list', request=request)
if get_request_version(request) > 1:
data['credential_types'] = reverse('api:credential_type_list', request=request)
data['applications'] = reverse('api:o_auth2_application_list', request=request)
data['tokens'] = reverse('api:o_auth2_token_list', request=request)
data['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)
data['schedules'] = reverse('api:schedule_list', request=request)
data['roles'] = reverse('api:role_list', request=request)
data['notification_templates'] = reverse('api:notification_template_list', request=request)
data['notifications'] = reverse('api:notification_list', request=request)
data['labels'] = reverse('api:label_list', request=request)
data['unified_job_templates'] = reverse('api:unified_job_template_list', request=request)
data['unified_jobs'] = reverse('api:unified_job_list', request=request)
data['activity_stream'] = reverse('api:activity_stream_list', request=request)
data['workflow_job_templates'] = reverse('api:workflow_job_template_list', request=request)
data['workflow_jobs'] = reverse('api:workflow_job_list', request=request)
data['workflow_job_template_nodes'] = reverse('api:workflow_job_template_node_list', request=request)
data['workflow_job_nodes'] = reverse('api:workflow_job_node_list', request=request)
return Response(data)
class ApiV1RootView(ApiVersionRootView):
view_name = _('Version 1')
class ApiV2RootView(ApiVersionRootView):
view_name = _('Version 2')
class ApiV1PingView(APIView):
"""A simple view that reports very basic information about this
instance, which is acceptable to be public information.
"""
permission_classes = (AllowAny,)
authentication_classes = ()
view_name = _('Ping')
swagger_topic = 'System Configuration'
def get(self, request, format=None):
"""Return some basic information about this instance
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,
}
response['instances'] = []
for instance in Instance.objects.all():
response['instances'].append(dict(node=instance.hostname, heartbeat=instance.modified,
capacity=instance.capacity, version=instance.version))
response['instances'].sort()
response['instance_groups'] = []
for instance_group in InstanceGroup.objects.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 ApiV1ConfigView(APIView):
permission_classes = (IsAuthenticated,)
view_name = _('Configuration')
swagger_topic = 'System Configuration'
def check_permissions(self, request):
super(ApiV1ConfigView, self).check_permissions(request)
if not request.user.is_superuser and request.method.lower() not in {'options', 'head', 'get'}:
self.permission_denied(request) # Raises PermissionDenied exception.
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)
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'
data = dict(
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
)
# If LDAP is enabled, user_ldap_fields will return a list of field
# names that are managed by LDAP and should be read-only for users with
# a non-empty ldap_dn attribute.
if getattr(settings, 'AUTH_LDAP_SERVER_URI', None) and feature_enabled('ldap'):
user_ldap_fields = ['username', 'password']
user_ldap_fields.extend(getattr(settings, 'AUTH_LDAP_USER_ATTR_MAP', {}).keys())
user_ldap_fields.extend(getattr(settings, 'AUTH_LDAP_USER_FLAGS_BY_GROUP', {}).keys())
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():
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()
return Response(data)
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")
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))
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)
# If the license is valid, write it to the database.
if license_data_validated['valid_key']:
settings.LICENSE = license_data
settings.TOWER_URL_BASE = "{}://{}".format(request.scheme, request.get_host())
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)
def delete(self, request):
try:
settings.LICENSE = {}
return Response(status=status.HTTP_204_NO_CONTENT)
except Exception:
# FIX: Log
return Response({"error": _("Failed to remove license.")}, status=status.HTTP_400_BAD_REQUEST)

View File

@@ -1,23 +0,0 @@
# Copyright (c) 2017 Ansible, Inc.
# All Rights Reserved.
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
try:
import awx.devonly # noqa
MODE = 'development'
except ImportError: # pragma: no cover
MODE = 'production'
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'awx.settings.%s' % MODE)
app = Celery('awx')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
if __name__ == '__main__':
app.start()

View File

@@ -2,8 +2,6 @@
from django.apps import AppConfig
# from django.core import checks
from django.utils.translation import ugettext_lazy as _
from awx.main.utils.handlers import configure_external_logger
from django.conf import settings
class ConfConfig(AppConfig):
@@ -15,4 +13,3 @@ class ConfConfig(AppConfig):
self.module.autodiscover()
from .settings import SettingsWrapper
SettingsWrapper.initialize()
configure_external_logger(settings)

View File

@@ -1,6 +1,7 @@
# Python
import logging
import urlparse
from collections import OrderedDict
# Django
from django.core.validators import URLValidator
@@ -139,6 +140,8 @@ class KeyValueField(DictField):
ret = super(KeyValueField, self).to_internal_value(data)
for value in data.values():
if not isinstance(value, six.string_types + six.integer_types + (float,)):
if isinstance(value, OrderedDict):
value = dict(value)
self.fail('invalid_child', input=value)
return ret

View File

@@ -0,0 +1,26 @@
# -*- coding: utf-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')
def reverse_copy_session_settings(apps, schema_editor):
_rename_setting.rename_setting(apps, schema_editor, old_key='SESSION_COOKIE_AGE', new_key='AUTH_TOKEN_EXPIRATION')
_rename_setting.rename_setting(apps, schema_editor, old_key='SESSIONS_PER_USER', new_key='AUTH_TOKEN_PER_USER')
class Migration(migrations.Migration):
dependencies = [
('conf', '0004_v320_reencrypt'),
]
operations = [
migrations.RunPython(copy_session_settings, reverse_copy_session_settings),
]

View File

@@ -0,0 +1,18 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
# AWX
from awx.conf.migrations._ldap_group_type import fill_ldap_group_type_params
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('conf', '0005_v330_rename_two_session_settings'),
]
operations = [
migrations.RunPython(fill_ldap_group_type_params),
]

Some files were not shown because too many files have changed in this diff Show More