/
template_overrides.j2
132 lines (108 loc) · 3.81 KB
/
template_overrides.j2
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
{% raw %}
{% extends parent_template %}
{% block base_pip_conf %}
{% endraw %}
ENV PIP_INDEX_URL {{ nodepool_pypi_mirror }}
ENV PIP_TRUSTED_HOST {{ nodepool_mirror_host }}
{% if use_infra_wheels_mirror | default(true) %}
ENV PIP_EXTRA_INDEX_URL {{ nodepool_wheel_mirror }}
{% endif %}
RUN echo registry={{ nodepool_npmjs_proxy }} > /etc/npmrc \
&& mkdir -p /usr/etc \
&& ln -s /etc/npmrc /usr/etc/npmrc
{% raw %}
{% endblock %}
{% endraw %}
{% if base_distro in ['centos', 'rocky'] %}
{% if base_distro == 'centos' %}
{% raw %}
{% block base_centos_repo_overrides_post_copy %}
{% endraw %}
COPY ci-centos.repo /etc/yum.repos.d/
RUN cd /etc/yum.repos.d/ && mkdir not-for-ci/ && mv centos*.repo not-for-ci/ \
&& sed -i -e "s/MIRROR/{{ nodepool_mirror_host }}/g" /etc/yum.repos.d/ci-centos.repo
{% raw %}
{% endblock %}
{% endraw %}
{% elif base_distro == 'rocky' %}
{#
NOTE(hrw): Rocky is not mirrored but it uses CentOS repos which are
#}
{% raw %}
{% block base_centos_repo_overrides_post_copy %}
{% endraw %}
COPY ci-rocky.repo /etc/yum.repos.d/
RUN cd /etc/yum.repos.d/ && mkdir not-for-ci/ \
&& sed -i -e "s/MIRROR/{{ nodepool_mirror_host }}/g" /etc/yum.repos.d/ci-rocky.repo
{% raw %}
{% endblock %}
{% endraw %}
{% endif %} {# if centos/rocky #}
{% raw %}
{% block base_centos_repo_overrides_post_rpm %}
{% endraw %}
RUN sed -i \
-e "s|https://trunk.rdoproject.org|{{ nodepool_rdo_proxy }}|g" \
/etc/yum.repos.d/delorean*.repo
{% raw %}
{% endblock %}
{% block base_centos_repo_overrides_post_yum -%}
{%- endraw -%}
&& cd /etc/yum.repos.d/ && mv CentOS*.repo epel*.repo not-for-ci/
{%- raw -%}
{% endblock %}
{% endraw %}
{% endif %}
{% raw %}
{% block base_debian_after_sources_list %}
{% endraw %}
{% if base_distro == "debian" %}
RUN sed -i -e "s|http://deb.debian.org|[trusted=yes] http://{{ nodepool_mirror_host }}|" \
-e "s|http://security.debian.org|[trusted=yes] http://{{ nodepool_mirror_host }}|" \
/etc/apt/sources.list
{% elif base_distro == "ubuntu" %}
RUN sed -i -e "s|mirror://mirrors.ubuntu.com/mirrors.txt|[trusted=yes] http://{{ nodepool_mirror_host }}/ubuntu/|" \
-e "s|http://ports.ubuntu.com|[trusted=yes] http://{{ nodepool_mirror_host }}/ubuntu-ports|" \
/etc/apt/sources.list
{% endif %}
{% raw %}
{% endblock %}
{# Revert to upstream mirrors after build is complete #}
{% block footer %}
{% endraw %}
ENV PIP_INDEX_URL=
ENV PIP_TRUSTED_HOST=
{% if use_infra_wheels_mirror | default(true) %}
ENV PIP_EXTRA_INDEX_URL=
{% endif %}
RUN if [ -f /usr/etc/npmrc ]; then \
unlink /usr/etc/npmrc; \
fi \
&& rm -f /etc/npmrc
{% if base_distro in ['centos', 'rocky'] %}
{# NOTE(hrw): Some images have two footer blocks.
For example neutron-infobox-ipam-agent being
child of neutron-server.
#}
RUN if [ -d /etc/yum.repos.d/not-for-ci/ ]; then \
cd /etc/yum.repos.d/ && \
rm ci-{{ base_distro }}.repo && \
mv not-for-ci/*.repo . && \
rm -rf not-for-ci; \
fi; \
sed -i \
-e "s|{{ nodepool_rdo_proxy }}|https://trunk.rdoproject.org|g" \
/etc/yum.repos.d/delorean*.repo
{% elif base_distro == "debian" %}
RUN sed -i -e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}|http://deb.debian.org|" \
-e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}|http://security.debian.org|" \
/etc/apt/sources.list
{% elif base_distro == "ubuntu" %}
RUN sed -i -e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}/ubuntu/|mirror://mirrors.ubuntu.com/mirrors.txt|" \
-e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}/ubuntu-cloud-archive|http://ubuntu-cloud.archive.canonical.com/ubuntu|" \
-e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}/ubuntu-ports|http://ports.ubuntu.com|" \
/etc/apt/sources.list
{% endif %}
{% raw %}
{% endblock %}
{% endraw %}