<html><body>
<p><font size="2" face="sans-serif">ok, I understand the purpose and way to go now, thanks for the sharing </font><br>
<font size="2" face="sans-serif">and I will refactory the patches I have ,thanks </font><br>
<br>
<font size="2" face="sans-serif">Best Regards! <br>
<br>
Kevin (Chen) Ji ¼Í ³¿<br>
<br>
Engineer, zVM Development, CSTL<br>
Notes: Chen CH Ji/China/IBM@IBMCN   Internet: jichenjc@cn.ibm.com<br>
Phone: +86-10-82454158<br>
Address: 3/F Ring Building, ZhongGuanCun Software Park, Haidian District, Beijing 100193, PRC </font><br>
<br>
<img width="16" height="16" src="cid:1__=C7BBF748DFCCA8D68f9e8a93df938@cn.ibm.com" border="0" alt="Inactive hide details for Matt Riedemann ---01/28/2015 06:17:53 PM---On 1/28/2015 10:59 AM, Chen CH Ji wrote: > Sorry for late "><font size="2" color="#424282" face="sans-serif">Matt Riedemann ---01/28/2015 06:17:53 PM---On 1/28/2015 10:59 AM, Chen CH Ji wrote: > Sorry for late reply and thanks for bring this out, I agr</font><br>
<br>
<font size="1" color="#5F5F5F" face="sans-serif">From:      </font><font size="1" face="sans-serif">Matt Riedemann <mriedem@linux.vnet.ibm.com></font><br>
<font size="1" color="#5F5F5F" face="sans-serif">To:        </font><font size="1" face="sans-serif">openstack-dev@lists.openstack.org</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Date:      </font><font size="1" face="sans-serif">01/28/2015 06:17 PM</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Subject:   </font><font size="1" face="sans-serif">Re: [openstack-dev] [nova] proposal for unwinding database usage from tests</font><br>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<tt><font size="2"><br>
<br>
On 1/28/2015 10:59 AM, Chen CH Ji wrote:<br>
> Sorry for late reply and thanks for bring this out, I agree the<br>
> create_db flag will increase the complexity<br>
> so I might do some PoC and write a spec to do it next release<br>
><br>
> For this sentence, I don't fully understand, are you suggesting to every<br>
> db usage remove should be a<br>
> patch for a test class? thanks a lot<br>
> /I'd like to propose instead DB usage should be removed per test Class as<br>
> an atomic unit./<br>
><br>
> Best Regards!<br>
><br>
> Kevin (Chen) Ji ¼Í ³¿<br>
><br>
> Engineer, zVM Development, CSTL<br>
> Notes: Chen CH Ji/China/IBM@IBMCN   Internet: jichenjc@cn.ibm.com<br>
> Phone: +86-10-82454158<br>
> Address: 3/F Ring Building, ZhongGuanCun Software Park, Haidian<br>
> District, Beijing 100193, PRC<br>
><br>
> Inactive hide details for Sean Dague ---01/24/2015 07:13:45 PM---I've<br>
> been looking at the following patch series - </font></tt><tt><font size="2"><a href="https://reviSean">https://reviSean</a></font></tt><tt><font size="2"> Dague<br>
> ---01/24/2015 07:13:45 PM---I've been looking at the following patch<br>
> series - </font></tt><tt><font size="2"><a href="https://review.openstack.org/#/c/131691/13">https://review.openstack.org/#/c/131691/13</a></font></tt><tt><font size="2"> for rem<br>
><br>
> From: Sean Dague <sean@dague.net><br>
> To: "OpenStack Development Mailing List (not for usage questions)"<br>
> <openstack-dev@lists.openstack.org><br>
> Cc: Chen CH Ji/China/IBM@IBMCN<br>
> Date: 01/24/2015 07:13 PM<br>
> Subject: [nova] proposal for unwinding database usage from tests<br>
><br>
> ------------------------------------------------------------------------<br>
><br>
><br>
><br>
> I've been looking at the following patch series -<br>
> </font></tt><tt><font size="2"><a href="https://review.openstack.org/#/c/131691/13">https://review.openstack.org/#/c/131691/13</a></font></tt><tt><font size="2"> for removing database<br>
> requirements from some tests.<br>
><br>
> I whole heartedly support getting DB usage out of tests, but I'd like to<br>
> make sure that we don't create new challenges in the process. The<br>
> conditional create_db parameter in test functions adds a bit more<br>
> internal test complexity than I think we should have.<br>
><br>
> I'd like to propose instead DB usage should be removed per test Class as<br>
> an atomic unit. If that turns into too large a patch that probably means<br>
> breaking apart the test class into smaller test classes first.<br>
><br>
> The other thing to be careful in understanding the results of timing<br>
> tests. The way the database fixture works it caches the migration<br>
> process -<br>
> </font></tt><tt><font size="2"><a href="https://github.com/openstack/nova/blob/master/nova/tests/fixtures.py#L206">https://github.com/openstack/nova/blob/master/nova/tests/fixtures.py#L206</a></font></tt><tt><font size="2"><br>
><br>
> That actually means that the overhead of the db-migration sync is paid<br>
> only once per testr worker (it's 1s on my fast workstation, might be 2s<br>
> on gate nodes). The subsequence db setups for tests 2 -> N in the worker<br>
> only take about 0.020s on my workstation (scale appropriately). So<br>
> removing all the unneeded db setup code is probably only going to save<br>
> ~30s over an entire test run.<br>
><br>
> Which doesn't mean it shouldn't be done, there are other safety reasons<br>
> we shouldn't let every test randomly punch data into the db and still<br>
> pass. But time savings should not be the primary motivator here, because<br>
> it's actually not nearly as much gain as it looks like from running only<br>
> a small number of tests.<br>
><br>
> -Sean<br>
><br>
> --<br>
> Sean Dague<br>
> </font></tt><tt><font size="2"><a href="http://dague.net">http://dague.net</a></font></tt><tt><font size="2"><br>
><br>
> /(See attached file: signature.asc)/<br>
><br>
><br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<br>
> </font></tt><tt><font size="2"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></font></tt><tt><font size="2"><br>
><br>
<br>
I take that to mean doing something like this:<br>
<br>
</font></tt><tt><font size="2"><a href="https://review.openstack.org/#/c/142655/">https://review.openstack.org/#/c/142655/</a></font></tt><tt><font size="2"><br>
<br>
But I don't want to speak for Sean.  But that would be a lot of work for <br>
some test classes, so I'd think it'd have to be phased, which is <br>
happening in some places, e.g. danpb was doing some of that with the <br>
libvirt unit test refactoring, and we've done some of that with the <br>
compute manager tests.  test_compute_mgr is huge though so refactoring <br>
and moving tests to NoDB will take time (test_neutronv2 also has some of <br>
this similar issue, i.e. we want to get away from the DB and mega-mox in <br>
setUp and move to using mock, so there is a separate test class in that <br>
module which uses Mock and NoDB and new tests should live there unless <br>
we can just update small parts of old tests).<br>
<br>
So this is kind of like the mox->mock conversion, it's OK to update <br>
existing test cases for bug fixes, but if you have new unit tests (new <br>
test cases/classes), do them in mock (and do them w/o the DB).<br>
<br>
-- <br>
<br>
Thanks,<br>
<br>
Matt Riedemann<br>
<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<br>
</font></tt><tt><font size="2"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></font></tt><tt><font size="2"><br>
</font></tt><br>
</body></html>