<div dir="ltr">I'm confused as to why we arrived at the decision to revert the commits since Jay's patch was accepted. I'd like some details about this decision, and what new steps we need to take to get this back in for Juno.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Mar 12, 2014 at 3:57 AM, Sean Dague <span dir="ltr"><<a href="mailto:sean@dague.net" target="_blank">sean@dague.net</a>></span> wrote:<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 03/12/2014 05:51 AM, Daniel P. Berrange wrote:<br>
> On Tue, Mar 11, 2014 at 03:31:19PM -0500, Matt Riedemann wrote:<br>
>><br>
>><br>
>> On 3/11/2014 3:11 PM, Jay Pipes wrote:<br>
>>> On Tue, 2014-03-11 at 14:18 -0500, Matt Riedemann wrote:<br>
>>>><br>
>>>> On 3/10/2014 11:20 AM, Dmitry Borodaenko wrote:<br>
>>>>> On Fri, Mar 7, 2014 at 8:55 AM, Sean Dague <<a href="mailto:sean@dague.net">sean@dague.net</a>> wrote:<br>
>>>>>> On 03/07/2014 11:16 AM, Russell Bryant wrote:<br>
>>>>>>> On 03/07/2014 04:19 AM, Daniel P. Berrange wrote:<br>
>>>>>>>> On Thu, Mar 06, 2014 at 12:20:21AM -0800, Andrew Woodward wrote:<br>
>>>>>>>>> I'd Like to request A FFE for the remaining patches in the Ephemeral<br>
>>>>>>>>> RBD image support chain<br>
>>>>>>>>><br>
>>>>>>>>> <a href="https://review.openstack.org/#/c/59148/" target="_blank">https://review.openstack.org/#/c/59148/</a><br>
>>>>>>>>> <a href="https://review.openstack.org/#/c/59149/" target="_blank">https://review.openstack.org/#/c/59149/</a><br>
>>>>>>>>><br>
>>>>>>>>> are still open after their dependency<br>
>>>>>>>>> <a href="https://review.openstack.org/#/c/33409/" target="_blank">https://review.openstack.org/#/c/33409/</a> was merged.<br>
>>>>>>>>><br>
>>>>>>>>> These should be low risk as:<br>
>>>>>>>>> 1. We have been testing with this code in place.<br>
>>>>>>>>> 2. It's nearly all contained within the RBD driver.<br>
>>>>>>>>><br>
>>>>>>>>> This is needed as it implements an essential functionality that has<br>
>>>>>>>>> been missing in the RBD driver and this will become the second release<br>
>>>>>>>>> it's been attempted to be merged into.<br>
>>>>>>>><br>
>>>>>>>> Add me as a sponsor.<br>
>>>>>>><br>
>>>>>>> OK, great.  That's two.<br>
>>>>>>><br>
>>>>>>> We have a hard deadline of Tuesday to get these FFEs merged (regardless<br>
>>>>>>> of gate status).<br>
>>>>>>><br>
>>>>>><br>
>>>>>> As alt release manager, FFE approved based on Russell's approval.<br>
>>>>>><br>
>>>>>> The merge deadline for Tuesday is the release meeting, not end of day.<br>
>>>>>> If it's not merged by the release meeting, it's dead, no exceptions.<br>
>>>>><br>
>>>>> Both commits were merged, thanks a lot to everyone who helped land<br>
>>>>> this in Icehouse! Especially to Russel and Sean for approving the FFE,<br>
>>>>> and to Daniel, Michael, and Vish for reviewing the patches!<br>
>>>>><br>
>>>><br>
>>>> There was a bug reported today [1] that looks like a regression in this<br>
>>>> new code, so we need people involved in this looking at it as soon as<br>
>>>> possible because we have a proposed revert in case we need to yank it<br>
>>>> out [2].<br>
>>>><br>
>>>> [1] <a href="https://bugs.launchpad.net/nova/+bug/1291014" target="_blank">https://bugs.launchpad.net/nova/+bug/1291014</a><br>
>>>> [2]<br>
>>>> <a href="https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:bug/1291014,n,z" target="_blank">https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:bug/1291014,n,z</a><br>

>>><br>
>>> Note that I have identified the source of the problem and am pushing a<br>
>>> patch shortly with unit tests.<br>
>>><br>
>><br>
>> My concern is how much else where assumes nova is working with the<br>
>> glance v2 API because there was a nova blueprint [1] to make nova<br>
>> work with the glance V2 API but that never landed in Icehouse, so<br>
>> I'm worried about wack-a-mole type problems here, especially since<br>
>> there is no tempest coverage for testing multiple image location<br>
>> support via nova.<br>
>><br>
>> [1] <a href="https://blueprints.launchpad.net/nova/+spec/use-glance-v2-api" target="_blank">https://blueprints.launchpad.net/nova/+spec/use-glance-v2-api</a><br>
><br>
> Does anyone understand how we can have missed this glance API compat<br>
> problem in gate and/or day-to-day development. Presumably the people<br>
> developing this feature were using a standard devstack environment<br>
> and so would have been relying on whatever is currently committed<br>
> in tree, and so not impacted by whatever blueprint did not land.<br>
> So why would it have worked for them and passed gate tests but then<br>
> fail in this way due to glance API changes ?<br>
<br>
</div></div>It's a little complicated, and comes down to a few reasons.<br>
<br>
First, it's a client compatibility issue. Tempest doesn't test the<br>
clients (mostly) because the API is our unbreakable interface, not the<br>
clients (that being said, client compatibility should be something those<br>
teams strive for). The clients actually hide too much of the API, so<br>
testing through the clients won't give the Tempest API tests strict<br>
enough results.<br>
<br>
So direct testing of this wasn't expected.<br>
<br>
We do a ton of indirect testing as well. Where we call Nova and it calls<br>
Glance. Because no one made progress on -<br>
<a href="https://blueprints.launchpad.net/nova/+spec/use-glance-v2-api" target="_blank">https://blueprints.launchpad.net/nova/+spec/use-glance-v2-api</a>, no one<br>
got to the point of realizing it was non trivial to enable on the gate<br>
side. So all the indirect calls are v1 still (<br>
<a href="http://logs.openstack.org/29/79329/1/check/check-tempest-dsvm-full/cea4ff0/logs/screen-g-api.txt.gz?level=INFO" target="_blank">http://logs.openstack.org/29/79329/1/check/check-tempest-dsvm-full/cea4ff0/logs/screen-g-api.txt.gz?level=INFO</a><br>

<br>
There is a third way we could have caught this, which is the scenario<br>
tests in tempest, which use the official clients. Probably for the same<br>
reasons as #2, those haven't been enabled on v2. Realistically the<br>
scenario tests probably wouldn't have caught this break anyway, because<br>
they aren't trying to test the entire parameter space, they are testing<br>
through paths. And all the indirect calls would still have been v1,<br>
which is where things are.<br>
<br>
<br>
The fix, glanceclient should protect the user from this API change. It<br>
seems kind of crazy that it didn't.<br>
<br>
<br>
But honestly, this isn't the only challenge here. Cinder is in the same<br>
boat (actually a worse boat, because it's v2 API coverage is very very<br>
low in tempest), and those patches to enable this in Nova were nixed in<br>
Icehouse. So again, their v2 API is massively less tested because we<br>
lose all the indirect calls. Keystone, same issue. Gate is on v2,<br>
largely due to the fact that the clients don't support keystone v3. A<br>
set of patches is working their way through to make Tempest itself to be<br>
able to switch between Keystone v2 / v3, because we actually do a bunch<br>
of indirect calls to create tenants during a gate run (1 per class), so<br>
that would be something.<br>
<br>
<br>
This is definitely a challenge of dual APIs.<br>
<br>
That being said, now is a great time in the cycle to be contributing<br>
Tempest tests to shore this up. The trees remain open for new tests on<br>
integrated projects for exactly these reasons, right up until the RCs<br>
are all out.<br>
<div class="HOEnZb"><div class="h5"><br>
        -Sean<br>
<br>
--<br>
Sean Dague<br>
Samsung Research America<br>
<a href="mailto:sean@dague.net">sean@dague.net</a> / <a href="mailto:sean.dague@samsung.com">sean.dague@samsung.com</a><br>
<a href="http://dague.net" target="_blank">http://dague.net</a><br>
<br>
</div></div><br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>If google has done it, Google did it right!
</div>