X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FLoadBalancerUtil.py;h=986d5b598db27ebf8fa3cbc939b1ba6fb292815b;hp=340afe50a37768ed8a80f39bf1c98f5d68643b11;hb=HEAD;hpb=8aa83d922392c488df80cc1c490c0715b94aa250 diff --git a/resources/libraries/python/LoadBalancerUtil.py b/resources/libraries/python/LoadBalancerUtil.py index 340afe50a3..471bc87e80 100644 --- a/resources/libraries/python/LoadBalancerUtil.py +++ b/resources/libraries/python/LoadBalancerUtil.py @@ -1,4 +1,4 @@ -# Copyright (c) 2019 Intel and/or its affiliates. +# Copyright (c) 2023 Intel and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -84,13 +84,13 @@ class LoadBalancerUtil: protocol: tcp or udp. (int) port: destination port. (int) encap: encap is ip4 GRE(0) or ip6 (1GRE) or L3DSR(2) or NAT4(3) or - NAT6(4). (int) + NAT6(4). (int) dscp: dscp bit corresponding to VIP type: service type target_port: Pod's port corresponding to specific service node_port: Node's port new_len: Size of the new connections flow table used - for this VIP + for this VIP is_del: 1 if the VIP should be removed otherwise 0. :type node: dict @@ -108,9 +108,10 @@ class LoadBalancerUtil: target_port = kwargs.pop(u"target_port", 0) node_port = kwargs.pop(u"node_port", 0) new_len = kwargs.pop(u"new_len", 1024) + src_ip_sticky = kwargs.pop(u"src_ip_sticky", 0) is_del = kwargs.pop(u"is_del", 0) - cmd = u"lb_add_del_vip" + cmd = u"lb_add_del_vip_v2" err_msg = f"Failed to add vip on host {node[u'host']}" vip_addr = ip_address(vip_addr).packed @@ -127,7 +128,8 @@ class LoadBalancerUtil: target_port=target_port, node_port=node_port, new_flows_table_length=int(new_len), - is_del=is_del + src_ip_sticky=src_ip_sticky, + is_del=is_del, ) with PapiSocketExecutor(node) as papi_exec: @@ -150,7 +152,7 @@ class LoadBalancerUtil: as_addr: The application server address. (str) is_del: 1 if the VIP should be removed otherwise 0. (int) is_flush: 1 if the sessions related to this AS should be flushed - otherwise 0. (int) + otherwise 0. (int) :type node: dict :type kwargs: dict