On Tue, Oct 28, 2014 at 07:34:11AM -0400, Sean Dague wrote: > We're dealing with some issues on devstack pass through with really > complicated config option types, the fixes are breaking other things. > > The issue at hand is the fact that the pci pass through device listing > is an olso MultiStrOpt in which each option value is fully valid json > document, which must parse as such. That leads to things like: > > pci_passthrough_whitelist = {"address":"*:0a:00.*", > "physical_network":"physnet1"} > pci_passthrough_whitelist = {"vendor_id":"1137","product_id":"0071"} > > Which, honestly, seems a little weird for configs. > > We're talking about a small number of fixed fields here, so the use of a > full json doc seems weird. I'd like to reopen why this was the value > format, and if we could have a more simple one.
Do you have ant suggestion for an alternative config syntax for specifying a list of dicts which would be suitable ? One option would be a more CSV like syntax eg pci_passthrough_whitelist = address=*0a:00.*,physical_network=physnet1 pci_passthrough_whitelist = vendor_id=1137,product_id=0071 But this gets confusing if we want to specifying multiple sets of data so might need to use semi-colons as first separator, and comma for list element separators pci_passthrough_whitelist = vendor_id=8085;product_id=4fc2, vendor_id=1137;product_id=0071 Overall it isn't clear that inventing a special case language for this PCI config value is a good idea. I think it illustrates a gap in oslo.config, which ought to be able to support a config option type which was a "list of dicts of strings" so anywhere which needs such a beast will use the same syntax. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev