* [PATCH] Make client behavior configurable: drop_caches
@ 2009-11-05 20:23 Lucas Meneghel Rodrigues
2009-11-10 18:28 ` John Admanski
0 siblings, 1 reply; 4+ messages in thread
From: Lucas Meneghel Rodrigues @ 2009-11-05 20:23 UTC (permalink / raw)
To: autotest; +Cc: kvm, jadmanski, Lucas Meneghel Rodrigues
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@redhat.com>
---
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
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] Make client behavior configurable: drop_caches
2009-11-05 20:23 [PATCH] Make client behavior configurable: drop_caches Lucas Meneghel Rodrigues
@ 2009-11-10 18:28 ` John Admanski
2009-11-11 3:48 ` Lucas Meneghel Rodrigues
2009-11-11 11:36 ` [Autotest] " Lucas Meneghel Rodrigues
0 siblings, 2 replies; 4+ messages in thread
From: John Admanski @ 2009-11-10 18:28 UTC (permalink / raw)
To: Lucas Meneghel Rodrigues; +Cc: autotest, kvm
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).
-- John
On Thu, Nov 5, 2009 at 12:23 PM, Lucas Meneghel Rodrigues
<lmr@redhat.com> 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@redhat.com>
> ---
> 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
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] Make client behavior configurable: drop_caches
2009-11-10 18:28 ` John Admanski
@ 2009-11-11 3:48 ` Lucas Meneghel Rodrigues
2009-11-11 11:36 ` [Autotest] " Lucas Meneghel Rodrigues
1 sibling, 0 replies; 4+ messages in thread
From: Lucas Meneghel Rodrigues @ 2009-11-11 3:48 UTC (permalink / raw)
To: John Admanski; +Cc: autotest, kvm
On Tue, 2009-11-10 at 10:28 -0800, John Admanski 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).
Whoops, I just forgot that global_config.ini is a top level file. 2
possible solutions:
1 - Move global_config.ini to client/
2 - Create a specific configuration file for client.
But yes, the patch has already been applied and introduces a regression
since the stand alone client won't be able to see global_config.ini. I
am sorry.
I believe solution 1) is not bad, client/global_config.ini is just
slightly non intuitive, but splitting conf files does not sound like a
better idea.
> -- John
>
> On Thu, Nov 5, 2009 at 12:23 PM, Lucas Meneghel Rodrigues
> <lmr@redhat.com> 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@redhat.com>
> > ---
> > 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
> >
> >
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [Autotest] [PATCH] Make client behavior configurable: drop_caches
2009-11-10 18:28 ` John Admanski
2009-11-11 3:48 ` Lucas Meneghel Rodrigues
@ 2009-11-11 11:36 ` Lucas Meneghel Rodrigues
1 sibling, 0 replies; 4+ messages in thread
From: Lucas Meneghel Rodrigues @ 2009-11-11 11:36 UTC (permalink / raw)
To: John Admanski; +Cc: autotest, kvm
On Tue, Nov 10, 2009 at 4:28 PM, John Admanski <jadmanski@google.com> 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@redhat.com> 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@redhat.com>
>> ---
>> 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@test.kernel.org
> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
>
--
Lucas
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-11-11 11:36 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-05 20:23 [PATCH] Make client behavior configurable: drop_caches Lucas Meneghel Rodrigues
2009-11-10 18:28 ` John Admanski
2009-11-11 3:48 ` Lucas Meneghel Rodrigues
2009-11-11 11:36 ` [Autotest] " Lucas Meneghel Rodrigues
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox