Updated openstack/openstack
Project: openstack/nova  a49caf53c0f44af8a326da269b1047813717985e
null
Call baselineCPU for full feature list

Since the libvirt API getCapabilities doesn't return a full list of CPU features we need
to call the libvirt API baselineCPU with the new flag VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES
to get all features.

Since the flag is new this code checks for its existence before calling baselineCPU.

Also, due to some rather stringent input checking on libvirt's part, just calling
baselineCPU with the output from getCapabilities doesn't work, you have to extract
just the <cpu> stanza from the XML returned by getCapabilities.

Add unit test to make sure that the current verion of libvirt works (although
it will hide some features) and the new version of libvirt will correctly
return all features.

Fixes bug 1217630

Change-Id: I266bacb7e0c79d9c5b13ff163f01d14cad9ab57b