Change-Id: Ie4fc7c3e9bc9630fbbb17704fda42b2f1d9a8842 Closes-Bug: #1572193
14 KiB
Install and configure controller node
This section describes how to install and configure the Shared File Systems service, code-named manila, on the controller node. This service requires at least one additional share node that manages file storage drivers.
Prerequisites
Before you install and configure the Share File System service, you must create a database, service credentials, and API endpoints.
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
manila
database:CREATE DATABASE manila;
Grant proper access to the
manila
database:GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'localhost' \ IDENTIFIED BY 'MANILA_DBPASS'; GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'%' \ IDENTIFIED BY 'MANILA_DBPASS';
Replace
MANILA_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 a
manila
user:$ openstack user create --domain default --password-prompt manila User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | e0353a670a9e496da891347c589539e9 | | enabled | True | | id | 83a3990fc2144100ba0e2e23886d8acc | | name | manila | +-----------+----------------------------------+
Add the
admin
role to themanila
user:$ openstack role add --project service --user manila admin
Note
This command provides no output.
Create the
manila
andmanilav2
service entities:$ openstack service create --name manila \ --description "OpenStack Shared File Systems" share +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Shared File Systems | | enabled | True | | id | 82378b5a16b340aa9cc790cdd46a03ba | | name | manila | | type | share | +-------------+----------------------------------+
$ openstack service create --name manilav2 \ --description "OpenStack Shared File Systems" sharev2 +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Shared File Systems | | enabled | True | | id | 30d92a97a81a4e5d8fd97a32bafd7b88 | | name | manilav2 | | type | sharev2 | +-------------+----------------------------------+
Note
The Share File System services require two service entities.
Create the Shared File Systems service API endpoints:
$ openstack endpoint create --region RegionOne \ share public http://controller:8786/v1/%\(tenant_id\)s +--------------+-----------------------------------------+ | Field | Value | +--------------+-----------------------------------------+ | enabled | True | | id | 0bd2bbf8d28b433aaea56a254c69f69d | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 82378b5a16b340aa9cc790cdd46a03ba | | service_name | manila | | service_type | share | | url | http://controller:8786/v1/%(tenant_id)s | +--------------+-----------------------------------------+ $ openstack endpoint create --region RegionOne \ share internal http://controller:8786/v1/%\(tenant_id\)s +--------------+-----------------------------------------+ | Field | Value | +--------------+-----------------------------------------+ | enabled | True | | id | a2859b5732cc48b5b083dd36dafb6fd9 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 82378b5a16b340aa9cc790cdd46a03ba | | service_name | manila | | service_type | share | | url | http://controller:8786/v1/%(tenant_id)s | +--------------+-----------------------------------------+ $ openstack endpoint create --region RegionOne \ share admin http://controller:8786/v1/%\(tenant_id\)s +--------------+-----------------------------------------+ | Field | Value | +--------------+-----------------------------------------+ | enabled | True | | id | f7f46df93a374cc49c0121bef41da03c | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 82378b5a16b340aa9cc790cdd46a03ba | | service_name | manila | | service_type | share | | url | http://controller:8786/v1/%(tenant_id)s | +--------------+-----------------------------------------+
$ openstack endpoint create --region RegionOne \ sharev2 public http://controller:8786/v2/%\(tenant_id\)s +--------------+-----------------------------------------+ | Field | Value | +--------------+-----------------------------------------+ | enabled | True | | id | d63cc0d358da4ea680178657291eddc1 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 30d92a97a81a4e5d8fd97a32bafd7b88 | | service_name | manilav2 | | service_type | sharev2 | | url | http://controller:8786/v2/%(tenant_id)s | +--------------+-----------------------------------------+ $ openstack endpoint create --region RegionOne \ sharev2 internal http://controller:8786/v2/%\(tenant_id\)s +--------------+-----------------------------------------+ | Field | Value | +--------------+-----------------------------------------+ | enabled | True | | id | afc86e5f50804008add349dba605da54 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 30d92a97a81a4e5d8fd97a32bafd7b88 | | service_name | manilav2 | | service_type | sharev2 | | url | http://controller:8786/v2/%(tenant_id)s | +--------------+-----------------------------------------+ $ openstack endpoint create --region RegionOne \ sharev2 admin http://controller:8786/v2/%\(tenant_id\)s +--------------+-----------------------------------------+ | Field | Value | +--------------+-----------------------------------------+ | enabled | True | | id | e814a0cec40546e98cf0c25a82498483 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 30d92a97a81a4e5d8fd97a32bafd7b88 | | service_name | manilav2 | | service_type | sharev2 | | url | http://controller:8786/v2/%(tenant_id)s | +--------------+-----------------------------------------+
Note
The Share File System services require endpoints for each service entity.
Install and configure components
obs
Install the packages:
# zypper install openstack-manila-api \ openstack-manila-scheduler python-manilaclient
rdo
Install the packages:
# yum install openstack-manila python-manilaclient
ubuntu or debian
Install the packages:
# apt-get install manila-api manila-scheduler \ python-manilaclient
debian
Respond to prompts for
database management <debconf/debconf-dbconfig-common>
,Identity service credentials <debconf/debconf-keystone-authtoken>
,service endpoint registration <debconf/debconf-api-endpoints>
, andmessage broker credentials <debconf/debconf-rabbitmq>
.
Edit the
/etc/manila/manila.conf
file and complete the following actions:obs or rdo or ubuntu
In the
[database]
section, configure database access:ubuntu or obs
[database] ... connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila
rdo
[database] ... connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila
Replace
MANILA_DBPASS
with the password you chose for the Share File System database.In the
[DEFAULT]
and[oslo_messaging_rabbit]
sections, configureRabbitMQ
message queue access:[DEFAULT] ... rpc_backend = rabbit [oslo_messaging_rabbit] ... rabbit_host = controller rabbit_userid = openstack rabbit_password = RABBIT_PASS
Replace
RABBIT_PASS
with the password you chose for theopenstack
account inRabbitMQ
.In the
[DEFAULT]
section, set the following config values:[DEFAULT] ... default_share_type = default_share_type rootwrap_config = /etc/manila/rootwrap.conf
In the
[DEFAULT]
and[keystone_authtoken]
sections, configure Identity service access:[DEFAULT] ... auth_strategy = keystone [keystone_authtoken] ... memcached_servers = controller:11211 auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = manila password = MANILA_PASS
Replace
MANILA_PASS
with the password you chose for themanila
user in the Identity service.
In the
[DEFAULT]
section, configure themy_ip
option to use the management interface IP address of the controller node:[DEFAULT] ... my_ip = 10.0.0.11
obs or rdo or ubuntu
In the
[oslo_concurrency]
section, configure the lock path:[oslo_concurrency] ... lock_path = /var/lib/manila/tmp
rdo or ubuntu
Populate the Share File System database:
# su -s /bin/sh -c "manila-manage db sync" manila
Finalize installation
obs or rdo
Start the Share File System services and configure them to start when the system boots:
# systemctl enable openstack-manila-api.service openstack-manila-scheduler.service # systemctl start openstack-manila-api.service openstack-manila-scheduler.service
ubuntu or debian
Restart the Share File Systems services:
# service manila-scheduler restart # service manila-api restart