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.