Re: [Autotest] [PATCH] Make client behavior configurable: drop_caches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 10, 2009 at 4:28 PM, John Admanski <jadmanski@xxxxxxxxxx> wrote:
> Will this code actually work on a standalone client job? I'm not sure
> we've ever used global_config stuff outside of the server (despite the
> fact that the code lives in the common_lib).

I've sent 2 patches to the mailing list:

1) Fix an incorrect directory reference on the job code (fixes autoserv)
2) Moves the config files to the client directory (fixes autotest stand alone)

Both were tested and does not seem to regress the unittest suites.

I hope that with this patch things will get straightened out.

> -- John
>
> On Thu, Nov 5, 2009 at 12:23 PM, Lucas Meneghel Rodrigues
> <lmr@xxxxxxxxxx> wrote:
>> Right now autotest will drop caches between:
>>  * Test executions
>>  * Same test iterations
>>
>> This change turns those into configurable options on
>> global_config.ini. Default configuration:
>>
>> [CLIENT]
>> drop_caches: True
>> drop_caches_between_iterations: True
>>
>> Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx>
>> ---
>>  client/bin/autotest |    7 ++++++-
>>  client/bin/job.py   |   11 ++++++++---
>>  global_config.ini   |    7 ++++++-
>>  3 files changed, 20 insertions(+), 5 deletions(-)
>>
>> diff --git a/client/bin/autotest b/client/bin/autotest
>> index fe8f2c7..2d47843 100755
>> --- a/client/bin/autotest
>> +++ b/client/bin/autotest
>> @@ -6,6 +6,7 @@ import os, sys, shutil
>>  import common
>>  from optparse import OptionParser
>>  from autotest_lib.client.bin import job
>> +from autotest_lib.client.common_lib import global_config
>>
>>
>>  # Use the name of the binary to find the real installation directory
>> @@ -58,5 +59,9 @@ options, args = parser.parse_args()
>>  if len(args) != 1:
>>     usage()
>>
>> +drop_caches = global_config.global_config.get_config_value('CLIENT',
>> +                                                           'drop_caches',
>> +                                                           type=bool)
>> +
>>  # JOB: run the specified job control file.
>> -job.runjob(os.path.realpath(args[0]), options)
>> +job.runjob(os.path.realpath(args[0]), drop_caches, options)
>> diff --git a/client/bin/job.py b/client/bin/job.py
>> index ebfb3a3..6099188 100755
>> --- a/client/bin/job.py
>> +++ b/client/bin/job.py
>> @@ -15,6 +15,8 @@ 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 error, barrier, log, logging_manager
>>  from autotest_lib.client.common_lib import base_packages, packages
>> +from autotest_lib.client.common_lib import global_config
>> +
>>
>>  LAST_BOOT_TAG = object()
>>  NO_DEFAULT = object()
>> @@ -251,7 +253,10 @@ class base_job(object):
>>         """
>>         Perform the drop caches initialization.
>>         """
>> -        self.drop_caches_between_iterations = True
>> +        self.drop_caches_between_iterations = (
>> +                       global_config.global_config.get_config_value('CLIENT',
>> +                                            'drop_caches_between_iterations',
>> +                                            type=bool))
>>         self.drop_caches = drop_caches
>>         if self.drop_caches:
>>             logging.debug("Dropping caches")
>> @@ -1339,7 +1344,7 @@ class disk_usage_monitor:
>>         return decorator
>>
>>
>> -def runjob(control, options):
>> +def runjob(control, drop_caches, options):
>>     """
>>     Run a job using the given control file.
>>
>> @@ -1367,7 +1372,7 @@ def runjob(control, options):
>>         if options.cont and not os.path.exists(state):
>>             raise error.JobComplete("all done")
>>
>> -        myjob = job(control, options)
>> +        myjob = job(control=control, drop_caches=drop_caches, options=options)
>>
>>         # Load in the users control file, may do any one of:
>>         #  1) execute in toto
>> diff --git a/global_config.ini b/global_config.ini
>> index cc20a96..d018374 100644
>> --- a/global_config.ini
>> +++ b/global_config.ini
>> @@ -28,7 +28,6 @@ parse_failed_repair_default: 0
>>  # Autotest potential install paths
>>  client_autodir_paths: /usr/local/autotest,/home/autotest
>>
>> -
>>  [SERVER]
>>  hostname: autotest
>>  # Turn on RPC Logging
>> @@ -48,6 +47,12 @@ smtp_port:
>>  smtp_user:
>>  smtp_password:
>>
>> +[CLIENT]
>> +# Drop test client caches between every test execution
>> +drop_caches: True
>> +# Drop test client caches between every test iteration execution
>> +drop_caches_between_iterations: True
>> +
>>  [SCHEDULER]
>>  die_on_orphans: False
>>  enable_scheduler: True
>> --
>> 1.6.2.5
>>
>>
> _______________________________________________
> Autotest mailing list
> Autotest@xxxxxxxxxxxxxxx
> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
>



-- 
Lucas
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux