[murano] murano-dashboard 3.1.0 (ocata)
We are excited to announce the release of: murano-dashboard 3.1.0: The Murano Dashboard This release is part of the ocata release series. Download the package from: https://tarballs.openstack.org/murano-dashboard/ For more details, please see below. 3.1.0 ^^^^^ Murano Dashboard has been renamed to App Catalog and now allows seamless integration and single panel structure with App Catalog UI dashboard. New Features ************ * Flavor field will show the initial value by default. * Murano dashboard has been renamed to App Catalog, monolithic config file has been split into multiple small files. Every such file defines either a panel group or adds general murano-related settings to horizon. * New section "Parameters" was added to UI definition markup. Parameters is a key-value storage, whose values are available as YAQL variables. Thus if the section has a key "var" its value can be retrieved using "$var" syntax and used anywhere in the markup - both as a field attribute values and in Application/Templates sections. Parameter values can be a YAQL expressions. The difference between Templates and Parameters is that Parameters are evaluated once before form render whereas Templates are evaluated on each access. * It is possible to specify static action (MuranoPL method) that is going to be called before form is rendered. This allows MuranoPL class to provide parameter values to the form. Because parameters can be used as initial control values this also allows to have dynamic content in the form. Parameters source method can be specified in "ParametersSource" attribute of UI definition markup: "ParametersSource: com.namespace.MyClass.myMethod". If class name is not specified dashboard will try to infer it from the "Application" section or the package FQN. If specified, static action must be present in one of the classes in the same package that was used to obtain UI definition file. The method must return a dictionary which will be combined with Parameters that are already present in the file. * "ref(templateName [, parameterName] [, idOnly])" YAQL function was added to UI definition DSL. This function evaluates template "templateName" and fixes the result in parameters under "parameterName" key (or "templateName" if the second parameter was omitted). Then it generates object ID and places it into "?/id" field. On the first use of "parameterName" or if "idOnly" is "false" the function will return the whole object structure. On subsequent calls or if "idOnly" is "true" it will return the ID that was generated upon the first call. Thus the function brings ability to reference single object several times. * "choice" field type now can accept list of choices in a form of dictionary. I.e. in addition to "[[key1, value1], [key2, value2]]" one can provide "{key1: value1, key2: value2}" * UI definition version was bumped to "2.4". If application is going to use Parameters it should indicate it by setting the version in UI file. Upgrade Notes ************* * To upgrade to Newton version of app catalog you need to remove old "_50_murano.py" config file, that defined in murano dashboard. Be sure to also remove any .pyc and .po files. After that you need to copy all new config files from "muranodashboard/local/enabled/*.py" to "openstack_dashboard/local/enabled/" and restart horizon Bug Fixes ********* * The issue with adding already deployed components to environment via dropdown is fixed with applying changes for the new type format. * VM IP addresses are now properly displayed in the environment topology viewer. * Topology viewer now properly displays icons of the deployed applications. Other Notes *********** * Murano Dashboard relies on Glance v1 API for image uploads. In case it is not available an error will be shown and all the image- related functionality will be unavailable. Changes in murano-dashboard 3.0.0.0rc1..3.1.0 --------------------------------------------- 6b00791 Imported Translations from Zanata ab817ce Imported Translations from Zanata 5daf0b5 Imported Translations from Zanata 1d3d8a0 Imported Translations from Zanata 514ee6c Imported Translations from Zanata ec3d246 Add UI Tests for Various Package Scenarios. 4eeb1fe Change Murano Dashboard Limit for Memory and Instances 29bb451 Imported Translations from Zanata fc34a1a Fixes new sanity_check tests deleting too many resources. 3ba5bfd Let flavor fields show the default value b5487f2 Imported Translations from Zanata a17ed79 Remove useless iso8601 requirements e6e9267 Add UI tests for Deploy/Abandon Environment from Table View. 5a76697 Add assertions to functional test test_download_package. ff90615 Remove the py26 support in tests/functional/base 24ee71f Add UI Tests for Deleting Multiple Images. e507341 Add UI Tests for Filtering Packages by Name/Type/Keyword. 5d189b9 Imported Translations from Zanata d72f997 Add UI Tests for Filtering Components by Name/Tag/Description. db10c56 Imported Translations from Zanata 93eada6 Imported Translations from Zanata bcf1b2b Treat empty body as no body in parse_api_error 6792ab4 Add UI Tests for Latest Deployment Log. 6989af8 Fixes test_filter_by_description failing on glare gate job. fc8dbb0 Fixes murano-dashboard-coverage failing unit test. 0e855a5 Murano-Dashboard Wrong instance name on Component details tab. 8b943f4 Imported Translations from Zanata 11ba34e Fixes unit tests throwing errors, related to Horizon function. 5270169 Increase unit test coverage for muranodashboard Common Utils. 87cf0e7 Fix passing session id to Update Metadata link in Env and Comps tables fb263eb Add UI Tests for Filtering Apps by Tag/Description. 54fdc9c Imported Translations from Zanata e34493d Use assertGreater(len(x), y) instead of assertTrue(len(x) > y) 3ff0950 Correct murano-dashboard reraising of exception a1e3275 Add UI Test for Abandon Environment from Detail View. afefbbd Fixes AttributError thrown by utils.CustomUnpickler. 5460bea Imported Translations from Zanata aaac5ad Add UI tests for Delete Environment from Details View. 1168ea7 Increase unit test coverage for muranodashboard Yaql Functions. bfcc6e5 Fix typos 260ecbe Updated from global requirements 43d4a29 Imported Translations from Zanata 66b4f53 Increase unit test coverage for muranodashboard Images Views. 2f670a2 Increase unit test coverage for muranodashboard Categories Views. 62a23b0 Changed author d022cf2 Fix the wrong DJANGO_SETTINGS_MODULE in tox.ini 3a1790f Topology viewer now properly parses composite type names d3039ea Fixed output of lists in topology viewer 8e2e106 Imported Translations from Zanata 3e96d68 Show team and repo badges on README f64b0a3 Imported Translations from Zanata d6fd44d Horizon navbar structure was changed recently, adapt to it 7aa3c62 Use assertGreater(len(x), 0) instead of assertTrue(len(x) > 0) 29608e1 Remove extra space from message box in Catalog Index View. 40ebeaf Increase unit test coverage for muranodashboard Dynamic UI Forms. 3e67c43 Increase timeout in UI test 6ebe2b6 Replace 'assertEqual(None, ...)' with 'assertIsNone(...)' 4a79140 Imported Translations from Zanata 07ec759 Increase unit test coverage for muranodashboard Common Net. abbae53 Increase unit test coverage for muranodashboard Environment API. 5a1a388 Make murano-dashboard using horizon's DATABASE when horizon configured 8c6dd38 Sort values in standard dropdowns 6faf4f3 Increase unit test coverage for muranodashboard Packages Tables and Packages API. a69509d Increase unit test coverage for muranodashboard Catalog Views. df1aaf5 Imported Translations from Zanata 79ddf80 Increase unit test coverage for muranodashboard Env Tabs. 5afffa1 Fixes TypeError/other bugs in Environment OverviewTab find_stack. 8df4320 Increase unit test coverage for muranodashboard Env Views. 29e6fc4 Fixes REST API tests for M requirements compatibility f55cd6e Fixes UnboundLocalError thrown by get_context_data in Env Views. 542b0c1 Fix murano-dashboard plugin files in README 1b39482 Add docs action for tox.ini 201eb75 Ability to reference single object several times cddd563 Static action for UI definition parameters a4bcaa1 Add Parameters section to UI definition 392a9f9 Imported Translations from Zanata d01884e Imported Translations from Zanata 0980494 Updated from global requirements a386cf3 Imported Translations from Zanata 77c7010 Bundle import test was fixed 58788f4 Fix python3.4 compatibility issue in yaql_expression.py 91bccf4 Increases unit test coverage for muranodashboard Env Rest Api. 46b41fd Increase unit test coverage for Packages Views API. 6ae4ab5 Fixes TypeError thrown by raise statement in Packages Views. 3123a16 Updated from global requirements 8bb4784 Increase unit test coverage for muranodashboard Dynamic UI Fields. 0ccecaa Imported Translations from Zanata 4bc89b5 Fixes RuntimeError thrown by finalize_properties in Dynamic UI Fields. f1dadb6 Increase unit test coverage for muranodashboard Environment Tables. 2e0e7a5 Increase unit test coverage for catalog and images 8700300 Increase unit test coverage for environments, helpers, and yaql expression a9ae8f2 Imported Translations from Zanata 4dbf729 Fixes TypeError thrown by UpdateServiceRow.update_cell. cdc0ce4 Fix tests for package/bundle import e0175a8 Updated from global requirements ad6c1ea [Trivial] Fix a typo in murano-dashboard d90a2c7 Fixes DetailView.get_data throws UnboundLocalError. 71b762e Increase unit test coverage for muranodashboard Topology API. 44accfd Updated from global requirements baf8f0b Increase unit test coverage for muranodashboard Packages Forms API 1561ea5 Fix Syntax Error being thrown by handle in ModifyPackageForm. 9fbce11 Imported Translations from Zanata 7958e8a Increase unit test coverage for muranodashboard Services API. 4f3d74f Increase unit test coverage for muranodashboard base API. 63ed27e Imported Translations from Zanata a2b14bb Increase unit test coverage for muranodashboard Packages API. 91b8e8b Imported Translations from Zanata b2b6907 Remove xrange for run both Python 2 and Python 3 14ab815 Fix murano dashboard to work with older Horizon versions 1144b3a Apply new type format if used 7378be6 Split muranodashboard config into multiple files 6d40d87 Ability to assign metadata to Murano Applications and Environments 4728d45 Add JS unit tests runner and commands to dashboard 8331eb3 Enable release notes translation 667e17b Do not use category count in UI tests with GLARE backend 2114c26 'Forms:' section is now truly optional in ui definition 5293256 Util for Selenium that waits for page change 34525c0 In Murano App configuration wizard move Back/Next w/o losing any data a6ad471 Updated from global requirements cef39fc Updated from global requirements 7351bb9 Add Apache 2.0 license to source file d3bf3b8 Increase unit test coverage for environment tables. d50cb35 Fix js validation of the password in dynamic UI e2a0cd5 Updated from global requirements c25d6bf Display package name as type of service in env e52556d Fix test_apps_pagination test failed 2c9ac7a Remove unnecessary muranodashboard/models.py file 2590581 Renamed the URL suffix of dashboard's ajax API 0f1929f Remove unnecessary setUp a9dfbc4 Murano-dashboard now shows warnings if glance v1 is unavailable 4670c62 Replace the 'quantum' in test settings 1d5b35c Fixing typo error ceveral 6533a6e Updated from global requirements a4b82ae Replace 'MagicMock' with 'Mock' ed344e5 Update murano-dashboard eslint devDependencies 1140235 Imported Translations from Zanata b646612 Let murano dashboard using glance v1 223eb70 Add test_add_pkg_to_category_without_count test 3053944 Update reno for stable/newton 266accb Add ability to mark image with custom type 3b04e20 Add ability to delete arbitrary component in functional tests 67223ea Rename 'murano' dashboard to 'app-catalog' b2208b9 Fix manage.py wrong muranodashboard setting module Diffstat (except docs and test files) ------------------------------------- .eslintrc | 19 + README.rst | 15 +- karma.conf.js | 140 +++ manage.py | 15 +- muranodashboard/api/packages.py | 21 +- muranodashboard/api/rest/__init__.py | 1 + muranodashboard/api/rest/environments.py | 158 +++ muranodashboard/api/rest/packages.py | 10 +- muranodashboard/catalog/panel.py | 7 +- muranodashboard/catalog/views.py | 20 +- muranodashboard/categories/panel.py | 5 - muranodashboard/categories/tables.py | 4 +- muranodashboard/categories/views.py | 4 +- muranodashboard/common/utils.py | 4 +- muranodashboard/dashboard.py | 28 +- muranodashboard/dynamic_ui/fields.py | 75 +- muranodashboard/dynamic_ui/forms.py | 16 +- muranodashboard/dynamic_ui/helpers.py | 10 +- muranodashboard/dynamic_ui/services.py | 69 +- muranodashboard/dynamic_ui/version.py | 2 +- muranodashboard/dynamic_ui/yaql_expression.py | 8 +- muranodashboard/dynamic_ui/yaql_functions.py | 34 +- muranodashboard/environments/api.py | 60 +- muranodashboard/environments/panel.py | 5 - muranodashboard/environments/tables.py | 111 +- muranodashboard/environments/tabs.py | 16 +- muranodashboard/environments/topology.py | 22 +- muranodashboard/environments/views.py | 32 +- muranodashboard/images/forms.py | 33 +- muranodashboard/images/panel.py | 5 - muranodashboard/images/tables.py | 11 +- muranodashboard/images/views.py | 60 +- .../local/enabled/_50_dashboard_catalog.py | 5 + muranodashboard/local/enabled/_50_murano.py | 24 - .../local/enabled/_51_muranodashboard.py | 37 + .../local/enabled/_60_panel_group_browse.py | 8 + .../local/enabled/_63_panel_murano_catalog.py | 9 + .../local/enabled/_70_panel_group_manage.py | 8 + .../local/enabled/_71_panel_murano_packages.py | 9 + .../local/enabled/_72_panel_murano_images.py | 9 + .../local/enabled/_73_panel_murano_categories.py | 9 + .../local/enabled/_80_panel_group_applications.py | 8 + .../enabled/_81_panel_applications_environments.py | 9 + .../local/local_settings.d/_50_murano.py | 31 +- muranodashboard/locale/cs/LC_MESSAGES/django.po | 142 ++- muranodashboard/locale/cs/LC_MESSAGES/djangojs.po | 55 +- muranodashboard/locale/de/LC_MESSAGES/django.po | 1168 +++++++++++++++++ muranodashboard/locale/de/LC_MESSAGES/djangojs.po | 66 +- .../locale/en_GB/LC_MESSAGES/djangojs.po | 39 - muranodashboard/locale/fr/LC_MESSAGES/django.po | 848 +++++++++++++ muranodashboard/locale/fr/LC_MESSAGES/djangojs.po | 40 - muranodashboard/locale/id/LC_MESSAGES/django.po | 1142 +++++++++++++++++ muranodashboard/locale/id/LC_MESSAGES/djangojs.po | 84 ++ muranodashboard/locale/ja/LC_MESSAGES/django.po | 75 +- muranodashboard/locale/ko_KR/LC_MESSAGES/django.po | 75 +- .../locale/ko_KR/LC_MESSAGES/djangojs.po | 21 +- muranodashboard/locale/pt_BR/LC_MESSAGES/django.po | 13 +- .../locale/pt_BR/LC_MESSAGES/djangojs.po | 33 - muranodashboard/locale/ru/LC_MESSAGES/django.po | 160 ++- muranodashboard/locale/ru/LC_MESSAGES/djangojs.po | 61 +- muranodashboard/locale/zh_CN/LC_MESSAGES/django.po | 24 +- muranodashboard/models.py | 3 - muranodashboard/packages/forms.py | 12 +- muranodashboard/packages/panel.py | 5 - muranodashboard/packages/tables.py | 22 +- muranodashboard/packages/views.py | 172 +-- .../app/core/metadata/metadata.service.spec.js | 163 +++ muranodashboard/static/app/murano/murano.module.js | 100 ++ .../static/app/murano/murano.module.spec.js | 113 ++ .../static/app/murano/murano.service.js | 203 +++ .../static/app/murano/murano.service.spec.js | 108 ++ .../static/muranodashboard/js/add-select.js | 16 +- .../muranodashboard/js/draggable-components.js | 8 +- .../muranodashboard/js/environments-in-place.js | 4 +- .../static/muranodashboard/js/external-ad.js | 8 +- .../muranodashboard/js/horizon.muranotopology.js | 64 +- .../static/muranodashboard/js/mixed-mode.js | 6 +- .../static/muranodashboard/js/murano.service.js | 74 -- .../static/muranodashboard/js/murano.tables.js | 2 +- .../static/muranodashboard/js/passwordfield.js | 5 +- muranodashboard/templates/catalog/_overview.html | 2 +- muranodashboard/templates/catalog/add_app.html | 4 +- muranodashboard/templates/catalog/app_details.html | 10 +- muranodashboard/templates/catalog/app_tile.html | 6 +- muranodashboard/templates/catalog/categories.html | 6 +- .../templates/catalog/env_switcher.html | 4 +- muranodashboard/templates/catalog/index.html | 17 +- .../templates/catalog/quick_deploy.html | 2 +- .../templates/common/_detail_header.html | 20 + muranodashboard/templates/deployments/reports.html | 2 +- .../templates/environments/_data_table.html | 2 +- muranodashboard/templates/images/_mark.html | 6 +- muranodashboard/templates/murano_base.html | 1 - .../templates/packages/_import_bundle.html | 4 +- .../templates/packages/_modify_package.html | 4 +- muranodashboard/templates/packages/_upload.html | 4 +- muranodashboard/templates/packages/detail.html | 2 +- .../templates/services/_wizard_create.html | 84 +- .../templates/services/app_tile_small.html | 4 +- muranodashboard/templates/services/details.html | 2 +- muranodashboard/templates/services/index.html | 6 +- muranodashboard/views.py | 2 +- package.json | 15 +- .../notes/bug-1650406-4e4a3bdcfcc5718a.yaml | 4 + .../dashboard-rename-split-650ba2f7d4f846c2.yaml | 16 + .../notes/fix_type_format-798a646071b1104b.yaml | 4 + .../notes/glance-v2-wanring-b7ef3e3ce0ce6ce1.yaml | 5 + .../ips-display-topology-5a45876dafc637eb.yaml | 4 + .../safeloader-cve-2016-4972-82523879a6c3b1a5.yaml | 2 +- .../notes/topology-icon-fix-6572c069d127ed95.yaml | 4 + .../ui-definition-parameters-c9d2cb3a7da7459b.yaml | 45 + releasenotes/source/conf.py | 3 + releasenotes/source/index.rst | 1 + .../source/locale/de/LC_MESSAGES/releasenotes.po | 444 +++++++ .../locale/en_GB/LC_MESSAGES/releasenotes.po | 52 +- .../source/locale/id/LC_MESSAGES/releasenotes.po | 439 +++++++ .../source/locale/ja/LC_MESSAGES/releasenotes.po | 130 -- .../locale/ko_KR/LC_MESSAGES/releasenotes.po | 104 +- .../locale/zh_CN/LC_MESSAGES/releasenotes.po | 40 +- releasenotes/source/newton.rst | 6 + requirements.txt | 7 +- setup.cfg | 2 +- test-requirements.txt | 12 +- tools/cover.sh | 12 +- tools/post_install.sh | 13 + tox.ini | 7 +- 163 files changed, 15978 insertions(+), 1222 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 1e0c9ef..0aebb6e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4 +4 @@ -pbr>=1.6 # Apache-2.0 +pbr>=1.8 # Apache-2.0 @@ -9 +8,0 @@ django-formtools # BSD -iso8601>=0.1.11 # MIT @@ -12 +11 @@ python-muranoclient>=0.8.2 # Apache-2.0 -PyYAML>=3.1.0 # MIT +PyYAML>=3.10.0 # MIT @@ -15 +14 @@ yaql>=1.1.0 # Apache 2.0 License -oslo.log>=1.14.0 # Apache-2.0 +oslo.log>=3.11.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 4e29a80..c3f4ad4 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6 +6 @@ hacking<0.11,>=0.10.0 -coverage>=3.6 # Apache-2.0 +coverage>=4.0 # Apache-2.0 @@ -9 +9 @@ nose # LGPL -oslo.config>=3.14.0 # Apache-2.0 +oslo.config!=3.18.0,>=3.14.0 # Apache-2.0 @@ -19,3 +19,3 @@ mox3>=0.7.0 # Apache-2.0 -oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 -sphinx!=1.3b1,<1.3,>=1.2.1 # BSD -reno>=1.8.0 # Apache2 +oslosphinx>=4.7.0 # Apache-2.0 +sphinx!=1.3b1,<1.4,>=1.2.1 # BSD +reno>=1.8.0 # Apache-2.0 @@ -28 +28 @@ django-openstack-auth>=2.4.0 # Apache-2.0 -nodeenv>=0.9.4 # BSD License # BSD +nodeenv>=0.9.4 # BSD
participants (1)
-
no-reply@openstack.org