Add Qinling containers
Add Qinling Dockerfile , Qinling is an OpenStack project to provide "Function as a service". This project aims to provide a platform to support serverless functions. Change-Id: Idebf5c8756a0d0225adcce29b45a399120bb5eb6 Implements: blueprint qinling-support
This commit is contained in:
parent
b55fa2f8b7
commit
dbdf927d39
@ -101,6 +101,7 @@ Kolla provides images to deploy the following OpenStack projects:
|
||||
- `Nova <https://docs.openstack.org/nova/latest/>`__
|
||||
- `Octavia <https://docs.openstack.org/octavia/latest/>`__
|
||||
- `Panko <https://docs.openstack.org/panko/latest/>`__
|
||||
- `Qinling <https://docs.openstack.org/qinling/latest/>`__
|
||||
- `Rally <https://docs.openstack.org/rally/latest/>`__
|
||||
- `Sahara <https://docs.openstack.org/sahara/latest/>`__
|
||||
- `Searchlight <https://docs.openstack.org/searchlight/latest/>`__
|
||||
|
@ -192,6 +192,14 @@ function config_octavia_dashboard {
|
||||
"${SITE_PACKAGES}/openstack_dashboard/local/enabled/_1482_project_load_balancer_panel.py"
|
||||
}
|
||||
|
||||
function config_qinling_dashboard {
|
||||
for file in ${SITE_PACKAGES}/qinling_dashboard/enabled/_*[^__].py; do
|
||||
config_dashboard "${ENABLE_QINLING}" \
|
||||
"${SITE_PACKAGES}/qinling_dashboard/enabled/${file##*/}" \
|
||||
"${SITE_PACKAGES}/openstack_dashboard/local/enabled/${file##*/}"
|
||||
done
|
||||
}
|
||||
|
||||
function config_sahara_dashboard {
|
||||
for file in ${SITE_PACKAGES}/sahara_dashboard/enabled/_*[^__].py; do
|
||||
config_dashboard "${ENABLE_SAHARA}" \
|
||||
@ -324,6 +332,7 @@ config_murano_dashboard
|
||||
config_neutron_lbaas
|
||||
config_neutron_vpnaas_dashboard
|
||||
config_octavia_dashboard
|
||||
config_qinling_dashboard
|
||||
config_sahara_dashboard
|
||||
config_searchlight_ui
|
||||
config_senlin_dashboard
|
||||
|
19
docker/qinling/qinling-api/Dockerfile.j2
Normal file
19
docker/qinling/qinling-api/Dockerfile.j2
Normal file
@ -0,0 +1,19 @@
|
||||
FROM {{ namespace }}/{{ image_prefix }}qinling-base:{{ tag }}
|
||||
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
||||
|
||||
{% block qinling_api_header %}{% endblock %}
|
||||
|
||||
{% if install_type == 'binary' %}
|
||||
|
||||
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
|
||||
&& /bin/false
|
||||
|
||||
{% endif %}
|
||||
|
||||
COPY extend_start.sh /usr/local/bin/kolla_qinling_extend_start
|
||||
RUN chmod 755 /usr/local/bin/kolla_qinling_extend_start
|
||||
|
||||
{% block qinling_api_footer %}{% endblock %}
|
||||
{% block footer %}{% endblock %}
|
||||
|
||||
USER qinling
|
8
docker/qinling/qinling-api/extend_start.sh
Normal file
8
docker/qinling/qinling-api/extend_start.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/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
|
||||
qinling-db-manage upgrade head
|
||||
exit 0
|
||||
fi
|
36
docker/qinling/qinling-base/Dockerfile.j2
Normal file
36
docker/qinling/qinling-base/Dockerfile.j2
Normal file
@ -0,0 +1,36 @@
|
||||
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
|
||||
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
||||
|
||||
{% block qinling_base_header %}{% endblock %}
|
||||
|
||||
{% import "macros.j2" as macros with context %}
|
||||
|
||||
{{ macros.configure_user(name='qinling') }}
|
||||
|
||||
{% if install_type == 'binary' %}
|
||||
|
||||
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
|
||||
&& /bin/false
|
||||
|
||||
{% elif install_type == 'source' %}
|
||||
|
||||
ADD qinling-base-archive /qinling-base-source
|
||||
|
||||
{% set qinling_base_pip_packages = [
|
||||
'/qinling'
|
||||
] %}
|
||||
|
||||
RUN ln -s qinling-base-source/* qinling \
|
||||
&& {{ macros.install_pip(qinling_base_pip_packages | customizable("pip_packages")) }} \
|
||||
&& mkdir -p /etc/qinling \
|
||||
&& cp -r /qinling/etc/* /etc/qinling/ \
|
||||
&& chown -R qinling: /etc/qinling
|
||||
|
||||
{% endif %}
|
||||
|
||||
COPY extend_start.sh /usr/local/bin/kolla_extend_start
|
||||
|
||||
RUN touch /usr/local/bin/kolla_qinling_extend_start \
|
||||
&& chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_qinling_extend_start
|
||||
|
||||
{% block qinling_base_footer %}{% endblock %}
|
10
docker/qinling/qinling-base/extend_start.sh
Normal file
10
docker/qinling/qinling-base/extend_start.sh
Normal file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ ! -d "/var/log/kolla/qinling" ]]; then
|
||||
mkdir -p /var/log/kolla/qinling
|
||||
fi
|
||||
if [[ $(stat -c %a /var/log/kolla/qinling) != "755" ]]; then
|
||||
chmod 755 /var/log/kolla/qinling
|
||||
fi
|
||||
|
||||
. /usr/local/bin/kolla_qinling_extend_start
|
16
docker/qinling/qinling-engine/Dockerfile.j2
Normal file
16
docker/qinling/qinling-engine/Dockerfile.j2
Normal file
@ -0,0 +1,16 @@
|
||||
FROM {{ namespace }}/{{ image_prefix }}qinling-base:{{ tag }}
|
||||
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
||||
|
||||
{% block qinling_engine_header %}{% endblock %}
|
||||
|
||||
{% if install_type == 'binary' %}
|
||||
|
||||
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
|
||||
&& /bin/false
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% block qinling_engine_footer %}{% endblock %}
|
||||
{% block footer %}{% endblock %}
|
||||
|
||||
USER qinling
|
@ -115,6 +115,7 @@ _PROFILE_OPTS = [
|
||||
'novajoin',
|
||||
'octavia',
|
||||
'panko',
|
||||
'qinling',
|
||||
'rally',
|
||||
'redis',
|
||||
'sahara',
|
||||
@ -450,6 +451,10 @@ SOURCES = {
|
||||
'type': 'url',
|
||||
'location': ('$tarballs_base/octavia-dashboard/'
|
||||
'octavia-dashboard-master.tar.gz')},
|
||||
'horizon-plugin-qinling-dashboard': {
|
||||
'type': 'url',
|
||||
'location': ('$tarballs_base/qinling-dashboard/'
|
||||
'qinling-dashboard-master.tar.gz')},
|
||||
'horizon-plugin-sahara-dashboard': {
|
||||
'type': 'url',
|
||||
'location': ('$tarballs_base/sahara-dashboard/'
|
||||
@ -679,6 +684,10 @@ SOURCES = {
|
||||
'type': 'url',
|
||||
'location': ('$tarballs_base/placement/'
|
||||
'placement-master.tar.gz')},
|
||||
'qinling-base': {
|
||||
'type': 'url',
|
||||
'location': ('$tarballs_base/qinling/'
|
||||
'qinling-master.tar.gz')},
|
||||
'tempest-plugin-tempest-conf': {
|
||||
'type': 'url',
|
||||
'location': ('$tarballs_base/python-tempestconf/'
|
||||
@ -1188,6 +1197,10 @@ USERS = {
|
||||
'cyborg-user': {
|
||||
'uid': 42483,
|
||||
'gid': 42483,
|
||||
},
|
||||
'qinling-user': {
|
||||
'uid': 42484,
|
||||
'gid': 42484,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -91,6 +91,7 @@ SKIPPED_IMAGES = {
|
||||
"monasca-thresh",
|
||||
"nova-mksproxy",
|
||||
"ovsdpdk",
|
||||
"qinling-base",
|
||||
"searchlight-base",
|
||||
"solum-base",
|
||||
"vmtp",
|
||||
@ -126,6 +127,7 @@ SKIPPED_IMAGES = {
|
||||
"octavia-base",
|
||||
# There is no qdrouterd package for ubuntu bionic
|
||||
"qdrouterd",
|
||||
"qinling-base",
|
||||
"searchlight-base",
|
||||
"solum-base",
|
||||
"tacker-base",
|
||||
@ -167,6 +169,7 @@ SKIPPED_IMAGES = {
|
||||
"nova-mksproxy",
|
||||
"novajoin-base",
|
||||
"octavia-base",
|
||||
"qinling-base",
|
||||
"searchlight-base",
|
||||
"sensu-base",
|
||||
"solum-base",
|
||||
@ -199,6 +202,7 @@ SKIPPED_IMAGES = {
|
||||
"monasca-thresh",
|
||||
"nova-mksproxy",
|
||||
"ovsdpdk",
|
||||
"qinling-base",
|
||||
"searchlight-base",
|
||||
"solum-base",
|
||||
"vmtp",
|
||||
|
5
releasenotes/notes/add-qinling-618886c3375eea4a.yaml
Normal file
5
releasenotes/notes/add-qinling-618886c3375eea4a.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- Adds Qinling images. Qinling is an OpenStack project
|
||||
to provide "Function as a Service". This project aims to
|
||||
provide a platform to support serverless functions.
|
Loading…
Reference in New Issue
Block a user