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. 
