RETIRED, Clustering service for managing homogeneous objects in OpenStack
Go to file
Haiwei Xu 3cef8499ab Add webhook policy
Add webhook policy to policy.json

Change-Id: I538a4f29fd4e97ada455191547944c5e441c616c
2015-06-19 16:07:38 +09:00
bin Replace 'tenant' by 'project' 2015-04-03 01:36:47 -04:00
devstack Fix admin requirement in trust middleware 2015-05-08 03:53:50 -04:00
doc Cluster and node design doc 2015-06-17 05:48:27 -04:00
etc/senlin Add webhook policy 2015-06-19 16:07:38 +09:00
examples Sample scaling policies 2015-05-11 03:01:40 -04:00
senlin Merge "Use correct property name in get_details of os.nova.server profile" 2015-06-18 11:54:46 +00:00
tools Delete domain option of 'user create' command 2015-05-25 18:54:37 +09:00
.coveragerc Tuning tox configuration 2015-04-13 05:46:26 -04:00
.gitignore Tuning tox configuration 2015-04-13 05:46:26 -04:00
.gitreview Fixed typo in .gitreview file 2015-03-18 16:42:20 +08:00
.testr.conf Initial copy of project files from Heat 2014-12-10 15:47:34 +08:00
CONTRIBUTING.rst Added some docs about hacking and testing 2015-03-25 11:32:09 +08:00
FEATURES.rst Fix some spelling miss and message output 2015-06-12 11:49:37 +09:00
HACKING.rst Added some docs about hacking and testing 2015-03-25 11:32:09 +08:00
LICENSE Initialial commit 2014-12-10 15:32:50 +08:00
MANIFEST.in Removed useless entries 2015-03-11 20:04:08 +08:00
README.rst Fix some misses of README.rst 2015-05-25 19:41:25 +09:00
TODO.rst Add/remove some TODO items 2015-06-17 03:36:32 -04:00
babel.cfg Initial copy of project files from Heat 2014-12-10 15:47:34 +08:00
install.sh Fix setup scripts in tools folder 2015-04-09 00:35:18 +08:00
openstack-common.conf Updated oslo dependency to reality 2015-04-13 03:19:07 -04:00
pylintrc Initial copy of project files from Heat 2014-12-10 15:47:34 +08:00
requirements.txt Bump oslo.utils version 2015-06-16 21:19:21 -04:00
run_tests.sh Initial version of test script 2014-12-10 16:18:44 +08:00
setup.cfg Add ScalingInPolicy and ScalingOutPolicy 2015-05-04 22:45:15 -04:00
setup.py Initial version 2014-12-17 15:22:51 +08:00
test-requirements.txt Sync with global requirements 2015-05-25 22:12:22 -04:00
tox.ini Tuning tox configuration 2015-04-13 05:46:26 -04:00
uninstall.sh Initial version borrowed from Heat 2014-12-10 17:17:35 +08:00

README.rst

senlin

Senlin is a clustering service for OpenStack cloud. It creates and operates clusters of homogenous objects exposed by other OpenStack services. The goal is to make orchestration of collections of similar objects easier.

Senlin provides ReSTful APIs to users so that they can associate various policies to a cluster. Sample policies include placement policy, load balancing policy, failover policy, scaling policy, ... and so on.

IRC Channel: #senlin

Install via Devstack

This is the recommended way to install Senlin service. Please refer to devstack/README.rst for detailed instructions.

Note that Senlin client is also installed when following the instructions it the above mentioned document.

Manual Installation

Install Senlin Server

  1. Get Senlin source code from OpenStack git repository
$ cd /opt/stack
$ git clone http://git.openstack.org/stackforge/senlin.git
  1. Install Senlin with required packages
$ cd /opt/stack/senlin
$ sudo pip install -e .
  1. Register Senlin clustering service with keystone.

    This can be done using the setup-service script under tools folder.

$ cd /opt/stack/senlin/tools
$ ./setup-service <HOST IP> <SERVICE_PASSWORD>
  1. Generate configuration file for the Senlin service
$ cd /opt/stack/senlin
$ tools/gen-config
$ sudo mkdir /etc/senlin
$ sudo cp etc/senlin/api-paste.ini /etc/senlin
$ sudo cp etc/senlin/policy.json /etc/senlin
$ sudo cp etc/senlin/senlin.conf.sample /etc/senlin/senlin.conf

Edit file /etc/senlin/senlin.conf according to your system settings. The most common options to be customized include:

[database]
connection = mysql://senlin:<DB PASSWORD>@127.0.0.1/senlin?charset=utf8

[keystone_authtoken]
auth_uri = http://<HOST>:5000/v3
auth_version = 3
cafile = /opt/stack/data/ca-bundle.pem
identity_uri = http://<HOST>:35357
admin_user = senlin
admin_password = <SENLIN PASSWORD>
admin_tenant_name = service

[oslo_messaging_rabbit]
rabbit_userid = <RABBIT USER ID>
rabbit_hosts = <HOST>
rabbit_password = <RABBIT PASSWORD>
  1. Create Senlin Database

Create Senlin database using the senlin-db-recreate script under the tools subdirectory. Before calling the script, you need edit it to customize the password you will use for the senlin user.

$ cd /opt/stack/senlin/tools
$ ./senlin-db-recreate
  1. Start senlin engine and api service.

You may need two consoles for the services each.

$ senlin-engine --config-file /etc/senlin/senlin.conf
$ senlin-api --config-file /etc/senlin/senlin.conf

Install Senlin Client

  1. Get Senlin client code from OpenStack git repository.
$ cd /opt/stack
$ git clone http://git.openstack.org/stackforge/python-senlinclient.git
  1. Install senlin client.
$ cd python-senlinclient
$ sudo python setup.py install

You are ready to begin your journey (aka. adventure) with Senlin, now.