mirror of
https://github.com/rancher/os.git
synced 2025-09-04 00:04:25 +00:00
add --qind
to scripts/run
and scripts/ssh
also add `--fresh` to `scripts/run` to run with a clean state HDD, make `--qemu` the default in `scripts/run` and `scripts/ssh`
This commit is contained in:
@@ -2,7 +2,8 @@ FROM debian:jessie
|
|||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get -y dist-upgrade && \
|
apt-get -y dist-upgrade && \
|
||||||
apt-get -y install locales sudo vim less curl wget git rsync build-essential syslinux isolinux xorriso \
|
apt-get -y install locales sudo vim less curl wget git rsync build-essential syslinux isolinux xorriso \
|
||||||
libblkid-dev libmount-dev libselinux1-dev cpio python-pip ca-certificates
|
libblkid-dev libmount-dev libselinux1-dev cpio genisoimage qemu-kvm python-pip ca-certificates
|
||||||
|
RUN ln -s /usr/bin/genisoimage /usr/bin/mkisofs
|
||||||
RUN locale-gen en_US.UTF-8
|
RUN locale-gen en_US.UTF-8
|
||||||
ENV LANG en_US.UTF-8
|
ENV LANG en_US.UTF-8
|
||||||
ENV LC_ALL en_US.UTF-8
|
ENV LC_ALL en_US.UTF-8
|
||||||
|
@@ -9,4 +9,4 @@ fi
|
|||||||
|
|
||||||
docker build -t ros-build-base -f Dockerfile.build-base .
|
docker build -t ros-build-base -f Dockerfile.build-base .
|
||||||
docker build -t ros-build -f Dockerfile.build .
|
docker build -t ros-build -f Dockerfile.build .
|
||||||
./scripts/docker-run.sh --name ros-ci make -f Makefile.docker build-all integration-tests
|
./scripts/docker-run.sh --name ros-ci make -f Makefile.docker minimal integration-tests
|
||||||
|
257
scripts/run
257
scripts/run
@@ -7,30 +7,13 @@ cd $(dirname $0)/..
|
|||||||
source scripts/build-common
|
source scripts/build-common
|
||||||
|
|
||||||
BASE=$(pwd)
|
BASE=$(pwd)
|
||||||
UNAME=$(uname)
|
|
||||||
|
|
||||||
# Linux and Darwin SHA1 sum binary are different, pick which to use
|
|
||||||
if [ "$UNAME" == "Darwin" ]; then sha1sum=$(which shasum)
|
|
||||||
elif [ "$UNAME" == "Linux" ]; then sha1sum=$(which sha1sum);
|
|
||||||
fi
|
|
||||||
|
|
||||||
KERNEL=${BASE}/dist/artifacts/vmlinuz
|
KERNEL=${BASE}/dist/artifacts/vmlinuz
|
||||||
INITRD=${BASE}/dist/artifacts/initrd
|
INITRD=${BASE}/dist/artifacts/initrd
|
||||||
NO_COMPRESS_INITRD=${INITRD}.none
|
|
||||||
HD=${BASE}/state/empty-hd.img
|
|
||||||
HD_GZ=${BASE}/assets/empty-hd.img.gz
|
|
||||||
INITRD_TMP=${BUILD}/$(${sha1sum} ${INITRD} | awk '{print $1}')
|
|
||||||
INITRD_CURRENT=${BUILD}/initrd-current
|
|
||||||
INITRD_TEST=${BUILD}/initrd.test
|
|
||||||
USER_DATA=${BUILD}/cloud-config/openstack/latest/user_data
|
|
||||||
FORMAT=1
|
|
||||||
|
|
||||||
# PREREQ: brew install coreutils
|
QEMU=1
|
||||||
path() {
|
FORMAT=1
|
||||||
if [ "$UNAME" == "Darwin" ]; then greadlink -f "$1"
|
REBUILD=1
|
||||||
elif [ "$UNAME" == "Linux" ]; then readlink -f "$1";
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
while [ "$#" -gt 0 ]; do
|
while [ "$#" -gt 0 ]; do
|
||||||
case $1 in
|
case $1 in
|
||||||
@@ -38,22 +21,43 @@ while [ "$#" -gt 0 ]; do
|
|||||||
shift 1
|
shift 1
|
||||||
QEMU_APPEND="${QEMU_APPEND} $1"
|
QEMU_APPEND="${QEMU_APPEND} $1"
|
||||||
;;
|
;;
|
||||||
|
--name)
|
||||||
|
shift 1
|
||||||
|
NAME="$1"
|
||||||
|
;;
|
||||||
--cloud-config)
|
--cloud-config)
|
||||||
shift 1
|
shift 1
|
||||||
CLOUD_CONFIG=$(path "$1") || :
|
CLOUD_CONFIG="$1" || :
|
||||||
if [ ! -f ${CLOUD_CONFIG} ]; then
|
if [ ! -f ${CLOUD_CONFIG} ]; then
|
||||||
echo No such file: "'"${CLOUD_CONFIG}"'" 1>&2
|
echo No such file: "'"${CLOUD_CONFIG}"'" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
--xhyve)
|
--xhyve)
|
||||||
if [ "$UNAME" == "Darwin" ] && [ -x $(which xhyve) ]; then
|
if [ -x $(which xhyve) ]; then
|
||||||
XHYVE=1
|
XHYVE=1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
--qemu)
|
||||||
|
if [ -x $(which qemu-system-x86_64) ]; then
|
||||||
|
QEMU=1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
--qind)
|
||||||
|
QIND=1
|
||||||
|
;;
|
||||||
|
--kvm)
|
||||||
|
KVM=1
|
||||||
|
;;
|
||||||
--no-format)
|
--no-format)
|
||||||
FORMAT=0
|
FORMAT=0
|
||||||
;;
|
;;
|
||||||
|
--no-rebuild)
|
||||||
|
REBUILD=0
|
||||||
|
;;
|
||||||
|
--fresh)
|
||||||
|
FRESH=1
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
@@ -66,51 +70,38 @@ if [[ ! -e ${KERNEL} || ! -e ${INITRD} ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d ${INITRD_TMP} ]; then
|
UNAME=$(uname)
|
||||||
mkdir -p ${INITRD_TMP}
|
# Linux and Darwin SHA1 sum binary are different, pick which to use
|
||||||
pushd ${INITRD_TMP}
|
if [ "$UNAME" == "Darwin" ]; then sha1sum=$(which shasum)
|
||||||
if [ -e ${NO_COMPRESS_INITRD} ]; then
|
elif [ "$UNAME" == "Linux" ]; then sha1sum=$(which sha1sum);
|
||||||
cat ${NO_COMPRESS_INITRD} | cpio -idmv
|
fi
|
||||||
else
|
|
||||||
|
if [ "$REBUILD" == "1" ]; then
|
||||||
|
INITRD_TMP=${BUILD}/$(${sha1sum} ${INITRD} | awk '{print $1}')
|
||||||
|
INITRD_CURRENT=${BUILD}/initrd-current
|
||||||
|
INITRD_TEST=${BUILD}/initrd.test
|
||||||
|
|
||||||
|
if [ ! -d ${INITRD_TMP} ]; then
|
||||||
|
mkdir -p ${INITRD_TMP}
|
||||||
|
pushd ${INITRD_TMP}
|
||||||
xz -dc ${INITRD} | cpio -idmv
|
xz -dc ${INITRD} | cpio -idmv
|
||||||
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -e ${INITRD_CURRENT} ]; then
|
||||||
|
rm -f ${INITRD_CURRENT}
|
||||||
|
fi
|
||||||
|
|
||||||
|
ln -s ${INITRD_TMP} ${INITRD_CURRENT}
|
||||||
|
|
||||||
|
mkdir -p ${INITRD_TMP}/usr/{bin,share/ros}
|
||||||
|
cp bin/rancheros ${INITRD_TMP}/usr/bin/ros
|
||||||
|
cp -f os-config.yml ${INITRD_TMP}/usr/share/ros
|
||||||
|
|
||||||
|
pushd ${INITRD_TMP}
|
||||||
|
find . | cpio -H newc -o | gzip > ${INITRD_TEST}
|
||||||
popd
|
popd
|
||||||
fi
|
INITRD=${INITRD_TEST}
|
||||||
|
|
||||||
if [ -e ${INITRD_CURRENT} ]; then
|
|
||||||
rm -f ${INITRD_CURRENT}
|
|
||||||
fi
|
|
||||||
|
|
||||||
ln -sf ${INITRD_TMP} ${INITRD_CURRENT}
|
|
||||||
|
|
||||||
mkdir -p ${INITRD_TMP}/usr/{bin,share/ros}
|
|
||||||
cp bin/rancheros ${INITRD_TMP}/usr/bin/ros
|
|
||||||
cp -f os-config.yml ${INITRD_TMP}/usr/share/ros
|
|
||||||
|
|
||||||
pushd ${INITRD_TMP}
|
|
||||||
find . | cpio -H newc -o > ${INITRD_TEST}
|
|
||||||
popd
|
|
||||||
|
|
||||||
if [ ! -e ${HD} ]; then
|
|
||||||
mkdir -p $(dirname ${HD})
|
|
||||||
if [ "$XHYVE" == "1" ]; then qemu-img create -f raw -o size=10G ${HD}
|
|
||||||
else qemu-img create -f qcow2 -o size=10G ${HD}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p $(dirname $USER_DATA)
|
|
||||||
|
|
||||||
if [ -n "$CLOUD_CONFIG" ]; then
|
|
||||||
cat ${CLOUD_CONFIG} > ${USER_DATA}
|
|
||||||
else
|
|
||||||
echo "#cloud-config" > ${USER_DATA}
|
|
||||||
echo "ssh_authorized_keys:" >> ${USER_DATA}
|
|
||||||
echo " - $(<${BASE}/assets/rancher.key.pub)" >> ${USER_DATA}
|
|
||||||
for i in ${HOME}/.ssh/*.pub; do
|
|
||||||
if [ -e $i ]; then
|
|
||||||
echo " - $(<$i)" >> ${USER_DATA}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
KERNEL_ARGS="quiet rancher.password=rancher console=ttyS0 ${QEMU_APPEND}"
|
KERNEL_ARGS="quiet rancher.password=rancher console=ttyS0 ${QEMU_APPEND}"
|
||||||
@@ -118,42 +109,114 @@ if [ "$FORMAT" == "1" ]; then
|
|||||||
KERNEL_ARGS="${KERNEL_ARGS} rancher.state.formatzero=true rancher.state.autoformat=[/dev/sda,/dev/vda]"
|
KERNEL_ARGS="${KERNEL_ARGS} rancher.state.formatzero=true rancher.state.autoformat=[/dev/sda,/dev/vda]"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CLOUD_CONFIG_ISO="${BUILD}/cloud-config.iso"
|
if [ "$KVM" == "" ] && [ -c /dev/kvm ] && [ -r /dev/kvm ] && [ -w /dev/kvm ]; then
|
||||||
rm -rf ${CLOUD_CONFIG_ISO}
|
KVM=1
|
||||||
|
fi
|
||||||
|
|
||||||
mkisofs -R -V config-2 -o "${CLOUD_CONFIG_ISO}" "$BUILD/cloud-config"
|
if [ "$XHYVE" == "1" ] || [ "$QEMU" == "1" ]; then
|
||||||
|
|
||||||
if [ "$XHYVE" == "1" ]; then
|
HD=${BASE}/state/hd.img
|
||||||
|
[ "$FRESH" == "1" ] && rm -f ${HD} >/dev/null 2>&1 || :
|
||||||
echo PWD=`pwd`
|
if [ ! -e ${HD} ]; then
|
||||||
exec sudo -n xhyve -A -H -P -u \
|
mkdir -p $(dirname ${HD})
|
||||||
-m 4G \
|
if [ "$XHYVE" == "1" ]; then qemu-img create -f raw -o size=10G ${HD}
|
||||||
-s 0:0,hostbridge -s 31,lpc \
|
else qemu-img create -f qcow2 -o size=10G ${HD}
|
||||||
-l com1,stdio \
|
fi
|
||||||
-s 2:0,virtio-net \
|
|
||||||
-s 3,ahci-cd,${CLOUD_CONFIG_ISO} \
|
|
||||||
-s 4,virtio-blk,${HD} \
|
|
||||||
-U a01fb25c-3a19-4759-a47a-2e353e51807d \
|
|
||||||
-f kexec,${KERNEL},${INITRD_TEST},"earlyprintk=serial elevator=noop ${KERNEL_ARGS}"
|
|
||||||
|
|
||||||
elif [ -x $(which qemu-system-x86_64) ]; then
|
|
||||||
if [ -c /dev/kvm ] && [ -r /dev/kvm ] && [ -w /dev/kvm ]; then
|
|
||||||
KVM_ENABLE="-machine accel=kvm -cpu host"
|
|
||||||
fi
|
fi
|
||||||
exec qemu-system-x86_64 -serial stdio \
|
|
||||||
-kernel ${KERNEL} \
|
USER_DATA=${BUILD}/cloud-config/openstack/latest/user_data
|
||||||
-initrd ${INITRD_TEST} \
|
mkdir -p $(dirname ${USER_DATA})
|
||||||
-m 1024 \
|
rm -f ${USER_DATA} || :
|
||||||
-net nic,vlan=0,model=virtio \
|
if [ -n "$CLOUD_CONFIG" ]; then
|
||||||
-net user,vlan=0,hostfwd=tcp::2222-:22,hostname=rancher-dev \
|
cat ${CLOUD_CONFIG} > ${USER_DATA}
|
||||||
-drive if=virtio,file=${HD} \
|
else
|
||||||
${KVM_ENABLE} \
|
echo "#cloud-config" > ${USER_DATA}
|
||||||
-smp 4 \
|
echo "ssh_authorized_keys:" >> ${USER_DATA}
|
||||||
-cdrom ${CLOUD_CONFIG_ISO} \
|
echo "- $(<${BASE}/assets/rancher.key.pub)" >> ${USER_DATA}
|
||||||
-append "${KERNEL_ARGS}" \
|
fi
|
||||||
-nographic \
|
|
||||||
-display none \
|
CLOUD_CONFIG_ISO="${BUILD}/cloud-config.iso"
|
||||||
${QEMU_ARGS} "${@}"
|
rm -rf ${CLOUD_CONFIG_ISO}
|
||||||
|
mkisofs -R -V config-2 -o "${CLOUD_CONFIG_ISO}" "$BUILD/cloud-config"
|
||||||
|
|
||||||
|
if [ "$XHYVE" == "1" ]; then
|
||||||
|
|
||||||
|
exec sudo -n xhyve -A -H -P -u \
|
||||||
|
-m 4G \
|
||||||
|
-s 0:0,hostbridge -s 31,lpc \
|
||||||
|
-l com1,stdio \
|
||||||
|
-s 2:0,virtio-net \
|
||||||
|
-s 3,ahci-cd,${CLOUD_CONFIG_ISO} \
|
||||||
|
-s 4,virtio-blk,${HD} \
|
||||||
|
-U a01fb25c-3a19-4759-a47a-2e353e51807d \
|
||||||
|
-f kexec,${KERNEL},${INITRD},"earlyprintk=serial elevator=noop ${KERNEL_ARGS}" \
|
||||||
|
"${@}"
|
||||||
|
|
||||||
|
elif [ "$QEMU" == "1" ]; then
|
||||||
|
|
||||||
|
if [ "$KVM" == "1" ]; then
|
||||||
|
KVM_ENABLE="-machine accel=kvm -cpu host"
|
||||||
|
fi
|
||||||
|
exec qemu-system-x86_64 -serial stdio \
|
||||||
|
-kernel ${KERNEL} \
|
||||||
|
-initrd ${INITRD} \
|
||||||
|
-m 1024 \
|
||||||
|
-net nic,vlan=0,model=virtio \
|
||||||
|
-net user,vlan=0,hostfwd=tcp::2222-:22,hostname=rancher-dev \
|
||||||
|
-drive if=virtio,file=${HD} \
|
||||||
|
${KVM_ENABLE} \
|
||||||
|
-smp 4 \
|
||||||
|
-cdrom ${CLOUD_CONFIG_ISO} \
|
||||||
|
-append "${KERNEL_ARGS}" \
|
||||||
|
-nographic \
|
||||||
|
-display none \
|
||||||
|
${QEMU_ARGS} \
|
||||||
|
"${@}"
|
||||||
|
|
||||||
|
else
|
||||||
|
exit 42
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif [ "$QIND" == "1" ]; then
|
||||||
|
|
||||||
|
NAME=${NAME:-ros-qind}
|
||||||
|
|
||||||
|
if [ "$FRESH" == "1" ]; then
|
||||||
|
docker rm -fv ${NAME} >/dev/null 2>&1 || :
|
||||||
|
fi
|
||||||
|
if ! docker inspect ${NAME} >/dev/null 2>&1; then
|
||||||
|
if [ "$KVM" == "1" ]; then
|
||||||
|
KVM_ENABLE="--device=/dev/kvm:/dev/kvm"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p ./tmp
|
||||||
|
TMP=$(mktemp -d ./tmp/ros-qind-XXXXXX)
|
||||||
|
mkdir -p ${TMP}/stuff
|
||||||
|
trap "rm -rf ${TMP}" EXIT
|
||||||
|
ln ${CLOUD_CONFIG} ${KERNEL} ${INITRD} ./assets/rancher.key ./assets/rancher.key.pub ${TMP}/stuff/
|
||||||
|
|
||||||
|
KERNEL_FILE=$(basename ${KERNEL})
|
||||||
|
INITRD_FILE=$(basename ${INITRD})
|
||||||
|
|
||||||
|
if [ -n "$CLOUD_CONFIG" ]; then
|
||||||
|
CLOUD_CONFIG_ENABLE="--cloud-config /stuff/$(basename ${CLOUD_CONFIG})"
|
||||||
|
else
|
||||||
|
SSH_PUB_ENABLE="--ssh-pub /stuff/rancher.key.pub"
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker create --name=${NAME} -it ${KVM_ENABLE} \
|
||||||
|
rancher/qind \
|
||||||
|
--hostname "rancher-dev" \
|
||||||
|
${CLOUD_CONFIG_ENABLE} \
|
||||||
|
${SSH_PUB_ENABLE} \
|
||||||
|
-m 1G -kernel /stuff/${KERNEL_FILE} -initrd /stuff/${INITRD_FILE} -append "${KERNEL_ARGS}" \
|
||||||
|
"${@}"
|
||||||
|
|
||||||
|
docker cp ${TMP}/stuff ${NAME}:/stuff
|
||||||
|
rm -rf ${TMP}
|
||||||
|
fi
|
||||||
|
exec docker start -ai ${NAME}
|
||||||
|
|
||||||
else
|
else
|
||||||
exit 42
|
exit 42
|
||||||
fi
|
fi
|
||||||
|
40
scripts/ssh
40
scripts/ssh
@@ -5,26 +5,52 @@ cd $(dirname $0)/..
|
|||||||
|
|
||||||
chmod 0600 ./assets/rancher.key
|
chmod 0600 ./assets/rancher.key
|
||||||
|
|
||||||
|
QEMU=1
|
||||||
UNAME=$(uname)
|
UNAME=$(uname)
|
||||||
|
INTERACTIVE="-it"
|
||||||
|
|
||||||
while [ "$#" -gt 0 ]; do
|
while [ "$#" -gt 0 ]; do
|
||||||
case $1 in
|
case $1 in
|
||||||
--xhyve)
|
--name)
|
||||||
shift 1
|
shift 1
|
||||||
if [ "$UNAME" == "Darwin" ] && [ -x $(which xhyve) ]; then
|
NAME="$1"
|
||||||
XHYVE=1
|
;;
|
||||||
fi
|
--notty)
|
||||||
|
INTERACTIVE=""
|
||||||
|
;;
|
||||||
|
--xhyve)
|
||||||
|
XHYVE=1
|
||||||
|
;;
|
||||||
|
--qemu)
|
||||||
|
QEMU=1
|
||||||
|
;;
|
||||||
|
--qind)
|
||||||
|
QIND=1
|
||||||
|
;;
|
||||||
|
--key)
|
||||||
|
shift 1
|
||||||
|
KEY="$1"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
shift 1
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$XHYVE" == "1" ]; then
|
if [ "$XHYVE" == "1" ]; then
|
||||||
HOST=192.168.64.2 # consult `/var/db/dhcpd_leases` or delete it
|
HOST=192.168.64.2 # consult `/var/db/dhcpd_leases` or delete it
|
||||||
exec ssh -F ./assets/scripts_ssh_config -i ./assets/rancher.key rancher@${HOST} "$@"
|
exec ssh -F ./assets/scripts_ssh_config -i ${KEY:-./assets/rancher.key} rancher@${HOST} "$@"
|
||||||
|
elif [ "$QEMU" == "1" ]; then
|
||||||
|
exec ssh -p 2222 -F ./assets/scripts_ssh_config -i ${KEY:-./assets/rancher.key} rancher@localhost "$@"
|
||||||
|
elif [ "$QIND" == "1" ]; then
|
||||||
|
NAME=${NAME:-ros-qind}
|
||||||
|
if [ -n "$KEY" ]; then
|
||||||
|
docker inspect ${NAME} >/dev/null 2>&1 || exit 1
|
||||||
|
docker cp ${KEY} ${NAME}:/stuff/$(basename ${KEY})
|
||||||
|
KEY_FILE=/stuff/$(basename ${KEY})
|
||||||
|
fi
|
||||||
|
exec docker exec ${INTERACTIVE} ${NAME} /ssh.sh -i ${KEY_FILE:-/stuff/rancher.key} rancher@localhost "$@"
|
||||||
else
|
else
|
||||||
exec ssh -p 2222 -F ./assets/scripts_ssh_config -i ./assets/rancher.key rancher@localhost "$@"
|
exit 42
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@@ -7,4 +7,4 @@ cp ./tests/integration/assets/test_02/build.conf ./
|
|||||||
|
|
||||||
make -f Makefile.docker minimal
|
make -f Makefile.docker minimal
|
||||||
|
|
||||||
exec ./scripts/run
|
exec ./scripts/run --qemu --no-rebuild --fresh
|
||||||
|
@@ -31,8 +31,8 @@ def test_run_system_container(qemu):
|
|||||||
u.wait_for_ssh()
|
u.wait_for_ssh()
|
||||||
|
|
||||||
ssh = subprocess.Popen(
|
ssh = subprocess.Popen(
|
||||||
'./scripts/ssh sudo system-docker run --rm busybox /bin/true', shell=True,
|
'./scripts/ssh --qemu sudo system-docker run --rm busybox /bin/true',
|
||||||
stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True)
|
shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True)
|
||||||
|
|
||||||
for ln in u.iter_lines(ssh.stdout):
|
for ln in u.iter_lines(ssh.stdout):
|
||||||
print(ln)
|
print(ln)
|
||||||
|
@@ -5,8 +5,7 @@ import subprocess
|
|||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
|
||||||
ssh_command = ['ssh', '-p', '2222', '-F', './assets/scripts_ssh_config', '-i', './tests/integration/assets/test.key',
|
ssh_command = ['./scripts/ssh', '--qemu', '--key', './tests/integration/assets/test.key']
|
||||||
'rancher@localhost']
|
|
||||||
cloud_config_path = './tests/integration/assets/test_01/cloud-config.yml'
|
cloud_config_path = './tests/integration/assets/test_01/cloud-config.yml'
|
||||||
|
|
||||||
|
|
||||||
|
@@ -4,8 +4,7 @@ import subprocess
|
|||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
|
||||||
ssh_command = ['ssh', '-p', '2222', '-F', './assets/scripts_ssh_config', '-i', './tests/integration/assets/test.key',
|
ssh_command = ['./scripts/ssh', '--qemu', '--key', './tests/integration/assets/test.key']
|
||||||
'rancher@localhost']
|
|
||||||
cloud_config_path = './tests/integration/assets/test_03/cloud-config.yml'
|
cloud_config_path = './tests/integration/assets/test_03/cloud-config.yml'
|
||||||
|
|
||||||
|
|
||||||
|
@@ -4,6 +4,9 @@ import subprocess
|
|||||||
import time
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
ros_test = 'ros-test'
|
||||||
|
|
||||||
|
|
||||||
def iter_lines(s):
|
def iter_lines(s):
|
||||||
return it.imap(str.rstrip, iter(s.readline, ''))
|
return it.imap(str.rstrip, iter(s.readline, ''))
|
||||||
|
|
||||||
@@ -44,10 +47,8 @@ def rancheros_version(build_conf):
|
|||||||
|
|
||||||
|
|
||||||
def run_qemu(request, run_args=[]):
|
def run_qemu(request, run_args=[]):
|
||||||
subprocess.check_call('rm -f ./state/empty-hd.img', shell=True)
|
|
||||||
print('\nrm ./state/*')
|
|
||||||
print('\nStarting QEMU')
|
print('\nStarting QEMU')
|
||||||
p = subprocess.Popen(['./scripts/run'] + run_args,
|
p = subprocess.Popen(['./scripts/run', '--qemu', '--no-rebuild', '--fresh'] + run_args,
|
||||||
stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True)
|
stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True)
|
||||||
|
|
||||||
def fin():
|
def fin():
|
||||||
@@ -59,6 +60,6 @@ def run_qemu(request, run_args=[]):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.timeout(10)
|
@pytest.mark.timeout(10)
|
||||||
def wait_for_ssh(ssh_command=['./scripts/ssh']):
|
def wait_for_ssh(ssh_command=['./scripts/ssh', '--qemu']):
|
||||||
while subprocess.call(ssh_command + ['/bin/true']) != 0:
|
while subprocess.call(ssh_command + ['docker version >/dev/null 2>&1']) != 0:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
Reference in New Issue
Block a user