AgentListener is not properly initialized

Bug #1669903 reported by Stan Lagun
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Murano
Fix Released
High
Stan Lagun
Newton
Fix Released
Undecided
Unassigned

Bug Description

When Murano Agent is disabled AgentListener is not get initialized properly which causes exceptions like

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

Stan Lagun (slagun)
Changed in murano:
assignee: nobody → Stan Lagun (slagun)
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to murano (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/441477

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to murano (stable/newton)

Reviewed: https://review.openstack.org/441477
Committed: https://git.openstack.org/cgit/openstack/murano/commit/?id=b4d301da4945db0f97c2dd773ae439b49b80bbd8
Submitter: Jenkins
Branch: stable/newton

commit b4d301da4945db0f97c2dd773ae439b49b80bbd8
Author: Stan Lagun <email address hidden>
Date: Fri Mar 3 13:11:17 2017 -0800

    AgentListener initialization was fixed

    When Murano Agent is disabled AgentListener was not
    initialized properly which caused deployment errors.

    This is partial backport of the
    https://review.openstack.org/#/c/387993/. That commit
    was supposed to fix tests that do not exist in Murano Newton
    and thus wasn't backported.

    Change-Id: I1a9f61c6b0020c6d3a5812f4d8ed519dc3cb7b44
    Closes-Bug: #1669903
    Related-bug: #1634483

tags: added: in-stable-newton
Changed in murano:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.