Trove Horizon plugin.
Go to file
Akihiro Motoki aaade9111c translation: drop babel extractor definitions
babel extractors are now registered via python entry points,
so there is no need to declare babel extractors in babel configs.

This change is important to make translation work in Django 2.2.
django-babel does not work with Django 2.2 and looks unmaintained
for over two years. The horizon team is thinking to switch the extractor
to enmerkar (a fork of django-babel) to make extraction of translation
string work again near future. It is important to drop the extractor
definition to make the transition smooth.

Change-Id: I50adcba093605590f956e8a31bae257816b2f6ff
2019-12-27 02:31:06 +09:00
devstack Ensure to compile translation catalogs 2016-02-24 00:37:48 +09:00
releasenotes Merge "Update master for stable/train" 2019-10-12 06:19:31 +00:00
tools Avoid tox-install.sh 2018-03-14 21:14:23 +01:00
trove_dashboard Fix failed Unit tests 2019-09-18 05:45:20 +00:00
.gitignore Add "*.swp" to ".gitignore" file 2018-01-02 22:33:25 +08:00
.gitreview OpenDev Migration Patch 2019-04-19 19:44:38 +00:00
.zuul.yaml Switch to Ussuri jobs 2019-10-22 15:32:49 +08:00
babel-django.cfg translation: drop babel extractor definitions 2019-12-27 02:31:06 +09:00
babel-djangojs.cfg translation: drop babel extractor definitions 2019-12-27 02:31:06 +09:00
CONTRIBUTING.rst Update the documentation link for doc migration 2017-12-19 05:48:34 +00:00
HACKING.rst Replace git.openstack.org URLs with opendev.org URLs 2019-04-24 15:30:49 +08:00
LICENSE Completing the plugin 2015-12-18 15:53:31 -07:00
manage.py Completing the plugin 2015-12-18 15:53:31 -07:00
MANIFEST.in Completing the plugin 2015-12-18 15:53:31 -07:00
README.rst Replace git.openstack.org URLs with opendev.org URLs 2019-04-24 15:30:49 +08:00
requirements.txt Drop nose dependencies 2018-08-17 02:53:16 +09:00
run_tests.sh Completing the plugin 2015-12-18 15:53:31 -07:00
setup.cfg Add python37 job 2019-06-26 14:27:13 +08:00
setup.py Completing the plugin 2015-12-18 15:53:31 -07:00
test-requirements.txt Update hacking version 2019-01-20 20:34:03 +08:00
tox.ini Use Horizon project template for django jobs 2019-10-09 16:34:32 +00:00

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

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