summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-09-13 22:20:20 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-09-13 22:20:20 -0500
commit70b376e26153deaec3820336b1a964c2b320dc5f (patch)
tree93aa49851658ad88b5be7bcf9584e770b2543601 /devel
parent53bbe6f001fffa6736f24d84be42244dbb9d8080 (diff)
downloadhorizon-70b376e26153deaec3820336b1a964c2b320dc5f.tar.gz
horizon-70b376e26153deaec3820336b1a964c2b320dc5f.tar.bz2
horizon-70b376e26153deaec3820336b1a964c2b320dc5f.tar.xz
horizon-70b376e26153deaec3820336b1a964c2b320dc5f.zip
req: 3b: look, actually verification requirements
Diffstat (limited to 'devel')
-rw-r--r--devel/requirements/3b_runner.xml75
1 files changed, 73 insertions, 2 deletions
diff --git a/devel/requirements/3b_runner.xml b/devel/requirements/3b_runner.xml
index c98002a..afd9198 100644
--- a/devel/requirements/3b_runner.xml
+++ b/devel/requirements/3b_runner.xml
@@ -74,9 +74,77 @@
</section>
<section id="runner_verify_req">
<title>Functional Requirements</title>
+ <formalpara id="Runner.Verify.Exception">
+ <title>Runner.Verify.Exception</title>
+ <para>If the HorizonScript fails any verification step performed by the system, the system shall report the error.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.Exception.Install">
+ <title>Runner.Verify.Exception.Install</title>
+ <para>If the system is running in an installation environment, the system shall report verification step failure to the listening agent.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.Exception.Continue">
+ <title>Runner.Verify.Exception.Continue</title>
+ <para>The system shall support a mode where the system will continue verification after encountering a verification failure, to display all verification failures for a given HorizonScript.</para>
+ </formalpara>
<formalpara id="Runner.Verify.Required">
<title>Runner.Verify.Required</title>
- <para>The system shall verify the presence and validity of each required keyword in the HorizonScript.</para>
+ <para>The system shall verify the presence of each required keyword in the HorizonScript: <literal>mount</literal>, <literal>network</literal>, <literal>hostname</literal>, <literal>pkginstall</literal>, and <literal>rootpw</literal>.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network">
+ <title>Runner.Verify.network</title>
+ <para>The system shall verify that a single <literal>network</literal> entry is present in the HorizonScript, and that the value is either <literal>true</literal> or <literal>false</literal>.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress">
+ <title>Runner.Verify.network.netaddress</title>
+ <para>If the value in the HorizonScript for the <literal>network</literal> key is <literal>true</literal>, the system shall verify that at least one <literal>netaddress</literal> key is present.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.NoNetwork">
+ <title>Runner.Verify.network.netaddress.NoNetwork</title>
+ <para>If the value in the HorizonScript for the <literal>network</literal> key is <literal>false</literal>, the system shall verify that no <literal>netaddress</literal> key is present.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.Validity">
+ <title>Runner.Verify.network.netaddress.Validity</title>
+ <para>The system shall verify that each <literal>netaddress</literal> key has a valid form of at least two values in a space-separated tuple.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.Validity.Type">
+ <title>Runner.Verify.network.netaddress.Validity.Type</title>
+ <para>The system shall verify that the second value in each <literal>netaddress</literal> tuple is either <literal>dhcp</literal> or <literal>static</literal>.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.Validity.DHCP">
+ <title>Runner.Verify.network.netaddress.Validity.DHCP</title>
+ <para>The system shall verify that each <literal>netaddress</literal> key is a two value tuple if the second value is <literal>dhcp</literal>.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.Validity.Static">
+ <title>Runner.Verify.network.netaddress.Validity.Static</title>
+ <para>The system shall verify that each <literal>netaddress</literal> key is either a four value tuple or a five value tuple if the second value is <literal>static</literal>.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.Interface">
+ <title>Runner.Verify.network.netaddress.Interface</title>
+ <para>If the system is running in an installation environment, the system shall ensure that the interface specified as the first value in each <literal>netaddress</literal> tuple is present on the system. Failure of this requirement is a "soft" error.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.Address">
+ <title>Runner.Verify.network.netaddress.Address</title>
+ <para>If the second value of the <literal>netaddress</literal> key is <literal>static</literal>, the system shall ensure that the third value in the tuple is a valid IPv4 or IPv6 address.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.Mask">
+ <title>Runner.Verify.network.netaddress.Mask</title>
+ <para>If the second value of the <literal>netaddress</literal> key is <literal>static</literal>, the system shall ensure that the fourth value in the tuple is a valid prefix, in the form of a whole number between 1 and 32 inclusive if the third value is an IPv4 address, a whole number between 1 and 64 inclusive if the third value is an IPv6 address, or a network mask in the form of four octets separated by the period (<literal>.</literal>) symbol if the third value is an IPv4 address.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.Gateway">
+ <title>Runner.Verify.network.netaddress.Gateway</title>
+ <para>If the second value of the <literal>netaddress</literal> key is <literal>static</literal>, and the tuple contains a fifth value, the system shall ensure that the fifth value is a valid IP address of the same type as the third value in the tuple.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netaddress.Count">
+ <title>Runner.Verify.network.netaddress.Count</title>
+ <para>The system shall verify that <literal>netaddress</literal> is not specified more than 255 times per interface.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netssid">
+ <title>Runner.Verify.network.netssid</title>
+ <para>If the value in the HorizonScript for the <literal>network</literal> key is <literal>true</literal>, the system shall verify the validity of any present <literal>netssid</literal> key.</para>
+ </formalpara>
+ <formalpara id="Runner.Verify.network.netssid.NoNetwork">
+ <title>Runner.Verify.network.netssid.NoNetwork</title>
+ <para>If the value in the HorizonScript for the <literal>network</literal> key is <literal>false</literal>, the system shall verify that no <literal>netssid</literal> key is present.</para>
</formalpara>
</section>
</section>
@@ -116,7 +184,10 @@
<title>Runner.Execute.Verify.Failure</title>
<para>If the HorizonScript fails verification, the system shall report a fatal exception (<xref linkend="Runner.Execute.Exception"/>) and stop execution.</para>
</formalpara>
-
+ <formalpara id="Runner.Execute.diskid">
+ <title>Runner.Execute.diskid</title>
+ <para></para>
+ </formalpara>
</section>
</section>
</section>