فهرست منبع

[oozie] Generate Workflow credentials properties

If some actions are using credentials, generate their corresponding
credentials data in the workflow.
Romain Rigaux 10 سال پیش
والد
کامیت
cbf4094
2فایلهای تغییر یافته به همراه6 افزوده شده و 3 حذف شده
  1. 4 1
      apps/oozie/src/oozie/models2.py
  2. 2 2
      apps/oozie/src/oozie/templates/editor2/gen/workflow.xml.mako

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

@@ -123,7 +123,6 @@ class Workflow(Job):
                   "job_xml": "",
                   "sla_enabled": False,
                   "schema_version": "uri:oozie:workflow:0.5",
-                  "credentials": [],
                   "properties": [],
                   "sla": Workflow.SLA_DEFAULT,
                   "show_arrows": True,
@@ -228,6 +227,10 @@ class Workflow(Job):
   def has_some_slas(self):
     return self.sla_enabled or any([node.sla_enabled for node in self.nodes])
 
+  @property
+  def credentials(self):
+    return list(set([cred for node in self.nodes for cred in node.data['properties']['credentials']]))
+
   @property
   def sla(self):
     _data = self.get_data()

+ 2 - 2
apps/oozie/src/oozie/templates/editor2/gen/workflow.xml.mako

@@ -29,9 +29,9 @@
     % endif
   </global>
   % endif
-  % if workflow['properties']['credentials']:
+  % if wf.credentials:
   <credentials>
-    % for cred_type in workflow['properties']['credentials']:
+    % for cred_type in wf.credentials:
     <%
       credential = mapping['credentials'][cred_type]
     %>