Итак, дано:
https://bugs.launchpad.net/neutron/+bug/1345947 Из-за того, что dnsmasq не верит, что он отвечает за обновление лиз (lease) у dhcp, он отказывается продлять лизы виртуалкам. Как только виртуалка отчаивается из посылает discovery, он ей отвечает (с тем же адресом) и всё становится бело и пушисто.
Поправили. dnsmasq теперь шлёт nack'и на "не его" аренды.
Внезапно, новый баг: dnsmasq'и (если их больше одной штуки) начинают сраться и отменять аренды друг друга:
https://bugs.launchpad.net/neutron/+bug/1457900 И его хотят поправить:
https://review.openstack.org/#/c/185332/2/neutron/agent/linux/iptables_firewall.py Блокировать nack'и с помощью iptables на хосте с компьютом.
Я даже не знаю до какой степени надо изобразить facepalm. Из трёх составляющих любого решения (говно, палки и интеллектуальная собственность) было решено использовать наиболее мягкую субстанцию. Точнее, ещё не решено, но пытаются...