Trove Horizon plugin.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
OpenStack Proposal Bot 522b728358 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I6367e4564d6984e20b4f47d98b8326266946d17b
1 month ago
devstack Calls manager.py by "$PYTHON" instead of "env python" 3 years ago
doc Add doc/requirements 2 years ago
releasenotes Imported Translations from Zanata 1 month ago
tools Avoid tox-install.sh 5 years ago
trove_dashboard Allow 'Update Instance' action when Configuration Group is attached 4 months ago
.gitignore Add "*.swp" to ".gitignore" file 6 years ago
.gitreview OpenDev Migration Patch 4 years ago
.zuul.yaml Switch to 2023.1 Python3 unit tests and generic template name 9 months ago
CONTRIBUTING.rst Update the documentation link for doc migration 6 years ago
HACKING.rst Replace git.openstack.org URLs with opendev.org URLs 4 years ago
LICENSE Completing the plugin 8 years ago
MANIFEST.in Completing the plugin 8 years ago
README.rst Adds a full example of devstack local.conf 3 years ago
babel-django.cfg translation: drop babel extractor definitions 4 years ago
babel-djangojs.cfg translation: drop babel extractor definitions 4 years ago
manage.py Completing the plugin 8 years ago
requirements.txt Use MultiIPField for access form to avoid need for custom validation 2 years ago
run_tests.sh Completing the plugin 8 years ago
setup.cfg Update python testing as per zed cycle testing runtime 11 months ago
setup.py Cleanup py27 support 3 years ago
test-requirements.txt Add doc/requirements 2 years ago
tox.ini Fixing tests with tox 4.2.6 4 months ago

README.rst

OpenStack Dashboard plugin for Trove project

image

How to use with Horizon on server:

Use pip to install the package on the server running Horizon. Then either copy or link the files in trove_dashboard/enabled to openstack_dashboard/local/enabled. This step will cause the Horizon service to pick up the trove plugin when it starts.

How to use with devstack:

Add the following to your devstack local.conf file:

enable_plugin trove-dashboard https://opendev.org/openstack/trove-dashboard

Here is a full example of devstack local.conf file that includes the trove plugin:

[[local|localrc]]
RECLONE=False
HOST_IP=<your-host-ip-here>

enable_plugin trove https://opendev.org/openstack/trove
enable_plugin trove-dashboard https://opendev.org/openstack/trove-dashboard

LIBS_FROM_GIT+=,python-troveclient
DATABASE_PASSWORD=password
ADMIN_PASSWORD=password
SERVICE_PASSWORD=password
SERVICE_TOKEN=password
RABBIT_PASSWORD=password
LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=False
LOGDAYS=1

IPV4_ADDRS_SAFE_TO_USE=10.111.0.0/26
FIXED_RANGE=10.111.0.0/26
NETWORK_GATEWAY=10.111.0.1
FLOATING_RANGE=172.30.5.0/24
PUBLIC_NETWORK_GATEWAY=172.30.5.1

# Pre-requisites
ENABLED_SERVICES=rabbit,mysql,key

# Horizon
enable_service horizon

# Nova
enable_service n-api
enable_service n-cpu
enable_service n-cond
enable_service n-sch
enable_service n-api-meta
enable_service placement-api
enable_service placement-client

# Glance
enable_service g-api
enable_service g-reg

# Cinder
enable_service cinder
enable_service c-api
enable_service c-vol
enable_service c-sch

# Neutron
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta

# enable DVR
Q_PLUGIN=ml2
Q_ML2_TENANT_NETWORK_TYPE=vxlan
Q_DVR_MODE=legacy

# Swift
ENABLED_SERVICES+=,swift
SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
SWIFT_REPLICAS=1

To run unit tests:

./run_tests.sh

Editing Code

Apache

Make a change to trove-dashboard then goto to the horizon directory and compress the code with django and then restart apache.:

# rsync code to /opt/stack/trove-dashboard
# copy or link files from trove-dashboard/enabled/* to horizon/openstack_dashboard/local/enabled/
cd /opt/stack/horizon
python manage.py compress
python manage.py collectstatic --noinput
sudo service apache2 restart

Django

You can also speed up development time using the django test server instead of apache.:

/opt/stack/horizon/run_tests.sh --runserver

If you set COMPRESS_ENABLED and COMPRESS_OFFLINE to False in local_settings.py that allows you to bypass the compress and collectstatic as well.

Settings

The use of a cross-process cache such as Memcached is required.

Install Memcached itself and a Memcached binding such as python-memcached.

For a single horizon instance use the CACHES setting like the example below.:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    },
}

For multiple horizon instances behind a load balancer configure each instance to use the same cache like the example below.:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': [u'10.2.100.133:11211', u'10.2.100.134:11211'']
    },
}

NOTE:

As of the Mitaka release, the dashboard for trove is now maintained outside of the Horizon codebase, in this repository.

Trove project: https://opendev.org/openstack/trove/

Trove at wiki.openstack.org: https://wiki.openstack.org/wiki/Trove

Launchpad project: https://launchpad.net/trove-dashboard