Only create necessary resources for compute v3 tests

This patch leverages the set_network_resources method in order to allow
tempest api tests for compute v3 to create only those network resources
which are required by the test in tenant isolation.

Change-Id: I1e36a75a3a7d615d14a7d05c9ef599ceb90666e1
Related-Bug: #1262334
diff --git a/tempest/api/compute/base.py b/tempest/api/compute/base.py
index 49c767a..fad947b 100644
--- a/tempest/api/compute/base.py
+++ b/tempest/api/compute/base.py
@@ -262,6 +262,8 @@
 
     @classmethod
     def setUpClass(cls):
+        # By default compute tests do not create network resources
+        cls.set_network_resources()
         super(BaseV3ComputeTest, cls).setUpClass()
         if not cls.config.compute_feature_enabled.api_v3:
             cls.tearDownClass()
diff --git a/tempest/api/compute/v3/servers/test_attach_interfaces.py b/tempest/api/compute/v3/servers/test_attach_interfaces.py
index d12f708..d05296b 100644
--- a/tempest/api/compute/v3/servers/test_attach_interfaces.py
+++ b/tempest/api/compute/v3/servers/test_attach_interfaces.py
@@ -26,6 +26,8 @@
     def setUpClass(cls):
         if not cls.config.service_available.neutron:
             raise cls.skipException("Neutron is required")
+        # This test class requires network and subnet
+        cls.set_network_resources(network=True, subnet=True)
         super(AttachInterfacesV3TestJSON, cls).setUpClass()
         cls.client = cls.interfaces_client
 
diff --git a/tempest/api/compute/v3/servers/test_server_addresses.py b/tempest/api/compute/v3/servers/test_server_addresses.py
index 82588b6..ebaf68a 100644
--- a/tempest/api/compute/v3/servers/test_server_addresses.py
+++ b/tempest/api/compute/v3/servers/test_server_addresses.py
@@ -25,6 +25,8 @@
 
     @classmethod
     def setUpClass(cls):
+        # This test module might use a network and a subnet
+        cls.set_network_resources(network=True, subnet=True)
         super(ServerAddressesV3Test, cls).setUpClass()
         cls.client = cls.servers_client