Comment 14 for bug 1860743

Revision history for this message
Alex Kavanagh (ajkavanagh) wrote :

I think I've worked out what is going on:

1. The nova-cloud-controller charm caches hostnames by default.
2. When libvirt-migration-network is changed (in nova-compute) it causes the relation changed, for cloud-compute, to update the private address to an address in the migration network specified. This is propagated to nova-cloud-controller.
3. With caching enabled, the hostname for ssh keys doesn't get updated and so isn't pushed out to the other nova-compute units.
4. When a migration is attempted, the hosts are still on the old network.

In order to resolve this, the hostname caching needs to be overriden when the relation changed from cloud-compute happens - but caching was done precisely to speed up this in large clouds.

In order to verify that this is what is happening, the action clear-unit-knownhost-cache should be run on nova-cloud-controller, which should clear all the hosts and then re-populate them with the new migration network private-address as set from nova-compute.

If that doesn't clear it, then something else is stopping the correct addresses from being propagated.