[new][murano] murano 3.0.0 release (newton)
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@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
participants (1)
-
no-reply@openstack.org