Jump to: navigation, search

Difference between revisions of "Murano/ReleaseNotes v0.2"

(MS SQL Server AlwaysOn Cluster)
 
(31 intermediate revisions by 9 users not shown)
Line 1: Line 1:
Murano v0.2 is a second stable release of Murano. Check out "What’s New", "Improvements", "Fixed Bugs" and "Known Issues" for this version of Murano below. If interested, please see [https://launchpad.net/murano/+milestone/0.2 the complete list of changes] in this release.
+
Murano v0.2 is a second stable release of Murano. Check out "What’s New", "Improvements", "Bugs Fixed" and "Known Issues" for this version of Murano below. If interested, please see [https://launchpad.net/murano/+milestone/0.2 the complete list of changes] in this release.
  
 
===What's new===
 
===What's new===
 
====Workflow diagnostics in Murano Conductor====
 
====Workflow diagnostics in Murano Conductor====
 
New tags were added to XML workflow definition language to provide more precise control over workflow execution, report various error conditions and warnings, make rules applicable only once etc.
 
New tags were added to XML workflow definition language to provide more precise control over workflow execution, report various error conditions and warnings, make rules applicable only once etc.
Worflow rules has got description, excessive logging have been added to have detailed execution plan of any workflow.
+
Workflow rules has got description, excessive logging have been added to provide detailed execution plan of any workflow.
  
 
====Dynamic UI====
 
====Dynamic UI====
Line 17: Line 17:
  
 
====Support for SSL both in REST API and RabbitMQ communications====
 
====Support for SSL both in REST API and RabbitMQ communications====
[TODO: Add info]
+
To improve security in Murano we have added support for SSL on all communication levels between our components. All components communicate with each other by RabbitMQ and this interaction can be encrypted now with SSL. How to [http://murano-docs.github.io/0.2/developers-guide/content/ch02s05.html configure SSL] encryption can be found in our developers guide.
 +
 
 +
Additionally we have added ability to secure all communications with our API by adding support for SSL endpoint in our REST API service. API [http://murano-docs.github.io/0.2/developers-guide/content/ch02s05.html HTTPS configuration] can also be found in our developers guide.
 +
 
 
====Ability to select Windows image, Availability Zone and instance flavor====
 
====Ability to select Windows image, Availability Zone and instance flavor====
A new (common) dialog step was added to "Create Service" UI, which allows to select Instance Flavor (hardware configuration), Windows Image (pre-create Glance image, marked with an appropriate metadata tag) and Availability Zone (one of those defined in OpenStack).  
+
A new common dialog step has been added to "Create Service" UI, which allows to select Instance Flavor (hardware configuration), Windows Image (pre-create Glance image, marked with an appropriate metadata tag) and Availability Zone (one of those defined in OpenStack).  
 
Windows Image field is mandatory for selection, while others may be left unset, so conductor will use configurable default values instead
 
Windows Image field is mandatory for selection, while others may be left unset, so conductor will use configurable default values instead
  
 
==== External Active Directory====
 
==== External Active Directory====
External Active Directory - extended functionality, available through enabling ExternalAD.xml workflow template in the murano-conductor service. This feature allow use most of the murano supported services with existing windows domain, preconfigured previously.
+
External Active Directory is implemented as conductor's functionality extension: it is available after enabling ExternalAD.xml workflow template in the murano-conductor service. This feature allows to use most of the murano supported services with existing windows domain (should be configured before).
  
 
====Additional Services====
 
====Additional Services====
Line 32: Line 35:
  
 
=====MS SQL Server AlwaysOn Cluster=====
 
=====MS SQL Server AlwaysOn Cluster=====
This type of service is the most complex of all supported services. It's actually contains 2 type of service under the hood, namely "Active Directory" and "MS SQL Server Cluster".  
+
This type of service is the most complex one of all supported services. It actually contains 2 services under the hood, namely "Active Directory" and "MS SQL Server Cluster".  
 
<br />
 
<br />
Steps which describes structure in the high-level:
+
At high-level the service structure features the following components:
 
* Active Directory windows domain.
 
* Active Directory windows domain.
 
* Windows Server Failover Cluster.
 
* Windows Server Failover Cluster.
* MS SQL Server stanalone installal per instance.
+
* MS SQL Server standalone install per instance.
 
* MS SQL AlwaysOn Availability Group functionality.
 
* MS SQL AlwaysOn Availability Group functionality.
  
 
===Improvements===
 
===Improvements===
 
====Detailed documentation for writing XML Workflows====
 
====Detailed documentation for writing XML Workflows====
[TODO: Add info]
+
Murano Workflow XML DSL specification created and published at [http://murano-docs.github.io/0.2/developers-guide/content/ch05.html github.io]. The developer guide now includes this section.
 +
 
 +
This DSL should be used when writing new workflows and modifying existing ones.
 +
 
 
====Improved HA for Murano Conductor====
 
====Improved HA for Murano Conductor====
[TODO: Add info]
+
All components of Murano are High-Available now.
====REST API generalization====
+
Murano-API is stateless, so it can be placed behind a load balancer.
[TODO: Add info]
+
The state of the Workflow is idempotent, so in case of the conductor failure secondary conductors will repeat the actions of the unfinished deployments without any unwanted side effects.
 +
 
 +
====REST API Changes====
 +
Several changes are introduced to API specification to support extensible and pluggable architecture:
 +
* Universal endpoint for services
 +
* Tree traversing and set syntax
 +
Major change is universal endpoint for all services. Previously we had endpoints like: “/environment/<env_id>/activeDirectories/*” for each service, and now single endpoint for all services is introduced, like: “/environment/<env_id>/services/*”.
 +
 
 +
In order to make our API more user-friendly and reduce amount of calls and data sent we also introducing two complementing features: tree traversing and set syntax.
 +
 
 +
More details about this feature can be found in the [[Murano/Blueprints/APIv0.2|blueprint]].
  
 
===Bugs Fixed===
 
===Bugs Fixed===
  
 
A complete list of bugs fixed in Murano v0.2 can be found [https://bugs.launchpad.net/murano/+bugs?field.searchtext=&orderby=-importance&field.status%3Alist=WONTFIX&field.status%3Alist=FIXCOMMITTED&field.status%3Alist=FIXRELEASED&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.milestone%3Alist=60161&field.tag=&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on&search=Search here].
 
A complete list of bugs fixed in Murano v0.2 can be found [https://bugs.launchpad.net/murano/+bugs?field.searchtext=&orderby=-importance&field.status%3Alist=WONTFIX&field.status%3Alist=FIXCOMMITTED&field.status%3Alist=FIXRELEASED&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.milestone%3Alist=60161&field.tag=&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on&search=Search here].
 +
 +
=== Requirements ===
 +
The actual list of requirements for Murano Release 0.2 can be found by the following [https://wiki.openstack.org/wiki/Murano/ReleaseNotes_v0.2/Requirements link].
  
 
===Known Issues===
 
===Known Issues===
Line 59: Line 78:
  
 
* When Heat creates different clients for Nova, Cinder and others it doesn't pass SSL-related options to clients' constructor. If Nova is configured to have SSL endpoints and self-signed certificates Heat will fail to create instances because there is no way to disable server certificate validation as there is no "insecure" flag passed etc.
 
* When Heat creates different clients for Nova, Cinder and others it doesn't pass SSL-related options to clients' constructor. If Nova is configured to have SSL endpoints and self-signed certificates Heat will fail to create instances because there is no way to disable server certificate validation as there is no "insecure" flag passed etc.
 
* Murano-Conductor doesn't work with python-heatclient>0.2.1.
 
  
 
*  Farm services can't be deployed without KeyPair. If KeyPair is not set load balancer won't be created ([https://bugs.launchpad.net/murano/+bug/1216882 link on bug description]). Deploy will hang up and these messages will show up in logs:
 
*  Farm services can't be deployed without KeyPair. If KeyPair is not set load balancer won't be created ([https://bugs.launchpad.net/murano/+bug/1216882 link on bug description]). Deploy will hang up and these messages will show up in logs:
Line 66: Line 83:
 
  2013-08-06 09:10:07 - Unable to create a Server Farm load balancer on unit ipkrmhk0vzq4b6 (asp-farm_instance_0) due to Unexpected state
 
  2013-08-06 09:10:07 - Unable to create a Server Farm load balancer on unit ipkrmhk0vzq4b6 (asp-farm_instance_0) due to Unexpected state
  
* User can select incorrect parameters for service, like incompatible flavor and VM image. In this case user will see the following error in the log:
+
* User can select incorrect parameters for service, like incompatible flavor and VM image or if tenant resource quota exceeded. In this case user will see the following error in the log:
 
  Unable to deploy instance demo (demo.com_instance_0) due to Unexpected stack state NOT_FOUND
 
  Unable to deploy instance demo (demo.com_instance_0) due to Unexpected stack state NOT_FOUND
 +
 +
* MS SQL Server Cluster using Virtual IP Addresses at the down layer. In the current release of the OpenStack (Grizzly) this functionality does not supported from the box.
 +
This situation could be handled in these ways:
 +
* For the Nova-Network there are shell scripts, could be downloaded [https://www.dropbox.com/sh/zthldcxnp6r4flm/gTq3BxYnMy/wsfc_ip_helper.tar.gz here]
 +
* For the Neutron there is a [https://review.openstack.org/#/c/38230/ patch]. It is already merged, however it will be available only as part of Havana release.

Latest revision as of 18:19, 8 October 2013

Murano v0.2 is a second stable release of Murano. Check out "What’s New", "Improvements", "Bugs Fixed" and "Known Issues" for this version of Murano below. If interested, please see the complete list of changes in this release.

What's new

Workflow diagnostics in Murano Conductor

New tags were added to XML workflow definition language to provide more precise control over workflow execution, report various error conditions and warnings, make rules applicable only once etc. Workflow rules has got description, excessive logging have been added to provide detailed execution plan of any workflow.

Dynamic UI

Dynamic UI means moving form definitions, data processing logic and texts from Python code and Django templates into separate service definitions in human-readable YAML format. Service definitions separated from Python code provide much greater flexibility in adding, modifying and removing services. The format simplicity allows non-programmers to use it: even if there are some errors in service definition, it simply won't be shown in services list (and won't crash the whole dashboard). Dynamic UI employs YAML for forms markup and YAQL (Yet Another Query Language, developed specially for Murano Workflows) for form validation and initialization logic.

Support for SSL both in REST API and RabbitMQ communications

To improve security in Murano we have added support for SSL on all communication levels between our components. All components communicate with each other by RabbitMQ and this interaction can be encrypted now with SSL. How to configure SSL encryption can be found in our developers guide.

Additionally we have added ability to secure all communications with our API by adding support for SSL endpoint in our REST API service. API HTTPS configuration can also be found in our developers guide.

Ability to select Windows image, Availability Zone and instance flavor

A new common dialog step has been added to "Create Service" UI, which allows to select Instance Flavor (hardware configuration), Windows Image (pre-create Glance image, marked with an appropriate metadata tag) and Availability Zone (one of those defined in OpenStack). Windows Image field is mandatory for selection, while others may be left unset, so conductor will use configurable default values instead

External Active Directory

External Active Directory is implemented as conductor's functionality extension: it is available after enabling ExternalAD.xml workflow template in the murano-conductor service. This feature allows to use most of the murano supported services with existing windows domain (should be configured before).

Additional Services

Murano v0.2 supports deployment of several new services: MS SQL Server single instance and MS SQL Server Always On Cluster.

MS SQL Server

This type of service provides deployment of the MS SQL Server 2012 in standalone mode per instance.

MS SQL Server AlwaysOn Cluster

This type of service is the most complex one of all supported services. It actually contains 2 services under the hood, namely "Active Directory" and "MS SQL Server Cluster".
At high-level the service structure features the following components:

  • Active Directory windows domain.
  • Windows Server Failover Cluster.
  • MS SQL Server standalone install per instance.
  • MS SQL AlwaysOn Availability Group functionality.

Improvements

Detailed documentation for writing XML Workflows

Murano Workflow XML DSL specification created and published at github.io. The developer guide now includes this section.

This DSL should be used when writing new workflows and modifying existing ones.

Improved HA for Murano Conductor

All components of Murano are High-Available now. Murano-API is stateless, so it can be placed behind a load balancer. The state of the Workflow is idempotent, so in case of the conductor failure secondary conductors will repeat the actions of the unfinished deployments without any unwanted side effects.

REST API Changes

Several changes are introduced to API specification to support extensible and pluggable architecture:

  • Universal endpoint for services
  • Tree traversing and set syntax

Major change is universal endpoint for all services. Previously we had endpoints like: “/environment/<env_id>/activeDirectories/*” for each service, and now single endpoint for all services is introduced, like: “/environment/<env_id>/services/*”.

In order to make our API more user-friendly and reduce amount of calls and data sent we also introducing two complementing features: tree traversing and set syntax.

More details about this feature can be found in the blueprint.

Bugs Fixed

A complete list of bugs fixed in Murano v0.2 can be found here.

Requirements

The actual list of requirements for Murano Release 0.2 can be found by the following link.

Known Issues

Actual bug state can be found in Murano Launchpad page

  • Due to current Heat limitation services that involve load-balancer creation (farms) can be deployed only by tenant administrators.
  • When Heat creates different clients for Nova, Cinder and others it doesn't pass SSL-related options to clients' constructor. If Nova is configured to have SSL endpoints and self-signed certificates Heat will fail to create instances because there is no way to disable server certificate validation as there is no "insecure" flag passed etc.
  • Farm services can't be deployed without KeyPair. If KeyPair is not set load balancer won't be created (link on bug description). Deploy will hang up and these messages will show up in logs:
2013-08-06 09:10:07 - Unable to deploy instance ipkrmhk0vzq4b6 (asp-farm_instance_0) due to Unexpected state
2013-08-06 09:10:07 - Unable to create a Server Farm load balancer on unit ipkrmhk0vzq4b6 (asp-farm_instance_0) due to Unexpected state
  • User can select incorrect parameters for service, like incompatible flavor and VM image or if tenant resource quota exceeded. In this case user will see the following error in the log:
Unable to deploy instance demo (demo.com_instance_0) due to Unexpected stack state NOT_FOUND
  • MS SQL Server Cluster using Virtual IP Addresses at the down layer. In the current release of the OpenStack (Grizzly) this functionality does not supported from the box.

This situation could be handled in these ways:

  • For the Nova-Network there are shell scripts, could be downloaded here
  • For the Neutron there is a patch. It is already merged, however it will be available only as part of Havana release.