Skip to main content

Trove Management Dashboard

Project description

OpenStack Dashboard plugin for Trove project

https://governance.openstack.org/tc/badges/trove-dashboard.svg

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

# DVR
Q_AGENT=ovn
Q_ML2_PLUGIN_MECHANISM_DRIVERS=ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS=local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE="geneve"

enable_service ovn-northd
enable_service ovn-controller
enable_service q-ovn-metadata-agent

# Use Neutron
enable_service q-svc

# Disable Neutron agents not used with OVN.
disable_service q-agt
disable_service q-l3
disable_service q-dhcp
disable_service q-meta

# Enable services, these services depend on neutron plugin.
enable_plugin neutron https://opendev.org/openstack/neutron
enable_service q-trunk
enable_service q-dns
enable_service q-port-forwarding
enable_service q-qos
enable_service neutron-segments
enable_service q-log

# Enable neutron tempest plugin tests
enable_plugin neutron-tempest-plugin https://opendev.org/openstack/neutron-tempest-plugin

# Compile if your distro kernel does not include ovs+conntrack support.
OVN_BUILD_MODULES=True
# Set True to configure host gateway routers for external connectivity.
ENABLE_CHASSIS_AS_GW=True

# 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

# 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': ['10.2.100.133:11211', '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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trove_dashboard-25.0.0.tar.gz (220.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trove_dashboard-25.0.0-py3-none-any.whl (266.4 kB view details)

Uploaded Python 3

File details

Details for the file trove_dashboard-25.0.0.tar.gz.

File metadata

  • Download URL: trove_dashboard-25.0.0.tar.gz
  • Upload date:
  • Size: 220.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for trove_dashboard-25.0.0.tar.gz
Algorithm Hash digest
SHA256 259e3da427e8b75db7bba6cf7a3fcf95e61bf9ca1bb05be04b8a66fa83d12035
MD5 f845d33b1a1db311863c07628d1007a7
BLAKE2b-256 f386383a1fe8b587f6ed7bada2fdb8de08aff41fbfd7d3dcc81f810f825b4b4d

See more details on using hashes here.

File details

Details for the file trove_dashboard-25.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for trove_dashboard-25.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3e4332c99688d58cade476c59e6d60793ce4a0aacf1d85f0fb1d2b4d8cdb6b9
MD5 619f3c1d6e5d5651eacf13596ad06e9d
BLAKE2b-256 34950485de032319b6ebad6637e57cebf93783e0f15543e540c9c0018fb50ff4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page