Support kernel install for server-side control files
git-svn-id: http://test.kernel.org/svn/autotest/trunk@1338 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/frontend/afe/control_file.py b/frontend/afe/control_file.py
index 7b2d7bd..080eee1 100644
--- a/frontend/afe/control_file.py
+++ b/frontend/afe/control_file.py
@@ -11,7 +11,7 @@
os.path.dirname(frontend.settings.__file__), '..'))
-KERNEL_INSTALL_TEMPLATE = """\
+CLIENT_KERNEL_TEMPLATE = """\
def step_init():
job.next_step([step_test])
testkernel = job.kernel('%(kernel)s')
@@ -22,6 +22,20 @@
def step_test():
"""
+SERVER_KERNEL_TEMPLATE = """\
+kernel_install_control = \"""
+%s pass
+\"""
+
+at = autotest.Autotest()
+def install_kernel(machine):
+ host = hosts.SSHHost(machine)
+ at.run(kernel_install_control, host=host)
+parallel_simple(install_kernel, machines)
+
+""" % CLIENT_KERNEL_TEMPLATE
+
+
def kernel_config_line(kernel, platform):
if (not kernel.endswith('.rpm') and platform and
platform.kernel_config):
@@ -36,11 +50,19 @@
return control_contents
-def get_kernel_stanza(kernel, platform, kernel_args):
- return KERNEL_INSTALL_TEMPLATE % {
+def get_kernel_stanza(kernel, platform=None, kernel_args='', is_server=False):
+ if is_server:
+ template = SERVER_KERNEL_TEMPLATE
+ indent = ''
+ else:
+ template = CLIENT_KERNEL_TEMPLATE
+ indent = '\t'
+
+ stanza = template % {
'kernel' : kernel,
'kernel_config_line' : kernel_config_line(kernel, platform),
'kernel_args' : kernel_args}
+ return stanza, indent
def get_tests_stanza(tests):
@@ -52,16 +74,11 @@
return '\n'.join(lines)
-def generate_client_control(tests, kernel=None, platform=None):
+def generate_control(tests, kernel=None, platform=None, is_server=False):
control_file = ''
indent = ''
if kernel:
- control_file = get_kernel_stanza(kernel, platform, '')
- indent = '\t'
-
+ control_file, indent = get_kernel_stanza(kernel, platform,
+ is_server=is_server)
control_file += indent_text(get_tests_stanza(tests), indent)
return control_file
-
-
-def generate_server_control(tests):
- return get_tests_stanza(tests)