From 7e6a646f0394cd15b3c130aac4190b9ed132413b Mon Sep 17 00:00:00 2001 From: Kirill Zaitsev Date: Mon, 5 Sep 2016 16:11:49 +0300 Subject: [PATCH] Added release-notes to plugin guide Change-Id: I1b5fc3bf2df212d0fe70ee890a427ea317dc5aa6 --- docs/plugin_guide/source/conf.py | 4 +- docs/plugin_guide/source/index.rst | 3 +- docs/plugin_guide/source/release_notes.rst | 5 +++ ...tract-base-class-fix-7cb06a0924b973f3.yaml | 8 ++++ .../action-arguments-06a554f76783f3ed.yaml | 5 +++ .../notes/action-syntax-3f2cbe843801f80d.yaml | 7 ++++ ...nment-support-to-OSC-173b86ec631283b7.yaml | 6 +++ .../add_api_in_operator-371e3a1d2aec6421.yaml | 8 ++++ ...meout_to_linux_class-05d1f573a883f3ce.yaml | 4 ++ ...ded-category-command-01cb9dab21ab4a7b.yaml | 6 +++ ...-environment-command-85b31973e101fd1f.yaml | 6 +++ ...dded-schemas-support-e4a6e44c7bac2751.yaml | 7 ++++ ...added-static-actions-3d45f5cdc5491770.yaml | 9 +++++ .../notes/bug-1579220-0a3fe23ac8f249ee.yaml | 5 +++ .../cinder-volumes-0412875c1011f8eb.yaml | 6 +++ ...onfig-network-driver-77c82d151dead620.yaml | 6 +++ ...-app-in-env-template-d8e07d3b860f0441.yaml | 4 ++ .../dep-exists-action-9af18bebcc0ef053.yaml | 7 ++++ .../display_repo_url-47c3cb0b45c2d68d.yaml | 5 +++ ...enable-hot-for-glare-8026f2dccad1732e.yaml | 5 +++ ...ing_text_description-25bd77f36ee370ba.yaml | 5 +++ .../garbage-collection-50e78c4c9d47eba6.yaml | 11 ++++++ .../global-inherits-fix-6da007ec44a774f2.yaml | 4 ++ ...port-horizon-filters-af5dcf0720502567.yaml | 5 +++ .../notes/keystone-v3-0e287679f7f40a2a.yaml | 7 ++++ .../linux-helpers-async-243fc1adbbe5c512.yaml | 4 ++ ...manage-multiple-envs-e587c2e9432e39d7.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 +++++ ...t-interface-equality-9fc8048be61bd539.yaml | 3 ++ .../muranopl-forms-4a3fb8153f26bbcf.yaml | 8 ++++ ...w-contract-framework-1dede2d16b2e9c71.yaml | 38 +++++++++++++++++++ ...ts-resource-leak-fix-33a2eca3a4ccb8af.yaml | 4 ++ ...rmat-in-object-model-da6976291057ab31.yaml | 10 +++++ ...on-sec-group-support-2d69082b7226d6c0.yaml | 5 +++ ...s-copy-objects-merge-8f2752b1a1a18af0.yaml | 18 +++++++++ .../osc-murano-url-507932234b49cf9f.yaml | 3 ++ .../password-checking-780dc07fa1d9926a.yaml | 6 +++ .../reload-empty-env-10165198e8384b08.yaml | 4 ++ ...e-dashboard-settings-11733b5c1003154b.yaml | 11 ++++++ .../requirements-order-19ecc40ca6d34739.yaml | 5 +++ ...esources-dir-for-hot-c557c1472bbc79fa.yaml | 5 +++ ...loader-cve-2016-4972-19035a2a091ec30a.yaml | 9 +++++ .../script-line-endings-db632db9e24237a3.yaml | 6 +++ ...e-broker-from-murano-f6ee48576f51d893.yaml | 4 ++ ..._request_latest_apps-4f6add404ab07c15.yaml | 4 ++ .../static-actions-61759be796299039.yaml | 7 ++++ .../status-session-b06786d470910080.yaml | 7 ++++ .../template-contract-b71840cbc35eb478.yaml | 11 ++++++ ...st-runner-output-fix-e942e221be189424.yaml | 6 +++ ...ner-set-up-tear-down-a269a31734544a3a.yaml | 4 ++ ...hase-instance-deploy-81d37e7987abc792.yaml | 5 +++ ...-app-in-env-template-08d92b22bd1355f5.yaml | 4 ++ .../notes/var-kw-args-c42c31678d8bc747.yaml | 11 ++++++ test-requirements.txt | 2 + 57 files changed, 399 insertions(+), 3 deletions(-) create mode 100644 docs/plugin_guide/source/release_notes.rst create mode 100644 releasenotes/notes/abstract-base-class-fix-7cb06a0924b973f3.yaml create mode 100644 releasenotes/notes/action-arguments-06a554f76783f3ed.yaml create mode 100644 releasenotes/notes/action-syntax-3f2cbe843801f80d.yaml create mode 100644 releasenotes/notes/add-environment-support-to-OSC-173b86ec631283b7.yaml create mode 100644 releasenotes/notes/add_api_in_operator-371e3a1d2aec6421.yaml create mode 100644 releasenotes/notes/add_timeout_to_linux_class-05d1f573a883f3ce.yaml create mode 100644 releasenotes/notes/added-category-command-01cb9dab21ab4a7b.yaml create mode 100644 releasenotes/notes/added-environment-command-85b31973e101fd1f.yaml create mode 100644 releasenotes/notes/added-schemas-support-e4a6e44c7bac2751.yaml create mode 100644 releasenotes/notes/added-static-actions-3d45f5cdc5491770.yaml create mode 100644 releasenotes/notes/bug-1579220-0a3fe23ac8f249ee.yaml create mode 100644 releasenotes/notes/cinder-volumes-0412875c1011f8eb.yaml create mode 100644 releasenotes/notes/config-network-driver-77c82d151dead620.yaml create mode 100644 releasenotes/notes/delete-app-in-env-template-d8e07d3b860f0441.yaml create mode 100644 releasenotes/notes/dep-exists-action-9af18bebcc0ef053.yaml create mode 100644 releasenotes/notes/display_repo_url-47c3cb0b45c2d68d.yaml create mode 100644 releasenotes/notes/enable-hot-for-glare-8026f2dccad1732e.yaml create mode 100644 releasenotes/notes/fixed-adding_text_description-25bd77f36ee370ba.yaml create mode 100644 releasenotes/notes/garbage-collection-50e78c4c9d47eba6.yaml create mode 100644 releasenotes/notes/global-inherits-fix-6da007ec44a774f2.yaml create mode 100644 releasenotes/notes/import-horizon-filters-af5dcf0720502567.yaml create mode 100644 releasenotes/notes/keystone-v3-0e287679f7f40a2a.yaml create mode 100644 releasenotes/notes/linux-helpers-async-243fc1adbbe5c512.yaml create mode 100644 releasenotes/notes/manage-multiple-envs-e587c2e9432e39d7.yaml create mode 100644 releasenotes/notes/meta-for-ui-72f5b58c6d17599f.yaml create mode 100644 releasenotes/notes/model-load-c1eb24843d30e414.yaml create mode 100644 releasenotes/notes/multi-regional-apps-b64afbaeafd5b9c5.yaml create mode 100644 releasenotes/notes/multiple-api-workers-60492ddc2e3ff0aa.yaml create mode 100644 releasenotes/notes/murano-object-interface-equality-9fc8048be61bd539.yaml create mode 100644 releasenotes/notes/muranopl-forms-4a3fb8153f26bbcf.yaml create mode 100644 releasenotes/notes/new-contract-framework-1dede2d16b2e9c71.yaml create mode 100644 releasenotes/notes/new-objects-resource-leak-fix-33a2eca3a4ccb8af.yaml create mode 100644 releasenotes/notes/new-type-format-in-object-model-da6976291057ab31.yaml create mode 100644 releasenotes/notes/no-neutron-sec-group-support-2d69082b7226d6c0.yaml create mode 100644 releasenotes/notes/objects-copy-objects-merge-8f2752b1a1a18af0.yaml create mode 100644 releasenotes/notes/osc-murano-url-507932234b49cf9f.yaml create mode 100644 releasenotes/notes/password-checking-780dc07fa1d9926a.yaml create mode 100644 releasenotes/notes/reload-empty-env-10165198e8384b08.yaml create mode 100644 releasenotes/notes/reorganize-dashboard-settings-11733b5c1003154b.yaml create mode 100644 releasenotes/notes/requirements-order-19ecc40ca6d34739.yaml create mode 100644 releasenotes/notes/resources-dir-for-hot-c557c1472bbc79fa.yaml create mode 100644 releasenotes/notes/safeloader-cve-2016-4972-19035a2a091ec30a.yaml create mode 100644 releasenotes/notes/script-line-endings-db632db9e24237a3.yaml create mode 100644 releasenotes/notes/separate-service-broker-from-murano-f6ee48576f51d893.yaml create mode 100644 releasenotes/notes/single_request_latest_apps-4f6add404ab07c15.yaml create mode 100644 releasenotes/notes/static-actions-61759be796299039.yaml create mode 100644 releasenotes/notes/status-session-b06786d470910080.yaml create mode 100644 releasenotes/notes/template-contract-b71840cbc35eb478.yaml create mode 100644 releasenotes/notes/test-runner-output-fix-e942e221be189424.yaml create mode 100644 releasenotes/notes/test-runner-set-up-tear-down-a269a31734544a3a.yaml create mode 100644 releasenotes/notes/two-phase-instance-deploy-81d37e7987abc792.yaml create mode 100644 releasenotes/notes/update-app-in-env-template-08d92b22bd1355f5.yaml create mode 100644 releasenotes/notes/var-kw-args-c42c31678d8bc747.yaml diff --git a/docs/plugin_guide/source/conf.py b/docs/plugin_guide/source/conf.py index fa70c0f..6a6c0ed 100644 --- a/docs/plugin_guide/source/conf.py +++ b/docs/plugin_guide/source/conf.py @@ -29,8 +29,8 @@ import os # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ -# 'sphinx.ext.todo', -# 'sphinx.ext.coverage', + 'oslosphinx', + 'reno.sphinxext', ] # Add any paths that contain templates here, relative to this directory. diff --git a/docs/plugin_guide/source/index.rst b/docs/plugin_guide/source/index.rst index 5befaf3..dc60338 100644 --- a/docs/plugin_guide/source/index.rst +++ b/docs/plugin_guide/source/index.rst @@ -8,4 +8,5 @@ The Murano Plugin for Fuel Guide intro install configure - update \ No newline at end of file + update + release_notes diff --git a/docs/plugin_guide/source/release_notes.rst b/docs/plugin_guide/source/release_notes.rst new file mode 100644 index 0000000..715b7b5 --- /dev/null +++ b/docs/plugin_guide/source/release_notes.rst @@ -0,0 +1,5 @@ + +1.0.0 Fuel Murano Plugin Release Notes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. release-notes:: diff --git a/releasenotes/notes/abstract-base-class-fix-7cb06a0924b973f3.yaml b/releasenotes/notes/abstract-base-class-fix-7cb06a0924b973f3.yaml new file mode 100644 index 0000000..45a8c56 --- /dev/null +++ b/releasenotes/notes/abstract-base-class-fix-7cb06a0924b973f3.yaml @@ -0,0 +1,8 @@ +--- +fixes: + - When glare is used, specifying a base class in the UI definition + now also fetches all the packages with classes + that inherit from that class. For example, if you + specify the 'io.example.Parent' class, the dashboard + fetches 'io.example.Child1' and 'io.example.Child2', and any other + descendants of 'io.example.Parent' that are present. diff --git a/releasenotes/notes/action-arguments-06a554f76783f3ed.yaml b/releasenotes/notes/action-arguments-06a554f76783f3ed.yaml new file mode 100644 index 0000000..7b58ad2 --- /dev/null +++ b/releasenotes/notes/action-arguments-06a554f76783f3ed.yaml @@ -0,0 +1,5 @@ +--- +feature: + - The :command:`environment-action-call` command now accepts action argument values of any + type in JSON format, for example, + ``environment-action-call $ENV_ID --action-id $ACT_ID --arguments foo=bar listArg='["item1", "item2", "item3"]' nullArg=null stringArg='"null"' intArg=5``. diff --git a/releasenotes/notes/action-syntax-3f2cbe843801f80d.yaml b/releasenotes/notes/action-syntax-3f2cbe843801f80d.yaml new file mode 100644 index 0000000..86443d1 --- /dev/null +++ b/releasenotes/notes/action-syntax-3f2cbe843801f80d.yaml @@ -0,0 +1,7 @@ +--- +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. +deprecations: + - Deprecated the ``Usage Action`` keyword. For format versions 1.4.0 and newer, use ``Scope Public`` instead. diff --git a/releasenotes/notes/add-environment-support-to-OSC-173b86ec631283b7.yaml b/releasenotes/notes/add-environment-support-to-OSC-173b86ec631283b7.yaml new file mode 100644 index 0000000..4c140a5 --- /dev/null +++ b/releasenotes/notes/add-environment-support-to-OSC-173b86ec631283b7.yaml @@ -0,0 +1,6 @@ +--- +features: + - New OSC command :command:`environment list [--all-tenants]` + - New OSC command :command:`environment show [--session-id ] [--only-apps]` + - New OSC command :command:`environment rename ` + - New OSC command :command:`environment session create ` diff --git a/releasenotes/notes/add_api_in_operator-371e3a1d2aec6421.yaml b/releasenotes/notes/add_api_in_operator-371e3a1d2aec6421.yaml new file mode 100644 index 0000000..44f56a6 --- /dev/null +++ b/releasenotes/notes/add_api_in_operator-371e3a1d2aec6421.yaml @@ -0,0 +1,8 @@ +--- +features: + - 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'. + Added this filter using the syntax that conforms to the latest + guidelines from the OpenStack API-WG. diff --git a/releasenotes/notes/add_timeout_to_linux_class-05d1f573a883f3ce.yaml b/releasenotes/notes/add_timeout_to_linux_class-05d1f573a883f3ce.yaml new file mode 100644 index 0000000..7936351 --- /dev/null +++ b/releasenotes/notes/add_timeout_to_linux_class-05d1f573a883f3ce.yaml @@ -0,0 +1,4 @@ +--- +features: + - Added the ``timeout`` parameter to ``runCommand`` and ``putFile`` + methods of the ``io.murano.configuration.Linux`` class. diff --git a/releasenotes/notes/added-category-command-01cb9dab21ab4a7b.yaml b/releasenotes/notes/added-category-command-01cb9dab21ab4a7b.yaml new file mode 100644 index 0000000..1acbe20 --- /dev/null +++ b/releasenotes/notes/added-category-command-01cb9dab21ab4a7b.yaml @@ -0,0 +1,6 @@ +--- +features: + - New OSC command :command:`category list` + - New OSC command :command:`category show ` + - New OSC command :command:`category create ` + - New OSC command :command:`category delete [ ...]` diff --git a/releasenotes/notes/added-environment-command-85b31973e101fd1f.yaml b/releasenotes/notes/added-environment-command-85b31973e101fd1f.yaml new file mode 100644 index 0000000..96d0cc1 --- /dev/null +++ b/releasenotes/notes/added-environment-command-85b31973e101fd1f.yaml @@ -0,0 +1,6 @@ +--- +features: + - New OSC command :command:`environment create [--join-net-id ] + [--join-subnet-id ] [--region ] ` + - New OSC command :command:`environment delete [--abandon] + [ ...]` diff --git a/releasenotes/notes/added-schemas-support-e4a6e44c7bac2751.yaml b/releasenotes/notes/added-schemas-support-e4a6e44c7bac2751.yaml new file mode 100644 index 0000000..10f6278 --- /dev/null +++ b/releasenotes/notes/added-schemas-support-e4a6e44c7bac2751.yaml @@ -0,0 +1,7 @@ +--- +features: + - Added support for class/method JSON-schema API. + - New murano CLI command :command:`murano class-schema [--package-name PACKAGE_NAME] + [--class-version PACKAGE_VERSION] [ [ ...]]` + - New OSC command :command:`openstack class-schema [--package-name PACKAGE_NAME] + [--class-version PACKAGE_VERSION] [ [ ...]]` diff --git a/releasenotes/notes/added-static-actions-3d45f5cdc5491770.yaml b/releasenotes/notes/added-static-actions-3d45f5cdc5491770.yaml new file mode 100644 index 0000000..b07c90a --- /dev/null +++ b/releasenotes/notes/added-static-actions-3d45f5cdc5491770.yaml @@ -0,0 +1,9 @@ +--- +features: + - Added support for static actions API. + - New Murano CLI command :command:`murano static-action-call [--arguments + [ [ ...]]] [--package-name ] + [--class-version CLASS_VERSION] ` + - New OSC command :command:`openstack static-action call [--arguments + [ [ ...]]] [--package-name ] + [--class-version CLASS_VERSION] ` diff --git a/releasenotes/notes/bug-1579220-0a3fe23ac8f249ee.yaml b/releasenotes/notes/bug-1579220-0a3fe23ac8f249ee.yaml new file mode 100644 index 0000000..c8e884c --- /dev/null +++ b/releasenotes/notes/bug-1579220-0a3fe23ac8f249ee.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - Fixed the issue with sequential download of packages. + Dashboard is now using 'tables.LinkAction' instead of 'tables.Action' for + DownloadPackage table action. diff --git a/releasenotes/notes/cinder-volumes-0412875c1011f8eb.yaml b/releasenotes/notes/cinder-volumes-0412875c1011f8eb.yaml new file mode 100644 index 0000000..7c00289 --- /dev/null +++ b/releasenotes/notes/cinder-volumes-0412875c1011f8eb.yaml @@ -0,0 +1,6 @@ +--- +features: + - Added Cinder volume classes to the core library. + Now, it s possible to create a new volume from various sources or use an existing volume. + Also, it is possible to attach volumes to instances + and boot instances from volumes. diff --git a/releasenotes/notes/config-network-driver-77c82d151dead620.yaml b/releasenotes/notes/config-network-driver-77c82d151dead620.yaml new file mode 100644 index 0000000..d3db8d8 --- /dev/null +++ b/releasenotes/notes/config-network-driver-77c82d151dead620.yaml @@ -0,0 +1,6 @@ +--- +features: + - 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. diff --git a/releasenotes/notes/delete-app-in-env-template-d8e07d3b860f0441.yaml b/releasenotes/notes/delete-app-in-env-template-d8e07d3b860f0441.yaml new file mode 100644 index 0000000..7c42c3a --- /dev/null +++ b/releasenotes/notes/delete-app-in-env-template-d8e07d3b860f0441.yaml @@ -0,0 +1,4 @@ +fixes: + - The API call for deleting a service from environment template did not return the result of its operation. + The issue was fixed. + diff --git a/releasenotes/notes/dep-exists-action-9af18bebcc0ef053.yaml b/releasenotes/notes/dep-exists-action-9af18bebcc0ef053.yaml new file mode 100644 index 0000000..6fcc076 --- /dev/null +++ b/releasenotes/notes/dep-exists-action-9af18bebcc0ef053.yaml @@ -0,0 +1,7 @@ +--- +features: + - Added the :option:`--dep-exists-action` option to + murano :command:`package-import` and :command:`bundle-import` commands. + It allows specifying a different default action for an existing main + package and existing dependencies. + In case of specifying only :option:`--exists-action`, the action also applies to dependencies. diff --git a/releasenotes/notes/display_repo_url-47c3cb0b45c2d68d.yaml b/releasenotes/notes/display_repo_url-47c3cb0b45c2d68d.yaml new file mode 100644 index 0000000..77c5191 --- /dev/null +++ b/releasenotes/notes/display_repo_url-47c3cb0b45c2d68d.yaml @@ -0,0 +1,5 @@ +--- +features: + - Added the ``DISPLAY_MURANO_REPO_URL`` setting that is used as a + user-visible link to ``apps.openstack.org`` or any other murano + applications repository. diff --git a/releasenotes/notes/enable-hot-for-glare-8026f2dccad1732e.yaml b/releasenotes/notes/enable-hot-for-glare-8026f2dccad1732e.yaml new file mode 100644 index 0000000..1e36d7a --- /dev/null +++ b/releasenotes/notes/enable-hot-for-glare-8026f2dccad1732e.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - Fixed the issue with the UI dialog that did not display in Murano Dashboard for + applications without UI definitions bundled in the package. This usually affected + HOT-based packages and other non-muranopl-based applications. diff --git a/releasenotes/notes/fixed-adding_text_description-25bd77f36ee370ba.yaml b/releasenotes/notes/fixed-adding_text_description-25bd77f36ee370ba.yaml new file mode 100644 index 0000000..aca6e86 --- /dev/null +++ b/releasenotes/notes/fixed-adding_text_description-25bd77f36ee370ba.yaml @@ -0,0 +1,5 @@ +features: + - Added the ``description_text`` field to environment and environment templates + database tables and respective API objects. +upgrade: + - New database migration 015 has to be applied. diff --git a/releasenotes/notes/garbage-collection-50e78c4c9d47eba6.yaml b/releasenotes/notes/garbage-collection-50e78c4c9d47eba6.yaml new file mode 100644 index 0000000..cb9cf02 --- /dev/null +++ b/releasenotes/notes/garbage-collection-50e78c4c9d47eba6.yaml @@ -0,0 +1,11 @@ +--- +features: + - Introduced a new MuranoPL ``io.murano.system.GC`` class. + 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. diff --git a/releasenotes/notes/global-inherits-fix-6da007ec44a774f2.yaml b/releasenotes/notes/global-inherits-fix-6da007ec44a774f2.yaml new file mode 100644 index 0000000..3cf3efc --- /dev/null +++ b/releasenotes/notes/global-inherits-fix-6da007ec44a774f2.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - Importing a package into glare now fills the `'inherited'` field with full + inheritance info. Previously, it only contained immediate parent classes. diff --git a/releasenotes/notes/import-horizon-filters-af5dcf0720502567.yaml b/releasenotes/notes/import-horizon-filters-af5dcf0720502567.yaml new file mode 100644 index 0000000..4dc3452 --- /dev/null +++ b/releasenotes/notes/import-horizon-filters-af5dcf0720502567.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - Fixed the issue that prevented the Murano Dashboard + from finding certain horizon filters, + such as 'parse_isotime', 'timesince_or_never', and others. diff --git a/releasenotes/notes/keystone-v3-0e287679f7f40a2a.yaml b/releasenotes/notes/keystone-v3-0e287679f7f40a2a.yaml new file mode 100644 index 0000000..10cf4cb --- /dev/null +++ b/releasenotes/notes/keystone-v3-0e287679f7f40a2a.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - 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 the ``keystone_authtoken`` configuration group. diff --git a/releasenotes/notes/linux-helpers-async-243fc1adbbe5c512.yaml b/releasenotes/notes/linux-helpers-async-243fc1adbbe5c512.yaml new file mode 100644 index 0000000..dc704ab --- /dev/null +++ b/releasenotes/notes/linux-helpers-async-243fc1adbbe5c512.yaml @@ -0,0 +1,4 @@ +--- +features: + - Implemented the capability for the helper methods of Linux class to run concurrently + if executed for different VM agents. diff --git a/releasenotes/notes/manage-multiple-envs-e587c2e9432e39d7.yaml b/releasenotes/notes/manage-multiple-envs-e587c2e9432e39d7.yaml new file mode 100644 index 0000000..91a08b4 --- /dev/null +++ b/releasenotes/notes/manage-multiple-envs-e587c2e9432e39d7.yaml @@ -0,0 +1,4 @@ +--- +features: + - Added the capability to execute actions (delete, abandon or deploy) + on multiple selected environments. diff --git a/releasenotes/notes/meta-for-ui-72f5b58c6d17599f.yaml b/releasenotes/notes/meta-for-ui-72f5b58c6d17599f.yaml new file mode 100644 index 0000000..7ecc89e --- /dev/null +++ b/releasenotes/notes/meta-for-ui-72f5b58c6d17599f.yaml @@ -0,0 +1,12 @@ +--- +features: + - 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. diff --git a/releasenotes/notes/model-load-c1eb24843d30e414.yaml b/releasenotes/notes/model-load-c1eb24843d30e414.yaml new file mode 100644 index 0000000..26b7a67 --- /dev/null +++ b/releasenotes/notes/model-load-c1eb24843d30e414.yaml @@ -0,0 +1,9 @@ +--- +features: + - Added an overload of the ``new`` function - ``new($model, $owner)``. + It loads a 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 may 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. diff --git a/releasenotes/notes/multi-regional-apps-b64afbaeafd5b9c5.yaml b/releasenotes/notes/multi-regional-apps-b64afbaeafd5b9c5.yaml new file mode 100644 index 0000000..323843e --- /dev/null +++ b/releasenotes/notes/multi-regional-apps-b64afbaeafd5b9c5.yaml @@ -0,0 +1,16 @@ +--- +features: + - 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 assigning resources + to different regions. ``.getRegion()`` returns ``io.murano.CloudRegion`` + instance that resource or its parent belongs to. + The interface of ``CloudRegion`` is similar to the ``Environment`` class and should be used to + get ``HeatStack`` instance associated with the region, + default network configuration, security + group manager, and agent listener instances. ``Environment`` now acts as + a default region so backward compatibility is not broken. However, new + applications should not use the ``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. diff --git a/releasenotes/notes/multiple-api-workers-60492ddc2e3ff0aa.yaml b/releasenotes/notes/multiple-api-workers-60492ddc2e3ff0aa.yaml new file mode 100644 index 0000000..3bfa444 --- /dev/null +++ b/releasenotes/notes/multiple-api-workers-60492ddc2e3ff0aa.yaml @@ -0,0 +1,9 @@ +--- +features: + - Added the ``api_workers`` option to the ``murano`` configuration group. It controls + the number of API workers launched by murano-api. If not set, it defaults to + the number of CPUs available. + +deprecations: + - Renamed the ``workers`` option from the ``engine`` group + to ``engine_workers`` to reduce ambiguity with the ``api_workers`` option. diff --git a/releasenotes/notes/murano-object-interface-equality-9fc8048be61bd539.yaml b/releasenotes/notes/murano-object-interface-equality-9fc8048be61bd539.yaml new file mode 100644 index 0000000..d26f5bc --- /dev/null +++ b/releasenotes/notes/murano-object-interface-equality-9fc8048be61bd539.yaml @@ -0,0 +1,3 @@ +--- +fixes: + - The equality check (assertEqual) in the test-runner can now properly compare two MuranoPl objects. diff --git a/releasenotes/notes/muranopl-forms-4a3fb8153f26bbcf.yaml b/releasenotes/notes/muranopl-forms-4a3fb8153f26bbcf.yaml new file mode 100644 index 0000000..a870f55 --- /dev/null +++ b/releasenotes/notes/muranopl-forms-4a3fb8153f26bbcf.yaml @@ -0,0 +1,8 @@ +--- +features: + - 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. diff --git a/releasenotes/notes/new-contract-framework-1dede2d16b2e9c71.yaml b/releasenotes/notes/new-contract-framework-1dede2d16b2e9c71.yaml new file mode 100644 index 0000000..fecb6f7 --- /dev/null +++ b/releasenotes/notes/new-contract-framework-1dede2d16b2e9c71.yaml @@ -0,0 +1,38 @@ +--- +features: + - Implemented a new framework for MuranoPL contracts. Now, instead of several + independent implementations of the same YAQL methods (``string()``, ``class()`` + and others) all implementations of the same method are combined into a single + class. Therefore, we now have a class per contract method. This also simplifies + the 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 accessed 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 a special ``finalize`` contract implementation that, by default + returns the input value unmodified. Because validation happens on + the transformed value before it gets finalized, + the transformation can return a value that will pass the validation, though the final value will not. + 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 the ``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. diff --git a/releasenotes/notes/new-objects-resource-leak-fix-33a2eca3a4ccb8af.yaml b/releasenotes/notes/new-objects-resource-leak-fix-33a2eca3a4ccb8af.yaml new file mode 100644 index 0000000..7505d93 --- /dev/null +++ b/releasenotes/notes/new-objects-resource-leak-fix-33a2eca3a4ccb8af.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - Prevented the resource leak for objects created during deployment + with ``new()`` function call. diff --git a/releasenotes/notes/new-type-format-in-object-model-da6976291057ab31.yaml b/releasenotes/notes/new-type-format-in-object-model-da6976291057ab31.yaml new file mode 100644 index 0000000..edccbe3 --- /dev/null +++ b/releasenotes/notes/new-type-format-in-object-model-da6976291057ab31.yaml @@ -0,0 +1,10 @@ +--- +features: + - Changed the type representation in the object model. Previously, there were + three attributes in the "?" section of the object - ``type``, ``classVersion``, + and ``package``, where only the ``type`` was mandatory. Now, these attributes are merged into + single attribute ``type`` that has the ``typeName/version@package`` format. + The ``version`` and ``package`` parts are still optional. +upgrades: + - Any tools that inspected the object model should be updated to expect + new object format representation ``typeName/version@package`` diff --git a/releasenotes/notes/no-neutron-sec-group-support-2d69082b7226d6c0.yaml b/releasenotes/notes/no-neutron-sec-group-support-2d69082b7226d6c0.yaml new file mode 100644 index 0000000..ac2ac47 --- /dev/null +++ b/releasenotes/notes/no-neutron-sec-group-support-2d69082b7226d6c0.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - Murano is now able to deploy applications in the environments with disabled + Neutron Security Groups. Detection is based on the presence of + the ``security-group`` Neutron extension. diff --git a/releasenotes/notes/objects-copy-objects-merge-8f2752b1a1a18af0.yaml b/releasenotes/notes/objects-copy-objects-merge-8f2752b1a1a18af0.yaml new file mode 100644 index 0000000..0ca87c1 --- /dev/null +++ b/releasenotes/notes/objects-copy-objects-merge-8f2752b1a1a18af0.yaml @@ -0,0 +1,18 @@ +--- +features: + - Previously, the pre-deployment garbage collection executed the ``.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. diff --git a/releasenotes/notes/osc-murano-url-507932234b49cf9f.yaml b/releasenotes/notes/osc-murano-url-507932234b49cf9f.yaml new file mode 100644 index 0000000..b554a63 --- /dev/null +++ b/releasenotes/notes/osc-murano-url-507932234b49cf9f.yaml @@ -0,0 +1,3 @@ +--- +features: + - OSC plugin now accepts ``--murano-url`` and ``MURANO_URL`` to allow using a custom murano-api endpoint diff --git a/releasenotes/notes/password-checking-780dc07fa1d9926a.yaml b/releasenotes/notes/password-checking-780dc07fa1d9926a.yaml new file mode 100644 index 0000000..fc19f9e --- /dev/null +++ b/releasenotes/notes/password-checking-780dc07fa1d9926a.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - Fixed the password check in dynamic UI forms. Previously, + the dashboard did not validate the password fields with IDs not ending with 'password'. + Now, to determine whether to add default password validators to the field or not, + the dashbord only checks the field type itself, instead of both field type and ending of the field ID. diff --git a/releasenotes/notes/reload-empty-env-10165198e8384b08.yaml b/releasenotes/notes/reload-empty-env-10165198e8384b08.yaml new file mode 100644 index 0000000..2ce4902 --- /dev/null +++ b/releasenotes/notes/reload-empty-env-10165198e8384b08.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - The :guilabel:`Environment components` page now reloads after an empty environment deployment. + This allows adding new components to the empty environment without having to reload the page manually. diff --git a/releasenotes/notes/reorganize-dashboard-settings-11733b5c1003154b.yaml b/releasenotes/notes/reorganize-dashboard-settings-11733b5c1003154b.yaml new file mode 100644 index 0000000..2b90506 --- /dev/null +++ b/releasenotes/notes/reorganize-dashboard-settings-11733b5c1003154b.yaml @@ -0,0 +1,11 @@ +--- +features: + - Murano dashboard now comes with the ``muranodashboard/local/local_settings.d/_50_murano.py`` + file that contains murano-specific settings for horizon + (for example, ``MURANO_API_URL``). +upgrade: + - Previously, all murano-specific horizon settings had to be kept in ``local_settings.py`` + file of Horizon. You need to remove those settings from ``local_settings.py`` and + copy ``muranodashboard/local/local_settings.d/_50_murano.py`` + to ``openstack_dashboard/local/local_settings.d/`` directory in horizon, and keep all + murano-related changes there. diff --git a/releasenotes/notes/requirements-order-19ecc40ca6d34739.yaml b/releasenotes/notes/requirements-order-19ecc40ca6d34739.yaml new file mode 100644 index 0000000..6b66b16 --- /dev/null +++ b/releasenotes/notes/requirements-order-19ecc40ca6d34739.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - Fixed the order of packages import. The main package is now imported before + all its dependencies. Cyclic dependencies are imported in a + random order. diff --git a/releasenotes/notes/resources-dir-for-hot-c557c1472bbc79fa.yaml b/releasenotes/notes/resources-dir-for-hot-c557c1472bbc79fa.yaml new file mode 100644 index 0000000..9b8c340 --- /dev/null +++ b/releasenotes/notes/resources-dir-for-hot-c557c1472bbc79fa.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - Added the capability to simultaneously use the :option:`--resources-dir` + and :option:`--template` arguments for the :command:`package-create` command. + This allows creating HOT-packages with the ``Resources`` folder. diff --git a/releasenotes/notes/safeloader-cve-2016-4972-19035a2a091ec30a.yaml b/releasenotes/notes/safeloader-cve-2016-4972-19035a2a091ec30a.yaml new file mode 100644 index 0000000..84d3c6f --- /dev/null +++ b/releasenotes/notes/safeloader-cve-2016-4972-19035a2a091ec30a.yaml @@ -0,0 +1,9 @@ +--- +security: + - Addressed cve-2016-4972. In several 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. diff --git a/releasenotes/notes/script-line-endings-db632db9e24237a3.yaml b/releasenotes/notes/script-line-endings-db632db9e24237a3.yaml new file mode 100644 index 0000000..8355578 --- /dev/null +++ b/releasenotes/notes/script-line-endings-db632db9e24237a3.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - Whenever murano-engine accesses script files, + text script files are opened in 'rU' mode that recognizes all types of + newlines and binary files are opened in 'rb' mode to prevent their + corruption. diff --git a/releasenotes/notes/separate-service-broker-from-murano-f6ee48576f51d893.yaml b/releasenotes/notes/separate-service-broker-from-murano-f6ee48576f51d893.yaml new file mode 100644 index 0000000..bf7d92e --- /dev/null +++ b/releasenotes/notes/separate-service-broker-from-murano-f6ee48576f51d893.yaml @@ -0,0 +1,4 @@ +--- +features: + - Separated murano service broker from murano-api into a murano-cfapi service. + Created a separate database and ``paste.ini`` for service broker. diff --git a/releasenotes/notes/single_request_latest_apps-4f6add404ab07c15.yaml b/releasenotes/notes/single_request_latest_apps-4f6add404ab07c15.yaml new file mode 100644 index 0000000..4d581b9 --- /dev/null +++ b/releasenotes/notes/single_request_latest_apps-4f6add404ab07c15.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - Improved the performance of the :guilabel:`Recent Activity` panel on + the :guilabel:`Browse Catalog` page. diff --git a/releasenotes/notes/static-actions-61759be796299039.yaml b/releasenotes/notes/static-actions-61759be796299039.yaml new file mode 100644 index 0000000..64962bd --- /dev/null +++ b/releasenotes/notes/static-actions-61759be796299039.yaml @@ -0,0 +1,7 @@ +--- +features: + - 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. diff --git a/releasenotes/notes/status-session-b06786d470910080.yaml b/releasenotes/notes/status-session-b06786d470910080.yaml new file mode 100644 index 0000000..afff6b4 --- /dev/null +++ b/releasenotes/notes/status-session-b06786d470910080.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - Fixed the issue that reset all environment changes from the + previous session (adding or removing components without deployment) after consequent login. + Also, the :guilabel:`Ready to deploy` status now only displays if there are changes pending in the current session. + + diff --git a/releasenotes/notes/template-contract-b71840cbc35eb478.yaml b/releasenotes/notes/template-contract-b71840cbc35eb478.yaml new file mode 100644 index 0000000..ac7f152 --- /dev/null +++ b/releasenotes/notes/template-contract-b71840cbc35eb478.yaml @@ -0,0 +1,11 @@ +--- +features: + - 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. diff --git a/releasenotes/notes/test-runner-output-fix-e942e221be189424.yaml b/releasenotes/notes/test-runner-output-fix-e942e221be189424.yaml new file mode 100644 index 0000000..9768a02 --- /dev/null +++ b/releasenotes/notes/test-runner-output-fix-e942e221be189424.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - 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. diff --git a/releasenotes/notes/test-runner-set-up-tear-down-a269a31734544a3a.yaml b/releasenotes/notes/test-runner-set-up-tear-down-a269a31734544a3a.yaml new file mode 100644 index 0000000..bfe5965 --- /dev/null +++ b/releasenotes/notes/test-runner-set-up-tear-down-a269a31734544a3a.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - Fixed the issue that prevented the test-runner from properly + invoking ``setUp`` and ``tearDown`` methods of fixtures in some cases. diff --git a/releasenotes/notes/two-phase-instance-deploy-81d37e7987abc792.yaml b/releasenotes/notes/two-phase-instance-deploy-81d37e7987abc792.yaml new file mode 100644 index 0000000..bfc5987 --- /dev/null +++ b/releasenotes/notes/two-phase-instance-deploy-81d37e7987abc792.yaml @@ -0,0 +1,5 @@ +--- +features: + - 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. diff --git a/releasenotes/notes/update-app-in-env-template-08d92b22bd1355f5.yaml b/releasenotes/notes/update-app-in-env-template-08d92b22bd1355f5.yaml new file mode 100644 index 0000000..1a753c3 --- /dev/null +++ b/releasenotes/notes/update-app-in-env-template-08d92b22bd1355f5.yaml @@ -0,0 +1,4 @@ +--- +features: + - Added ``/templates/{env_template_id}/services/{path:.*?}`` API endpoint + for environment template application update operation. diff --git a/releasenotes/notes/var-kw-args-c42c31678d8bc747.yaml b/releasenotes/notes/var-kw-args-c42c31678d8bc747.yaml new file mode 100644 index 0000000..d99ad75 --- /dev/null +++ b/releasenotes/notes/var-kw-args-c42c31678d8bc747.yaml @@ -0,0 +1,11 @@ +--- +features: + - > + 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 or dicts. diff --git a/test-requirements.txt b/test-requirements.txt index 213dc95..c75ae57 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1 +1,3 @@ sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +reno>=1.8.0 # Apache2