From f92c10a994a2818d8e03ac0be35c6d697530bcb3 Mon Sep 17 00:00:00 2001 From: JingLu5 Date: Wed, 21 Jun 2017 10:07:41 +0000 Subject: HA testcase improvement This patch improve HA test case in the following aspects: 1. the "GeneralHA" type now will check if the target service process in the controller node. 2. support ignore server certificate 3. add debug log for recovering service failed 4. improve method to kill keystone process Change-Id: I9ae7ab54391fe41d5d7f3e4951a7ac2e3ba75968 Signed-off-by: JingLu5 (cherry picked from commit 5b99f1532ec4d15258ec86e970acd2904954b3bc) --- tests/ci/clean_images.sh | 16 ++++++++---- tests/ci/load_images.sh | 30 +++++++++++++--------- .../availability/test_scenario_general.py | 2 ++ 3 files changed, 31 insertions(+), 17 deletions(-) (limited to 'tests') diff --git a/tests/ci/clean_images.sh b/tests/ci/clean_images.sh index 27da9e279..cb5410ab2 100755 --- a/tests/ci/clean_images.sh +++ b/tests/ci/clean_images.sh @@ -15,18 +15,24 @@ cleanup() echo echo "========== Cleanup ==========" - if ! openstack image list; then + if [ $OS_CACERT ] && [ "$(echo $OS_CACERT | tr '[:upper:]' '[:lower:]')" = "false" ]; then + SECURE="--insecure" + else + SECURE="" + fi + + if ! openstack "${SECURE}" image list; then return fi - for image in $(openstack image list | grep -e cirros-0.3.5 -e yardstick-image -e Ubuntu-16.04 \ + for image in $(openstack "${SECURE}" image list | grep -e cirros-0.3.5 -e yardstick-image -e Ubuntu-16.04 \ | awk '{print $2}'); do echo "Deleting image $image..." - openstack image delete $image || true + openstack "${SECURE}" image delete $image || true done - openstack flavor delete yardstick-flavor &> /dev/null || true - openstack flavor delete storperf &> /dev/null || true + openstack "${SECURE}" flavor delete yardstick-flavor &> /dev/null || true + openstack "${SECURE}" flavor delete storperf &> /dev/null || true } main() diff --git a/tests/ci/load_images.sh b/tests/ci/load_images.sh index 0ebe9b77c..a5114f419 100755 --- a/tests/ci/load_images.sh +++ b/tests/ci/load_images.sh @@ -88,7 +88,7 @@ load_yardstick_image() if [ ! -f "${CLOUD_KERNEL}" ]; then tar xf "${CLOUD_IMAGE}" "${CLOUD_KERNEL##**/}" fi - create_kernel=$(openstack image create \ + create_kernel=$(openstack "${SECURE}" image create \ --public \ --disk-format qcow2 \ --container-format bare \ @@ -119,7 +119,7 @@ load_yardstick_image() fi if [[ "$DEPLOY_SCENARIO" == *"-lxd-"* ]]; then - output=$(eval openstack image create \ + output=$(eval openstack "${SECURE}" image create \ --public \ --disk-format raw \ --container-format bare \ @@ -127,7 +127,7 @@ load_yardstick_image() --file ${RAW_IMAGE} \ yardstick-image) else - output=$(eval openstack image create \ + output=$(eval openstack "${SECURE}" image create \ --public \ --disk-format qcow2 \ --container-format bare \ @@ -156,7 +156,7 @@ load_yardstick_image() load_cirros_image() { - if [[ -n $(openstack image list | grep -e Cirros-0.3.5) ]]; then + if [[ -n $(openstack "${SECURE}" image list | grep -e Cirros-0.3.5) ]]; then echo "Cirros-0.3.5 image already exist, skip loading cirros image" else echo @@ -170,7 +170,7 @@ load_cirros_image() EXTRA_PARAMS=$EXTRA_PARAMS" --property hw_mem_page_size=large" fi - output=$(openstack image create \ + output=$(openstack "${SECURE}" image create \ --disk-format qcow2 \ --container-format bare \ ${EXTRA_PARAMS} \ @@ -201,7 +201,7 @@ load_ubuntu_image() EXTRA_PARAMS=$EXTRA_PARAMS" --property hw_mem_page_size=large" fi - output=$(openstack image create \ + output=$(openstack "${SECURE}" image create \ --disk-format qcow2 \ --container-format bare \ $EXTRA_PARAMS \ @@ -221,26 +221,26 @@ load_ubuntu_image() create_nova_flavor() { - if ! openstack flavor list | grep -q yardstick-flavor; then + if ! openstack "${SECURE}" flavor list | grep -q yardstick-flavor; then echo echo "========== Creating yardstick-flavor ==========" # Create the nova flavor used by some sample test cases - openstack flavor create --id 100 --ram 1024 --disk 3 --vcpus 1 yardstick-flavor + openstack "${SECURE}" flavor create --id 100 --ram 1024 --disk 3 --vcpus 1 yardstick-flavor # DPDK-enabled OVS requires guest memory to be backed by large pages if [[ $DEPLOY_SCENARIO == *[_-]ovs[_-]* ]]; then - openstack flavor set --property hw:mem_page_size=large yardstick-flavor + openstack "${SECURE}" flavor set --property hw:mem_page_size=large yardstick-flavor fi # VPP requires guest memory to be backed by large pages if [[ "$DEPLOY_SCENARIO" == *"-fdio-"* ]]; then - openstack flavor set --property hw:mem_page_size=large yardstick-flavor + openstack "${SECURE}" flavor set --property hw:mem_page_size=large yardstick-flavor fi fi - if ! openstack flavor list | grep -q storperf; then + if ! openstack "${SECURE}" flavor list | grep -q storperf; then echo echo "========== Creating storperf flavor ==========" # Create the nova flavor used by storperf test case - openstack flavor create --id auto --ram 8192 --disk 4 --vcpus 2 storperf + openstack "${SECURE}" flavor create --id auto --ram 8192 --disk 4 --vcpus 2 storperf fi } @@ -256,6 +256,12 @@ main() RAW_IMAGE='/home/opnfv/images/yardstick-image.tar.gz' fi + if [ $OS_CACERT ] && [ "$(echo $OS_CACERT | tr '[:upper:]' '[:lower:]')" = "false" ]; then + SECURE="--insecure" + else + SECURE="" + fi + build_yardstick_image load_yardstick_image if [ "${YARD_IMG_ARCH}" == "arm64" ]; then diff --git a/tests/unit/benchmark/scenarios/availability/test_scenario_general.py b/tests/unit/benchmark/scenarios/availability/test_scenario_general.py index ea54fbb9b..de2170b16 100644 --- a/tests/unit/benchmark/scenarios/availability/test_scenario_general.py +++ b/tests/unit/benchmark/scenarios/availability/test_scenario_general.py @@ -56,6 +56,7 @@ class ScenarioGeneralTestCase(unittest.TestCase): mock_obj = mock.Mock() mock_obj.createActionPlayer.side_effect = KeyError('Wrong') ins.director = mock_obj + ins.director.data = {} ins.run({}) ins.teardown() @@ -64,5 +65,6 @@ class ScenarioGeneralTestCase(unittest.TestCase): mock_obj = mock.Mock() mock_obj.verify.return_value = False ins.director = mock_obj + ins.director.data = {} ins.run({}) ins.teardown() -- cgit 1.2.3-korg