Horizon UI support for Octavia
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Zuul 360e41d7c8 Merge "Changes for url transition to OpenDev" 2 weeks ago
devstack Changes for url transition to OpenDev 3 weeks ago
doc Update octavia-dashboard tox for stestr 11 months ago
octavia_dashboard Imported Translations from Zanata 2 weeks ago
releasenotes Update master for stable/stein 2 months ago
zuul.d witch python3 versions of test jobs to match Train PTI 1 month ago
.coveragerc Remove old unused code. 1 year ago
.eslintrc Update npm dependencies 3 years ago
.gitignore Implements a filtered select 5 months ago
.gitreview OpenDev Migration Patch 1 month ago
.mailmap Initial cookiecutter commit 3 years ago
.stestr.conf Update octavia-dashboard tox for stestr 11 months ago
CONTRIBUTING.rst Update the installation and contributors documents 1 year ago
HACKING.rst Replace http with https for doc links in octavia-dashboard 1 year ago
LICENSE Initial cookiecutter commit 3 years ago
README.rst Changes for url transition to OpenDev 3 weeks ago
babel-django.cfg Translation preparation for neutron-lbaas-dashboard 2 years ago
babel-djangojs.cfg Translation preparation for neutron-lbaas-dashboard 2 years ago
lower-constraints.txt Add load balancer flavor support 2 months ago
manage.py Make sure django env var is set 3 years ago
package-lock.json Add package-lock.json 1 year ago
package.json Changes for url transition to OpenDev 3 weeks ago
requirements.txt Add load balancer flavor support 2 months ago
setup.cfg witch python3 versions of test jobs to match Train PTI 1 month ago
setup.py Updated from global requirements 1 year ago
test-requirements.txt Update hacking version 4 months ago
tox.ini Changes for url transition to OpenDev 3 weeks ago

README.rst

Team and repository tags

image

octavia-dashboard

Horizon panels for Octavia

Features

  • Please see octavia repository

Howto

  1. Package the octavia_dashboard by running:

    python setup.py sdist

    This will create a python egg in the dist folder, which can be used to install on the horizon machine or within horizon's python virtual environment.

  2. Copy _1482_project_load_balancer_panel.py in octavia_dashboard/enabled directory to openstack_dashboard/local/enabled:

    $ cp -a \
      ${OCTAVIA_DASHBOARD_DIR}/octavia_dashboard/enabled/_1482_*.py \
      ${HORIZON_DIR}/openstack_dashboard/local/enabled/
  3. (Optional) Generate the policy file and copy into horizon's policy files folder, and copy _1499_load_balancer_settings.py in octavia_dashboard/local_settings.d directory to openstack_dashboard/local/local_settings.d:

    $ oslopolicy-policy-generator \
      --config-file \
      ${OCTAVIA_DIR}/etc/policy/octavia-policy-generator.conf \
      --output-file \
      ${OCTAVIA_DASHBOARD_DIR}/octavia_dashboard/conf/octavia_policy.yaml
    $ cp -a \
      ${OCTAVIA_DASHBOARD_DIR}/octavia_dashboard/conf/octavia_policy.yaml \
      ${HORIZON_DIR}/openstack_dashboard/conf/
    $ cp -a \
      ${OCTAVIA_DASHBOARD_DIR}/octavia_dashboard/local_settings.d/_1499_*.py \
      ${HORIZON_DIR}/openstack_dashboard/local/local_settings.d/
  4. Django has a compressor feature that performs many enhancements for the delivery of static files. If the compressor feature is enabled in your environment (COMPRESS_OFFLINE = True), run the following commands:

    $ ./manage.py collectstatic
    $ ./manage.py compress
  5. Finally restart your web server to enable octavia-dashboard in your Horizon:

    $ sudo service apache2 restart

Enabling octavia-dashboard and neutron-lbaas-dashboard

In general we advise against having both dashboards running at the same time to avoid confusing users, which is exaggerated since the dashboards will have the same label.

In rare circumstances, e.g. as part of a migration strategy, it might be necessary to do so. The main issue to watch out for is to avoid neutron-lbaas and Octavia getting out of sync and neutron-lbaas-dashboard showing phantom load balancers - this can be avoided if the sync between Octavia and neutron-lbaas is fully enabled.

Here is a table to show some cases:

Configuration neutron-lbaas Configuration Octavia neutron-lbaas-dashboard enabled octavia-dashboard enabled Notes
not installed v2 API enabled not supported preferred
octavia-driver v2 API disabled v1 API enabled supported not supported sync required
octavia-driver v2 API enabled v1 API enabled supported preferred sync required
octavia-proxy plugin v1 API disabled v2 API enabled Supported (but not recommended) preferred
no octavia driver but other drivers not installed preferred not supported
no octavia driver but other drivers v2 API enabled v1 API disabled preferred preferred independent services