| # 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 > $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 > $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 > $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 > $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 > $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 |
| >>>/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 |
| >>>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 |
| >>>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 |