blob: 80ad64f90f4dc29a0e040e245b9a3fa911fe50da [file] [log] [blame]
# test that hspace machine readable output looks correct
./test/hs/hspace --simu p,4,8T,64g,16 --machine-readable --disk-template drbd -l 8
>>> /^HTS_OK=1/
>>>= 0
# test again via a file and shell parsing
./test/hs/hspace --simu p,4,8T,64g,16 --machine-readable --disk-template drbd -l 8 > $T/capacity && sh -c ". $T/capacity && test x\$HTS_OK = x1"
>>>= 0
# standard & tiered allocation, using shell parsing to do multiple checks
./test/hs/hspace --machine-readable -t $TESTDATA_DIR/hspace-tiered.data --no-capacity-checks > $T/capacity && sh -c ". $T/capacity && test \"\${HTS_TSPEC}\" = '131072,1048576,4,12=4 129984,1048320,4,12=2' && test \"\${HTS_ALLOC_INSTANCES}\" = 6"
>>>=0
# again, but with a policy containing two min/max specs pairs
./test/hs/hspace --machine-readable -t $TESTDATA_DIR/hspace-tiered-dualspec.data --no-capacity-checks > $T/capacity && sh -c ". $T/capacity && test \"\${HTS_TSPEC}\" = '131072,1048576,4,12=4 129984,1048320,4,12=2 65472,524288,2,12=2' && test \"\${HTS_ALLOC_INSTANCES}\" = 14"
>>>2
>>>=0
# With exclusive storage
./test/hs/hspace --machine-readable -t $TESTDATA_DIR/hspace-tiered-exclusive.data --no-capacity-checks > $T/capacity && sh -c ". $T/capacity && test \"\${HTS_TSPEC}\" = '131072,1048576,4,10=1 131072,1048576,4,9=1 131072,1048576,4,8=2' && test \"\${HTS_ALLOC_INSTANCES}\" = 6 && test \"\${HTS_TRL_SPN_FREE}\" = 0 && test \"\${HTS_FIN_SPN_FREE}\" = 29"
>>>=0
# With exclusive storage and a policy containing two min/max specs pairs
./test/hs/hspace --machine-readable -t $TESTDATA_DIR/hspace-tiered-dualspec-exclusive.data --no-capacity-checks > $T/capacity && sh -c ". $T/capacity && test \"\${HTS_TSPEC}\" = '131072,1048576,4,4=4 129984,1048320,4,4=2 65472,524288,2,2=2' && test \"\${HTS_ALLOC_INSTANCES}\" = 14 && test \"\${HTS_TRL_SPN_FREE}\" = 7 && test \"\${HTS_FIN_SPN_FREE}\" = 7"
>>>2
>>>=0
# Mixed cluster, half with exclusive storage
./test/hs/hspace --machine-readable -t $TESTDATA_DIR/hspace-tiered-mixed.data --no-capacity-checks > $T/capacity && sh -c ". $T/capacity && test \"\${HTS_TSPEC}\" = '131072,1048576,4,12=2 131072,1048576,4,10=2 129984,1048320,4,10=2' && test \"\${HTS_ALLOC_INSTANCES}\" = 6 && test \"\${HTS_TRL_SPN_FREE}\" = 0 && test \"\${HTS_FIN_SPN_FREE}\" = 18"
>>>=0
# Verify that instance policy for disks is adhered to
./test/hs/hspace --machine-readable -t $TESTDATA_DIR/hspace-tiered-ipolicy.data --no-capacity-checks
>>>/HTS_TRL_INST_CNT=4/
>>>=0
# ...and instance positioning in human-readable form
./test/hs/hspace -pname,pcnt -t $TESTDATA_DIR/hspace-tiered-ipolicy.data --no-capacity-checks
>>>2/Tiered allocation status:
Name pcnt
node-01-001 1
node-01-002 1
node-01-003 1
node-01-004 1/
>>>=0
./test/hs/hspace -pname,pcnt -t $TESTDATA_DIR/hspace-tiered-resourcetypes.data --no-capacity-checks
>>>2/Tiered allocation status:
Name pcnt
node-01-001 1
node-01-002 2
node-01-003 2
node-01-004 2/
>>>=0
# VCPU-dominated allocation
./test/hs/hspace --machine-readable -t $TESTDATA_DIR/hspace-tiered-vcpu.data > $T/capacity && sh -c ". $T/capacity && test \"\${HTS_TSPEC}\" = '32768,65536,4,12=4 32768,65536,2,12=2' && test \"\${HTS_ALLOC_INSTANCES}\" = 10"
>>>=0
# Presence of overfull group
./test/hs/hspace -t $TESTDATA_DIR/hspace-groups-one.data
>>>/0 instances allocated/
>>>=0
./test/hs/hspace --independent-groups -t $TESTDATA_DIR/hspace-groups-one.data
>>>/0 instances allocated/
>>>=0
./test/hs/hspace --accept-existing -t $TESTDATA_DIR/hspace-groups-one.data
>>>/2 instances allocated/
>>>=0
./test/hs/hspace -t $TESTDATA_DIR/hspace-groups-two.data
>>>/0 instances allocated/
>>>=0
./test/hs/hspace --independent-groups -t $TESTDATA_DIR/hspace-groups-two.data
>>>/2 instances allocated/
>>>=0
./test/hs/hspace --accept-existing -t $TESTDATA_DIR/hspace-groups-two.data
>>>/2 instances allocated/
>>>=0
./test/hs/hspace -t $TESTDATA_DIR/hspace-existing.data
>>>/ 0 instances allocated/
>>>=0
./test/hs/hspace -t $TESTDATA_DIR/hspace-existing.data --accept-existing
>>>/ [1-9][0-9]* instances allocated/
>>>=0
./test/hs/hspace -t $TESTDATA_DIR/hspace-bad-group.data
>>>/ 0 instances allocated/
>>>=0
./test/hs/hspace -t $TESTDATA_DIR/hspace-bad-group.data -v -v -v
>>>2/Bad groups: \["group-bad"\]/
>>>=0
./test/hs/hspace -t $TESTDATA_DIR/hspace-bad-group.data --accept-existing
>>>/ 0 instances allocated/
>>>=0
./test/hs/hspace -t $TESTDATA_DIR/hspace-bad-group.data --independent-groups
>>>/ [1-9][0-9]* instances allocated/
>>>=0