Fix tempest test failing with segments extension

This patchset fixes tempest test case test_filtering_shared_subnets that
fails when executed with the segments extension enabled, due to the fact
that the 'segment_id' attribute is returned in subnets listed with an
admin client but not in subnets listed with a non admin client.

Patchset https://review.openstack.org/#/c/459439/ proposes to enable the
segments extension in the gate.

Change-Id: I6b9bd6fe944c9485c21d25b37c943f3bd53fd7c9
Closes-Bug: #1690598
diff --git a/neutron/tests/tempest/api/admin/test_shared_network_extension.py b/neutron/tests/tempest/api/admin/test_shared_network_extension.py
index 042a73e..5557c24 100644
--- a/neutron/tests/tempest/api/admin/test_shared_network_extension.py
+++ b/neutron/tests/tempest/api/admin/test_shared_network_extension.py
@@ -50,6 +50,10 @@
         self.assertNotEmpty(items)
         self.assertTrue(all(n['shared'] == shared for n in items))
 
+    def _list_subnets_ids(self, client, shared):
+        body = client.list_subnets(shared=shared)
+        return [subnet['id'] for subnet in body['subnets']]
+
     @decorators.idempotent_id('6661d219-b96d-4597-ad10-51672353421a')
     def test_filtering_shared_subnets(self):
         # shared subnets need to be tested because their shared status isn't
@@ -59,7 +63,8 @@
         priv = self.create_subnet(reg, client=self.client)
         shared = self.create_subnet(self.shared_network,
                                     client=self.admin_client)
-        self.assertIn(shared, self.client.list_subnets(shared=True)['subnets'])
+        self.assertIn(shared['id'],
+                      self._list_subnets_ids(self.client, shared=True))
         self.assertIn(shared,
             self.admin_client.list_subnets(shared=True)['subnets'])
         self.assertNotIn(priv,
@@ -67,8 +72,8 @@
         self.assertNotIn(priv,
             self.admin_client.list_subnets(shared=True)['subnets'])
         self.assertIn(priv, self.client.list_subnets(shared=False)['subnets'])
-        self.assertIn(priv,
-            self.admin_client.list_subnets(shared=False)['subnets'])
+        self.assertIn(priv['id'],
+                      self._list_subnets_ids(self.admin_client, shared=False))
         self.assertNotIn(shared,
             self.client.list_subnets(shared=False)['subnets'])
         self.assertNotIn(shared,