From 6259d3a8749aeca12720a0e57ebbc72b691bd43a Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Fri, 27 Sep 2019 05:21:18 -0500 Subject: req: Verification -> Validation --- devel/requirements/3b_runner.xml | 450 ++++++++++++++++----------------- devel/requirements/5_nonfunctional.xml | 10 +- 2 files changed, 230 insertions(+), 230 deletions(-) (limited to 'devel') diff --git a/devel/requirements/3b_runner.xml b/devel/requirements/3b_runner.xml index 9c48073..6607db7 100644 --- a/devel/requirements/3b_runner.xml +++ b/devel/requirements/3b_runner.xml @@ -66,444 +66,444 @@ -
- Verify HorizonScript -
+
+ Validate HorizonScript +
Description / Priority - The system needs to verify the validity of the supplied HorizonScript before executing it. + The system needs to validate the supplied HorizonScript before executing it.
-
+
Functional Requirements - - Runner.Verify.Exception - If the HorizonScript fails any verification step performed by the system, the system shall report the error. + + Runner.Validate.Exception + If the HorizonScript fails any validation step performed by the system, the system shall report the error. - - Runner.Verify.Exception.Install - If the system is running in an installation environment, the system shall report verification step failure to the listening agent. + + Runner.Validate.Exception.Install + If the system is running in an installation environment, the system shall report validation step failure to the listening agent. - - Runner.Verify.Exception.Continue - 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. + + Runner.Validate.Exception.Continue + The system shall support a mode where the system will continue validation after encountering a validation failure, to display all validation failures for a given HorizonScript. - - Runner.Verify.SkipBlanksAndComments + + Runner.Validate.SkipBlanksAndComments The system shall ignore any lines that are entirely blank, or start with the ASCII octothorpe (#) character. - - Runner.Verify.Required + + Runner.Validate.Required The system shall verify the presence of each required keyword in the HorizonScript: mount, network, hostname, pkginstall, and rootpw. - - Runner.Verify.network + + Runner.Validate.network The system shall verify that a single network entry is present in the HorizonScript, and that the value is either true or false. - - Runner.Verify.network.netaddress + + Runner.Validate.network.netaddress If the value in the HorizonScript for the network key is true, the system shall verify that at least one netaddress key is present. - - Runner.Verify.network.netaddress.NoNetwork + + Runner.Validate.network.netaddress.NoNetwork If the value in the HorizonScript for the network key is false, the system shall verify that no netaddress key is present. - - Runner.Verify.network.netaddress.Validity + + Runner.Validate.network.netaddress.Validity The system shall verify that each netaddress key has a valid form of at least two values in a space-separated tuple. - - Runner.Verify.network.netaddress.Validity.Type + + Runner.Validate.network.netaddress.Validity.Type The system shall verify that the second value in each netaddress tuple is either dhcp or static. - - Runner.Verify.network.netaddress.Validity.DHCP + + Runner.Validate.network.netaddress.Validity.DHCP The system shall verify that each netaddress key is a two value tuple if the second value is dhcp. - - Runner.Verify.network.netaddress.Validity.Static + + Runner.Validate.network.netaddress.Validity.Static The system shall verify that each netaddress key is either a four value tuple or a five value tuple if the second value is static. - - Runner.Verify.network.netaddress.Interface + + Runner.Validate.network.netaddress.Interface If the system is running in an installation environment, the system shall ensure that the interface specified as the first value in each netaddress tuple is present on the system. Failure of this requirement is a "soft" error. - - Runner.Verify.network.netaddress.Address + + Runner.Validate.network.netaddress.Address If the second value of the netaddress key is static, the system shall ensure that the third value in the tuple is a valid IPv4 or IPv6 address. - - Runner.Verify.network.netaddress.Mask + + Runner.Validate.network.netaddress.Mask If the second value of the netaddress key is static, 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 (.) symbol if the third value is an IPv4 address. - - Runner.Verify.network.netaddress.Gateway + + Runner.Validate.network.netaddress.Gateway If the second value of the netaddress key is static, 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. - - Runner.Verify.network.netaddress.Count + + Runner.Validate.network.netaddress.Count The system shall verify that netaddress is not specified more than 255 times per interface. - - Runner.Verify.network.netssid + + Runner.Validate.network.netssid If the value in the HorizonScript for the network key is true, the system shall verify the validity of any present netssid key. - - Runner.Verify.network.netssid.NoNetwork + + Runner.Validate.network.netssid.NoNetwork If the value in the HorizonScript for the network key is false, the system shall verify that no netssid key is present. - - Runner.Verify.network.netaddress.Validity + + Runner.Validate.network.netaddress.Validity The system shall verify that each netssid key has a valid form of either three values or four values in a space-separated tuple. - - Runner.Verify.network.netssid.Interface + + Runner.Validate.network.netssid.Interface If the system is running in an installation environment, the system shall ensure that the interface specified as the first value in each netssid tuple is present on the system and supports wireless extensions. - - Runner.Verify.network.netssid.SSID + + Runner.Validate.network.netssid.SSID The system shall verify that the second value of each netssid tuple is a valid SSID enclosed in ASCII double-quotes ("). - - Runner.Verify.network.netssid.Security + + Runner.Validate.network.netssid.Security The system shall verify that the third value of each netssid tuple is a valid security type: either none, wep, or wpa. - - Runner.Verify.network.netssid.Key + + Runner.Validate.network.netssid.Key If the third value of a netssid tuple is a valid security type and not none, the system shall ensure that the netssid tuple has a fourth value that specifies the security key. - - Runner.Verify.hostname + + Runner.Validate.hostname The system shall verify that the HorizonScript contains exactly one hostname key. - - Runner.Verify.hostname.Chars + + Runner.Validate.hostname.Chars The system shall verify that the value for the hostname key contains only alphanumeric and optionally one or more period (.) characters. - - Runner.Verify.hostname.Begin + + Runner.Validate.hostname.Begin The system shall verify that the value for the hostname key begins with an alphabetical character. - - Runner.Verify.hostname.Length + + Runner.Validate.hostname.Length The system shall verify that the value for the hostname key does not exceed 320 characters in length. - - Runner.Verify.pkginstall + + Runner.Validate.pkginstall The system shall verify that the HorizonScript contains at least one pkginstall key. - - Runner.Verify.rootpw + + Runner.Validate.rootpw The system shall verify that the HorizonScript contains exactly one rootpw key. - - Runner.Verify.rootpw.Crypt + + Runner.Validate.rootpw.Crypt The system shall verify that the value for the rootpw key is in the format: $, either 2 for Blowfish or 6 for SHA-512, $, and then variant data. - - Runner.Verify.language + + Runner.Validate.language The system shall verify that the HorizonScript contains zero or one language key. - - Runner.Verify.language.Format + + Runner.Validate.language.Format The system shall verify that the value of the language key, if present, is a valid ISO 639-1 language code, optionally followed by an ASCII underscore (_) and ISO 3166-1 country code, optionally followed by the string literal .UTF-8. - - Runner.Verify.keymap + + Runner.Validate.keymap The system shall verify that the HorizonScript contains zero or one keymap key. - - Runner.Verify.keymap.Valid + + Runner.Validate.keymap.Valid The system shall verify that the value of the keymap key, if present, is a valid keyboard layout available for use in an Adélie Linux system. - - Runner.Verify.firmware + + Runner.Validate.firmware The system shall verify that the HorizonScript contains zero or one firmware key. - - Runner.Verify.firmware.Boolean + + Runner.Validate.firmware.Boolean The system shall verify that the value of the firmware key, if present, is either true or false. - - Runner.Verify.firmware.ForceOff + + Runner.Validate.firmware.ForceOff If the system has firmware support compiled out, the system shall verify that the value of the firmware key, if present, is false. - - Runner.Verify.timezone + + Runner.Validate.timezone The system shall verify that the HorizonScript contains zero or one timezone key. - - Runner.Verify.timezone.zoneinfo + + Runner.Validate.timezone.zoneinfo The system shall verify that the value of the timezone key, if present, represents a valid zoneinfo time zone name. - - Runner.Verify.repository + + Runner.Validate.repository The system shall verify that the HorizonScript contains zero to ten repository keys. - - Runner.Verify.repository.ValidPath + + Runner.Validate.repository.ValidPath The system shall verify that the value of each repository key is either an absolute local path beginning with an ASCII backslash (/), or a valid URL utilising the HTTP or HTTPS protocols. - - Runner.Verify.signingkey + + Runner.Validate.signingkey The system shall verify that the HorizonScript contains zero to ten signingkey keys. - - Runner.Verify.signingkey.ValidPath + + Runner.Validate.signingkey.ValidPath The system shall verify that the value of each signingkey key is either an absolute local path beginning with an ASCII backslash (/), or a valid URL utilising the HTTPS protocol. - - Runner.Verify.username + + Runner.Validate.username The system shall verify that the HorizonScript contains zero to 255 username keys. - - Runner.Verify.username.Unique + + Runner.Validate.username.Unique The system shall verify that the value of each username key is unique. - Runner.Verify.username.System + Runner.Validate.username.System The system shall verify that the value of each username key does not match a system-defined account. - - Runner.Verify.username.Valid + + Runner.Validate.username.Valid The system shall verify that the value of each username key is a valid Linux user account name. - - Runner.Verify.useralias + + Runner.Validate.useralias The system shall verify that the HorizonScript contains a number of useralias keys equal or less than the number of username keys. - - Runner.Verify.useralias.Validity + + Runner.Validate.useralias.Validity The system shall verify that each useralias key has a valid form of two values in a space-separated tuple, with the second value reading to the end of the line (optionally containing spaces). - - Runner.Verify.useralias.Name + + Runner.Validate.useralias.Name The system shall verify that the first value in each useralias key tuple is an account name specified in a username key. - - Runner.Verify.useralias.Unique + + Runner.Validate.useralias.Unique The system shall verify that only one useralias key is specified per account name. - - Runner.Verify.userpw + + Runner.Validate.userpw The system shall verify that the HorizonScript contains a number of userpw keys equal or less than the number of username keys. - - Runner.Verify.userpw.Validity + + Runner.Validate.userpw.Validity The system shall verify that each userpw key has a valid form of two values in a space-separated tuple. - - Runner.Verify.userpw.Name + + Runner.Validate.userpw.Name The system shall verify that the first value in each userpw key tuple is an account name specified in a username key. - - Runner.Verify.userpw.Unique + + Runner.Validate.userpw.Unique The system shall verify that only one userpw key is specified per account name. - - Runner.Verify.userpw.Crypt + + Runner.Validate.userpw.Crypt The system shall verify that the second value for each userpw key tuple is in the format: $, either 2 for Blowfish or 6 for SHA-512, $, and then variant data. - - Runner.Verify.usericon + + Runner.Validate.usericon The system shall verify that the HorizonScript contains a number of usericon keys equal or less than the number of username keys. - - Runner.Verify.usericon.Validity + + Runner.Validate.usericon.Validity The system shall verify that each usericon key has a valid form of two values in a space-separated tuple. - - Runner.Verify.usericon.Name + + Runner.Validate.usericon.Name The system shall verify that the first value in each usericon key tuple is an account name specified in a username key. - - Runner.Verify.usericon.Unique + + Runner.Validate.usericon.Unique The system shall verify that only one usericon key is specified per account name. - - Runner.Verify.usericon.ValidPath + + Runner.Validate.usericon.ValidPath The system shall verify that the second value of each usericon key tuple is either an absolute local path beginning with an ASCII backslash (/), or a valid URL utilising the HTTP or HTTPS protocols. - - Runner.Verify.usergroups + + Runner.Validate.usergroups The system shall verify any usergroups keys contained in the HorizonScript. - - Runner.Verify.usergroups.Validity + + Runner.Validate.usergroups.Validity The system shall verify that each usergroups key has a valid form of two values in a space-separated tuple. - - Runner.Verify.usergroups.Name + + Runner.Validate.usergroups.Name The system shall verify that the first value in each usergroups key tuple is an account name specified in a username key. - - Runner.Verify.usergroups.Count + + Runner.Validate.usergroups.Count The system shall verify that all usergroups key tuples for a specified account name specify a combined total of sixteen or fewer groups. - - Runner.Verify.usergroups.Unique + + Runner.Validate.usergroups.Unique The system shall verify that a group is specified only once for each account name. - - Runner.Verify.usergroups.Group + + Runner.Validate.usergroups.Group The system shall verify that each group specified is a valid system-defined group name. - - Runner.Verify.diskid + + Runner.Validate.diskid The system shall verify any diskid keys contained in the HorizonScript. - - Runner.Verify.diskid.Validity + + Runner.Validate.diskid.Validity The system shall verify that each diskid key has a valid form of two values in a space-separated tuple, with the second value reading to the end of the line (optionally containing spaces). - - Runner.Verify.diskid.Unique + + Runner.Validate.diskid.Unique The system shall verify that the first value of each diskid key tuple is unique in the HorizonScript. - - Runner.Verify.diskid.Block + + Runner.Validate.diskid.Block If the system is running in an installation environment, the system shall ensure that the first value of each diskid key tuple specifies a valid block device. - - Runner.Verify.disklabel + + Runner.Validate.disklabel The system shall verify any disklabel keys contained in the HorizonScript. - - Runner.Verify.disklabel.Validity + + Runner.Validate.disklabel.Validity The system shall verify that each disklabel key has a valid form of two values in a space-separated tuple. - - Runner.Verify.disklabel.Unique + + Runner.Validate.disklabel.Unique The system shall verify that the first value of each disklabel key tuple is unique in the HorizonScript. - - Runner.Verify.disklabel.Block + + Runner.Validate.disklabel.Block If the system is running in an installation environment, the system shall ensure that the first value of each disklabel key tuple specifies a valid block device. - - Runner.Verify.disklabel.LabelType + + Runner.Validate.disklabel.LabelType The system shall verify that the second value of each disklabel key tuple is one of the following three values: apm, mbr, or gpt. - - Runner.Verify.partition + + Runner.Validate.partition The system shall verify any partition keys contained in the HorizonScript. - - Runner.Verify.partition.Validity + + Runner.Validate.partition.Validity The system shall verify that each partition key has a valid form of three or four values in a space-separated tuple. - - Runner.Verify.partition.Validity.PartNo + + Runner.Validate.partition.Validity.PartNo The system shall verify that the second value of each partition key tuple is a valid positive whole integer. - - Runner.Verify.partition.Unique + + Runner.Validate.partition.Unique The system shall verify that the union of the first and second values in each partition key tuple are unique. - - Runner.Verify.partition.Block + + Runner.Validate.partition.Block If the system is running in an installation environment, the system shall ensure that the first value of each partition key tuple specifies a valid block device. - - Runner.Verify.partition.Size + + Runner.Validate.partition.Size The system shall verify that the third value in each partition key tuple specifies a valid size as described in . - - Runner.Verify.partition.TypeCode + + Runner.Validate.partition.TypeCode If a partition key tuple contains a fourth value, the system shall verify that the fourth value of the partition key tuple is a valid type code, which is one of the following two values: boot, or esp. - - Runner.Verify.lvm_pv + + Runner.Validate.lvm_pv The system shall verify any lvm_pv keys contained in the HorizonScript. - - Runner.Verify.lvm_pv.Validity + + Runner.Validate.lvm_pv.Validity The system shall verify that the value of each lvm_pv is an absolute path to a device node. - - Runner.Verify.lvm_pv.Block + + Runner.Validate.lvm_pv.Block If the system is running in an installation environment, the system shall verify that the value of each lvm_pv key specifies a valid block device. - - Runner.Verify.lvm_vg + + Runner.Validate.lvm_vg The system shall verify any lvm_vg keys contained in the HorizonScript. - - Runner.Verify.lvm_vg.Validity + + Runner.Validate.lvm_vg.Validity The system shall verify that each lvm_vg key has a valid form of two values in a space-separated tuple. - - Runner.Verify.lvm_vg.Block + + Runner.Validate.lvm_vg.Block If the system is running in an installation environment, the system shall verify that the first value of each lvm_vg key tuple specifies a valid block device. - - Runner.Verify.lvm_vg.Name + + Runner.Validate.lvm_vg.Name The system shall verify that the second value of each lvm_vg key specifies a string that would be valid as an LVM volume group name. - - Runner.Verify.lvm_lv + + Runner.Validate.lvm_lv The system shall verify any lvm_lv keys contained in the HorizonScript. - - Runner.Verify.lvm_lv.Validity + + Runner.Validate.lvm_lv.Validity The system shall verify that each lvm_lv key has a valid form of three values in a space-separated tuple. - - Runner.Verify.lvm_lv.VolumeGroup + + Runner.Validate.lvm_lv.VolumeGroup If the system is running in an installation environment, the system shall verify that the first value of each lvm_lv key specifies a valid LVM volume group, or one specified in an lvm_vg key. - - Runner.Verify.lvm_lv.Name + + Runner.Validate.lvm_lv.Name The system shall verify that the second value of each lvm_lv key specifies a string that would be valid as an LVM logical volume name. - - Runner.Verify.lvm_lv.Size + + Runner.Validate.lvm_lv.Size The system shall verify that the third value in each lvm_lv key tuple specifies a valid size as described in . - - Runner.Verify.encrypt + + Runner.Validate.encrypt The system shall verify any encrypt keys contained in the HorizonScript. - - Runner.Verify.encrypt.Validity + + Runner.Validate.encrypt.Validity The system shall verify that the value of each encrypt key is a string value that is an absolute path to a device node, with an optional second value as a space-separated tuple. - - Runner.Verify.encrypt.Block + + Runner.Validate.encrypt.Block If the system is running in an installation environment, the system shall verify that the value of each encrypt key, and the first value of each encrypt key tuple, specifies a valid block device. - - Runner.Verify.fs + + Runner.Validate.fs The systemm shall verify any fs keys contained in the HorizonScript. - - Runner.Verify.fs.Validity + + Runner.Validate.fs.Validity The system shall verify that each fs key has a valid form of two values in a space-separated tuple. - - Runner.Verify.fs.Block + + Runner.Validate.fs.Block If the system is running in an installation environment, the system shall verify that the first value of each fs key tuple specifies a valid block device. - - Runner.Verify.fs.Type + + Runner.Validate.fs.Type The system shall verify that the second value of each fs key tuple specifies a valid file system supported by Horizon, using lower case characters. - - Runner.Verify.mount + + Runner.Validate.mount The system shall verify that the HorizonScript contains at least one valid mount key. - - Runner.Verify.mount.Validity + + Runner.Validate.mount.Validity The system shall verify that each mount key has a valid form of two or three values in a space-separated tuple. - - Runner.Verify.mount.Block + + Runner.Validate.mount.Block If the system is running in an installation environment, the system shall verify that the first value of each mount key tuple specifies a valid block device. - - Runner.Verify.mount.Point + + Runner.Validate.mount.Point The system shall verify that the second value of each mount key specifies a valid mount point beginning with a /. - - Runner.Verify.PackageAvail + + Runner.Validate.PackageAvail If the system is running in a runtime environment, the system shall verify that all of the packages specified in pkginstall keys are available in the specified repositories; either the repositories specified in repository keys, or the system-default repositories if no repository keys have been specified.
@@ -538,11 +538,11 @@ Runner.Execute.Verify - The system shall verify the HorizonScript, using the process specified in the section , before execution. + The system shall validate the HorizonScript, using the process specified in the section , before execution. Runner.Execute.Verify.Failure - If the HorizonScript fails verification, the system shall report a fatal exception () and stop execution. + If the HorizonScript fails validation, the system shall report a fatal exception () and stop execution. Runner.Execute.diskid diff --git a/devel/requirements/5_nonfunctional.xml b/devel/requirements/5_nonfunctional.xml index bcf3aa8..2b58bb6 100644 --- a/devel/requirements/5_nonfunctional.xml +++ b/devel/requirements/5_nonfunctional.xml @@ -97,19 +97,19 @@ 300 milliseconds for the worst case. - - Performance.Verification + + Performance.Validation Ambition - Fast verification of HorizonScript files. + Fast validation of HorizonScript files. Scale - Seconds elapsed between the start and completion of a verification job. Test verification of "typical" installation scripts on each base hardware platform 50 times. Do not include network resources in installation scripts. + Seconds elapsed between the start and completion of a validation job. Test validation of "typical" installation scripts on each base hardware platform 50 times. Do not include network resources in installation scripts. Meter - Shell time built-in running the verification tool. + Shell time built-in running the validation tool. Must -- cgit v1.2.3-60-g2f50