Difference between revisions of "Senlin"
(→Get Involved) |
|||
Line 10: | Line 10: | ||
* A generic clustering/collection service for managing groups of homogeneous cloud objects on OpenStack. | * A generic clustering/collection service for managing groups of homogeneous cloud objects on OpenStack. | ||
− | * A set of APIs for managing cluster membership, e.g. add/remove nodes. | + | * A set of [http://developer.openstack.org/api-ref-clustering-v1.html APIs] for managing cluster membership, e.g. add/remove nodes. |
* A plugin-based object profile management enabling the creation and management of any object pools. | * A plugin-based object profile management enabling the creation and management of any object pools. | ||
* A plugin-based policy enforcement framework featuring flexible policy customization for cluster management. | * A plugin-based policy enforcement framework featuring flexible policy customization for cluster management. | ||
Line 16: | Line 16: | ||
* A open design for action execution that can be extended to accommodate complex application deployment. | * A open design for action execution that can be extended to accommodate complex application deployment. | ||
− | + | == Architecture == | |
The following picture depicts the high-level system architecture of the Senlin service: | The following picture depicts the high-level system architecture of the Senlin service: | ||
Line 24: | Line 24: | ||
The main components in the picture are: | The main components in the picture are: | ||
* The ''senlinclient'' component provides the command line interface (CLI) for users to interact with the Senlin service; | * The ''senlinclient'' component provides the command line interface (CLI) for users to interact with the Senlin service; | ||
− | * The ''senlin-api'' service provides the RESTful APIs for the ''senlinclient'' component or other services; | + | * The ''senlin-api'' service provides the RESTful [http://developer.openstack.org/api-ref-clustering-v1.html APIs] for the ''senlinclient'' component or other services; |
* The ''senlin-engine'' service sits behind the ''senlin-api'' service and operates on the clusters/nodes, using ''profiles'' and ''policies'' that are loaded as plugins. | * The ''senlin-engine'' service sits behind the ''senlin-api'' service and operates on the clusters/nodes, using ''profiles'' and ''policies'' that are loaded as plugins. | ||
Line 44: | Line 44: | ||
[[file:senlin-policies.png]] | [[file:senlin-policies.png]] | ||
+ | |||
+ | == Documentation == | ||
+ | - [http://docs.openstack.org/developer/senlin/install.html Installation] | ||
+ | - [http://docs.openstack.org/developer/senlin/user/index.html Getting Started] | ||
+ | - [http://developer.openstack.org/api-ref-clustering-v1.html API Reference] | ||
== Get Involved == | == Get Involved == | ||
* Projects on Launchpad | * Projects on Launchpad | ||
− | + | {| class="wikitable" | |
− | + | |- | |
− | + | | Launchpad Projects || [https://launchpad.net/senlin Senlin] [https://launchpad.net/python-senlinclient SenlinClient] [https://launchpad.net/senlin-dashboard SenlinDashboard] | |
− | + | |- | |
− | + | | Code Repositories || [https://git.openstack.org/cgit/openstack/senlin Senlin] [http://git.openstack.org/cgit/openstack/python-senlinclient SenlinClient] [http://git.openstack.org/cgit/openstack/senlin-dashboard/ SenlinDashboard] | |
− | + | |- | |
− | + | | Blueprints || [https://blueprints.launchpad.net/senlin Senlin Blueprints] | |
− | + | |- | |
− | + | | Code Review || [https://review.openstack.org/#/q/project:openstack/senlin,n,z Senlin] [https://review.openstack.org/#/q/project:openstack/python-senlinclient,n,z SenlinClient] [https://review.openstack.org/#/q/project:openstack/senlin-dashboard,n,z SenlinDashboard] | |
− | + | |- | |
− | + | | Bug Tracking || [https://bugs.launchpad.net/senlin Senlin] [https://bugs.launchpad.net/python-senlinclient SenlinClient] | |
− | + | |- | |
− | + | | IRC Channel || <code>#senlin</code> on freenode.net | |
− | + | |- | |
− | + | | Mailinglist || Project uses the [http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev openstack-dev] mailing list. Please use the tag <code>[Senlin]</code> in the subject line for new threads. | |
− | + | |- | |
− | + | | Weekly Meetings || [https://wiki.openstack.org/wiki/Meetings/SenlinAgenda Agenda] [http://eavesdrop.openstack.org/meetings/senlin/2015/ 2015 Minutes Archive] [http://eavesdrop.openstack.org/meetings/senlin/2016/ 2016 Minutes Archive] | |
− | + | |} | |
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 02:59, 16 February 2016
Overview
The mission of the Senlin project is to provide a generic clustering service for an OpenStack cloud. Such a service is capable of managing the homogeneous objects exposed by other OpenStack components, such as Nova, Heat, Cinder etc.
Features Highlight
The primary features of the Senlin service are listed below:
- A generic clustering/collection service for managing groups of homogeneous cloud objects on OpenStack.
- A set of APIs for managing cluster membership, e.g. add/remove nodes.
- A plugin-based object profile management enabling the creation and management of any object pools.
- A plugin-based policy enforcement framework featuring flexible policy customization for cluster management.
- A asynchronous execution engine for ensuring the state consistency of clusters and nodes.
- A open design for action execution that can be extended to accommodate complex application deployment.
Architecture
The following picture depicts the high-level system architecture of the Senlin service:
The main components in the picture are:
- The senlinclient component provides the command line interface (CLI) for users to interact with the Senlin service;
- The senlin-api service provides the RESTful APIs for the senlinclient component or other services;
- The senlin-engine service sits behind the senlin-api service and operates on the clusters/nodes, using profiles and policies that are loaded as plugins.
Terminologies
¤ Cluster
Senlin provides a clustering service to create and manage objects of the same nature, e.g. Nova servers, Heat stacks, Cinder volumes, etc. The collection of these objects is referred to as a cluster.
¤ Nodes
Senlin abstracts the physical objects as nodes, which can belong to any cluster of the same profile type.
¤ Profiles
Senlin supports object creation, deletion and update via a concept called Profile. Each profile is in essential a driver to communicate with certain services for object manipulation.
¤ Policies
With Senlin, user can attach a policy to a cluster and enforce it, or detach it from a cluster. Some built-in policies are provided to meet requirements such as auto-scaling, load-balancing, high-availability etc.
Documentation
- Installation - Getting Started - API Reference
Get Involved
- Projects on Launchpad
Launchpad Projects | Senlin SenlinClient SenlinDashboard |
Code Repositories | Senlin SenlinClient SenlinDashboard |
Blueprints | Senlin Blueprints |
Code Review | Senlin SenlinClient SenlinDashboard |
Bug Tracking | Senlin SenlinClient |
IRC Channel | #senlin on freenode.net
|
Mailinglist | Project uses the openstack-dev mailing list. Please use the tag [Senlin] in the subject line for new threads.
|
Weekly Meetings | Agenda 2015 Minutes Archive 2016 Minutes Archive |