Even now with all the advances to provide high level of resiliency in hardware and software components, it’s possible to have some failures. Those failures are undesirable for Enterprises and they are constantly looking for solutions which tolerate unexpected events to offer steady and unbroken services. Cloud computing solutions are not the exception. One way to achieve that is segregating the Cloud deployment in different regions.
For most of enterprise applications use stateful architectures, which means that they're constantly synchronizing their status among different instances. How to provide continuously service in case of a cloud failure happens?
During this presentation we will demonstrate how to architect an OpenStack multi-region solution through the existing official OpenStack projects like Neutron and Tricircle, demonstrate and compare the pros. and cons. of different tenant level L2/L3 networking topology across OpenStack clouds.
15. vIMS - Limitation & Evolution
Limitation :
VNF support only 2 sites for the moment
No HA for MANO component in the demo (but cloudify 4.0 support HA)
Possible next steps :
Support multisite into Functest/cloudify_ims test-case
Support multisite/tricircle in ONAP
16. How Tricricle help the networking
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
Create cross Neutron logical network
topology through central Neutron1
17. How Tricricle help the networking
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
Create cross Neutron logical network
topology through central Neutron1
Boot VM
in Nova
2
Boot VM
in Nova
2
18. How Tricricle help the networking
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
Boot VM
in Nova
2
Boot VM
in Nova
2
33 Attach network Attach network
19. How Tricricle help the networking
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
Trigger networking
automation
Trigger networking
automation4 4
20. How Tricricle help the networking
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
Create cross Neutron logical network
topology through central Neutron1
Cross Neutron
networking automation
Cross Neutron
networking automation
XJOB
● Long duration networking automation job will be done by XJOB asynchronously
● Different SDN controller could be integrated as Neutron backend as ML2 driver or core plugin
55
21. L2 networking -
Shadow Port, Shadow Agent, ARP Proxy
Port1
Host1
Shadow
Port2
Shadow
Host2
Port2
Shadow
Port1
Shadow
Host1
Host2
Port1’s VTEP
Port2’s VTEP
Port2’s VTEP
Port1’s VTEP
Shadow Port: a virtual object to represent a port in another cloud
Shadow Agent: a virtual object to represent VTEP of the shadow port, L2GW mode supported too.
ARP Proxy: configure L2 Population and ARP responder to enable APR proxy in compute node to
reduce MAC learning
Cross Neutron L2 Network: VxLAN, VLAN, Flat supported.
22. How Shadow Agent, Shadow Port go to another cloud
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
1.Port update, port1(host1)
23. How Shadow Agent, Shadow Port go to another cloud
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
2.Port update, port1(host1, VTEP)
24. How Shadow Agent, Shadow Port go to another cloud
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
XJOB
3.save shadow agent
4. Trigger async. job to setup
shadow port/agent
25. How Shadow Agent, Shadow Port go to another cloud
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
XJOB
OpenStack(Region Three)
5. Create shadow port
with VTEP info in profile
26. How Shadow Agent, Shadow Port go to another cloud
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
XJOB
OpenStack(Region Three)
6. Create shadow
agent/ port
27. How Shadow Agent, Shadow Port go to another cloud
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
XJOB
OpenStack(Region Three)
7. update shadow port to
up state
28. How Shadow Agent, Shadow Port go to another cloud
Neutron Server
Tricircle
Nova Cinder Neutron Server
OpenStack(Region One)
Cinder Nova
OpenStack(Region Two)
Tricircle Central
Neutron Plugin
Tricircle Local
Neutron Plugin
Real Core Plugin
Neutron Server
Tricircle Local
Neutron Plugin
Real Core Plugin
XJOB
OpenStack(Region Three)
8. Call real core plugin
for shadow port up. If
L2-population is
configured, L2pop
happened.
SDN Controller can be supported if it’s configured to the real core plugin
29. L3 networking -
Shadow Port, Shadow Agent, ARP Proxy
R R
Shadow Port2
Gateway Port1
Gateway Port2
Shadow Port1
Bridge Network: a network used to connect routers in different cloud.
VxLAN, VLAN, Flat supported
Bridge Network
30. R R
Site to site VPN or dedicated line for security
Tenant1
Tenant
Tenant level isolated
L2/L3 networking
Security and Isolation between clouds
31. Tricricle: networking elements
Local network
A network will only reside
in one OpenStack
cloud.
Network type could be
VLAN, VxLAN, Flat
Local router
A router will only reside in
one OpenStack cloud
Net1 Net2
R1 R2
Region One Region Two
● neutron net-create --availability-zone-hint RegionOne Net1
● neutron net-create --availability-zone-hint RegionTwo Net2
● neutron router-create --availability-zone-hint RegionOne R1
● neutron router-create --availability-zone-hint RegionTwo R2
Neutron Server
Tricircle Central
Neutron Plugin
32. Tricricle: networking elements
R3 R3
Region One Region Two
● neutron net-create --availability-zone-hint RegionOne --
availability-zone-hint RegionTwo Net3
● neutron router-create --availability-zone-hint RegionOne --
availability-zone-hint RegionTwo R3Neutron Server
Tricircle Central
Neutron Plugin
Net3
Bridge-Net
R3
Cross Neutron L2 network
A network can be presented in more
than one OpenStack cloud.
Network type could be VLAN,
VxLAN, Flat
Non local router
A router can be presented in more
than one OpenStack cloud
Inter-connected via bridge network,
could be VLAN, VxLAN or Flat.
34. Tricricle: typical networking topology
Centralized North-South Traffic with East-
West L3 networking enabled
Non local router
Multi- North-South Gateways with East-
West L3 networking enabled
Non local router
35. Tricircle - downtime risk?
If Tricircle and the central Neutron server are
down, the existing networking and applications
can still work, each OpenStack Neutron still run,
only new network topology provisioning and
topology change will be affected.