<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
+1
<div class=""><br class="">
<div style="">
<blockquote type="cite" class="">
<div class="">On Jun 11, 2015, at 4:52 PM, Rochelle Grober <<a href="mailto:rochelle.grober@huawei.com" class="">rochelle.grober@huawei.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Just want to add that for logging purposes, consistency, as Devananda explains and Adrian and Sean agree, is really important. The number of fields in a header
 response should be consistent.  If the field is not always used, a placeholder should be put in (usually a “-“ in logs).  Makes parsing these things much easier.<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Thanks for both consistency and for specific instance related info in the message bodies.  The operators also appreciate this.<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">--Rocky<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div>
<div class="">
<div style="border-style: solid none none; border-top-color: rgb(181, 196, 223); border-top-width: 1pt; padding: 3pt 0in 0in;" class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<b class=""><span style="font-size: 10pt; font-family: Tahoma, sans-serif;" class="">From:</span></b><span style="font-size: 10pt; font-family: Tahoma, sans-serif;" class=""><span class="Apple-converted-space"> </span>Xu, Hejie [<a href="mailto:hejie.xu@intel.com" class="">mailto:hejie.xu@intel.com</a>]<span class="Apple-converted-space"> </span><br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>Thursday, June 11, 2015 02:10<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span>OpenStack Development Mailing List (not for usage questions)<br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [openstack-dev] [api] [Nova] [Ironic] [Magnum] Microversion guideline in API-WG<o:p class=""></o:p></span></div>
</div>
</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Salvatore, thanks for the info, will try to review as soon as possible. Hope we get consistent implementation.<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<a name="_MailEndCompose" class=""></a><span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div>
<div style="border-style: none none none solid; border-left-color: blue; border-left-width: 1.5pt; padding: 0in 0in 0in 4pt;" class="">
<div class="">
<div style="border-style: solid none none; border-top-color: rgb(225, 225, 225); border-top-width: 1pt; padding: 3pt 0in 0in;" class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<b class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif;" class="">From:</span></b><span style="font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="Apple-converted-space"> </span>Salvatore Orlando [<a href="mailto:sorlando@nicira.com" class="">mailto:sorlando@nicira.com</a>]<span class="Apple-converted-space"> </span><br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>Wednesday, June 10, 2015 4:51 PM<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span>OpenStack Development Mailing List (not for usage questions)<br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [openstack-dev] [api] [Nova] [Ironic] [Magnum] Microversion guideline in API-WG<o:p class=""></o:p></span></div>
</div>
</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<o:p class=""> </o:p></div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
As a further data point, Neutron has been trying to introduce microversioning for a while, without success so far.<o:p class=""></o:p></div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<o:p class=""> </o:p></div>
</div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
Given the sheer amount of backends the management layer integrates with, and the constant need for the various subteams to "experiment" with the API, the proposal [1] has probably some differences with the proposed guideline.<o:p class=""></o:p></div>
</div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<o:p class=""> </o:p></div>
</div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
Since the proposal is not yet approved nor implemented, perhaps it would be worth looking at those differences, and get your advice on whether it might be better if neutron adheres to the current guideline proposal or whether it might be the case to include
 Neutron's requirements in the current guideline proposal.<o:p class=""></o:p></div>
</div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<o:p class=""> </o:p></div>
</div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
Salvatore<o:p class=""></o:p></div>
</div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<o:p class=""> </o:p></div>
</div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
[1] <a href="https://review.openstack.org/#/c/136760/" style="color: purple; text-decoration: underline;" class="">https://review.openstack.org/#/c/136760/</a><o:p class=""></o:p></div>
</div>
</div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<o:p class=""> </o:p></div>
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
On 10 June 2015 at 06:28, Xu, Hejie <<a href="mailto:hejie.xu@intel.com" target="_blank" style="color: purple; text-decoration: underline;" class="">hejie.xu@intel.com</a>> wrote:<o:p class=""></o:p></div>
<blockquote style="border-style: none none none solid; border-left-color: rgb(204, 204, 204); border-left-width: 1pt; padding: 0in 0in 0in 6pt; margin: 5pt 0in 5pt 4.8pt;" class="">
<div class="">
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">I updated the Microversion specification in API-WG<span class="Apple-converted-space"> </span><a href="https://review.openstack.org/187112" target="_blank" style="color: purple; text-decoration: underline;" class="">https://review.openstack.org/187112</a></span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">The new patchset adds min/max version headers as Ironic used:</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">X-Openstack-[PROJECT]-API-Minimum-Version</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">X-Openstack-[PROJECT]-API-Maximum-Version</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">And new response body for invalid version request.</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">  {</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">    "versionFault": {</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">      "max_version": "5.2",</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">      "min_version": "2.1",</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">      "description": "Version 5.3 is not supported by the API. \</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">          Minimum is 2.1 and maximum is 5.2."</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">    }</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">  }</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Which for backward compatible can add the existed fields in the response also. For example, the nova response is</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">  {</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">    "versionFault": {</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">      "max_version": "5.2",</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">      "min_version": "2.1",</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">      "description": "Version 5.3 is not supported by the API. \</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">          Minimum is 2.1 and maximum is 5.2."</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">    },</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">    "computeFault": {</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">      "message": "Version 5.3 is not supported by the API. \</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">          Minimum is 2.1 and maximum is 5.2.",</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">      "code": 406</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">    }</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">  }</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">The “computeFault” fields is included by current implementation, we can still add here, hope deprecated in the future.</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<a name="14ddbf4c49ad6f71__MailEndCompose" class=""><span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></a><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">And the “experimental” flag in the X-OpenStack-Nova-API-Version header was deleted. It mentioned in the nova-spec but</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">It didn’t implement. And I didn’t saw the same thing in the ironic. For current all the things satisfied all the cases. If we</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">“experimental” flag still usefull, we can propose separately.</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Thanks</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Alex</span><o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<span style="font-size: 10.5pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div>
<div style="border-style: none none none solid; border-left-color: blue; border-left-width: 1.5pt; padding: 0in 0in 0in 4pt;" class="">
<div class="">
<div style="border-style: solid none none; border-top-color: rgb(225, 225, 225); border-top-width: 1pt; padding: 3pt 0in 0in;" class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<b class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif;" class="">From:</span></b><span style="font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="Apple-converted-space"> </span>Devananda van der Veen [mailto:<a href="mailto:devananda.vdv@gmail.com" target="_blank" style="color: purple; text-decoration: underline;" class="">devananda.vdv@gmail.com</a>]<span class="Apple-converted-space"> </span><br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>Monday, June 8, 2015 1:59 AM<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span>OpenStack Development Mailing List<br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [openstack-dev] [api] [Nova] [Ironic] [Magnum] Microversion guideline in API-WG</span><o:p class=""></o:p></div>
</div>
</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
 <o:p class=""></o:p></div>
<p style="margin-right: 0in; margin-left: 0in; font-size: 12pt; font-family: 宋体;" class="">
<o:p class=""> </o:p></p>
<div class="">
<div class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
On Jun 5, 2015 4:36 AM, "Sean Dague" <<a href="mailto:sean@dague.net" target="_blank" style="color: purple; text-decoration: underline;" class="">sean@dague.net</a>> wrote:<br class="">
><br class="">
> On 06/05/2015 01:28 AM, Adrian Otto wrote:<br class="">
> ><br class="">
> >> On Jun 4, 2015, at 11:03 AM, Devananda van der Veen<br class="">
> >> <<a href="mailto:devananda.vdv@gmail.com" target="_blank" style="color: purple; text-decoration: underline;" class="">devananda.vdv@gmail.com</a><span class="Apple-converted-space"> </span><mailto:<a href="mailto:devananda.vdv@gmail.com" target="_blank" style="color: purple; text-decoration: underline;" class="">devananda.vdv@gmail.com</a>>>
 wrote:<br class="">
> >><br class="">
> >><br class="">
> >> On Jun 4, 2015 12:00 AM, "Xu, Hejie" <<a href="mailto:hejie.xu@intel.com" target="_blank" style="color: purple; text-decoration: underline;" class="">hejie.xu@intel.com</a><br class="">
> >> <mailto:<a href="mailto:hejie.xu@intel.com" target="_blank" style="color: purple; text-decoration: underline;" class="">hejie.xu@intel.com</a>>> wrote:<br class="">
> >> ><br class="">
> >> > Hi, guys,<br class="">
> >> ><br class="">
> >> > I<span lang="ZH-CN" class="">’</span>m working on adding Microversion into the API-WG<span lang="ZH-CN" class="">’</span>s guideline which<br class="">
> >> make sure we have consistent Microversion behavior in the API for user.<br class="">
> >> > The Nova and Ironic already have Microversion implementation, and as<br class="">
> >> I know Magnum<span class="Apple-converted-space"> </span><a href="https://review.openstack.org/#/c/184975/" target="_blank" style="color: purple; text-decoration: underline;" class="">https://review.openstack.org/#/c/184975/</a><span class="Apple-converted-space"> </span>is
 going to<br class="">
> >> implement Microversion also.<br class="">
> >> ><br class="">
> >> > Hope all the projects which support( or plan to) Microversion can<br class="">
> >> join the review of guideline.<br class="">
> >> ><br class="">
> >> > The Mircoversion specification(this almost copy from nova-specs):<br class="">
> >><span class="Apple-converted-space"> </span><a href="https://review.openstack.org/#/c/187112" target="_blank" style="color: purple; text-decoration: underline;" class="">https://review.openstack.org/#/c/187112</a><br class="">
> >> > And another guideline for when we should bump Mircoversion<br class="">
> >><span class="Apple-converted-space"> </span><a href="https://review.openstack.org/#/c/187896/" target="_blank" style="color: purple; text-decoration: underline;" class="">https://review.openstack.org/#/c/187896/</a><br class="">
> >> ><br class="">
> >> > As I know, there already have a little different between Nova and<br class="">
> >> Ironic<span lang="ZH-CN" class="">’</span>s implementation. Ironic return min/max version when the requested<br class="">
> >> > version doesn<span lang="ZH-CN" class="">’</span>t support in server by http-headers. There isn<span lang="ZH-CN" class="">’</span>t such<br class="">
> >> thing in nova. But that is something for version negotiation we need<br class="">
> >> for nova also.<br class="">
> >> > Sean have pointed out we should use response body instead of http<br class="">
> >> headers, the body can includes error message. Really hope ironic team<br class="">
> >> can take a<br class="">
> >> > look at if you guys have compelling reason for using http headers.<br class="">
> >> ><br class="">
> >> > And if we think return body instead of http headers, we probably<br class="">
> >> need think about back-compatible also. Because Microversion itself<br class="">
> >> isn<span lang="ZH-CN" class="">’</span>t versioned.<br class="">
> >> > So I think we should keep those header for a while, does make sense?<br class="">
> >> ><br class="">
> >> > Hope we have good guideline for Microversion, because we only can<br class="">
> >> change Mircoversion itself by back-compatible way.<br class="">
> >><br class="">
> >> Ironic returns the min/max/current API version in the http headers for<br class="">
> >> every request.<br class="">
> >><br class="">
> >> Why would it return this information in a header on success and in the<br class="">
> >> body on failure? (How would this inconsistency benefit users?)<br class="">
> >><br class="">
> >> To be clear, I'm not opposed to *also* having a useful error message<br class="">
> >> in the body, but while writing the client side of api versioning,<br class="">
> >> parsing the range consistently from the response header is, IMO,<br class="">
> >> better than requiring a conditional.<br class="">
> >><br class="">
> > +1. I fully agree with Devananda on this point. Use the headers<br class="">
> > consistently, and add helpful errors into the body only as an addition<br class="">
> > to that behavior, not a substitute.<br class="">
><br class="">
> I think the difference between Nova and Ironic here is that Nova doesn't<br class="">
> send all the headers all the time in the final implementation (that part<br class="">
> of the spec evolved out I think). Part of that was pressure about Header<br class="">
> bloat that people were concerned about, as that impacts caching layers.<br class="">
><br class="">
> I would a agree that if Ironic is sending all the headers all the time,<br class="">
> that's fine. However, for consistency it would be great to also put a<br class="">
> real body that explains the issue as well,<span class="Apple-converted-space"> </span><o:p class=""></o:p></div>
</div>
</div>
<div class="">
<div class="">
<p style="margin-right: 0in; margin-left: 0in; font-size: 12pt; font-family: 宋体;" class="">
Agreed.<o:p class=""></o:p></p>
<p style="margin-right: 0in; margin-left: 0in; font-size: 12pt; font-family: 宋体;" class="">
> as headers are not the first<br class="">
> place people look when things go wrong, and are often not logged by<br class="">
> client side tools on errors (where the body would be).<br class="">
><br class="">
>         -Sean<br class="">
><br class="">
> --<br class="">
> Sean Dague<br class="">
><span class="Apple-converted-space"> </span><a href="http://dague.net/" target="_blank" style="color: purple; text-decoration: underline;" class="">http://dague.net</a><br class="">
><br class="">
> __________________________________________________________________________<br class="">
> OpenStack Development Mailing List (not for usage questions)<br class="">
> Unsubscribe:<span class="Apple-converted-space"> </span><a href="http://OpenStack-dev-request@lists.openstack.org/?subject:unsubscribe" target="_blank" style="color: purple; text-decoration: underline;" class="">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="">
><span class="Apple-converted-space"> </span><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank" style="color: purple; text-decoration: underline;" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p class=""></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin: 0in 0in 12pt; font-size: 12pt; font-family: SimSun;">
<br class="">
__________________________________________________________________________<br class="">
OpenStack Development Mailing List (not for usage questions)<br class="">
Unsubscribe:<span class="Apple-converted-space"> </span><a href="http://OpenStack-dev-request@lists.openstack.org/?subject:unsubscribe" target="_blank" style="color: purple; text-decoration: underline;" class="">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank" style="color: purple; text-decoration: underline;" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p class=""></o:p></p>
</blockquote>
</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: SimSun;" class="">
<o:p class=""> </o:p></div>
</div>
</div>
</div>
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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: normal; font-weight: normal; letter-spacing: normal; line-height: 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: normal; font-weight: normal; letter-spacing: normal; line-height: 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: normal; font-weight: normal; letter-spacing: normal; line-height: 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: normal; font-weight: normal; letter-spacing: normal; line-height: 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:
<a href="mailto:OpenStack-dev-request@lists.openstack.org" class="">OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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: normal; font-weight: normal; letter-spacing: normal; line-height: 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=""><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></span></div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>