Re: [ovs-discuss] [OVN] Python IDL: handling modify operations in update2 notifications is slow

2018-02-27 Thread Joe Talerico
Awesome work Daniel! Great improvement!

On Tue, Feb 27, 2018 at 10:15 AM, Miguel Angel Ajo Pelayo
 wrote:
> 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

2018-02-27 Thread Miguel Angel Ajo Pelayo
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


[ovs-discuss] OVN load balancing on same subnet failing

2018-02-27 Thread Anil Venkata
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