Correct the usage on listing neutron ports

The test case uses 'fixed_ip' as a query parameter, but the usage
is not correct. In before, the test passed because neutron
server ignored this parameter, and returned all the
ports, which happened to make the test pass.

This patch fixes the usage of this parameter. If there is no ip_address
then not to filter the list using the filter. Otherwise,
we use 'fixed_ips' parameter and populate its value correctly.

Change-Id: I1189bc9a50308df5c7e18c329f3a1262c90b9e12
diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py
index 145dcf1..c5d41a0 100644
--- a/tempest/scenario/manager.py
+++ b/tempest/scenario/manager.py
@@ -809,8 +809,13 @@
         return subnet
 
     def _get_server_port_id_and_ip4(self, server, ip_addr=None):
-        ports = self.os_admin.ports_client.list_ports(
-            device_id=server['id'], fixed_ip=ip_addr)['ports']
+        if ip_addr:
+            ports = self.os_admin.ports_client.list_ports(
+                device_id=server['id'],
+                fixed_ips='ip_address=%s' % ip_addr)['ports']
+        else:
+            ports = self.os_admin.ports_client.list_ports(
+                device_id=server['id'])['ports']
         # A port can have more than one IP address in some cases.
         # If the network is dual-stack (IPv4 + IPv6), this port is associated
         # with 2 subnets