ansible/test/utils/docker/opensuse42.2/Dockerfile
Matt Clay 4530eea7f8 Docker image updates for integration tests. (#26054)
* Sort packages to install.
* Add python-argparse to centos6 docker image.
* Add gcc and python dev lib to docker images.
* Add python cryptography to docker images.
* Add coverage using pip instead of OS packages.
* Update old pip versions in docker images.
* Exclude */pyshared/* from coverage reporting.
2017-06-23 12:45:38 -07:00

76 lines
2.2 KiB
Docker

FROM opensuse:42.2
RUN zypper --non-interactive --gpg-auto-import-keys refresh && \
zypper --non-interactive install --force systemd-sysvinit && \
zypper --non-interactive install --auto-agree-with-licenses --no-recommends \
acl \
apache2 \
asciidoc \
bzip2 \
curl \
dbus-1-python \
gcc \
git \
glibc-i18ndata \
glibc-locale \
iproute2 \
lsb-release \
make \
mariadb \
mercurial \
openssh \
postgresql-server \
python-cryptography \
python-devel \
python-httplib2 \
python-jinja2 \
python-keyczar \
python-lxml \
python-mock \
python-MySQL-python \
python-nose \
python-paramiko \
python-passlib \
python-pip \
python-psycopg2 \
python-PyYAML \
python-setuptools \
python-virtualenv \
rpm-build \
ruby \
subversion \
sudo \
tar \
unzip \
which \
zip \
&& \
zypper clean
# systemd path differs from rhel
ENV LIBSYSTEMD=/usr/lib/systemd/system
RUN (cd ${LIBSYSTEMD}/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f ${LIBSYSTEMD}/multi-user.target.wants/*; \
rm -f /etc/systemd/system/*.wants/*; \
rm -f ${LIBSYSTEMD}/local-fs.target.wants/*; \
rm -f ${LIBSYSTEMD}/sockets.target.wants/*udev*; \
rm -f ${LIBSYSTEMD}/sockets.target.wants/*initctl*; \
rm -f ${LIBSYSTEMD}/basic.target.wants/*;
# don't create systemd-session for ssh connections
RUN sed -i /pam_systemd/d /etc/pam.d/common-session-pc
RUN mkdir /etc/ansible/
RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
VOLUME /sys/fs/cgroup /run /tmp
RUN ssh-keygen -q -t rsa1 -N '' -f /etc/ssh/ssh_host_key && \
ssh-keygen -q -t dsa -N '' -f /etc/ssh/ssh_host_dsa_key && \
ssh-keygen -q -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key && \
ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa && \
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys && \
for key in /etc/ssh/ssh_host_*_key.pub; do echo "localhost $(cat ${key})" >> /root/.ssh/known_hosts; done
# explicitly enable the service, opensuse default to disabled services
RUN systemctl enable sshd.service
RUN pip install coverage junit-xml
ENV container=docker
CMD ["/sbin/init"]