1.As mentioned in [1], we should avoid using six.iteritems to achieve
iterators. We can use dict.items instead, as it will return iterators
in PY3 as well. And dict.items/keys will more readable.
2.In py2, the performance about list should be negligible, see the
link [2].
[1] https://wiki.openstack.org/wiki/Python3
[2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html
Change-Id: I45fa65427318e1c35bb521de46e81ea12ca7b770
Clients for various OpenStack services
were updated so that it would be
possible to specify region name explicitly.
If it is not provided then for clients that are
used internally by the core library it is taken
from the current region. Otherwise the default
environment region is used.
Change-Id: I289c7f8dc93a30ba1d5aa06d9da29a6af1308b9a
Magnum has changed its service name from 'containers' to 'container-infra'
which leads to failure of Magnum-app. So this fix changes the service
name in magnum_plugin.
Change-Id: If6a2d90e0f7071737ebdf722a565353a8b891d01
Closes-bug: #1595511
CONF does not have option 'api_version'.
Use CONF.images.api_version instead of CONF.api_version.
Change-Id: I44e89023631c43d3cca8213650037de508875cdd
Closes-Bug: #1595220
Remove explicit version definition to avoid errors of version mismatch
using pbr.
Change-Id: I73cfef4fb015f9b37a833f059497354af2622032
Closes-Bug: #1595130
To work with the latest Cloudify test environment, resource files
of NodeCellar example murano application should have version 3.2.1.
This patch fixes it in the app's README file, so user will use
correct version of files.
Change-Id: I9c663c94a8112512c30f4f7ad8d0f8af5048bf46
Closes-bug: #1587957
Magnum will remove all modules under magnumclient/openstack [1].
This plugin needs to update the import path.
[1] https://review.openstack.org/#/c/327200/
Change-Id: I3ec10edbaa6ed92d8875f990ca3be6e339d81310
To be able to use the latest Cloudify test environment, it is
needed to have Cloudify Python client of version 3.2.0.
Change-Id: I006718fd6f458e3c214a5c78701e99a4e348a731
Closes-bug: #1587952
Generated UIs of the non-muranoPL packages (HOT, cloudify_tosca and
CSAR) reference the type of object model's object by class FQNs.
However, when these packages are uploaded to glare, their class
contents are not indexed since the client which uploads them has no
knowledge of the generated classes.
To workaround this issue it is proposed to reference objects not just
by class FQNs but to include the package FQN and the version, so the
engine does not have to rely on Glare's indexes.
Change-Id: I6175e89b68bcdfc29d33ae3616d6ecba662f2509
Partial-bug: #1565805
This patch fixes a wrong import statement in
contrib/plugins/magnum_plugin/magnum_plugin/__init__.py where it
tried to import client from magnumclient which is actually invalid.
Change-Id: I24a1c03de25e514a870a12f47f478d6b7f816975
Closes-bug: #1572139
Remove explicit version definition to avoid errors of version mismatch
using pbr.
Change-Id: I19a263d0e66bcbcddc1a9d6fdd4457b708e45bd9
Closes-bug: #1572123
HeatStack class expects to be owned by some other and uses it to find
OpenStack region name it belongs to. If there is no owner provided then
the default region is used which is random for multi-region setups.
MuranoPL code that was generated from HOT and TOSCA provided that owner
on "deploy" phase but not on "destroy". So the stack that was
successfully created earlier could never be deleted in multi-region
OpenStack installations for non-default region.
Change-Id: I19ca0c7129b073fdd852b22a6a7f84f7ee377ee7
Closes-Bug: #1565777
Currently Murano fails to delete Magnum bay due to missing
bay_ident attribute in case when Magnum bay status is CREATE_FAILED.
This patch fixs this issue.
Change-Id: Iecbd0464bd8839f1a9f9ce428d7eaa1e130c9b2d
Closes-bug: #1566725
This app uses python-magnumclient to deploy a Magnum Bay.
This bay can any of Kubernetes, Swarm and Mesos.
Change-Id: Ifa8ad6142c86c416fb7cbadc07d548061c18f79b
Partially-Implements: blueprint magnum-murano-rationalization
Add a custom plugin to support importing Murano application definition
archives of TOSCA CSAR files into Murano application catalog, and
deploy them through the catalog to Heat.
Co-Authored-By: Tetiana Lashchova <tlashchova@mirantis.com>
Change-Id: Ibb9b7f22853040ef1c453db2cebae727f6514286
Partially-Implements: blueprint support-tosca-format
The Environment class got two additional properties:
region - name of the region where environment should be deployed. If
null then home region is used.
regionConfigs - config property (taken from class config) that specifies
region parameters. It is a dictionary of a form regionName -> regionSettings.
Currently the only setting available is a agentRabbitMq that is itself
a dictionary containing the same options as [rabbitmq] section of murano.conf
Thus the configuration file io.murano.Environment.yaml may look like:
regionConfigs:
RegionOne:
agentRabbitMq:
host: rabbitMqHostName
port: 5672
login: murano
password: murano
virtual_host: /
ssl: false
ca_certs: null
Implements Blueprint: assign-environment-to-region
Change-Id: I3c84c96f8eeae738f83ed7b3691be38100b30e1d
* MuranoType and MuranoObjectParameterType smart types
were merged into a single smart type because their functionality overlap
to a large degree. New smart type is called MuranoObjectParameter
* Other smart types were renamed to have the same name pattern:
ThisParameterType -> ThisParameter,
InterfacesParameterType -> InterfacesParameter
* For MuranoObjectInterface instead of saying obj.data().propertyName
the syntax now is obj.properties.propertyName
Change-Id: I3c925d1ba1a4ac0864987377a3e90c6f166823a7
* Single universal ClientManager class was dropped in favor of
of individual in-context methods to create OS clients without
ClientManager restrictions.
* Environment class was renamed to ExecutionSession to avoid
common confusion with io.murano.Environment
* execution_session_local module was introduced to simplify
keep of per-execution session (per-deployment) data. This
is similar to thread-locals with the difference that there can
be many threads in single session.
* All OS-clients related code was migrated to keystone client
sessions and API v3 (except for GLARE and Mistral that doesn't
support sessions). This increases performance and solves
authentication problems that could be caused by token expiration
even with trusts enabled.
* [DEFAULT]/home_region setting was introduced instead of
[murano]/region_for_services to configure what region
should be used by the clients by default (where Murano API
resides). All client factories respect this setting.
Change-Id: If02c7e5d7d39574d0621e0e8dc27d1f501a31984
This also adds a check to murano/hacking/checks.py that should
catch this error in the future.
Blueprint murano-python-3-support
Change-Id: I172e257d0b8a89eff89e35a2f87bb42d769cad62
This also adds a check to murano/hacking/checks.py that
should catch this error in the future.
Blueprint murano-python-3-support
Change-Id: Ib8b2b91a40577d18739f0c1bf2c37b7cf4060560
File contrib/plugins/murano_exampleplugin/requiremenets.txt has been
named incorrectly. This patch corrects the name to
contrib/plugins/murano_exampleplugin/requirements.txt.
Change-Id: I7b0de987fed334b4bde0b31d85ae3f8915db744b
Deployment of io.murano.apps.demo.DemoApp fails due to
wrong arguments passed to get_client method.
This patch fixes the problem.
Change-Id: Ic6aa9d9cdc03eec4b9670445c5d978ea80202953
Closes-Bug: #1532724
Documentation was improved and re-formatted.
Also LICENSE file for the plugin itself was added (previously
only demo application had it)
Change-Id: Ie0b3618ee8c25cdea4ab12fcae1b95257bf7cb85
Cloudify Application library package required for all Cloudify applications.
Example Application is for people to try it out in their murano instance.
Partially-Implements: Blueprint support-tosca-cloudify-format
Change-Id: I877423e53d93e3062ed34f7de4d0a33f9093ac0a
This plugin allows murano to deploy TOSCA applications using Cloudify.
Partially-Implements: Blueprint support-tosca-cloudify-format
Change-Id: I9eee5546016cea6503383b39536aee956597ed36
Wrong config section was returned by the init_config function which
could potentially cause exceptions during plugin loading.
This has been fixed.
Change-Id: I41883507225c8df0a8d0c17c1c3b8dabc66d055b
Murano's application packages can now be stored either in database
(using murano-api) or in Glance Artifact repository (so-called Glance
V3 api). This patch adds an experimental support of the latter
approach to murano engine.
As all the difference between these two storages is incapsulated in
the murano client, engine just needs to configure it properly by
passing an instance of glance v3 client on creation. This is
controlled by a 'packages_service' parameter of 'packages_opts'
configuration group. It is set to 'murano' by default and indicates
the usage of old, database-backed storage. If set to 'glance', the
murano client will encapsulate glance v3 connector and thus the
packages will be accessed from Glance Artifact Repository.
The settings of Glance client are also added to the configuration, as
well as a client factory to generate the client. As these settings may
now conflict with the settings "demo plugin", the appropriate
configuration section is renamed in the latter.
This patch also contains a couple of utility functions to transform
partial semver version specs into non-partial ones and - further - to
a set of Glance query parameters needed to filter the artifacts based
on that spec.
Change-Id: I690467e43b6b63850ebecef756635241e623554c
Implements-blueprint: artifact-repository-support
* Code migrated to yaql 1.0.0
* New MuranoPL object initialization
* Lots of refactoring
See referenced specs for more information
Implements: blueprint migrate-to-yaql-vnext
Implements: blueprint object-construction
Depends-on: I7f314634ab5f08a521e51082d5c84dffca4b0b5c
Closes-Bug: #1454264
Change-Id: I740a4f83c76d8b56a1da585a739d770ef823a524
While switching from murano.common.config to oslo_config some
entries were missed. This patch fixes it.
Change-Id: I13998aa60b424cc314c4af77bfbac808d29023f1