[openstack-dev] [cinder] Volume Drivers unit tests
Eric Harney
eharney at redhat.com
Fri Jul 22 13:13:58 UTC 2016
On 07/21/2016 05:26 PM, Knight, Clinton wrote:
> Nate, you have to press Ctrl-C to see the in-progress test, that’s why you don’t
> see it in the logs. The bug report shows this and points to the patch where it
> appeared to begin. https://bugs.launchpad.net/cinder/+bug/1578986
>
> Clinton
>
I think this only gives a backtrace of the test runner and not the test.
I attached gdb when this hang occured and see this. Looks like we still
have a thread running the oslo.messaging fake driver.
http://paste.openstack.org/raw/539769/
(Linked in the bug report as well.)
> *From: *"Potter, Nathaniel" <nathaniel.potter at intel.com>
> *Reply-To: *"OpenStack Development Mailing List (not for usage questions)"
> <openstack-dev at lists.openstack.org>
> *Date: *Thursday, July 21, 2016 at 7:17 PM
> *To: *"OpenStack Development Mailing List (not for usage questions)"
> <openstack-dev at lists.openstack.org>
> *Subject: *Re: [openstack-dev] [cinder] Volume Drivers unit tests
>
> Hi all,
>
> I’m not totally sure that this is the same issue, but lately I’ve seen the gate
> tests fail while hanging at this point [1], but they say ‘ok’ rather than
> ‘inprogress’. Has anyone else come across this? It only happens sometimes, and a
> recheck can get past it. The full log is here [2].
>
> [1] http://paste.openstack.org/show/539314/
>
> [2]
> http://logs.openstack.org/90/341090/6/check/gate-cinder-python34-db/ea65de5/console.html
>
> Thanks,
>
> Nate
>
> *From:*yang, xing [mailto:xing.yang at emc.com]
> *Sent:* Thursday, July 21, 2016 3:17 PM
> *To:* OpenStack Development Mailing List (not for usage questions)
> <openstack-dev at lists.openstack.org>
> *Subject:* Re: [openstack-dev] [cinder] Volume Drivers unit tests
>
> Hi Ivan,
>
> Do you have any logs for the VMAX driver? We'll take a look.
>
> Thanks,
>
> Xing
>
> --------------------------------------------------------------------------------
>
> *From:*Ivan Kolodyazhny [e0ne at e0ne.info]
> *Sent:* Thursday, July 21, 2016 4:44 PM
> *To:* OpenStack Development Mailing List (not for usage questions)
> *Subject:* Re: [openstack-dev] [cinder] Volume Drivers unit tests
>
> Thank you Xing,
>
> The issue is related both to VNX and VMAX EMC drivers
>
>
> Regards,
> Ivan Kolodyazhny,
> http://blog.e0ne.info/
>
> On Thu, Jul 21, 2016 at 11:00 PM, yang, xing <xing.yang at emc.com
> <mailto:xing.yang at emc.com>> wrote:
>
> Hi Ivan,
>
> Thanks for sending this out. Regarding the issue in the EMC VNX driver unit
> tests, it is tracked by this bug
> https://bugs.launchpad.net/cinder/+bug/1578986. The driver was recently
> refactored so this is probably a new issue introduced by the refactor.
> We are investigating this issue.
>
> Thanks,
>
> Xing
>
> --------------------------------------------------------------------------------
>
> *From:*Ivan Kolodyazhny [e0ne at e0ne.info <mailto:e0ne at e0ne.info>]
> *Sent:* Thursday, July 21, 2016 1:02 PM
> *To:* OpenStack Development Mailing List
> *Subject:* [openstack-dev] [cinder] Volume Drivers unit tests
>
> Hi team,
>
> First of all, I would like to apologize, if my mail is be too emotional. I
> spent too much of time to fix it and failed.
>
> TL;DR;
>
> What I want to say is: "Let's spend some time to make our tests better and
> fix all issues". Patch [1] is still unstable. Unit tests can pass or fail in
> a in a random order. Also, I've disabled some tests to pass CI.
>
> Long version:
>
> While I was working on patch "Move drivers unit tests to unit.volume.drivers
> directory" [1] I've found a lot of issues with our unit tests :(. Not all of
> them are already fixed, so that patch is still in progress
>
> What did I found and what should we have to fix:
>
> 1) Execution time [2]. I don't want to argue what it unit tests, but 2-4
> seconds per tests should be non-acceptable, IMO.
>
> 2) Execution order. Seriously, do you know that our tests will fail or hang
> if execution order will change? Even if one test for diver A failed, some
> tests for driver B will fail too.
>
> 3) Lack of mock. It's a root cause for #2. We didn't mock sleeps and event
> loops right. We don't mock RPC call well too [3]. We don't
> have 'cinder.openstack.common.rpc.impl_fake' module in Cinder tree.
>
> In some drivers, we use oslo_service.loopingcall.FixedIntervalLoopingCall
> [4]. We've go ZeroIntervalLoopingCall [5] class in Cinder. Do we use it
> everywhere or mock FixedIntervalLoopingCall right? I don't think so, I've
> hacked oslo_service in my env to rise an exception if interval > 0. 297
> tests failed. It means, our tests use sleep. We have to get rid of this.
> TBH, not only volume drivers unit tests failed. E.g. some API unit tests
> failed too.
>
> 4) Due to #3, sometimes unit tests hangs even on master branch with a minor
> changes.If I stop execution of such tests, usually I see something like [6].
> In most of cases I see that following drivers' tests hangs: EMC, Huawei,
> Dell and RBD.
>
> It's hard to debug such failures because the lack of tooling for eventlet
> debugging. Eventlet backdoors and gdb-python helps a bit. Maybe somebody
> know better solution for it.
>
> [1] https://review.openstack.org/#/c/320148/
>
> [2] http://paste.openstack.org/show/539081/
>
> [3] https://github.com/openstack/cinder/search?utf8=%E2%9C%93&q=impl_fake
>
> [4] use
> https://github.com/openstack/oslo.service/blob/master/oslo_service/loopingcall.py#L162
>
> [5]
> https://github.com/openstack/cinder/blob/cfbb5bde4d9b37c39f6813fe685f987f8a990483/cinder/tests/unit/utils.py#L289
>
> [6] http://paste.openstack.org/show/539090/
>
>
> Regards,
> Ivan Kolodyazhny,
> http://blog.e0ne.info/
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
More information about the OpenStack-dev
mailing list