Browse Source

HUE-5090 [oozie] Initial prefixing of Oozie scheduled jobs

Romain Rigaux 9 years ago
parent
commit
bbd710e

+ 0 - 1
apps/jobbrowser/src/jobbrowser/api2.py

@@ -28,7 +28,6 @@ from jobbrowser.apis.base_api import get_api
 LOG = logging.getLogger(__name__)
 
 
-
 def api_error_handler(func):
   def decorator(*args, **kwargs):
     response = {}

+ 0 - 1
apps/jobbrowser/src/jobbrowser/apis/batch_api.py

@@ -49,7 +49,6 @@ class BatchApi(Api):
         'progress': 100,
         'duration': 10 * 3600,
         'submitted': 10 * 3600
-        
     } for app in wf_list.jobs if app.appName.startswith(OozieApi.BATCH_JOB_PREFIX)]
 
   def app(self, appid):

+ 11 - 1
apps/jobbrowser/src/jobbrowser/apis/schedule_api.py

@@ -20,6 +20,7 @@ import logging
 from django.utils.translation import ugettext as _
 
 from liboozie.oozie_api import get_oozie
+from notebook.connectors.oozie_batch import OozieApi
 
 from jobbrowser.apis.base_api import Api
 
@@ -40,7 +41,16 @@ class ScheduleApi(Api):
     kwargs = {'cnt': OOZIE_JOBS_COUNT.get(), 'filters': []}
     wf_list = oozie_api.get_coordinators(**kwargs)
 
-    return [{'id': app.id, 'status': app.status} for app in wf_list.jobs]
+    return [{
+        'id': app.id,
+        'name': app.appName,
+        'status': app.status,
+        'type': 'coordinator',
+        'user': app.user,
+        'progress': 100,
+        'duration': 10 * 3600,
+        'submitted': 10 * 3600
+    } for app in wf_list.jobs if app.appName.startswith(OozieApi.SCHEDULE_JOB_PREFIX)]
 
   def app(self, appid):
     oozie_api = get_oozie(self.user)

+ 5 - 1
apps/oozie/src/oozie/models2.py

@@ -44,6 +44,7 @@ from hadoop.fs.exceptions import WebHdfsException
 from liboozie.oozie_api import get_oozie
 from liboozie.submission2 import Submission
 from liboozie.submission2 import create_directories
+from notebook.connectors.oozie_batch import OozieApi
 from notebook.models import Notebook
 
 from oozie.conf import REMOTE_SAMPLE_DIR
@@ -3117,7 +3118,10 @@ class Coordinator(Job):
 
   @property
   def name(self):
-    return self.data['name']
+    if self.data['properties']['document']:
+      return _("%s for %s") % (OozieApi.SCHEDULE_JOB_PREFIX, self.data['name'] or self.data['type'])
+    else:
+      return self.data['name']
 
   def set_workspace(self, user):
     self.data['properties']['deployment_dir'] = Job.get_workspace(user)

+ 2 - 1
desktop/libs/notebook/src/notebook/connectors/oozie_batch.py

@@ -49,7 +49,8 @@ class OozieApi(Api):
   RESULTS_PATTERN_GENERIC = "(?P<results>>>> Invoking Main class now >>>.+<<< Invocation of Main class completed <<<)"
   RESULTS_PATTERN_MAPREDUCE = "(?P<results>.+)"
   RESULTS_PATTERN_PIG = "(?P<results>>>> Invoking Pig command line now >>>.+<<< Invocation of Pig command completed <<<)"
-  BATCH_JOB_PREFIX = 'Hue_Batch_'
+  BATCH_JOB_PREFIX = 'Hue_Batch'
+  SCHEDULE_JOB_PREFIX = 'Hue_Schedule'
 
   def __init__(self, *args, **kwargs):
     Api.__init__(self, *args, **kwargs)