[setup-storage] Request for disk_configs (goodie: test-harness script)

Thomas Neumann blacky+fai at fluffbunny.de
Tue Aug 28 22:54:36 CEST 2012


Hello everyone

Can you help me out and send me your disk_configs (via private mail)? The more the better. May it be a trivial one or highly sophisticated. I'd like to build a nice sample collection which to test setup-storage against. [It doesn't even matter if the config is supposed to work, but setup-storage fails to parse/apply it.]

Since it's small enough I simply attached the test harness I have cobbled together. It is able to test a lot of different configs without rebooting the fai-client and analyzes setup-storage's output. It already includes some tests. The 'expected output' is from an unmodified 1.4 setup-storage - that's why some tests are expected to fail for now.

The following text is from the readme file in the archive:


# GENERAL #

you must set the class STORAGE_TEST to make use of this software package
additionally I recommend setting up a proper SSH-Login, so you can easily
copy data to/from the fai-client (especially command output)

 - boot the designated fai-client
 - login as root
 - cd /var/lib/fai/config/tests
 - ./setup-storage_wrapper

sample output for a clean run:

# ./setup-storage_wrapper
======================================================================
 empty class list
 []
======================================================================
======================================================================
 no class matches
 [undefined_class]
======================================================================
======================================================================
 empty disk config
 [01_empty]
======================================================================
[...]

# REQUIREMENTS #

 these tests require a machine with 2 harddiscs (size: at least 40GB each)
 - 52_brian_md+lvm_initial
 - 53_brian_md+lvm_preserve

# CUSTOMIZATION #

the script should be pretty easy to understand. A typical configuration
looks something like

----------------------------------------------------------------------------
test_name='simple root, swap, lvm (factory clean)'
test_class='04_root+swap+lvm'
expected_result='0'
  dd if=/dev/zero of=/dev/sda bs=1M count=10 >/dev/null 2>&1
  dd if=/dev/zero of=/dev/sdb bs=1M count=10 >/dev/null 2>&1
exec_setup-storage
  # disable lvm again
  vgchange --available n     >/dev/null
  vgremove --force vg_system >/dev/null
----------------------------------------------------------------------------

$test_name          describes the current test
$test_class         defines the relevant disc configuration
$test_class.output  contains the expected output, a missing file results in
                    skipping the check.
$expected_result    expected return code for setup-storage, this can be used
                    to feed incorrect input and check proper error detection
                    (typical values: 0, 2, 25)

The '  ' indentation has no effect except to indicate some pre- and/or
post-processing. This is mainly to (re)set the system to a 'known' state.

If a file <classname>.output is present in disk_config, then this testscript
compares the actual and the desired output against each other and notify if
something has changed. (A special case is made for uuids, since they would
always result in a difference.)

Tip: Create an empty file to make the test script show the expected output.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fai_setup-storage-test_2012-08-28.tar.gz
Type: application/octet-stream
Size: 5021 bytes
Desc: not available
URL: <http://lists.uni-koeln.de/pipermail/linux-fai/attachments/20120828/94748695/attachment.obj>


More information about the linux-fai mailing list