Skip network creation for system and domain scoped token

For 'domain' and 'system' scoped token, there is no project_id
so we cannot create the network which need project id as one of
the parameter.

In Xena PTG[1], we have discussed about project mapped resource
creation/managing with system token
- L77-140 https://etherpad.opendev.org/p/nova-xena-ptg
- https://etherpad.opendev.org/p/consuming-system-scope

Once we sort out the network ceration or need for system, domain
scoped token then we can update the newtork creation in Tempest.

Change-Id: If6ae6465369c9018c716d48555fd99fc90ce0e59
diff --git a/tempest/lib/common/dynamic_creds.py b/tempest/lib/common/dynamic_creds.py
index d86522a..3b17af2 100644
--- a/tempest/lib/common/dynamic_creds.py
+++ b/tempest/lib/common/dynamic_creds.py
@@ -407,13 +407,23 @@
             # Maintained until tests are ported
             LOG.info("Acquired dynamic creds:\n"
                      " credentials: %s", credentials)
-            if (self.neutron_available and self.create_networks):
-                network, subnet, router = self._create_network_resources(
-                    credentials.tenant_id)
-                credentials.set_resources(network=network, subnet=subnet,
-                                          router=router)
-                LOG.info("Created isolated network resources for:\n"
-                         " credentials: %s", credentials)
+            # NOTE(gmann): For 'domain' and 'system' scoped token, there is no
+            # project_id so we are skipping the network creation for both
+            # scope. How these scoped token can create the network, Nova
+            # server or other project mapped resources is one of the open
+            # question and discussed a lot in Xena cycle PTG. Once we sort
+            # out that then if needed we can update the network creation here.
+            if (not scope or scope == 'project'):
+                if (self.neutron_available and self.create_networks):
+                    network, subnet, router = self._create_network_resources(
+                        credentials.tenant_id)
+                    credentials.set_resources(network=network, subnet=subnet,
+                                              router=router)
+                    LOG.info("Created isolated network resources for:\n"
+                             " credentials: %s", credentials)
+            else:
+                LOG.info("Network resources are not created for scope: %s",
+                         scope)
         return credentials
 
     # TODO(gmann): Remove this method in favor of get_project_member_creds()