Revision to FEATURES.rst

This patch proposes several changes to the FEATURES list:

- 'Support Scheduled Actions' [High->Middle]
  This is supposed to be a feature from monitoring services, e.g.
  Ceilometer/Aodh where they have cron based event/alarms.

- 'API Versioning Support' [Middle->High]
  With a first official release coming soon, we need to freeze API
  changes to 1.0. Any future changes will need a bump of API version
  unless it is a pure bug-fix. However, before bumping API versions,
  we need a API versioning scheme in place to manage the versions.

- 'CoreOS based Container Support' [Low->High]
  Since CoreOS is just a VM image positioned as a guest OS on OpenStack.
  We can easily support it with not much effort. The lessons/experiences
  learned therein would be very helpful for guiding our next step
  towards managing container clusters.

- 'Define and Enforce Quotas' [Middle->Low]
  This is no longer merely a senlin project's concern. There is a
  cross-project effort on doing this. We will just need to keep an eye
  on that effort instead of doing local inventions.
  [https://review.openstack.org/284454]

- 'Container/Docker Support' [Low->Middle]
  We are working toward that direction anyway, though there are many
  details to be figured out.

- 'Make use of ServerGroup API' [Low->DELETED]
  We are already doing that in the 'affinity' policy.

- 'Versioned Object Support' [Low->Middle]
  We will need such a feature to support live service upgrade. This
  has to be done before Newton release (Oct/2016).

Change-Id: I9eb8e093dc7fe3779a8d05e9ab8feb1cd93f7fb3
This commit is contained in:
tengqm 2016-03-03 02:58:15 -05:00
parent 9e2e9ed79a
commit 10164495f1
1 changed files with 40 additions and 49 deletions

View File

@ -19,12 +19,20 @@ before being worked on.
High Priority
-------------
Support Scheduled Actions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
API versioning support
^^^^^^^^^^^^^^^^^^^^^^
This is a request to trigger some actions at a specified time. One typical use
case is to scale up a cluster before weekend or promotion season as a
preparation for the coming burst of workloads.
This support can help to improve the stability and compatibility of Senlin API
interface. We can learn some experience from what Nova has done for providing
API version control.
CoreOS based Container Support
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
To Senlin, CoreOS is just another VM image. However, CoreOS provides some
builtin support to Container/Docker and it provides clustering facility for
user applications.
Event Listener
@ -71,6 +79,14 @@ support this kind of requirement.
Middle Priority
---------------
Support Scheduled Actions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This is a request to trigger some actions at a specified time. One typical use
case is to scale up a cluster before weekend or promotion season as a
preparation for the coming burst of workloads.
Blue-Green Deployment
^^^^^^^^^^^^^^^^^^^^^
@ -95,13 +111,6 @@ tools into the whole picture. One of the option is to provide a easy way for
Senlin to work with Ansible, for example.
Define and Enforce Quotas
^^^^^^^^^^^^^^^^^^^^^^^^^
There is a potential request to limit how many clusters a user can create, how
large a cluster can become.
Event Notification
^^^^^^^^^^^^^^^^^^
@ -120,18 +129,32 @@ potential tradeoff is to introduce an option for users to customize the size
of batches when large number of DB requests pouring in.
API versioning support
^^^^^^^^^^^^^^^^^^^^^^
Container/Docker support
^^^^^^^^^^^^^^^^^^^^^^^^
Using Senlin to manage Container/Docker cluster is possible. We should
provide related support for users who have this requirement.
Versioned Object Support
^^^^^^^^^^^^^^^^^^^^^^^^
oslo.versionedobjects is a lib provides a generic versioned object model that
is RPC-friendly, with inbuilt serialization, field typing, and remotable method
calls. We can use it to promote the upgrading capatibility of Senlin service.
This support can help to improve the stability and compatibility of Senlin API
interface. We can learn some experience from what Nova has done for providing
API version control.
------------
Low Priority
------------
Define and Enforce Quotas
^^^^^^^^^^^^^^^^^^^^^^^^^
There is a potential request to limit how many clusters a user can create, how
large a cluster can become.
Use Barbican to Store Secrets
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -149,23 +172,6 @@ requirements to place all cluster nodes on the same VPN so that workloads can
be distributed to the nodes as if they sit on the same network.
Make Use of Nova ServerGroup API
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When creating a cluster of Nova servers, Senlin needs to work with Nova and its
scheduler to provide sophisticated scheduling decisions. While a user do not
necessarily have control over the admin plane, he or she does have a right to
express their requirements in an abstract manner.
CoreOS based Container Support
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
To Senlin, CoreOS is just another VM image. However, CoreOS provides some
builtin support to Container/Docker and it provides clustering facility for
user applications.
Vertical Scaling
^^^^^^^^^^^^^^^^
@ -246,27 +252,12 @@ Managing baremetal cluster is a very common requirement from user. It is
reasonable for Senlin to support it by talking with service like Ironic.
Container/Docker support
^^^^^^^^^^^^^^^^^^^^^^^^
Using Senlin to manage Container/Docker cluster is possible. We should
provide related support for users who have this requirement.
TOSCA support
^^^^^^^^^^^^^
Provide TOSCA support in Senlin(maybe reuse heat-translator/tosca-parser?)
Versioned Object Support
^^^^^^^^^^^^^^^^^^^^^^^^
oslo.versionedobjects is a lib provides a generic versioned object model that
is RPC-friendly, with inbuilt serialization, field typing, and remotable method
calls. We can use it to promote the upgrading capatibility of Senlin service.
Dynamic Plugin Loading
^^^^^^^^^^^^^^^^^^^^^^