Skyline: use an external object store (Swift) in the dashboard

Change-Id: I0247877c245f12994ffab983a624844e1238de9b
This commit is contained in:
Uwe Jäger 2024-04-24 16:22:58 +02:00
parent 5e3bfa5462
commit 6051edba4d
5 changed files with 41 additions and 1 deletions

View File

@ -196,3 +196,9 @@ skyline_enable_tls_backend: "{{ kolla_enable_tls_backend }}"
# Custom logos: files and folders will be copied to static folder
####################
skyline_custom_logos: []
####################
# External Swift: url of external Swift service, e.g. when running standalone Ceph
####################
skyline_external_swift: "no"
skyline_external_swift_url: ""

View File

@ -308,6 +308,16 @@ http {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host $http_host;
}
{% elif skyline_external_swift | bool %}# Region: {{ openstack_region_name }}, Service: external swift
location {{ skyline_nginx_prefix }}/{{ openstack_region_name | lower }}/swift {
proxy_pass {{ skyline_external_swift_url }};
proxy_redirect {{ skyline_external_swift_url }} {{ skyline_nginx_prefix }}/{{ openstack_region_name | lower }}/swift/;
proxy_buffering off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host $http_host;
}
{% endif %}
}
}

View File

@ -74,7 +74,7 @@ openstack:
{% if enable_neutron | bool %}
network: neutron
{% endif %}
{% if enable_swift | bool or enable_ceph_rgw | bool %}
{% if enable_swift | bool or enable_ceph_rgw | bool or skyline_external_swift | bool %}
object-store: swift
{% endif %}
{% if enable_heat | bool %}

View File

@ -81,3 +81,18 @@ To replace all use
Since the files are overwritten inside the container, you have to remove the
container and recreate it if you want to revert to the default logos. Just
removing the configuration will not remove the files.
External Swift
~~~~~~~~~~~~~~
If you are running an external Swift compatible object store you can add
it to the skyline dashboard. Since Skyline can not use Keystone's
endpoint api, you have to tell it the url of your external service.
You have to set ``skyline_external_swift`` and
``skyline_external_swift_url`` in your configuration:
.. code-block:: yaml
skyline_external_swift: "yes"
skyline_external_swift_url: "https://<your-host>/swift"

View File

@ -0,0 +1,9 @@
---
features:
- |
Setup Skyline to show resources from an external object store in the
dashboard. If you run an external Swift compatible object store you
have to tell Skyline about it as it can not use Keystone's endpoint
api to determine that at runtime. See the reference
`documentation <https://docs.openstack.org/kolla-ansible/latest/reference/shared-services/skyline-guide.html#external-swift>`__
for details.