Add crane docker image
Crane is a lightweight 'pull only' container registry implementation. TripleO is aiming to replace our use of docker-distribution with crane for the Undercloud. Co-Authored-By: Martin André <m.andre@redhat.com> Change-Id: I59d9521f99243401d7703a3dedc26b5baed2d595
This commit is contained in:
parent
09b1147665
commit
4f9ee9f132
@ -57,6 +57,7 @@ COPY yum.conf /etc/yum.conf
|
|||||||
|
|
||||||
{% if base_arch == 'x86_64' %}
|
{% if base_arch == 'x86_64' %}
|
||||||
{% set base_yum_repo_files = [
|
{% set base_yum_repo_files = [
|
||||||
|
'crane.repo',
|
||||||
'elasticsearch.repo',
|
'elasticsearch.repo',
|
||||||
'grafana.repo',
|
'grafana.repo',
|
||||||
'influxdb.repo',
|
'influxdb.repo',
|
||||||
|
7
docker/base/crane.repo
Normal file
7
docker/base/crane.repo
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# TODO(mandre) Remove when crane is in centos repos
|
||||||
|
# NOTE python-crane package is not signed
|
||||||
|
[pulp-2-testing]
|
||||||
|
name=Pulp 2 Testing
|
||||||
|
baseurl=https://repos.fedorapeople.org/pulp/pulp/testing/automation/2-master/stage/7Server/$basearch/
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=0
|
68
docker/crane/Dockerfile.j2
Normal file
68
docker/crane/Dockerfile.j2
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
|
||||||
|
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
|
||||||
|
|
||||||
|
{% block crane_header %}{% endblock %}
|
||||||
|
|
||||||
|
{% import "macros.j2" as macros with context %}
|
||||||
|
|
||||||
|
{% if install_type == 'binary' %}
|
||||||
|
{% if base_distro in ['centos', 'rhel'] %}
|
||||||
|
|
||||||
|
{% set crane_packages = [
|
||||||
|
'httpd',
|
||||||
|
'mod_ssl',
|
||||||
|
'mod_wsgi',
|
||||||
|
'mod_xsendfile',
|
||||||
|
'python-crane'
|
||||||
|
] %}
|
||||||
|
|
||||||
|
{{ macros.install_packages(crane_packages | customizable("packages")) }}
|
||||||
|
|
||||||
|
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
|
||||||
|
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
|
||||||
|
|
||||||
|
{% else %}
|
||||||
|
RUN echo 'crane not yet available for {{ base_distro }}' && /bin/false
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% elif install_type == 'source' %}
|
||||||
|
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
|
||||||
|
{% set crane_packages = [
|
||||||
|
'httpd',
|
||||||
|
'mod_ssl',
|
||||||
|
'mod_wsgi',
|
||||||
|
'mod_xsendfile',
|
||||||
|
'python-flask'
|
||||||
|
] %}
|
||||||
|
|
||||||
|
{{ macros.install_packages(crane_packages | customizable("packages")) }}
|
||||||
|
|
||||||
|
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
|
||||||
|
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
|
||||||
|
|
||||||
|
{% elif base_distro in ['debian', 'ubuntu'] %}
|
||||||
|
RUN echo 'crane not yet available for {{ base_distro }}' && /bin/false
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% block crane_source_install_python_pip %}
|
||||||
|
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
|
||||||
|
&& python get-pip.py \
|
||||||
|
&& rm get-pip.py
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
ADD crane-archive /crane-source
|
||||||
|
|
||||||
|
{% set crane_pip_packages = [
|
||||||
|
'/crane'
|
||||||
|
] %}
|
||||||
|
|
||||||
|
RUN ln -s crane-source/* crane \
|
||||||
|
&& {{ macros.install_pip(crane_pip_packages | customizable("pip_packages"), constraints=false) }}
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
COPY extend_start.sh /usr/local/bin/kolla_extend_start
|
||||||
|
RUN chmod 755 /usr/local/bin/kolla_extend_start
|
||||||
|
|
||||||
|
{% block crane_footer %}{% endblock %}
|
||||||
|
{% block footer %}{% endblock %}
|
14
docker/crane/extend_start.sh
Normal file
14
docker/crane/extend_start.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Assume the service runs on top of Apache when user is root
|
||||||
|
if [[ "$(whoami)" == 'root' ]]; then
|
||||||
|
# NOTE(pbourke): httpd will not clean up after itself in some cases which
|
||||||
|
# results in the container not being able to restart. (bug #1489676, 1557036)
|
||||||
|
if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then
|
||||||
|
# Loading Apache2 ENV variables
|
||||||
|
. /etc/apache2/envvars
|
||||||
|
rm -rf /var/run/apache2/*
|
||||||
|
else
|
||||||
|
rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd*
|
||||||
|
fi
|
||||||
|
fi
|
@ -323,6 +323,10 @@ SOURCES = {
|
|||||||
'type': 'url',
|
'type': 'url',
|
||||||
'location': ('$tarballs_base/cloudkitty/'
|
'location': ('$tarballs_base/cloudkitty/'
|
||||||
'cloudkitty-master.tar.gz')},
|
'cloudkitty-master.tar.gz')},
|
||||||
|
'crane': {
|
||||||
|
'type': 'git',
|
||||||
|
'reference': 'master',
|
||||||
|
'location': ('https://github.com/pulp/crane.git')},
|
||||||
'designate-base': {
|
'designate-base': {
|
||||||
'type': 'url',
|
'type': 'url',
|
||||||
'location': ('$tarballs_base/designate/'
|
'location': ('$tarballs_base/designate/'
|
||||||
|
@ -99,7 +99,7 @@ SKIPPED_IMAGES = {
|
|||||||
"tripleoclient",
|
"tripleoclient",
|
||||||
# TODO(jeffrey4l): remove tripleo-ui when following bug is fixed
|
# TODO(jeffrey4l): remove tripleo-ui when following bug is fixed
|
||||||
# https://bugs.launchpad.net/tripleo/+bug/1744215
|
# https://bugs.launchpad.net/tripleo/+bug/1744215
|
||||||
"tripleo-ui"
|
"tripleo-ui",
|
||||||
],
|
],
|
||||||
'ubuntu+binary': [
|
'ubuntu+binary': [
|
||||||
"almanach-base",
|
"almanach-base",
|
||||||
@ -107,6 +107,7 @@ SKIPPED_IMAGES = {
|
|||||||
"blazar-base",
|
"blazar-base",
|
||||||
"cloudkitty-base",
|
"cloudkitty-base",
|
||||||
"congress-base",
|
"congress-base",
|
||||||
|
"crane",
|
||||||
"dragonflow-base",
|
"dragonflow-base",
|
||||||
"ec2-api",
|
"ec2-api",
|
||||||
"freezer-base",
|
"freezer-base",
|
||||||
@ -133,6 +134,7 @@ SKIPPED_IMAGES = {
|
|||||||
"zun-base",
|
"zun-base",
|
||||||
],
|
],
|
||||||
'ubuntu+source': [
|
'ubuntu+source': [
|
||||||
|
"crane",
|
||||||
# There is no qdrouterd package for ubuntu bionic
|
# There is no qdrouterd package for ubuntu bionic
|
||||||
"qdrouterd",
|
"qdrouterd",
|
||||||
"tripleoclient",
|
"tripleoclient",
|
||||||
@ -146,6 +148,7 @@ SKIPPED_IMAGES = {
|
|||||||
"blazar-base",
|
"blazar-base",
|
||||||
"cloudkitty-base",
|
"cloudkitty-base",
|
||||||
"congress-base",
|
"congress-base",
|
||||||
|
"crane",
|
||||||
"dragonflow-base",
|
"dragonflow-base",
|
||||||
"ec2-api",
|
"ec2-api",
|
||||||
"freezer-base",
|
"freezer-base",
|
||||||
@ -171,6 +174,7 @@ SKIPPED_IMAGES = {
|
|||||||
"zun-base"
|
"zun-base"
|
||||||
],
|
],
|
||||||
'debian+source': [
|
'debian+source': [
|
||||||
|
"crane",
|
||||||
"sensu-base",
|
"sensu-base",
|
||||||
"tripleoclient",
|
"tripleoclient",
|
||||||
"tripleo-ui"
|
"tripleo-ui"
|
||||||
@ -179,6 +183,7 @@ SKIPPED_IMAGES = {
|
|||||||
"almanach-base",
|
"almanach-base",
|
||||||
"bifrost-base",
|
"bifrost-base",
|
||||||
"blazar-base",
|
"blazar-base",
|
||||||
|
"crane",
|
||||||
"dragonflow-base",
|
"dragonflow-base",
|
||||||
"freezer-base",
|
"freezer-base",
|
||||||
"karbor-base",
|
"karbor-base",
|
||||||
|
3
releasenotes/notes/add-crane-image-c6b381b2a6ce62d2.yaml
Normal file
3
releasenotes/notes/add-crane-image-c6b381b2a6ce62d2.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Add crane image. Crane is a lightweight 'pull only' container registry implementation.
|
Loading…
x
Reference in New Issue
Block a user