Browse Source

[jobbrowser] Pre-select first non empty log tab

Select first tab is all empty
Bump Oozie rerun form inputs to 1024 chars
Romain Rigaux 12 years ago
parent
commit
380e172309

+ 8 - 8
apps/jobbrowser/src/jobbrowser/templates/attempt_logs.mako

@@ -73,34 +73,34 @@ ${ line | unicode,trim }
                   %>
                   <div class="tabbable">
                     <ul class="nav nav-pills">
-                      <li class="active"><a href="#logsDiagnostic" data-toggle="tab">${_('task diagnostic log')}</a></li>
-                      <li class=""><a href="#logsStdOut" data-toggle="tab">${_('stdout')}</a></li>
-                      <li class=""><a href="#logsStdErr" data-toggle="tab">${_('stderr')}</a></li>
-                      <li class=""><a href="#logsSysLog" data-toggle="tab">${_('syslog')}</a></li>
+                      <li class="${ first_log_tab == 0 and 'active' or '' }"><a href="#logsDiagnostic" data-toggle="tab">${_('task diagnostic log')}</a></li>
+                      <li class="${ first_log_tab == 1 and 'active' or '' }"><a href="#logsStdOut" data-toggle="tab">${_('stdout')}</a></li>
+                      <li class="${ first_log_tab == 2 and 'active' or '' }"><a href="#logsStdErr" data-toggle="tab">${_('stderr')}</a></li>
+                      <li class="${ first_log_tab == 3 and 'active' or '' }"><a href="#logsSysLog" data-toggle="tab">${_('syslog')}</a></li>
                     </ul>
                     <div class="tab-content">
-                      <div class="tab-pane active" id="logsDiagnostic">
+                      <div class="tab-pane ${ first_log_tab == 0 and 'active' or '' }" id="logsDiagnostic">
                           % if not log_diagnostic:
                             <pre>-- empty --</pre>
                           % else:
                             <pre>${format_log(log_diagnostic)}</pre>
                           % endif
                       </div>
-                      <div class="tab-pane" id="logsStdOut">
+                      <div class="tab-pane ${ first_log_tab == 1 and 'active' or '' }" id="logsStdOut">
                           % if not log_stdout:
                             <pre>-- empty --</pre>
                           % else:
                             <pre>${format_log(log_stdout)}</pre>
                           % endif
                       </div>
-                      <div class="tab-pane" id="logsStdErr">
+                      <div class="tab-pane ${ first_log_tab == 2 and 'active' or '' }" id="logsStdErr">
                           % if not log_stderr:
                             <pre>-- empty --</pre>
                           % else:
                             <pre>${format_log(log_stderr)}</pre>
                           % endif
                       </div>
-                      <div class="tab-pane" id="logsSysLog">
+                      <div class="tab-pane ${ first_log_tab == 3 and 'active' or '' }" id="logsSysLog">
                           % if not log_syslog:
                             <pre>-- empty --</pre>
                           % else:

+ 1 - 1
apps/jobbrowser/src/jobbrowser/tests.py

@@ -422,7 +422,7 @@ class TestJobBrowserWithHadoop(unittest.TestCase, OozieServerProvider):
     # Test job single logs page
     response = self.client.get('/jobbrowser/jobs/%s/single_logs' % (hadoop_job_id))
     assert_true('syslog' in response.content)
-
+    assert_true('<div class="tab-pane active" id="logsSysLog">' in response.content, response.content)
 
 
 class TestMapReduce2:

+ 4 - 1
apps/jobbrowser/src/jobbrowser/views.py

@@ -288,17 +288,20 @@ def single_task_attempt_logs(request, job, taskid, attemptid):
     logs = [ diagnostic_log ]
     # Add remaining logs
     logs += [ section.strip() for section in attempt.get_task_log() ]
+    first_log_tab = next((i for i, log in enumerate(logs) if log), 0)
   except TaskTrackerNotFoundException:
     # Four entries,
     # for diagnostic, stdout, stderr and syslog
     logs = [ _("Failed to retrieve log. TaskTracker not found.") ] * 4
+    first_log_tab = 0
 
   return render("attempt_logs.mako", request, {
       "attempt": attempt,
       "taskid": taskid,
       "joblnk": job_link,
       "task": task,
-      "logs": logs
+      "logs": logs,
+      "first_log_tab": first_log_tab,
     })
 
 @check_job_permission

+ 1 - 1
apps/oozie/src/oozie/forms.py

@@ -35,7 +35,7 @@ LOG = logging.getLogger(__name__)
 
 class ParameterForm(forms.Form):
   name = forms.CharField(max_length=40, widget=forms.widgets.HiddenInput())
-  value = forms.CharField(max_length=100, required=False)
+  value = forms.CharField(max_length=1024, required=False)
 
   NON_PARAMETERS = (
       'user.name',