Stan,
Success … this worked.
thank you very much for your help.

Greg.

( got another question but I’ll ask it in another thread )

From: Stan Lagun <sla...@mirantis.com>
Date: Monday, March 6, 2017 at 6:10 PM
To: "openstack-dev@lists.openstack.org" <openstack-dev@lists.openstack.org>, 
Greg Waines <greg.wai...@windriver.com>
Cc: "Sun, Yicheng (Jerry)" <jerry....@windriver.com>
Subject: Re: [openstack-dev] [Murano] Errors on $.instance.deploy() ... WHEN 
RUNNING WITHOUT MURANO-AGENT RABBIT

Hi Greg,

this is yet another similar bug in another place.
Here is the fix for you: https://review.openstack.org/#/c/442198/

Also please consider using LinuxInstance class instead of LinuxMuranoInstance.
LinuxInstance doesn't try to build agent config and push it through cloud-init 
and thus should not
have such problems

Regards,
Stan



On March 6, 2017 at 6:51:11 AM, Waines, Greg 
(greg.wai...@windriver.com<mailto:greg.wai...@windriver.com>) wrote:
Hey Stan,

We tried doing the changes from https://review.openstack.org/#/c/441477/
i.e.
    changing the first couple of lines in the __init__ of AgentListener in 
agent_listener.py
 class AgentListener(object):
     def __init__(self, name):
-        self._enabled = False
-        if CONF.engine.disable_murano_agent:
-            return
-        self._enabled = True
+        self._enabled = not CONF.engine.disable_murano_agent
         self._results_queue = str('-execution-results-%s' % name.lower())
         self._subscriptions = {}
         self._receive_thread = None


But still get the following issue:     ??? Any suggestions ???
Greg.



2017-03-06 14:24:01.870 28884 ERROR murano.common.engine [-]
  AttributeError: 'Agent' object has no attribute '_queue'
  Traceback (most recent call last):
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/Environment.yaml",
 line 120:9 in method deploy of type io.murano.Environment
        $.applications.pselect($.deploy())
    File 
"/tmp/murano-packages-cache/wrs.titanium.murano.examples.VmFip_NoAppDeploy/0.0.0/829a861c408a4516b0589d04cce23248/Classes/VmFip_NoAppDeploy.yaml",
 line 41:13 in method deploy of type 
wrs.titanium.murano.examples.VmFip_NoAppDeploy
        $.instance.deploy()
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/resources/Instance.yaml",
 line 193:9 in method deploy of type io.murano.resources.Instance
        $this.beginDeploy()
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/resources/Instance.yaml",
 line 131:28 in method beginDeploy of type io.murano.resources.Instance
        $.prepareUserData()
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/resources/LinuxMuranoInstance.yaml",
 line 14:19 in method prepareUserData of type 
io.murano.resources.LinuxMuranoInstance
        $.generateUserData()
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/resources/LinuxMuranoInstance.yaml",
 line 80:39 in method generateUserData of type 
io.murano.resources.LinuxMuranoInstance
        $.agent.queueName()
    File "/usr/lib/python2.7/site-packages/murano/dsl/helpers.py", line 58 in 
method evaluate
        for d_key, d_value in six.iteritems(value))
    File "/usr/lib/python2.7/site-packages/yaql/language/utils.py", line 122 in 
method __init__
        self._d = dict(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/murano/dsl/helpers.py", line 58 in 
method <genexpr>
        for d_key, d_value in six.iteritems(value))
    File "/usr/lib/python2.7/site-packages/murano/dsl/helpers.py", line 53 in 
method evaluate
        return value(context)
    File "/usr/lib/python2.7/site-packages/murano/dsl/yaql_expression.py", line 
85 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<http://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<http://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 
183 in method op_dot
        return operator(ctx2, receiver, expr)
    File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 
323 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/murano/dsl/yaql_functions.py", line 
183 in method op_dot
        return operator(ctx2, receiver, expr)
    File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 
323 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 
269 in method func
        engine, args, kwargs)
    File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 
236 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<http://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 246 in method payload
        __receiver, args, kwargs, __context, True), __context)
    File "/usr/lib/python2.7/site-packages/murano/dsl/murano_method.py", line 
230 in method invoke
        self, this, context, args, kwargs, skip_stub)
    File "/usr/lib/python2.7/site-packages/murano/dsl/executor.py", line 163 in 
method invoke_method
        result = call()
    File "/usr/lib/python2.7/site-packages/murano/dsl/executor.py", line 153 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 192 in method payload
        return body(__self.extension, *args, **kwargs)
    File "/usr/lib/python2.7/site-packages/murano/engine/system/agent.py", line 
71 in method queue_name
        return self._queue





From: Stan Lagun <sla...@mirantis.com<mailto:sla...@mirantis.com>>
Reply-To: 
"openstack-dev@lists.openstack.org<mailto:openstack-dev@lists.openstack.org>" 
<openstack-dev@lists.openstack.org<mailto:openstack-dev@lists.openstack.org>>
Date: Friday, March 3, 2017 at 4:16 PM
To: 
"openstack-dev@lists.openstack.org<mailto:openstack-dev@lists.openstack.org>" 
<openstack-dev@lists.openstack.org<mailto:openstack-dev@lists.openstack.org>>
Subject: Re: [openstack-dev] [Murano] Errors on $.instance.deploy() ... WHEN 
RUNNING WITHOUT MURANO-AGENT RABBIT

Greg,

you're right in everything you said.

This was fixed in master in https://review.openstack.org/#/c/387993/ with 
intent to fix tests and unblock the gate. But since those tests were introduced 
in Ocata the fix was not backported to Newton.
So I've just did a partial packport of the root cause fix. Here it is: 
https://review.openstack.org/#/c/441477/


Sincerely yours,
Stan Lagun
Principal Software Engineer @ Mirantis


On Fri, Mar 3, 2017 at 11:49 AM, Waines, Greg 
<greg.wai...@windriver.com<mailto:greg.wai...@windriver.com>> wrote:
Looking for guidance on fixing the following error (end of email) that we are 
seeing when ‘deploying’ a very simple murano package/app on a Murano deployment 
WITHOUT the second rabbit server for murano-agent.

So we have a NEWTON-version of MURANO integrated into our OpenStack solution.

We have modified murano.conf:
     …
     # Disallow the use of murano-agent (boolean value)
     disable_murano_agent = true
     …

We are NOT even running the second rabbit server for communication with 
murano-agent.

With a very simple murano package/app, that basically just does a “ 
$.instance.deploy() “ in its deploy method of its main class.
( NOTE:  I have tested this murano package/app on other Murano setups and it 
works … although those Murano setups had murano-agent and second rabbit 
enabled. )

And we get the following traceback error (see end of email).

Questions:
    - I believe this is a valid configuration
    - but does anyone actually run Murano in this type of setup ?   I am 
guessing not many … so is this an upstream murano bug that I am seeing ? … that 
nobody else sees because basically no one runs in this mode ?

    - if this should work, and works in other setups,
      … any guidance on how to resolve / debug what is going on here ?


Thanks in advance,
Greg.



2017-03-03 17:46:35.175 12568 ERROR murano.common.engine [-]
  AttributeError: 'AgentListener' object has no attribute '_results_queue'
  Traceback (most recent call last):
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/Environment.yaml",
 line 120:9 in method deploy of type io.murano.Environment
        $.applications.pselect($.deploy())
    File 
"/tmp/murano-packages-cache/wrs.titanium.murano.examples.VmFip_NoAppDeploy/0.0.0/829a861c408a4516b0589d04cce23248/Classes/VmFip_NoAppDeploy.yaml",
 line 41:13 in method deploy of type 
wrs.titanium.murano.examples.VmFip_NoAppDeploy
        $.instance.deploy()
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/resources/Instance.yaml",
 line 193:9 in method deploy of type io.murano.resources.Instance
        $this.beginDeploy()
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/resources/Instance.yaml",
 line 131:28 in method beginDeploy of type io.murano.resources.Instance
        $.prepareUserData()
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/resources/LinuxMuranoInstance.yaml",
 line 14:19 in method prepareUserData of type 
io.murano.resources.LinuxMuranoInstance
        $.generateUserData()
    File 
"/tmp/murano-packages-cache/io.murano/0.0.0/3317e706ecd1417bb748361a6a3385d2/Classes/resources/LinuxMuranoInstance.yaml",
 line 81:31 in method generateUserData of type 
io.murano.resources.LinuxMuranoInstance
        $region.agentListener.queueName()
    File "/usr/lib/python2.7/site-packages/murano/dsl/helpers.py", line 58 in 
method evaluate
        for d_key, d_value in six.iteritems(value))
    File "/usr/lib/python2.7/site-packages/yaql/language/utils.py", line 122 in 
method __init__
        self._d = dict(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/murano/dsl/helpers.py", line 58 in 
method <genexpr>
        for d_key, d_value in six.iteritems(value))
    File "/usr/lib/python2.7/site-packages/murano/dsl/helpers.py", line 53 in 
method evaluate
        return value(context)
    File "/usr/lib/python2.7/site-packages/murano/dsl/yaql_expression.py", line 
85 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<http://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<http://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 
183 in method op_dot
        return operator(ctx2, receiver, expr)
    File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 
323 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/murano/dsl/yaql_functions.py", line 
183 in method op_dot
        return operator(ctx2, receiver, expr)
    File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 
323 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 
269 in method func
        engine, args, kwargs)
    File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 
236 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<http://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 246 in method payload
        __receiver, args, kwargs, __context, True), __context)
    File "/usr/lib/python2.7/site-packages/murano/dsl/murano_method.py", line 
230 in method invoke
        self, this, context, args, kwargs, skip_stub)
    File "/usr/lib/python2.7/site-packages/murano/dsl/executor.py", line 163 in 
method invoke_method
        result = call()
    File "/usr/lib/python2.7/site-packages/murano/dsl/executor.py", line 153 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 192 in method payload
        return body(__self.extension, *args, **kwargs)
    File 
"/usr/lib/python2.7/site-packages/murano/engine/system/agent_listener.py", line 
58 in method queue_name
        return self._results_queue



__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: 
openstack-dev-requ...@lists.openstack.org?subject:unsubscribe<http://openstack-dev-requ...@lists.openstack.org?subject:unsubscribe>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to