From a945ce20ef6a0984febbdf27bb071676dd9148d9 Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Tue, 21 Jul 2020 01:26:44 +0200 Subject: Create new server test_reboot_server_hard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It sometimes fail in all gates [1] This hack could highlight if it's a timeout issue or race conditions between all tempest tests. [1] http://artifacts.opnfv.org/functest/E5AZMH89OOK6/functest-opnfv-functest-smoke-cntt-hunter-tempest_full_cntt-run-142/tempest_full_cntt/tempest-report.html Change-Id: I8d03aa10c3d822dacb983e5ca019f79e1c582c9e Signed-off-by: Cédric Ollivier --- ...Create-new-server-test_reboot_server_hard.patch | 66 ++++++++++++++++++++++ docker/core/Dockerfile | 11 +++- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 docker/core/Create-new-server-test_reboot_server_hard.patch diff --git a/docker/core/Create-new-server-test_reboot_server_hard.patch b/docker/core/Create-new-server-test_reboot_server_hard.patch new file mode 100644 index 000000000..f7bebf6e4 --- /dev/null +++ b/docker/core/Create-new-server-test_reboot_server_hard.patch @@ -0,0 +1,66 @@ +From ae89f3507b1c84d3915e4e1d9d5854f11e5bab85 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?C=C3=A9dric=20Ollivier?= +Date: Tue, 21 Jul 2020 13:28:50 +0200 +Subject: [PATCH] Create new server test_reboot_server_hard +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It sometimes fail in all gates [1] +This hack could highlight if it's a timeout issue or race conditions +between all tempest tests. + +[1] http://artifacts.opnfv.org/functest/E5AZMH89OOK6/functest-opnfv-functest-smoke-cntt-hunter-tempest_full_cntt-run-142/tempest_full_cntt/tempest-report.html + +Change-Id: I203562f686b004094e5e18858004b7a2d26567a6 +Signed-off-by: Cédric Ollivier +--- + tempest/api/compute/servers/test_server_actions.py | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/tempest/api/compute/servers/test_server_actions.py b/tempest/api/compute/servers/test_server_actions.py +index d477be0eb..2e453b620 100644 +--- a/tempest/api/compute/servers/test_server_actions.py ++++ b/tempest/api/compute/servers/test_server_actions.py +@@ -46,6 +46,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest): + # The server was deleted by previous test, create a new one + # Use class level validation resources to avoid them being + # deleted once a test is over ++ LOG.info("OPNFV The server was deleted by previous test") + validation_resources = self.get_class_validation_resources( + self.os_primary) + server = self.create_test_server( +@@ -55,6 +56,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest): + self.__class__.server_id = server['id'] + except Exception: + # Rebuild server if something happened to it during a test ++ LOG.info("OPNFV Rebuild server if something happened to it") + self.__class__.server_id = self.recreate_server( + self.server_id, validatable=True) + +@@ -115,6 +117,8 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest): + self.os_primary) + # Get the time the server was last rebooted, + server = self.client.show_server(self.server_id)['server'] ++ LOG.info("OPNFV %s", self.client.get_console_output( ++ self.server_id)['output']) + linux_client = remote_client.RemoteClient( + self.get_server_ip(server, validation_resources), + self.ssh_user, +@@ -122,7 +126,12 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest): + validation_resources['keypair']['private_key'], + server=server, + servers_client=self.client) +- boot_time = linux_client.get_boot_time() ++ try: ++ boot_time = linux_client.get_boot_time() ++ except Exception as e: ++ LOG.info("OPNFV %s", self.client.get_console_output( ++ self.server_id)['output']) ++ raise e + + # NOTE: This sync is for avoiding the loss of pub key data + # in a server +-- +2.27.0 + diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile index b42bbe221..2f94dfe8d 100644 --- a/docker/core/Dockerfile +++ b/docker/core/Dockerfile @@ -4,6 +4,7 @@ ARG BRANCH=master ARG OPENSTACK_TAG=master COPY Switch-to-threading.Thread-for-Rally-tasks.patch /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch +COPY Create-new-server-test_reboot_server_hard.patch /tmp/Create-new-server-test_reboot_server_hard.patch RUN apk --no-cache add --update \ python3 py3-wheel libffi openssl libjpeg-turbo py3-pip bash \ grep sed wget ca-certificates git openssh-client qemu-img iputils coreutils mailcap libstdc++ && \ @@ -29,8 +30,16 @@ RUN apk --no-cache add --update \ -e /src/functest && \ (cd /src/rally && patch -p1 < /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch) && \ sed -i -E /#egg=rally/d /src/functest/upper-constraints.txt && \ + sed -i -E /#egg=tempest/d /src/functest/upper-constraints.txt && \ + (cd /src/tempest && \ + git config --global user.email "opnfv-tech-discuss@lists.opnfv.org" && \ + git config --global user.name "Functest" && \ + patch -p1 < /tmp/Create-new-server-test_reboot_server_hard.patch && \ + git commit -a -m "Backport critical bugfixes" && \ + rm ~/.gitconfig) && \ rm -r /src/requirements/.git /src/functest/.git \ - /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch && \ + /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch \ + /tmp/Create-new-server-test_reboot_server_hard.patch && \ cp /src/functest/functest/ci/logging.ini /usr/lib/python3.8/site-packages/xtesting/ci/ && \ cp /src/functest/functest/ci/logging.debug.ini /usr/lib/python3.8/site-packages/xtesting/ci/ && \ bash -c "mkdir -p /var/lib/xtesting /home/opnfv" && \ -- cgit 1.2.3-korg