On Wed, Apr 18, 2012 at 01:40:50PM -0300, Lucas Meneghel Rodrigues wrote: > On Mon, 2012-04-16 at 17:29 -0300, Lucas Meneghel Rodrigues wrote: > > IMPORTANT: The results of this thread will affect 3rd parties developing > > on top of autotest in the near future. > > > > Hi guys, > > > > Due to the packaging requirements that we've been working during the > > past several months, I decided to finally tackle the challenge of doing > > some major cleanup on the autotest API structure. I have a patchset > > here: > > > > https://github.com/autotest/autotest/pull/294 > > > > It's a massive patchset, that was for the most of it auto generated, > > plus a bunch of fixes that I've been working on over the past week. With > > this, everyone developing code on top of autotest will have to perform > > changes on their code, so consider this as a heads up. > > > > I've tested the patches over the few weeks, and I'm up to the point I > > see no more (at least obvious) problems on it. Bottom line, the patches > > change the autotest structure in the following way > > > > -> No more autotest/client/bin dir > > -> API: autotest_lib -> autotest > > -> API: autotest.client.common_lib -> autotest.client.shared > > > > As an example, here's how the imports on client/bin/job.py looks in > > master: > > > > from autotest_lib.client.bin import client_logging_config > > from autotest_lib.client.bin import utils, parallel, kernel, xen > > from autotest_lib.client.bin import profilers, boottool, harness > > from autotest_lib.client.bin import config, sysinfo, test, local_host > > from autotest_lib.client.bin import partition as partition_lib > > from autotest_lib.client.common_lib import base_job > > from autotest_lib.client.common_lib import error, barrier, log, > > logging_manager > > from autotest_lib.client.common_lib import base_packages, packages > > from autotest_lib.client.common_lib import global_config > > from autotest_lib.client.tools import html_report > > > > And how they're going to look after the patchset is applied: > > > > from autotest.client import client_logging_config > > from autotest.client import utils, parallel, kernel, xen > > from autotest.client import profilers, boottool, harness > > from autotest.client import config, sysinfo, test, local_host > > from autotest.client import partition as partition_lib > > from autotest.client.shared import base_job > > from autotest.client.shared import error, barrier, log, logging_manager > > from autotest.client.shared import base_packages, packages > > from autotest.client.shared import global_config > > from autotest.client.tools import html_report > > > > I know this will cause inconveniences, but I believe it'll be well worth > > the effort. Please feel free to review the changes and give us your > > opinion. > > Ok guys, a ton of tests and fixes later, the branch was merged and now > we have a clean autotest namespace. Client, server, unittests, > scheduler, they all are working properly from the scope of my test.
Well done! This is a large step in the direction of making autotest simpler and more intuitive. I'm a firm believer that refactorings such as these are necessary from time to time and the benefits in the long term easily surpass the cost of breaking compatibility now. Cheers! - Ademar > > 3rd party folks, please prepare modifications to your code, autotest > 0.14.0 will be released with it. I guess I have some few packaging > things to work on before I tag 0.14.0-rc0 in master, and we will work > from there towards 0.14.0. > > Cheers, > > Lucas > -- Ademar de Souza Reis Jr. Red Hat ^[:wq! _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
