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:8777 |
+--------------+----------------------------------+
$ 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:8777 |
+--------------+----------------------------------+
$ 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:8777 |
+--------------+----------------------------------+
Install and configure components¶
Note
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-api.noarch \
openstack-senlin-common.noarch \
openstack-senlin-conductor.noarch \
openstack-senlin-engine.noarch \
openstack-senlin-health-manager.noarch \
python3-senlinclient.noarch
Edit file
/etc/senlin/senlin.conf
according to your system settings. 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