Fix floatingip allocation

- Use neutron's floating IP provisioning APIs instead of the
  compute APIs that will proxy the request to neutron anyway.
  Another advantage of doing this is because we'll be using the
  external network to create a floating IP upon, and don't need
  to configure yet another "floating_pool_name" config opt to
  get things to work. When used, in most environments, the
  external network is the same as the floating pool.
- Fix usage of the GET /ports API where an incorrect filter
  parameter ("fixed_ip")  was being used (and subsequently ignored
  by older versions of neutron, see bug #1749820 [1])
- Refactor the check for ironic (we don't use baremetal nodes in
  our testing) to match that in tempest's own implementation of the
  port resolution [2]
- replace assertNotEqual(0, len(somelist)) with
  assertNotEmpty(somelist)


[1] https://launchpad.net/bugs/1749820
[2] https://opendev.org/openstack/tempest/src/commit/5c191faae78f52f876edba72484ea644d3df04fd/tempest/scenario/manager.py#L958-L994

Change-Id: I48b0f21fe75fae623e7e513cf2890f2c10a80317
Co-Authored-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
Co-Authored-by: Shi Yan <yanshi.403@gmail.com>
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2 files changed