From 67af4ac9ae545f67ec174bdf7f7eff37b4c0ccac Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Wed, 12 Jan 2022 11:45:19 -0700 Subject: [PATCH] docker-compose: Add containerized testnode Signed-off-by: Zack Cerza --- docs/docker-compose/Dockerfile | 4 ++-- docs/docker-compose/Dockerfile-testnode | 24 ++++++++++++++++++++++++ docs/docker-compose/docker-compose.yml | 15 +++++++++++++++ docs/docker-compose/testnode.sh | 7 +++++++ 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 docs/docker-compose/Dockerfile-testnode create mode 100755 docs/docker-compose/testnode.sh diff --git a/docs/docker-compose/Dockerfile b/docs/docker-compose/Dockerfile index 7d7482affe..41f27b6c5d 100644 --- a/docs/docker-compose/Dockerfile +++ b/docs/docker-compose/Dockerfile @@ -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 index 0000000000..0752e18643 --- /dev/null +++ b/docs/docker-compose/Dockerfile-testnode @@ -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 diff --git a/docs/docker-compose/docker-compose.yml b/docs/docker-compose/docker-compose.yml index 3f7912c5e0..5d3b0ac826 100644 --- a/docs/docker-compose/docker-compose.yml +++ b/docs/docker-compose/docker-compose.yml @@ -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 index 0000000000..38dca640e0 --- /dev/null +++ b/docs/docker-compose/testnode.sh @@ -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 -- 2.39.5