@@ -968,30 +968,36 @@ def _frame_vip_ips(self, ovn_lb, lb_external_ids):
968
968
if pool_id not in lb_external_ids or not lb_external_ids [pool_id ]:
969
969
continue
970
970
971
- ips = []
971
+ ips_v4 = []
972
+ ips_v6 = []
972
973
for mb_ip , mb_port , mb_subnet , mb_id in self ._extract_member_info (
973
974
lb_external_ids [pool_id ]):
974
975
if not self ._is_member_offline (ovn_lb , mb_id ):
975
- if netaddr .IPNetwork (mb_ip ).version == 6 :
976
- ips .append (f'[{ mb_ip } ]:{ mb_port } ' )
976
+ if netaddr .IPNetwork (
977
+ mb_ip ).version == n_const .IP_VERSION_6 :
978
+ ips_v6 .append (f'[{ mb_ip } ]:{ mb_port } ' )
977
979
else :
978
- ips .append (f'{ mb_ip } :{ mb_port } ' )
979
- if ips :
980
- for lb_vip in lb_vips :
981
- if netaddr .IPNetwork (lb_vip ).version == 6 :
982
- lb_vip = f'[{ lb_vip } ]'
983
- vip_ips [lb_vip + ':' + vip_port ] = ',' .join (ips )
984
-
985
- if vip_fip :
986
- if netaddr .IPNetwork (vip_fip ).version == 6 :
987
- vip_fip = f'[{ vip_fip } ]'
988
- vip_ips [vip_fip + ':' + vip_port ] = ',' .join (ips )
989
-
990
- if additional_vip_fips :
991
- for addi_vip_fip in additional_vip_fips .split (',' ):
992
- if netaddr .IPNetwork (addi_vip_fip ).version == 6 :
993
- addi_vip_fip = f'[{ addi_vip_fip } ]'
994
- vip_ips [addi_vip_fip + ':' + vip_port ] = ',' .join (ips )
980
+ ips_v4 .append (f'{ mb_ip } :{ mb_port } ' )
981
+
982
+ for lb_vip in lb_vips :
983
+ if ips_v4 and netaddr .IPNetwork (
984
+ lb_vip ).version == n_const .IP_VERSION_4 :
985
+ vip_ips [lb_vip + ':' + vip_port ] = ',' .join (ips_v4 )
986
+ if ips_v6 and netaddr .IPNetwork (
987
+ lb_vip ).version == n_const .IP_VERSION_6 :
988
+ lb_vip = f'[{ lb_vip } ]'
989
+ vip_ips [lb_vip + ':' + vip_port ] = ',' .join (ips_v6 )
990
+
991
+ if ips_v4 and vip_fip :
992
+ if netaddr .IPNetwork (vip_fip ).version == n_const .IP_VERSION_4 :
993
+ vip_ips [vip_fip + ':' + vip_port ] = ',' .join (ips_v4 )
994
+
995
+ if ips_v4 and additional_vip_fips :
996
+ for addi_vip_fip in additional_vip_fips .split (',' ):
997
+ if netaddr .IPNetwork (
998
+ addi_vip_fip ).version == n_const .IP_VERSION_4 :
999
+ vip_ips [addi_vip_fip + ':' + vip_port ] = ',' .join (
1000
+ ips_v4 )
995
1001
return vip_ips
996
1002
997
1003
def _refresh_lb_vips (self , ovn_lb , lb_external_ids ):
@@ -2646,7 +2652,7 @@ def _add_lbhc(self, ovn_lb, pool_key, info):
2646
2652
# then this could just be self.ovn_nbdb_api.lb_hm_add()
2647
2653
external_ids_vip = copy .deepcopy (external_ids )
2648
2654
external_ids_vip [ovn_const .LB_EXT_IDS_HM_VIP ] = vip
2649
- if netaddr .IPNetwork (vip ).version == 6 :
2655
+ if netaddr .IPNetwork (vip ).version == n_const . IP_VERSION_6 :
2650
2656
vip = f'[{ vip } ]'
2651
2657
kwargs = {
2652
2658
'vip' : vip + ':' + str (vip_port ) if vip_port else '' ,
@@ -2673,7 +2679,8 @@ def _add_lbhc(self, ovn_lb, pool_key, info):
2673
2679
external_ids_fip = copy .deepcopy (external_ids )
2674
2680
for fip in fips :
2675
2681
external_ids_fip [ovn_const .LB_EXT_IDS_HM_VIP ] = fip
2676
- if netaddr .IPNetwork (fip ).version == 6 :
2682
+ if netaddr .IPNetwork (
2683
+ fip ).version == n_const .IP_VERSION_6 :
2677
2684
fip = f'[{ fip } ]'
2678
2685
fip_kwargs = {
2679
2686
'vip' : fip + ':' + str (vip_port )
@@ -2705,7 +2712,7 @@ def _update_lbhc_vip_port(self, lbhc, vip_port):
2705
2712
# will be empty, so get it from lbhc external_ids
2706
2713
vip = lbhc .external_ids .get (ovn_const .LB_EXT_IDS_HM_VIP , '' )
2707
2714
if vip :
2708
- if netaddr .IPNetwork (vip ).version == 6 :
2715
+ if netaddr .IPNetwork (vip ).version == n_const . IP_VERSION_6 :
2709
2716
vip = f'[{ vip } ]'
2710
2717
vip = vip + ':' + str (vip_port )
2711
2718
commands = []
@@ -3100,11 +3107,11 @@ def _get_lbs_on_hm_event(self, row):
3100
3107
hm_source_ip = str (row .src_ip )
3101
3108
member_ip = str (row .ip )
3102
3109
member_src = f'{ row .logical_port } :'
3103
- if netaddr .IPNetwork (hm_source_ip ).version == 6 :
3110
+ if netaddr .IPNetwork (hm_source_ip ).version == n_const . IP_VERSION_6 :
3104
3111
member_src += f'[{ hm_source_ip } ]'
3105
3112
else :
3106
3113
member_src += f'{ hm_source_ip } '
3107
- if netaddr .IPNetwork (member_ip ).version == 6 :
3114
+ if netaddr .IPNetwork (member_ip ).version == n_const . IP_VERSION_6 :
3108
3115
member_ip = f'[{ member_ip } ]'
3109
3116
mappings [member_ip ] = member_src
3110
3117
lbs = self .ovn_nbdb_api .db_find_rows (
0 commit comments