blob: a0951a8d789bb9ea13aab8ae4dc9904ca5f34090 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
#!/bin/bash
set -o xtrace
set -o errexit
# Enable unbuffered output for Ansible in Jenkins.
export PYTHONUNBUFFERED=1
. /etc/ci/mirror_info.sh
function setup_config {
sudo mkdir -p /etc/kolla
# Use Infra provided pypi.
# Wheel package mirror may be not compatible. So do not enable it.
PIP_CONF=$(mktemp)
cat > ${PIP_CONF} <<EOF
[global]
timeout = 60
index-url = $NODEPOOL_PYPI_MIRROR
trusted-host = $NODEPOOL_MIRROR_HOST
EOF
TEMPLATE_OVERRIDES=$(mktemp)
cat <<EOF | tee "${TEMPLATE_OVERRIDES}"
{% extends parent_template %}
{% block base_header %}
RUN echo $(base64 -w0 "${PIP_CONF}") | base64 -d > /etc/pip.conf
{% if base_distro == 'ubuntu' %}
RUN echo 'APT::Get::AllowUnauthenticated "true";' > /etc/apt/apt.conf.d/99allow-unauthenticated
{% endif %}
{% endblock %}
{% block base_footer %}
{% if base_distro == "centos" %}
RUN sed -i -e "/^mirrorlist/d" \
-e "s|^#baseurl=http://mirror.centos.org|baseurl=http://$NODEPOOL_MIRROR_HOST|" \
/etc/yum.repos.d/CentOS-Base.repo \
&& sed -i -e "/^mirrorlist/d" \
-e "s|^#baseurl=http://download.fedoraproject.org/pub|baseurl=http://$NODEPOOL_MIRROR_HOST|" \
/etc/yum.repos.d/epel.repo \
&& sed -i -e "s|^baseurl=http://mirror.centos.org|baseurl=http://$NODEPOOL_MIRROR_HOST|" \
/etc/yum.repos.d/CentOS-Ceph-Jewel.repo \
&& sed -i -e "s|^baseurl=https://trunk.rdoproject.org|baseurl=$NODEPOOL_RDO_PROXY|" \
/etc/yum.repos.d/delorean.repo
{% elif base_distro == "oraclelinux" %}
RUN sed -i -e "/^mirrorlist/d" \
-e "s|^#baseurl=http://download.fedoraproject.org/pub|baseurl=http://$NODEPOOL_MIRROR_HOST|" \
/etc/yum.repos.d/epel.repo \
&& sed -i -e "s|^baseurl=http://mirror.centos.org|baseurl=http://$NODEPOOL_MIRROR_HOST|" \
/etc/yum.repos.d/CentOS-Ceph-Jewel.repo \
&& sed -i -e "s|^baseurl=https://trunk.rdoproject.org|baseurl=$NODEPOOL_RDO_PROXY|" \
/etc/yum.repos.d/delorean.repo
{% elif base_distro == "ubuntu" %}
RUN sed -i -e "s|http://archive.ubuntu.com|http://$NODEPOOL_MIRROR_HOST|" \
-e "s|http://ubuntu-cloud.archive.canonical.com/ubuntu|http://$NODEPOOL_MIRROR_HOST/ubuntu-cloud-archive|" \
/etc/apt/sources.list \
&& apt-get update
{% endif %}
{% endblock %}
EOF
cat <<EOF | sudo tee /etc/kolla/kolla-build.conf
[DEFAULT]
# NOTE(Jeffrey4l): use different a docker namespace name in case it pull image from hub.docker.io when deplying
namespace = lokolla
template_override = ${TEMPLATE_OVERRIDES}
registry = 127.0.0.1:4000
push = true
logs_dir = /tmp/logs/build
EOF
}
function setup_registry {
sudo mkdir /opt/kolla_registry
sudo chmod -R 644 /opt/kolla_registry
docker run -d -p 4000:5000 --restart=always -v /opt/kolla_registry/:/var/lib/registry --name registry registry:2
}
setup_registry
setup_config
|