Nova does not even call down to the compute node when attributes like display_name are changed. The next time the xml is updated would be when it is regenerated, like during a lifecycle event (hard reboot) or migration. Ceilometer scraping that information out of the libvirt XML underneath nova is, as expected, not reliable.
Changing this would require new a RPC call, and would add load to rabbit, the compute, and introduce additional traffic between nova and libvirt. If there was some strong use-case for this, maybe that would be worthwhile, but I don't think ceilometer wanting to scrape those metadata items from the libvirt XML is strong enough.
Nova does not even call down to the compute node when attributes like display_name are changed. The next time the xml is updated would be when it is regenerated, like during a lifecycle event (hard reboot) or migration. Ceilometer scraping that information out of the libvirt XML underneath nova is, as expected, not reliable.
Changing this would require new a RPC call, and would add load to rabbit, the compute, and introduce additional traffic between nova and libvirt. If there was some strong use-case for this, maybe that would be worthwhile, but I don't think ceilometer wanting to scrape those metadata items from the libvirt XML is strong enough.