Add network connectivity test

also add a skip-broken flag to yum update for the time-being
because a syslinux dependency: syslinux-nonlinux was not found
in centos mirrors. It is on the way though.
https://www.centos.org/forums/viewtopic.php?f=14&t=45933
Need 'yum clean all' to update metadata and get the latest package
list from mirros.
Fix a bug in prepare.sh. it didn't fetch the gerrit refs.
Restore some package pre-load scripts in prepare.sh to make CI faster.

Change-Id: I66f06bdfb801204fb956c7a264c98de879322744
This commit is contained in:
zhaoxinyu 2014-04-16 00:24:32 +00:00
parent 345d0e2c91
commit 1adc10c922
5 changed files with 48 additions and 13 deletions

View File

@ -25,19 +25,19 @@ if [[ "$?" != "0" ]]; then
exit 1
fi
sudo mkdir -p /var/chef/cookbooks/
sudo cp -r $ADAPTERS_HOME/chef/cookbooks/* /var/chef/cookbooks/
sudo mkdir -p /var/chef/cookbooks/
sudo cp -r $ADAPTERS_HOME/chef/cookbooks/* /var/chef/cookbooks/
if [ $? -ne 0 ]; then
echo "failed to copy cookbooks to /var/chef/cookbooks/"
exit 1
fi
sudo mkdir -p /var/chef/databags/
sudo cp -r $ADAPTERS_HOME/chef/databags/* /var/chef/databags/
sudo mkdir -p /var/chef/databags/
sudo cp -r $ADAPTERS_HOME/chef/databags/* /var/chef/databags/
if [ $? -ne 0 ]; then
echo "failed to copy databags to /var/chef/databags/"
exit 1
fi
sudo mkdir -p /var/chef/roles/
sudo mkdir -p /var/chef/roles/
sudo cp -r $ADAPTERS_HOME/chef/roles/* /var/chef/roles/
if [ $? -ne 0 ]; then
echo "failed to copy roles to /var/chef/roles/"

View File

@ -2,7 +2,7 @@
#
echo "Installing cobbler related packages"
sudo yum -y install cobbler cobbler-web createrepo mkisofs python-cheetah python-simplejson python-urlgrabber PyYAML Django cman debmirror pykickstart -y
sudo yum -y install cobbler cobbler-web createrepo mkisofs python-cheetah python-simplejson python-urlgrabber PyYAML Django cman debmirror pykickstart
if [[ "$?" != "0" ]]; then
echo "failed to install cobbler related packages"
exit 1

View File

@ -1,11 +1,12 @@
#!/bin/bash
echo 'Installing Required packages for Compass...'
sudo yum update -y
sudo yum clean all
sudo yum update -y --skip-broken
if [ "$tempest" == "true" ]; then
sudo yum install -y virt-install libvirt qemu-kvm libxml2-devel libxslt-devel python-devel sshpass openssl-devel
fi
sudo yum install -y rsyslog logrotate ntp iproute openssh-clients python python-devel git wget python-setuptools python-netaddr python-flask python-flask-sqlalchemy python-amqplib amqp python-paramiko python-mock mod_wsgi httpd squid dhcp bind rsync yum-utils xinetd tftp-server gcc net-snmp-utils net-snmp net-snmp-python python-daemon unzip openssl openssl098e ca-certificates redis python-redis
sudo yum install -y rsyslog logrotate ntp iproute openssh-clients python python-devel git wget python-setuptools syslinux python-netaddr python-flask python-flask-sqlalchemy python-amqplib amqp python-paramiko python-mock mod_wsgi httpd squid dhcp bind rsync yum-utils xinetd tftp-server gcc net-snmp-utils net-snmp net-snmp-python python-daemon unzip openssl openssl098e ca-certificates redis python-redis --skip-broken
if [[ "$?" != "0" ]]; then
echo "failed to install yum dependency"
exit 1

View File

@ -36,12 +36,11 @@ copy2dir()
cd $destdir
fi
gerrit_repo=$3
if [ -z $gerrit_repo ]; then
if [[ ! -z $gerrit_repo ]]; then
if [[ -n "$GERRIT_REFSPEC" ]];then
git fetch $gerrit_repo $GERRIT_REFSPEC && git checkout FETCH_HEAD
if [ $? -ne 0 ]; then
echo "failed to git fetch $gerrit_repo $GERRIT_REFSPEC"
exit 1
fi
fi
fi
@ -130,12 +129,12 @@ if [ -z $WEB_SOURCE ]; then
echo "web source $WEB_SOURCE is not set"
exit 1
fi
copy2dir $WEB_SOURCE $WEB_HOME $WEB_GERRIT_URL
copy2dir "$WEB_SOURCE" "$WEB_HOME" "$WEB_GERRIT_URL"
if [ -z $ADAPTERS_SOURCE ]; then
echo "adpaters source $ADAPTERS_SOURCE is not set"
exit 1
fi
copy2dir $ADAPTERS_SOURCE $ADAPTERS_HOME $ADAPTERS_GERRIT_URL
copy2dir "$ADAPTERS_SOURCE" "$ADAPTERS_HOME" "$ADAPTERS_GERRIT_URL"
if [ "$tempest" == "true" ]; then
if [[ ! -e /tmp/tempest ]]; then
@ -201,6 +200,33 @@ download()
# download js mvc
download http://github.com/downloads/bitovi/javascriptmvc/$JS_MVC.zip $JS_MVC.zip unzip $WEB_HOME/public/
# download cobbler related packages
ppa_repo_packages="ntp-4.2.6p5-1.el6.${IMAGE_TYPE,,}.$IMAGE_ARCH.rpm
openssh-clients-5.3p1-94.el6.${IMAGE_ARCH}.rpm
iproute-2.6.32-31.el6.${IMAGE_ARCH}.rpm
wget-1.12-1.8.el6.${IMAGE_ARCH}.rpm
ntpdate-4.2.6p5-1.el6.${IMAGE_TYPE,,}.${IMAGE_ARCH}.rpm"
for f in $ppa_repo_packages
do
download ftp://rpmfind.net/linux/${IMAGE_TYPE,,}/${IMAGE_VERSION_MAJOR}/os/${IMAGE_ARCH}/Packages/$f $f
done
ppa_repo_rsyslog_packages="json-c-0.10-2.el6.$IMAGE_ARCH.rpm
libestr-0.1.9-1.el6.$IMAGE_ARCH.rpm
libgt-0.3.11-1.el6.$IMAGE_ARCH.rpm
liblogging-1.0.4-1.el6.$IMAGE_ARCH.rpm
rsyslog-7.6.3-1.el6.$IMAGE_ARCH.rpm"
for f in $ppa_repo_rsyslog_packages
do
download http://rpms.adiscon.com/v7-stable/epel-6/${IMAGE_ARCH}/RPMS/$f $f
done
download "$IMAGE_SOURCE" ${IMAGE_NAME}-${IMAGE_ARCH}.iso
download $CHEF_CLIENT chef-client
# download chef related packages
download $CHEF_SRV chef-server
# Install net-snmp
sudo cp -rn /etc/snmp/snmp.conf /root/backup/
sudo mkdir -p /usr/local/share/snmp/

View File

@ -78,7 +78,7 @@ private_net_id=`quantum net-create --tenant_id $demo_tenant_id private |grep " i
quantum subnet-create --tenant_id $demo_tenant_id --ip_version 4 --gateway 10.1.0.1 $private_net_id 10.10.0.0/24
router_id=`quantum router-create --tenant_id $demo_tenant_id router1|grep " id " |awk '{print$4}'`
public_net_id=`quantum net-create public -- --router:external=True |grep " id " |awk '{print$4}'`
quantum subnet-create --ip_version 4 $public_net_id 172.24.4.0/28 -- --enable_dhcp=False
quantum subnet-create --ip_version 4 $public_net_id 172.24.4.0/24 -- --enable_dhcp=False
quantum router-gateway-set $router_id $public_net_id
iniset /etc/tempest/tempest.conf identity uri $OS_AUTH_URL
iniset /etc/tempest/tempest.conf identity admin_username $OS_USERNAME
@ -95,15 +95,23 @@ iniset /etc/tempest/tempest.conf whitebox whitebox_enabled false
iniset /etc/tempest/tempest.conf network public_network_id $public_net_id
iniset /etc/tempest/tempest.conf network public_router_id ''
iniset /etc/tempest/tempest.conf network quantum_available true
iniset /etc/tempest/tempest.conf network tenant_network_cidr '172.16.2.128/25'
#Start a smoke test against cloud without object storage and aws related tests
#as they are unavailable for now
if [[ $tempest_full == true ]]; then
nosetests --logging-format '%(asctime)-15s %(message)s' --with-xunit -sv --attr=type=smoke \
--xunit-file=nosetests-smoke.xml tempest -e object_storage -e boto
if [[ $tempest_network == true ]]; then
nosetests tempest.tests.network.test_network_basic_ops
fi
else
nosetests --logging-format '%(asctime)-15s %(message)s' --with-xunit --xunit-file=nosetests-smoke.xml \
-sv --attr=type=smoke --tests="\
tempest.tests.compute.servers.test_server_addresses:ServerAddressesTest.test_list_server_addresses,\
tempest.tests.compute.servers.test_create_server:ServersTestAutoDisk.test_verify_server_details,\
tempest.tests.volume.test_volumes_get:VolumesGetTest.test_volume_create_get_delete"
if [[ $tempest_network == true ]]; then
nosetests tempest.tests.network.test_network_basic_ops
fi
fi