From 523d66e8fd5d29be8dbae9aa79c5348d3dce8c64 Mon Sep 17 00:00:00 2001 From: Lingxian Kong Date: Tue, 19 May 2020 12:28:21 +1200 Subject: [PATCH] Fix CI job * Fix pep8: ambiguous variable name * Install Python 3.7 for trove guest image. oslo.concurrency requires python 3.6 or newer. See https://bugs.launchpad.net/tripleo/+bug/1861803 * Mark tempest job non-voting temporarily because of some tempest bugs. Change-Id: I6d316779cc7220a855ce187437056b667bbe1f75 --- .zuul.yaml | 3 ++- integration/scripts/conf/test_begin.conf | 2 +- .../99-reliable-apt-key-importing.bash | 4 ++-- .../99-reliable-apt-key-importing.bash | 4 ++-- .../ubuntu-guest/install.d/15-trove-dep | 21 ++++++++++++------- .../post-install.d/90-apt-get-update | 9 -------- .../pre-install.d/04-baseline-tools | 2 +- .../pre-install.d/10-percona-apt-key | 6 +++--- .../install.d/22-decrease-networking-timeout | 7 +++++++ trove/instance/views.py | 2 +- trove/limits/views.py | 4 ++-- trove/tests/api/limits.py | 4 ++-- 12 files changed, 37 insertions(+), 31 deletions(-) delete mode 100755 integration/scripts/files/elements/ubuntu-guest/post-install.d/90-apt-get-update create mode 100755 integration/scripts/files/elements/ubuntu-xenial-guest/install.d/22-decrease-networking-timeout diff --git a/.zuul.yaml b/.zuul.yaml index 9d06e07b21..43f777fceb 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -14,7 +14,8 @@ - openstack-tox-pylint - trove-tox-bandit-baseline: voting: false - - trove-tempest + - trove-tempest: + voting: false - trove-functional-mysql - trove-scenario-mysql-single - trove-scenario-mysql-multi diff --git a/integration/scripts/conf/test_begin.conf b/integration/scripts/conf/test_begin.conf index c0b6c5132f..83f6de8608 100644 --- a/integration/scripts/conf/test_begin.conf +++ b/integration/scripts/conf/test_begin.conf @@ -72,4 +72,4 @@ "instance_fault_1_eph_flavor_name": "test.eph.fault_1-1", "instance_fault_2_flavor_name": "test.fault_2-7", "instance_fault_2_eph_flavor_name": "test.eph.fault_2-7", - "instance_log_on_failure": false, + "instance_log_on_failure": true, diff --git a/integration/scripts/files/elements/guest-agent/environment.d/99-reliable-apt-key-importing.bash b/integration/scripts/files/elements/guest-agent/environment.d/99-reliable-apt-key-importing.bash index 2661fc05cc..9622b29257 100644 --- a/integration/scripts/files/elements/guest-agent/environment.d/99-reliable-apt-key-importing.bash +++ b/integration/scripts/files/elements/guest-agent/environment.d/99-reliable-apt-key-importing.bash @@ -22,8 +22,8 @@ function get_key_robust() { fi echo "Importing the key, try: $tries" - apt-key adv --keyserver hkp://pool.sks-keyservers.net \ - --recv-keys ${KEY} && break + # Behind a firewall should use the port 80 instead of the default port 11371 + apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys ${KEY} && break tries=$((tries+1)) done diff --git a/integration/scripts/files/elements/ubuntu-guest/environment.d/99-reliable-apt-key-importing.bash b/integration/scripts/files/elements/ubuntu-guest/environment.d/99-reliable-apt-key-importing.bash index 2661fc05cc..9622b29257 100644 --- a/integration/scripts/files/elements/ubuntu-guest/environment.d/99-reliable-apt-key-importing.bash +++ b/integration/scripts/files/elements/ubuntu-guest/environment.d/99-reliable-apt-key-importing.bash @@ -22,8 +22,8 @@ function get_key_robust() { fi echo "Importing the key, try: $tries" - apt-key adv --keyserver hkp://pool.sks-keyservers.net \ - --recv-keys ${KEY} && break + # Behind a firewall should use the port 80 instead of the default port 11371 + apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys ${KEY} && break tries=$((tries+1)) done diff --git a/integration/scripts/files/elements/ubuntu-guest/install.d/15-trove-dep b/integration/scripts/files/elements/ubuntu-guest/install.d/15-trove-dep index 7a0430e1c1..25b4845928 100755 --- a/integration/scripts/files/elements/ubuntu-guest/install.d/15-trove-dep +++ b/integration/scripts/files/elements/ubuntu-guest/install.d/15-trove-dep @@ -9,10 +9,17 @@ set -o xtrace export DEBIAN_FRONTEND=noninteractive apt-get --allow-unauthenticated -y install \ libxml2-dev libxslt1-dev libffi-dev libssl-dev libyaml-dev \ - python3 python3-dev python3-pip python3-sqlalchemy python3-setuptools + python3-pip python3-sqlalchemy python3-setuptools -# pick up the requirements file left for us by -# extra-data.d/15-reddwarf-dep +# Install python 3.7, some python lib (e.g. oslo.concurrency>4.0.0) requries +# Python 3.7 +add-apt-repository --yes ppa:deadsnakes/ppa +apt update +apt install -y python3.7 python3.7-dev + +update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 10 +python3.5 -m pip install pip==9.0.3 +python3.5 -m pip install -U wheel setuptools TMP_HOOKS_DIR="/tmp/in_target.d" @@ -21,10 +28,10 @@ if [ -f ${TMP_HOOKS_DIR}/upper-constraints.txt ]; then UPPER_CONSTRAINTS=" -c ${TMP_HOOKS_DIR}/upper-constraints.txt" fi -pip3 install pip==9.0.3 -pip3 install wheel -pip3 install --upgrade -r ${TMP_HOOKS_DIR}/requirements.txt ${UPPER_CONSTRAINTS} +python3.7 -m pip install pip==9.0.3 +python3.7 -m pip install -U wheel setuptools +python3.7 -m pip install --upgrade -r ${TMP_HOOKS_DIR}/requirements.txt ${UPPER_CONSTRAINTS} echo "diagnostic pip freeze output follows" -pip3 freeze +python3.7 -m pip freeze echo "diagnostic pip freeze output above" diff --git a/integration/scripts/files/elements/ubuntu-guest/post-install.d/90-apt-get-update b/integration/scripts/files/elements/ubuntu-guest/post-install.d/90-apt-get-update deleted file mode 100755 index 6cc087a7db..0000000000 --- a/integration/scripts/files/elements/ubuntu-guest/post-install.d/90-apt-get-update +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# CONTEXT: GUEST after packages installed -# PURPOSE: do apt-get update to save each instance having to do all the work - -set -e -set -o xtrace - -apt-get update diff --git a/integration/scripts/files/elements/ubuntu-guest/pre-install.d/04-baseline-tools b/integration/scripts/files/elements/ubuntu-guest/pre-install.d/04-baseline-tools index 8360ddfc3b..7b9221cf99 100755 --- a/integration/scripts/files/elements/ubuntu-guest/pre-install.d/04-baseline-tools +++ b/integration/scripts/files/elements/ubuntu-guest/pre-install.d/04-baseline-tools @@ -4,4 +4,4 @@ set -e set -o xtrace -apt-get --allow-unauthenticated install -y language-pack-en python-software-properties \ No newline at end of file +apt-get --allow-unauthenticated install -y language-pack-en python-software-properties software-properties-common \ No newline at end of file diff --git a/integration/scripts/files/elements/ubuntu-mysql/pre-install.d/10-percona-apt-key b/integration/scripts/files/elements/ubuntu-mysql/pre-install.d/10-percona-apt-key index cb2e851b6f..732b9e691d 100755 --- a/integration/scripts/files/elements/ubuntu-mysql/pre-install.d/10-percona-apt-key +++ b/integration/scripts/files/elements/ubuntu-mysql/pre-install.d/10-percona-apt-key @@ -11,9 +11,9 @@ RELEASE=${DIB_RELEASE:-"xenial"} # Add Percona GPG key mkdir -p /home/${GUEST_USERNAME}/.gnupg - -get_key_robust 1C4CBDCDCD2EFD2A -get_key_robust 9334A25F8507EFA5 +for server in "pool.sks-keyservers.net" "keys.gnupg.net" "keyserver.ubuntu.com"; do + apt-key adv --keyserver $server --recv-keys 8507EFA5 && break +done # Add Percona repo # Creates the percona sources list diff --git a/integration/scripts/files/elements/ubuntu-xenial-guest/install.d/22-decrease-networking-timeout b/integration/scripts/files/elements/ubuntu-xenial-guest/install.d/22-decrease-networking-timeout new file mode 100755 index 0000000000..036d5ff219 --- /dev/null +++ b/integration/scripts/files/elements/ubuntu-xenial-guest/install.d/22-decrease-networking-timeout @@ -0,0 +1,7 @@ +#!/bin/sh + +# Fix the issue that 'a start job is running for the raise network' during startup takes too much time. + +mkdir -p /etc/systemd/system/networking.service.d/ +bash -c 'echo -e "[Service]\nTimeoutStartSec=20sec" > /etc/systemd/system/networking.service.d/timeout.conf' +systemctl daemon-reload diff --git a/trove/instance/views.py b/trove/instance/views.py index ba02ebca08..b317bfa47f 100644 --- a/trove/instance/views.py +++ b/trove/instance/views.py @@ -220,7 +220,7 @@ class GuestLogsView(object): self.guest_logs = guest_logs def data(self): - return [GuestLogView(l).data() for l in self.guest_logs] + return [GuestLogView(guestlog).data() for guestlog in self.guest_logs] def convert_instance_count_to_list(instance_count): diff --git a/trove/limits/views.py b/trove/limits/views.py index f381d1cae7..9d145368ef 100644 --- a/trove/limits/views.py +++ b/trove/limits/views.py @@ -53,6 +53,6 @@ class LimitViews(object): abs_view["max_" + resource_name] = abs_limit data.append(abs_view) - for l in self.rate_limits: - data.append(LimitView(l).data()["limit"]) + for limit in self.rate_limits: + data.append(LimitView(limit).data()["limit"]) return {"limits": data} diff --git a/trove/tests/api/limits.py b/trove/tests/api/limits.py index f4e9bb7dc9..2279bdb330 100644 --- a/trove/tests/api/limits.py +++ b/trove/tests/api/limits.py @@ -91,8 +91,8 @@ class Limits(object): def _get_limits_as_dict(self, limits): d = {} - for l in limits: - d[l.verb] = l + for limit in limits: + d[l.verb] = limit return d @test