Horizon UI support for Octavia
Go to file
huang.zhiping 9a4c752312 fix tox python3 overrides
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: I65ec3ce0c72467486255868bcff79c70b9bf20f8
2018-06-09 18:50:40 +08:00
devstack Add rbac support for octavia service apis 2018-03-29 11:29:36 +00:00
doc Fix sphinx-docs job for sphinx >1.7 2018-05-15 15:03:24 -07:00
octavia_dashboard Imported Translations from Zanata 2018-06-01 06:46:30 +00:00
releasenotes Imported Translations from Zanata 2018-06-01 06:46:30 +00:00
tools/gate/integration Remove tox_install 2018-03-14 20:18:16 +01:00
zuul.d add lower-constraints job 2018-03-28 17:15:14 -07:00
.coveragerc Remove old unused code. 2017-08-23 16:15:21 -07:00
.eslintrc Update npm dependencies 2016-01-26 22:49:38 +00:00
.gitignore Add rbac support for octavia service apis 2018-03-29 11:29:36 +00:00
.gitreview Replace SortedDict with OrderedDict and fixing Python 3.5 test 2017-06-08 10:21:44 -07:00
.mailmap Initial cookiecutter commit 2015-08-07 15:41:49 -06:00
.testr.conf Initial cookiecutter commit 2015-08-07 15:41:49 -06:00
CONTRIBUTING.rst Update the installation and contributors documents 2018-01-17 03:55:19 +00:00
HACKING.rst Replace http with https for doc links in octavia-dashboard 2017-08-31 19:21:44 -07:00
LICENSE Initial cookiecutter commit 2015-08-07 15:41:49 -06:00
README.rst Merge "Add rbac support for octavia service apis" 2018-04-06 18:30:41 +00:00
babel-django.cfg Translation preparation for neutron-lbaas-dashboard 2016-09-20 03:19:59 +09:00
babel-djangojs.cfg Translation preparation for neutron-lbaas-dashboard 2016-09-20 03:19:59 +09:00
lower-constraints.txt add lower-constraints job 2018-03-28 17:15:14 -07:00
manage.py Make sure django env var is set 2015-10-01 14:24:12 +00:00
package-lock.json Add package-lock.json 2018-03-22 20:31:19 +08:00
package.json Being able to change insert headers of listener 2018-04-03 01:56:41 +00:00
requirements.txt Updated from global requirements 2018-03-16 07:34:43 +00:00
setup.cfg Add rbac support for octavia service apis 2018-03-29 11:29:36 +00:00
setup.py Updated from global requirements 2017-06-09 03:52:13 +00:00
test-requirements.txt Update the release notes for Queens 2018-01-29 23:28:29 -08:00
tox.ini fix tox python3 overrides 2018-06-09 18:50:40 +08:00

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