[Pkg-ganeti-devel] [ganeti] 107/165: Add a test for N+1 failure with shared storage

Apollon Oikonomopoulos apoikos at moszumanska.debian.org
Tue Aug 11 13:53:18 UTC 2015


This is an automated email from the git hooks/post-receive script.

apoikos pushed a commit to branch master
in repository ganeti.

commit cc91b777660f7a2074fab5d3572a8be67a2fa945
Author: Klaus Aehlig <aehlig at google.com>
Date:   Mon Apr 13 11:57:27 2015 +0200

    Add a test for N+1 failure with shared storage
    
    In this example, there are 4 nodes. Each has the same amount
    of free memory, enough for one small instance. 3 of those nodes
    host 3 small instance. One node, however, has one big instance
    the size of 3 small ones. Hence that node cannot be fully evacuated.
    
    Signed-off-by: Klaus Aehlig <aehlig at google.com>
    Reviewed-by: Petr Pudlak <pudlak at google.com>
---
 Makefile.am                             |  2 ++
 test/data/htools/shared-n1-failure.data | 20 ++++++++++++++++++++
 test/hs/shelltests/htools-hbal.test     | 18 ++++++++++++++++++
 test/hs/shelltests/htools-hcheck.test   |  7 +++++++
 4 files changed, 47 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index 36f8dee..50ce133 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1725,6 +1725,7 @@ TEST_FILES = \
 	test/data/htools/hsqueeze-mixed-instances.data \
 	test/data/htools/hsqueeze-overutilized.data \
 	test/data/htools/hsqueeze-underutilized.data \
+	test/data/htools/shared-n1-failure.data \
 	test/data/htools/unique-reboot-order.data \
 	test/data/mond-data.txt \
 	test/hs/shelltests/htools-balancing.test \
@@ -1734,6 +1735,7 @@ TEST_FILES = \
 	test/hs/shelltests/htools-hail.test \
 	test/hs/shelltests/htools-hbal-evac.test \
 	test/hs/shelltests/htools-hbal.test \
+	test/hs/shelltests/htools-hcheck.test \
 	test/hs/shelltests/htools-hroller.test \
 	test/hs/shelltests/htools-hspace.test \
 	test/hs/shelltests/htools-hsqueeze.test \
diff --git a/test/data/htools/shared-n1-failure.data b/test/data/htools/shared-n1-failure.data
new file mode 100644
index 0000000..7a82bad
--- /dev/null
+++ b/test/data/htools/shared-n1-failure.data
@@ -0,0 +1,20 @@
+group-01|fake-uuid-01|preferred||
+
+nodeA|4096|0|1096|200|200|4|M|fake-uuid-01|4
+nodeB|4096|0|1096|200|200|4|N|fake-uuid-01|4
+nodeC|4096|0|1096|200|200|4|N|fake-uuid-01|4
+nodeD|4096|0|1096|200|200|4|N|fake-uuid-01|4
+
+instA1|1000|0|1|running|Y|nodeA||ext||1
+instA2|1000|0|1|running|Y|nodeA||ext||1
+instA3|1000|0|1|running|Y|nodeA||ext||1
+instB1|1000|0|1|running|Y|nodeB||ext||1
+instB2|1000|0|1|running|Y|nodeB||ext||1
+instB3|1000|0|1|running|Y|nodeB||ext||1
+instC1|3000|0|3|running|Y|nodeC||ext||3
+instD1|1000|0|1|running|Y|nodeD||ext||1
+instD2|1000|0|1|running|Y|nodeD||ext||1
+instD3|1000|0|1|running|Y|nodeD||ext||1
+
+|128,1,1024,1,1,1|128,1,1024,1,1,1;32768,8,1048576,16,8,12|diskless,file,sharedfile,plain,blockdev,drbd,rbd,ext|4.0|32.0
+group-01|128,1,1024,1,1,1|128,1,1024,1,1,1;32768,8,1048576,16,8,12|diskless,file,sharedfile,plain,blockdev,drbd,rbd,ext|4.0|32.0
diff --git a/test/hs/shelltests/htools-hbal.test b/test/hs/shelltests/htools-hbal.test
index 4ebe30c..e3baf37 100644
--- a/test/hs/shelltests/htools-hbal.test
+++ b/test/hs/shelltests/htools-hbal.test
@@ -29,3 +29,21 @@
 ./test/hs/hbal -t $TESTDATA_DIR/hbal-location-1.data
 >>>/Solution length=[1-9]/
 >>>= 0
+
+./test/hs/hbal -t $TESTDATA_DIR/shared-n1-failure.data --ignore-dynu
+>>>/Cluster is already well balanced/
+>>>= 0
+
+./test/hs/hbal -t $TESTDATA_DIR/shared-n1-failure.data --ignore-dynu -pname,pcnt -O nodeA
+>>>2/Final cluster status:
+ Name  pcnt
+ nodeA    0
+ nodeB    4
+ nodeC    2
+ nodeD    4/
+>>>= 0
+
+./test/hs/hbal -t $TESTDATA_DIR/shared-n1-failure.data --ignore-dynu -O nodeC
+>>>/No solution found/
+>>>= 0
+
diff --git a/test/hs/shelltests/htools-hcheck.test b/test/hs/shelltests/htools-hcheck.test
new file mode 100644
index 0000000..51d6a08
--- /dev/null
+++ b/test/hs/shelltests/htools-hcheck.test
@@ -0,0 +1,7 @@
+./test/hs/hcheck -t $TESTDATA_DIR/shared-n1-failure.data
+>>>/Nodes not directly evacuateable: 1/
+>>>= 1
+
+./test/hs/hcheck -t $TESTDATA_DIR/shared-n1-failure.data --machine-readable
+>>>/HCHECK_INIT_CLUSTER_GN1_FAIL=1/
+>>>= 1

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ganeti/ganeti.git



More information about the Pkg-ganeti-devel mailing list