CoreCluster Extensions installation

 

The basic version of CoreCluster, without any extensions allows you to manage virtual machines, create and upload disk images and manage networks. This might be enough for some basic purposes. However for more sophisticated installations, it might be useful to install and enable some extensions.

Please, check our list of CoreCluster exntensions for detailed list.

Before starting this guide, please follow the CoreCluster installation guide . You should have at least CoreCluster Management node installed properly to install any extension.

Installation

Most of CoreCluster extensions are available through Apt or Pip repositories. Preferred way is to install it with apt-get command. If it's not available, then try with pip.

When package is installed and available with Python, find in file /etc/corecluster/config.py line with variable APPS. This is list of extension enabled in your cloud. Each entry in this list points to the app file in extension module. For example:

APPS = [
    'corecluster.app',
    'corenetwork.app',
]

defines two default (and necessary!) extensions: main corecluster application and corenetwork. Since 16.12 this list contains also required storage drivers and some algorithms.

Each .app file contains description of:

To enable your new extension, just add another line to this list. If extension provides new database model, the migration might be required

Migrating database

Most of extensions provide new database models, however some could use internal _data fields to store own data. Check if database requires migration with:

sudo cc-admin makemigrations

If new migrations were created, migrate the database:

sudo cc-admin migrate

Adding agents

Since 16.12 agents are defined in app.py file and there is no need to maually add them into the config file.

Restarting system

To start new extension, restart corecluster and uwsgi services:

sudo service uwsgi restart
sudo service corecluster restart

First command will restart UWSGI - the service responsible for handling your API and Cluster Interface. Second command restarts all agent threads at your host. In this case order of restarting services might be important. Restarting API to new version will cause adding tasks in new versions into queues. Old tasks will have tome to finish. Then, restarting agents will allow to proces all new tasks.

The same order should be used after upgrading your system

Add permission to role

Last thing to do is to add new API calls to proper roles. By default all users are assigned to the default_role. In administrator's panel edit all necessary roles and add new API calls supported by your new extension.

< Go back     Author: Maciej Nabozny Published: Sept. 28, 2016, 3:07 p.m.