From 0f6d8ebc25256f8441794b4c520a9f9d2be69da6 Mon Sep 17 00:00:00 2001 From: Sebastien Rannou Date: Fri, 19 Dec 2014 10:05:36 +0100 Subject: [PATCH] Added ocs' services to add/remove extra volumes. disconnect root fs. #1 --- Dockerfile | 4 +++- .../etc/systemd/system/oc-add-extra-volumes.service | 10 ++++++++++ patches/etc/systemd/system/oc-ssh-keys.service | 10 ++++++++++ .../etc/systemd/system/oc-sync-kernel-modules.service | 10 ++++++++++ 4 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 patches/etc/systemd/system/oc-add-extra-volumes.service create mode 100644 patches/etc/systemd/system/oc-ssh-keys.service create mode 100644 patches/etc/systemd/system/oc-sync-kernel-modules.service diff --git a/Dockerfile b/Dockerfile index 5ece41b..579c79c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -48,10 +48,12 @@ RUN mkdir /tmp/build-xnbd \ # Systemd RUN systemctl disable getty@tty1.service \ + && systemctl enable NetworkManager-wait-online.service \ && systemctl disable systemd-networkd.service \ && systemctl enable serial-getty@ttyS0.service \ && systemctl enable sshd.service \ - && systemctl enable NetworkManager + && systemctl enable NetworkManager \ + && systemctl enable ntpdate # Patch rootfs diff --git a/patches/etc/systemd/system/oc-add-extra-volumes.service b/patches/etc/systemd/system/oc-add-extra-volumes.service new file mode 100644 index 0000000..c17de12 --- /dev/null +++ b/patches/etc/systemd/system/oc-add-extra-volumes.service @@ -0,0 +1,10 @@ +[Unit] +Description=OCS additional volumes mounter + +[Service] +ExecStart=/usr/sbin/oc-add-extra-volumes +ExecStop=/usr/sbin/oc-remove-extra-volumes +Type=forking + +[Install] +WantedBy=basic.target diff --git a/patches/etc/systemd/system/oc-ssh-keys.service b/patches/etc/systemd/system/oc-ssh-keys.service new file mode 100644 index 0000000..b17dc48 --- /dev/null +++ b/patches/etc/systemd/system/oc-ssh-keys.service @@ -0,0 +1,10 @@ +[Unit] +Description=OCS fetch ssh keys from metadata +After=NetworkManager-wait-online.service + +[Service] +ExecStart=/bin/bash -c "mkdir -p /root/.ssh/ ; chmod 700 /root/.ssh ; /usr/local/bin/oc-metadata | grep SSH_PUBLIC_KEYS_.*_KEY | cut -d'=' -f 2- | tr -d \\' > /root/.ssh/authorized_keys" +Type=oneshot + +[Install] +WantedBy=multi-user.target diff --git a/patches/etc/systemd/system/oc-sync-kernel-modules.service b/patches/etc/systemd/system/oc-sync-kernel-modules.service new file mode 100644 index 0000000..9063ece --- /dev/null +++ b/patches/etc/systemd/system/oc-sync-kernel-modules.service @@ -0,0 +1,10 @@ +[Unit] +Description=OCS fetch kernel modules from OCS mirror +After=NetworkManager-wait-online.service + +[Service] +ExecStart=/usr/sbin/oc-sync-kernel-modules +Type=oneshot + +[Install] +WantedBy=multi-user.target