Building and Dockerfile for centos7 08/83008/4
authorSamuli Silvius <s.silvius@partner.samsung.com>
Fri, 22 Mar 2019 08:00:43 +0000 (10:00 +0200)
committerBartek Grzybowski <b.grzybowski@partner.samsung.com>
Wed, 3 Apr 2019 07:27:58 +0000 (09:27 +0200)
Add initial Dockerfile for centos7 for molecule testing.

Issue-ID: OOM-1750

Change-Id: Ie4da3d80c713d1da56465c598774b370b4c01b36
Signed-off-by: Samuli Silvius <s.silvius@partner.samsung.com>
ansible/test/images/docker/build-all.sh [new file with mode: 0755]
ansible/test/images/docker/centos7/Dockerfile [new file with mode: 0644]
ansible/test/images/docker/centos7/build.sh [new file with mode: 0755]
ansible/test/images/docker/centos7/dbus.service [new file with mode: 0644]

diff --git a/ansible/test/images/docker/build-all.sh b/ansible/test/images/docker/build-all.sh
new file mode 100755 (executable)
index 0000000..dd5db09
--- /dev/null
@@ -0,0 +1,29 @@
+#! /usr/bin/env bash
+
+#   COPYRIGHT NOTICE STARTS HERE
+
+#   Copyright 2019 © Samsung Electronics Co., Ltd.
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+#   COPYRIGHT NOTICE ENDS HERE
+
+BUILD_SCRIPT=${1:-build.sh}
+
+# Run all build scripts in direct subdirectories
+for buildfile in $(find -mindepth 2 -maxdepth 2 -name ${BUILD_SCRIPT});
+do
+  pushd $(dirname ${buildfile})
+  . ${BUILD_SCRIPT}
+  popd
+done
diff --git a/ansible/test/images/docker/centos7/Dockerfile b/ansible/test/images/docker/centos7/Dockerfile
new file mode 100644 (file)
index 0000000..8c024ab
--- /dev/null
@@ -0,0 +1,29 @@
+# https://github.com/chrismeyersfsu/provision_docker/tree/master/files
+FROM centos:centos7
+ENV container docker
+
+RUN yum -y update; yum clean all
+
+RUN systemctl mask dev-mqueue.mount dev-hugepages.mount \
+    systemd-remount-fs.service sys-kernel-config.mount \
+    sys-kernel-debug.mount sys-fs-fuse-connections.mount \
+    display-manager.service graphical.target systemd-logind.service
+
+RUN yum -y install openssh-server sudo openssh-clients \
+    epel-release python-docker-py iproute
+RUN sed -i 's/#PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
+RUN ssh-keygen -q -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa && \
+    ssh-keygen -q -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa && \
+    ssh-keygen -q -f /etc/ssh/ssh_host_ed25519_key -N '' -t ed25519
+RUN echo 'root:docker.io' | chpasswd
+RUN systemctl enable sshd.service
+
+# firewalld needs this .. and I needs my firewalld
+ADD dbus.service /etc/systemd/system/dbus.service
+RUN systemctl enable dbus.service
+
+VOLUME ["/run"]
+
+EXPOSE 22
+
+CMD ["/usr/sbin/init"]
diff --git a/ansible/test/images/docker/centos7/build.sh b/ansible/test/images/docker/centos7/build.sh
new file mode 100755 (executable)
index 0000000..fe0aea6
--- /dev/null
@@ -0,0 +1,22 @@
+#! /usr/bin/env bash
+
+#   COPYRIGHT NOTICE STARTS HERE
+
+#   Copyright 2018 © Samsung Electronics Co., Ltd.
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+#   COPYRIGHT NOTICE ENDS HERE
+
+set -e
+docker build . -t molecule-centos7:latest
diff --git a/ansible/test/images/docker/centos7/dbus.service b/ansible/test/images/docker/centos7/dbus.service
new file mode 100644 (file)
index 0000000..69dbb15
--- /dev/null
@@ -0,0 +1,16 @@
+[Unit]
+Description=D-Bus System Message Bus
+Requires=dbus.socket
+After=syslog.target
+
+[Service]
+PIDFile=/var/run/messagebus.pid
+ExecStartPre=/bin/mkdir -p /var/run/dbus
+ExecStartPre=/bin/chmod g+w /var/run/ /var/run/dbus/
+ExecStart=/bin/dbus-daemon --system --fork
+ExecReload=/bin/dbus-send --print-reply --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
+ExecStopPost=/bin/rm -f /var/run/messagebus.pid
+#OOMScoreAdjust=-900
+User=dbus
+Group=root
+PermissionsStartOnly=true