1. Add kolla and kolla-ansible integrated patch 2. Add README to introduce how we can build skyline image with kolla and deploy skyline with kolla-ansible 3. Add kolla folder as irrelevant files into jobs Change-Id: I0cc7e9ddd62fc3e20564bf8a0d98d5c7b8f8abac
361 lines
12 KiB
Diff
Executable File
361 lines
12 KiB
Diff
Executable File
From 0ba97fdcee8b832f6f9586ce1af52de8a66c4182 Mon Sep 17 00:00:00 2001
|
|
From: yangshaoxue <yang.shaoxue@99cloud.net>
|
|
Date: Fri, 24 Sep 2021 10:03:16 +0800
|
|
Subject: [PATCH] Skyline: Add skyline dockerfile
|
|
|
|
Add skyline dockerfile
|
|
|
|
Change-Id: I4e528760fd4520a5cc9b18d8564716671b9f6e74
|
|
---
|
|
|
|
diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2
|
|
index f0b3309..ee7d269 100644
|
|
--- a/docker/openstack-base/Dockerfile.j2
|
|
+++ b/docker/openstack-base/Dockerfile.j2
|
|
@@ -330,6 +330,12 @@
|
|
|
|
ENV PATH /var/lib/kolla/venv/bin:$PATH
|
|
|
|
+{% set setuptools_pip_packages = [
|
|
+ 'setuptools==57.5.0'
|
|
+] %}
|
|
+
|
|
+RUN {{ macros.install_pip(setuptools_pip_packages | customizable("pip_packages"), constraints = false) }}
|
|
+
|
|
RUN {{ macros.install_pip(openstack_base_pip_packages | customizable("pip_packages")) }}
|
|
|
|
{% endif %}
|
|
diff --git a/docker/skyline/skyline-apiserver-base/Dockerfile.j2 b/docker/skyline/skyline-apiserver-base/Dockerfile.j2
|
|
new file mode 100644
|
|
index 0000000..bc7ee3d
|
|
--- /dev/null
|
|
+++ b/docker/skyline/skyline-apiserver-base/Dockerfile.j2
|
|
@@ -0,0 +1,18 @@
|
|
+FROM {{ namespace }}/{{ image_prefix }}skyline-policy-manager-base:{{ tag }}
|
|
+{% block labels %}
|
|
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
|
+{% endblock %}
|
|
+
|
|
+{% block skyline_apiserver_base_header %}{% endblock %}
|
|
+
|
|
+{% import "macros.j2" as macros with context %}
|
|
+
|
|
+{% set skyline_apiserver_base_pip_packages = [
|
|
+ '/skyline-apiserver',
|
|
+] %}
|
|
+
|
|
+ADD skyline-apiserver-base-archive /skyline-apiserver-base-source
|
|
+RUN ln -s skyline-apiserver-base-source/* skyline-apiserver \
|
|
+ && {{ macros.install_pip(skyline_apiserver_base_pip_packages | customizable("pip_packages"), constraints = false) }}
|
|
+
|
|
+{% block skyline_apiserver_base_footer %}{% endblock %}
|
|
diff --git a/docker/skyline/skyline-base/Dockerfile.j2 b/docker/skyline/skyline-base/Dockerfile.j2
|
|
new file mode 100644
|
|
index 0000000..cd2e902
|
|
--- /dev/null
|
|
+++ b/docker/skyline/skyline-base/Dockerfile.j2
|
|
@@ -0,0 +1,32 @@
|
|
+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') }}
|
|
+
|
|
+{% set skyline_base_packages = [
|
|
+ 'nginx',
|
|
+ 'traceroute',
|
|
+ 'vim',
|
|
+ 'wget'
|
|
+] %}
|
|
+
|
|
+{% if base_package_type == 'rpm' %}
|
|
+ {% set skyline_base_packages = skyline_base_packages + [
|
|
+ ] %}
|
|
+{% elif base_package_type == 'deb' %}
|
|
+ {% set skyline_base_packages = skyline_base_packages + [
|
|
+ 'iputils-ping',
|
|
+ 'locales-all',
|
|
+ 'ssl-cert'
|
|
+ ] %}
|
|
+{% endif %}
|
|
+
|
|
+{{ macros.install_packages(skyline_base_packages | customizable("packages")) }}
|
|
+
|
|
+{% block skyline_base_footer %}{% endblock %}
|
|
diff --git a/docker/skyline/skyline-config-base/Dockerfile.j2 b/docker/skyline/skyline-config-base/Dockerfile.j2
|
|
new file mode 100644
|
|
index 0000000..496b5dd
|
|
--- /dev/null
|
|
+++ b/docker/skyline/skyline-config-base/Dockerfile.j2
|
|
@@ -0,0 +1,18 @@
|
|
+FROM {{ namespace }}/{{ image_prefix }}skyline-console-base:{{ tag }}
|
|
+{% block labels %}
|
|
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
|
+{% endblock %}
|
|
+
|
|
+{% block skyline_config_base_header %}{% endblock %}
|
|
+
|
|
+{% import "macros.j2" as macros with context %}
|
|
+
|
|
+{% set skyline_config_base_pip_packages = [
|
|
+ '/skyline-config',
|
|
+] %}
|
|
+
|
|
+ADD skyline-config-base-archive /skyline-config-base-source
|
|
+RUN ln -s skyline-config-base-source/* skyline-config \
|
|
+ && {{ macros.install_pip(skyline_config_base_pip_packages | customizable("pip_packages"), constraints = false) }}
|
|
+
|
|
+{% block skyline_config_base_footer %}{% endblock %}
|
|
diff --git a/docker/skyline/skyline-console-base/Dockerfile.j2 b/docker/skyline/skyline-console-base/Dockerfile.j2
|
|
new file mode 100644
|
|
index 0000000..9b25733
|
|
--- /dev/null
|
|
+++ b/docker/skyline/skyline-console-base/Dockerfile.j2
|
|
@@ -0,0 +1,18 @@
|
|
+FROM {{ namespace }}/{{ image_prefix }}skyline-log-base:{{ tag }}
|
|
+{% block labels %}
|
|
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
|
+{% endblock %}
|
|
+
|
|
+{% block skyline_console_base_header %}{% endblock %}
|
|
+
|
|
+{% import "macros.j2" as macros with context %}
|
|
+
|
|
+{% set skyline_console_base_pip_packages = [
|
|
+ '/skyline-console',
|
|
+] %}
|
|
+
|
|
+ADD skyline-console-base-archive /skyline-console-base-source
|
|
+RUN ln -s skyline-console-base-source/* skyline-console \
|
|
+ && {{ macros.install_pip(skyline_console_base_pip_packages | customizable("pip_packages"), constraints = false) }}
|
|
+
|
|
+{% block skyline_console_base_footer %}{% endblock %}
|
|
diff --git a/docker/skyline/skyline-log-base/Dockerfile.j2 b/docker/skyline/skyline-log-base/Dockerfile.j2
|
|
new file mode 100644
|
|
index 0000000..db0d992
|
|
--- /dev/null
|
|
+++ b/docker/skyline/skyline-log-base/Dockerfile.j2
|
|
@@ -0,0 +1,18 @@
|
|
+FROM {{ namespace }}/{{ image_prefix }}skyline-base:{{ tag }}
|
|
+{% block labels %}
|
|
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
|
+{% endblock %}
|
|
+
|
|
+{% block skyline_log_base_header %}{% endblock %}
|
|
+
|
|
+{% import "macros.j2" as macros with context %}
|
|
+
|
|
+{% set skyline_log_base_pip_packages = [
|
|
+ '/skyline-log',
|
|
+] %}
|
|
+
|
|
+ADD skyline-log-base-archive /skyline-log-base-source
|
|
+RUN ln -s skyline-log-base-source/* skyline-log \
|
|
+ && {{ macros.install_pip(skyline_log_base_pip_packages | customizable("pip_packages"), constraints = false) }}
|
|
+
|
|
+{% block skyline_log_base_footer %}{% endblock %}
|
|
diff --git a/docker/skyline/skyline-nginx-base/Dockerfile.j2 b/docker/skyline/skyline-nginx-base/Dockerfile.j2
|
|
new file mode 100644
|
|
index 0000000..15d6769
|
|
--- /dev/null
|
|
+++ b/docker/skyline/skyline-nginx-base/Dockerfile.j2
|
|
@@ -0,0 +1,19 @@
|
|
+FROM {{ namespace }}/{{ image_prefix }}skyline-apiserver-base:{{ tag }}
|
|
+{% block labels %}
|
|
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
|
+{% endblock %}
|
|
+
|
|
+{% block skyline_nginx_base_header %}{% endblock %}
|
|
+
|
|
+{% import "macros.j2" as macros with context %}
|
|
+
|
|
+{% set skyline_nginx_base_pip_packages = [
|
|
+ '/skyline-nginx',
|
|
+] %}
|
|
+
|
|
+ADD skyline-nginx-base-archive /skyline-nginx-base-source
|
|
+RUN ln -s skyline-nginx-base-source/* skyline-nginx \
|
|
+ && sed -i "s#/var/log#/var/log/kolla#g" /skyline-nginx/skyline_nginx/templates/nginx.conf.j2 \
|
|
+ && {{ macros.install_pip(skyline_nginx_base_pip_packages | customizable("pip_packages"), constraints = false) }}
|
|
+
|
|
+{% block skyline_nginx_base_footer %}{% endblock %}
|
|
diff --git a/docker/skyline/skyline-policy-manager-base/Dockerfile.j2 b/docker/skyline/skyline-policy-manager-base/Dockerfile.j2
|
|
new file mode 100644
|
|
index 0000000..bbc9ffc
|
|
--- /dev/null
|
|
+++ b/docker/skyline/skyline-policy-manager-base/Dockerfile.j2
|
|
@@ -0,0 +1,18 @@
|
|
+FROM {{ namespace }}/{{ image_prefix }}skyline-config-base:{{ tag }}
|
|
+{% block labels %}
|
|
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
|
+{% endblock %}
|
|
+
|
|
+{% block skyline_policy_manager_base_header %}{% endblock %}
|
|
+
|
|
+{% import "macros.j2" as macros with context %}
|
|
+
|
|
+{% set skyline_policy_manager_base_pip_packages = [
|
|
+ '/skyline-policy-manager',
|
|
+] %}
|
|
+
|
|
+ADD skyline-policy-manager-base-archive /skyline-policy-manager-base-source
|
|
+RUN ln -s skyline-policy-manager-base-source/* skyline-policy-manager \
|
|
+ && {{ macros.install_pip(skyline_policy_manager_base_pip_packages | customizable("pip_packages"), constraints = false) }}
|
|
+
|
|
+{% block skyline_policy_manager_base_footer %}{% endblock %}
|
|
diff --git a/docker/skyline/skyline/Dockerfile.j2 b/docker/skyline/skyline/Dockerfile.j2
|
|
new file mode 100644
|
|
index 0000000..00a69ef
|
|
--- /dev/null
|
|
+++ b/docker/skyline/skyline/Dockerfile.j2
|
|
@@ -0,0 +1,14 @@
|
|
+FROM {{ namespace }}/{{ image_prefix }}skyline-nginx-base:{{ tag }}
|
|
+{% block labels %}
|
|
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
|
+{% endblock %}
|
|
+
|
|
+{% block skyline_header %}{% endblock %}
|
|
+
|
|
+{% import "macros.j2" as macros with context %}
|
|
+
|
|
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
|
|
+RUN chmod 755 /usr/local/bin/kolla_extend_start
|
|
+
|
|
+{% block skyline_footer %}{% endblock %}
|
|
+{% block footer %}{% endblock %}
|
|
diff --git a/docker/skyline/skyline/extend_start.sh b/docker/skyline/skyline/extend_start.sh
|
|
new file mode 100644
|
|
index 0000000..621002e
|
|
--- /dev/null
|
|
+++ b/docker/skyline/skyline/extend_start.sh
|
|
@@ -0,0 +1,26 @@
|
|
+#!/bin/bash
|
|
+
|
|
+if [[ ! -d "/var/log/kolla/skyline" ]]; then
|
|
+ mkdir -p /var/log/kolla/skyline
|
|
+fi
|
|
+if [[ $(stat -c %a /var/log/kolla/skyline) != "755" ]]; then
|
|
+ chmod 755 /var/log/kolla/skyline
|
|
+fi
|
|
+
|
|
+if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
|
|
+ # TODO ugly path
|
|
+ pushd /var/lib/kolla/venv/lib/python3.8/site-packages/skyline_apiserver/db/alembic
|
|
+ alembic upgrade head
|
|
+ popd
|
|
+ exit 0
|
|
+fi
|
|
+
|
|
+if [[ -n "${SSL_CERTFILE}" && -n "${SSL_KEYFILE}" ]]; then
|
|
+ nginx-generator -o /etc/nginx/nginx.conf --ssl-certfile "${SSL_CERTFILE}" --ssl-keyfile "${SSL_KEYFILE}"
|
|
+else
|
|
+ nginx-generator -o /etc/nginx/nginx.conf
|
|
+fi
|
|
+
|
|
+sed -i "s/listen 9999/listen ${LISTEN_ADDRESS}:9999/" /etc/nginx/nginx.conf
|
|
+
|
|
+nginx
|
|
diff --git a/kolla/common/config.py b/kolla/common/config.py
|
|
index f5075a3..1024002 100755
|
|
--- a/kolla/common/config.py
|
|
+++ b/kolla/common/config.py
|
|
@@ -32,12 +32,12 @@
|
|
'debian': 'Debian GNU/Linux 11 (bullseye)',
|
|
'ubuntu': 'Ubuntu 20.04',
|
|
}
|
|
-OPENSTACK_RELEASE = 'xena'
|
|
+OPENSTACK_RELEASE = 'master'
|
|
|
|
# This is noarch repository so we will use it on all architectures
|
|
-DELOREAN = "https://trunk.rdoproject.org/centos8-xena/" \
|
|
+DELOREAN = "https://trunk.rdoproject.org/centos8-master/" \
|
|
"consistent/delorean.repo"
|
|
-DELOREAN_DEPS = "https://trunk.rdoproject.org/centos8-xena/" \
|
|
+DELOREAN_DEPS = "https://trunk.rdoproject.org/centos8-master/" \
|
|
"delorean-deps.repo"
|
|
|
|
INSTALL_TYPE_CHOICES = ['binary', 'source']
|
|
@@ -136,6 +136,7 @@
|
|
'proxysql',
|
|
'openvswitch',
|
|
'rabbitmq',
|
|
+ 'skyline'
|
|
],
|
|
help='Default images'),
|
|
]
|
|
@@ -595,6 +596,30 @@
|
|
'type': 'url',
|
|
'location': ('$tarballs_base/openstack/senlin/'
|
|
'senlin-${openstack_branch}.tar.gz')},
|
|
+ 'skyline-log-base': {
|
|
+ 'type': 'url',
|
|
+ 'location': ('$tarballs_base/skyline/skyline-apiserver/'
|
|
+ 'skyline-log-${openstack_branch}.tar.gz')},
|
|
+ 'skyline-console-base': {
|
|
+ 'type': 'url',
|
|
+ 'location': ('$tarballs_base/skyline/skyline-apiserver/'
|
|
+ 'skyline-console-${openstack_branch}.tar.gz')},
|
|
+ 'skyline-config-base': {
|
|
+ 'type': 'url',
|
|
+ 'location': ('$tarballs_base/skyline/skyline-apiserver/'
|
|
+ 'skyline-config-${openstack_branch}.tar.gz')},
|
|
+ 'skyline-policy-manager-base': {
|
|
+ 'type': 'url',
|
|
+ 'location': ('$tarballs_base/skyline/skyline-apiserver/'
|
|
+ 'skyline-policy-manager-${openstack_branch}.tar.gz')},
|
|
+ 'skyline-apiserver-base': {
|
|
+ 'type': 'url',
|
|
+ 'location': ('$tarballs_base/skyline/skyline-apiserver/'
|
|
+ 'skyline-apiserver-${openstack_branch}.tar.gz')},
|
|
+ 'skyline-nginx-base': {
|
|
+ 'type': 'url',
|
|
+ 'location': ('$tarballs_base/skyline/skyline-apiserver/'
|
|
+ 'skyline-nginx-${openstack_branch}.tar.gz')},
|
|
'solum-base': {
|
|
'type': 'url',
|
|
'location': ('$tarballs_base/openstack/solum/'
|
|
@@ -945,6 +970,10 @@
|
|
'proxysql-user': {
|
|
'uid': 42487,
|
|
'gid': 42487,
|
|
+ },
|
|
+ 'skyline-user': {
|
|
+ 'uid': 42488,
|
|
+ 'gid': 42488,
|
|
}
|
|
}
|
|
|
|
diff --git a/kolla/image/build.py b/kolla/image/build.py
|
|
index a868726..f4ec4d8 100755
|
|
--- a/kolla/image/build.py
|
|
+++ b/kolla/image/build.py
|
|
@@ -96,6 +96,7 @@
|
|
"solum-base",
|
|
"vmtp",
|
|
"zun-base",
|
|
+ "skyline-base",
|
|
},
|
|
|
|
'source+aarch64': {
|
|
@@ -108,6 +109,7 @@
|
|
"nova-spicehtml5proxy", # Missing spicehtml5 package
|
|
"ovsdpdk", # Not supported on CentOS
|
|
"tgtd", # Not supported on CentOS 8
|
|
+ "skyline-base",
|
|
},
|
|
|
|
'debian': {
|
|
@@ -115,6 +117,7 @@
|
|
# Debian 'buster'
|
|
"ovn-base", # needs more checking
|
|
"qdrouterd",
|
|
+ "skyline-base",
|
|
},
|
|
|
|
'ubuntu': {
|