From: Zack Cerza Date: Fri, 4 Feb 2022 00:04:59 +0000 (-0700) Subject: testnode: Add stop script X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=81f3b36a1379aec910b697d5244625422593435f;p=teuthology.git testnode: Add stop script So that each container marks itself down before stopping. Signed-off-by: Zack Cerza --- diff --git a/docs/docker-compose/Dockerfile-testnode b/docs/docker-compose/Dockerfile-testnode index 929901b08c..7da6b87768 100644 --- a/docs/docker-compose/Dockerfile-testnode +++ b/docs/docker-compose/Dockerfile-testnode @@ -8,7 +8,8 @@ RUN apt update && \ curl \ python3-pip && \ apt clean all -COPY testnode.sh / +COPY testnode_start.sh / +COPY testnode_stop.sh / COPY testnode_sudoers /etc/sudoers.d/teuthology RUN \ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' && \ @@ -20,4 +21,4 @@ RUN \ chmod 700 /home/ubuntu/.ssh && \ chown -R ubuntu /home/ubuntu EXPOSE 22 -ENTRYPOINT /testnode.sh \ No newline at end of file +ENTRYPOINT /testnode_start.sh \ No newline at end of file diff --git a/docs/docker-compose/testnode.sh b/docs/docker-compose/testnode.sh deleted file mode 100755 index d29c3b6d0a..0000000000 --- a/docs/docker-compose/testnode.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/bash -set -x -echo "$SSH_PUBKEY" > /root/.ssh/authorized_keys -echo "$SSH_PUBKEY" > /home/ubuntu/.ssh/authorized_keys -chown ubuntu /home/ubuntu/.ssh/authorized_keys -payload="{\"name\": \"$(hostname)\", \"machine_type\": \"testnode\", \"up\": true, \"locked\": false, \"os_type\": \"ubuntu\", \"os_version\": \"20.04\"}" -for i in $(seq 1 5); do - echo "attempt $i" - curl -v -f -d "$payload" http://paddles:8080/nodes/ && break - sleep 1 -done -mkdir -p /run/sshd -exec /usr/sbin/sshd -D diff --git a/docs/docker-compose/testnode_start.sh b/docs/docker-compose/testnode_start.sh new file mode 100755 index 0000000000..d29c3b6d0a --- /dev/null +++ b/docs/docker-compose/testnode_start.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +set -x +echo "$SSH_PUBKEY" > /root/.ssh/authorized_keys +echo "$SSH_PUBKEY" > /home/ubuntu/.ssh/authorized_keys +chown ubuntu /home/ubuntu/.ssh/authorized_keys +payload="{\"name\": \"$(hostname)\", \"machine_type\": \"testnode\", \"up\": true, \"locked\": false, \"os_type\": \"ubuntu\", \"os_version\": \"20.04\"}" +for i in $(seq 1 5); do + echo "attempt $i" + curl -v -f -d "$payload" http://paddles:8080/nodes/ && break + sleep 1 +done +mkdir -p /run/sshd +exec /usr/sbin/sshd -D diff --git a/docs/docker-compose/testnode_stop.sh b/docs/docker-compose/testnode_stop.sh new file mode 100755 index 0000000000..2e1044d807 --- /dev/null +++ b/docs/docker-compose/testnode_stop.sh @@ -0,0 +1,10 @@ +#!/usr/bin/bash +set -x +hostname=$(hostname) +payload="{\"name\": \"$hostname\", \"machine_type\": \"testnode\", \"up\": false}" +for i in $(seq 1 5); do + echo "attempt $i" + curl -s -f -X PUT -d "$payload" http://paddles:8080/nodes/$hostname/ && break + sleep 1 +done +pkill sshd \ No newline at end of file diff --git a/teuthology/nuke/__init__.py b/teuthology/nuke/__init__.py index 47a96cd2ce..09e16cbe07 100644 --- a/teuthology/nuke/__init__.py +++ b/teuthology/nuke/__init__.py @@ -327,7 +327,11 @@ def nuke_helper(ctx, should_unlock, keep_logs, should_reboot): provision.pelagos.park_node(host) return elif remote.is_container: - remote.run(args=['sudo', 'killall', 'sshd']) + remote.run( + args=['sudo', '/testnode_stop.sh'], + check_status=False, + ) + return if (not ctx.noipmi and 'ipmi_user' in config and 'vpm' not in shortname): try: