NOS validation refers to the idea that a NOS must cooperate in an ONIE-enabled system in an appropriate manner. NOS validation verifies that a NOS respects the ONIE interface, without corrupting the ONIE environment for other operating systems.
In order to perform NOS validation against an ONIE device, the following is required:
screen(1)
or minicom(1)
This program is to ensure a NUT on a given DUT adheres to the software contract provided by ONIE to the NOS. In short, the NOS shall obey the contract which includes:
Starting with a DUT with no NOS installed, record the state of the DUT
using test-nos.sh -c init
. The output of the script will indicate
if a Diagnostic NOS (DIAG) is present on the DUT. This information
will need to tracked throughout the rest of the tests to ensure the
DIAG is present and able to be invoked by the user.
Important
PASS Criteria: ONIE state successfully recorded. Test 0.
From the baseline DUT, install the NUT using OCE. Once the
installation is complete, boot into ONIE rescue mode via GRUB
for
x86_64 or U-boot
on others. In ONIE, perform test-nos.sh -c
check
. Ensure no changes to ONIE have occurred (outside of
additional GRUB entries for NUT).
Important
PASS Criteria: NUT installation does not alter ONIE. Test 1.
From the DUT with the installed NUT, perform an ONIE uninstall from the following areas:
GRUB
ONIE Uninstall target or run onie_uninstall
from U-boot
(Test 4)At the end of all of those uninstall targets, ensure test-nos.sh -c check
results in no changes. E.g. ONIE is back into the baseline state.
Important
PASS Criteria: NUT uninstallation does not alter ONIE. Tests 2 - 4.
From the baseline DUT, install the Demo OS using OCE. Once the
installation is complete, boot into ONIE rescue mode via GRUB
for
x86_64 or U-Boot
on others. In ONIE, perform test-nos.sh -c
check
. Ensure no changes to ONIE have occurred (outside of
additional GRUB entries for Demo OS).
Important
PASS Criteria: Demo OS installation does not alter ONIE. Test 5.
From the DUT with the installed Demo OS, perform an ONIE uninstall from the following areas:
GRUB
ONIE Uninstall target or run onie_uninstall
from U-boot
(Test 8)At the end of all of those uninstall targets, ensure test-nos.sh -c
check
results in no changes. E.g. ONIE is back into the baseline
state.
Important
PASS Criteria: Demo OS uninstallation does not alter ONIE. Tests 6 - 8.
From the DUT with the installed NUT, perform an ONIE Self Update from the following areas using OCE:
GRUB
ONIE Update target or run onie_update
from U-boot
(Test 11)At the end of all of those update targets, perform test-nos.sh -c
init
as ONIE files are modified. Record the state of the DUT. This
is the new baseline state.
Important
PASS Criteria: ONIE is able to perform update with the NOS fully functional. Tests 9 - 11.
From the DUT with the installed NUT, perform an ONIE Rescue from the following areas:
GRUB
ONIE Rescue target or run onie_rescue
from U-boot
(Test 13)At the end of all of those rescue targets, ensure test-nos.sh -c
check
results in no changes. E.g. ONIE is back into the baseline
state. If a DIAG was present on the box for the Baseline, ensure the
DIAG is still present on the DUT and is able to be invoked by the
user.
Important
PASS Criteria: ONIE is able to perform update with the NOS fully functional. Tests 12 and 13.