Install via RDO¶
This section describes how to install and configure the Senlin service for Red Hat Enterprise Linux 7 and CentOS 7.
This install file support from pike
version.
Prerequisites¶
Before you install and configure Senlin, you must create a database, service credentials, and API endpoints. Senlin also requires additional information in the Identity service.
To create the database, complete these steps:
Use the database access client to connect to the database server as the
root
user:
$ mysql -u root -p
Create the
senlin
database:
CREATE DATABASE senlin DEFAULT CHARACTER SET utf8;
Grant proper access to the
senlin
database:
GRANT ALL ON senlin.* TO 'senlin'@'localhost' \
IDENTIFIED BY 'SENLIN_DBPASS';
GRANT ALL ON senlin.* TO 'senlin'@'%' \
IDENTIFIED BY 'SENLIN_DBPASS';
Replace Senlin_DBPASS
with a suitable password.
Exit the database access client.
Source the
admin
credentials to gain access to admin-only CLI commands:
$ . admin-openrc
To create the service credentials, complete these steps:
Create the
senlin
user:
$openstack user create --project service --password-prompt senlin
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | e0353a670a9e496da891347c589539e9 |
| enabled | True |
| id | ca2e175b851943349be29a328cc5e360 |
| name | senlin |
+-----------+----------------------------------+
Add the
admin
role to thesenlin
user:
$ openstack role add --project service --user senlin admin
.. note::
This command provides no output.
Create the
senlin
service entities:
$ openstack service create --name senlin \
--description "Senlin Clustering Service V1" clustering
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Senlin Clustering Service V1 |
| enabled | True |
| id | 727841c6f5df4773baa4e8a5ae7d72eb |
| name | senlin |
| type | clustering |
+-------------+----------------------------------+
Create the senlin service API endpoints:
$ openstack endpoint create senlin --region RegionOne \
public http://controller:8777
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 90485e3442544509849e3c79bf93c15d |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 9130295921b04601a81f95c417b9f113 |
| service_name | senlin |
| service_type | clustering |
| url | http://controller:8778 |
+--------------+----------------------------------+
$ openstack endpoint create senlin --region RegionOne \
admin http://controller:8777
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | d4a9f5a902574479a73e520dd3f93dfb |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 9130295921b04601a81f95c417b9f113 |
| service_name | senlin |
| service_type | clustering |
| url | http://controller:8778 |
+--------------+----------------------------------+
$ openstack endpoint create senlin --region RegionOne \
internal http://controller:8777
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | d119b192857e4760a196ba2b88d20bc6 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 9130295921b04601a81f95c417b9f113 |
| service_name | senlin |
| service_type | clustering |
| url | http://controller:8778 |
+--------------+----------------------------------+
Install and configure components¶
Default configuration files vary by distribution. You might need
to add these sections and options rather than modifying existing
sections and options. Also, an ellipsis (...
) in the configuration
snippets indicates potential default configuration options that you
should retain.
Install the packages:
# yum install openstack-senlin-engine.noarch \
openstack-senlin-api.noarch openstack-senlin-common.noarch \
python3-senlinclient.noarch
Edit file
/etc/senlin/senlin.conf
according to your system settis. The most common options to be customized include:
[database]
connection = mysql+pymysql://senlin:<MYSQL_SENLIN_PW>@127.0.0.1/senlin?charset=utf8
[keystone_authtoken]
service_token_roles_required = True
auth_type = password
user_domain_name = Default
project_domain_name = Default
project_name = service
username = senlin
password = <SENLIN_PASSWORD>
www_authenticate_uri = http://<HOST>/identity/v3
auth_url = http://<HOST>/identity
[authentication]
auth_url = http://<HOST>:5000/v3
service_username = senlin
service_password = <SENLIN PASSWORD>
service_project_name = service
[oslo_messaging_rabbit]
rabbit_userid = <RABBIT USER ID>
rabbit_hosts = <HOST>
rabbit_password = <RABBIT PASSWORD>
[oslo_messaging_notifications]
driver = messaging
For more comprehensive helps on configuration options, please refer to Configuration Options documentation.
Populate the Senlin database:
# senlin-manage db_sync
.. note::
Ignore any deprecation messages in this output.
Finalize installation¶
Start the Senlin services and configure them to start when the system boots:
# systemctl enable openstack-senlin-api.service \
openstack-senlin-conductor.service \
openstack-senlin-engine.service \
openstack-senlin-health-manager.service
# systemctl start openstack-senlin-api.service \
openstack-senlin-conductor.service \
openstack-senlin-engine.service \
openstack-senlin-health-manager.service