X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=tests%2Fruntests.sh;h=a15a6e40ca3ac4401013bfdfcfef2dc419c3e27f;hb=33f494780fed13daabda23be6ceef83210e1d403;hp=a730baa8f0255dcd1fd1f121876ecff4f01a14df;hpb=fb5e17ca8cf2cab06c93a8a0a5949e3fea88b87d;p=openstack-build%2Fneutron-build.git diff --git a/tests/runtests.sh b/tests/runtests.sh index a730baa8f..a15a6e40c 100755 --- a/tests/runtests.sh +++ b/tests/runtests.sh @@ -1,9 +1,11 @@ -#!/bin/bash -ex +#!/bin/bash +set -ex PACKAGE=$1 UBUNTU=false FAILURE=false FAILED_TESTS="" +SERVICE_STARTED=false PLATFORM=$(python -mplatform) TOKEN=$(openssl rand -hex 10) MYSQL_PASS=mysql_pass @@ -21,13 +23,17 @@ install_packages() { then echo "mysql-server mysql-server/root_password select $MYSQL_PASS" | debconf-set-selections echo "mysql-server mysql-server/root_password_again select $MYSQL_PASS" | debconf-set-selections - apt-get install -y --force-yes rabbitmq-server mysql-server mysql-client-core-5.5 python-mysqldb keystone bridge-utils + apt-get install -y --force-yes rabbitmq-server mysql-server mysql-client-core-5.5 python-mysqldb keystone else - yum install -y openstack-keystone rabbitmq-server mysql-server MySQL-client python-oslo-utils bridge-utils + #yum install -y openstack-keystone rabbitmq-server mysql-server MySQL-client python-oslo-utils + yum install -y openstack-keystone rabbitmq-server python-oslo-utils + #CentOS 7 temporary workaround + yum install -y http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm + yum install -y mysql-community-server mysql-community-client #Install some plugins because they are required for db-migration scripts (bug #1371184) #Ubuntu neutron-server package include them - yum install -y openstack-neutron-bigswitch openstack-neutron-brocade openstack-neutron-cisco openstack-neutron-hyperv openstack-neutron-vmware openstack-neutron-openvswitch \ - openstack-neutron-linuxbridge openstack-neutron-metaplugin openstack-neutron-mellanox openstack-neutron-nec openstack-neutron-nuage + #yum install -y openstack-neutron-bigswitch openstack-neutron-brocade openstack-neutron-cisco openstack-neutron-hyperv openstack-neutron-vmware openstack-neutron-openvswitch \ + # openstack-neutron-ryu openstack-neutron-linuxbridge openstack-neutron-metaplugin openstack-neutron-mellanox openstack-neutron-nec openstack-neutron-nuage fi } @@ -40,13 +46,31 @@ install_neutron_server () { fi } +setup_rabbitmq () { + #Setup firewall on CentOS 7 + if ! $UBUNTU ; then + firewall-cmd --permanent --add-port=5672/tcp + firewall-cmd --reload + setsebool -P nis_enabled 1 + fi + + restart_service rabbitmq-server + if [ $? -ne 0 ]; then + echo "RabbitMQ server failed to start" + cat /var/log/rabbitmq/startup_err + cat /var/log/rabbitmq/startup_log + fi +} + setup_database() { #Setup databases - service mysql restart || service mysqld restart + restart_service mysql if ! $UBUNTU then mysqladmin -u root password $MYSQL_PASS fi + mysql -uroot -p$MYSQL_PASS -Bse "drop database if exists keystone" + mysql -uroot -p$MYSQL_PASS -Bse "drop database if exists neutron" mysql -uroot -p$MYSQL_PASS -Bse "create database keystone" mysql -uroot -p$MYSQL_PASS -Bse "create database neutron" mysql -uroot -p$MYSQL_PASS -Bse "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'neutron'" @@ -74,7 +98,7 @@ EOF then service keystone restart else - service openstack-keystone start + systemctl restart openstack-keystone fi sleep 10 #Setup Neutron credentials @@ -116,8 +140,6 @@ root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf [database] connection = mysql://neutron:neutron@127.0.0.1/neutron?charset=utf8 [service_providers] -service_provider=LOADBALANCER:Haproxy:neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default -service_provider=VPN:openswan:neutron.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default EOF cat > /etc/neutron/l3_agent.ini << EOF @@ -133,17 +155,7 @@ EOF fi touch /etc/neutron/plugin.ini - for i in {1..5} - do - service rabbitmq-server restart - if [ $? -eq 0 ]; then break; fi - echo "RabbitMQ server failed to start" - cat /var/log/rabbitmq/startup_err - cat /var/log/rabbitmq/startup_log - done - - #br-int is required for OVS agent - brctl addbr br-int + setup_rabbitmq } upgrade_neutron_db () { @@ -151,13 +163,14 @@ upgrade_neutron_db () { } start_neutron_server () { - service neutron-server restart + restart_service neutron-server # Sleep is to let Neutron server successfully reconnect to AMQP sleep 10 } try () { TEST_FUNCTION=$1 + SERVICE_STARTED=false for i in {1..5} do FAILURE=false @@ -171,6 +184,15 @@ try () { done } +restart_service () { + local SERVICE=$1 + if $UBUNTU; then + service $SERVICE restart + else + systemctl restart $SERVICE + fi +} + check_neutron_server() { #Execute tests neutron $NEUTRON_AUTH net-create mynet1 @@ -179,28 +201,32 @@ check_neutron_server() { } check_neutron_openvswitch () { - # Workaround for bug #1371184 if ! $UBUNTU then chown root:neutron /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini fi - if ! $UBUNTU - then - service openvswitch start - service neutron-openvswitch-agent start - else - service openvswitch-switch restart - service neutron-plugin-openvswitch-agent restart + + if ! $SERVICE_STARTED ; then + if $UBUNTU; then + restart_service openvswitch-switch + else + restart_service openvswitch + fi + restart_service neutron-openvswitch-agent + SERVICE_STARTED=true fi + sleep 10 STATUS=$(neutron $NEUTRON_AUTH agent-list | grep "Open vSwitch agent" | awk -F "|" '{print $5}' | tr -d " ") if [ "$STATUS" != ":-)" ]; then echo "OVS agent check failed"; FAILURE=true; fi } check_neutron_l3_agent () { - - service neutron-l3-agent restart + if ! $SERVICE_STARTED ; then + restart_service neutron-l3-agent + SERVICE_STARTED=true + fi #This sleep here and in other functions is intended to let the agent add information to the queue sleep 10 STATUS=$(neutron $NEUTRON_AUTH agent-list | grep "L3 agent" | awk -F "|" '{print $5}' | tr -d " ") @@ -208,24 +234,30 @@ check_neutron_l3_agent () { } check_neutron_dhcp_agent () { - - service neutron-dhcp-agent restart + if ! $SERVICE_STARTED ; then + restart_service neutron-dhcp-agent + SERVICE_STARTED=true + fi sleep 10 STATUS=$(neutron $NEUTRON_AUTH agent-list | grep "DHCP agent" | awk -F "|" '{print $5}' | tr -d " ") if [ "$STATUS" != ":-)" ]; then echo "DHCP agent check failed"; FAILURE=true; fi } check_neutron_metadata_agent () { - - service neutron-metadata-agent restart + if ! $SERVICE_STARTED ; then + restart_service neutron-metadata-agent + SERVICE_STARTED=true + fi sleep 10 STATUS=$(neutron $NEUTRON_AUTH agent-list | grep "Metadata agent" | awk -F "|" '{print $5}' | tr -d " ") if [ "$STATUS" != ":-)" ]; then echo "Metadata agent check failed"; FAILURE=true; fi } check_neutron_metering_agent () { - - service neutron-metering-agent restart + if ! $SERVICE_STARTED ; then + restart_service neutron-metering-agent + SERVICE_STARTED=true + fi sleep 10 STATUS=$(neutron $NEUTRON_AUTH agent-list | grep "Metering agent" | awk -F "|" '{print $5}' | tr -d " ") if [ "$STATUS" != ":-)" ]; then echo "Metering agent check failed"; FAILURE=true; fi