trove-dashboard/README.rst
Hirotaka Wakabayashi 7db14da0e8 Adds a full example of devstack local.conf
The current instructions of "How to use with devstack" should be more
accurate and consistent with instructions of "Install Trove in DevStack"
page[1].

Adding a trove-dashboard plugin line to local.conf which is shown in "
Install Trove in DevStack" page[1] is not enough. Because you will see
the following error after executing "./stack.sh"::

    ++ /opt/stack/trove-dashboard/devstack/plugin.sh:source:34 :   configure_trove_dashboard
    ++ /opt/stack/trove-dashboard/devstack/plugin.sh:configure_trove_dashboard:10 :   cp -a /opt/stack/trove-dashboard/trove_dashboard/enabled/_1710_database_panel_group.py /opt/stack/trove-dashboard/trove_dashboard/enabled/_1720_project_databases_panel.py /opt/stack/trove-dashboard/trove_dashboard/enabled/_1730_project_database_backups_panel.py /opt/stack/trove-dashboard/trove_dashboard/enabled/_1731_project_database_backups_panel.py /opt/stack/trove-dashboard/trove_dashboard/enabled/_1740_project_database_clusters_panel.py /opt/stack/trove-dashboard/trove_dashboard/enabled/_1760_project_database_configurations_panel.py /opt/stack/trove-dashboard/trove_dashboard/enabled/__init__.py /opt/stack/horizon/openstack_dashboard/local/enabled/
    cp: target '/opt/stack/horizon/openstack_dashboard/local/enabled/' is not a directory
    + /opt/stack/trove-dashboard/devstack/plugin.sh:configure_trove_dashboard:1 :   exit_trap

I propose to add a full example of local.conf that includes trove
plugin and horizon service. Devstack is a tool to make an all-in-one
OpenStack environment for development. It is natural that trove and
trove-dashboard will be installed together. By doing so, developers
can easily make an all-in-one trove-dashboard environment.

1: https://docs.openstack.org/trove/latest/install/install-devstack.html

Story: 2007462
Task: 39142
Signed-off-by: Hirotaka Wakabayashi <hiwkby@yahoo.com>
Change-Id: Id05348b4ba7cf55f21297933ac60f5b7fcc2edbd
2020-03-26 10:16:59 +00:00

168 lines
4.1 KiB
ReStructuredText

OpenStack Dashboard plugin for Trove project
============================================
.. image:: https://governance.openstack.org/tc/badges/trove-dashboard.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html
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.
Links:
------
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