Sfoglia il codice sorgente

HUE-1105 [oozie] Support archives in actions

Romain Rigaux 12 anni fa
parent
commit
ce7e3c2

+ 1 - 1
apps/oozie/src/oozie/templates/editor/gen/workflow-common.xml.mako

@@ -60,7 +60,7 @@
     % endfor
     % endfor
     % for a in archives:
     % for a in archives:
         % if a:
         % if a:
-            <archive>${ a }</archive>
+            <archive>${ filelink(a['name']) }</archive>
         % endif
         % endif
     % endfor
     % endfor
 </%def>
 </%def>

+ 10 - 3
apps/oozie/src/oozie/tests.py

@@ -711,12 +711,12 @@ class TestEditor(OozieMockBase):
         "description":"Generate N number of records",
         "description":"Generate N number of records",
         "main_class":"org.apache.hadoop.examples.terasort.TeraGen",
         "main_class":"org.apache.hadoop.examples.terasort.TeraGen",
         "args":"1000 ${output_dir}/teragen",
         "args":"1000 ${output_dir}/teragen",
-        "files":"[]",
+        "files":'["my_file","my_file2"]',
         "job_xml":"",
         "job_xml":"",
         "java_opts":"-Dexample-property=natty",
         "java_opts":"-Dexample-property=natty",
         "jar_path":"/user/hue/oozie/workspaces/lib/hadoop-examples.jar",
         "jar_path":"/user/hue/oozie/workspaces/lib/hadoop-examples.jar",
-        "prepares":"[]",
-        "archives":"[]",
+        "prepares":'[{"value":"/test","type":"mkdir"}]',
+        "archives":'[{"dummy":"","name":"my_archive"},{"dummy":"","name":"my_archive2"}]',
         "capture_output": "on",
         "capture_output": "on",
     })
     })
     Link(parent=action1, child=self.wf.end, name="ok").save()
     Link(parent=action1, child=self.wf.end, name="ok").save()
@@ -728,10 +728,17 @@ class TestEditor(OozieMockBase):
         <java>
         <java>
             <job-tracker>${jobTracker}</job-tracker>
             <job-tracker>${jobTracker}</job-tracker>
             <name-node>${nameNode}</name-node>
             <name-node>${nameNode}</name-node>
+            <prepare>
+                  <mkdir path="${nameNode}/test"/>
+            </prepare>
             <main-class>org.apache.hadoop.examples.terasort.TeraGen</main-class>
             <main-class>org.apache.hadoop.examples.terasort.TeraGen</main-class>
             <java-opts>-Dexample-property=natty</java-opts>
             <java-opts>-Dexample-property=natty</java-opts>
             <arg>1000</arg>
             <arg>1000</arg>
             <arg>${output_dir}/teragen</arg>
             <arg>${output_dir}/teragen</arg>
+            <file>my_file#my_file</file>
+            <file>my_file2#my_file2</file>
+            <archive>my_archive#my_archive</archive>
+            <archive>my_archive2#my_archive2</archive>
             <capture-output/>
             <capture-output/>
         </java>
         </java>
         <ok to="end"/>
         <ok to="end"/>

+ 1 - 1
apps/oozie/src/oozie/xslt/0.1/nodes/fields/archives.xslt

@@ -7,7 +7,7 @@
   <field name="archives" type="TextField">
   <field name="archives" type="TextField">
     <xsl:text>[</xsl:text>
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='archive']">
     <xsl:for-each select="*[local-name()='archive']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"dummy":"","name":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
         <xsl:text>,</xsl:text>
       </xsl:if>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/xslt/0.2.5/nodes/fields/archives.xslt

@@ -7,7 +7,7 @@
   <field name="archives" type="TextField">
   <field name="archives" type="TextField">
     <xsl:text>[</xsl:text>
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='archive']">
     <xsl:for-each select="*[local-name()='archive']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"dummy":"","name":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
         <xsl:text>,</xsl:text>
       </xsl:if>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/xslt/0.2/nodes/fields/archives.xslt

@@ -7,7 +7,7 @@
   <field name="archives" type="TextField">
   <field name="archives" type="TextField">
     <xsl:text>[</xsl:text>
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='archive']">
     <xsl:for-each select="*[local-name()='archive']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"dummy":"","name":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
         <xsl:text>,</xsl:text>
       </xsl:if>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/xslt/0.3/nodes/fields/archives.xslt

@@ -7,7 +7,7 @@
   <field name="archives" type="TextField">
   <field name="archives" type="TextField">
     <xsl:text>[</xsl:text>
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='archive']">
     <xsl:for-each select="*[local-name()='archive']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"dummy":"","name":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
         <xsl:text>,</xsl:text>
       </xsl:if>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/xslt/0.4/nodes/fields/archives.xslt

@@ -7,7 +7,7 @@
   <field name="archives" type="TextField">
   <field name="archives" type="TextField">
     <xsl:text>[</xsl:text>
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='archive']">
     <xsl:for-each select="*[local-name()='archive']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"dummy":"","name":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
         <xsl:text>,</xsl:text>
       </xsl:if>
       </xsl:if>