On Wed, Aug 03, 2016 at 07:47:37PM -0400, Jay Pipes wrote: > Hi Novas and anyone interested in how to represent capabilities in a > consistent fashion. > > I spent an hour creating a new os-capabilities Python library this evening: > > http://github.com/jaypipes/os-capabilities > > Please see the README for examples of how the library works and how I'm > thinking of structuring these capability strings and symbols. I intend > os-capabilities to be the place where the OpenStack community catalogs and > collates standardized features for hardware, devices, networks, storage, > hypervisors, etc. > > Let me know what you think about the structure of the library and whether > you would be interested in owning additions to the library of constants in > your area of expertise.
How are you expecting that these constants are used ? It seems unlikely the, say nova code, code is going to be explicitly accessing any of the individual CPU flag constants. It should surely just be entirely metatadata driven - eg libvirt driver would just parse libvirt capabilities XML and extract all the CPU flag strings & simply export them. It would be very undesirable to have to add new code to os-capabilities every time that Intel/AMD create new CPU flags for new features, and force users to upgrade openstack to be able to express requirements on those CPU flags. > Next steps for the library include: > > * Bringing in other top-level namespaces like disk: or net: and working with > contributors to fill in the capability strings and symbols. > * Adding constraints functionality to the library. For instance, building in > information to the os-capabilities interface that would allow a set of > capabilities to be cross-checked for set violations. As an example, a > resource provider having DISK_GB inventory cannot have *both* the disk:ssd > *and* the disk:hdd capability strings associated with it -- clearly the disk > storage is either SSD or spinning disk. 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 Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
