![]() This patch revised the interface for notifying an action's readiness for execution (we execute them right away at the moment). The revision set the default engine_id to be None, which is the most common cases, thus we don't have to pass None into notify(). It also eliminates the passing of NEW_ACTION (renamed to START_ACTION) by providing a more user friendly interface function. This patch also fixed the incorrect usage of engline_life_timeout, where we should use rpc_response_timeout if needed. Currently, we leave it to the oslo.messaing library to use the configuration option instead of injecting new values from an inappropriate place. Change-Id: Ic4d872d8c2995614aba966ccd179181ab11bc640 |
||
---|---|---|
bin | ||
devstack | ||
doc | ||
etc/senlin | ||
examples | ||
senlin | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
FEATURES.rst | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
TODO.rst | ||
babel.cfg | ||
install.sh | ||
openstack-common.conf | ||
pylintrc | ||
requirements.txt | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini | ||
uninstall.sh |
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
- Get Senlin source code from OpenStack git repository
$ cd /opt/stack
$ git clone http://git.openstack.org/stackforge/senlin.git
- Install Senlin with required packages
$ cd /opt/stack/senlin
$ sudo pip install -e .
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>
- 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>
- 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
- 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
- Get Senlin client code from OpenStack git repository.
$ cd /opt/stack
$ git clone http://git.openstack.org/stackforge/python-senlinclient.git
- Install senlin client.
$ cd python-senlinclient
$ sudo python setup.py install
You are ready to begin your journey (aka. adventure) with Senlin, now.