[openstack-announce] [new][murano] murano 3.0.0 release (newton)

no-reply at openstack.org no-reply at openstack.org
Thu Oct 6 13:25:24 UTC 2016


We are content to announce the release of:

murano 3.0.0: Murano API

This release is part of the newton release series.

For more details, please see below.

3.0.0
^^^^^


New Features
************

* Added a new manifest format 1.4.0. Introduced the 'Scope' keyword
  for class methods to declare a method's accessibility from outside
  through the API call.

* Implemented the capability for API endpoint "/catalog/packages" to
  filter 'id', 'category', 'tag' properties using the 'in' operator.
  An example of using the 'in' operator for 'id' is
  'id=in:id1,id2,id3'. This filter is added using syntax that conforms
  to the latest guidelines from the OpenStack API-WG.

* Added the "timeout" parameter to "runCommand" and "putFile"
  methods of the "io.murano.configuration.Linux" class.

* Added the "driver" configuration option to the "networking" group.
  It allows to explicitly select the networking driver. It supports
  'neutron' and 'nova' options. If set to "None" (default), murano
  attempts to use 'neutron' if available, 'nova' otherwise. The change
  is backward compatible.

* Added the "description_text" field to environment and environment
  templates database tables and respective API objects.

* Introduced a new MuranoPL class "io.murano.system.GC" Now MuranoPL
  garbage collector can be used to set up destruction dependencies
  between murano objects. If object Foo is subscribed to object Bar's
  destruction, it will be notified through a specific handler. If both
  Foo and Bar are going to be destroyed during one execution session,
  Foo will be destroyed after Bar. You can omit the handler, in this
  case destruction order will also be preserved. Handler can be a
  static or a usual function.

* New on-request garbage collector for MuranoPL objects were
  implemented. Garbage collection is triggered by
  io.murano.system.GC.collect() static method. Garbage collector
  destroys all object that are not reachable anymore. GC can handle
  objects with cross-references and isolated object graphs. When
  portion of object model becomes not reachable it destroyed in
  predictable order such that child objects get destroyed before their
  parents and, when possible, before objects that are subscribed to
  their destruction notifications.

* Internally, both pre-deployment garbage collection (that was done
  by comparision of "Objects" and "ObjectsCopy") and post-deployment
  orphan object collection are now done through the new GC.

* io.murano.system.GC.isDoomed() static method was added. It can be
  used within the ".destroy" method to test if other object is also
  going to be destroyed.

* io.murano.system.GC.isDestroyed() static method was added. It
  checks if the object is destroyed and thus no methods can be invoked
  on it.

* Implemented the capability for the helper methods of Linux class
  to run concurrently if executed for different VM agents.

* Added the following meta-classes to the core library - "Title"
  "Description" "HelpText" "Hidden" "Section" "Position"
  "ModelBuilder". These classes will later be used to implement
  dynamic object model generation.

* Added an overload of the new function - "new($model, $owner)". It
  loads complete object graph in a single call. Objects in the model
  can have cross references. In that case, this is the only way to
  instantiate the graph. Objects might be specified either in object
  model format (with '?' attribute or in MuranoPL format (used for
  Meta definitions).

* The contract "class()" now uses the same approach to load classes
  from dictionaries. Thus the same two syntaxes apply there as well.

* Added Support for application deployment across OpenStack regions.
  Now, all OpenStack resource classes inherit from
  "io.murano.CloudResource" that provides ".getRegion()" method and
  "regionName" property. This allows to assign resources to different
  regions. ".getRegion()" returns "io.murano.CloudRegion" instance
  that resource or its parent belongs to. "CloudRegion" has interface
  similar to "Environment" class and is the correct way to get
  "HeatStack" instance associated with the region, default network
  configuration, security group manager and agent listener instances.
  "Environment" now acts as default region so backward compatibility
  is not broken. However new applications should not use environment
  to set security group rules but rather a region(s) of their
  instance(s) in order to work correctly when their instances were
  configured to use region other than the default.

* Added the "api_workers" option to "murano" config group. It
  controls the number of API workers launched by murano. If not set,
  it would default to the number of CPUs available.

* Added a new engine RPC call to generate json-schema from MuranoPL
  class. The schema may be generated either from the entire class or
  for specific model builders - static actions that can be used to
  generate object model from their input. Class schema is built by
  inspecting class properties and method schema using the same
  algorithm but applied to its arguments.

* Implemented a new framework for MuranoPL contracts. Now, instead
  of several independent implementations of the same yaql methods
  (string(), class() etc.) all implementations of the same method are
  combined into single class. Therefore, we now have a class per
  contract method. This also simplifies development of new contracts.
  Each such class can provide methods for data transformation (default
  contract usage), validation that is used to decide if the method can
  be considered an extension method for the value, and json schema
  generation method that was moved from the schema generator script.

* Previously, when a class overrode a property from its parent class
  the value was stored separately for both of them, transformed by
  each of the contracts. Thus each class saw the value of its
  contract. In absolute majority of the cases, the observed value was
  the same. However, if the contracts were compatible on the provided
  value (say int() and string() contracts on the value "123") they
  were different. This is considered to be a bad pattern. Now, the
  value is stored only once per object and transformed by the contract
  defined in the actual object type. All base contracts are used to
  validate the transformed object thus this pattern will not work
  anymore.

* The value that is stored in the object's properties is obtained by
  executing special "finalize" contract implementation which by
  default returns the input value unmodified. Because validation
  happens on the transformed value before it gets finalized it is
  possible for transformation to return a value that will pass the
  validation though the final value won't. This is used to relax the
  template() contract limitation that prevented child class from
  excluding additional properties from the template.

* The "string()" contract no longer converts everything to string
  values. Now it only converts scalar values to strings. Previous
  behavior allowed "string()" property to accept lists and convert
  them to their Python string representation which is clearly not what
  developers expected.

* Due to refactoring, contracts work a little bit faster because
  there is no more need to generate yaql function definition for each
  contract method on each call.

* Changed the type representation in object model. Previous format
  was to have three attributes in "?" section of the object - type,
  classVersion and package where only the "type" is mandatory. Now
  they are merged into single attribute "type" that has a format
  "typeName/version at package". Version and package parts are still
  optional.

* Previously, when pre-deployment garbage collection occurred it
  executed ".destroy" method for objects that were present in the
  "ObjectsCopy" section of the object model (which is the the snapshot
  of the model after last deployment) and not present in the current
  model anymore (because they were deleted through the API between
  deployments). If the destroyed objects were to access another object
  that was not deleted it was accessing its copy from the
  "ObjectsCopy". Thus any changes to the internal state made by that
  object were lost after the garbage collection finished (that is,
  before the ".deploy" method call) and could not affect the
  deployment. Now, if the object is present in both "Objects" and
  "ObjectsCopy", a single instance (the one from "Objects") is used
  for both garbage collection and deployment. As a consequence,
  instances (in their ".destroy" method) now may observe changes made
  to other objects they refer if they were not deleted, but modified
  through the API. In some rare cases, it may break existing
  applications.

* Separated murano service broker from murano-api into a murano-
  cfapi service. Created a separate database and "paste.ini" for
  service broker.

* Added a new API endpoint "v1/actions" to call static public
  methods. It accepts class name, method name, method arguments, and
  optionally package name and class version in the request body. This
  call does not create an environment, object instances or database
  records.

* Implemented a new contract function "template()". "template()"
  works similar to the "class()" in regards to the data validation but
  does not instantiate objects. Instead, the data is left in the
  object model in dictionary format so that it could be instantiated
  later with the "new()" function. Additionally, the function allows
  excluding specified properties from validation and from the
  resulting template so that they could be provided later. Objects
  that are assigned to the property or argument with "template()"
  contract will be automatically converted to their object model
  representation.

* Split "Instance"'s ".deploy()" method into two phases -
  "beginDeploy()" and "endDeploy()". This allows the application
  developer to provision multiple instances at once without the need
  to push the stack for each instance.

* Added API endpoint
  "/templates/{env_template_id}/services/{path:.*?}" for environment
  template application update operation.

* Added the capability to declare MuranoPL YAML methods with
  variable length positional and keyword arguments. This is done using
  argument "Usage" attribute. Regular arguments have Standard usage
  which is the default. Variable length args (args in Python) should
  have "Usage: VarArgs" and keyword args (kwargs) are declared with
  "Usage: KwArgs". Inside the method they are seen as a list and a
  dictionary correspondingly. For such arguments contracts are written
  for individual argument values thus no need to write them as
  lists/dicts.


Upgrade Notes
*************

* New database migration 015 has to be applied.


Deprecation Notes
*****************

* Deprecated the 'Usage Action' keyword. For format versions >=
  1.4.0, use 'Scope Public' instead.

* Renamed the "workers" option from the "engine" group to
  "engine_workers" to reduce ambiguity with the "api_workers" option.


Security Issues
***************

* cve-2016-4972 has been addressed. In ceveral places Murano used
  loaders inherited directly from yaml.Loader when parsing MuranoPL
  and UI files from packages. This is unsafe, because this loader is
  capable of creating custom python objects from specifically
  constructed yaml files. With this change all yaml loading operations
  are done using safe loaders instead.


Bug Fixes
*********

* Core Library's init scripts used to have various problems
  detecting pre-installed (by DIB) murano-agent on non-ubuntu images.
  Agent setup script now checks wider list of directories before
  attempting to install murano-agnet and service script now does not
  impose strict script location.

* API call for deleting a service from environment template did not
  return result of its operation. The issue is fixed.

* Fixed a bug when the UI dialog was not displayed in Murano
  Dashboard for applications which don't have UI definitions bundled
  in the package but generate them based on the package contents
  instead. This usually affected HOT-based packages and other non-
  muranopl- based applications.

* Removed the need for Keystone v2 options (admin_user,
  admin_password, admin_tenant_name) when Keystone v3 is in use.

* Previously murano assumed that the service user and service
  project are in the 'Default' domain. These values can now be set in
  "keystone_authtoken" config group.

* Equality check (assertEqual) in test-runner can now properly
  compare two MuranoPl objects.

* Prevented the resource leak for objects created during deployment
  with "new()" function call.

* Murano is now able to deploy applications in the environments with
  disabled Neutron Security Groups. Detection is based on the presence
  of 'security-group' Neutron extension.

* Whenever murano-engine accesses script files, text script files
  are opened in 'rU' mode which recognizes all types of newlines, and
  binary files are opened in 'rb' mode to prevent their corruption.

* It is now possible to use version specifications like '=0.0.0'
  when "semantic_version" library version '2.3.1' is installed.
  Previously such specifications caused an error and '==0.0.0' had to
  be used.

* Murano engine no longer logs methods "string()", "json()", and
  "yaml()" of the 'io.murano.system.Resources' class. This is done to
  prevent UnicodeDecodeError's when transferring binary files to
  murano agent.

* The test-runner now outputs the tests it runs and their results to
  stdout directly, instead of the logging system.

* The test-runner now does not output logs to stderr by default
  unless a 'use_stderr' parameter is specified in the configuration
  file.

* Fixed the issue that prevented the test-runner from properly
  invoking "setUp" and "tearDown" methods of fixtures in some cases.

Changes in murano 2.0.0.0rc1..3.0.0
-----------------------------------

76e7d9e Updated from global requirements
6bb6702 Convert =0 version specs to ==0 specs
34aa88c Move getRegion() in CinderVolume to deploy() method
359c8c6 Fixes ObjectDestroyedError on StackTrace object
c141e1b Update UPPER_CONSTRAINTS_FILE for stable/newton
c64576e Update .gitreview for stable/newton
0e55368 Forces applications to be deleted before Heat stack
ce8e2ec Prevent logging of result of resources.string() method call
9bbd33d Prevent executor finalization until exception are not handled
c5623fd Small fixes in Core Library
2b57eb3 Serialization of destruction dependencies
dc050d4 GC.isDoomed() and GC.isDestroyed() functions were added
0aea40e Serialization of destroyed objects
dcbf5e1 Raise exception on call of method of destroyed object
c472691 Pass receiver to :GC.subscribeDestruction explicitly
584571c On-demand garbage collection
3ab0be1 Break cyclic references in DSL
e9fe5b2 Cleanup, clarify newton release-notes
9a2a63c Fix multiple errors in network configuration function
0122dfe Add joinedNetworks property to Instance class
1e6d619 Use openstack-client variables in openstack CLI calls
ab4d479 Better detect and configure murano-agent pre-installed on image
3799303 Updated from global requirements
cdd248d Adjust region name for network selection in devstack
1833842 Make tests compose packages in temporarily directory
44bc27a [Docs] Add info about using abstract dependencies between applications
da52590 Use default region_name parameter in clients
275a19c Create glare client in functional tests
a21e514 Move misplaced reno notes in place
f4cf8b3 Fix NetworkExplorer creation
2cf88ab Fix adds notes about replacements of items between % signs
b7c2cb4 Fixes invalid expression in app dev framework
087db8c Set the desired hostname to a instance using murano instead of Murano Pattern
bcef79b Add __ne__ built-in function for murano
0ccef5f Object's properties deserialize was fixed
33d8e18 Fix for Wrong reference in glare docs
8506fe4 ObjectStore parent lookup with temporary id was fixed
b1b57a2 Updated from global requirements
8757c6d Type name resolution was fixed
6162510 Increase description column length in task table
882136d An initial commit for MuranoPL garbage collector
ac7940a MasterSlave* classes were deleted
01b3ac3 Alive objects from Objects and ObjectsCopy were merged
2b30594 Migrate JSON schema generator to new framework
acd269f Update clients with multi-region support
077a3c3 Update app dev framework with multi-region support
7e8fb5f New framework for contracts
2f21323 TestFixture mocks were updated
1f3b1be firstOrDefault() was replaced with first(null)
7f21be2 Replace functions 'Dict.get' and 'del' with 'Dict.pop'
47c8f09 Updated from global requirements
688dcd0 TrivialFix: Remove cfg import unused
dfdc374 modify the home-page info with the developer documentation
ca733fe Correct murano reraising of exception
d331a4f Update Readme with correct Doc URL
0d1c6bd Install all dashboard/panel files from murano-dashboard
1e16a4e OpenstackSecurityConfigurable was renamed
bc4c548 Allow network driver selection override
50744ca Fix some typos in wsgi.py & catalog.py
8c1355f Updated from global requirements
6314553 Remove pot files
6395787 Adds more replica provider primitives
0a379e5 Migration of replication to the template() contract
79a6914 Clean imports in code
f1d20ec Update the UI test running documentation
66f310b Change Murano API detection in tests and fix tests itself
079f8c5 [docs] Add instruction to add policy files to horizon
5ff901b Use upper constraints for all jobs in tox.ini
7f8ee1b Base Application classes for App Development Framework
5da4efd Extracted replication capabilities from ServerGroup
855e4ea Updated from global requirements
8eb7d93 Revert "Fix config group for SSL in tempest test"
ffe85fc Fix config group for SSL in tempest test
50a7aa4 Fixes congress integration
f965e10 SoftwareComponent hierarchy refactoring
58d92ab Improved Server naming and provisioning reporting
f309068 Renamed Instance* to Server*
1995f04 AppDevFramework: Server Replication reporting
603b1c0 [Docs] Moves network configuration to admin-guide
8501b18 Refactor 'wait_for_environment_deploy' function
53a30e5 Use glare urls explicitly in devstack plugin
4665730 Add tempest versioning test suite
bb2d0e5 Support for multi-regional apps was added
be69379 Do not serialize Config properties
91d5289 Don't put non-initialized objects into ObjectStore
23a6718 template() contract function was introduced
5475ac1 Updated from global requirements
36b9110 Refactor merge_dicts helper function tests
23fbee8 Add multiple api workers
a6ff115 Trivial: Add python identifiers in setup.cfg.
da7e9ea Linux.runCommand() and Linux.putFile() are now non-synchronized
30846bb Changes type format in object model
a75c16e Fixed reporting in app development framework
2957b61 [docs] Remove "meta-class" term
d1bfc7d Updated from global requirements
30a6805 Add missing parenthesis
9e1f490 Add deployment murano tempest test
e689487 Make service broker work with GLARE again.
3ddfc96 Fix a typo in the rst file
0172551 Move .init call into separate load phase
d6456f0 Get rid of type origins
1d1e388 Add py2.7 and py3.4 identifiers in setup.cfg.
cf22984 Add cinder volumes attachment tests
595c38a Updated from global requirements
27b8f75 [docs] Fix formatting in installation guide
36915a9 Add base and packages for tempest murano scenario tests
1d721d7 Nested new() were not using 2-phase load
dcd32b5 Duplicate objects were instantiated for redeclared properties
209af8f Updated from global requirements
204cbd9 [Docs]Update the Murano service broker install guide
0fe151d Fix string interpolation to delayed by logging
e113f12 Add Python 3.5 classifier and venv
d344e42 Use assertIn, assertNotIn and assertIsNotNone
e59e943 Do not override credential provider in tenant isolation tests
b604434 [Docs] Move user and appdev guides from draft to main docs
ef85e7e SoftwareComponent implementation
e0e3b10 MuranoPL forms implementation
0694559 Respect per region RabbitMQ configs in Agent[Listener]
f2c1973 Updated from global requirements
c4c8be6 Concurrent Execution Control
79dcbb3 InstanceGroup and InstanceProvider hierarchy
e853cf8 Event Notification pattern implemented
d9f0add Replication classes of Application Development Framework library
0b30d06 TestFixtureWithEnvironment class for TestRunner
79b2a2b dump() function added to DSL
77e3c6e Ability to instantiate object graph
abf5fa3 Refactor tempest utils readlines() to read()
61447fd Fix typo in package loader logging
3b53096 Use assertEqual() instead of assertDictEqual()
904cb24 Fix used package versions for stable inheritance
0a835b8 Refactoring of the ObjectStore passing in DSL
e36c534 [Docs] Change FQNs of murano apps and add examples of FQNs
9e502d8 [Docs] Add information about Config property usage
3d8d5a0 Use devstack for service broker use separate paste and db
0854616 Replace OpenStack LLC with OpenStack Foundation
c25f867 Enable static action tests with glare backend
7e1cf62 Add tempest GLARE sanity check tests
0ef402c Initial implementation of artifacts client in tempest plugin
5a7a477 [Docs] Clarify how to run API and engine in separate terminal
9d97f58 Fix cfapi test job
157ceea Devstack install murano-dashboard with murano RBAC policy
e1da1e9 Updated from global requirements
b976914 [Docs]Update the Murano Dashboard install guide
efd0360 Fixed owner usage for dict-based new() function
c9a5855 Updated from global requirements
6550ab4 [Docs] Add parameter resources-dir for hot-packages
5221ddc Updated from global requirements
51cd192 Add py27-mitaka tox target
8a2c60e Updated from global requirements
3d20f25 Use keystoneauth1 lib for authentication helpers
4c6c823 fix a spelling mistake: applcation should be application
7d186c1 Implement API call and RPC call for static actions
75bded1 Could not invoke static methods from Python
81f1d00 [Docs] Add info about 2.2.0 version of execution plan template format
bbe19e4 Add filter based on 'in' operator
317e9bf Use upper-constraints in tox test environments
0b51fb4 [docs] Added murano gerrit dashboard
b899d79 Do not use stevedore namespase as a prefix for class FQNs
89952c1 Use the absolute path for the session backend
8fb54da Use multiprocessing.cpu_count instead of psutil.NUM_CPUS
a7c7ade Improve cover job output
edad301 Updated from global requirements
01af152 Improved Test-Runner's output
63b7556 Test-runner now properly invokes setUp/tearDown methods
d7de282 Added equality handlers for MuranoObjectInterface
2c165ee Update namespaces for MagnumBay application
2548c66 Include objects created with new() into the ObjectStore
6aedcda Allows Spec::transform treat generators as list
9d0c88a Convert script line endings for the target OS
345117b Improve __init__ detection
65902f9 Fix error in Magnum-app
b18df82 Amended reno note about booting from cinder volumes
c30eaf4 [Docs] Add a reference to the article about multi regions
09098e6 Use Murano-specific Horizon settings when devstack install
b555511 Get package service backend when package import in devstack
d5dc0f4 [Plugins] Updated from global requirements
9bdf4c0 Add metadata to the result of action serialization
91fd92c Implement new syntax for action declaration
d8ccb21 Fix issue with deployment with cloudbase-init on Windows
2423a2b Updated from global requirements
28de8c3 Use SafeLoader to load yaml files
0b495c5 Added a muranoPL-specific override of 'call'
5b8ab82 Refactor API params tuples to sets
f5f7fde Format logs in devstack setup
806fd1c Including a description field for environment and environment templates
262a89c Updated from global requirements
a9ae12a [docs] Add information about TestSuiteMultipleEnvironments
c25ef03 Use a correct config option in example plugin
7cc34e8 Add io.murano namespace to demo app for example plugin
2463680 Use murano CLI for importing core library in devstack
88d92b5 Remove version from example and heat-translator plugins
d17c3f6 Fix missing parenthesis in _getSubnetworks call
6e35fb4 Fix application template update
a0670b6 Two-phase Instance deployment support
55a785a Fixed a bug when Heat Stack Update was called without template changes
9c45ec7 Finish porting unit tests to Python 3
bcd838a Port API v1 unit tests to Python 3
f25776a Fixed inability to deploy if security groups are disabled
b2eef6e Port test_agent and test_catalog to Python 3
6f04c2b Implement meta-classes for UI hints
904aa45 Add timeout to the methods of Linux class
c0bfff2 Fix defaultGroupName of SecurityGroupManager Class
233c141 Devstack add compile message for murano-dashboard
7368211 Change to tempest stable API
eb4b0be Reorder release notes to put master on top
6377e95 [Docs] Add an example about usage of static methods in contracts
67e58f3 Updated from global requirements
0ce227e Update version of source files in cloudify example app
c4e6eaf Update obsolete way of initialize tempest client manager
e427334 Update functional test _get_stack
78037fc Updated from global requirements
c711590 [Docs] Fix typos
cae7e61 Updated *_domain_id to "Default"
596b551 Magnum plugin: import exceptions robustly
c3938f7 fix typo oslo.messaginga
1adc59c Fixing application template deletion
c58e69f Fix mismatch description in env template api doc
41d9114 Updated from global requirements
eb1d5e4 Updated from global requirements
59ce0ce [devstack] Pass MURANO_USE_GLARE as bool, not as str
badc062 Update version of cloudify client in cloudify plugin requirements
176379f Move service broker api to the top level
deb487d Generate separate db for murano service broker
5c8285d Replace obsolete way of get creds in tempest tests
b09cc17 Documentation to use sub-templates in HOT packages
95b0782 Updated from global requirements
928ee3f [Docs] Replace names and images
a4503d7 [Admin Guide] System requirements
afa85b3 Added package references to generated UIs
623ebce Forced flush of tmp file to disk on ui retrieval
fc2cf95 Support GLARE configuration in Murano tempest plugin
b460c80 Fix up Assignment table in MuranoPL Reference
a78185b Remove unnecessary executable permissions
f89df60 [Docs] Add info about manifest format to versioning docs
53f43dd Updated from global requirements
1835767 [docs] Fix small typo in docs about automated tests
01fc294 Updated from global requirements
67f2cc2 [Trivial] Fix mismatch string format argument
80d92d8 Add models and migration for new service broker db
89a4c4c Increase status report messages time resolution
c659b2d Correct wrong import statement in Magnum App
edbcc5f Updated from global requirements
2929f02 Trivial: ignore openstack/common in flake8 exclude list
b5ef3b5 [docs] Add info about sanity_check suits
66727be Updated from global requirements
5bb2782 [Docs] Install diskimage-builder by pip
c8d9394 [Murano Docs] Versioning
091b4d1 Allow insecure SSL communications with RabbitMQ
bc8943c Modified docstrings to comply with pep8 H405 style check
15df963 Change incorrect murano-agent bin file location
8946b95 Updated from global requirements
ca9a6ed Remove explicit version from magnum plugin
5ea200e Support GLARE installation in devstack Murano plugin
5c94920 [Murano Docs] Cinder Volume supporting
21e877c Pass [rabbitmq]/ca_certs file to murano-spawned instance
df4c52d Skip test_migrations on Python 3
440b4b1 Revert the destroy execution order
2460acb [Trivial] Remove unnecessary executable privilege
10aaacb [Murano Docs] Murano Contributor rules
675db99 Fix tempest.conf generation
789dabb Support for *args/**kwargs was added to the MuranoPL
a787d63 Deployment reports datetime DB insertion was fixed
c4bf6f8 Incorrect Method param inheritance was fixed
dc52dea [Docs] Add limitations of deployment murano-agent by cloud-init
aaf9e54 Fix typo in word "settings" in docs about using glare
7102898 Fix inaccuracies in docs about murano apps tests
9536e51 Fixes race condition in HeatStack
34154bc Fixed a bug in _get_glare_url
3f8fc9e Updated from global requirements
f6e795e Fix base64 on Python 3 in yaql_functions.py
2461bad Port cloudfoundry/test_cfapi.py to Python 3
398b8cd Port test_plugin_loader to Python 3
205c0c6 Fix tox -e py34
9aa8200 Imported Translations from Zanata
35a93b0 [Murano Docs] Edits
d0c2310 Use unified decorator for retries
0467994 Updated from global requirements
bff8809 [Murano Docs] Remove articles
47b295c [Murano docs] Publish CLI section
776a4ce Switch to using get_notification_listner
3f45506 Change clusterip field description in docs about Dynamic UI
31d6877 Add ability to configure home region in murano devstack installation
cb0561a Do not force admin credentials in service broker test suite
622ef5e Remove tempest-lib from test-requirements.
12636e2 Increased the size of TEXT columns to store large object models
2858689 'GetPackageUI' API can now be called even if Glare is used
9490e43 Updated from global requirements
f273a92 Add help string for cfapi opts
318941f Updated from global requirements
612a253 Heat stack deletion for HOT/TOSCA packages was fixed
bae0639 [Murano Docs] Install murano-agent by cloud-init
1a94cd0 [Murano Docs] Manage environment templates
960297e Add documentation about bundles
6136b8d Define context.roles with base class
37eba4d [docs] Add stable branch backporting documentation
b43be07 Updated from global requirements
004998f [docs] Documentation about using Glare Artifact Repository
911a026 [docs] Fixed cfapi CLI command sections
51de28f Track status report timestamp
7a51f3a Fix Heat Resource Leak in LinuxMuranoInstance
73370b6 Fix links for samples in heat-transtator plugin
855e5f0 Destroy orphan objects
699aa62 Don't use bash eval for Linux.runCommand
8e29b34 Add note about big files download
6faf217 [Murano Docs] Set environment variables
d7666cf Fix case-sensitive filter value in cfapi
17443fa Docs about murano applications debugging
54e115c Do not upgrade packages with cloud-init
1b847ff Fix typos in Murano files
3c6440a Clean up the configure network doc
3ae3ba5 Revert "Use unified retrying decorator"
275ee88 Use unified retrying decorator
595798b Document changes in Dynamic UI
b92b7e6 Adds a test for logo validation
9dba63e Handling of ephemeral methods was fixed
41be239 Removed warnings from building docs
3337d28 [doc] Fix typo in directory name
5e6a6c3 [doc] Fix formatting for argument
ad5afaa Also package murano_tempest_tests
b5a1245 Remove unnecessary packages.rst
e702315 [doc] Fix malformed table error.
5c3f6b2 Use _LW for deprecation warning
32fc6d8 Update reno for stable/mitaka
49893c8 Fix error on deleting Magnum App


Diffstat (except docs and test files)
-------------------------------------

.gitignore                                         |   2 +
.gitreview                                         |   1 +
README.rst                                         |   2 +-
.../cloudify_tosca_package.py                      |  10 +-
.../nodecellar_example_application/README.rst      |   2 +-
contrib/plugins/cloudify_plugin/requirements.txt   |   2 +-
.../Classes/MagnumBayApp.yaml                      |  90 +++
.../Classes/MagnumBaymodel.yaml                    | 131 +++++
.../com.intel.magnum.plugin.MagnumApp/UI/ui.yaml   | 212 +++++++
.../com.intel.magnum.plugin.MagnumApp/logo.png     | Bin 0 -> 8767 bytes
.../manifest.yaml                                  |  26 +
.../Classes/MagnumBayApp.yaml                      |  83 ---
.../Classes/MagnumBaymodel.yaml                    | 131 -----
.../magnum-app/io.murano.apps.MagnumApp/UI/ui.yaml | 212 -------
.../magnum-app/io.murano.apps.MagnumApp/logo.png   | Bin 8767 -> 0 bytes
.../io.murano.apps.MagnumApp/manifest.yaml         |  26 -
.../magnum_plugin/magnum_plugin/__init__.py        |  28 +-
contrib/plugins/magnum_plugin/requirements.txt     |   2 +-
contrib/plugins/magnum_plugin/setup.cfg            |   1 -
.../Classes/ImageValidatorMixin.yaml               |   1 +
.../murano_exampleplugin/__init__.py               |   2 +-
.../plugins/murano_exampleplugin/requirements.txt  |   2 +-
contrib/plugins/murano_exampleplugin/setup.cfg     |   1 -
.../plugin/csar_package.py                         |  14 +-
.../murano_heat-translator_plugin/requirements.txt |   2 +-
.../sample/hello_world/README.rst                  |   2 +-
.../sample/wordpress/README.rst                    |   2 +-
.../murano_heat-translator_plugin/setup.cfg        |   1 -
devstack/README.rst                                |  10 +
devstack/plugin.sh                                 | 253 ++++++--
devstack/settings                                  |   8 +-
.../app_migrating/app_migrate_to_juno.rst          | 103 ++++
.../app_migrating/app_migrate_to_kilo.rst          | 133 +++++
.../app_migrating/app_migrate_to_liberty.rst       | 274 +++++++++
.../appdev-guide/cinder_volume_supporting.rst      | 153 +++++
.../appdev-guide/hotpackages/chef_server.png       | Bin 0 -> 33595 bytes
.../appdev-guide/hotpackages/chef_server_form.png  | Bin 0 -> 52798 bytes
.../appdev-guide/muranopackages/dynamic_ui.rst     | 418 +++++++++++++
.../muranopackages/package_structure.rst           |  41 ++
.../appdev-guide/muranopackages/repository.rst     |  31 +
.../appdev-guide/muranopackages/structure.png      | Bin 0 -> 114003 bytes
.../appdev-guide/muranopackages/structure.vdx      |   1 +
.../draft/admin-guide/admin_troubleshooting.rst    |   4 +-
.../configure_cloud_foundry_service_broker.rst     |  93 ++-
.../admin-guide/deploy_murano/configure_ssl.rst    |   1 +
.../draft/admin-guide/deploy_murano/devstack.rst   |  12 +-
.../admin-guide/deploy_murano/install_manually.rst |  99 ++--
.../admin-guide/deploy_murano/prerequisites.rst    | 178 ++++++
.../draft/admin-guide/figures/add-interface.png    | Bin 0 -> 75928 bytes
.../admin-guide/figures/network-topology-1.png     | Bin 0 -> 23559 bytes
.../admin-guide/figures/network-topology-2.png     | Bin 0 -> 29217 bytes
.../policy_enforcement/policy_enf_dev.rst          |  16 +-
.../app_migrating/app_migrate_to_juno.rst          | 103 ----
.../app_migrating/app_migrate_to_kilo.rst          | 133 -----
.../app_migrating/app_migrate_to_liberty.rst       | 274 ---------
.../draft/appdev-guide/hotpackages/chef_server.png | Bin 34766 -> 0 bytes
.../appdev-guide/hotpackages/chef_server_form.png  | Bin 64980 -> 0 bytes
.../draft/appdev-guide/hotpackages/compose.rst     |  86 ---
.../draft/appdev-guide/murano_pl/actions.rst       |  77 ---
.../draft/appdev-guide/murano_pl/class_templ.rst   | 576 ------------------
.../draft/appdev-guide/murano_pl/core_lib.rst      | 323 ----------
.../draft/appdev-guide/murano_pl/metadata.rst      | 316 ----------
.../draft/appdev-guide/murano_pl/reflection.rst    | 267 ---------
.../draft/appdev-guide/murano_pl/statics.rst       | 180 ------
.../appdev-guide/muranopackages/dynamic_ui.rst     | 369 ------------
.../muranopackages/package_structure.rst           |  41 --
.../appdev-guide/muranopackages/repository.rst     |  31 -
.../appdev-guide/muranopackages/structure.png      | Bin 114003 -> 0 bytes
.../appdev-guide/muranopackages/structure.vdx      |   1 -
.../draft/contributor-guide/dev_guidelines.rst     |  26 +
.../draft/contributor-guide/stable_branches.rst    |  66 +++
.../draft/enduser-guide/deploying_using_cli.rst    | 183 ------
.../draft/enduser-guide/figures/add_key_pair.png   | Bin 68313 -> 0 bytes
.../draft/enduser-guide/figures/add_pkg_info.png   | Bin 73575 -> 0 bytes
.../figures/add_to_env/add_component.png           | Bin 75227 -> 0 bytes
.../figures/add_to_env/add_from_cat.png            | Bin 158972 -> 0 bytes
.../figures/add_to_env/add_more_apps.png           | Bin 19543 -> 0 bytes
.../figures/add_to_env/add_to_env.png              | Bin 155363 -> 0 bytes
.../figures/add_to_env/configure_app.png           | Bin 31702 -> 0 bytes
.../figures/add_to_env/drag_and_drop.png           | Bin 74718 -> 0 bytes
.../figures/add_to_env/quick_deploy.png            | Bin 154893 -> 0 bytes
.../enduser-guide/figures/add_to_env/quick_env.png | Bin 88719 -> 0 bytes
.../draft/enduser-guide/figures/app_category.png   | Bin 145339 -> 0 bytes
.../draft/enduser-guide/figures/app_details.png    | Bin 49342 -> 0 bytes
.../draft/enduser-guide/figures/app_filter.png     | Bin 79080 -> 0 bytes
.../enduser-guide/figures/app_filter_example.png   | Bin 89056 -> 0 bytes
.../draft/enduser-guide/figures/app_logs.png       | Bin 45705 -> 0 bytes
.../enduser-guide/figures/browse_zip_file.png      | Bin 36614 -> 0 bytes
.../draft/enduser-guide/figures/bundle_name.png    | Bin 37371 -> 0 bytes
.../enduser-guide/figures/component-details.png    | Bin 50710 -> 0 bytes
.../enduser-guide/figures/delete_application.png   | Bin 79716 -> 0 bytes
.../draft/enduser-guide/figures/deploy_env.png     | Bin 79753 -> 0 bytes
.../draft/enduser-guide/figures/deploy_env_2.png   | Bin 46702 -> 0 bytes
.../enduser-guide/figures/env-component-logs.png   | Bin 48071 -> 0 bytes
.../enduser-guide/figures/env_default_network.png  | Bin 33111 -> 0 bytes
.../draft/enduser-guide/figures/environments.png   | Bin 42964 -> 0 bytes
.../draft/enduser-guide/figures/import_bundle.png  | Bin 34674 -> 0 bytes
.../draft/enduser-guide/figures/import_package.png | Bin 34741 -> 0 bytes
.../draft/enduser-guide/figures/murano_actions.png | Bin 115870 -> 0 bytes
.../enduser-guide/figures/qs_app_category.png      | Bin 29792 -> 0 bytes
.../enduser-guide/figures/qs_package_details.png   | Bin 72403 -> 0 bytes
.../enduser-guide/figures/qs_package_import.png    | Bin 53518 -> 0 bytes
.../draft/enduser-guide/figures/qs_package_url.png | Bin 31351 -> 0 bytes
.../enduser-guide/figures/qs_quick_deploy.png      | Bin 39992 -> 0 bytes
.../enduser-guide/figures/qs_quick_deploy_2.png    | Bin 75803 -> 0 bytes
.../draft/enduser-guide/figures/qs_quick_env.png   | Bin 81441 -> 0 bytes
.../draft/enduser-guide/figures/repository.png     | Bin 41589 -> 0 bytes
.../enduser-guide/figures/select_packages.png      | Bin 110216 -> 0 bytes
.../enduser-guide/figures/topology_element_1.png   | Bin 3523 -> 0 bytes
.../enduser-guide/figures/topology_element_2.png   | Bin 3739 -> 0 bytes
.../enduser-guide/figures/topology_kubernetes.png  | Bin 123355 -> 0 bytes
.../enduser-guide/figures/topology_wordpress.png   | Bin 88608 -> 0 bytes
.../enduser-guide/log_in_to_murano_instance.rst    |  59 --
.../draft/enduser-guide/manage_applications.rst    | 586 -------------------
.../draft/enduser-guide/manage_environments.rst    | 111 ----
.../figures/add_to_env/add_component.png           | Bin 0 -> 74659 bytes
.../figures/add_to_env/add_from_cat.png            | Bin 0 -> 116546 bytes
.../figures/add_to_env/add_more_apps.png           | Bin 0 -> 38825 bytes
.../figures/add_to_env/add_to_env.png              | Bin 0 -> 114816 bytes
.../figures/add_to_env/configure_app.png           | Bin 0 -> 31702 bytes
.../figures/add_to_env/drag_and_drop.png           | Bin 0 -> 74752 bytes
.../figures/add_to_env/quick_deploy.png            | Bin 0 -> 115092 bytes
.../enduser-guide/figures/add_to_env/quick_env.png | Bin 0 -> 88183 bytes
.../enduser-guide/figures/app_filter_example.png   | Bin 0 -> 92015 bytes
.../enduser-guide/figures/browse_zip_file.png      | Bin 0 -> 36614 bytes
.../enduser-guide/figures/component-details.png    | Bin 0 -> 58897 bytes
.../enduser-guide/figures/delete_application.png   | Bin 0 -> 77180 bytes
.../enduser-guide/figures/env-component-logs.png   | Bin 0 -> 54181 bytes
.../enduser-guide/figures/env_default_network.png  | Bin 0 -> 38814 bytes
.../enduser-guide/figures/import_package.png       | Bin 0 -> 40224 bytes
.../enduser-guide/figures/murano_actions.png       | Bin 0 -> 96061 bytes
.../enduser-guide/figures/qs_app_category.png      | Bin 0 -> 29792 bytes
.../enduser-guide/figures/qs_package_details.png   | Bin 0 -> 72403 bytes
.../enduser-guide/figures/qs_package_import.png    | Bin 0 -> 82187 bytes
.../enduser-guide/figures/qs_package_url.png       | Bin 0 -> 31351 bytes
.../enduser-guide/figures/qs_quick_deploy.png      | Bin 0 -> 39992 bytes
.../enduser-guide/figures/qs_quick_deploy_2.png    | Bin 0 -> 75803 bytes
.../enduser-guide/figures/select_packages.png      | Bin 0 -> 138633 bytes
.../enduser-guide/figures/topology_element_1.png   | Bin 0 -> 3523 bytes
.../enduser-guide/figures/topology_element_2.png   | Bin 0 -> 3739 bytes
.../enduser-guide/figures/topology_kubernetes.png  | Bin 0 -> 135930 bytes
.../enduser-guide/figures/topology_wordpress.png   | Bin 0 -> 87725 bytes
.../enduser-guide/log_in_to_murano_instance.rst    |  59 ++
etc/murano/logging.conf.sample                     |   2 +-
etc/murano/murano-cfapi-paste.ini                  |  30 +
etc/murano/murano-paste.ini                        |   6 -
etc/oslo-config-generator/murano-cfapi.conf        |   6 +
meta/io.murano.applications/Classes/baseapps.yaml  |  85 +++
meta/io.murano.applications/Classes/component.yaml | 440 ++++++++++++++
meta/io.murano.applications/Classes/events.yaml    | 104 ++++
.../Classes/replication.yaml                       | 218 +++++++
meta/io.murano.applications/Classes/servers.yaml   | 239 ++++++++
meta/io.murano.applications/manifest.yaml          |  59 ++
meta/io.murano/Classes/CloudRegion.yaml            |  57 ++
meta/io.murano/Classes/CloudResource.yaml          |  33 ++
meta/io.murano/Classes/Environment.yaml            |  87 +--
meta/io.murano/Classes/SharedIp.yaml               |  33 +-
meta/io.murano/Classes/configuration/Linux.yaml    |  17 +-
meta/io.murano/Classes/metadata/Description.yaml   |  22 +
meta/io.murano/Classes/metadata/HelpText.yaml      |  22 +
meta/io.murano/Classes/metadata/ModelBuilder.yaml  |  24 +
meta/io.murano/Classes/metadata/Title.yaml         |  22 +
.../Classes/metadata/engine/Serialize.yaml         |  25 +
.../Classes/metadata/engine/Synchronize.yaml       |  27 +
meta/io.murano/Classes/metadata/forms/Hidden.yaml  |  24 +
.../io.murano/Classes/metadata/forms/Position.yaml |  28 +
meta/io.murano/Classes/metadata/forms/Section.yaml |  32 +
meta/io.murano/Classes/resources/CinderVolume.yaml |  19 +-
.../Classes/resources/ConfLangInstance.yaml        |  13 +-
.../Classes/resources/ExistingNeutronNetwork.yaml  |  14 +-
.../Classes/resources/HeatSWConfigInstance.yaml    |  11 +-
meta/io.murano/Classes/resources/Instance.yaml     | 103 ++--
.../io.murano/Classes/resources/LinuxInstance.yaml |   4 +-
.../Classes/resources/LinuxMuranoInstance.yaml     |  33 +-
meta/io.murano/Classes/resources/Network.yaml      |  12 +-
.../Classes/resources/NeutronNetwork.yaml          |  53 +-
.../Classes/resources/NeutronNetworkBase.yaml      |  21 +-
meta/io.murano/Classes/resources/NovaNetwork.yaml  |   5 +-
meta/io.murano/Classes/resources/Volume.yaml       |   2 +
.../Classes/system/AwsSecurityGroupManager.yaml    |  13 +-
.../Classes/system/DummySecurityGroupManager.yaml  |  23 +
.../system/NeutronSecurityGroupManager.yaml        |  14 +-
.../Classes/system/SecurityGroupManager.yaml       |   7 +-
meta/io.murano/Classes/test/TestFixture.yaml       |  60 ++
meta/io.murano/Resources/Agent-v2.template         |   5 +-
meta/io.murano/Resources/RunCommand.template       |  15 +-
meta/io.murano/Resources/conflang.conf             |   2 -
meta/io.murano/Resources/linux-init.sh             |   7 +
meta/io.murano/Resources/murano-agent              |   8 +-
meta/io.murano/Resources/murano-agent.conf         |   2 +-
meta/io.murano/Resources/murano-agent.service      |   2 +-
meta/io.murano/Resources/murano-init.conf          |   4 +-
meta/io.murano/Resources/murano-init.sh            |  35 +-
meta/io.murano/Resources/scripts/runCommand.sh     |  14 -
meta/io.murano/Resources/windows-init.ps1          |  17 +-
meta/io.murano/manifest.yaml                       |  18 +-
murano/api/middleware/context.py                   |   4 +
murano/api/middleware/ext_context.py               |  11 +-
murano/api/middleware/fault.py                     |   4 +-
murano/api/middleware/ssl.py                       |   4 +-
murano/api/middleware/version_negotiation.py       |  10 +-
murano/api/v1/__init__.py                          |   9 +-
murano/api/v1/catalog.py                           | 104 +++-
murano/api/v1/cloudfoundry/__init__.py             |   0
murano/api/v1/cloudfoundry/cfapi.py                | 328 -----------
murano/api/v1/cloudfoundry/router.py               |  57 --
murano/api/v1/environments.py                      |   2 +-
murano/api/v1/router.py                            |  21 +
murano/api/v1/schemas.py                           |  97 ++-
murano/api/v1/static_actions.py                    |  75 +++
murano/api/v1/template_applications.py             |  26 +-
murano/api/v1/templates.py                         |  34 +-
murano/api/v1/validation_schemas.py                |  74 +++
murano/api/versions.py                             |   4 -
murano/cfapi/__init__.py                           |   0
murano/cfapi/cfapi.py                              | 339 +++++++++++
murano/cfapi/router.py                             |  57 ++
murano/cmd/api.py                                  |   9 +-
murano/cmd/cfapi.py                                |   6 +-
murano/cmd/cfapi_db_manage.py                      |  80 +++
murano/cmd/engine.py                               |   2 +-
murano/cmd/manage.py                               |   1 -
murano/cmd/test_runner.py                          |  87 ++-
murano/common/app_loader.py                        |   8 +-
murano/common/auth_utils.py                        | 127 ++--
murano/common/cf_config.py                         |  76 +++
murano/common/config.py                            |  24 +-
murano/common/engine.py                            | 169 ++++--
murano/common/helpers/token_sanitizer.py           |   7 +-
murano/common/messaging/mqclient.py                |  12 +-
murano/common/plugins/extensions_loader.py         |   5 +-
murano/common/rpc.py                               |  13 +
murano/common/server.py                            |  16 +-
murano/common/statservice.py                       |   3 +-
murano/common/utils.py                             | 119 ++--
murano/common/wsgi.py                              |  34 +-
murano/context.py                                  |   9 +-
murano/db/catalog/api.py                           |  10 +-
murano/db/cfapi_migration/__init__.py              |   0
murano/db/cfapi_migration/alembic.ini              |  54 ++
.../db/cfapi_migration/alembic_migrations/README   |  15 +
.../db/cfapi_migration/alembic_migrations/env.py   |  48 ++
.../alembic_migrations/script.py.mako              |  37 ++
.../versions/001_initial_version.py                |  67 +++
murano/db/cfapi_migration/migration.py             |  86 +++
murano/db/cfapi_models.py                          |  61 ++
.../versions/005_environment-template.py           |   7 +-
.../versions/013_increase_description_text_size.py |  61 ++
.../014_increase_status_time_resolution.py         |  61 ++
.../versions/015_adding_text_description.py        |  47 ++
.../016_increase_task_description_text_size.py     |  49 ++
murano/db/migration/migration.py                   |   1 +
murano/db/models.py                                |   2 +
murano/db/services/cf_connections.py               |   2 +-
murano/db/services/core_services.py                |  48 +-
murano/db/services/environments.py                 |   6 +
murano/db/services/sessions.py                     |   8 +-
murano/db/session.py                               |   6 +-
murano/dsl/attribute_store.py                      |  33 +-
murano/dsl/constants.py                            |  11 +-
murano/dsl/contracts/__init__.py                   |  42 ++
murano/dsl/contracts/basic.py                      | 129 ++++
murano/dsl/contracts/check.py                      | 139 +++++
murano/dsl/contracts/contracts.py                  | 303 ++++++++++
murano/dsl/contracts/instances.py                  | 240 ++++++++
murano/dsl/dsl.py                                  | 162 +++---
murano/dsl/dsl_types.py                            |  30 +-
murano/dsl/exceptions.py                           |  10 +
murano/dsl/executor.py                             | 314 +++++++---
murano/dsl/helpers.py                              | 312 +++++++---
murano/dsl/lhs_expression.py                       | 281 ++++-----
murano/dsl/meta.py                                 |  45 +-
murano/dsl/murano_method.py                        |  97 ++-
murano/dsl/murano_object.py                        | 375 ++++++++----
murano/dsl/murano_package.py                       |  22 +-
murano/dsl/murano_property.py                      |  15 +-
murano/dsl/murano_type.py                          | 126 ++--
murano/dsl/object_store.py                         | 326 ++++++++---
murano/dsl/package_loader.py                       |  12 +
murano/dsl/principal_objects/__init__.py           |   2 +
murano/dsl/principal_objects/garbage_collector.py  |  85 +++
murano/dsl/principal_objects/stack_trace.py        |   4 +-
murano/dsl/principal_objects/sys_object.py         |   4 +-
murano/dsl/reflection.py                           |  17 +-
murano/dsl/schema_generator.py                     | 283 +++++++++
murano/dsl/serializer.py                           | 151 ++++-
murano/dsl/type_scheme.py                          | 389 -------------
murano/dsl/typespec.py                             |  55 +-
murano/dsl/yaql_functions.py                       |  90 ++-
murano/dsl/yaql_integration.py                     |  81 +--
murano/engine/mock_context_manager.py              |   7 +-
murano/engine/package_loader.py                    |  83 ++-
murano/engine/system/agent.py                      |  41 +-
murano/engine/system/agent_listener.py             |  12 +-
murano/engine/system/common.py                     |  17 +-
murano/engine/system/heat_stack.py                 | 116 ++--
murano/engine/system/logger.py                     |   7 +-
murano/engine/system/mistralclient.py              | 116 ----
murano/engine/system/net_explorer.py               |  18 +-
murano/engine/system/resource_manager.py           |   9 +-
murano/engine/system/status_reporter.py            |   4 +-
murano/engine/system/system_objects.py             |   4 +-
murano/engine/system/test_fixture.py               |   5 -
murano/engine/system/workflowclient.py             | 122 ++++
murano/engine/system/yaql_functions.py             |  26 +-
murano/engine/yaql_yaml_loader.py                  |   6 +-
murano/locale/murano-log-error.pot                 | 117 ----
murano/locale/murano-log-info.pot                  |  63 --
murano/locale/murano-log-warning.pot               | 105 ----
murano/locale/murano.pot                           | 440 --------------
murano/locale/ru/LC_MESSAGES/murano-log-error.po   |  14 +-
murano/locale/ru/LC_MESSAGES/murano-log-info.po    |   8 +-
murano/locale/ru/LC_MESSAGES/murano-log-warning.po |   8 +-
murano/locale/ru/LC_MESSAGES/murano.po             |  38 +-
murano/opts.py                                     |  15 +
murano/packages/exceptions.py                      |   5 +-
murano/packages/hot_package.py                     |  15 +-
murano/packages/load_utils.py                      |   2 +-
murano/packages/package_base.py                    |   1 +
murano/policy/congress_rules.py                    |  21 +-
murano/policy/model_policy_enforcer.py             |  17 +-
murano/services/actions.py                         |   4 +-
murano/services/static_actions.py                  |  36 ++
.../engine/test_conf_language_support.py           |   8 +-
.../unit/db/migration/test_migrations_base.py      |  23 +-
.../unit/db/services/test_templates_service.py     |   4 +-
.../unit/dsl/foundation/test_package_loader.py     |  11 +-
.../unit/dsl/meta/TestMethodParamInheritance.yaml  |  30 +
.../unit/dsl/test_method_param_inheritance.py      |  35 ++
.../unit/engine/system/test_garbage_collector.py   |  79 +++
.../test.mpl.v1.app/manifest_with_broken_logo.yaml |  19 +
.../test.mpl.v1.app/test_logo.png.not_valid        | Bin 0 -> 210 bytes
.../policy/modify/actions/test_action_manager.py   |  10 +-
.../policy/modify/actions/test_default_actions.py  | 109 ++--
.../unit/policy/test_model_policy_enforcer.py      |  18 +-
murano/utils.py                                    |   1 +
.../extras/MockApp/Classes/mock_muranopl.yaml      |  30 +-
.../Classes/ApacheHttpServer.yaml                  |  81 +++
.../Resources/index.html                           |   8 +
.../manifest.yaml                                  |  28 +
.../Classes/Lighttpd.yaml                          |  55 ++
.../Resources/DeployLighttpd.template              |  27 +
.../Resources/scripts/deployLighttpd.sh            |  14 +
.../io.murano.apps.test.Lighttpd/manifest.yaml     |  24 +
.../Classes/UpdateExecutor.yaml                    |  47 ++
.../Resources/scripts/update.sh                    |  14 +
.../manifest.yaml                                  |  22 +
.../application_catalog_client.py                  |  30 +-
.../services/artifacts/__init__.py                 |   0
.../services/artifacts/artifacts_client.py         | 158 +++++
.../api/application_catalog/artifacts/__init__.py  |   0
.../api/application_catalog/artifacts/base.py      | 119 ++++
.../artifacts/test_repository.py                   |  54 ++
.../artifacts/test_versioning.py                   | 164 ++++++
.../artifacts/test_versioning_negative.py          |  97 +++
.../api/application_catalog/test_categories.py     |  11 +-
.../test_categories_negative.py                    |  10 +-
.../api/application_catalog/test_env_templates.py  |  37 +-
.../test_env_templates_negative.py                 |  21 +-
.../api/application_catalog/test_environments.py   |  12 +-
.../test_environments_negative.py                  |  15 +-
.../api/application_catalog/test_repository.py     |  38 +-
.../test_repository_negative.py                    |  43 +-
.../application_catalog/test_services_negative.py  |  29 +-
.../application_catalog/test_sessions_negative.py  |  21 +-
.../api/application_catalog/test_static_actions.py |  75 +++
.../test_static_actions_negative.py                | 108 ++++
.../service_broker/test_service_broker_actions.py  |  17 +-
.../service_broker/test_service_broker_negative.py |   6 +-
.../application_catalog/test_cinder_volumes.py     | 485 +++++++++++++++
.../application_catalog/test_deployment.py         | 251 ++++++++
.../notes/action-syntax-3f2cbe843801f80d.yaml      |   7 +
.../add_api_in_operator-371e3a1d2aec6421.yaml      |   8 +
...dd_timeout_to_linux_class-05d1f573a883f3ce.yaml |   4 +
.../better-detect-agent-9ef8892a4bfb72cd.yaml      |   7 +
.../notes/cinder-volumes-0412875c1011f8eb.yaml     |   4 +-
.../config-network-driver-77c82d151dead620.yaml    |   6 +
...elete-app-in-env-template-d8e07d3b860f0441.yaml |   3 +
.../enable-hot-for-glare-8026f2dccad1732e.yaml     |   6 +
...d-adding_text_description-25bd77f36ee370ba.yaml |   5 +
.../notes/garbage-collection-50e78c4c9d47eba6.yaml |  11 +
.../notes/gc-collect-165e73bbaf345d74.yaml         |  13 +
.../gc-isdoomed-isdestroyed-9598a6e15dbf36a0.yaml  |   8 +
.../notes/keystone-v3-0e287679f7f40a2a.yaml        |   8 +
.../linux-helpers-async-243fc1adbbe5c512.yaml      |   4 +
.../notes/meta-for-ui-72f5b58c6d17599f.yaml        |  12 +
.../notes/model-load-c1eb24843d30e414.yaml         |   9 +
.../multi-regional-apps-b64afbaeafd5b9c5.yaml      |  16 +
.../multiple-api-workers-60492ddc2e3ff0aa.yaml     |   9 +
...object-interface-equality-9fc8048be61bd539.yaml |   4 +
.../notes/muranopl-forms-4a3fb8153f26bbcf.yaml     |   8 +
.../new-contract-framework-1dede2d16b2e9c71.yaml   |  38 ++
...objects-resource-leak-fix-33a2eca3a4ccb8af.yaml |   4 +
...pe-format-in-object-model-da6976291057ab31.yaml |  10 +
...neutron-sec-group-support-2d69082b7226d6c0.yaml |   5 +
...bjects-copy-objects-merge-8f2752b1a1a18af0.yaml |  18 +
.../safeloader-cve-2016-4972-19035a2a091ec30a.yaml |   9 +
.../script-line-endings-db632db9e24237a3.yaml      |   6 +
...ervice-broker-from-murano-f6ee48576f51d893.yaml |   4 +
.../spec-semver-library-436b0db35fbd4c37.yaml      |   5 +
.../notes/static-actions-61759be796299039.yaml     |   7 +
.../notes/string-logging-20b8e60a957ba6b7.yaml     |   5 +
.../notes/template-contract-b71840cbc35eb478.yaml  |  11 +
.../test-runner-output-fix-e942e221be189424.yaml   |   6 +
...t-runner-set-up-tear-down-a269a31734544a3a.yaml |   4 +
...two-phase-instance-deploy-81d37e7987abc792.yaml |   5 +
...pdate-app-in-env-template-08d92b22bd1355f5.yaml |   4 +
.../notes/var-kw-args-c42c31678d8bc747.yaml        |  11 +
releasenotes/source/index.rst                      |   3 +-
releasenotes/source/mitaka.rst                     |   6 +
requirements.txt                                   |  42 +-
setup.cfg                                          |  15 +-
test-requirements.txt                              |  16 +-
tools/cover.sh                                     |   8 +
tools/lintstack.py                                 |   4 +-
tox.ini                                            |  19 +-
618 files changed, 23500 insertions(+), 12739 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index c616a3f..25a6576 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5 @@ pbr>=1.6 # Apache-2.0
-Babel>=1.3 # BSD
+Babel>=2.3.4 # BSD
@@ -7,2 +7,2 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT
-stevedore>=1.5.0 # Apache-2.0
-alembic>=0.8.0 # MIT
+stevedore>=1.16.0 # Apache-2.0
+alembic>=0.8.4 # MIT
@@ -11,2 +11,2 @@ PasteDeploy>=1.5.0 # MIT
-Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT
-Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT
+Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT
+Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT
@@ -18 +18 @@ six>=1.9.0 # MIT
-netaddr!=0.7.16,>=0.7.12 # BSD
+netaddr!=0.7.16,>=0.7.13 # BSD
@@ -21 +21,2 @@ jsonpatch>=1.1 # BSD
-keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0
+keystoneauth1>=2.10.0 # Apache-2.0
+keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
@@ -23,0 +25 @@ yaql>=1.1.0 # Apache 2.0 License
+debtcollector>=1.2.0 # Apache-2.0
@@ -29,3 +31,3 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
-python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0
-python-heatclient>=0.6.0 # Apache-2.0
-python-neutronclient!=4.1.0,>=2.6.0 # Apache-2.0
+python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
+python-heatclient>=1.4.0 # Apache-2.0
+python-neutronclient>=5.1.0 # Apache-2.0
@@ -33,8 +35,8 @@ python-muranoclient>=0.8.2 # Apache-2.0
-python-congressclient<2000,>=1.0.0 # Apache-2.0
-python-mistralclient>=1.0.0 # Apache-2.0
-oslo.db>=4.1.0 # Apache-2.0
-oslo.config>=3.7.0 # Apache-2.0
-oslo.concurrency>=3.5.0 # Apache-2.0
-oslo.context>=0.2.0 # Apache-2.0
-oslo.policy>=0.5.0 # Apache-2.0
-oslo.messaging>=4.0.0 # Apache-2.0
+python-congressclient<2000,>=1.3.0 # Apache-2.0
+python-mistralclient>=2.0.0 # Apache-2.0
+oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
+oslo.config>=3.14.0 # Apache-2.0
+oslo.concurrency>=3.8.0 # Apache-2.0
+oslo.context>=2.9.0 # Apache-2.0
+oslo.policy>=1.9.0 # Apache-2.0
+oslo.messaging>=5.2.0 # Apache-2.0
@@ -43,2 +45,2 @@ oslo.serialization>=1.10.0 # Apache-2.0
-oslo.service>=1.0.0 # Apache-2.0
-oslo.utils>=3.5.0 # Apache-2.0
+oslo.service>=1.10.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index d59b5b0..8944542 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7,2 +7,2 @@ coverage>=3.6 # Apache-2.0
-fixtures>=1.3.1 # Apache-2.0/BSD
-mock>=1.2 # BSD
+fixtures>=3.0.0 # Apache-2.0/BSD
+mock>=2.0 # BSD
@@ -12 +11,0 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0
-tempest-lib>=0.14.0 # Apache-2.0
@@ -17,2 +16,3 @@ unittest2 # BSD
-pylint==1.4.5 # GNU GPL v2
-requests!=2.9.0,>=2.8.1 # Apache-2.0
+pylint==1.4.5 # GPLv2
+requests>=2.10.0 # Apache-2.0
+os-testr>=0.7.0 # Apache-2.0
@@ -21 +21 @@ requests!=2.9.0,>=2.8.1 # Apache-2.0
-PyMySQL>=0.6.2 # MIT License
+PyMySQL!=0.7.7,>=0.6.2 # MIT License
@@ -26 +26 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
@@ -28 +28 @@ sphinxcontrib-httpdomain # BSD
-reno>=0.1.1 # Apache2
+reno>=1.8.0 # Apache2





More information about the OpenStack-announce mailing list