So that each container marks itself down before stopping.
Signed-off-by: Zack Cerza <zack@redhat.com>
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 '' && \
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
+++ /dev/null
-#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
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: