52
52
" -> [fd79:35e2::8f3f]:115C "
53
53
"Masq 2 0 0" )
54
54
55
+ KERNEL_FILE_SAMPLE_MIXED = (
56
+ "IP Virtual Server version 1.2.1 (size=4096)\n "
57
+ "Prot LocalAddress:Port Scheduler Flags\n "
58
+ " -> RemoteAddress:Port Forward Weight ActiveConn InActConn\n "
59
+ "UDP [fd79:35e2:9963:0000:f816:3eff:fe6d:7a2a]:1E61 rr\n "
60
+ " -> [fd79:35e2:9963:0000:f816:3eff:feca:b7bf]:08AE "
61
+ "Masq 3 0 0\n "
62
+ " -> [fd79:35e2:9963:0000:f816:3eff:fe9d:94df]:0D05 "
63
+ "Masq 2 0 0\n "
64
+ " -> [fd79:35e2::8f3f]:115C "
65
+ "Masq 2 0 0\n "
66
+ "UDP 0A000025:1E61 rr\n "
67
+ " -> 0A000023:0D05 Masq 2 0 0\n "
68
+ " -> 0A000019:08AE Masq 3 0 0\n "
69
+ "UDP 0A000025:FF12 rr\n "
70
+ " -> 0A000023:12AB Masq 2 0 0\n "
71
+ " -> 0A000019:BF2E Masq 3 0 0" )
72
+
55
73
CFG_FILE_TEMPLATE_v4 = (
56
74
"# Configuration for Listener %(listener_id)s\n \n "
57
75
"net_namespace %(ns_name)s\n \n "
@@ -345,7 +363,7 @@ def test_get_listener_realserver_mapping(self, mock_check_output):
345
363
'Weight' : '2' ,
346
364
'ActiveConn' : '0' ,
347
365
'InActConn' : '0' }}
348
- self .assertEqual (( True , expected ) , result )
366
+ self .assertEqual (expected , result )
349
367
350
368
# Ipv6 resolver
351
369
input_listener_ip_port = [
@@ -372,15 +390,53 @@ def test_get_listener_realserver_mapping(self, mock_check_output):
372
390
'Weight' : '2' ,
373
391
'ActiveConn' : '0' ,
374
392
'InActConn' : '0' }}
375
- self .assertEqual ((True , expected ), result )
393
+ self .assertEqual (expected , result )
394
+
395
+ # mixed resolver
396
+ input_listener_ip_port = [
397
+ '[fd79:35e2:9963:0:f816:3eff:fe6d:7a2a]:7777' ,
398
+ '10.0.0.37:7777' ]
399
+ mock_check_output .return_value = KERNEL_FILE_SAMPLE_MIXED
400
+ result = lvs_query .get_listener_realserver_mapping (
401
+ target_ns , input_listener_ip_port ,
402
+ health_monitor_enabled = True )
403
+ expected = {'[fd79:35e2:9963:0:f816:3eff:feca:b7bf]:2222' :
404
+ {'status' : constants .UP ,
405
+ 'Forward' : 'Masq' ,
406
+ 'Weight' : '3' ,
407
+ 'ActiveConn' : '0' ,
408
+ 'InActConn' : '0' },
409
+ '[fd79:35e2:9963:0:f816:3eff:fe9d:94df]:3333' :
410
+ {'status' : constants .UP ,
411
+ 'Forward' : 'Masq' ,
412
+ 'Weight' : '2' ,
413
+ 'ActiveConn' : '0' ,
414
+ 'InActConn' : '0' },
415
+ '[fd79:35e2::8f3f]:4444' :
416
+ {'status' : constants .UP ,
417
+ 'Forward' : 'Masq' ,
418
+ 'Weight' : '2' ,
419
+ 'ActiveConn' : '0' ,
420
+ 'InActConn' : '0' },
421
+ '10.0.0.25:2222' : {'status' : 'UP' ,
422
+ 'Forward' : 'Masq' ,
423
+ 'Weight' : '3' ,
424
+ 'ActiveConn' : '0' ,
425
+ 'InActConn' : '0' },
426
+ '10.0.0.35:3333' : {'status' : 'UP' ,
427
+ 'Forward' : 'Masq' ,
428
+ 'Weight' : '2' ,
429
+ 'ActiveConn' : '0' ,
430
+ 'InActConn' : '0' }}
431
+ self .assertEqual (expected , result )
376
432
377
433
# negetive cases
378
434
mock_check_output .return_value = KERNAL_FILE_SAMPLE_V4
379
435
for listener_ip_port in ['10.0.0.37:7776' , '10.0.0.31:7777' ]:
380
436
result = lvs_query .get_listener_realserver_mapping (
381
437
target_ns , [listener_ip_port ],
382
438
health_monitor_enabled = True )
383
- self .assertEqual (( False , {}) , result )
439
+ self .assertEqual ({} , result )
384
440
385
441
mock_check_output .return_value = KERNAL_FILE_SAMPLE_V6
386
442
for listener_ip_port in [
@@ -389,7 +445,7 @@ def test_get_listener_realserver_mapping(self, mock_check_output):
389
445
result = lvs_query .get_listener_realserver_mapping (
390
446
target_ns , [listener_ip_port ],
391
447
health_monitor_enabled = True )
392
- self .assertEqual (( False , {}) , result )
448
+ self .assertEqual ({} , result )
393
449
394
450
def test_get_lvs_listener_resource_ipports_nsname (self ):
395
451
# ipv4
@@ -571,7 +627,7 @@ def test_get_lvs_listener_pool_status_when_not_get_realserver_result(
571
627
mock .Mock (st_mtime = 1234 ),
572
628
mock .Mock (st_mtime = 1234 ),
573
629
)
574
- mock_get_mapping .return_value = ( False , {})
630
+ mock_get_mapping .return_value = {}
575
631
res = lvs_query .get_lvs_listener_pool_status (self .listener_id_v4 )
576
632
expected = {
577
633
'lvs' :
0 commit comments