55dd3ca20a114ab28534406b7047b9c480dc7ca8
[ganeti-github.git] / test / hs / shelltests / htools-hail.test
1 # test that on invalid files it can't parse the request
2 ./test/hs/hail /dev/null
3 >>>2 /Invalid JSON/
4 >>>= !0
5
6 # another invalid example
7 echo '[]' | ./test/hs/hail -
8 >>>2 /Unable to read JSObject/
9 >>>= !0
10
11 # empty dict
12 echo '{}' | ./test/hs/hail -
13 >>>2 /key 'request' not found/
14 >>>= !0
15
16 echo '{"request": 0}' | ./test/hs/hail -
17 >>>2 /key 'request'/
18 >>>= !0
19
20 ./test/hs/hail $TESTDATA_DIR/hail-invalid-reloc.json
21 >>>2 /key 'name': Unable to read String/
22 >>>= !0
23
24 # and now start the real tests
25 ./test/hs/hail $TESTDATA_DIR/hail-alloc-drbd.json
26 >>> /"success":true,.*,"result":\["node2","node1"\]/
27 >>>= 0
28
29 ./test/hs/hail $TESTDATA_DIR/hail-reloc-drbd.json
30 >>> /"success":true,.*,"result":\["node1"\]/
31 >>>= 0
32
33 ./test/hs/hail $TESTDATA_DIR/hail-node-evac.json
34 >>> /"success":true,"info":"Request successful: 0 instances failed to move and 1 were moved successfully"/
35 >>>= 0
36
37 ./test/hs/hail $TESTDATA_DIR/hail-change-group.json
38 >>> /"success":true,"info":"Request successful: 0 instances failed to move and 1 were moved successfully"/
39 >>>= 0
40
41 # check that hail can use the simu backend
42 ./test/hs/hail --simu p,8,8T,16g,16 $TESTDATA_DIR/hail-alloc-drbd.json
43 >>> /"success":true,/
44 >>>= 0
45
46 # check that hail can use the text backend
47 ./test/hs/hail -t $T/simu-rebal-merged.standard $TESTDATA_DIR/hail-alloc-drbd.json
48 >>> /"success":true,/
49 >>>= 0
50
51 # check that hail can use the simu backend
52 ./test/hs/hail -t $T/simu-rebal-merged.standard $TESTDATA_DIR/hail-alloc-drbd.json
53 >>> /"success":true,/
54 >>>= 0
55
56 # check that hail pre/post saved state differs after allocation
57 ./test/hs/hail -v -v -v -p $TESTDATA_DIR/hail-alloc-drbd.json -S $T/hail-alloc >/dev/null 2>&1 && ! diff -q $T/hail-alloc.pre-ialloc $T/hail-alloc.post-ialloc
58 >>> /Files .* and .* differ/
59 >>>= 0
60
61 # check that hail pre/post saved state differs after relocation
62 ./test/hs/hail -v -v -v -p $TESTDATA_DIR/hail-reloc-drbd.json -S $T/hail-reloc >/dev/null 2>&1 && ! diff -q $T/hail-reloc.pre-ialloc $T/hail-reloc.post-ialloc
63 >>> /Files .* and .* differ/
64 >>>= 0
65
66 # evac tests
67 ./test/hs/hail $T/hail-node-evac.json.primary-only
68 >>> /"success":true,"info":"Request successful: 0 instances failed to move and 1 were moved successfully"/
69 >>>= 0
70
71 ./test/hs/hail $T/hail-node-evac.json.secondary-only
72 >>> /"success":true,"info":"Request successful: 0 instances failed to move and 1 were moved successfully"/
73 >>>= 0
74
75 ./test/hs/hail $T/hail-node-evac.json.all
76 >>> /"success":true,"info":"Request successful: 0 instances failed to move and 1 were moved successfully"/
77 >>>= 0