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' %}
|
||||
{% set base_yum_repo_files = [
|
||||
'crane.repo',
|
||||
'elasticsearch.repo',
|
||||
'grafana.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',
|
||||
'location': ('$tarballs_base/cloudkitty/'
|
||||
'cloudkitty-master.tar.gz')},
|
||||
'crane': {
|
||||
'type': 'git',
|
||||
'reference': 'master',
|
||||
'location': ('https://github.com/pulp/crane.git')},
|
||||
'designate-base': {
|
||||
'type': 'url',
|
||||
'location': ('$tarballs_base/designate/'
|
||||
|
@ -99,7 +99,7 @@ SKIPPED_IMAGES = {
|
||||
"tripleoclient",
|
||||
# TODO(jeffrey4l): remove tripleo-ui when following bug is fixed
|
||||
# https://bugs.launchpad.net/tripleo/+bug/1744215
|
||||
"tripleo-ui"
|
||||
"tripleo-ui",
|
||||
],
|
||||
'ubuntu+binary': [
|
||||
"almanach-base",
|
||||
@ -107,6 +107,7 @@ SKIPPED_IMAGES = {
|
||||
"blazar-base",
|
||||
"cloudkitty-base",
|
||||
"congress-base",
|
||||
"crane",
|
||||
"dragonflow-base",
|
||||
"ec2-api",
|
||||
"freezer-base",
|
||||
@ -133,6 +134,7 @@ SKIPPED_IMAGES = {
|
||||
"zun-base",
|
||||
],
|
||||
'ubuntu+source': [
|
||||
"crane",
|
||||
# There is no qdrouterd package for ubuntu bionic
|
||||
"qdrouterd",
|
||||
"tripleoclient",
|
||||
@ -146,6 +148,7 @@ SKIPPED_IMAGES = {
|
||||
"blazar-base",
|
||||
"cloudkitty-base",
|
||||
"congress-base",
|
||||
"crane",
|
||||
"dragonflow-base",
|
||||
"ec2-api",
|
||||
"freezer-base",
|
||||
@ -171,6 +174,7 @@ SKIPPED_IMAGES = {
|
||||
"zun-base"
|
||||
],
|
||||
'debian+source': [
|
||||
"crane",
|
||||
"sensu-base",
|
||||
"tripleoclient",
|
||||
"tripleo-ui"
|
||||
@ -179,6 +183,7 @@ SKIPPED_IMAGES = {
|
||||
"almanach-base",
|
||||
"bifrost-base",
|
||||
"blazar-base",
|
||||
"crane",
|
||||
"dragonflow-base",
|
||||
"freezer-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…
Reference in New Issue
Block a user