78 lines
2.8 KiB
ReStructuredText
78 lines
2.8 KiB
ReStructuredText
..
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
not use this file except in compliance with the License. You may obtain
|
|
a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
License for the specific language governing permissions and limitations
|
|
under the License.
|
|
|
|
Senlin Architecture
|
|
===================
|
|
|
|
Senlin is a service to create and manage clusters of homogeneous resources in
|
|
an OpenStack cloud. Senlin provides an OpenStack-native ReST API.
|
|
|
|
|
|
--------------------
|
|
Detailed Description
|
|
--------------------
|
|
|
|
What is the purpose of the project and vision for it?
|
|
|
|
*Senlin provides a clustering service for OpenStack that manages a collection
|
|
of nodes that are of the same type.*
|
|
|
|
Describe the relevance of the project to other OpenStack projects and the
|
|
OpenStack mission to provide a ubiquitous cloud computing platform:
|
|
|
|
*The Senlin service aggregates resources exposed by other components of
|
|
OpenStack into a cluster. Such a cluster can be associated with different
|
|
policies that can be checked/enforced at varying enforcement levels. Through
|
|
service APIs, a user can dynamically add nodes to and remove nodes from a
|
|
cluster, attach and detach policies, such as creation policy, deletion policy,
|
|
load-balancing policy, scaling policy, health checking policy etc. Through
|
|
integration with other OpenStack projects, users will be enabled to manage
|
|
deployments and orchestrations large scale resource pools much easier.*
|
|
*Currently no other clustering service exists for OpenStack. The developers
|
|
believe cloud developers have a strong desire to create and operate resource
|
|
clusters on OpenStack deployments. The Heat project provides a preliminary
|
|
support to resource groups but Heat developers have achieved a consensus that
|
|
such kind of a service should stand on its own feet.*
|
|
|
|
---------------
|
|
Senlin Services
|
|
---------------
|
|
|
|
The developers are focusing on creating an OpenStack style project using
|
|
OpenStack design tenets, implemented in Python. We have started with a close
|
|
interaction with Heat project.
|
|
|
|
As the developers have only started development in December 2014, the
|
|
architecture is evolving rapidly.
|
|
|
|
senlin
|
|
------
|
|
|
|
The senlin tool is a CLI which communicates with the senlin-api to manage
|
|
clusters, nodes, profiles, policies and events. End developers could also use
|
|
the Senlin REST API directly.
|
|
|
|
|
|
senlin-api
|
|
----------
|
|
|
|
The senlin-api component provides an OpenStack-native REST API that processes
|
|
API requests by sending them to the senlin-engine over RPC.
|
|
|
|
|
|
senlin-engine
|
|
-------------
|
|
|
|
The senlin engine's main responsibility is to orchestrate the clusters, nodes,
|
|
profiles and policies.
|