<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;feed=atom&amp;action=history</id>
		<title>Test Lab Architecture - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;action=history"/>
		<updated>2013-05-21T07:55:15Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.21alpha</generator>

	<entry>
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16306&amp;oldid=prev</id>
		<title>Wmat: fixed bullet formatting</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16306&amp;oldid=prev"/>
				<updated>2010-01-26T02:34:24Z</updated>
		
		<summary type="html">&lt;p&gt;fixed bullet formatting&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:34, 26 January 2010&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 247:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 247:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Desired operations on the host machine ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Desired operations on the host machine ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This section describes in simple sentences, the requirements on the host machine for &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This section describes in simple sentences, the requirements on the host machine for this architecture.&amp;#160; After each statement, in parenthesis, is a possible command that could be used to implement the required operation.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;this architecture.&amp;#160; After each statement, in parenthesis, is a possible command that&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;could be used to implement the required operation.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user MUST be able to log in to the host machine remotely (ssh)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user MUST be able to log in to the host machine remotely (ssh)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user SHOULD be able to verify that the target machine is available for use (&amp;quot;target status&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user SHOULD be able to verify that the target machine is available for use (&amp;quot;target status&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user MUST be able to reserve a target for use, for a period of time (&amp;quot;target acquire [timeout]&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user MUST be able to reserve a target for use, for a period of time (&amp;quot;target acquire [timeout]&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user SHOULD be able to unreserve a target, or relinquish a held reservation (&amp;quot;target release&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user SHOULD be able to unreserve a target, or relinquish a held reservation (&amp;quot;target release&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user or program MUST be able to build the Linux kernel for the target, on the host&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user or program MUST be able to build the Linux kernel for the target, on the host&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  - &lt;/del&gt;obtain kernel source for target (&amp;quot;target get_kernel&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** &lt;/ins&gt;obtain kernel source for target (&amp;quot;target get_kernel&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  - &lt;/del&gt;set up build environment for kernel (&amp;quot;target setenv&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;**&lt;/ins&gt;set up build environment for kernel (&amp;quot;target setenv&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  - &lt;/del&gt;get default kernel configuration (&amp;quot;target get_config&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;**&lt;/ins&gt;get default kernel configuration (&amp;quot;target get_config&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  - &lt;/del&gt;set specific configuration paramenters (&amp;quot;target set_config [options]&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;**&lt;/ins&gt;set specific configuration paramenters (&amp;quot;target set_config [options]&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user or program SHOULD be able to build a root filesystem for target, from source&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user or program SHOULD be able to build a root filesystem for target, from source&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user or program MUST be able to build an arbitrary C program for target&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user or program MUST be able to build an arbitrary C program for target&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  - &lt;/del&gt;ability to put source for arbitrary program on the host???&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;**&lt;/ins&gt;ability to put source for arbitrary program on the host???&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  - &lt;/del&gt;set up build environment for programs (target setup_build_environment???)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;**&lt;/ins&gt;set up build environment for programs (target setup_build_environment???)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user or program MUST be able to install kernel (&amp;quot;target kinstall&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user or program MUST be able to install kernel (&amp;quot;target kinstall&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user or program MUST be able to install a program (&amp;quot;target cp&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user or program MUST be able to install a program (&amp;quot;target cp&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user or program SHOULD be able to install a new rootfs (&amp;quot;target fsinstall&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user or program SHOULD be able to install a new rootfs (&amp;quot;target fsinstall&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user or program MUST be able to transfer files from the target to the host (&amp;quot;target cp&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user or program MUST be able to transfer files from the target to the host (&amp;quot;target cp&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user or program MUST be able to restart a target machine, by at least one of the following methods:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user or program MUST be able to restart a target machine, by at least one of the following methods:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  - &lt;/del&gt;resetting the target hardware (&amp;quot;target reset&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;**&lt;/ins&gt;resetting the target hardware (&amp;quot;target reset&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  - &lt;/del&gt;power cycling the target machine (&amp;quot;target reboot&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;**&lt;/ins&gt;power cycling the target machine (&amp;quot;target reboot&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user MUST be able to interactively access the Linux console of the target(&amp;quot;target console&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user MUST be able to interactively access the Linux console of the target(&amp;quot;target console&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user SHOULD be able to interactively access a target command shell (&amp;quot;target login&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user SHOULD be able to interactively access a target command shell (&amp;quot;target login&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A user or program MUST be able to execute an arbitrary command on the target (&amp;quot;target run&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A user or program MUST be able to execute an arbitrary command on the target (&amp;quot;target run&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A host machine MUST periodically poll the server for it's list of tasks (wget)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A host machine MUST periodically poll the server for it's list of tasks (wget)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A host machine MUST be able to download materials from the lab server (wget)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A host machine MUST be able to download materials from the lab server (wget)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; - &lt;/del&gt;A LAB host machine MUST respond to a request for reservation information from the server ???&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;A LAB host machine MUST respond to a request for reservation information from the server ???&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  - &lt;/del&gt;The server MUST be able to query a LAB host machine for it's reservation status ???&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;**&lt;/ins&gt;The server MUST be able to query a LAB host machine for it's reservation status ???&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Community]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Community]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:16305:newid:16306 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16305&amp;oldid=prev</id>
		<title>Wmat: and more...</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16305&amp;oldid=prev"/>
				<updated>2010-01-26T02:31:10Z</updated>
		
		<summary type="html">&lt;p&gt;and more...&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:31, 26 January 2010&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Access use cases ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Access use cases ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;There are four broad types of activities that the test lab is intended to support:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;There are four broad types of activities that the test lab is intended to support:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;interactive software development and testing (single-user testing on a remote board)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;interactive software development and testing (single-user testing on a remote board)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;custom automated testing against multiple boards (a single user running an ad-hoc test remotely)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;custom automated testing against multiple boards (a single user running an ad-hoc test remotely)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;automated regression testing against lab boards (lab-driven tests against multiple boards)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;automated regression testing against lab boards (lab-driven tests against multiple boards)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;private testing (accessing tests from the lab to run against a local (possibly private) board)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;private testing (accessing tests from the lab to run against a local (possibly private) board)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;On the [[Open Test Lab]] page, these are described as:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;On the [[Open Test Lab]] page, these are described as:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:16304:newid:16305 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16304&amp;oldid=prev</id>
		<title>Wmat: more cleanup</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16304&amp;oldid=prev"/>
				<updated>2010-01-26T02:30:30Z</updated>
		
		<summary type="html">&lt;p&gt;more cleanup&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:30, 26 January 2010&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Access use cases ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Access use cases ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;There are four broad types of activities that the test lab is intended to support:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;There are four broad types of activities that the test lab is intended to support:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;- interactive software development and testing (single-user testing on a remote board)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;- interactive software development and testing (single-user testing on a remote board)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;- custom automated testing against multiple boards (a single user running an ad-hoc test remotely)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;- custom automated testing against multiple boards (a single user running an ad-hoc test remotely)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;- automated regression testing against lab boards (lab-driven tests against multiple boards)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;- automated regression testing against lab boards (lab-driven tests against multiple boards)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;- private testing (accessing tests from the lab to run against a local (possibly private) board)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;- private testing (accessing tests from the lab to run against a local (possibly private) board)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;On the [[Open Test Lab]] page, these are described as:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;On the [[Open Test Lab]] page, these are described as:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:16303:newid:16304 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16303&amp;oldid=prev</id>
		<title>Wmat: more cleanup</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16303&amp;oldid=prev"/>
				<updated>2010-01-26T02:29:52Z</updated>
		
		<summary type="html">&lt;p&gt;more cleanup&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:29, 26 January 2010&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; server : : A single machine in the lab is used as the main server for lab operations.&amp;#160; This machine&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; server : : A single machine in the lab is used as the main server for lab operations.&amp;#160; This machine&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;processes board reservations, coordinates nightly regression tests, is a repository for lab test software,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;processes board reservations, coordinates nightly regression tests, is a repository for lab test software, and provides information and results for the lab to the public.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;and provides information and results for the lab to the public.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; host : : The machine used to control or access one or more target boards.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; host : : The machine used to control or access one or more target boards.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; target software : : The collection of software that is run on the target.&amp;#160; The target software is&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; target software : : The collection of software that is run on the target.&amp;#160; The target software is&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;compiled on the host machine, and transferred to the target machine for execution.&amp;#160; This includes&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;compiled on the host machine, and transferred to the target machine for execution.&amp;#160; This includes the kernel, and user-space libraries, daemons, utilities and other programs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;the kernel, and user-space libraries, daemons, utilities and other programs.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; toolchain : : The collection of programs used to create software for a target machine.&amp;#160; This &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;consists of the compiler (including preprocessor), assembler, linker and other programs used for manipulating source and machine code into a form usable on the target.&amp;#160; This usually consists of software from the Linux packages for gcc, binutils, and glibc.&amp;#160; The toolchains are run on the host machine of a node.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; toolchain : : The collection of programs used to create software for a target machine.&amp;#160; This&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; consists of the compiler (including preprocessor), assembler, linker and other programs used&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A host and target combination (a node) can be located anywhere in the world - either physically in the main lab, in a satellite lab, or at some point on the Internet.&amp;#160; Operationaly, it is useful to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;distinguish between those that are made available for public use (and are managed by CELF or an affiliated entity), and those that are used used privately.&amp;#160; The following terminology is used for these different nodes:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; for manipulating source and machine code into a form usable on the target.&amp;#160; This usually consists&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; of software from the Linux packages for gcc, binutils, and glibc.&amp;#160; The toolchains are run&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; on the host machine of a node.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A host and target combination (a node) can be located anywhere in the world - either physically in&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;the main lab, in a satellite lab, or at some point on the Internet.&amp;#160; Operationaly, it is useful to &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;distinguish between those that are made available for public use (and are managed by CELF or an affiliated&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;entity), and those that are used used privately.&amp;#160; The following terminology is used for these&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;different nodes:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; lab node : : An host/target combination managed by CELF&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; lab node : : An host/target combination managed by CELF&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; private node : : An host/target combination NOT managed by CELF.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;;&amp;#160; private node : : An host/target combination NOT managed by CELF.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Architecture Diagram ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Architecture Diagram ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:16302:newid:16303 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16302&amp;oldid=prev</id>
		<title>Wmat: tidying up page</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16302&amp;oldid=prev"/>
				<updated>2010-01-26T02:27:30Z</updated>
		
		<summary type="html">&lt;p&gt;tidying up page&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:27, 26 January 2010&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 180:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 180:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** web page of information about each target board&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** web page of information about each target board&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** web page per job&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** web page per job&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160;  &lt;/del&gt;*(the schema is not yet fully defined, but it includes:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*(the schema is not yet fully defined, but it includes:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** lab node for job (host:target)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** lab node for job (host:target)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** requesting account&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** requesting account&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** requested start time (specific time or ANY)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** requested start time (specific time or ANY)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** requested duration (specific time or NONE)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** requested duration (specific time or NONE)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** duration estimate (average of previous durations of this test on this target)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** duration estimate (average of previous durations of this test on this target)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** priority (1=high, 5=low)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** priority (1=high, 5=low)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** status (one of: pending, in-progress, complete)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** status (one of: pending, in-progress, complete)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** current client (in the case of an active reservation)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** current client (in the case of an active reservation)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** result summary (one-line description of result)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** result summary (one-line description of result)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** result detail (multi-line description of result)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** result detail (multi-line description of result)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;** test script&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** test script&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** web page showing list of jobs and reservations per target&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** web page showing list of jobs and reservations per target&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** user account&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** user account&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:16301:newid:16302 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16301&amp;oldid=prev</id>
		<title>Wmat: Fixed link to Lab architecture diagram.</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=16301&amp;oldid=prev"/>
				<updated>2010-01-26T02:25:18Z</updated>
		
		<summary type="html">&lt;p&gt;Fixed link to Lab architecture diagram.&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:25, 26 January 2010&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 58:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 58:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Architecture Diagram ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Architecture Diagram ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Here is a diagram of the architecture of the CELF Open Test Lab.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Here is a diagram of the architecture of the CELF Open Test Lab.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;{| &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|- &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;File&lt;/ins&gt;:CELF test lab &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;diagram 2&lt;/ins&gt;.png]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|&amp;#160; &lt;/del&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Media&lt;/del&gt;:CELF&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;-&lt;/del&gt;test&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;-&lt;/del&gt;lab&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;-diagram2&lt;/del&gt;.png]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Server ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Server ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:8377:newid:16301 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=8377&amp;oldid=prev</id>
		<title>Tim Bird: /* Server */ remove link to missing page</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=8377&amp;oldid=prev"/>
				<updated>2008-12-03T23:57:40Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Server: &lt;/span&gt; remove link to missing page&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:57, 3 December 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;role in the lab. As can be seen below, the host&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;role in the lab. As can be seen below, the host&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;machines have the major role in initiating test activities as part of &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;machines have the major role in initiating test activities as part of &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;automated testing. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; See the [[Test Lab Server]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;automated testing.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Use Cases ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Use Cases ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:5605:newid:8377 --&gt;
&lt;/table&gt;</summary>
		<author><name>Tim Bird</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=5605&amp;oldid=prev</id>
		<title>Glenn: +Category:Community</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=5605&amp;oldid=prev"/>
				<updated>2008-02-10T21:09:22Z</updated>
		
		<summary type="html">&lt;p&gt;+&lt;a href=&quot;/Category:Community&quot; title=&quot;Category:Community&quot;&gt;Category:Community&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:09, 10 February 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 293:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 293:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; - A LAB host machine MUST respond to a request for reservation information from the server ???&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; - A LAB host machine MUST respond to a request for reservation information from the server ???&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  - The server MUST be able to query a LAB host machine for it's reservation status ???&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  - The server MUST be able to query a LAB host machine for it's reservation status ???&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Community]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:2122:newid:5605 --&gt;
&lt;/table&gt;</summary>
		<author><name>Glenn</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=2122&amp;oldid=prev</id>
		<title>RBot: Bot (Edward's framework)</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Test_Lab_Architecture&amp;diff=2122&amp;oldid=prev"/>
				<updated>2007-03-06T03:38:35Z</updated>
		
		<summary type="html">&lt;p&gt;Bot (Edward&amp;#039;s framework)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Table Of Contents:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This document describes the architecture of the CE Linux Forum Open Test Lab.&lt;br /&gt;
The architecture of the lab is intended to support multiple activities envisioned&lt;br /&gt;
for the lab.  See [[Open Test Lab]] for an introduction and description of the&lt;br /&gt;
purpose of the lab.&lt;br /&gt;
&lt;br /&gt;
=== Access use cases ===&lt;br /&gt;
There are four broad types of activities that the test lab is intended to support:&lt;br /&gt;
 - interactive software development and testing (single-user testing on a remote board)&lt;br /&gt;
 - custom automated testing against multiple boards (a single user running an ad-hoc test remotely)&lt;br /&gt;
 - automated regression testing against lab boards (lab-driven tests against multiple boards)&lt;br /&gt;
 - private testing (accessing tests from the lab to run against a local (possibly private) board)&lt;br /&gt;
&lt;br /&gt;
On the [[Open Test Lab]] page, these are described as:&lt;br /&gt;
* Interactive board usage via remote access&lt;br /&gt;
* Automated multi-platform testing&lt;br /&gt;
* Nightly regression tests&lt;br /&gt;
* Private test usage&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
;  server : : A single machine in the lab is used as the main server for lab operations.  This machine&lt;br /&gt;
&lt;br /&gt;
 processes board reservations, coordinates nightly regression tests, is a repository for lab test software,&lt;br /&gt;
 and provides information and results for the lab to the public.&lt;br /&gt;
;  host : : The machine used to control or access one or more target boards.&lt;br /&gt;
&lt;br /&gt;
;  node : : The collection of machines consisting of a single host and one or more targets.&lt;br /&gt;
&lt;br /&gt;
;  client : : A machine that accesses the lab for testing services.&lt;br /&gt;
&lt;br /&gt;
;  target : : A development board which can be accessed by the lab software.&lt;br /&gt;
&lt;br /&gt;
;  target software : : The collection of software that is run on the target.  The target software is&lt;br /&gt;
&lt;br /&gt;
 compiled on the host machine, and transferred to the target machine for execution.  This includes&lt;br /&gt;
 the kernel, and user-space libraries, daemons, utilities and other programs.&lt;br /&gt;
;  toolchain : : The collection of programs used to create software for a target machine.  This&lt;br /&gt;
&lt;br /&gt;
 consists of the compiler (including preprocessor), assembler, linker and other programs used&lt;br /&gt;
 for manipulating source and machine code into a form usable on the target.  This usually consists&lt;br /&gt;
 of software from the Linux packages for gcc, binutils, and glibc.  The toolchains are run&lt;br /&gt;
 on the host machine of a node.&lt;br /&gt;
&lt;br /&gt;
A host and target combination (a node) can be located anywhere in the world - either physically in&lt;br /&gt;
the main lab, in a satellite lab, or at some point on the Internet.  Operationaly, it is useful to &lt;br /&gt;
distinguish between those that are made available for public use (and are managed by CELF or an affiliated&lt;br /&gt;
entity), and those that are used used privately.  The following terminology is used for these&lt;br /&gt;
different nodes:&lt;br /&gt;
&lt;br /&gt;
;  lab node : : An host/target combination managed by CELF&lt;br /&gt;
&lt;br /&gt;
;  private node : : An host/target combination NOT managed by CELF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Architecture Diagram ==&lt;br /&gt;
Here is a diagram of the architecture of the CELF Open Test Lab.&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|  [[Media:CELF-test-lab-diagram2.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
More details about the server for the lab are at [[Test Lab Server Spec]].&lt;br /&gt;
&lt;br /&gt;
One important attribute of the server that is reflected strongly&lt;br /&gt;
in the architecture is that the server plays a very passive&lt;br /&gt;
role in the lab. As can be seen below, the host&lt;br /&gt;
machines have the major role in initiating test activities as part of &lt;br /&gt;
automated testing.  See the [[Test Lab Server]]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
=== Interactive use of a board remotely ===&lt;br /&gt;
A developer wants to use an individual board for interactive testing.  In this mode,&lt;br /&gt;
the developer follows certain high-level steps to work with the board:&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
* the developer identifies a board using information on lab web site&lt;br /&gt;
** each board should have a page on the lab wiki&lt;br /&gt;
* the developer reserves a time slot to use the board&lt;br /&gt;
** reservation information is maintained for each board on its associated host&lt;br /&gt;
** the server presents a web form to the user for reserving time on a board&lt;br /&gt;
**** the client accesses the server the using http&lt;br /&gt;
**** the server runs a command on the host make or change a reservation&lt;br /&gt;
* the developer logs in to the host for that board (using ssh)&lt;br /&gt;
** this requires an account that the client can use, on the host&lt;br /&gt;
** lab hosts have static IP addresses that can be accessed from outside the lab&lt;br /&gt;
**** the server has host-target mappings, and host IP addresses&lt;br /&gt;
* the developer compiles the software for the board&lt;br /&gt;
** user can compile on the lab host, or send binaries to the host from their own client&lt;br /&gt;
** user can supply their own configuration and patches for software on the host&lt;br /&gt;
** lab host has toolchains, kernel source and linux distribution for each target it controls&lt;br /&gt;
* the developer installs the software to target (or use directly from host - e.g. nfs-mounted root filesystem)&lt;br /&gt;
* the developer reboots target, from the host&lt;br /&gt;
* the developer uses a serial console or network login from host to interactively work on the target&lt;br /&gt;
* the developer (on the target) runs tests, examine results, etc.&lt;br /&gt;
* the developer can collect results onto host, and transfer them back to client, if desired&lt;br /&gt;
&lt;br /&gt;
In the lab diagram, an example of this would be client A accessing Target 1, through Lab host A.&lt;br /&gt;
The reservation would be sent to the server.  The host would grant the reservation after checking&lt;br /&gt;
with the server.&lt;br /&gt;
&lt;br /&gt;
=== Automated multi-platform testing ===&lt;br /&gt;
In this scenario, a developer uses the lab to perform the same test on multiple boards.&lt;br /&gt;
This could be a small subset of boards, or conceivably all the boards registered with the&lt;br /&gt;
lab.&lt;br /&gt;
&lt;br /&gt;
* the developer identifies a set of boards using information on lab web site&lt;br /&gt;
* the developer uploads the test software and test paramaters to the server&lt;br /&gt;
* the host checks with the server periodically, and initiates a test that is requested for one of its boards&lt;br /&gt;
** the host uses http to access the server&lt;br /&gt;
* the host downloads the software for the test from the server&lt;br /&gt;
** test programs for the target must be packaged somehow /\ [''specifications for host and client test package formats are needed'']&lt;br /&gt;
* the host compiles the software for the board (if appropriate)&lt;br /&gt;
** the host has toolchains, kernel source and linux distribution for each target it controls&lt;br /&gt;
* the host installs the software to target&lt;br /&gt;
* the host reboots the target&lt;br /&gt;
* the host runs the tests on the target&lt;br /&gt;
* the host collects the results&lt;br /&gt;
* the host uploads the results to the server&lt;br /&gt;
* the server collates the results and publishes them on the web site&lt;br /&gt;
&lt;br /&gt;
In the lab diagram, an example of this would be client A requesting a test to be run on &lt;br /&gt;
Target 1 through Lab host A and target 3 through lab host B.&lt;br /&gt;
&lt;br /&gt;
=== Automated Periodic Regression Test ===&lt;br /&gt;
In this case, a lab administrator (CELF) sets up a test to be run on a periodic&lt;br /&gt;
basis (e.g. nightly), on a certain set of boards.&lt;br /&gt;
&lt;br /&gt;
* the administrator identifies a set of boards using information on lab web site&lt;br /&gt;
* the administrator reserves a periodically-repeating time slot for those boards&lt;br /&gt;
* the administrator uploads the test software and test paramters to the server&lt;br /&gt;
* the host initiates the test, at the start of the reserved time slot&lt;br /&gt;
* the host checks for updates to the linux kernel or other software involved in the test&lt;br /&gt;
** when a new version is detected, the host downloads the code automatically&lt;br /&gt;
* the host compiles the software for the board (if appropriate)&lt;br /&gt;
** the host has toolchains, kernel source and linux distribution for each target it controls&lt;br /&gt;
* the host installs the software to target&lt;br /&gt;
* the host reboots the target&lt;br /&gt;
* the host runs the tests on the target&lt;br /&gt;
* the host collects the results from the target&lt;br /&gt;
* the host uploads the results to the server&lt;br /&gt;
* the server collates the results and publishes them on the web site&lt;br /&gt;
* the server may do additional processing of the results, to provide enhanced feedback to the community&lt;br /&gt;
** for example, the server may do an automated binary search for the patch that caused a a particular regression, and report that to the community&lt;br /&gt;
&lt;br /&gt;
=== Private testing ===&lt;br /&gt;
This mode of usage allows an individual to use all the tests on the server, in&lt;br /&gt;
an interactive or automated fashion, on their own machines.&lt;br /&gt;
* PRE-REQUISITE - the user verifies that their host/target combination interoperates with the lab system&lt;br /&gt;
** the user downloads an interoperability test and runs it&lt;br /&gt;
* the developer selects a test on the test server&lt;br /&gt;
** the available tests are listed on the lab server (wiki)&lt;br /&gt;
* the developer downloads the test&lt;br /&gt;
* the developer runs the test on their local host/target combination&lt;br /&gt;
   &lt;br /&gt;
An example of this would be Client B downloading tests from the lab server, and running them &lt;br /&gt;
locally (as a host) to run a test on private target 1.&lt;br /&gt;
&lt;br /&gt;
== Required Interfaces and Capabilities ==&lt;br /&gt;
There are multiple elements in the lab system, with interfaces between each one.&lt;br /&gt;
&lt;br /&gt;
This section describes the interfaces between different elements, in terms of&lt;br /&gt;
protocols, formats and conventions.  The model of interaction (push vs. pull,&lt;br /&gt;
synchronous vs. asynchronous, interactive vs. automated) is also described.&lt;br /&gt;
&lt;br /&gt;
/\ ''Note - This section is still under construction''&lt;br /&gt;
&lt;br /&gt;
=== Interface between client and server ===&lt;br /&gt;
A client access the server via http.  The server runs a web server, with a &lt;br /&gt;
wiki to provide data about each board in the system.&lt;br /&gt;
&lt;br /&gt;
Jobs for each host to run are located on the server.&lt;br /&gt;
A reservation for interactive use of a board is a special type of job.&lt;br /&gt;
Many jobs will not have a specific time slot.&lt;br /&gt;
&lt;br /&gt;
* protocols:&lt;br /&gt;
** http&lt;br /&gt;
* data:&lt;br /&gt;
** web page of information about each target board&lt;br /&gt;
** web page per job&lt;br /&gt;
     *(the schema is not yet fully defined, but it includes:&lt;br /&gt;
***** lab node for job (host:target)&lt;br /&gt;
***** requesting account&lt;br /&gt;
***** requested start time (specific time or ANY)&lt;br /&gt;
***** requested duration (specific time or NONE)&lt;br /&gt;
***** duration estimate (average of previous durations of this test on this target)&lt;br /&gt;
***** priority (1=high, 5=low)&lt;br /&gt;
***** status (one of: pending, in-progress, complete)&lt;br /&gt;
***** current client (in the case of an active reservation)&lt;br /&gt;
***** result summary (one-line description of result)&lt;br /&gt;
***** result detail (multi-line description of result)&lt;br /&gt;
***** test script&lt;br /&gt;
** web page showing list of jobs and reservations per target&lt;br /&gt;
** user account&lt;br /&gt;
 &lt;br /&gt;
When a job is submitted, the server creates a page for&lt;br /&gt;
each lab node for which the job is requested.  The server rejects&lt;br /&gt;
job requests or reservations which conflict with those already&lt;br /&gt;
scheduled for a node.  (This can only happen with job requests&lt;br /&gt;
with a specific time or duration.)&lt;br /&gt;
&lt;br /&gt;
=== Interface between host and server ===&lt;br /&gt;
A server does not directly initiate work on a host.  Rather, the host&lt;br /&gt;
initiates contact with the server, to obtain reservation requests.&lt;br /&gt;
At regular intervals, the host downloads the list of its jobs&lt;br /&gt;
and determines which one it will &amp;quot;execute&amp;quot;.  At the end of a job,&lt;br /&gt;
the host uploads the results and completion information to the server.&lt;br /&gt;
&lt;br /&gt;
The host also uploads its target information and status periodically&lt;br /&gt;
to the server.&lt;br /&gt;
&lt;br /&gt;
* protocols:&lt;br /&gt;
*** http&lt;br /&gt;
* data:&lt;br /&gt;
*** web page of information about each target board (schema not defined yet)&lt;br /&gt;
*** web page per job&lt;br /&gt;
*** web page with list of jobs per target&lt;br /&gt;
&lt;br /&gt;
During a reservation, the host does nothing automated.  That is,&lt;br /&gt;
is doesn't run a script from the server, but it might&lt;br /&gt;
record secure-shell access during the reservation time slot, and report&lt;br /&gt;
the activity log as the result of the &amp;quot;job&amp;quot;.  This could be used to&lt;br /&gt;
detect wasted time slots (if no one logs in).&lt;br /&gt;
&lt;br /&gt;
=== Interface between host and target ===&lt;br /&gt;
The interface between the host and the target is specified in [[Remote Board Access Spec]]&lt;br /&gt;
&lt;br /&gt;
Note that there is no specified interface between a client and a target,&lt;br /&gt;
or between a server and a target.  Targets are only accessible via&lt;br /&gt;
a host machine.&lt;br /&gt;
&lt;br /&gt;
The host machine is the initiator of all activity in the system.&lt;br /&gt;
The target machine is a slave to the host.&lt;br /&gt;
&lt;br /&gt;
=== Interface between host and Internet ===&lt;br /&gt;
A host may be required to download software directly from the Internet&lt;br /&gt;
as part of building the software for a target.  A host needs http access&lt;br /&gt;
to the Internet.&lt;br /&gt;
&lt;br /&gt;
* protocols:&lt;br /&gt;
** http&lt;br /&gt;
&lt;br /&gt;
=== Interface between client and host ===&lt;br /&gt;
The only direct interface between a client and a host is&lt;br /&gt;
interactive command line access, via ssh.&lt;br /&gt;
&lt;br /&gt;
* protocols:&lt;br /&gt;
** ssh (from client to host)&lt;br /&gt;
* conventions:&lt;br /&gt;
** the default command shell for an incoming client is bash&lt;br /&gt;
** programs and utilities that are available on the host are specified in [[Remote Board Access Spec]]&lt;br /&gt;
&lt;br /&gt;
At the time of an ssh login, the host machine may validate the&lt;br /&gt;
client's reservation by contacting the server.  (Or, it may &amp;quot;know&amp;quot; that this&lt;br /&gt;
client is allowed to access the machine, by having recently checked with the server).&lt;br /&gt;
The host may update the status of the job with the list of the current user for&lt;br /&gt;
the target.&lt;br /&gt;
&lt;br /&gt;
=== Desired operations on the host machine ===&lt;br /&gt;
This section describes in simple sentences, the requirements on the host machine for &lt;br /&gt;
this architecture.  After each statement, in parenthesis, is a possible command that&lt;br /&gt;
could be used to implement the required operation.&lt;br /&gt;
 &lt;br /&gt;
 - A user MUST be able to log in to the host machine remotely (ssh)&lt;br /&gt;
 - A user SHOULD be able to verify that the target machine is available for use (&amp;quot;target status&amp;quot;)&lt;br /&gt;
 - A user MUST be able to reserve a target for use, for a period of time (&amp;quot;target acquire [timeout]&amp;quot;)&lt;br /&gt;
 - A user SHOULD be able to unreserve a target, or relinquish a held reservation (&amp;quot;target release&amp;quot;)&lt;br /&gt;
 - A user or program MUST be able to build the Linux kernel for the target, on the host&lt;br /&gt;
   - obtain kernel source for target (&amp;quot;target get_kernel&amp;quot;)&lt;br /&gt;
   - set up build environment for kernel (&amp;quot;target setenv&amp;quot;)&lt;br /&gt;
   - get default kernel configuration (&amp;quot;target get_config&amp;quot;)&lt;br /&gt;
   - set specific configuration paramenters (&amp;quot;target set_config [options]&amp;quot;)&lt;br /&gt;
 - A user or program SHOULD be able to build a root filesystem for target, from source&lt;br /&gt;
 - A user or program MUST be able to build an arbitrary C program for target&lt;br /&gt;
   - ability to put source for arbitrary program on the host???&lt;br /&gt;
   - set up build environment for programs (target setup_build_environment???)&lt;br /&gt;
 - A user or program MUST be able to install kernel (&amp;quot;target kinstall&amp;quot;)&lt;br /&gt;
 - A user or program MUST be able to install a program (&amp;quot;target cp&amp;quot;)&lt;br /&gt;
 - A user or program SHOULD be able to install a new rootfs (&amp;quot;target fsinstall&amp;quot;)&lt;br /&gt;
 - A user or program MUST be able to transfer files from the target to the host (&amp;quot;target cp&amp;quot;)&lt;br /&gt;
 - A user or program MUST be able to restart a target machine, by at least one of the following methods:&lt;br /&gt;
   - resetting the target hardware (&amp;quot;target reset&amp;quot;)&lt;br /&gt;
   - power cycling the target machine (&amp;quot;target reboot&amp;quot;)&lt;br /&gt;
 - A user MUST be able to interactively access the Linux console of the target(&amp;quot;target console&amp;quot;)&lt;br /&gt;
 - A user SHOULD be able to interactively access a target command shell (&amp;quot;target login&amp;quot;)&lt;br /&gt;
 - A user or program MUST be able to execute an arbitrary command on the target (&amp;quot;target run&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 - A host machine MUST periodically poll the server for it's list of tasks (wget)&lt;br /&gt;
 - A host machine MUST be able to download materials from the lab server (wget)&lt;br /&gt;
 - A LAB host machine MUST respond to a request for reservation information from the server ???&lt;br /&gt;
   - The server MUST be able to query a LAB host machine for it's reservation status ???&lt;/div&gt;</summary>
		<author><name>RBot</name></author>	</entry>

	</feed>