Newton Series Release Notes

2.0.0.0rc1

New Features

  • Added dependents to clusters and nodes for recording other clusters/nodes that depend on them.
  • The region placement policy and the zone placement policy have been augmented with spec validation support.
  • The ‘image’, ‘flavor’, ‘key_name’ and ‘networks’ properties of a nova server profile can now be validated via profile-validate API.
  • Optimized nova server update so that password and server name can be updated with and without image-based rebuild.

Deprecation Notes

  • Deprecate ‘block_device_mapping’ from nova server profile since it was never supported by OpenStack SDK.

Bug Fixes

  • Fixed cluster/node status setting after a cluster/node check operation.
  • Various fixes to the user doc, developer doc and API documentation.
  • A cluster in the middle of an on-going action should not be deletable. The engine service has been improved to detect this situation.
  • Removed ‘metadata’ from profile query parameters because the current support is known to have issues.
  • Added validation of key_name, flavor, image, networks when updating nova server.
  • Fixed bugs related to receiver creation when type is set to ‘message’.

2.0.0.0b3

New Features

  • The senlin-engine now supports fencing a corrupted VM instance by deleting it forcibly.
  • A new profile type ‘container.dockerinc.docker-1.0’ is added to support creation and management of docker clusters. This is still an experimental feature. Please use with caution.
  • The deletion policy is enhanced to handle ‘NODE_DELETE’ actions which derives from a standalone ‘node_delete’ request.
  • The cluster health manager has gained a new feature where nova server instance failures can be detected and handled, with and without a health policy attached to a cluster.
  • The health policy was improved so that it will suspend itself when a node deletion comes from senlin-engine or client request. The policy will only effect when node failure is ‘unexpected’.
  • The load-balancing policy is improved to handle ‘NODE_CREATE’ and ‘NODE_DELETE’ actions that derive from ‘node_create’ or ‘node_delete’ RPC requests directly.
  • A new “lb_status_timeout” option is added to the LB policy to cope with load-balancers that are not so responsive.
  • The affinity policy is improved to handle NODE_CREATE actions which are derived from ‘node_create’ RPC requests.
  • The availability-zone placement policy is improved to handle NODE_CREATE actions which are derived from ‘node_create’ RPC requests.
  • The region placement policy is improved to handle the NODE_CREATE action which derives from a ‘node_create’ RPC request.
  • With the new ‘profile-validate’ API, the nova server profile now supports the validation of its ‘flavor’, ‘image’ (if provided), ‘availability_zone’ and block device driver properties.
  • A new policy-validate API has been added to validate the spec of a policy without actually creating an instance of it.
  • The affinity policy, loadbalancing policy now support spec validation. Invalid properties can be detected using policy-validate API.
  • A new profile-validate API has been added to validate the spec of a profile without actually creating an instance of it.
  • Zaqar resources including “queue”, “message”, “subscription” and “claim” are now supported in Senlin driver.

Upgrade Notes

  • The ‘details/addresses’ property of a node output for a nova server used to contain only some trimed information. This has been changed to a faithful dumping of the ‘addresses’ property.
  • Several configuration options are consolidated into the ‘senlin_api’ group in ‘senlin.conf’ file (‘api_paste_config’, ‘wsgi_keep_alive’, ‘client_socket_timeout’, ‘max_json_body_size’).
  • With the newly added ‘message’ type of receivers, the ‘cluster’ and the ‘action’ property are not always required when creating a receiver. They are still required if the receiver type is ‘webhook’ (the default).

Security Issues

  • The configuration option ‘service_password’ is marked as secret so that its value won’t get leaked into log files.

Bug Fixes

  • The new API documentation include fixes to the header like ‘location’, ‘OpenStack-Request-Id’ and responses during version negotiation.
  • The ‘desired_capacity’ reflects the expectation from a requester’s view point. The engine now changes the ‘desired_capacity’ after the request is validated/sanitized, before the action is actually implemented. This means the ‘desired_capacity’ will change event if an action fails.
  • Fixed cluster status update logic so that cluster status is solely determined by the status of its member nodes. The status is updated each time a cluster operation has completed.
  • Fix cluster next_index update when adding nodes to cluster.
  • Fixed resource delete operations which should return 204 status code with body length of zero.
  • Fixed error handling when network is not found in nova server creation.
  • Fixed node recover operation behavior so that unsupported operations can be detected and handled.
  • The unimplemented properties for health policy are masked out.
  • The node action execution logic is fixed so that it will skip cluster checking for orphan nodes and policy checking will be skipped for derived node actions.
  • The ‘senlin-manage’ command has been fixed so that it will report the senlin service status correctly.
  • The ‘tools/setup-service’ script has been fixed so that it works under keystone v3.

Other Notes

  • Senlin API/Engine configuration options are now documented and published online.

2.0.0.0b2

New Features

  • A new cluster_collect API is added.
  • Tempest API test for all Senlin API interfaces for both positive and negative cases.
  • Reimplement functional test using tempest.

2.0.0.0b1

New Features

  • Improved the action scheduler so that it can decide how many node actions will be fired in each batch. Batch control is a throttling measure to avoid raising too many requests in a short interval to the backend services.
  • Added support to oslo.versionedobject so that DB interactions are abstracted. It is possible to do live upgrade for senlin service now.
  • Engine scheduler was redesigned to work in “tickless” way.

Upgrade Notes

  • The cluster delete API calls may return a 409 status code if there are policies and/or receivers associated with it. Previously, we return a 400 status code.
  • DB columns obj_id, obj_type and obj_name in the event table are now renamed to oid, otype and oname correspondingly.

Bug Fixes

  • Fixed DB layer dead lock issue that surfaced recently during concurrent DB operations.
  • Fixed bug introduced by openstacksdk when updating nova server metadata.

Other Notes