Oh, but the new logic is not so good.  If we searched for the external network when user didn't provide the `FloatingIPNetwork` parameter, we would always try to associate floating IP to the instance port.    This is wrong because we only need to associate floating IP when user provided the `FloatingIPNetwork` or `FloatingIP` parameters (or both).    I will refactor this stuff shortly.