summaryrefslogtreecommitdiff
path: root/tests/templates/template_overrides.j2
blob: 7ba7b4852ca274c2246751e31048f5fbb02e46af (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
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
{% 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_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://ubuntu-cloud.archive.canonical.com/ubuntu|[trusted=yes] http://{{ nodepool_mirror_host }}/ubuntu-cloud-archive|" \
        -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
{% 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 %}