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.
I think I've worked out what is going on:
1. The nova-cloud- controller charm caches hostnames by default. 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.
2. When libvirt-
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.