Comment 2 for bug 1655563

Revision history for this message
melanie witt (melwitt) wrote :

It looks like this is because the instance 'name' is used as the instance hostname, which is then passed to update the neutron port's dns_name and then that call fails because it is not a valid FQDN. The top-level domain name cannot be all numeric.

When we set instance.hostname, we run it through utils.sanitize_hostname() first to ensure the resulting hostname conforms to the RFC-952 and RFC-1123 specs. So it looks like utils.sanitize_hostname() needs to be enhanced to handle this *or* we need to check the resulting hostname for RFC conformance and fail earlier, before the RPC cast to conductor. That way the user will receive a 400 from the API instead of getting an instance in ERROR state.