<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Top posting with general comment...</div>
<div class=""><br class="">
</div>
<div class="">It sounds like there's some consensus in Nova-land around these traits (née "capabilities"). The API Working Group [4] is also aware of similar efforts in Cinder [1][2] and Glance [3].</div>
<div class=""><br class="">
</div>
<div class="">If these are truly the same concepts being discussed across projects, it would be great to see consistency in the APIs and have the projects come together under a new guideline. I encourage the projects and people to propose such a guideline and
 for someone to step up and champion it. Seems like good fodder for a design session proposal at the upcoming summit.</div>
<div class=""><br class="">
</div>
<div class="">Cheers,</div>
<div class="">Everett</div>
<div class=""><br class="">
</div>
<div class="">[1] <a href="https://review.openstack.org/#/c/306930/" class="">https://review.openstack.org/#/c/306930/</a></div>
<div class="">[2] <a href="https://review.openstack.org/#/c/350310/" class="">https://review.openstack.org/#/c/350310/</a></div>
<div class="">[3] <a href="https://specs.openstack.org/openstack/glance-specs/specs/mitaka/approved/image-import/image-import-refactor.html#value-discovery" class="">
https://specs.openstack.org/openstack/glance-specs/specs/mitaka/approved/image-import/image-import-refactor.html#value-discovery</a></div>
<div class="">[4] <a href="http://specs.openstack.org/openstack/api-wg/" class="">http://specs.openstack.org/openstack/api-wg/</a></div>
<div class=""><br class="">
</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Aug 16, 2016, at 3:16 AM, Sylvain Bauza <<a href="mailto:sbauza@redhat.com" class="">sbauza@redhat.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Le
 15/08/2016 22:59, Andrew Laski a écrit :</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
On Mon, Aug 15, 2016, at 10:33 AM, Jay Pipes wrote:<br class="">
<blockquote type="cite" class="">On 08/15/2016 09:27 AM, Andrew Laski wrote:<br class="">
<blockquote type="cite" class="">Currently in Nova we're discussion adding a "capabilities" API to expose<br class="">
to users what actions they're allowed to take, and having compute hosts<br class="">
expose "capabilities" for use by the scheduler. As much fun as it would<br class="">
be to have the same term mean two very different things in Nova to<br class="">
retain some semblance of sanity let's rename one or both of these<br class="">
concepts.<br class="">
<br class="">
An API "capability" is going to be an action, or URL, that a user is<br class="">
allowed to use. So "boot an instance" or "resize this instance" are<br class="">
capabilities from the API point of view. Whether or not a user has this<br class="">
capability will be determined by looking at policy rules in place and<br class="">
the capabilities of the host the instance is on. For instance an<br class="">
upcoming volume multiattach feature may or may not be allowed for an<br class="">
instance depending on host support and the version of nova-compute code<br class="">
running on that host.<br class="">
<br class="">
A host "capability" is a description of the hardware or software on the<br class="">
host that determines whether or not that host can fulfill the needs of<br class="">
an instance looking for a home. So SSD or x86 could be host<br class="">
capabilities.<br class="">
<a href="https://github.com/jaypipes/os-capabilities/blob/master/os_capabilities/const.py" class="">https://github.com/jaypipes/os-capabilities/blob/master/os_capabilities/const.py</a><br class="">
has a list of some examples.<br class="">
<br class="">
Some possible replacement terms that have been thrown out in discussions<br class="">
are features, policies(already used), grants, faculties. But none of<br class="">
those seemed to clearly fit one concept or the other, except policies.<br class="">
<br class="">
Any thoughts on this hard problem?<br class="">
</blockquote>
I know, naming is damn hard, right? :)<br class="">
<br class="">
After some thought, I think I've changed my mind on referring to the<br class="">
adjectives as "capabilities" and actually think that the term<br class="">
"capabilities" is better left for the policy-like things.<br class="">
<br class="">
My vote is the following:<br class="">
<br class="">
GET /capabilities <-- returns a set of *actions* or *abilities* that the<br class="">
user is capable of performing<br class="">
<br class="">
GET /traits <-- returns a set of *adjectives* or *attributes* that may<br class="">
describe a provider of some resource<br class="">
</blockquote>
Traits sounds good to me.<br class="">
</blockquote>
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Yeah,
 it wouldn't be dire, trait.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<blockquote type="cite" class="">I can rename os-capabilities to os-traits, which would make Sean Mooney<br class="">
happy I think and also clear up the terminology mismatch.<br class="">
<br class="">
Thoughts?<br class="">
-jay<br class="">
<br class="">
__________________________________________________________________________<br class="">
OpenStack Development Mailing List (not for usage questions)<br class="">
Unsubscribe:<br class="">
<a href="mailto:OpenStack-dev-request@lists.openstack.org" class="">OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe<br class="">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="">
</blockquote>
__________________________________________________________________________<br class="">
OpenStack Development Mailing List (not for usage questions)<br class="">
Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" class="">
OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe<br class="">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="">
</blockquote>
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">__________________________________________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">OpenStack
 Development Mailing List (not for usage questions)</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Unsubscribe:<span class="Apple-converted-space"> </span></span><a href="mailto:OpenStack-dev-request@lists.openstack.org" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">OpenStack-dev-request@lists.openstack.org</a><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">?subject:unsubscribe</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></div>
</blockquote>
</div>
<br class="">
</body>
</html>