[openstack-dev] [nova] os-capabilities library created
jaypipes at gmail.com
Fri Aug 12 01:03:09 UTC 2016
On 08/11/2016 05:25 PM, Ed Leafe wrote:
> On Aug 3, 2016, at 6:47 PM, Jay Pipes <jaypipes at gmail.com> wrote:
>> 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.
> Overall this looks good, although it seems a bit odd to have ALL_CAPS_STRINGS to represent all:caps:strings throughout.
ALL_CAPS is generally used for constant symbols in many (most?)
programming languages, AFAIK.
> The example you gave:
>>>> print os_caps.HW_CPU_X86_SSE42
> begs the question: is the rule going to be that capability for any constant will always be: CONST.lower().replace(“_”, “:”) ? If so, I’m not sure I see how the capabilities are not themselves constants.
Because you can make a typo with a string and it can go unnoticed. A
typo in a constant means the code won't compile/import because of an
That's the reason for having these strings represented as constant
symbols in a shared library.
> The namespacing is ugly, but I guess it’s necessary given that names are not simple tags, but nested data structures in string form.
Yeah, it's ugly-ish. I'm certainly open to suggestions for how to better
nest/represent these groups of capability constants.
More information about the OpenStack-dev