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 <sla...@mirantis.com> On Fri, Mar 3, 2017 at 11:49 AM, Waines, Greg <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/829a861c408a4516b0589d04cce232 > 48/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-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