File 0001-interfaces_by_fixed_ip-no-extra-port.patch of Package openstack-tempest

From d2c426faa402ca2c9184374a9b273f963b5f6760 Mon Sep 17 00:00:00 2001
From: Attila Fazekas <>
Date: Sun, 4 Nov 2018 12:40:27 +0100
Subject: [PATCH] interfaces_by_fixed_ip no extra port

test_create_list_show_delete_interfaces_by_fixed_ip was allowed
to make one extra port/interface creation optional
in case the CONF.compute.fixed_network_name was defined,
but in this case the test failed at teardown time (double port delete).
Turned out the test case normally not even deletes the fixed_ip port,
inside the test case.

There is no point for having 3 interface in this test, so just
adding/deleting the fixed_ip interface
and removing th 3th `extra` interface part from the test.

The extra port was problematic in (multiple) shared network case,
however fixed_ip interface creation part
has the right logic to use an explicit network.

Related-Bug: #1790864
Change-Id: I6e3e53c4ac26b4fef09fefb9c590dfa91f577565
(cherry picked from commit 3588bb3f5ef546a0ef4d4ad621fd1be381b5fdaf)
 .../api/compute/servers/ | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/tempest/api/compute/servers/ b/tempest/api/compute/servers/
index 7509ac6db..15280bb8d 100644
--- a/tempest/api/compute/servers/
+++ b/tempest/api/compute/servers/
@@ -23,6 +23,7 @@ from tempest.common import utils
 from tempest.common.utils import net_utils
 from tempest.common import waiters
 from tempest import config
+from tempest.lib.common.utils import test_utils
 from tempest.lib import decorators
 from tempest.lib import exceptions as lib_exc
@@ -140,7 +141,9 @@ class AttachInterfacesTestJSON(base.BaseV2ComputeTest):
         iface = self.interfaces_client.create_interface(
             server['id'], net_id=network_id,
-        self.addCleanup(self.ports_client.delete_port, iface['port_id'])
+        self.addCleanup(test_utils.call_and_ignore_notfound_exc,
+                        self.ports_client.delete_port,
+                        iface['port_id'])
         self._check_interface(iface, server_id=server['id'],
         return iface
@@ -232,16 +235,6 @@ class AttachInterfacesTestJSON(base.BaseV2ComputeTest):
         interface_count = len(ifs)
         self.assertGreater(interface_count, 0)
-        try:
-            iface = self._test_create_interface(server)
-        except lib_exc.BadRequest as e:
-            msg = ('Multiple possible networks found, use a Network ID to be '
-                   'more specific.')
-            if not CONF.compute.fixed_network_name and six.text_type(e) == msg:
-                raise
-        else:
-            ifs.append(iface)
         iface = self._test_create_interface_by_fixed_ips(server, ifs)

openSUSE Build Service is sponsored by