We are glad to announce the release of:

murano-dashboard 3.0.0: The Murano Dashboard

This release is part of the newton release series.

For more details, please see below.

3.0.0
^^^^^


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

* Added "DISPLAY_MURANO_REPO_URL" setting that is used as a user-
  visible link to "apps.openstack.org" or any other murano
  applications repository.

* Added the capability to execute actions (delete, abandon or
  deploy) on multiple selected environments.

* 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 Notes
*************

* 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.


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
*********

* Specifying a base class in the UI definition now also fetches all
  the packages with classes that inherit from that class, when glare
  is used. 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.

* Fixed the issue with sequential download of packages. Dashboard is
  now using 'tables.LinkAction' instead of 'tables.Action' for
  DownloadPackage table action.

* Fixed the issue that prevented the murano dashboard from finding
  certain horizon filters, such as 'parse_isotime',
  'timesince_or_never', and others.

* 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.

* 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.

  <SYSTEM MESSAGE: <string>:37: (ERROR/3) Unknown interpreted text
  role "guilabel".>

* Improved the performance of the >>:guilabel:`Recent Activity`<<
  panel on the >>:guilabel:`Browse Catalog`<< page.

  <SYSTEM MESSAGE: <string>:39: (ERROR/3) Unknown interpreted text
  role "guilabel".>

  <SYSTEM MESSAGE: <string>:39: (ERROR/3) Unknown interpreted text
  role "guilabel".>

* 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.

  <SYSTEM MESSAGE: <string>:41: (ERROR/3) Unknown interpreted text
  role "guilabel".>


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 2.0.0.0rc1..3.0.0
---------------------------------------------

fba7641 Imported Translations from Zanata
f9498f1 Imported Translations from Zanata
4a4c7ba Murano-dashboard now shows warnings if glance v1 is unavailable
8ea7d5e Imported Translations from Zanata
410c869 Let murano dashboard using glance v1
6913ba1 Imported Translations from Zanata
174b6f9 Update UPPER_CONSTRAINTS_FILE for stable/newton
d1535b8 Update .gitreview for stable/newton
5fda985 Replace table row 'status_unknown' class with 'warning' class
bf80fd3 Imported Translations from Zanata
88ba72f Cleanup, clarify newton release-notes
27789e1 Removing unused tools/rfc.sh file
f9b9b37 Return an empty list instead of None when getting available networks
de26d5e Add a LICENSE file
4528a4a Wrap 500 code in dashboard errors
8f4596f Remove the test_upload_package_detail TODO
9f7f0b6 Imported Translations from Zanata
af3a846 Clean imports in code
68fd5ae Imported Translations from Zanata
7440bbf Change selector if creating environment failed
1e42dee [tests] Do not check for Category count if glare is enabled
27d6b16 Unskip the test_upload_package when glare backend
ce5c8e3 Fix create/delete/abandon environment redirect_url
a0b2cc1 Enable "Delete Environments" button on delete failure
9d7f30e Using WrappingColumn to prevent long names breaking table layouts
bb347d8 Create glare client in dashboard tests
0eceafb Separate internal MURANO_REPO_URL and DISPLAY_MURANO_REPO_URL
b1c55c7 Move descriptions for hidden fields on top of dynamic_ui forms
c1b21fc Adds multiline support for reports in dashboard
c2e06ac Update Readme with correct Doc URL
eae8faa Using rbac policy for package panel
8af6b38 Using rbac policy for environments panel
c836faa Using rbac policy for categories panel
8b86508 Fix ci test_check_image_info failed
28c6d60 Imported Translations from Zanata
1fd620a Update tox.ini for upper constraints
41d5a7b Create murano session client in tests
e7d0879 Update the murano settings
5d116b0 Updated from global requirements
3ab6c00 Add cover dir to gitignore
b733060 Fix script for unit test coverage job
83fd44d Honor title of Action in murano dashboard
c30ae0e Fix allowance of Deploy environment action
274853a Imported Translations from Zanata
da828b0 Imported Translations from Zanata
415c1e6 Correct env status in the new session
cfeee59 Add and update the license header
8d2dceb Skip test_deploy_several_mock_apps_in_a_row
bc46e85 Trivial: Modified python identifiers in setup.cfg.
b365322 Make some i18n for trans text
df6a439 Fix inaccuracies in dashboard environments api
afdb143 Add script for unit test coverage job
a968b69 Updated from global requirements
ff05db6 Add Python 3.5 classifier and venv
d0bbbb5 Remove the H104 pep8 ignore from tox.ini
956e3b0 Get ready for Horizon rework
ae8be46 Preserve new environment row from sorting with other rows
2a10970 Modify assert statement when comparing with None
d579e83 [TrivialFix]Remove the redundant navigation in app_details page
81f1fff RBAC settings for murano-dashboard
121fd1f Updated from global requirements
2648566 [TrivialFix]Remove the redundant required=True
af5ad53 Make _generate_hostname() and int2base() work in python3
61f9587 Make generateHostname honor pattern parameter
9fa2329 Remove the old settings files
3635518 Correct domain parameter value in tests
cfee806 Mark display statuses for translation
9f2f1d5 Refactor to a single request for latest apps
f719229 Disable action buttons according to the statuses of environments
6c603fa Imported Translations from Zanata
40f84bc Add py27-mitaka tox target
4bad018 Updated from global requirements
dd239e8 Use upper-constraints in tox test environments
978f0ed Make more-less js get dynamic-ui form description trim space
adab734 Convert dynamic UI form names to string type
1c18762 Add exception for communicate with glare api
2ea6e87 Switch tests to keystone v3 API
34022c2 Imported Translations from Zanata
2960fff Add page_title in breadcrumb for pages
a3fa3f5 Package table form 'Cancel' button consistent with others
d9c70b3 Updated from global requirements
66ef3d7 Inherit custom yaml Loader from yaml.SafeLoader
0ba994d Updated from global requirements
d59d9e7 Imported Translations from Zanata
2b34fcc Import horizon filters for murano-dashboard
8c0ce28 Mark image form filter out the 'aki' and 'ari' format
d031c61 Increase timeout in test_deploy_several_mock_apps_in_a_row
cb82be7 Imported Translations from Zanata
d941994 Reorder releasenotes and increase toctree depth
1b8a257 Replace names in comment and description
4fe159a Imported Translations from Zanata
f5f7d5c Increase timeout in test_deploy_several_mock_apps_in_a_row
5a77852 Add timeout argument to some test methods
551b73b Treat hyphen as a special character during password validation
9667719 Correct test workflow
6139b1b Correct password-checking js in dynamic UI forms
833193c Refactor sort direction use
6988fb0 Imported Translations from Zanata
f5d9fe7 Fix message for environment deploy action
2857c8f Fetch class descendants in the dynamic_ui from glare
75e8ce5 Updated from global requirements
f762c4a Updated from global requirements
ffde837 Reorganize Murano-specific Horizon settings
5d07abc Add page_title in breadcrumb for Browse page
368476d python 3.4 support for urlparse
d43857b Imported Translations from Zanata
6acf11c Revert "Add 'password' to names of password fields in dynamic forms"
75a6a4d Updated from global requirements
7e5121b Change "Deploy Environment" button
b112cda Use 'trimmed' for blocktrans in html page
d5f9bce Added a warning message if environment name is empty
7e28210 Rename the 'Applications' to 'Browse' in html template
43653f3 Fix Downloading Package blocks downloading next package
b7a6a23 Use template filter to convert list of packages in the template
7e5e071 Updated from global requirements
70a0cfb Add ability to manage several environments at once in dashboard
d23b755 Imported Translations from Zanata
3de1c42 Trival: Add icons for DeployEnvironment and DeployThisEnvironment
6edfc04 Add 'password' to names of password fields in dynamic forms
7c8f9bd Fix typo in murano-dashboard tests
c8832a5 Reload env components page after deployment of empty environment
19608ce Updated from global requirements
ef1fde4 Imported Translations from Zanata
6c6c587 Renamed murano dashboard panel
02bedc7 Add SESSION_ENGINE to local_settings.py.example
ee7edeb Made breadcrumb consistent with horizon
21ab20a Enabled the Stickyness for Murano Tabs
fa74dfd Imported Translations from Zanata
06cb133 Updated from global requirements
95c5651 Fix and simplify 'ClusterIPField'
8304a32 Hide category's description when modifying Library type packages
452645f Updated from global requirements
b7afbd0 Updated from global requirements
856b489 Fix test_import_big_zip_file the mismatch error message
4a71cfa Imported Translations from Zanata
6ff1669 Hide package_counter in case of using glare
c4f1efb Make test_add_pkg_to_category_non_admin more robust
4ebf7f5 Fix Typo in Password Validator
c2e0102 Hide extra text in descriptions and allow expanding
f3c29db Add i18n trans for form field label and help_text
39831c1 Update the gitignore for i18n compiled files
c992619 Correct description during the package importing
c3409b4 Add table action for environment details
e67be10 Update reno for stable/mitaka
b65a3ed Imported Translations from Zanata


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

.coveragerc                                        |    9 +
.gitignore                                         |    4 +
.gitreview                                         |    1 +
LICENSE                                            |  176 +++
README.rst                                         |   13 +-
muranodashboard/api/__init__.py                    |   14 +
muranodashboard/api/packages.py                    |   14 +-
muranodashboard/catalog/forms.py                   |    2 +-
muranodashboard/catalog/panel.py                   |    2 +-
muranodashboard/catalog/tabs.py                    |    4 +-
muranodashboard/catalog/views.py                   |   44 +-
muranodashboard/categories/forms.py                |    4 +-
muranodashboard/categories/panel.py                |    2 +-
muranodashboard/categories/tables.py               |   19 +-
muranodashboard/common/net.py                      |    2 +-
muranodashboard/common/utils.py                    |    7 +
muranodashboard/conf/murano_policy.json            |   36 +
muranodashboard/dashboard.py                       |    4 +-
muranodashboard/dynamic_ui/__init__.py             |   13 -
muranodashboard/dynamic_ui/fields.py               |  179 +--
muranodashboard/dynamic_ui/forms.py                |    2 +-
muranodashboard/dynamic_ui/helpers.py              |   15 +-
muranodashboard/dynamic_ui/services.py             |   18 +-
muranodashboard/dynamic_ui/yaql_functions.py       |    4 +-
muranodashboard/environments/__init__.py           |   13 -
muranodashboard/environments/api.py                |   29 +-
muranodashboard/environments/consts.py             |   31 +-
muranodashboard/environments/forms.py              |    9 +-
muranodashboard/environments/panel.py              |    1 +
muranodashboard/environments/tables.py             |  192 ++-
muranodashboard/environments/tabs.py               |   19 +-
muranodashboard/environments/views.py              |   17 +-
muranodashboard/images/__init__.py                 |   13 -
muranodashboard/images/forms.py                    |   15 +-
muranodashboard/images/tables.py                   |   13 +-
muranodashboard/images/views.py                    |   56 +-
muranodashboard/local/_50_murano.py                |   23 -
muranodashboard/local/enabled/_50_murano.py        |   24 +
.../local/local_settings.d/_50_murano.py           |   32 +
muranodashboard/local/local_settings.py.example    |  566 --------
muranodashboard/locale/cs/LC_MESSAGES/django.po    | 1044 ++++++++++++++
muranodashboard/locale/cs/LC_MESSAGES/djangojs.po  |   39 +
muranodashboard/locale/de/LC_MESSAGES/djangojs.po  |   53 +-
muranodashboard/locale/django.pot                  | 1430 --------------------
muranodashboard/locale/djangojs.pot                |   43 -
.../locale/en_GB/LC_MESSAGES/djangojs.po           |   39 +
muranodashboard/locale/fr/LC_MESSAGES/djangojs.po  |   15 +-
muranodashboard/locale/ja/LC_MESSAGES/django.po    |  186 ++-
muranodashboard/locale/ja/LC_MESSAGES/djangojs.po  |   52 +-
muranodashboard/locale/ko_KR/LC_MESSAGES/django.po |  217 +--
.../locale/ko_KR/LC_MESSAGES/djangojs.po           |   52 +-
muranodashboard/locale/pt_BR/LC_MESSAGES/django.po |  121 +-
.../locale/pt_BR/LC_MESSAGES/djangojs.po           |   33 -
muranodashboard/locale/ru/LC_MESSAGES/django.po    |  991 ++++++++++++++
muranodashboard/locale/ru/LC_MESSAGES/djangojs.po  |   34 -
muranodashboard/locale/zh_CN/LC_MESSAGES/django.po |  278 ++--
.../locale/zh_CN/LC_MESSAGES/djangojs.po           |   53 +-
muranodashboard/packages/__init__.py               |   13 -
muranodashboard/packages/consts.py                 |    4 +
muranodashboard/packages/forms.py                  |    6 +-
muranodashboard/packages/panel.py                  |    1 +
muranodashboard/packages/tables.py                 |   50 +-
muranodashboard/packages/urls.py                   |    2 +
muranodashboard/packages/views.py                  |  171 ++-
.../static/muranodashboard/css/catalog.css         |    7 +
.../muranodashboard/js/environments-in-place.js    |   15 +-
.../static/muranodashboard/js/more-less.js         |   42 +
.../static/muranodashboard/js/murano.tables.js     |  120 +-
.../static/muranodashboard/js/passwordfield.js     |   22 +-
.../static/muranodashboard/js/upload_form.js       |    2 +-
.../templates/catalog/_details_page_header.html    |   15 -
muranodashboard/templates/catalog/app_details.html |    6 +-
muranodashboard/templates/catalog/index.html       |   18 +-
muranodashboard/templates/deployments/_logs.html   |    2 +-
muranodashboard/templates/deployments/reports.html |    5 +-
.../templates/packages/_import_bundle.html         |    8 +-
.../templates/packages/_modify_package.html        |    8 +-
muranodashboard/templates/packages/_upload.html    |   10 +-
muranodashboard/templates/packages/detail.html     |    5 +-
.../templates/services/_data_table.html            |   21 +-
muranodashboard/templates/services/_overview.html  |    4 +-
.../templates/services/_wizard_create.html         |   13 +-
muranodashboard/templates/services/details.html    |    5 +-
muranodashboard/templates/services/index.html      |    6 +-
muranodashboard/templatetags/__init__.py           |   17 +
muranodashboard/templatetags/custom_filters.py     |   12 +
muranodashboard/templatetags/jsonify.py            |   23 +
.../DeployingApp/Classes/mock_muranopl.yaml        |   22 +
.../abstract-base-class-fix-7cb06a0924b973f3.yaml  |    7 +
.../notes/bug-1579220-0a3fe23ac8f249ee.yaml        |    5 +
.../notes/display_repo_url-47c3cb0b45c2d68d.yaml   |    5 +
.../notes/glance-v2-wanring-b7ef3e3ce0ce6ce1.yaml  |    5 +
.../import-horizon-filters-af5dcf0720502567.yaml   |    5 +
.../manage-multiple-envs-e587c2e9432e39d7.yaml     |    4 +
.../notes/password-checking-780dc07fa1d9926a.yaml  |    6 +
.../notes/reload-empty-env-10165198e8384b08.yaml   |    4 +
...ganize-dashboard-settings-11733b5c1003154b.yaml |   11 +
.../safeloader-cve-2016-4972-82523879a6c3b1a5.yaml |    9 +
...ingle_request_latest_apps-4f6add404ab07c15.yaml |    4 +
.../notes/status-session-b06786d470910080.yaml     |    7 +
releasenotes/source/index.rst                      |    5 +-
releasenotes/source/mitaka.rst                     |    6 +
requirements.txt                                   |    6 +-
setup.cfg                                          |    2 +-
test-requirements.txt                              |   12 +-
tools/cover.sh                                     |   90 ++
tools/rfc.sh                                       |  145 --
tox.ini                                            |   14 +-
118 files changed, 5018 insertions(+), 3413 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 2dc5aa2..1e0c9ef 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9 +9 @@ django-formtools # BSD
-iso8601>=0.1.9 # MIT
+iso8601>=0.1.11 # MIT
@@ -19,2 +19,2 @@ semantic-version>=2.3.1 # BSD
-Babel>=1.3 # BSD
-django-babel>=0.4.0 # BSD
+Babel>=2.3.4 # BSD
+django-babel>=0.5.1 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 5edc2a0..4e29a80 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +7 @@ coverage>=3.6 # Apache-2.0
-django-nose>=1.2 # BSD
+django-nose>=1.4.4 # BSD
@@ -9 +9 @@ nose # LGPL
-oslo.config>=3.7.0 # Apache-2.0
+oslo.config>=3.14.0 # Apache-2.0
@@ -15 +15 @@ testtools>=1.4.0 # MIT
-mock>=1.2 # BSD
+mock>=2.0 # BSD
@@ -20,2 +20,2 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
-reno>=0.1.1 # Apache2
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+reno>=1.8.0 # Apache2
@@ -25 +25 @@ django-compressor>=2.0 # MIT
-django-openstack-auth>=2.0.0 # Apache-2.0
+django-openstack-auth>=2.4.0 # Apache-2.0



_______________________________________________
OpenStack-announce mailing list
OpenStack-announce@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-announce

Reply via email to