Use debian repos for debian base docker image

Change-Id: Ic5c1d20fa9f7f1cd9fd20e658b4bd1abb235f3b6
Partially-implements: blueprint build-debian
changes/36/288936/23
Benedikt Trefzer 7 years ago
parent 23d566a5e3
commit 30c805596f
  1. 64
      docker/base/Dockerfile.j2
  2. 23
      docker/base/apt_preferences.debian
  3. 0
      docker/base/apt_preferences.ubuntu
  4. 26
      docker/base/sources.list.debian
  5. 0
      docker/base/sources.list.ubuntu

@ -193,29 +193,55 @@ RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc
# This will prevent questions from being asked during the install
ENV DEBIAN_FRONTEND noninteractive
COPY sources.list /etc/apt/
COPY apt_preferences /etc/apt/preferences
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 199369E5404BD5FC7D2FE43BCBCB082A1BB943DB \
&& apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 391A9AA2147192839E9DB0315EDB1B62EC4926EA \
&& apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 430BDF5C56E7C94E848EE60C1C4CBDCDCD2EFD2A \
&& apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 08B73419AC32B4E966C1A330E84AC2C0460F3994 \
&& apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 46095ACC8548582C1A2699A9D27D666CD88E42B4 \
COPY sources.list.{{ base_distro }} /etc/apt/sources.list
COPY apt_preferences.{{ base_distro }} /etc/apt/preferences
{% set packages = '\
ca-certificates \
curl \
lvm2 \
open-iscsi \
python \
tgt'
%}
{% if base_distro == 'ubuntu' %}
{% set keys = [
'199369E5404BD5FC7D2FE43BCBCB082A1BB943DB',
'391A9AA2147192839E9DB0315EDB1B62EC4926EA',
'430BDF5C56E7C94E848EE60C1C4CBDCDCD2EFD2A',
'08B73419AC32B4E966C1A330E84AC2C0460F3994',
'46095ACC8548582C1A2699A9D27D666CD88E42B4',
] %}
{% elif base_distro == 'debian' %}
{% set keys = [
'08B73419AC32B4E966C1A330E84AC2C0460F3994',
'58118E89F3A912897C070ADBF76221572C52609D',
'0xcbcb082a1bb943db',
'D27D666CD88E42B4',
] %}
{% set packages = packages +
' sudo'
%}
{% endif %}
RUN true \
{% for key in keys %}
&& apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 {{ key }} \
{% endfor %}
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get dist-upgrade -y \
&& apt-get -y install --no-install-recommends \
ca-certificates \
python \
curl \
open-iscsi \
tgt \
lvm2 \
&& apt-get clean \
&& sed -i "s|'purelib': '\$base/local/lib/python\$py_version_short/dist-packages',|'purelib': '\$base/lib/python\$py_version_short/dist-packages',|;s|'platlib': '\$platbase/local/lib/python\$py_version_short/dist-packages',|'platlib': '\$platbase/lib/python\$py_version_short/dist-packages',|;s|'headers': '\$base/local/include/python\$py_version_short/\$dist_name',|'headers': '\$base/include/python\$py_version_short/\$dist_name',|;s|'scripts': '\$base/local/bin',|'scripts': '\$base/bin',|;s|'data' : '\$base/local',|'data' : '\$base',|" /usr/lib/python2.7/distutils/command/install.py \
&& apt-get -y upgrade \
&& apt-get -y dist-upgrade \
&& apt-get -y install --no-install-recommends {{ packages }} \
&& apt-get clean
{% if base_distro == 'ubuntu' %}
RUN sed -i "s|'purelib': '\$base/local/lib/python\$py_version_short/dist-packages',|'purelib': '\$base/lib/python\$py_version_short/dist-packages',|;s|'platlib': '\$platbase/local/lib/python\$py_version_short/dist-packages',|'platlib': '\$platbase/lib/python\$py_version_short/dist-packages',|;s|'headers': '\$base/local/include/python\$py_version_short/\$dist_name',|'headers': '\$base/include/python\$py_version_short/\$dist_name',|;s|'scripts': '\$base/local/bin',|'scripts': '\$base/bin',|;s|'data' : '\$base/local',|'data' : '\$base',|" /usr/lib/python2.7/distutils/command/install.py \
&& rm -rf /usr/lib/python2.7/site-packages \
&& ln -s dist-packages /usr/lib/python2.7/site-packages
{% endif %}
{# endif for base_distro ubuntu, debian #}
{% endif %}
COPY set_configs.py /usr/local/bin/kolla_set_configs

@ -0,0 +1,23 @@
Package: *
Pin: origin "download.ceph.com"
Pin-Priority: 500
Package: *
Pin: origin "nyc2.mirrors.digitalocean.com"
Pin-Priority: 500
Package: python-rtslib
Pin: release o=Debian,a=testing,n=stretch,l=Debian
Pin-Priority: 500
Package: targetcli
Pin: release o=Debian,a=testing,n=stretch,l=Debian
Pin-Priority: 500
Package: python-configshell
Pin: release o=Debian,a=testing,n=stretch,l=Debian
Pin-Priority: 500
Package: *
Pin: release o=Debian,a=testing,n=stretch,l=Debian
Pin-Priority: -1

@ -0,0 +1,26 @@
# Default repos
deb http://httpredir.debian.org/debian jessie main
# jessie-backports
deb http://httpredir.debian.org/debian jessie-backports main contrib
# jessie-updates, previously known as 'volatile'
deb http://httpredir.debian.org/debian jessie-updates main
# debian security updates
deb http://security.debian.org jessie/updates main
# need some packages from testing not available in stable
deb http://httpredir.debian.org/debian stretch main
# Ceph repo
deb http://download.ceph.com/debian-hammer/ jessie main
# Maria DB repo
deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.0/debian jessie main
# Kibana repo
deb http://packages.elastic.co/kibana/4.4/debian stable main
# docker
deb http://apt.dockerproject.org/repo debian-jessie main
Loading…
Cancel
Save