Install and configure for Ubuntu¶
This section describes how to install and configure Masakari for Ubuntu 18.04 (bionic).
Prerequisites¶
Before you install and configure the masakari service, you must create databases, service credentials, and API endpoints.
To create the masakari database, follow these steps:
Use the database access client to connect to the database server as the
rootuser:# mysqlCreate the
masakaridatabase:mysql> CREATE DATABASE masakari CHARACTER SET utf8;Grant access privileges to the databases:
mysql> GRANT ALL PRIVILEGES ON masakari.* TO 'username'@'localhost' \ IDENTIFIED BY 'MASAKARI_DBPASS'; mysql> GRANT ALL PRIVILEGES ON masakari.* TO 'username'@'%' \ IDENTIFIED BY 'MASAKARI_DBPASS';
Replace
MASAKARI_DBPASSwith a suitable password.Exit the database access client.
Source the
admincredentials to gain access to admin-only CLI commands:$ . admin-openrcCreate the Masakari service credentials:
Create the
masakariuser with password asmasakari:$ openstack user create --password-prompt masakari User Password: Repeat User Password: +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | 8a7dbf5279404537b1c7b86c033620fe | | name | masakari | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+
Add the
adminrole to themasakariuser:$ openstack role add --project service --user masakari adminCreate the
masakariservice entity:$ openstack service create --name masakari \ --description "masakari high availability" instance-ha +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | masakari high availability | | enabled | True | | id | 060d59eac51b4594815603d75a00aba2 | | name | masakari | | type | instance-ha | +-------------+----------------------------------+
Create the Masakari API service endpoints:
$ openstack endpoint create --region RegionOne \ masakari public http:// <CONTROLLER_IP>/instance-ha/v1/$\(tenant_id\)s +--------------+-------------------------------------------------------+ | Field | Value | +--------------+-------------------------------------------------------+ | enabled | True | | id | 38f7af91666a47cfb97b4dc790b94424 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 060d59eac51b4594815603d75a00aba2 | | service_name | masakari | | service_type | instance-ha | | url | http://<CONTROLLER_IP>/instance-ha/v1/$(tenant_id)s | +--------------+-------------------------------------------------------+ $ openstack endpoint create --region RegionOne \ masakari internal http:// <CONTROLLER_IP>/instance-ha/v1/$\(tenant_id\)s +--------------+-------------------------------------------------------+ | Field | Value | +--------------+-------------------------------------------------------+ | enabled | True | | id | 38f7af91666a47cfb97b4dc790b94424 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 060d59eac51b4594815603d75a00aba2 | | service_name | masakari | | service_type | instance-ha | | url | http://<CONTROLLER_IP>/instance-ha/v1/$(tenant_id)s | +--------------+-------------------------------------------------------+ $ openstack endpoint create --region RegionOne \ masakari admin http://<CONTROLLER_IP>/instance-ha/v1/$\(tenant_id\)s +--------------+-------------------------------------------------------+ | Field | Value | +--------------+-------------------------------------------------------+ | enabled | True | | id | 38f7af91666a47cfb97b4dc790b94424 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 060d59eac51b4594815603d75a00aba2 | | service_name | masakari | | service_type | instance-ha | | url | http://<CONTROLLER_IP>/instance-ha/v1/$(tenant_id)s | +--------------+-------------------------------------------------------+
Install and configure Masakari¶
Note
You must install Masakari on the Controller Nodes only.
Clone masakari using:
# git clone https://opendev.org/openstack/masakari.gitPrepare the masakari configuration files:
Generate via tox:
Go to
/opt/stack/masakariand execute the command below. This will generatemasakari.conf.sample, a sample configuration file, at/opt/stack/masakari/etc/masakari/:# tox -egenconfigDownload from:
Rename
masakari.conf.samplefile tomasakari.conf, and edit sections as shown below:[DEFAULT] transport_url = rabbit://stackrabbit:admin@<CONTROLLER_IP>:5672/ graceful_shutdown_timeout = 5 os_privileged_user_tenant = service os_privileged_user_password = admin os_privileged_user_auth_url = http://<CONTROLLER_IP>/identity os_privileged_user_name = nova logging_exception_prefix = %(color)s%(asctime)s.%(msecs)03d TRACE %(name)s [01;35m%(instance)s[00m logging_debug_format_suffix = [00;33mfrom (pid=%(process)d) %(funcName)s %(pathname)s:%(lineno)d[00m logging_default_format_string = %(asctime)s.%(msecs)03d %(color)s%(levelname)s %(name)s [[00;36m-%(color)s] [01;35m%(instance)s%(color)s%(message)s[00m logging_context_format_string = %(asctime)s.%(msecs)03d %(color)s%(levelname)s %(name)s [[01;36m%(request_id)s [00;36m%(project_name)s %(user_name)s%(color)s] [01;35m%(instance)s%(color)s%(message)s[00m use_syslog = False debug = True masakari_api_workers = 2 [database] connection = mysql+pymysql://root:admin@1<CONTROLLER_IP>/masakari?charset=utf8 [keystone_authtoken] memcached_servers = localhost:11211 cafile = /opt/stack/data/ca-bundle.pem project_domain_name = Default project_name = service user_domain_name = Default password = <MASAKARI_PASS> username = masakari auth_url = http://<CONTROLLER_IP>/identity auth_type = password [taskflow] connection = mysql+pymysql://root:admin@<CONTROLLER_IP>/masakari?charset=utf8
Note
Replace
CONTROLLER_IPwith the IP address of controller node.Replace
MASAKARI_PASSwith the password you chose for themasakariuser in the Identity service.Create
masakaridirectory in /etc/:Copy
masakari.conffile to/etc/masakari/# cp -p etc/masakari/masakari.conf.sample /etc/masakari/masakari.conf
To install masakari run setup.py from masakari:
# cd masakari # sudo python setup.py install
Run below db command to sync database:
# masakari-manage db sync
Finalize installation¶
Start masakari services:
# masakari-api # masakari-engine