On Tue, Jan 16, 2018 at 05:43:44PM +0000, Daniel P. Berrange wrote: > On Tue, Jan 16, 2018 at 03:08:15PM -0200, Eduardo Habkost wrote: > > [CCing Daniel]
[...] > > I still don't understand why OpenStack doesn't let users add or > > modify elements on the domain XML. This isn't the first time I > > see this preventing users from fixing problems or optimizing > > their systems. > > > > Is there a summary of the reasons behind this limitation > > somewhere? > > Exposing ability to control every aspect of Libvirt XML is a non-goal of > Nova. A great many of the features require different modelling and/or > explicit handling by Nova to work well in the context of OpenStack's > architecture. The domain XML is automatically generated on the fly by > Nova based on the info it gets from various inputs, so there's nothing > that can be editted directly to add custom elements. The only way that > would allow modification is for Nova to send the XML it generates to > an external plugin script and read back modified XML. Historically Nova > did have alot of plugin points that allowed arbitrary admin hacks like > this, but they end up being a support burden in themselves, as they > end up being black boxes which change Nova behaviour in unpredictable > ways. Thus Nova has actually worked to remove as many of the plugins > as possible. > > In this case there is a clear benefit to being able to add extra CPU > features, over the base named model. It is easy for Nova to wire this > up and it should do so as a priority. Agreed, it has long been pending in Nova; I also recall you've identified other use cases for it (e.g. ability to mention 1G huge pages with the CPU flag "pdpe1gb"). So I began a quick WIP Nova change to allow it to specify CPU feature flags. I haven't worked out all the details yet, and still addressing the quick comment you (DanPB) made on IRC. https://review.openstack.org/#/c/534384 -- [WIP] libvirt: Allow to specify granular CPU feature flags PS: Thursday and Friday I'll be a bit sporadic in my availability, but this change is on top of my TODO list. -- /kashyap