Comment 3 for bug 1584236

From looking at the code [1] I think the bug report is valid. The flow (in pseudo-code) is:

    if 'auto':
        if '/etc/machine-id' exists:
            if '/etc/machine-id' has content:
                return UUID from file
            else:
                raise NovaException
        else:
            return UUID from host capabilities

The catch of the NovaException is missing to allow a fallback to the hardware host capabilites.

References:
[1] https://github.com/openstack/nova/blob/660ecaee66ccab895b282c2ed45c95c809ad6833/nova/virt/libvirt/driver.py#L3589-L3593