Re: [ovs-discuss] [OVN] Python IDL: handling modify operations in update2 notifications is slow
Awesome work Daniel! Great improvement! On Tue, Feb 27, 2018 at 10:15 AM, Miguel Angel Ajo Pelayowrote: > Wow, amazing, big +1 for such patch. :D > > On Tue, Feb 27, 2018 at 3:57 PM Daniel Alvarez Sanchez > wrote: >> >> Hi all, >> >> When working on the performance of the OVN OpenStack integration and >> following up this thread [0]. >> >> I went a bit deeper trying to find out the root cause of the linear >> growth. It happens that during the processing of the update2 messages, when >> there's a 'modify' operation, the data is converted to JSON [1] and then we >> build a Row from this JSON [2]. >> >> This seems pretty useless and, since the JSON document is not used >> anywhere else, I just avoided that conversion. This conversion takes longer >> as the number of elements in the row increases, which is the case of adding >> a new address to the Address_Set table or adding new ACLs to the acl column >> in Logical_Switch. This have a big impact at scale and it can be easily >> fixed. >> >> After removing the extra conversions (I'll be submitting the patch in a >> while), the time for creating ports from OpenStack remains almost constant >> regardless of the amount of ports in the system as you can see in the >> attached image and further in this blogpost [3] and it's cut down >> considerably. >> >> This would make the implementation of the Port_Set discussed at [0] less >> urgent. >> >> [0] >> https://mail.openvswitch.org/pipermail/ovs-discuss/2018-February/046149.html >> [1] >> https://github.com/openvswitch/ovs/blob/f73d562fc0ee3ff43f65cc418f213a79a727cb19/python/ovs/db/idl.py#L604 >> [2] >> https://github.com/openvswitch/ovs/blob/f73d562fc0ee3ff43f65cc418f213a79a727cb19/python/ovs/db/idl.py#L524 >> [3] >> http://dani.foroselectronica.es/ovn-profiling-and-optimizing-ports-creation-434/ >> ___ >> discuss mailing list >> disc...@openvswitch.org >> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss > > > ___ > discuss mailing list > disc...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-discuss > ___ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
Re: [ovs-discuss] [OVN] Python IDL: handling modify operations in update2 notifications is slow
Wow, amazing, big +1 for such patch. :D On Tue, Feb 27, 2018 at 3:57 PM Daniel Alvarez Sanchezwrote: > Hi all, > > When working on the performance of the OVN OpenStack integration and > following up this thread [0]. > > I went a bit deeper trying to find out the root cause of the linear > growth. It happens that during the processing of the update2 messages, when > there's a 'modify' operation, the data is converted to JSON [1] and then we > build a Row from this JSON [2]. > > This seems pretty useless and, since the JSON document is not used > anywhere else, I just avoided that conversion. This conversion takes longer > as the number of elements in the row increases, which is the case of adding > a new address to the Address_Set table or adding new ACLs to the acl column > in Logical_Switch. This have a big impact at scale and it can be easily > fixed. > > After removing the extra conversions (I'll be submitting the patch in a > while), the time for creating ports from OpenStack remains almost constant > regardless of the amount of ports in the system as you can see in the > attached image and further in this blogpost [3] and it's cut down > considerably. > > This would make the implementation of the Port_Set discussed at [0] less > urgent. > > [0] > https://mail.openvswitch.org/pipermail/ovs-discuss/2018-February/046149.html > [1] > https://github.com/openvswitch/ovs/blob/f73d562fc0ee3ff43f65cc418f213a79a727cb19/python/ovs/db/idl.py#L604 > [2] > https://github.com/openvswitch/ovs/blob/f73d562fc0ee3ff43f65cc418f213a79a727cb19/python/ovs/db/idl.py#L524 > [3] > http://dani.foroselectronica.es/ovn-profiling-and-optimizing-ports-creation-434/ > ___ > discuss mailing list > disc...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-discuss > ___ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
[ovs-discuss] OVN load balancing on same subnet failing
For example, I have a 10.1.0.0/24 network and a load balancer is added to it with 10.1.0.10 as VIP and 10.1.0.2(MAC 50:54:00:00:00:01), 10.1.0.3(MAC 50:54:00:00:00:02) as members. ovn-nbctl create load_balancer vips:10.1.0.10="10.1.0.2,10.1.0.3" When I try to send a request from client within the subnet(i.e 10.1.0.33) its not reaching any load balancer members. I noticed ARP not resolved for VIP 10.1.0.10. I tried to resolve this in two ways 1) Adding a new ARP reply ovs flow for VIP 10.1.0.10 with router port's MAC. When client tries to connect VIP, it will use router's MAC. Now router gets the packet after load balancing, and will forward the packet to appropriate member. 2) Second approach, a) Using a new MAC(example, 50:54:00:00:00:ab) for VIP 10.1.0.10, and adding a new ARP reply flow with this MAC. b) As we are not using router, when load balancing changes destination ip, VIP MAC has to be replaced with corresponding member's MAC i.e sudo ovs-ofctl add-flow br-int "table=24,ip,priority=150,dl_dst=50:54:00:00:00:ab,nw_dst=10.1.0.2,action=mod_dl_dst:50:54:00:00:00:01,load:0x1->NXM_NX_REG15[],resubmit(,32)" sudo ovs-ofctl add-flow br-int "table=24,ip,priority=150,dl_dst=50:54:00:00:00:ab,nw_dst=10.1.0.3,action=mod_dl_dst:50:54:00:00:00:02,load:0x2->NXM_NX_REG15[],resubmit(,32)" Which approach will be better or is there any alternate solution? Thanks Anil ___ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss