]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
testnode: Add stop script
authorZack Cerza <zack@redhat.com>
Fri, 4 Feb 2022 00:04:59 +0000 (17:04 -0700)
committerZack Cerza <zack@redhat.com>
Mon, 28 Mar 2022 21:28:37 +0000 (15:28 -0600)
So that each container marks itself down before stopping.

Signed-off-by: Zack Cerza <zack@redhat.com>
docs/docker-compose/Dockerfile-testnode
docs/docker-compose/testnode.sh [deleted file]
docs/docker-compose/testnode_start.sh [new file with mode: 0755]
docs/docker-compose/testnode_stop.sh [new file with mode: 0755]
teuthology/nuke/__init__.py

index 929901b08c7a9e1c1bc9dbc03e095e5a0d675275..7da6b877688031bb70258287f56b7613505e0713 100644 (file)
@@ -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 (executable)
index d29c3b6..0000000
+++ /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 (executable)
index 0000000..d29c3b6
--- /dev/null
@@ -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 (executable)
index 0000000..2e1044d
--- /dev/null
@@ -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
index 47a96cd2ce3321182a66c18b52eb09418494ccd3..09e16cbe07a34a99e06e67be4e26cd95e107ed6e 100644 (file)
@@ -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: