diff options
| author | yangshaoxue <yang.shaoxue@99cloud.net> | 2021-09-24 10:03:16 +0800 |
|---|---|---|
| committer | Michal Arbet <michal.arbet@ultimum.io> | 2023-01-30 23:40:42 +0000 |
| commit | 9d4736820f9c3dc589915acd6b0aaedfeaa68912 (patch) | |
| tree | 809e81535bf96fc8bd117c5c3d02fa011f7ac834 | |
| parent | 8f0d9226a80cea7b333dbc52f1d0c58f56f7e272 (diff) | |
| download | kolla-9d4736820f9c3dc589915acd6b0aaedfeaa68912.tar.gz kolla-9d4736820f9c3dc589915acd6b0aaedfeaa68912.zip | |
skyline: Add new dashboard
Skyline is a new dashboard for openstack. It contains
skyline-apiserver and skyline-console.
We will build both skyline-apiserver and skyline-console
images for skyline.
Implements: blueprint skyline
Change-Id: I68a562f15bf4fdda82b86c446e14fc8b5594413a
| -rw-r--r-- | README.rst | 1 | ||||
| -rw-r--r-- | doc/source/matrix_aarch64.csv | 1 | ||||
| -rw-r--r-- | doc/source/matrix_x86.csv | 1 | ||||
| -rw-r--r-- | docker/skyline/skyline-apiserver/Dockerfile.j2 | 25 | ||||
| -rw-r--r-- | docker/skyline/skyline-apiserver/extend_start.sh | 11 | ||||
| -rw-r--r-- | docker/skyline/skyline-base/Dockerfile.j2 | 17 | ||||
| -rw-r--r-- | docker/skyline/skyline-base/extend_start.sh | 23 | ||||
| -rw-r--r-- | docker/skyline/skyline-console/Dockerfile.j2 | 28 | ||||
| -rw-r--r-- | kolla/common/sources.py | 8 | ||||
| -rw-r--r-- | kolla/common/users.py | 4 | ||||
| -rw-r--r-- | releasenotes/notes/add-skyline-200d1bca7907b00c.yaml | 4 | ||||
| -rw-r--r-- | roles/kolla-build-config/defaults/main.yml | 1 |
12 files changed, 124 insertions, 0 deletions
diff --git a/README.rst b/README.rst index 46c46159d..9f7d4c9af 100644 --- a/README.rst +++ b/README.rst @@ -95,6 +95,7 @@ Kolla provides images to deploy the following OpenStack projects: - `Octavia <https://docs.openstack.org/octavia/latest/>`__ - `Sahara <https://docs.openstack.org/sahara/latest/>`__ - `Senlin <https://docs.openstack.org/senlin/latest/>`__ +- Skyline (`APIServer <https://docs.openstack.org/skyline-apiserver/latest/>`__ and `Console <https://docs.openstack.org/skyline-console/latest/>`__) - `Solum <https://docs.openstack.org/solum/latest/>`__ - `Swift <https://docs.openstack.org/swift/latest/>`__ - `Tacker <https://docs.openstack.org/tacker/latest/>`__ diff --git a/doc/source/matrix_aarch64.csv b/doc/source/matrix_aarch64.csv index fbd5fd136..406fc2854 100644 --- a/doc/source/matrix_aarch64.csv +++ b/doc/source/matrix_aarch64.csv @@ -51,6 +51,7 @@ rabbitmq,C,C,C redis,C,C,C sahara,C,C,C senlin,C,C,C +skyline,C,C,C solum,C,C,C swift,C,C,C tacker,C,C,C diff --git a/doc/source/matrix_x86.csv b/doc/source/matrix_x86.csv index 6b9df633c..8be1e5567 100644 --- a/doc/source/matrix_x86.csv +++ b/doc/source/matrix_x86.csv @@ -52,6 +52,7 @@ rabbitmq,T,T,T redis,T,C,C sahara,C,C,C senlin,C,C,C +skyline,C,C,C solum,C,C,C swift,T,T,C tacker,T,C,C diff --git a/docker/skyline/skyline-apiserver/Dockerfile.j2 b/docker/skyline/skyline-apiserver/Dockerfile.j2 new file mode 100644 index 000000000..eb59d59de --- /dev/null +++ b/docker/skyline/skyline-apiserver/Dockerfile.j2 @@ -0,0 +1,25 @@ +FROM {{ namespace }}/{{ image_prefix }}skyline-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" +{% endblock %} + +{% block skyline_apiserver_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +ADD skyline-apiserver-archive /skyline-apiserver-source + +{% set skyline_apiserver_pip_packages = [ + '/skyline-apiserver' +] %} + +COPY extend_start.sh /usr/local/bin/kolla_skyline_extend_start + +RUN ln -s skyline-apiserver-source/* skyline-apiserver \ + && {{ macros.install_pip(skyline_apiserver_pip_packages | customizable("pip_packages")) }} \ + && chmod 644 /usr/local/bin/kolla_skyline_extend_start + +{% block skyline_apiserver_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER skyline diff --git a/docker/skyline/skyline-apiserver/extend_start.sh b/docker/skyline/skyline-apiserver/extend_start.sh new file mode 100644 index 000000000..e762106c0 --- /dev/null +++ b/docker/skyline/skyline-apiserver/extend_start.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases +# of the KOLLA_BOOTSTRAP variable being set, including empty. +if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then + SITE_PACKAGES="/var/lib/kolla/venv/lib/python${KOLLA_DISTRO_PYTHON_VERSION}/site-packages" + pushd ${SITE_PACKAGES}/skyline_apiserver/db/alembic + alembic upgrade head + popd + exit 0 +fi diff --git a/docker/skyline/skyline-base/Dockerfile.j2 b/docker/skyline/skyline-base/Dockerfile.j2 new file mode 100644 index 000000000..23ae13223 --- /dev/null +++ b/docker/skyline/skyline-base/Dockerfile.j2 @@ -0,0 +1,17 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" +{% endblock %} + +{% block skyline_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='skyline') }} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start + +RUN touch /usr/local/bin/kolla_skyline_extend_start \ + && chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_skyline_extend_start + +{% block skyline_base_footer %}{% endblock %} diff --git a/docker/skyline/skyline-base/extend_start.sh b/docker/skyline/skyline-base/extend_start.sh new file mode 100644 index 000000000..34362ad04 --- /dev/null +++ b/docker/skyline/skyline-base/extend_start.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +if [[ ! -d "/var/log/kolla/skyline" ]]; then + mkdir -p /var/log/kolla/skyline +fi +if [[ $(stat -c %U:%G /var/log/kolla/skyline) != "skyline:kolla" ]]; then + chown skyline:kolla /var/log/kolla/skyline +fi +if [[ $(stat -c %a /var/log/kolla/skyline) != "755" ]]; then + chmod 755 /var/log/kolla/skyline +fi + +if [[ ! -d "/var/lib/skyline" ]]; then + mkdir -p /var/lib/skyline +fi +if [[ $(stat -c %U:%G /var/lib/skyline) != "skyline:kolla" ]]; then + chown skyline:kolla /var/lib/skyline +fi +if [[ $(stat -c %a /var/lib/skyline) != "755" ]]; then + chmod 755 /var/lib/skyline +fi + +. /usr/local/bin/kolla_skyline_extend_start diff --git a/docker/skyline/skyline-console/Dockerfile.j2 b/docker/skyline/skyline-console/Dockerfile.j2 new file mode 100644 index 000000000..0af0f4b24 --- /dev/null +++ b/docker/skyline/skyline-console/Dockerfile.j2 @@ -0,0 +1,28 @@ +FROM {{ namespace }}/{{ image_prefix }}skyline-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" +{% endblock %} + +{% block skyline_console_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% set skyline_console_packages = [ + 'nginx' +] %} + +{{ macros.install_packages(skyline_console_packages | customizable("packages")) }} + +ADD skyline-console-archive /skyline-console-source + +{% set skyline_console_pip_packages = [ + '/skyline-console' +] %} + +RUN ln -s skyline-console-source/* skyline-console \ + && {{ macros.install_pip(skyline_console_pip_packages | customizable("pip_packages")) }} + +{% block skyline_console_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER root diff --git a/kolla/common/sources.py b/kolla/common/sources.py index c8a3648e0..e4397a200 100644 --- a/kolla/common/sources.py +++ b/kolla/common/sources.py @@ -296,6 +296,14 @@ SOURCES = { 'type': 'url', 'location': ('$tarballs_base/openstack/senlin/' 'senlin-${openstack_branch}.tar.gz')}, + 'skyline-apiserver': { + 'type': 'url', + 'location': ('$tarballs_base/openstack/skyline-apiserver/' + 'skyline-apiserver-${openstack_branch}.tar.gz')}, + 'skyline-console': { + 'type': 'url', + 'location': ('$tarballs_base/openstack/skyline-console/' + 'skyline-console-${openstack_branch}.tar.gz')}, 'solum-base': { 'type': 'url', 'location': ('$tarballs_base/openstack/solum/' diff --git a/kolla/common/users.py b/kolla/common/users.py index fea97743d..3f7686ef8 100644 --- a/kolla/common/users.py +++ b/kolla/common/users.py @@ -333,5 +333,9 @@ USERS = { 'opensearch-user': { 'uid': 42490, 'gid': 42490, + }, + 'skyline-user': { + 'uid': 42491, + 'gid': 42491, } } diff --git a/releasenotes/notes/add-skyline-200d1bca7907b00c.yaml b/releasenotes/notes/add-skyline-200d1bca7907b00c.yaml new file mode 100644 index 000000000..91147eb8f --- /dev/null +++ b/releasenotes/notes/add-skyline-200d1bca7907b00c.yaml @@ -0,0 +1,4 @@ +--- +features: + - Add skyline(base, apiserver and console) Dockerfile. + Skyline is an OpenStack dashboard optimized by UI and UX. diff --git a/roles/kolla-build-config/defaults/main.yml b/roles/kolla-build-config/defaults/main.yml index 5f8cdb061..bbfc0bae8 100644 --- a/roles/kolla-build-config/defaults/main.yml +++ b/roles/kolla-build-config/defaults/main.yml @@ -59,6 +59,7 @@ kolla_build_sources: openstack/octavia: octavia-base openstack/sahara: sahara-base openstack/senlin: senlin-base + openstack/skyline: skyline-base openstack/solum: solum-base swift-base: openstack/swift openstack/tacker: |
