'Call the superclass deallocate_fixed_ip if i\'m the correct host
otherwise call to the correct host'

def deallocate_fixed_ip(self, context, address, host=None, teardown=True, instance=None):

    fixed_ip = objects.FixedIP.get_by_address(context, address, expected_attrs=['network'])
    network = fixed_ip.network
    if (not network.multi_host):
        host = network.host
    if (host == self.host):
        return super(RPCAllocateFixedIP, self).deallocate_fixed_ip(context, address, instance=instance)
    if network.multi_host:
        service = objects.Service.get_by_host_and_binary(context, host, 'nova-network')
        if ((not service) or (not self.servicegroup_api.service_is_up(service))):
            return super(RPCAllocateFixedIP, self).deallocate_fixed_ip(context, address, teardown=False, instance=instance)
    self.network_rpcapi.deallocate_fixed_ip(context, address, host, instance)
