diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-05-29 01:13:24 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-05-29 01:13:24 +0000 |
| commit | d929069824850a2e0e6299f76d9c85f730401e74 (patch) | |
| tree | 9d510366ddcd08e10abe52e37f99c98296485544 /tests | |
| parent | f2bb8e433edfaf8cf46d102070c84460d01a73b5 (diff) | |
| parent | 7d48398d4f87ad68698a9c3cd7a8bc2a3c7b1226 (diff) | |
| download | kolla-kilo-eol.tar.gz kolla-kilo-eol.zip | |
Merge "Clean up the image functional test" into stable/kilokilo-eol
Diffstat (limited to 'tests')
| -rwxr-xr-x | tests/setup_docker.sh | 47 | ||||
| -rwxr-xr-x | tests/setup_gate.sh | 14 | ||||
| -rw-r--r-- | tests/test_images.py | 50 |
3 files changed, 49 insertions, 62 deletions
diff --git a/tests/setup_docker.sh b/tests/setup_docker.sh deleted file mode 100755 index ba84a35e7..000000000 --- a/tests/setup_docker.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash -# -# This script is used to setup Kolla Docker environment, -# after running this script, you can run Kolla functional test. -# NOTE: This script was only tested on redhat/debian/suse platform families. -# - -set -xeu - -DOCKER_MIN_VERSION=1.6.0 - -function check_platform() { - if [ "$OSTYPE" != "linux-gnu" ]; then - echo Platform not supported - exit 255 - fi -} - -function check_docker_version() { - local docker_version - local result - if which docker &>/dev/null; then - docker_version=$(docker --version 2>/dev/null | awk -F"[ ,]" '{print $3}') - result=$(awk 'BEGIN{print '$docker_version' >= '$DOCKER_MIN_VERSION'}') - if [ $result = 1 ]; then - return 0 - fi - fi - return 1 -} - -function start_docker() { - pkill -9 docker || true - if check_docker_version; then - docker -d &>/dev/null & - else - curl -sSL https://get.docker.com/builds/Linux/x86_64/docker-$DOCKER_MIN_VERSION -o /usr/local/bin/docker - chmod +x /usr/local/bin/docker - /usr/local/bin/docker -d &>/dev/null & - fi -} - -## Check platfrom -check_platfrom - -## Start Docker service -start_docker diff --git a/tests/setup_gate.sh b/tests/setup_gate.sh new file mode 100755 index 000000000..43b4e41b8 --- /dev/null +++ b/tests/setup_gate.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e + +sudo yum install -y libffi-devel openssl-devel docker +sudo /usr/sbin/usermod -a -G dockerroot ${SUDO_USER:-$USER} +sudo systemctl start docker +sleep 1 + +group_str="jenkins ALL=(:dockerroot) NOPASSWD: ALL" +sudo grep -x "$group_str" /etc/sudoers > /dev/null || sudo bash -c "echo \"$group_str\" >> /etc/sudoers" +sudo chown root:dockerroot /var/run/docker.sock + +echo "Completed $0." diff --git a/tests/test_images.py b/tests/test_images.py index f0e45368d..b3821fcf5 100644 --- a/tests/test_images.py +++ b/tests/test_images.py @@ -10,33 +10,53 @@ # License for the specific language governing permissions and limitations # under the License. -import testtools -from subprocess import check_output +from oslo_log import fixture as log_fixture +from oslo_log import log as logging +from oslotest import base -class ImagesTest(testtools.TestCase): +from subprocess import Popen, PIPE, STDOUT + +LOG = logging.getLogger(__name__) + +class ImagesTest(base.BaseTestCase): def setUp(self): super(ImagesTest, self).setUp() + self.useFixture(log_fixture.SetLogLevel([__name__], + logging.logging.INFO)) def test_builds(self): - build_output = check_output(["tools/build-all-docker-images", - "--release", - "--pull", - "--testmode"]) + proc = Popen(['tools/build-all-docker-images', + '--testmode'], + stdout=PIPE, stderr=STDOUT, bufsize=1) + with proc.stdout: + for line in iter(proc.stdout.readline, b''): + LOG.info(line.strip()) + proc.wait() # these are images that are known to not build properly - excluded_images = ["kollaglue/centos-rdo-swift-proxy-server", + excluded_images = ["kollaglue/centos-rdo-swift-base", + "kollaglue/centos-rdo-swift-object", + "kollaglue/centos-rdo-swift-proxy-server", "kollaglue/centos-rdo-swift-container", - "kollaglue/centos-rdo-swift-base", "kollaglue/centos-rdo-swift-account", - "kollaglue/centos-rdo-swift-object", - "kollaglue/centos-rdo-barbican", - "kollaglue/fedora-rdo-base", + "kollaglue/centos-rdo-zaqar", "kollaglue/centos-rdo-rhel-osp-base"] - results = eval(build_output.splitlines()[-1]) + results = eval(line) + failures = 0 for image, result in results.iteritems(): if image in excluded_images: - self.assertEqual(result, 'fail') + if result is 'fail': + continue + failures = failures + 1 + LOG.warning(">>> Expected image '%s' to fail, please update" + " the excluded_images in source file above if the" + " image build has been fixed." % image) else: - self.assertNotEqual(result, 'fail') + if result is not 'fail': + continue + failures = failures + 1 + LOG.critical(">>> Expected image '%s' to succeed!" % image) + + self.assertEqual(failures, 0, "%d failure(s) occurred" % failures) |
