# 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.

1. To create the masakari database, follow these steps:

   - Use the database access client to connect to the database server as the `root` user:

         # mysql

   - Create the `masakari` database:

         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_DBPASS` with a suitable password.

   - Exit the database access client.

2. Source the `admin` credentials to gain access to admin-only CLI commands:

       $ . admin-openrc

3. Create the Masakari service credentials:

   - Create the `masakari` user with password as `masakari`:

         $ 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 `admin` role to the `masakari` user:

         $ openstack role add --project service --user masakari admin

   - Create the `masakari` service 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                      |
         +-------------+----------------------------------+

4. 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.

1. Clone masakari using:

       # git clone https://opendev.org/openstack/masakari.git

2. Prepare the masakari configuration files:

   1. Generate via tox:

      Go to `/opt/stack/masakari` and execute the command below. This will generate `masakari.conf.sample`, a sample configuration file, at `/opt/stack/masakari/etc/masakari/`:

          # tox -egenconfig

   2. Download from:

      # `masakari.conf.sample`

   3. Rename `masakari.conf.sample` file to `masakari.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@<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_IP` with the IP address of controller node.

      Replace `MASAKARI_PASS` with the password you chose for the `masakari` user in the Identity service.

   4. Create `masakari` directory in /etc/:

      Copy `masakari.conf` file to `/etc/masakari/`

          # cp -p etc/masakari/masakari.conf.sample /etc/masakari/masakari.conf

3. To install masakari run setup.py from masakari:

       # cd masakari
       # sudo python -m pip install -r requirements.txt
       # sudo python setup.py install

4. Run below db command to sync database:

       # masakari-manage db sync

## Finalize installation

- Start masakari services:

      # masakari-api
      # masakari-engine

this page last updated: 2026-08-19 12:48:40

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug