Revision 01e2ce3a test/ganeti.bdev_unittest.py
b/test/ganeti.bdev_unittest.py | ||
---|---|---|
61 | 61 |
"""Test drbdsetup show parser creation""" |
62 | 62 |
bdev.DRBD8._GetShowParser() |
63 | 63 |
|
64 |
def testParserBoth(self): |
|
64 |
def testParserBoth80(self):
|
|
65 | 65 |
"""Test drbdsetup show parser for disk and network""" |
66 | 66 |
data = self._ReadTestData("bdev-both.txt") |
67 | 67 |
result = bdev.DRBD8._GetDevInfo(data) |
... | ... | |
70 | 70 |
"Wrong local disk info") |
71 | 71 |
self.failUnless(self._has_net(result, ("192.168.1.1", 11000), |
72 | 72 |
("192.168.1.2", 11000)), |
73 |
"Wrong network info") |
|
73 |
"Wrong network info (8.0.x)") |
|
74 |
|
|
75 |
def testParserBoth83(self): |
|
76 |
"""Test drbdsetup show parser for disk and network""" |
|
77 |
data = self._ReadTestData("bdev-8.3-both.txt") |
|
78 |
result = bdev.DRBD8._GetDevInfo(data) |
|
79 |
self.failUnless(self._has_disk(result, "/dev/xenvg/test.data", |
|
80 |
"/dev/xenvg/test.meta"), |
|
81 |
"Wrong local disk info") |
|
82 |
self.failUnless(self._has_net(result, ("192.168.1.1", 11000), |
|
83 |
("192.168.1.2", 11000)), |
|
84 |
"Wrong network info (8.2.x)") |
|
74 | 85 |
|
75 | 86 |
def testParserNet(self): |
76 | 87 |
"""Test drbdsetup show parser for disk and network""" |
... | ... | |
103 | 114 |
"""Read in txt data""" |
104 | 115 |
testutils.GanetiTestCase.setUp(self) |
105 | 116 |
proc_data = self._TestDataFilename("proc_drbd8.txt") |
117 |
proc83_data = self._TestDataFilename("proc_drbd83.txt") |
|
106 | 118 |
self.proc_data = bdev.DRBD8._GetProcData(filename=proc_data) |
119 |
self.proc83_data = bdev.DRBD8._GetProcData(filename=proc83_data) |
|
107 | 120 |
self.mass_data = bdev.DRBD8._MassageProcData(self.proc_data) |
121 |
self.mass83_data = bdev.DRBD8._MassageProcData(self.proc83_data) |
|
108 | 122 |
|
109 | 123 |
def testIOErrors(self): |
110 | 124 |
"""Test handling of errors while reading the proc file.""" |
... | ... | |
116 | 130 |
def testMinorNotFound(self): |
117 | 131 |
"""Test not-found-minor in /proc""" |
118 | 132 |
self.failUnless(9 not in self.mass_data) |
133 |
self.failUnless(9 not in self.mass83_data) |
|
119 | 134 |
|
120 | 135 |
def testLineNotMatch(self): |
121 | 136 |
"""Test wrong line passed to DRBD8Status""" |
... | ... | |
123 | 138 |
|
124 | 139 |
def testMinor0(self): |
125 | 140 |
"""Test connected, primary device""" |
126 |
stats = bdev.DRBD8Status(self.mass_data[0]) |
|
127 |
self.failUnless(stats.is_in_use) |
|
128 |
self.failUnless(stats.is_connected and stats.is_primary and |
|
129 |
stats.peer_secondary and stats.is_disk_uptodate) |
|
141 |
for data in [self.mass_data, self.mass83_data]: |
|
142 |
stats = bdev.DRBD8Status(data[0]) |
|
143 |
self.failUnless(stats.is_in_use) |
|
144 |
self.failUnless(stats.is_connected and stats.is_primary and |
|
145 |
stats.peer_secondary and stats.is_disk_uptodate) |
|
130 | 146 |
|
131 | 147 |
def testMinor1(self): |
132 | 148 |
"""Test connected, secondary device""" |
133 |
stats = bdev.DRBD8Status(self.mass_data[1]) |
|
134 |
self.failUnless(stats.is_in_use) |
|
135 |
self.failUnless(stats.is_connected and stats.is_secondary and |
|
136 |
stats.peer_primary and stats.is_disk_uptodate) |
|
149 |
for data in [self.mass_data, self.mass83_data]: |
|
150 |
stats = bdev.DRBD8Status(data[1]) |
|
151 |
self.failUnless(stats.is_in_use) |
|
152 |
self.failUnless(stats.is_connected and stats.is_secondary and |
|
153 |
stats.peer_primary and stats.is_disk_uptodate) |
|
137 | 154 |
|
138 | 155 |
def testMinor2(self): |
139 | 156 |
"""Test unconfigured device""" |
140 |
stats = bdev.DRBD8Status(self.mass_data[2]) |
|
141 |
self.failIf(stats.is_in_use) |
|
157 |
for data in [self.mass_data, self.mass83_data]: |
|
158 |
stats = bdev.DRBD8Status(data[2]) |
|
159 |
self.failIf(stats.is_in_use) |
|
142 | 160 |
|
143 | 161 |
def testMinor4(self): |
144 | 162 |
"""Test WFconn device""" |
145 |
stats = bdev.DRBD8Status(self.mass_data[4]) |
|
146 |
self.failUnless(stats.is_in_use) |
|
147 |
self.failUnless(stats.is_wfconn and stats.is_primary and |
|
148 |
stats.rrole == 'Unknown' and |
|
149 |
stats.is_disk_uptodate) |
|
163 |
for data in [self.mass_data, self.mass83_data]: |
|
164 |
stats = bdev.DRBD8Status(data[4]) |
|
165 |
self.failUnless(stats.is_in_use) |
|
166 |
self.failUnless(stats.is_wfconn and stats.is_primary and |
|
167 |
stats.rrole == 'Unknown' and |
|
168 |
stats.is_disk_uptodate) |
|
150 | 169 |
|
151 | 170 |
def testMinor6(self): |
152 | 171 |
"""Test diskless device""" |
153 |
stats = bdev.DRBD8Status(self.mass_data[6]) |
|
154 |
self.failUnless(stats.is_in_use) |
|
155 |
self.failUnless(stats.is_connected and stats.is_secondary and |
|
156 |
stats.peer_primary and stats.is_diskless) |
|
172 |
for data in [self.mass_data, self.mass83_data]: |
|
173 |
stats = bdev.DRBD8Status(data[6]) |
|
174 |
self.failUnless(stats.is_in_use) |
|
175 |
self.failUnless(stats.is_connected and stats.is_secondary and |
|
176 |
stats.peer_primary and stats.is_diskless) |
|
157 | 177 |
|
158 | 178 |
def testMinor8(self): |
159 | 179 |
"""Test standalone device""" |
160 |
stats = bdev.DRBD8Status(self.mass_data[8]) |
|
161 |
self.failUnless(stats.is_in_use) |
|
162 |
self.failUnless(stats.is_standalone and |
|
163 |
stats.rrole == 'Unknown' and |
|
164 |
stats.is_disk_uptodate) |
|
180 |
for data in [self.mass_data, self.mass83_data]: |
|
181 |
stats = bdev.DRBD8Status(data[8]) |
|
182 |
self.failUnless(stats.is_in_use) |
|
183 |
self.failUnless(stats.is_standalone and |
|
184 |
stats.rrole == 'Unknown' and |
|
185 |
stats.is_disk_uptodate) |
|
165 | 186 |
|
166 | 187 |
if __name__ == '__main__': |
167 | 188 |
unittest.main() |
Also available in: Unified diff