Hello, Tricircle plans to provide L2 network across Neutron to ease supporting high availability of application:
For example, in the following figure, the application is consisted of instance1 and instance2, these two instances will be deployed into two OpenStack. Intance1 will provide service through "ext net1"(i.e, external network in OpenStack1), and Instance2 will provide service through "ext net2". Instance1 and Instance2 will be plugged into same L2 network net3 for data replication( for example database replication ). +-----------------+ +-----------------+ |OpenStack1 | |OpenStack2 | | | | | | ext net1 | | ext net2 | | +-----+-----+ | | +-----+-----+ | | | | | | | | | | | | | | +--+--+ | | +--+--+ | | | | | | | | | | | R1 | | | | R2 | | | | | | | | | | | +--+--+ | | +--+--+ | | | | | | | | | | | | | | +---+-+-+ | | +---+-+-+ | | net1 | | | net2 | | | | | | | | | +--------+--+ | | +--------+--+ | | | Instance1 | | | | Instance2 | | | +-----------+ | | +-----------+ | | | | | | | | | | net3 | | | | +------+-------------------------+----+ | | | | | +-----------------+ +-----------------+ When we deploy the application in such a way, no matter which part of the application stops providing service, the other part can still provide service, and take the workload from the failure one. It'll bring the failure tolerance no matter the failure is due to OpenStack crush or upgrade, or part of the application crush or upgrade. This mode can work very well and helpful, and router R1 R2 can run in DVR or legacy mode. While during the discussion and review of the spec: https://review.openstack.org/#/c/396564/, in this deployment, the end user has to add two NICs for each instance, one for the net3(a L2 network across OpenStack). And the net3 (a L2 network across OpenStack) can not be allowed to add_router_interface to router R1 R2, this is not good in networking. If the end user wants to do so, there is DVR MAC issues if more than one L2 network across OpenStack are performed add_router_interface to router R1 R2. Let's look at the following deployment scenario: +-----------------+ +-------------------+ |OpenStack1 | |OpenStack2 | | | | | | ext net1 | | ext net2 | | +-----+-----+ | | +-----+-----+ | | | | | | | | | | | | | | +-------+--+ | | +--+-------+ | | | | | | | | | | | R1 | | | | R2 | | | | | | | | | | | ++------+--+ | | +--+-----+-+ | | | | | | | | | | | | | net3 | | | | | | -+-+-------------------+-----+--+ | | | | | | | | | | | | +--+-------+ | | +-+---------+ | | | | | Instance1| | | | Instance2 | | | | | +----------+ | | +-----------+ | | | | | net4 | | | | ++-------+--------------------------+---+-+ | | | | | | | | +-------+---+ | | +--------+---+ | | | Instance3 | | | | Instance4 | | | +-----------+ | | +------------+ | | | | | +-----------------+ +-------------------+ net3 and net4 are two L2 network across OpenStacks. These two networks will be added router interface to R1 R2. Tricircle can help this, and addressed the DHCP and gateway challenges: different gateway port for the same network in different OpenStack, so there is no problem for north-south traffic, the north-south traffic will goes to local external network directly, for example, Instance1->R1->ext net1, instance2->R2->ext net2. The issue is in east-west traffic if R1 R2 are running in DVR mode: when instance1 tries to ping instance4, DVR MAC replacement will happen before the packet leaves the host where the instance1 is running, when the packet arrives at the host where the instance4 is running, because DVR MAC replacement, the source mac(DVR MAC from OpenStack1) of the packet could not be recognized in OpenStack2, thus the packet will be dropped, and the ping fails. The latter one deployment bring more flexibility in networking capability, and don't have to prevent the L2 network across OpenStack from add_router_interface to DVR mode routers, otherwise, only legacy router can be supported for L2 network across OpenStack. Any thought on how to address this issue to make DVR and L2 network across OpenStack be able to co-work together? And also welcome to review the patch for different networking scenarios: Layer-3 networking and combined bridge network spec ( https://review.openstack.org/#/c/396564/) Best Regards Chaoyi Huang(joehuang)
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev