Uploaded image for project: 'Hue (READ ONLY)'
  1. Hue (READ ONLY)
  2. HUE-1032

Can't run a workflow with a Shell Action and Files.

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.0
    • Fix Version/s: None
    • Component/s: con.oozie
    • Labels:
    • Environment:
    • Target Version:
    • Easy:
      Easy

      Description

      Scenario:

      • create a workflow with a Shell action.
      • add one file in the Files field. In my case: /opt/scripts/bin/run_rake_task.sh
      • Run the workflow => 500

      [05/Feb/2013 11:30:37 +0000] middleware INFO Processing exception: unsupported operand type(s) for +: 'dict' and 'str': Traceback (most recent call last):
      File "/usr/share/hue/build/env/lib/python2.6/site-packages/Django-1.2.3-py2.6.egg/django/core/handlers/base.py", line 100, in get_response
      response = callback(request, *callback_args, **callback_kwargs)
      File "/usr/share/hue/apps/oozie/src/oozie/decorators.py", line 66, in decorate
      return view_func(request, *args, **kwargs)
      File "/usr/share/hue/apps/oozie/src/oozie/views/editor.py", line 205, in submit_workflow
      job_id = _submit_workflow(request, workflow, mapping)
      File "/usr/share/hue/apps/oozie/src/oozie/views/editor.py", line 226, in _submit_workflow
      job_id = submission.run()
      File "/usr/share/hue/desktop/libs/liboozie/src/liboozie/submittion.py", line 73, in run
      deployment_dir = self.deploy()
      File "/usr/share/hue/desktop/libs/liboozie/src/liboozie/submittion.py", line 121, in deploy
      oozie_xml = self.job.to_xml(self.properties)
      File "/usr/share/hue/apps/oozie/src/oozie/models.py", line 442, in to_xml
      return re.sub(re.compile('\s*\n+', re.MULTILINE), '\n', django_mako.render_to_string(tmpl,

      Unknown macro: {'workflow'}

      ))
      File "/usr/share/hue/desktop/core/src/desktop/lib/django_mako.py", line 105, in render_to_string_normal
      result = template.render(**data_dict)
      File "/usr/share/hue/build/env/lib/python2.6/site-packages/Mako-0.7.2-py2.6.egg/mako/template.py", line 412, in render
      return runtime.render(self, self.callable, args, data)
      File "/usr/share/hue/build/env/lib/python2.6/site-packages/Mako-0.7.2-py2.6.egg/mako/runtime.py", line 766, in _render
      **kwargs_for_callable(callable, data))
      File "/usr/share/hue/build/env/lib/python2.6/site-packages/Mako-0.7.2-py2.6.egg/mako/runtime.py", line 798, in _render_context
      _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
      File "/usr/share/hue/build/env/lib/python2.6/site-packages/Mako-0.7.2-py2.6.egg/mako/runtime.py", line 824, in _exec_template
      callable_(context, *args, **kwargs)
      File "/tmp/tmpfpCjL0/oozie/editor/gen/workflow.xml.mako.py", line 67, in render_body
      __M_writer( node.to_xml(mapping) )
      File "/usr/share/hue/apps/oozie/src/oozie/models.py", line 548, in to_xml
      return django_mako.render_to_string(node.get_template_name(), data)
      File "/usr/share/hue/desktop/core/src/desktop/lib/django_mako.py", line 105, in render_to_string_normal
      result = template.render(**data_dict)
      File "/usr/share/hue/build/env/lib/python2.6/site-packages/Mako-0.7.2-py2.6.egg/mako/template.py", line 412, in render
      return runtime.render(self, self.callable, args, data)
      File "/usr/share/hue/build/env/lib/python2.6/site-packages/Mako-0.7.2-py2.6.egg/mako/runtime.py", line 766, in _render
      **kwargs_for_callable(callable, data))
      File "/usr/share/hue/build/env/lib/python2.6/site-packages/Mako-0.7.2-py2.6.egg/mako/runtime.py", line 798, in _render_context
      _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
      File "/usr/share/hue/build/env/lib/python2.6/site-packages/Mako-0.7.2-py2.6.egg/mako/runtime.py", line 824, in _exec_template
      callable_(context, *args, **kwargs)
      File "/tmp/tmpfpCjL0/oozie/editor/gen/workflow-shell.xml.mako.py", line 77, in render_body
      __M_writer(escape(unicode( common.distributed_cache(node.get_files(), node.get_archives()) )))
      File "/tmp/tmpfpCjL0/oozie/editor/gen/workflow-common.xml.mako.py", line 131, in render_distributed_cache
      __M_writer(escape(unicode( filelink(f) )))
      File "/tmp/tmpfpCjL0/oozie/editor/gen/workflow-common.xml.mako.py", line 121, in filelink
      return render_filelink(context,path)
      File "/tmp/tmpfpCjL0/oozie/editor/gen/workflow-common.xml.mako.py", line 84, in render_filelink
      __M_writer(escape(unicode( path + '#' + posixpath.basename(path) )))
      TypeError: unsupported operand type(s) for +: 'dict' and 'str'
      [05/Feb/2013 11:30:36 +0000] resource DEBUG PUT Got response:
      [05/Feb/2013 11:30:36 +0000] http_client DEBUG PUT http://namenode1.who.cares.com:50070/webhdfs/v1/user/hue/oozie/workspaces/test-shell?permission=0711&op=SETPERMISSION&user.name=hue&doas=oozie

      It seems that each file read from the Shell action is a dict instead of a string.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                abe Abraham Elmahrek
                Reporter:
                nfo Nicolas Fouché
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: