Fixing the return code and error message sounds like a fine fix for now and if fits in well with the Nova's current implementation of floating IPs.
Long term I'd like to consider treating auto-assigned floating IPs just like we do normal IPs and allow them to be unassigned. This is perhaps more invasive however and we'd have to look into a mechanism to safely deprecate the current behavor.
Fixing the return code and error message sounds like a fine fix for now and if fits in well with the Nova's current implementation of floating IPs.
Long term I'd like to consider treating auto-assigned floating IPs just like we do normal IPs and allow them to be unassigned. This is perhaps more invasive however and we'd have to look into a mechanism to safely deprecate the current behavor.