+++ /dev/null
-# For beanstalkd 1.12 use edge branch
-#FROM alpine:edge
-
-FROM alpine:3.12.3
-
-MAINTAINER Kyrylo Shatskyy <kyrylo.shatskyy@suse.com>
-
-RUN apk update && apk add beanstalkd beanstalkd-doc
-
-ENV BEANSTALK_ADDR "0.0.0.0"
-ENV BEANSTALK_PORT "11300"
-
-CMD /usr/bin/beanstalkd -V -l $BEANSTALK_ADDR -p $BEANSTALK_PORT
--- /dev/null
+# For beanstalkd 1.12 use edge branch
+#FROM alpine:edge
+
+FROM alpine:3.12.3
+
+MAINTAINER Kyrylo Shatskyy <kyrylo.shatskyy@suse.com>
+
+RUN apk update && apk add beanstalkd beanstalkd-doc
+
+ENV BEANSTALK_ADDR "0.0.0.0"
+ENV BEANSTALK_PORT "11300"
+
+CMD /usr/bin/beanstalkd -V -l $BEANSTALK_ADDR -p $BEANSTALK_PORT
--- /dev/null
+set -e
+export PGPASSWORD=$POSTGRES_PASSWORD;
+psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
+ CREATE USER $APP_DB_USER WITH PASSWORD '$APP_DB_PASS';
+ CREATE DATABASE $APP_DB_NAME;
+ GRANT ALL PRIVILEGES ON DATABASE $APP_DB_NAME TO $APP_DB_USER;
+ \connect $APP_DB_NAME $APP_DB_USER
+EOSQL
\ No newline at end of file
--- /dev/null
+FROM ubuntu:focal
+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
--- /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
+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-venv \
+ vim \
+ libev-dev \
+ libvirt-dev \
+ libffi-dev \
+ libyaml-dev \
+ lsb-release && \
+ apt-get clean all
+WORKDIR /teuthology
+COPY requirements.txt bootstrap /teuthology/
+RUN \
+ cd /teuthology && \
+ mkdir ../archive_dir && \
+ mkdir log && \
+ chmod +x /teuthology/bootstrap && \
+ PIP_INSTALL_FLAGS="-r requirements.txt" ./bootstrap
+COPY . /teuthology
+RUN \
+ ./bootstrap
+COPY containers/teuthology-dev/containerized_node.yaml /teuthology
+COPY containers/teuthology-dev/.teuthology.yaml /root
+COPY containers/teuthology-dev/teuthology.sh /
+RUN mkdir -p /etc/ansible
+COPY containers/teuthology-dev/ansible_inventory/hosts /etc/ansible/
+COPY containers/teuthology-dev/ansible_inventory/secrets /etc/ansible/
+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
+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
+set -e
+# 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}
+if [ -z "$TEUTHOLOGY_WAIT" ]; then
+ if [ -n "$TEUTH_BRANCH" ]; then
+ TEUTH_BRANCH_FLAG="--teuthology-branch $TEUTH_BRANCH"
+ fi
+ teuthology-suite -v \
+ $TEUTH_BRANCH_FLAG \
+ --ceph-repo https://github.com/ceph/ceph.git \
+ --suite-repo https://github.com/ceph/ceph.git \
+ -c main \
+ -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 main \
+ --subset 9000/100000 \
+ -p 75 \
+ --seed 349 \
+ --force-priority \
+ $CUSTOM_CONF
+ DISPATCHER_EXIT_FLAG='--exit-on-empty-queue'
+ teuthology-queue -m $MACHINE_TYPE -s | \
+ python3 -c "import sys, json; assert json.loads(sys.stdin.read())['count'] > 0, 'queue is empty!'"
+fi
+teuthology-dispatcher -v \
+ --log-dir /teuthology/log \
+ --tube $MACHINE_TYPE \
+ $DISPATCHER_EXIT_FLAG
+++ /dev/null
-set -e
-export PGPASSWORD=$POSTGRES_PASSWORD;
-psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
- CREATE USER $APP_DB_USER WITH PASSWORD '$APP_DB_PASS';
- CREATE DATABASE $APP_DB_NAME;
- GRANT ALL PRIVILEGES ON DATABASE $APP_DB_NAME TO $APP_DB_USER;
- \connect $APP_DB_NAME $APP_DB_USER
-EOSQL
\ No newline at end of file
+++ /dev/null
-FROM ubuntu:focal
-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
+++ /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
-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-venv \
- vim \
- libev-dev \
- libvirt-dev \
- libffi-dev \
- libyaml-dev \
- lsb-release && \
- apt-get clean all
-WORKDIR /teuthology
-COPY requirements.txt bootstrap /teuthology/
-RUN \
- cd /teuthology && \
- mkdir ../archive_dir && \
- mkdir log && \
- chmod +x /teuthology/bootstrap && \
- PIP_INSTALL_FLAGS="-r requirements.txt" ./bootstrap
-COPY . /teuthology
-RUN \
- ./bootstrap
-COPY docs/docker-compose/teuthology/containerized_node.yaml /teuthology
-COPY docs/docker-compose/teuthology/.teuthology.yaml /root
-COPY docs/docker-compose/teuthology/teuthology.sh /
-RUN mkdir -p /etc/ansible
-COPY docs/docker-compose/teuthology/ansible_inventory/hosts /etc/ansible/
-COPY docs/docker-compose/teuthology/ansible_inventory/secrets /etc/ansible/
-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
-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
-set -e
-# 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}
-if [ -z "$TEUTHOLOGY_WAIT" ]; then
- if [ -n "$TEUTH_BRANCH" ]; then
- TEUTH_BRANCH_FLAG="--teuthology-branch $TEUTH_BRANCH"
- fi
- teuthology-suite -v \
- $TEUTH_BRANCH_FLAG \
- --ceph-repo https://github.com/ceph/ceph.git \
- --suite-repo https://github.com/ceph/ceph.git \
- -c main \
- -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 main \
- --subset 9000/100000 \
- -p 75 \
- --seed 349 \
- --force-priority \
- $CUSTOM_CONF
- DISPATCHER_EXIT_FLAG='--exit-on-empty-queue'
- teuthology-queue -m $MACHINE_TYPE -s | \
- python3 -c "import sys, json; assert json.loads(sys.stdin.read())['count'] > 0, 'queue is empty!'"
-fi
-teuthology-dispatcher -v \
- --log-dir /teuthology/log \
- --tube $MACHINE_TYPE \
- $DISPATCHER_EXIT_FLAG