Comment 0 for bug 1624723

Revision history for this message
Alex Kholkin (akholkin) wrote :

Bug description:
After deployment 9.0 with murano from the box you can upgrade it via murano plugin. But after it any deployment will fail.

Steps to reproduce:
1. deploy mos 9.0 with enabled murano from the box(use one controller and 1 compute)
2. install fuel murano plugin
3. enable fuel murano plugin in the fuel ui and disable regular murano
4. deploy changes
5. run "Check application deployment in Murano environment with GLARE" OSTF

Actual result:
test will pass

Expected result:
test failed

Additional information:

after installing murano from the box and upgrading murano via plugin there is the same output for the next command:
root@node-1:~# murano --version
0.8.4

part of the log from murano-engine.log:
2016-09-17 11:44:22.898 16461 ERROR murano.common.engine [-]
  murano.dsl.exceptions.NoClassFound: Class "io.murano.CloudRegion" is not found in io.murano/0.0.0
  Traceback (most recent call last):
    File <unknown> in method None
        None
    File "/tmp/murano-packages-cache/io.murano/0.0.0/7520be46-a85d-42a9-925e-5c44cb4a2258/Classes/resources/NeutronNetwork.yaml", line 56:25 in
 method .init of type io.murano.resources.NeutronNetwork
        new(sys:NetworkExplorer, $._environment)
    File "/usr/lib/python2.7/dist-packages/murano/dsl/helpers.py", line 52 in method evaluate
        return value(context)
    File "/usr/lib/python2.7/dist-packages/murano/dsl/yaql_expression.py", line 85 in method __call__
        return self._parsed_expression.evaluate(context=context)
    File "/usr/lib/python2.7/dist-packages/yaql/language/expressions.py", line 165 in method evaluate
        return self(utils.NO_VALUE, context, self.engine)
    File "/usr/lib/python2.7/dist-packages/yaql/language/expressions.py", line 156 in method __call__
        return super(Statement, self).__call__(receiver, context, engine)
    File "/usr/lib/python2.7/dist-packages/yaql/language/expressions.py", line 37 in method __call__
        return context(self.name, engine, receiver, context)(*self.args)
    File "/usr/lib/python2.7/dist-packages/yaql/language/contexts.py", line 65 in method <lambda>
        data_context, use_convention, function_filter)
    File "/usr/lib/python2.7/dist-packages/yaql/language/runner.py", line 49 in method call
        name, all_overloads, engine, receiver, data_context, args, kwargs)
    File "/usr/lib/python2.7/dist-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/dist-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/dist-packages/yaql/language/runner.py", line 113 in method <lambda>
        and not isinstance(arg, expressions.Constant))
    File "/usr/lib/python2.7/dist-packages/yaql/language/expressions.py", line 37 in method __call__
        return context(self.name, engine, receiver, context)(*self.args)
    File "/usr/lib/python2.7/dist-packages/yaql/language/contexts.py", line 65 in method <lambda>
        data_context, use_convention, function_filter)
    File "/usr/lib/python2.7/dist-packages/yaql/language/runner.py", line 51 in method call
        result = delegate()
    File "/usr/lib/python2.7/dist-packages/yaql/language/runner.py", line 142 in method <lambda>
        return lambda: delegate()
    File "/usr/lib/python2.7/dist-packages/yaql/language/specs.py", line 341 in method func
        six.iteritems(keyword_args)))
    File "/usr/lib/python2.7/dist-packages/murano/dsl/yaql_functions.py", line 62 in method new
        scope_type=helpers.get_names_scope(__context))
    File "/usr/lib/python2.7/dist-packages/murano/dsl/object_store.py", line 66 in method load
        default_type=default_type, context=context)
    File "/usr/lib/python2.7/dist-packages/murano/dsl/object_store.py", line 155 in method load
        fn()
    File "/usr/lib/python2.7/dist-packages/murano/dsl/murano_object.py", line 139 in method <lambda>
        self, filtered_params[0], filtered_params[1], context)
    File "/usr/lib/python2.7/dist-packages/murano/dsl/murano_method.py", line 230 in method invoke
        self, this, context, args, kwargs, skip_stub)
    File "/usr/lib/python2.7/dist-packages/murano/dsl/executor.py", line 96 in method invoke_method
        *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/yaql/language/specs.py", line 60 in method func
        return self.get_delegate(receiver, engine, context, args, kwargs)()
    File "/usr/lib/python2.7/dist-packages/yaql/language/specs.py", line 341 in method func
        six.iteritems(keyword_args)))
    File "/usr/lib/python2.7/dist-packages/murano/dsl/yaql_integration.py", line 246 in method payload
        __receiver, args, kwargs, __context, True), __context)
    File "/usr/lib/python2.7/dist-packages/murano/dsl/murano_method.py", line 230 in method invoke
        self, this, context, args, kwargs, skip_stub)
    File "/usr/lib/python2.7/dist-packages/murano/dsl/executor.py", line 158 in method invoke_method
        result = call()
    File "/usr/lib/python2.7/dist-packages/murano/dsl/executor.py", line 148 in method call
        yaql_engine, context, native_this)(*args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/yaql/language/specs.py", line 60 in method func
        return self.get_delegate(receiver, engine, context, args, kwargs)()
    File "/usr/lib/python2.7/dist-packages/yaql/language/specs.py", line 341 in method func
        six.iteritems(keyword_args)))
    File "/usr/lib/python2.7/dist-packages/murano/dsl/yaql_integration.py", line 374 in method payload
        result = helpers.evaluate(cls(*args, **kwargs), __context)
    File "/usr/lib/python2.7/dist-packages/murano/engine/system/net_explorer.py", line 43 in method __init__
        self._region = this.find_owner('io.murano.CloudRegion')
    File "/usr/lib/python2.7/dist-packages/murano/dsl/dsl.py", line 216 in method find_owner
        type = helpers.get_class(type)
    File "/usr/lib/python2.7/dist-packages/murano/dsl/helpers.py", line 218 in method get_class
        return murano_type.package.find_class(name)
    File "/usr/lib/python2.7/dist-packages/murano/dsl/murano_package.py", line 214 in method find_class
        name, packages=pkgs_for_search + [self])

After removing core library, creating the new one using murano code in the controller and adding it by using "murano package-import" you will be able to see next message in the murano-engine.log:

2016-09-17 18:59:33.223 19734 ERROR murano.common.engine [-] Exception Package for class "io.murano.Environment" is not found occurred during i
nvocation of <load>
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine Traceback (most recent call last):
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/common/engine.py", line 222, in _execu
te
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine obj = executor.load(self.model)
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/dsl/executor.py", line 305, in load
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine return self._load(data)
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/dsl/executor.py", line 314, in _load
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine result = self._object_store.load(model, None, keep_ids=True)
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/dsl/object_store.py", line 66, in load
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine default_type=default_type, context=context)
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/dsl/object_store.py", line 112, in loa
d
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine parsed = helpers.parse_object_definition(value, scope_type, context)
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/dsl/helpers.py", line 556, in parse_ob
ject_definition
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine type_str, version_spec)
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/engine/package_loader.py", line 576, i
n load_class_package
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine class_name, version_spec)
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/engine/package_loader.py", line 140, in load_class_package
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine exc_info[2])
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/engine/package_loader.py", line 134, in load_class_package
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine package_definition = self._get_definition(filter_opts)
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine File "/usr/lib/python2.7/dist-packages/murano/engine/package_loader.py", line 213, in _get_definition
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine raise LookupError()
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine NoPackageForClassFound: Package for class "io.murano.Environment" is not found
2016-09-17 18:59:33.223 19734 ERROR murano.common.engine
2016-09-17 18:59:33.226 19734 DEBUG oslo_messaging._drivers.amqpdriver [-] CAST unique_id: 8b8adce52984464ea34aa5ee73fe924c size: 519 NOTIFY exchange: openstack topic: murano.info _send /usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py:480