# Installation with pip

At the command line:

    $ pip install openstack-cyborg

Or, if you have virtualenvwrapper installed:

    $ mkvirtualenv cyborg
    $ pip install openstack-cyborg

## Common Configuration

Regardless of the package or code source you must do the following to properly setup the Accelerator Life Cycle Management service. A database, service credentials, and API endpoints must be created.

1. 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 `cyborg` database:

         CREATE DATABASE cyborg;

   - Grant proper access to the `cyborg` database:

         GRANT ALL PRIVILEGES ON cyborg.* TO 'cyborg'@'localhost' IDENTIFIED BY 'CYBORG_DBPASS';

     Replace `CYBORG_DBPASS` with a suitable password.

   - Exit the database access client.

         exit;

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

       $ . admin-openrc

3. To create the service credentials, complete these steps:

   - Create the `cyborg` user:

         $ openstack user create --domain default --password-prompt cyborg

   - Add the `admin` role to the `cyborg` user:

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

   - Create the cyborg service entities:

         $ openstack service create --name cyborg --description "Acceleration Service" accelerator

4. Create the Acceleration service API endpoints:

   - If cyborg-api service is deployed using uwsgi, create the following endpoints:

       $ openstack endpoint create --region RegionOne \
         accelerator public http://<cyborg-ip>/accelerator/v2
       $ openstack endpoint create --region RegionOne \
         accelerator internal http://<cyborg-ip>/accelerator/v2
       $ openstack endpoint create --region RegionOne \
         accelerator admin http://<cyborg-ip>/accelerator/v2

   - Otherwise, if cyborg-api service is running as a python process, create the following endpoints:

       $ openstack endpoint create --region RegionOne \
         accelerator public http://<cyborg-ip>:6666/v2
       $ openstack endpoint create --region RegionOne \
         accelerator internal http://<cyborg-ip>:6666/v2
       $ openstack endpoint create --region RegionOne \
         accelerator admin http://<cyborg-ip>:6666/v2

   Note

   URLs (publicurl, internalurl and adminurl) may be different depending on your environment.

## Configure Cyborg

1. Edit `cyborg.conf` with your favorite editor. Below is an example which contains basic settings you likely need to configure.

       [DEFAULT]
       transport_url = rabbit://%RABBITMQ_USER%:%RABBITMQ_PASSWORD%@%OPENSTACK_HOST_IP%:5672/
       use_syslog = False
       state_path = /var/lib/cyborg
       debug = True

       ...

       [api]
       host_ip = 0.0.0.0

       ...

       [database]
       connection = mysql+pymysql://%DATABASE_USER%:%DATABASE_PASSWORD%@%OPENSTACK_HOST_IP%/cyborg

       ...

       [service_catalog]
       cafile = /opt/stack/data/ca-bundle.pem
       project_domain_id = default
       user_domain_id = default
       project_name = service
       password = cyborg
       username = cyborg
       auth_url = http://%OPENSTACK_HOST_IP%/identity
       auth_type = password

       ...

       [placement]
       project_domain_name = Default
       project_name = service
       user_domain_name = Default
       password = password
       username = placement
       auth_url = http://%OPENSTACK_HOST_IP%/identity
       auth_type = password
       auth_section = keystone_authtoken

       ...

       [nova]
       project_domain_name = Default
       project_name = service
       user_domain_name = Default
       password = password
       username = nova
       auth_url = http://%OPENSTACK_HOST_IP%/identity
       auth_type = password
       auth_section = keystone_authtoken

       ...

       [keystone_authtoken]
       memcached_servers = localhost:11211
       signing_dir = /var/cache/cyborg/api
       cafile = /opt/stack/data/ca-bundle.pem
       project_domain_name = Default
       project_name = service
       user_domain_name = Default
       password = cyborg
       username = cyborg
       auth_url = http://%OPENSTACK_HOST_IP%/identity
       auth_type = password

2. Create database tables for Cyborg.

       cyborg-dbsync --config-file /etc/cyborg/cyborg.conf upgrade

3. Install Cyborg API via WSGI api-uwsgi

Note

Cyborg-api service can also be run as a Python command that runs a web serve, which can be launched as follows with different Acceleration service API endpoints as mentioned in Prerequisites part. However, we would like to recommend you the uwsgi way since when a project provides a WSGI application the API service gains flexibility in terms of deployment, performance, configuration and scaling. BYW, if you choose devstack to deploy your acceleration service, uwsgi is a default choice.

cyborg-api –config-file=/etc/cyborg/cyborg.conf

1. Launch Cyborg Conductor, Cyborg Agent services. Open a separate terminal for each service since the console will be locked by a running process.

       cyborg-conductor --config-file=/etc/cyborg/cyborg.conf
       cyborg-agent --config-file=/etc/cyborg/cyborg.conf

this page last updated: 2026-04-13 10:25:58

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