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) 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 <sla...@mirantis.com> *Reply-To: *"openstack-dev@lists.openstack.org" < openstack-dev@lists.openstack.org> *Date: *Friday, March 3, 2017 at 4:16 PM *To: *"openstack-dev@lists.openstack.org" <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> 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-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