Mitaka Series Release Notes¶
1.0.0¶
New Features¶
We no longer support soft-delete in senlin database. Marking an entity as soft-deleted is causing more problems than bringing any convenience.
Action list now can be filtered by its ‘status’ property.
Added support of multi-tenancy for actions.
Added senlin.policy.affinity-v1.0 which can be used to control how VM servers are placed based on nova servergroup settings.
New actions for checking and recovering nodes/clusters are added.
Added new APIs for cluster/node check and recover.
Added support to limit number of clusters per project.
Clusters now have a new ‘RESIZING’ status when its scale is being changed.
The built-in deletion policy can handle cross-region and cross-zone nodes selection.
Supporting engine status check, with senlin-manage command.
Event list can now be filtered by its ‘level’ property.
Added support to multi-tenancy for event resources.
Profile types and policy types are explicitly versioned now. We have the version string appended to the type names for easier detection.
New health check daemon is introduced to do periodical cluster status checking. It collaborates with health policy on cluster monitoring.
Improved action scheduler so that it can pick an action that is READY to be executed from DB.
Added LBaaS health monitor support to load-balancing policy v1.0.
Added support to steal a lock from dead engine.
Added support to multi-tenancy (aka. project_safe checking) when finding resources.
Use ‘sort’ instead of ‘sort_keys’ and ‘sort_dir’ for object sorting.
Nova server profile now supports block device mapping v2 (BDMv2).
Enabled update to the ‘flavor’ of a nova server profile.
Enabled update to the ‘name’ of a nova server profile.
Added profile property checking regarding whether they are updatable.
Support to ‘senlin-manage purge_deleted <age> [<unit>]’ is added.
New abstraction ‘receiver’ has been added as a generic way to notify the senlin engine that something interesting has happened.
An experimental policy for placing nodes across multiple regions.
Removed support to ‘trigger’ abstraction.
Make sure ‘spec’ of a profile is immutable after a profile object is created. The only way to “update” a profile is to create a new one.
Added command ‘senlin-manage service list’ to show the status of engine.
Added command ‘senlin-manage service clean’ to clean the dead engine records.
Add support to update image property of a Nova server.
Added support to updating network properties of a nova server.
Both image ID and image name are supported when creating os.nova.server profile.
Upgrade Notes¶
Database tables have to be recreated as we have removed soft-delete support from both the DB layer and the engine layer.
Senlin API has removed ‘tenant_id’ from its endpoint. This means users have to recreate their keystone endpoints if they have an old installation.
Webhook abstraction is removed. New usage model of webhooks is through the ‘receiver’ abstraction.
Node actions NODE_JOIN and NODE_LEAVE are removed from API surface.
Removed cluster policy enable/disable support. We will use more generic interface cluster policy update for these use cases.
Removed permission property from profiles. We will devise an RBAC mechanism as an alternative.
Status DELETED is removed from clusters and nodes.
Timestamp fields like ‘created_time’ and ‘udpated_time’ are renamed to ‘created_at’ and ‘updated_at’ respectively.
As a side-effect of the rework of action dependency, a new table has been added to the database.
Senlin binaries are all made as console script entries.
Bug Fixes¶
When referenced objects are not found in an API request, 400 is returned now.
Reworked action status check so that a cluster action will always return from WAITING status.
Fixed profile type checking error when attaching affinity policy.
Fixed parsing of default values for ‘max_size’ and ‘min_size’ properties of a cluster.
Fixed race condition in service deletion.
Fixed APIs that spawn asynchronous operations to return 202 as status code.
Fixed a bug related to setting the next_index property of a cluster after new nodes have joined or existing nodes have left.
Fixed cluster-list function so that ‘global-project’ can be specified.
Removed useless parameters (‘user’, ‘project’, etc.) from filtering when listing clusters.
Added parameter sanitization for cluster-policy-attach.
Fixed RC/role checking in the setup-service script.
Enforce multi-tenancy checking when a non-admin user attempting to list resources from projects other than that of the requesting user.
Fixed a bug related to using the ‘name’ property of a nova server profile.
Fixed parameter checking when listing resources, such as sort and filters.
Added parameter checking for policy-create API calls.
Added parameter checking for cluster-policy-detach API invocation.
Added parameter checking for cluster-policy-update API invocation.
Reworked action dependency to avoid indefinite waiting problem.
Fixed trust usage when interacting with keystone. This enables senlin to be deployed on a Juno version OpenStack.
Other Notes¶
DB isolation level defaults to READ_COMMITTED in order to solve concurrency problems encountered in action dependency checking.
Added documentation for senlin.policy.deletion-v1.0.
Added configuration option for enforcing name uniqueness.
Added documentation for lb policy, affinity policy, scaling policy, zone placement policy and region placement policy.
Senlin API documentation merged into api-site and published.
Added user documentation for ‘receiver’.
Added developer documentation for ‘receiver’.
Removed documentation for ‘webhook’.
The property ‘priority’ and ‘level’ are removed from policy create/update.
Command senlin-manage purge_deleted is removed.
Ensure there are no underscores (‘_’) in resource names exposed through RESTful API
User documentation for events and actions have been added.
User documentation (including developer docs) are published on official site.