Note de release pour Mitaka

1.0.0

Nouvelles fonctionnalités

  • 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.

Notes de mises à jours

  • 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.

Corrections de bugs

  • 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.

Autres 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.