Newton Series Release Notes¶
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.
Deprecate ‘block_device_mapping’ from nova server profile since it was never supported by OpenStack SDK.
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’.
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.
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).
The configuration option ‘service_password’ is marked as secret so that its value won’t get leaked into log files.
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.
Senlin API/Engine configuration options are now documented and published online.
cluster_collectAPI is added.
Tempest API test for all Senlin API interfaces for both positive and negative cases.
Reimplement functional test using tempest.
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.
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.
Fixed DB layer dead lock issue that surfaced recently during concurrent DB operations.
Fixed bug introduced by openstacksdk when updating nova server metadata.
Reworked API documentation which is now published at http://developer.openstack.org/api-ref/clustering