![Carlos Goncalves](/assets/img/avatar_default.png)
This patch fixes up the auth url if an invalid or no version prefix is set in OPENSTACK_KEYSTONE_URL. An invalid prefix could be /v2.0 endpoint when running Keystone v3. keystoneclient.auth.token_endpoint is deprecated as of the 2.1.0 release in favor of keystoneauth1.token_endpoint.Token. Reason why it is being used here is because keystoneauth1 is not in our requirements.txt (although it is a dependency pulled by required libraries) making this patch not backportable if we were to add it now. A follow up patch should handle this deprecation. Story: 2005101 Task: 29723 Change-Id: Ib09c954180d4b545d05344dc2c318a48c9b8d4e4
Team and repository tags
octavia-dashboard
Horizon panels for Octavia
- Free software: Apache license
- Documentation: https://docs.openstack.org/octavia-dashboard/latest/
- Source: https://git.openstack.org/cgit/openstack/octavia-dashboard
- Release notes: https://docs.openstack.org/releasenotes/octavia-dashboard/
- Bugs: https://storyboard.openstack.org/#!/project/909
Features
- Please see octavia repository
Howto
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.
Copy
_1482_project_load_balancer_panel.py
inoctavia_dashboard/enabled
directory toopenstack_dashboard/local/enabled
:$ cp -a \ ${OCTAVIA_DASHBOARD_DIR}/octavia_dashboard/enabled/_1482_*.py \ ${HORIZON_DIR}/openstack_dashboard/local/enabled/
(Optional) Generate the policy file and copy into horizon's policy files folder, and copy
_1499_load_balancer_settings.py
inoctavia_dashboard/local_settings.d
directory toopenstack_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/
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
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 |