Browse Source

[oozie] Add new retry properties to all the new Action nodes

Romain Rigaux 10 năm trước cách đây
mục cha
commit
dc86f32dd9

+ 199 - 0
apps/oozie/src/oozie/models2.py

@@ -458,6 +458,20 @@ class PigAction(Action):
           'value': [],
           'help_text': _('Refer to a Hadoop JobConf job.xml'),
           'type': ''
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -543,6 +557,20 @@ class JavaAction(Action):
           'value': [],
           'help_text': _('Refer to a Hadoop JobConf job.xml'),
           'type': ''
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -603,6 +631,20 @@ class HiveAction(Action):
           'value': '',
           'help_text': _('Refer to a hive-site.xml for connecting to Hive'),
           'type': ''
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -688,6 +730,20 @@ class HiveServer2Action(Action):
           'value': '',
           'help_text': _('Refer to a Hadoop JobConf job.xml'),
           'type': ''
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -719,6 +775,20 @@ class SubWorkflowAction(Action):
           'value': [],
           'help_text': _('Can be used to specify the job properties that are required to run the child workflow job.'),
           'type': ''
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -780,6 +850,20 @@ class SqoopAction(Action):
           'value': '',
           'help_text': _('Refer to a Hadoop JobConf job.xml'),
           'type': ''
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -833,6 +917,20 @@ class MapReduceAction(Action):
           'value': '',
           'help_text': _('Refer to a Hadoop JobConf job.xml'),
           'type': ''
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -910,6 +1008,20 @@ class ShellAction(Action):
           'value': '',
           'help_text': _('Refer to a Hadoop JobConf job.xml'),
           'type': ''
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -952,6 +1064,21 @@ class SshAction(Action):
                          'via the String action:output(String node, String key) function') % {'program': TYPE},
           'type': ''
      },
+     # Common
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
+     }
   }
 
   @classmethod
@@ -1003,6 +1130,21 @@ class FsAction(Action):
           'value': [],
           'help_text': _('File or directory.'),
           'type': ''
+     },
+     # Common
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -1042,6 +1184,21 @@ class EmailAction(Action):
           'help_text': _('Plain-text'),
           'type': 'textarea'
      },
+     # Common
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
+     }
   }
 
   @classmethod
@@ -1096,6 +1253,20 @@ class StreamingAction(Action):
           'label': _('Job XML'),
           'value': '',
           'help_text': _('Refer to a Hadoop JobConf job.xml')
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -1132,6 +1303,20 @@ class DistCpAction(Action):
           'label': _('Java options'),
           'value': '',
           'help_text': _('Parameters for the JVM, e.g. -Dprop1=a -Dprop2=b')
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 
@@ -1210,6 +1395,20 @@ class SparkAction(Action):
           'value': '',
           'help_text': _('Refer to a Hadoop JobConf job.xml'),
           'type': ''
+     },
+     'retry_max': {
+          'name': 'retry_max',
+          'label': _('Max retry'),
+          'value': [],
+          'help_text': _('Number of times, default is 3'),
+          'type': ''
+     },
+     'retry_interval': {
+          'name': 'retry_interval',
+          'label': _('Retry interval'),
+          'value': [],
+          'help_text': _('Wait time in minutes, default is 10'),
+          'type': ''
      }
   }
 

+ 3 - 3
apps/oozie/src/oozie/templates/editor2/common_workflow.mako

@@ -329,7 +329,7 @@
 <script type="text/html" id="start-widget">
   <!-- ko if: $root.workflow.getNodeById(id()) -->
   <div class="row-fluid" data-bind="with: $root.workflow.getNodeById(id())" style="min-height: 40px;">
-    <div class="big-icon" title="${ _('It is where we start!') }"><i class="fa fa-flag-o"></i></div>
+    <div class="big-icon" title="${ _('It is where we start!') }"><i class="fa fa-dot-circle-o"></i></div>
   </div>
   <!-- /ko -->
 </script>
@@ -414,7 +414,7 @@
 
     <ul data-bind="visible: properties.retry_max().length > 0, foreach: properties.retry_max" class="unstyled">
       <li>
-        ${ _('Max') } <input type="number" data-bind="value: value" placeholder="${ _('Number of times, default is 3') }"/>
+        ${ _('Max') } <input type="number" data-bind="value: value, attr: { placeholder: $root.workflow_properties.retry_max.help_text }"/>
         <a href="#" data-bind="click: function(){ $parent.properties.retry_max.remove(this); $(document).trigger('drawArrows') }">
           <i class="fa fa-minus"></i>
         </a>
@@ -422,7 +422,7 @@
     </ul>
     <ul data-bind="visible: properties.retry_interval().length > 0, foreach: properties.retry_interval" class="unstyled">
       <li>
-        ${ _('Interval') } <input type="number" class="small" data-bind="value: value" placeholder="${ _('Wait time in minutes, default is 10') }"/>
+        ${ _('Interval') } <input type="number" class="small" data-bind="value: value, attr: { placeholder: $root.workflow_properties.retry_interval.help_text }"/>
         <a href="#" data-bind="click: function(){ $parent.properties.retry_interval.remove(this); $(document).trigger('drawArrows') }">
           <i class="fa fa-minus"></i>
         </a>