Word up, Travis :) A few comments inline, but overall I'm looking forward to collaborating with you, Steve, and all the other Searchlight contributors on os-capabilities (or os-caps as Sean wants to rename it ;)

On 08/11/2016 08:00 PM, Tripp, Travis S wrote:
[Graffit] was originally co-sponsored by Intel
to help expose out all the CPU capabilities in Nova. The constants in
the metadef catalog all come from combing through the code in Nova
was a complete maze and were not available at the time from
Nova (or cinder or glance or …) See overview here [2]:

 [2] https://wiki.openstack.org/wiki/Graffiti

Yep, I'm thoroughly familiar with the maze-ishness of the code in Nova and os-capabilities was borne out of an attempt to curate/catalog a number of collections of string metadata, constants spread over modules, and various hardcoded feature flags/strings in the virt drivers and elsewhere.

2) It uses a custom JSON format instead of JSONSchema, so we now need to
figure out the schema for these metadef documents and keep up to date
with that schema as it changes.

It uses JSON schema, but surrounds it with a very lightweight envelope.
The envelope is called a namespace and is simply a container of JSON
schema, allowing us to manage it as a programmatic unit and as a way
for cloud deployers to share the capabilities across clouds very easily.

We did place a limitation on it that it cannot support nested objects. This
was primarily due to the extreme difficulty of representing that construct
to users in an easy to understand way:

http://docs.openstack.org/developer/glance/metadefs-concepts.html#catalog-terminology

I actually do not think there is a need for a JSON schema for any of the capability strings in os-caps. I wasn't planning on supporting anything more than simple strings with a string prefix for "namespaces" and a common delimiter (I chose ':'). I'd like to keep things as simple as possible.

3) It mixes qualitative things -- CPU model, features, etc -- with
quantitative things -- amount of cores, threads, etc. These two things
are precisely what we are trying to decouple from each other in the next
generation of Nova's "flavors".

I noticed you didn't respond to this part of my email (from a year ago). It's actually a really important point. The mixing of quantitative and qualitative things in the Nova flavor extra specs as well as the Glance metadefs stuff is a real problem we're trying to fix with the new placement API.

Best,
-jay

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to