Jump to: navigation, search

Senlin

Revision as of 01:32, 13 June 2016 by Qiming (talk | contribs)


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 [developer.openstack.org/api-ref/clustering 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:

Senlin-architecture.png

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.

Senlin-profiles.png

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

Senlin-policies.png

Documentation

Get Involved

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 Drop emails to openstack-dev with tag [Senlin] in the subject.
Weekly Meetings 1300UTC every Tuesday on #openstack-meeting channel.

Agenda 2015 Minutes Archive 2016 Minutes Archive