Revision fce5efd1 test/ganeti.rpc_unittest.py
b/test/ganeti.rpc_unittest.py | ||
---|---|---|
74 | 74 |
http_proc = _FakeRequestProcessor(self._GetVersionResponse) |
75 | 75 |
proc = rpc._RpcProcessor(resolver, 24094) |
76 | 76 |
result = proc(["localhost"], "version", {"localhost": ""}, 60, |
77 |
_req_process_fn=http_proc) |
|
77 |
NotImplemented, _req_process_fn=http_proc)
|
|
78 | 78 |
self.assertEqual(result.keys(), ["localhost"]) |
79 | 79 |
lhresp = result["localhost"] |
80 | 80 |
self.assertFalse(lhresp.offline) |
... | ... | |
100 | 100 |
proc = rpc._RpcProcessor(resolver, 19176) |
101 | 101 |
host = "node31856" |
102 | 102 |
body = {host: ""} |
103 |
result = proc([host], "version", body, 12356, _req_process_fn=http_proc) |
|
103 |
result = proc([host], "version", body, 12356, NotImplemented, |
|
104 |
_req_process_fn=http_proc) |
|
104 | 105 |
self.assertEqual(result.keys(), [host]) |
105 | 106 |
lhresp = result[host] |
106 | 107 |
self.assertFalse(lhresp.offline) |
... | ... | |
117 | 118 |
proc = rpc._RpcProcessor(resolver, 30668) |
118 | 119 |
host = "n17296" |
119 | 120 |
body = {host: ""} |
120 |
result = proc([host], "version", body, 60, _req_process_fn=http_proc) |
|
121 |
result = proc([host], "version", body, 60, NotImplemented, |
|
122 |
_req_process_fn=http_proc) |
|
121 | 123 |
self.assertEqual(result.keys(), [host]) |
122 | 124 |
lhresp = result[host] |
123 | 125 |
self.assertTrue(lhresp.offline) |
... | ... | |
148 | 150 |
resolver = rpc._StaticResolver(nodes) |
149 | 151 |
http_proc = _FakeRequestProcessor(self._GetMultiVersionResponse) |
150 | 152 |
proc = rpc._RpcProcessor(resolver, 23245) |
151 |
result = proc(nodes, "version", body, 60, _req_process_fn=http_proc,) |
|
153 |
result = proc(nodes, "version", body, 60, NotImplemented, |
|
154 |
_req_process_fn=http_proc) |
|
152 | 155 |
self.assertEqual(sorted(result.keys()), sorted(nodes)) |
153 | 156 |
|
154 | 157 |
for name in nodes: |
... | ... | |
177 | 180 |
errinfo)) |
178 | 181 |
host = "aef9ur4i.example.com" |
179 | 182 |
body = {host: ""} |
180 |
result = proc(body.keys(), "version", body, 60, |
|
183 |
result = proc(body.keys(), "version", body, 60, NotImplemented,
|
|
181 | 184 |
_req_process_fn=http_proc) |
182 | 185 |
self.assertEqual(result.keys(), [host]) |
183 | 186 |
lhresp = result[host] |
... | ... | |
227 | 230 |
http_proc = \ |
228 | 231 |
_FakeRequestProcessor(compat.partial(self._GetHttpErrorResponse, |
229 | 232 |
httperrnodes, failnodes)) |
230 |
result = proc(nodes, "vg_list", body, rpc._TMO_URGENT, |
|
233 |
result = proc(nodes, "vg_list", body, rpc._TMO_URGENT, NotImplemented,
|
|
231 | 234 |
_req_process_fn=http_proc) |
232 | 235 |
self.assertEqual(sorted(result.keys()), sorted(nodes)) |
233 | 236 |
|
... | ... | |
272 | 275 |
http_proc = _FakeRequestProcessor(fn) |
273 | 276 |
host = "oqo7lanhly.example.com" |
274 | 277 |
body = {host: ""} |
275 |
result = proc([host], "version", body, 60, |
|
278 |
result = proc([host], "version", body, 60, NotImplemented,
|
|
276 | 279 |
_req_process_fn=http_proc) |
277 | 280 |
self.assertEqual(result.keys(), [host]) |
278 | 281 |
lhresp = result[host] |
... | ... | |
304 | 307 |
proc = rpc._RpcProcessor(resolver, 18700) |
305 | 308 |
host = "node19759" |
306 | 309 |
body = {host: serializer.DumpJson(test_data)} |
307 |
result = proc([host], "upload_file", body, 30, _req_process_fn=http_proc) |
|
310 |
result = proc([host], "upload_file", body, 30, NotImplemented, |
|
311 |
_req_process_fn=http_proc) |
|
308 | 312 |
self.assertEqual(result.keys(), [host]) |
309 | 313 |
lhresp = result[host] |
310 | 314 |
self.assertFalse(lhresp.offline) |
... | ... | |
322 | 326 |
node_list = ["node%d.example.com" % n for n in range(0, 255, 13)] |
323 | 327 |
node_addr_list = [" ".join(t) for t in zip(node_list, addr_list)] |
324 | 328 |
ssc = GetFakeSimpleStoreClass(lambda _: node_addr_list) |
325 |
result = rpc._SsconfResolver(node_list, ssc=ssc, nslookup_fn=NotImplemented) |
|
329 |
result = rpc._SsconfResolver(node_list, NotImplemented, |
|
330 |
ssc=ssc, nslookup_fn=NotImplemented) |
|
326 | 331 |
self.assertEqual(result, zip(node_list, addr_list)) |
327 | 332 |
|
328 | 333 |
def testNsLookup(self): |
... | ... | |
331 | 336 |
ssc = GetFakeSimpleStoreClass(lambda _: []) |
332 | 337 |
node_addr_map = dict(zip(node_list, addr_list)) |
333 | 338 |
nslookup_fn = lambda name, family=None: node_addr_map.get(name) |
334 |
result = rpc._SsconfResolver(node_list, ssc=ssc, nslookup_fn=nslookup_fn) |
|
339 |
result = rpc._SsconfResolver(node_list, NotImplemented, |
|
340 |
ssc=ssc, nslookup_fn=nslookup_fn) |
|
335 | 341 |
self.assertEqual(result, zip(node_list, addr_list)) |
336 | 342 |
|
337 | 343 |
def testBothLookups(self): |
... | ... | |
342 | 348 |
ssc = GetFakeSimpleStoreClass(lambda _: node_addr_list) |
343 | 349 |
node_addr_map = dict(zip(node_list[:n], addr_list[:n])) |
344 | 350 |
nslookup_fn = lambda name, family=None: node_addr_map.get(name) |
345 |
result = rpc._SsconfResolver(node_list, ssc=ssc, nslookup_fn=nslookup_fn) |
|
351 |
result = rpc._SsconfResolver(node_list, NotImplemented, |
|
352 |
ssc=ssc, nslookup_fn=nslookup_fn) |
|
346 | 353 |
self.assertEqual(result, zip(node_list, addr_list)) |
347 | 354 |
|
348 | 355 |
def testAddressLookupIPv6(self): |
... | ... | |
350 | 357 |
node_list = ["node%d.example.com" % n for n in range(0, 255, 11)] |
351 | 358 |
node_addr_list = [" ".join(t) for t in zip(node_list, addr_list)] |
352 | 359 |
ssc = GetFakeSimpleStoreClass(lambda _: node_addr_list) |
353 |
result = rpc._SsconfResolver(node_list, ssc=ssc, nslookup_fn=NotImplemented) |
|
360 |
result = rpc._SsconfResolver(node_list, NotImplemented, |
|
361 |
ssc=ssc, nslookup_fn=NotImplemented) |
|
354 | 362 |
self.assertEqual(result, zip(node_list, addr_list)) |
355 | 363 |
|
356 | 364 |
|
... | ... | |
359 | 367 |
addresses = ["192.0.2.%d" % n for n in range(0, 123, 7)] |
360 | 368 |
nodes = ["node%s.example.com" % n for n in range(0, 123, 7)] |
361 | 369 |
res = rpc._StaticResolver(addresses) |
362 |
self.assertEqual(res(nodes), zip(nodes, addresses)) |
|
370 |
self.assertEqual(res(nodes, NotImplemented), zip(nodes, addresses))
|
|
363 | 371 |
|
364 | 372 |
def testWrongLength(self): |
365 | 373 |
res = rpc._StaticResolver([]) |
366 |
self.assertRaises(AssertionError, res, ["abc"]) |
|
374 |
self.assertRaises(AssertionError, res, ["abc"], NotImplemented)
|
|
367 | 375 |
|
368 | 376 |
|
369 | 377 |
class TestNodeConfigResolver(unittest.TestCase): |
... | ... | |
380 | 388 |
def testSingleOnline(self): |
381 | 389 |
self.assertEqual(rpc._NodeConfigResolver(self._GetSingleOnlineNode, |
382 | 390 |
NotImplemented, |
383 |
["node90.example.com"]), |
|
391 |
["node90.example.com"], None),
|
|
384 | 392 |
[("node90.example.com", "192.0.2.90")]) |
385 | 393 |
|
386 | 394 |
def testSingleOffline(self): |
387 | 395 |
self.assertEqual(rpc._NodeConfigResolver(self._GetSingleOfflineNode, |
388 | 396 |
NotImplemented, |
389 |
["node100.example.com"]), |
|
397 |
["node100.example.com"], None),
|
|
390 | 398 |
[("node100.example.com", rpc._OFFLINE)]) |
391 | 399 |
|
392 | 400 |
def testUnknownSingleNode(self): |
393 | 401 |
self.assertEqual(rpc._NodeConfigResolver(lambda _: None, NotImplemented, |
394 |
["node110.example.com"]), |
|
402 |
["node110.example.com"], None),
|
|
395 | 403 |
[("node110.example.com", "node110.example.com")]) |
396 | 404 |
|
397 | 405 |
def testMultiEmpty(self): |
398 | 406 |
self.assertEqual(rpc._NodeConfigResolver(NotImplemented, |
399 | 407 |
lambda: {}, |
400 |
[]), |
|
408 |
[], None),
|
|
401 | 409 |
[]) |
402 | 410 |
|
403 | 411 |
def testMultiSomeOffline(self): |
... | ... | |
410 | 418 |
# Resolve no names |
411 | 419 |
self.assertEqual(rpc._NodeConfigResolver(NotImplemented, |
412 | 420 |
lambda: nodes, |
413 |
[]), |
|
421 |
[], None),
|
|
414 | 422 |
[]) |
415 | 423 |
|
416 | 424 |
# Offline, online and unknown hosts |
... | ... | |
419 | 427 |
["node3.example.com", |
420 | 428 |
"node92.example.com", |
421 | 429 |
"node54.example.com", |
422 |
"unknown.example.com",]), [ |
|
430 |
"unknown.example.com",], |
|
431 |
None), [ |
|
423 | 432 |
("node3.example.com", rpc._OFFLINE), |
424 | 433 |
("node92.example.com", "192.0.2.92"), |
425 | 434 |
("node54.example.com", rpc._OFFLINE), |
Also available in: Unified diff