[openstack-dev] [Murano] Errors on $.instance.deploy() ... WHEN RUNNING WITHOUT MURANO-AGENT RABBIT

Stan Lagun slagun at mirantis.com
Mon Mar 6 23:10:54 UTC 2017


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.waines at 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, 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 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, 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 <slagun at mirantis.com>
*Reply-To: *"openstack-dev at lists.openstack.org" <
openstack-dev at lists.openstack.org>
*Date: *Friday, March 3, 2017 at 4:16 PM
*To: *"openstack-dev at lists.openstack.org" <openstack-dev at 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.Waines at 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, 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 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, 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-request at lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20170306/ab9b662a/attachment-0001.html>


More information about the OpenStack-dev mailing list