** Project changed: horizon => murano

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1526279

Title:
  murano-agent can't ship binary file to nova instance

Status in Murano:
  New

Bug description:
  1. I want to use murano-agent to ship rpm package to nova instance, and got 
the following error:
  2015-12-15 10:05:33.735 1 ERROR murano.common.engine [-] 
    exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xed in 
position 0: ordinal not in range(128)
    Traceback (most recent call last):
      File 
"/tmp/murano-packages-cache/585c671065534988ba95fc81fe9dcc2e/3e0ed1ccc50f4e189612969273768666/Classes/Environment.yaml",
 line 82:9 in method deploy of class io.murano.Environment
          $.applications.pselect($.deploy())
      File 
"/tmp/murano-packages-cache/585c671065534988ba95fc81fe9dcc2e/f69c326e5cc5401881a7701f300f319b/Classes/MRF.yaml",
 line 249:13 in method deploy of class com.alu.apps.mrf.MRF
          $.mistralAgent.call($template, $resources)
      File "/usr/lib/python2.7/site-packages/murano/dsl/helpers.py", line 45 in 
method evaluate
          return value(context)
      File "/usr/lib/python2.7/site-packages/murano/dsl/yaql_expression.py", 
line 82 in method __call__
          return self._parsed_expression.evaluate(context=context)
      File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", 
line 165 in method evaluate
          return self(utils.NO_VALUE, context, self.engine)
      File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", 
line 156 in method __call__
          return super(Statement, self).__call__(receiver, context, engine)
      File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", 
line 37 in method __call__
          return context(self.name, engine, receiver, context)(*self.args)
      File "/usr/lib/python2.7/site-packages/yaql/language/contexts.py", line 
65 in method <lambda>
          data_context, use_convention, function_filter)
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 49 
in method call
          name, all_overloads, engine, receiver, data_context, args, kwargs)
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 117 
in method choose_overload
          args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 117 
in method <genexpr>
          args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 113 
in method <lambda>
          and not isinstance(arg, expressions.Constant))
      File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", 
line 37 in method __call__
          return context(self.name, engine, receiver, context)(*self.args)
      File "/usr/lib/python2.7/site-packages/yaql/language/contexts.py", line 
65 in method <lambda>
          data_context, use_convention, function_filter)
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 51 
in method call
          result = delegate()
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 142 
in method <lambda>
          return lambda: delegate()
      File "/usr/lib/python2.7/site-packages/yaql/language/specs.py", line 341 
in method func
          six.iteritems(keyword_args)))
      File "/usr/lib/python2.7/site-packages/murano/dsl/yaql_functions.py", 
line 140 in method op_dot
          return operator(ctx2, sender, expr)
      File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 
290 in method func
          new_name, engine, new_receiver, new_context)(*args, **kwargs)
      File "/usr/lib/python2.7/site-packages/yaql/language/contexts.py", line 
65 in method <lambda>
          data_context, use_convention, function_filter)
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 51 
in method call
          result = delegate()
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 142 
in method <lambda>
          return lambda: delegate()
      File "/usr/lib/python2.7/site-packages/yaql/language/specs.py", line 341 
in method func
          six.iteritems(keyword_args)))
      File "/usr/lib/python2.7/site-packages/yaql/standard_library/system.py", 
line 34 in method op_dot
          return expr(receiver)
      File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 
236 in method func
          engine, args, kwargs)
      File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 
205 in method _call
          result = value(receiver, context, engine)
      File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", 
line 37 in method __call__
          return context(self.name, engine, receiver, context)(*self.args)
      File "/usr/lib/python2.7/site-packages/yaql/language/contexts.py", line 
65 in method <lambda>
          data_context, use_convention, function_filter)
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 51 
in method call
          result = delegate()
      File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 142 
in method <lambda>
          return lambda: delegate()
      File "/usr/lib/python2.7/site-packages/yaql/language/specs.py", line 341 
in method func
          six.iteritems(keyword_args)))
      File "/usr/lib/python2.7/site-packages/murano/dsl/yaql_integration.py", 
line 189 in method payload
          executor, __sender, args, kwargs, __context, True), __context)
      File "/usr/lib/python2.7/site-packages/murano/dsl/murano_method.py", line 
116 in method invoke
          context, args, kwargs, skip_stub)
      File "/usr/lib/python2.7/site-packages/murano/dsl/executor.py", line 113 
in method invoke_method
          result = call()
      File "/usr/lib/python2.7/site-packages/murano/dsl/executor.py", line 105 
in method call
          yaql_engine, context, native_this)(*args, **kwargs)
      File "/usr/lib/python2.7/site-packages/yaql/language/specs.py", line 60 
in method func
          return self.get_delegate(receiver, engine, context, args, kwargs)()
      File "/usr/lib/python2.7/site-packages/yaql/language/specs.py", line 341 
in method func
          six.iteritems(keyword_args)))
      File "/usr/lib/python2.7/site-packages/murano/dsl/yaql_integration.py", 
line 165 in method payload
          return body(*args, **kwargs)
      File "/usr/lib/python2.7/site-packages/murano/engine/system/agent.py", 
line 129 in method call
          plan = self.build_execution_plan(template, resources())
      File "/usr/lib/python2.7/site-packages/murano/engine/system/agent.py", 
line 216 in method build_execution_plan
          return self._build_v2_execution_plan(template, resources)
      File "/usr/lib/python2.7/site-packages/murano/engine/system/agent.py", 
line 255 in method _build_v2_execution_plan
          scripts_folder, file, template, resources, files)
      File "/usr/lib/python2.7/site-packages/murano/engine/system/agent.py", 
line 317 in method _place_file
          file, resources, folder)
      File "/usr/lib/python2.7/site-packages/murano/engine/system/agent.py", 
line 335 in method _get_file_description
          body = self._get_body(file_value, resources, folder)
      File "/usr/lib/python2.7/site-packages/murano/engine/system/agent.py", 
line 295 in method _get_body
          body = resources.string(os.path.join(folder, file))
      File "/usr/lib/python2.7/site-packages/murano/dsl/dsl.py", line 140 in 
method func
          helpers.get_context())
      File "/usr/lib/python2.7/site-packages/murano/dsl/murano_class.py", line 
224 in method invoke
          return method.invoke(executor, this, args, kwargs, context)
      File "/usr/lib/python2.7/site-packages/murano/dsl/murano_method.py", line 
116 in method invoke
          context, args, kwargs, skip_stub)
      File "/usr/lib/python2.7/site-packages/murano/dsl/executor.py", line 80 
in method invoke_method
          yaql_engine, method_context, this.real_this)(*args, **kwargs)
      File "/usr/lib/python2.7/site-packages/yaql/language/specs.py", line 60 
in method func
          return self.get_delegate(receiver, engine, context, args, kwargs)()
      File "/usr/lib/python2.7/site-packages/yaql/language/specs.py", line 341 
in method func
          six.iteritems(keyword_args)))
      File "/usr/lib/python2.7/site-packages/murano/dsl/yaql_integration.py", 
line 189 in method payload
          executor, __sender, args, kwargs, __context, True), __context)
      File "/usr/lib/python2.7/site-packages/murano/dsl/murano_method.py", line 
116 in method invoke
          context, args, kwargs, skip_stub)
      File "/usr/lib/python2.7/site-packages/murano/dsl/executor.py", line 114 
in method invoke_method
          log(result)
      File "/usr/lib/python2.7/site-packages/murano/dsl/executor.py", line 169 
in method log_result
          thread=thread_id, method=method_name, result=result))

  2. It is caused by the binary file can't be decoded to be ASCII.
  3. After I commented "                    log(result)" in function 
MuranoDslExecutor.invoke_method, it can work well with no problem.
  I suspect murano-agent has the ability to ship binary file to nova instance,  
but the log print here blocks this function.

  Please help to check,
  Thanks,
  Tony

To manage notifications about this bug go to:
https://bugs.launchpad.net/murano/+bug/1526279/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to