|
Jakub Filak |
588d47d |
From 757976faf59bc2caad63102c1b17463933c1b7fa Mon Sep 17 00:00:00 2001
|
|
Jakub Filak |
588d47d |
From: Jakub Filak <jfilak@redhat.com>
|
|
Jakub Filak |
588d47d |
Date: Fri, 19 Feb 2016 06:51:32 +0100
|
|
Jakub Filak |
588d47d |
Subject: [PATCH] Allow disabling particular tasks in the manager
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
Userspace core support is still a bit problematic, so it is not a good
|
|
Jakub Filak |
588d47d |
idea to offer this type of tasks to users in the manager.
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
I decided to move the task forms to separate files because I wanted to
|
|
Jakub Filak |
588d47d |
avoid the need to escape strings in Python code.
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
|
Jakub Filak |
588d47d |
---
|
|
Jakub Filak |
588d47d |
src/Makefile.am | 2 ++
|
|
Jakub Filak |
588d47d |
src/config/retrace-server.conf | 7 +++++++
|
|
Jakub Filak |
588d47d |
src/manager.wsgi | 13 +++++++++++++
|
|
Jakub Filak |
588d47d |
src/manager.xhtml | 31 ++-----------------------------
|
|
Jakub Filak |
588d47d |
src/manager_usrcore_task_form.xhtml | 17 +++++++++++++++++
|
|
Jakub Filak |
588d47d |
src/manager_vmcore_task_form.xhtml | 13 +++++++++++++
|
|
Jakub Filak |
588d47d |
6 files changed, 54 insertions(+), 29 deletions(-)
|
|
Jakub Filak |
588d47d |
create mode 100644 src/manager_usrcore_task_form.xhtml
|
|
Jakub Filak |
588d47d |
create mode 100644 src/manager_vmcore_task_form.xhtml
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
diff --git a/src/Makefile.am b/src/Makefile.am
|
|
Jakub Filak |
588d47d |
index dfd3f53..043c416 100644
|
|
Jakub Filak |
588d47d |
--- a/src/Makefile.am
|
|
Jakub Filak |
588d47d |
+++ b/src/Makefile.am
|
|
Jakub Filak |
588d47d |
@@ -39,6 +39,8 @@ interface_PYTHON = backtrace.wsgi \
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
interface_DATA = index.xhtml \
|
|
Jakub Filak |
588d47d |
manager.xhtml \
|
|
Jakub Filak |
588d47d |
+ manager_vmcore_task_form.xhtml \
|
|
Jakub Filak |
588d47d |
+ manager_usrcore_task_form.xhtml \
|
|
Jakub Filak |
588d47d |
managertask.xhtml \
|
|
Jakub Filak |
588d47d |
stats.xhtml
|
|
Jakub Filak |
588d47d |
# interfacedir should probably be $$(pkgdatadir)/retrace
|
|
Jakub Filak |
588d47d |
diff --git a/src/config/retrace-server.conf b/src/config/retrace-server.conf
|
|
Jakub Filak |
588d47d |
index 28991a7..8eab59f 100644
|
|
Jakub Filak |
588d47d |
--- a/src/config/retrace-server.conf
|
|
Jakub Filak |
588d47d |
+++ b/src/config/retrace-server.conf
|
|
Jakub Filak |
588d47d |
@@ -22,6 +22,12 @@ AllowExternalDir = 0
|
|
Jakub Filak |
588d47d |
# Allow to create tasks owned by task manager (security risk)
|
|
Jakub Filak |
588d47d |
AllowTaskManager = 0
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
+# Allow to create VMCore tasks in the task manager
|
|
Jakub Filak |
588d47d |
+AllowVMCoreTask = 1
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+# Allow to create Userspace core tasks in the task manager
|
|
Jakub Filak |
588d47d |
+AllowUsrCoreTask = 1
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
# If white list is disabled, anyone can delete tasks
|
|
Jakub Filak |
588d47d |
TaskManagerAuthDelete = 0
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
@@ -143,6 +149,7 @@ EmailNotify = 0
|
|
Jakub Filak |
588d47d |
# Who sends the e-mail notifications
|
|
Jakub Filak |
588d47d |
EmailNotifyFrom = retrace@localhost
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
[archhosts]
|
|
Jakub Filak |
588d47d |
i386 =
|
|
Jakub Filak |
588d47d |
x86_64 =
|
|
Jakub Filak |
588d47d |
diff --git a/src/manager.wsgi b/src/manager.wsgi
|
|
Jakub Filak |
588d47d |
index 93ead9d..59d1372 100644
|
|
Jakub Filak |
588d47d |
--- a/src/manager.wsgi
|
|
Jakub Filak |
588d47d |
+++ b/src/manager.wsgi
|
|
Jakub Filak |
588d47d |
@@ -602,6 +602,18 @@ def application(environ, start_response):
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
custom_url = "%s/__custom__" % match.group(1)
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
+ vmcore_form = ""
|
|
Jakub Filak |
588d47d |
+ if CONFIG["AllowVMCoreTask"]:
|
|
Jakub Filak |
588d47d |
+ with open("/usr/share/retrace-server/manager_vmcore_task_form.xhtml") as f:
|
|
Jakub Filak |
588d47d |
+ vmcore_form = f.read(1 << 20) # 1MB
|
|
Jakub Filak |
588d47d |
+ output = output.replace("{vmcore_task_form}", vmcore_form)
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+ usrcore_form = ""
|
|
Jakub Filak |
588d47d |
+ if CONFIG["AllowUsrCoreTask"]:
|
|
Jakub Filak |
588d47d |
+ with open("/usr/share/retrace-server/manager_usrcore_task_form.xhtml") as f:
|
|
Jakub Filak |
588d47d |
+ usrcore_form = f.read(1 << 20) # 1MB
|
|
Jakub Filak |
588d47d |
+ output = output.replace("{usrcore_task_form}", usrcore_form)
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
output = output.replace("{title}", title)
|
|
Jakub Filak |
588d47d |
output = output.replace("{sitename}", sitename)
|
|
Jakub Filak |
588d47d |
output = output.replace("{available_str}", available_str)
|
|
Jakub Filak |
588d47d |
@@ -619,4 +631,5 @@ def application(environ, start_response):
|
|
Jakub Filak |
588d47d |
output = output.replace("{running}", "\n ".join(running))
|
|
Jakub Filak |
588d47d |
output = output.replace("{finished}", "\n ".join(finished))
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
return response(start_response, "200 OK", output, [("Content-Type", "text/html")])
|
|
Jakub Filak |
588d47d |
diff --git a/src/manager.xhtml b/src/manager.xhtml
|
|
Jakub Filak |
588d47d |
index 041f994..5c3f231 100644
|
|
Jakub Filak |
588d47d |
--- a/src/manager.xhtml
|
|
Jakub Filak |
588d47d |
+++ b/src/manager.xhtml
|
|
Jakub Filak |
588d47d |
@@ -182,35 +182,8 @@
|
|
Jakub Filak |
588d47d |
<input type="text" name="filter" />
|
|
Jakub Filak |
588d47d |
<input type="submit" value="Filter" class="submit" />
|
|
Jakub Filak |
588d47d |
</form>
|
|
Jakub Filak |
588d47d |
- vmcore
|
|
Jakub Filak |
588d47d |
- <form method="post" action="{create_custom_url}" id="custom">
|
|
Jakub Filak |
588d47d |
-
|
|
Jakub Filak |
588d47d |
- Kernel version (e.g. 2.6.32-287.el6.x86_64 , empty to autodetect): <input type="text" name="vra" />
|
|
Jakub Filak |
588d47d |
- <input type="checkbox" checked="checked" name="debug" class="checkbox" /> Be more verbose in case of error
|
|
Jakub Filak |
588d47d |
-
|
|
Jakub Filak |
588d47d |
-
|
|
Jakub Filak |
588d47d |
- Custom core location: <input type="text" name="custom_url" class="url" />
|
|
Jakub Filak |
588d47d |
- <input type="hidden" name="task_type" value="vmcore">
|
|
Jakub Filak |
588d47d |
- <input type="submit" value="Create vmcore task" class="submit" />
|
|
Jakub Filak |
588d47d |
- Any URL that wget can download or a local path (file:///foo/bar or just /foo/bar )
|
|
Jakub Filak |
588d47d |
-
|
|
Jakub Filak |
588d47d |
- </form>
|
|
Jakub Filak |
588d47d |
- coredump
|
|
Jakub Filak |
588d47d |
- <form method="post" action="{create_custom_url}" id="custom">
|
|
Jakub Filak |
588d47d |
-
|
|
Jakub Filak |
588d47d |
- All of these three fields override contents of package , executable and os_release files contained in the coredump archive. If you're uploading you have just the bare (compressed) coredump, you must specify these.
|
|
Jakub Filak |
588d47d |
- <input type="checkbox" checked="checked" name="debug" class="checkbox" /> Be more verbose in case of error
|
|
Jakub Filak |
588d47d |
- Package (e.g. coreutils-8.22-11.el7 ): <input type="text" name="package" />
|
|
Jakub Filak |
588d47d |
- Executable (e.g. /usr/bin/sleep ): <input type="text" name="executable" />
|
|
Jakub Filak |
588d47d |
- OS Release (e.g. Red Hat Enterprise Linux Workstation release 7.0 (Maipo) ): <input type="text" name="os_release" />
|
|
Jakub Filak |
588d47d |
-
|
|
Jakub Filak |
588d47d |
-
|
|
Jakub Filak |
588d47d |
- Custom core location: <input type="text" name="custom_url" class="url" />
|
|
Jakub Filak |
588d47d |
- <input type="hidden" name="task_type" value="coredump">
|
|
Jakub Filak |
588d47d |
- <input type="submit" value="Create coredump task" class="submit" />
|
|
Jakub Filak |
588d47d |
- Any URL that wget can download or a local path (file:///foo/bar or just /foo/bar )
|
|
Jakub Filak |
588d47d |
-
|
|
Jakub Filak |
588d47d |
- </form>
|
|
Jakub Filak |
588d47d |
+{vmcore_task_form}
|
|
Jakub Filak |
588d47d |
+{usrcore_task_form}
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
|
|
Jakub Filak |
588d47d |
diff --git a/src/manager_usrcore_task_form.xhtml b/src/manager_usrcore_task_form.xhtml
|
|
Jakub Filak |
588d47d |
new file mode 100644
|
|
Jakub Filak |
588d47d |
index 0000000..c210600
|
|
Jakub Filak |
588d47d |
--- /dev/null
|
|
Jakub Filak |
588d47d |
+++ b/src/manager_usrcore_task_form.xhtml
|
|
Jakub Filak |
588d47d |
@@ -0,0 +1,17 @@
|
|
Jakub Filak |
588d47d |
+ userspace core
|
|
Jakub Filak |
588d47d |
+ <form method="post" action="{create_custom_url}" id="custom">
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+ All of these three fields override contents of package , executable and os_release files contained in the coredump archive. If you're uploading you have just the bare (compressed) coredump, you must specify these.
|
|
Jakub Filak |
588d47d |
+ <input type="checkbox" checked="checked" name="debug" class="checkbox" /> Be more verbose in case of error
|
|
Jakub Filak |
588d47d |
+ Package (e.g. coreutils-8.22-11.el7 ): <input type="text" name="package" />
|
|
Jakub Filak |
588d47d |
+ Executable (e.g. /usr/bin/sleep ): <input type="text" name="executable" />
|
|
Jakub Filak |
588d47d |
+ OS Release (e.g. Red Hat Enterprise Linux Workstation release 7.0 (Maipo) ): <input type="text" name="os_release" />
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+ Custom core location: <input type="text" name="custom_url" class="url" />
|
|
Jakub Filak |
588d47d |
+ <input type="hidden" name="task_type" value="coredump">
|
|
Jakub Filak |
588d47d |
+ <input type="submit" value="Create coredump task" class="submit" />
|
|
Jakub Filak |
588d47d |
+ Any URL that wget can download or a local path (file:///foo/bar or just /foo/bar )
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+ </form>
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
diff --git a/src/manager_vmcore_task_form.xhtml b/src/manager_vmcore_task_form.xhtml
|
|
Jakub Filak |
588d47d |
new file mode 100644
|
|
Jakub Filak |
588d47d |
index 0000000..2307b3b
|
|
Jakub Filak |
588d47d |
--- /dev/null
|
|
Jakub Filak |
588d47d |
+++ b/src/manager_vmcore_task_form.xhtml
|
|
Jakub Filak |
588d47d |
@@ -0,0 +1,13 @@
|
|
Jakub Filak |
588d47d |
+ vmcore
|
|
Jakub Filak |
588d47d |
+ <form method="post" action="{create_custom_url}" id="custom">
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+ Kernel version (e.g. 2.6.32-287.el6.x86_64 , empty to autodetect): <input type="text" name="vra" />
|
|
Jakub Filak |
588d47d |
+ <input type="checkbox" checked="checked" name="debug" class="checkbox" /> Be more verbose in case of error
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+ Custom core location: <input type="text" name="custom_url" class="url" />
|
|
Jakub Filak |
588d47d |
+ <input type="hidden" name="task_type" value="vmcore">
|
|
Jakub Filak |
588d47d |
+ <input type="submit" value="Create vmcore task" class="submit" />
|
|
Jakub Filak |
588d47d |
+ Any URL that wget can download or a local path (file:///foo/bar or just /foo/bar )
|
|
Jakub Filak |
588d47d |
+
|
|
Jakub Filak |
588d47d |
+ </form>
|
|
Jakub Filak |
588d47d |
--
|
|
Jakub Filak |
588d47d |
2.7.1
|
|
Jakub Filak |
588d47d |
|