On Wed, Feb 27, 2019 at 2:45 AM <[email protected]> wrote: > > From: Numan Siddique <[email protected]> > > This patch adds the tables - 'HA_Chassis_Group' and 'HA_Chassis' in > both OVN Northbound and Southbound DBs to support generic HA Chassis > groups in OVN. CMS can create a group of HA chassis with the priorities > assigned to each chassis in the group. An HA chassis group can be associated > to > a distributed logical router port. An upcoming patch will make > use of it while supporting 'external'* logical ports. > > HA chassis group is similar to the existing gateway chassis support in > OVN which is used by the distributed gateway router ports. > This patch tries to abstract this so that, the HA chassis support > can be leveraged by not just distributed gateway router ports. > > If a logical router port has a set of gateway chassis associated to > it, ovn-northd will create HA chassis group in Southbound > DB and add these gateway chassis to this group. ovn-northd would still create > gateway chassis in Southbound DB as ovn-controller still doesn't support > using the HA chassis group. > > Next patch in the series will add the support in ovn-controller to > make use of HA chassis group instead of gateway chassis. The patch following > that will delete creation of gateway chassis in Southbound DB. > > HA_Chasss_Group table in Southbound DB has a column - 'ref_chassis'. > This column is used to store the list of chassis which references the > HA chassis group. This information will be used by ovn-controller in an > upcoming patch to establish BFD sessions with the required chassis. > > Suppose if there is an HA chassis group - 'hagrp1' in the Southbound > DB and it has HA chasiss list - ha1, ha2 and ha3 and this HA chassis > group is used by a distributed logical router port, then ovn-northd > will update the 'ref_chassis' with the list of chassis which has claimed > all the logical switch ports which are connected to the logical router > which has this distributed logical router port. >
I haven't finished the detailed review, but a concern for the design here. It seems the benefit of the *group* is to be able to create it once and reused by different logical router ports (or external ports). However, the best practice (at least ours) is to distribute logical router ports evenly on all available gateway chassises, which means from different lrp's point of view, the priority of each gateway chassis is different. E.g. there are 2 GWs as a HA group (gw1, gw2), lrp1 uses gw1 as active (gw1 - priority 2, gw2 - priority 1) and lrp2 uses gw2 as active (gw1 - priority 1, gw2 - priority 2). I understand that the use case for external ports may be different, since as we discussed in your earlier patch reviews that it is better to have only one dedicated node to host all external ports to avoid MAC flapping problem, so the HA group does simplify the external port HA support from CMS point of view. However for gateway scenario, to use the HA group while balancing the gateway load, we will have to create multiple HA groups just to assign different priority combinations, which becomes much more complex and inconvenient comparing with current gateway_chassis implementation (without group). Do you have any thoughts on this? _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
