From d08cf31dc89a5ed09db491a832c252ac4f71501c Mon Sep 17 00:00:00 2001 From: Richard Theis Date: Thu, 23 Jun 2016 08:27:28 -0500 Subject: [PATCH] Improve server functional tests Patch set [1] fixed timing issues related to the server functional tests. As part of the review, additional enhancements were suggested. This patch set provides those enhancements. In particular, the functional tests will now check for the cirros256 flavor and the cirros-*-uec image. [1] https://review.openstack.org/#/c/313870/ Change-Id: I7fe18e26b3d09db92bbe669ffafcd16618cae383 --- functional/tests/compute/v2/test_server.py | 28 ++++++++++++++-------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/functional/tests/compute/v2/test_server.py b/functional/tests/compute/v2/test_server.py index 96c1c1a50b..d08b003fbc 100644 --- a/functional/tests/compute/v2/test_server.py +++ b/functional/tests/compute/v2/test_server.py @@ -23,19 +23,27 @@ class ServerTests(test.TestCase): @classmethod def get_flavor(cls): - # NOTE(rtheis): Get m1.tiny flavor since functional tests may - # create other flavors. - raw_output = cls.openstack('flavor show m1.tiny -c id -f value') - return raw_output.strip('\n') + # NOTE(rtheis): Get cirros256 or m1.tiny flavors since functional + # tests may create other flavors. + flavors = cls.openstack('flavor list -c Name -f value').split('\n') + server_flavor = None + for flavor in flavors: + if flavor in ['m1.tiny', 'cirros256']: + server_flavor = flavor + break + return server_flavor @classmethod def get_image(cls): - # NOTE(rtheis): Get public images since functional tests may - # create private images. - raw_output = cls.openstack('image list --public -f value -c ID') - ray = raw_output.split('\n') - idx = int(len(ray) / 2) - return ray[idx] + # NOTE(rtheis): Get cirros image since functional tests may + # create other images. + images = cls.openstack('image list -c Name -f value').split('\n') + server_image = None + for image in images: + if image.startswith('cirros-') and image.endswith('-uec'): + server_image = image + break + return server_image @classmethod def get_network(cls):