RETIRED, Clustering service for managing homogeneous objects in OpenStack
Go to file
tengqm f33c9076c3 Added one TODO item about scaling policy
Just got a requirement: scaling a cluster to existing nodes instead of
creating new nodes. This won't be a complicated policy.

Change-Id: I4a284832fcd9ceab863809271e06b925da8d0b8c
2015-03-26 18:42:41 +08:00
bin Fixed a PEP8 error 2015-03-14 09:25:39 +08:00
contrib/devstack/lib Removed TLS related config stuff 2015-02-01 15:15:00 +08:00
doc Added some docs about hacking and testing 2015-03-25 11:32:09 +08:00
etc/senlin Add trust middleware into senlin-api pipeline 2015-03-10 04:03:17 -04:00
examples add context in example profile 2015-03-16 11:15:18 +08:00
senlin Remove unused oslo module local 2015-03-25 21:04:57 +08:00
tools Make setup-service tool work. 2015-03-02 03:12:07 -05:00
.coveragerc Initial copy of project files from Heat 2014-12-10 15:47:34 +08:00
.gitignore Added doc into build tree 2015-03-21 19:04:09 +08: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
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.md fix node-delete issues and make status changes to cluster if node in error 2015-03-05 16:12:39 +08:00
TODO Added one TODO item about scaling policy 2015-03-26 18:42:41 +08:00
babel.cfg Initial copy of project files from Heat 2014-12-10 15:47:34 +08:00
install.sh Initial version of install script 2014-12-10 16:09:20 +08:00
openstack-common.conf Remove unused oslo module local 2015-03-25 21:04:57 +08:00
pylintrc Initial copy of project files from Heat 2014-12-10 15:47:34 +08:00
requirements.txt Bump requirement versions 2015-03-21 18:31:10 +08:00
run_tests.sh Initial version of test script 2014-12-10 16:18:44 +08:00
setup.cfg Migrating to use oslo_log 2015-02-17 09:54:40 +08:00
setup.py Initial version 2014-12-17 15:22:51 +08:00
test-requirements.txt Bump requirement versions 2015-03-21 18:31:10 +08:00
testfile Only for test's purpose 2014-12-11 10:35:01 +08:00
tox.ini Added doc into build tree 2015-03-21 19:04:09 +08:00
uninstall.sh Initial version borrowed from Heat 2014-12-10 17:17:35 +08:00

README.md

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.

Developers will decide when to contribute it to OpenStack community.

IRC Channel: #senlin

Installation

  • Get senlin code from github
git clone https://github.com/tengqm/senlin.git
  • Install requirements
pip install -r requirements.txt
  • Install senlin
./install.sh
  • Create keystone service for senlin

There is a setup-service script under tools folder to do this for you, you should use the script to automate this step and step 5 for you.

keystone service-create --type clustering --name senlin
  • Create keystone endpoint for senlin

There is a setup-service script under tools folder to do this for you, you should use the script to automate step 4 and this step for you.

keystone endpoint-create --region RegionOne --service <service_id> --publicurl 'http://<your_ip>:8778/v1/$(tenant_id)s' --adminurl 'http://<your_ip>:8778/v1/$(tenant_id)s' --internalurl 'http://<your_ip>:8778/v1/$(tenant_id)s'
  • Update configuration file /etc/senlin/senlin.conf according to your system

Note that the item policy_dir should be pointed to a folder which include file policy.json

  • Start senlin engine and api service
senlin-engine --config-file /etc/senlin/senlin.conf --log-file /tmp/senlin-api.log --debug
senlin-api --config-file /etc/senlin/senlin.conf --log-file /tmp/senlin-api.log --debug
  • Get senlin client code
git clone https://github.com/tengqm/python-senlinclient.git
  • Install senlin client
python setup.py install
  • You are ready to play with senlin right now