Details
Description
Oozie import ssh does not import args
export HUE_CONF_DIR=/var/run/cloudera-scm-agent/process/73-hue-HUE_SERVER /opt/cloudera/parcels/CDH/lib/hue/build/env/bin/hue shell_plus from django.contrib.auth.models import User from liboozie.types import WorkflowList, Workflow as OozieWorkflow, Coordinator as OozieCoordinator, Bundle as OozieBundle, CoordinatorList, WorkflowAction, BundleList from oozie.models import Workflow, Node, Kill, Link, Job, Coordinator, History, find_parameters, NODE_TYPES, Bundle from oozie.importlib.workflows import import_workflow # type a user that exists workflow = Workflow.objects.new_workflow(User.objects.get(username='user that exists')) workflow.save() wf = """ <workflow-app name="Ssh" xmlns="uri:oozie:workflow:0.1"> <start to="Ssh"/> <action name="Ssh"> <ssh xmlns="uri:oozie:ssh-action:0.1"> <host>${host}@${user}</host> <command>ls</command> <args>-l</args> <capture-output/> </ssh> <ok to="end"/> <error to="kill"/> </action> <kill name="kill"> <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> </kill> <end name="end"/> </workflow-app> """ import_workflow(workflow, wf) workflow.save() node = Node.objects.get(workflow=workflow, node_type='ssh').get_full_node() node.host node.command # expected node params should at least show some 'args' eg [{"type": "arg", "value": "-l"}] node.params workflow.delete(skip_trash=True)