]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
docker-compose: Add containerized testnode
authorZack Cerza <zack@redhat.com>
Wed, 12 Jan 2022 18:45:19 +0000 (11:45 -0700)
committerZack Cerza <zack@redhat.com>
Mon, 28 Mar 2022 21:27:52 +0000 (15:27 -0600)
Signed-off-by: Zack Cerza <zack@redhat.com>
docs/docker-compose/Dockerfile
docs/docker-compose/Dockerfile-testnode [new file with mode: 0644]
docs/docker-compose/docker-compose.yml
docs/docker-compose/testnode.sh [new file with mode: 0755]

index 7d7482affeed66d85d95cbe276851f488500f5c3..41f27b6c5dde51a104dea6f688781e368a98b4b9 100644 (file)
@@ -26,8 +26,8 @@ RUN ./bootstrap
 CMD ./virtualenv/bin/teuthology-suite \
     -v --ceph-repo https://github.com/ceph/ceph.git \
     --suite-repo https://github.com/ceph/ceph.git \
-    -c master -m smithi --subset 9000/100000 --limit 1 \
+    -c master -m testnode --subset 9000/100000 --limit 1 \
     --suite dummy \
     --suite-branch master -p 75 --force-priority -n 100 && \
-    ./virtualenv/bin/teuthology-dispatcher --log-dir ./log --tube smithi ; \
+    ./virtualenv/bin/teuthology-dispatcher --log-dir ./log --tube testnode ; \
     tail -f /dev/null
diff --git a/docs/docker-compose/Dockerfile-testnode b/docs/docker-compose/Dockerfile-testnode
new file mode 100644 (file)
index 0000000..0752e18
--- /dev/null
@@ -0,0 +1,24 @@
+FROM fedora:35
+RUN dnf -y update && \
+    dnf -y install \
+        openssh-server \
+        hostname \
+        curl \
+        redhat-lsb-core && \
+    dnf clean all
+COPY testnode.sh /
+COPY testnode_sudoers /etc/sudoers.d/teuthology
+RUN \
+    ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' && \
+    ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' && \
+    ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key && \
+    sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config && \
+    mkdir -p /root/.ssh && \
+    chmod 700 /root/.ssh && \
+    groupadd sudo && \
+    useradd -g sudo ubuntu && \
+    mkdir -p /home/ubuntu/.ssh && \
+    chmod 700 /home/ubuntu/.ssh && \
+    chown -R ubuntu /home/ubuntu
+EXPOSE 22
+ENTRYPOINT /testnode.sh
index 3f7912c5e017a60fc34d97efc0f57799a2802bd8..5d3b0ac826dc297ed4acc6f6352823dc5188d5ea 100644 (file)
@@ -66,3 +66,18 @@ services:
     links:
         - paddles
         - beanstalk
+    environment:
+      SSH_PRIVKEY:
+  testnode:
+    build:
+      context: .
+      dockerfile: ./Dockerfile-testnode
+    depends_on:
+        paddles:
+            condition: service_healthy
+    links:
+      - paddles
+    ports:
+      - "22:22"
+    environment:
+      SSH_PUBKEY:
\ No newline at end of file
diff --git a/docs/docker-compose/testnode.sh b/docs/docker-compose/testnode.sh
new file mode 100755 (executable)
index 0000000..38dca64
--- /dev/null
@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+set -ex
+echo "$SSH_PUBKEY" > /root/.ssh/authorized_keys
+echo "$SSH_PUBKEY" > /home/ubuntu/.ssh/authorized_keys
+chown ubuntu /home/ubuntu/.ssh/authorized_keys
+curl -X POST -d "{\"name\": \"$(hostname)\", \"machine_type\": \"testnode\", \"up\": true, \"locked\": false}" http://paddles:8080/nodes/
+exec /usr/sbin/sshd -D