Clustering service for managing homogeneous objects in OpenStack
Go to file
yanyanhu 4a03d5e8a5 Store user_id in user property of Cluster
Now user_id rather then username will be used to fill in the user
property of Cluster object. Also remove the unexisted property
*user* from RequestContext.

Change-Id: I9dd754144272168565b3aefd7e61118d1288dc7f
2015-03-25 02:52:39 -04: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 Fixing initial PEP8 and python check errors 2015-03-18 15:27:08 +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 Store user_id in user property of Cluster 2015-03-25 02:52:39 -04: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 Initial copy of project files from Heat 2014-12-10 15:47:34 +08:00
HACKING.rst Initial copy of project files from Heat 2014-12-10 15:47:34 +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 Revised TODO items 2015-03-23 19:23:56 +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 Removed log from dependency to oslo_incubator 2015-02-17 10:07:30 +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