def _get_port_ip_address(self, task, port_uuid, client):
    "Get ip address of ironic port assigned by neutron.\n\n        :param task: a TaskManager instance.\n        :param port_uuid: ironic Node's port UUID.\n        :param client: Neutron client instance.\n        :returns:  Neutron port ip address associated with Node's port.\n        :raises: FailedToGetIPAddressOnPort\n        :raises: InvalidIPv4Address\n        "
    vifs = network.get_node_vif_ids(task)
    if (not vifs):
        LOG.warning(_LW('No VIFs found for node %(node)s when attempting  to get port IP address.'), {'node': task.node.uuid})
        raise exception.FailedToGetIPAddressOnPort(port_id=port_uuid)
    port_vif = vifs[port_uuid]
    port_ip_address = self._get_fixed_ip_address(port_vif, client)
    return port_ip_address
Get ip address of ironic port assigned by neutron.

:param task: a TaskManager instance.
:param port_uuid: ironic Node's port UUID.
:param client: Neutron client instance.
:returns:  Neutron port ip address associated with Node's port.
:raises: FailedToGetIPAddressOnPort
:raises: InvalidIPv4Address
def _get_port_ip_address(self, task, port_uuid, client):
    "Get ip address of ironic port assigned by neutron.\n\n        :param task: a TaskManager instance.\n        :param port_uuid: ironic Node's port UUID.\n        :param client: Neutron client instance.\n        :returns:  Neutron port ip address associated with Node's port.\n        :raises: FailedToGetIPAddressOnPort\n        :raises: InvalidIPv4Address\n        "
    vifs = network.get_node_vif_ids(task)
    if (not vifs):
        LOG.warning(_LW('No VIFs found for node %(node)s when attempting  to get port IP address.'), {'node': task.node.uuid})
        raise exception.FailedToGetIPAddressOnPort(port_id=port_uuid)
    port_vif = vifs[port_uuid]
    port_ip_address = self._get_fixed_ip_address(port_vif, client)
    return port_ip_address