+++ /dev/null
-queue_host: beanstalk
-queue_port: 11300
-lock_server: http://paddles:8080
-results_server: http://paddles:8080
-results_ui_server: http://pulpito:8081/
-teuthology_path: /teuthology
-archive_base: /archive_dir
-reserve_machines: 0
-lab_domain: ''
\ No newline at end of file
+++ /dev/null
-FROM ubuntu:latest
-ARG SSH_PRIVKEY_FILE=id_ed25519
-ENV DEBIAN_FRONTEND=noninteractive
-RUN apt-get update && \
- apt-get install -y \
- git \
- qemu-utils \
- python3-dev \
- libssl-dev \
- ipmitool \
- python3-pip \
- python3-virtualenv \
- vim \
- libev-dev \
- libvirt-dev \
- libffi-dev \
- libyaml-dev \
- lsb-release && \
- apt-get clean all
-COPY . /teuthology
-COPY .teuthology.yaml ./root
-WORKDIR /teuthology
-RUN \
- mkdir ../archive_dir && \
- mkdir log && \
- chmod +x /teuthology/bootstrap && \
- ./bootstrap
-RUN \
- mkdir $HOME/.ssh && \
- touch $HOME/.ssh/${SSH_PRIVKEY_FILE} && \
- chmod 600 $HOME/.ssh/${SSH_PRIVKEY_FILE} && \
- echo "StrictHostKeyChecking=no" > $HOME/.ssh/config && \
- echo "UserKnownHostsFile=/dev/null" >> $HOME/.ssh/config
-COPY teuthology.sh /
-RUN mkdir -p /etc/ansible
-COPY ansible_inventory/hosts ansible_inventory/secrets /etc/ansible/
-ENTRYPOINT /teuthology.sh
\ No newline at end of file
+++ /dev/null
-FROM ubuntu:latest
-ENV DEBIAN_FRONTEND=noninteractive
-RUN apt update && \
- apt -y install \
- sudo \
- openssh-server \
- hostname \
- curl \
- python3-pip \
- apache2 \
- nfs-kernel-server && \
- apt clean all
-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 '' && \
- sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config && \
- mkdir -p /root/.ssh && \
- chmod 700 /root/.ssh && \
- useradd -g sudo ubuntu && \
- mkdir -p /home/ubuntu/.ssh && \
- chmod 700 /home/ubuntu/.ssh && \
- chown -R ubuntu /home/ubuntu
-EXPOSE 22
-ENTRYPOINT /testnode_start.sh
\ No newline at end of file
+++ /dev/null
-overrides:
- ansible.cephlab:
- skip_tags: "timezone,nagios,monitoring-scripts,ssh,hostname,pubkeys,zap,sudoers,kerberos,selinux,lvm,ntp-client,resolvconf,packages,cpan,nfs"
- vars:
- containerized_node: true
- ansible_user: root
- cm_user: root
- start_rpcbind: false
TESTNODES:
testnode:
build:
- context: .
- dockerfile: ./Dockerfile-testnode
+ context: ./testnode
+ dockerfile: ./Dockerfile
deploy:
replicas: 3
depends_on:
#!/bin/bash
set -e
+pushd teuthology
if [ -z "$TEUTHOLOGY_BRANCH" -a -n "$GITHUB_HEAD_REF" ]; then
TEUTHOLOGY_BRANCH=${GITHUB_HEAD_REF}
fi
-b ${TEUTHOLOGY_BRANCH:-$(git branch --show-current)} \
https://github.com/ceph/teuthology.git
fi
+popd
if [ -n "$ANSIBLE_INVENTORY_REPO" ]; then
basename=$(basename $ANSIBLE_INVENTORY_REPO | cut -d. -f1)
if [ ! -d "$basename" ]; then
# Dockerfile does not cause a build failure when not using this feature.
mkdir -p teuthology/ansible_inventory/hosts teuthology/ansible_inventory/secrets
-cp .teuthology.yaml teuthology/
-cp Dockerfile teuthology/
-cp teuthology.sh teuthology/
-cp containerized_node.yaml teuthology/
if [ -n "$CUSTOM_CONF" ]; then
cp "$CUSTOM_CONF" teuthology/
fi
-
-
# Generate an SSH keypair to use if necessary
if [ -z "$SSH_PRIVKEY_PATH" ]; then
SSH_PRIVKEY_PATH=$(mktemp -u /tmp/teuthology-ssh-key-XXXXXX)
--- /dev/null
+FROM ubuntu:latest
+ENV DEBIAN_FRONTEND=noninteractive
+RUN apt update && \
+ apt -y install \
+ sudo \
+ openssh-server \
+ hostname \
+ curl \
+ python3-pip \
+ apache2 \
+ nfs-kernel-server && \
+ apt clean all
+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 '' && \
+ sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config && \
+ mkdir -p /root/.ssh && \
+ chmod 700 /root/.ssh && \
+ useradd -g sudo ubuntu && \
+ mkdir -p /home/ubuntu/.ssh && \
+ chmod 700 /home/ubuntu/.ssh && \
+ chown -R ubuntu /home/ubuntu
+EXPOSE 22
+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
+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
--- /dev/null
+%sudo ALL=(ALL) NOPASSWD: ALL
+# For ansible pipelining
+Defaults !requiretty
+Defaults visiblepw
+++ /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
+++ /dev/null
-%sudo ALL=(ALL) NOPASSWD: ALL
-# For ansible pipelining
-Defaults !requiretty
-Defaults visiblepw
+++ /dev/null
-#!/usr/bin/bash
-# We don't want -x yet, in case the private key is sensitive
-if [ -n "$SSH_PRIVKEY_FILE" ]; then
- echo "$SSH_PRIVKEY" > $HOME/.ssh/$SSH_PRIVKEY_FILE
-fi
-source /teuthology/virtualenv/bin/activate
-set -x
-if [ -n "$TESTNODES" ]; then
- for node in $(echo $TESTNODES | tr , ' '); do
- teuthology-update-inventory -m $MACHINE_TYPE $node
- done
- CUSTOM_CONF=${CUSTOM_CONF:-}
-else
- CUSTOM_CONF=/teuthology/containerized_node.yaml
-fi
-export MACHINE_TYPE=${MACHINE_TYPE:-testnode}
-teuthology-suite -v \
- --ceph-repo https://github.com/ceph/ceph.git \
- --suite-repo https://github.com/ceph/ceph.git \
- -c master \
- -m $MACHINE_TYPE \
- --limit 1 \
- -n 100 \
- --suite teuthology:no-ceph \
- --filter-out "libcephfs,kclient,stream,centos,rhel" \
- -d ubuntu -D 20.04 \
- --suite-branch master \
- --subset 9000/100000 \
- -p 75 \
- --seed 349 \
- --force-priority \
- $CUSTOM_CONF
-teuthology-dispatcher -v \
- --log-dir /teuthology/log \
- --tube $MACHINE_TYPE \
- --exit-on-empty-queue
\ No newline at end of file
--- /dev/null
+queue_host: beanstalk
+queue_port: 11300
+lock_server: http://paddles:8080
+results_server: http://paddles:8080
+results_ui_server: http://pulpito:8081/
+teuthology_path: /teuthology
+archive_base: /archive_dir
+reserve_machines: 0
+lab_domain: ''
\ No newline at end of file
--- /dev/null
+FROM ubuntu:latest
+ARG SSH_PRIVKEY_FILE=id_ed25519
+ENV DEBIAN_FRONTEND=noninteractive
+RUN apt-get update && \
+ apt-get install -y \
+ git \
+ qemu-utils \
+ python3-dev \
+ libssl-dev \
+ ipmitool \
+ python3-pip \
+ python3-virtualenv \
+ vim \
+ libev-dev \
+ libvirt-dev \
+ libffi-dev \
+ libyaml-dev \
+ lsb-release && \
+ apt-get clean all
+WORKDIR /teuthology
+COPY teuthology /teuthology
+RUN \
+ cd /teuthology && \
+ mkdir ../archive_dir && \
+ mkdir log && \
+ chmod +x /teuthology/bootstrap && \
+ ./bootstrap
+COPY containerized_node.yaml /teuthology
+COPY .teuthology.yaml /root
+RUN \
+ mkdir $HOME/.ssh && \
+ touch $HOME/.ssh/${SSH_PRIVKEY_FILE} && \
+ chmod 600 $HOME/.ssh/${SSH_PRIVKEY_FILE} && \
+ echo "StrictHostKeyChecking=no" > $HOME/.ssh/config && \
+ echo "UserKnownHostsFile=/dev/null" >> $HOME/.ssh/config
+COPY teuthology.sh /
+RUN mkdir -p /etc/ansible
+COPY ansible_inventory/hosts ansible_inventory/secrets /etc/ansible/
+ENTRYPOINT /teuthology.sh
\ No newline at end of file
--- /dev/null
+overrides:
+ ansible.cephlab:
+ skip_tags: "timezone,nagios,monitoring-scripts,ssh,hostname,pubkeys,zap,sudoers,kerberos,selinux,lvm,ntp-client,resolvconf,packages,cpan,nfs"
+ vars:
+ containerized_node: true
+ ansible_user: root
+ cm_user: root
+ start_rpcbind: false
--- /dev/null
+#!/usr/bin/bash
+# We don't want -x yet, in case the private key is sensitive
+if [ -n "$SSH_PRIVKEY_FILE" ]; then
+ echo "$SSH_PRIVKEY" > $HOME/.ssh/$SSH_PRIVKEY_FILE
+fi
+source /teuthology/virtualenv/bin/activate
+set -x
+if [ -n "$TESTNODES" ]; then
+ for node in $(echo $TESTNODES | tr , ' '); do
+ teuthology-update-inventory -m $MACHINE_TYPE $node
+ done
+ CUSTOM_CONF=${CUSTOM_CONF:-}
+else
+ CUSTOM_CONF=/teuthology/containerized_node.yaml
+fi
+export MACHINE_TYPE=${MACHINE_TYPE:-testnode}
+teuthology-suite -v \
+ --ceph-repo https://github.com/ceph/ceph.git \
+ --suite-repo https://github.com/ceph/ceph.git \
+ -c master \
+ -m $MACHINE_TYPE \
+ --limit 1 \
+ -n 100 \
+ --suite teuthology:no-ceph \
+ --filter-out "libcephfs,kclient,stream,centos,rhel" \
+ -d ubuntu -D 20.04 \
+ --suite-branch master \
+ --subset 9000/100000 \
+ -p 75 \
+ --seed 349 \
+ --force-priority \
+ $CUSTOM_CONF
+teuthology-dispatcher -v \
+ --log-dir /teuthology/log \
+ --tube $MACHINE_TYPE \
+ --exit-on-empty-queue
\ No newline at end of file