Howdy all! So in working with libvirt-qpid, I've come to realize that it imposes a new difficulty in doing migrations. Traditionally you would connect out to each individual libvirt instance from a central location and be able to pass the destination connection pointer to the virDomainMigrate function. However in libvirt-qpids case, since it's running on each physical host, it does not necessarily have access to the destination host due to authentication requirements. So I'd like to discuss possible ways of resolving this issue. I'm not sure how much support libvirt proper wants to extend to allowing this case to work, but I'm hoping we can figure something out that will make everyone happy. I see that in the implementation of virDomainMigrate, it is already split up into prepare and preform functions. I'm thinking that, if agreeable by the libvirt team, it'd be nice to have an API which allowed us to call into destination and source nodes separately. Something like: char * virConnectMigratePrepare(virConnectPtr conn, unsigned long flags, const char *dname); which would set up the destination node to receive a migrating domain and return an xml document containing the information required to perform the migration (host name, port, maybe even capabilities and/or encryption keys in the future etc.), coupled with: int virDomainMigratePerform(virDomainPtr dom, const char *prepare_description, unsigned long bandwidth); which would initiate the transfer of the domain to the destination host. Or something along those lines.. this is just off the top of my head but I wanted to get the discussion going. Note I'm using the same internal names prepare/perform but we can rename them if appropriate. Anyway this would allow us to hook these up in qpid where we have access to both systems and call them in sequence. Let me know what you think. Thanks, Ian -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list