summaryrefslogtreecommitdiffstats
path: root/tests/ci
diff options
context:
space:
mode:
authorliang gao <jean.gaoliang@huawei.com>2016-09-01 09:21:46 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2016-09-01 09:21:46 +0000
commitaed848064e0b4046ff05c2e438884e6ae7a029f1 (patch)
treef6be796901d7d98cf8b417a94079fb00a9565755 /tests/ci
parentf5966b387360aeef3416a0b6eb825e6e36c7d9b8 (diff)
parent3790f7bb070078da4b101ad8d33a176c9096e3ba (diff)
Merge "ARM64: Add support for aarch64 architecture"
Diffstat (limited to 'tests/ci')
-rw-r--r--tests/ci/docker/yardstick-ci/Dockerfile11
-rwxr-xr-xtests/ci/prepare_env.sh9
-rwxr-xr-xtests/ci/yardstick-verify58
3 files changed, 72 insertions, 6 deletions
diff --git a/tests/ci/docker/yardstick-ci/Dockerfile b/tests/ci/docker/yardstick-ci/Dockerfile
index da755d11d..5387babff 100644
--- a/tests/ci/docker/yardstick-ci/Dockerfile
+++ b/tests/ci/docker/yardstick-ci/Dockerfile
@@ -17,8 +17,19 @@ ENV REPOS_DIR /home/opnfv/repos
# Yardstick repo
ENV YARDSTICK_REPO_DIR ${REPOS_DIR}/yardstick
ENV RELENG_REPO_DIR ${REPOS_DIR}/releng
+RUN sed -i -e 's/^deb /deb [arch=amd64] /g' /etc/apt/sources.list
+RUN sed -i -e 's/^deb-src /# deb-src /g' /etc/apt/sources.list
+RUN echo "\n\
+deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty main universe multiverse restricted \n\
+deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main universe multiverse restricted \n\
+deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty-security main universe multiverse restricted \n\
+deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty-proposed main universe multiverse restricted" >> /etc/apt/sources.list
+RUN echo "vm.mmap_min_addr = 0" > /etc/sysctl.d/mmap_min_addr.conf
+RUN dpkg --add-architecture arm64
RUN apt-get update && apt-get install -y \
+ qemu-user-static \
+ libc6:arm64 \
wget \
expect \
curl \
diff --git a/tests/ci/prepare_env.sh b/tests/ci/prepare_env.sh
index 5529a6f73..bbd7b5553 100755
--- a/tests/ci/prepare_env.sh
+++ b/tests/ci/prepare_env.sh
@@ -84,6 +84,15 @@ if [ "$INSTALLER_TYPE" == "fuel" ]; then
sshpass -p r00tme scp 2>/dev/null $ssh_options \
root@${INSTALLER_IP}:~/.ssh/id_rsa /root/.ssh/id_rsa &> /dev/null
+ ARCH_SCRIPT="test -f /etc/fuel_openstack_arch && grep -q arm64 /etc/fuel_openstack_arch"
+ YARD_IMG_ARCH=amd64
+ sshpass -p r00tme ssh $ssh_options -l root $INSTALLER_IP "${ARCH_SCRIPT}" && YARD_IMG_ARCH=arm64
+ export YARD_IMG_ARCH
+
+ if ! grep -q "Defaults env_keep += \"YARD_IMG_ARCH\"" "/etc/sudoers"; then
+ sudo echo "Defaults env_keep += \"YARD_IMG_ARCH YARDSTICK_REPO_DIR\"" >> /etc/sudoers
+ fi
+
sshpass -p r00tme ssh 2>/dev/null $ssh_options \
root@${INSTALLER_IP} fuel node>fuel_node
diff --git a/tests/ci/yardstick-verify b/tests/ci/yardstick-verify
index 859c92c94..5ac0850df 100755
--- a/tests/ci/yardstick-verify
+++ b/tests/ci/yardstick-verify
@@ -44,7 +44,13 @@ DISPATCHER_TYPE=file
DISPATCHER_FILE_NAME="/tmp/yardstick.out"
DISPATCHER_HTTP_TARGET="http://testresults.opnfv.org/test/api/v1/results"
DISPATCHER_INFLUXDB_TARGET=
-
+UCA_HOST="cloud-images.ubuntu.com"
+if [ $YARD_IMG_ARCH = "arm64" ]; then
+ export VIVID_IMG_URL="http://${UCA_HOST}/vivid/current/vivid-server-cloudimg-arm64.tar.gz"
+ if ! grep -q "Defaults env_keep += \"VIVID_IMG_URL\"" "/etc/sudoers"; then
+ sudo echo "Defaults env_keep += \"VIVID_IMG_URL\"" >> /etc/sudoers
+ fi
+fi
while getopts "r:i:h" OPTION; do
case $OPTION in
h)
@@ -80,7 +86,8 @@ cleanup()
return
fi
- for image in $(glance image-list | grep -e cirros-0.3.3 -e yardstick-trusty-server -e Ubuntu-14.04 | awk '{print $2}'); do
+ for image in $(glance image-list | grep -e cirros-0.3.3 -e yardstick-trusty-server -e Ubuntu-14.04 \
+ -e yardstick-vivid-kernel | awk '{print $2}'); do
echo "Deleting image $image..."
glance image-delete $image || true
done
@@ -232,12 +239,43 @@ load_yardstick_image()
{
echo
echo "========== Loading yardstick cloud image =========="
+ EXTRA_PARAMS=""
+ if [ $YARD_IMG_ARCH = "arm64" ]; then
+ VIVID_IMAGE="/tmp/vivid-server-cloudimg-arm64.tar.gz"
+ VIVID_KERNEL="/tmp/vivid-server-cloudimg-arm64-vmlinuz-generic"
+ cd /tmp
+ if [ ! -f $VIVID_IMAGE ]; then
+ wget $VIVID_IMG_URL
+ fi
+ if [ ! -f $VIVID_KERNEL ]; then
+ tar zxf $VIVID_IMAGE $(basename $VIVID_KERNEL)
+ fi
+ create_vivid_kernel=$(glance --os-image-api-version 1 image-create \
+ --name yardstick-vivid-kernel \
+ --is-public true --disk-format qcow2 \
+ --container-format bare \
+ --file $VIVID_KERNEL)
+
+ GLANCE_KERNEL_ID=$(echo "$create_vivid_kernel" | grep " id " | awk '{print $(NF-1)}')
+ if [ -z "$GLANCE_KERNEL_ID" ]; then
+ echo 'Failed uploading kernel to cloud'.
+ exit 1
+ fi
+
+ command_line="root=/dev/vdb1 console=tty0 console=ttyS0 console=ttyAMA0 rw"
- output=$(glance --os-image-api-version 1 image-create \
+ EXTRA_PARAMS="--property kernel_id=$GLANCE_KERNEL_ID --property os_command_line=\"$command_line\""
+
+ rm -f $VIVID_KERNEL $VIVID_IMAGE
+ cd $YARDSTICK_REPO_DIR
+ fi
+ output=$(eval glance --os-image-api-version 1 image-create \
--name yardstick-trusty-server \
--is-public true --disk-format qcow2 \
--container-format bare \
+ $EXTRA_PARAMS \
--file $QCOW_IMAGE)
+
echo "$output"
GLANCE_IMAGE_ID=$(echo "$output" | grep " id " | awk '{print $(NF-1)}')
@@ -436,10 +474,18 @@ main()
build_yardstick_image
load_yardstick_image
- load_cirros_image
- load_ubuntu_image
+ if [ $YARD_IMG_ARCH = "arm64" ]; then
+ sed -i 's/image: cirros-0.3.3/image: TestVM/g' tests/opnfv/test_cases/opnfv_yardstick_tc002.yaml \
+ samples/ping.yaml
+ #We have overlapping IP with the real network
+ for filename in tests/opnfv/test_cases/*; do
+ sed -i "s/cidr: '10.0.1.0\/24'/cidr: '10.3.1.0\/24'/g" $filename
+ done
+ else
+ load_cirros_image
+ load_ubuntu_image
+ fi
create_nova_flavor
-
install_storperf
run_test
remove_storperf