<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-10-01 5:45 GMT+08:00 Andrew Laski <span dir="ltr"><<a href="mailto:andrew@lascii.com" target="_blank">andrew@lascii.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 09/30/15 at 05:03pm, Sean Dague wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Today we attempted to branch devstack and grenade for liberty, and are<br>
currently blocked because in liberty with openstack client and<br>
novaclient, it's not possible to boot a server from volume using just<br>
the volume id.<br>
<br>
That's because of this change in novaclient -<br>
<a href="https://review.openstack.org/#/c/221525/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/221525/</a><br>
<br>
That was done to resolve the issue that strong schema validation in Nova<br>
started rejecting the kinds of calls that novaclient was making for boot<br>
from volume, because the bdm 1 and 2 code was sharing common code and<br>
got a bit tangled up. So 3 bdm 2 params were being sent on every request.<br>
<br>
However, <a href="https://review.openstack.org/#/c/221525/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/221525/</a> removed the ==1 code<br>
path. If you pass in just {"vda": "$volume_id"} the code falls through,<br>
volume id is lost, and nothing is booted. This is how the devstack<br>
exercises and osc recommends booting from volume. I expect other people<br>
might be doing that as well.<br>
<br>
There seem to be a few options going forward:<br>
<br>
1) fix the client without a revert<br>
<br>
This would bring back a ==1 code path, which is basically just setting<br>
volume_id, and move on. This means that until people upgrade their<br>
client they loose access to this function on the server.<br>
<br>
2) revert the client and loose up schema validation<br>
<br>
If we revert the client to the old code, we also need to accept the fact<br>
that novaclient has been sending 3 extra parameters to this API call<br>
since as long as people can remember. We'd need a nova schema relax to<br>
let those in and just accept that people are going to pass those.<br>
<br>
3) fix osc and novaclient cli to not use this code path. This will also<br>
require everyone upgrades both of those to not explode in the common<br>
case of specifying boot from volume on the command line.<br>
<br>
I slightly lean towards #2 on a compatibility front, but it's a chunk of<br>
change at this point in the cycle, so I don't think there is a clear win<br>
path. It would be good to collect opinions here. The bug tracking this<br>
is - <a href="https://bugs.launchpad.net/python-openstackclient/+bug/1501435" rel="noreferrer" target="_blank">https://bugs.launchpad.net/python-openstackclient/+bug/1501435</a><br>
</blockquote>
<br></div></div>
I have a slight preference for #1.  Nova is not buggy here novaclient is so I think we should contain the fix there.<br></blockquote><div><br></div><div>+1, this is novaclient bug.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Is using the v2 API an option?  That should also allow the 3 extra parameters mentioned in #2.<div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
        -Sean<br>
<br>
-- <br>
Sean Dague<br>
<a href="http://dague.net" rel="noreferrer" target="_blank">http://dague.net</a><br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div></div>