fix race condition in service list compares

there is a small chance that between the 2 service queries that
the service list is updated by the periodic job. We'll assume
stability of the service host list in the regular case, but
the other metadata is changeable, so only compary the binary
lists.

Fixes bug #1205450

Change-Id: I29f687d4279b79f192de3bae3d15abebd3d858a1
diff --git a/tempest/api/compute/admin/test_services.py b/tempest/api/compute/admin/test_services.py
index 3b3c6ce..ce16353 100644
--- a/tempest/api/compute/admin/test_services.py
+++ b/tempest/api/compute/admin/test_services.py
@@ -64,7 +64,12 @@
                             service['host'] == host_name]
         params = {'host': host_name}
         resp, services = self.client.list_services(params)
-        self.assertEqual(services_on_host, services)
+
+        # we could have a periodic job checkin between the 2 service
+        # lookups, so only compare binary lists.
+        s1 = map(lambda x: x['binary'], services)
+        s2 = map(lambda x: x['binary'], services_on_host)
+        self.assertEqual(s1, s2)
 
     @attr(type=['negative', 'gate'])
     def test_get_service_by_invalid_params(self):