Ocata Series Release Notes

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

Security Issues

  • cve-2016-4972 has been addressed. 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.

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.