integration for openstack · 2019-02-26 · ovirt openstack resources/ complexity c services/...
TRANSCRIPT
![Page 1: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/1.jpg)
Daniel Alvarez [email protected] Siddique [email protected] @numansiddique
The evolution of Open vSwitch integration for OpenStack
13 Nov 2018
![Page 2: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/2.jpg)
Agenda
● History of OpenvSwitch in OpenStack ● OVN architecture overview● ML2/OVN vs ML2/OVS
○ Features○ Performance
● What’s next?
![Page 3: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/3.jpg)
History of OpenvSwitch in OpenStack
2016
Mitaka Release
OpenvSwitch was leveraged by introducing OVS Firewall. OVS 2.5+ and Kernel 4.3+.
2016
Newton Release
First Release of networking-ovn. Replaced L2/ L3 neutron agents by native implementations. Still required Neutron DHCP and Metadata agents.
2010
Nova-network
Linux bridge networking.
2011
Diablo Release
Quantum Open vSwitch Plugin. Used OVS for L2 functionality.
Now
Native support for: DHCP v4/v6, internal DNS, Load Balancing. No Neutron agents/RPC. On its way to be the default networking backend in TripleO.
![Page 4: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/4.jpg)
OVN Architecture overview
![Page 5: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/5.jpg)
OVN Architecture
3. Hypervisors Generate Physical Flows
Neutron with networking-ovn
ovn-northd
HV-1
ovn-controller
OVS
HV-n
ovn-controller
OVS
HV-2
ovn-controller
OVS ...
2. ovn-northd Populates Southbound DB
1. A Cloud Management System(Openstack in this eg.) creates Logical network components via the OVN Northbound DB
OVNNorthbound DB
OVNSouthbound DB
![Page 6: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/6.jpg)
ComparingML2/OVN and ML2/OVS
![Page 7: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/7.jpg)
Comparing ML2/OVN and ML2/OVS (I)ML2/OVN ML2/OVS
NativeProductCompatibility
OpenStackKubernetesoVirt
OpenStack
Resources/Complexity
C services/single C agent,OVSDB protocol, smaller footprint.
Multiple python agents, rabbitmq, medium footprint
L3 OpenFlow based L3-agent / Linux kernel namespaces, routing and iptables
L3HA OpenFlow + BFD (Native)
L3-agent / Linux kernel namespaces + keepalived + VRRP over ha_xx network.
![Page 8: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/8.jpg)
Comparing ML2/OVN and ML2/OVS (II)ML2/OVN ML2/OVS
L3DISTRIBUTED East/West
Always (except for VLAN tenant networks)
Only with DVR, many namespaces and hops (fip-, snat-, qrouter-).
L3DISTRIBUTEDNorth/South (FIP)
OpenFlow,SNAT traffic through the networker nodesNAT using OVS connection tracking
L3-agent / Linux kernel / many namespaces and hops (fip- snat-, qrouter-)SNAT through networker nodes
DHCP OpenFlow (controller action),Response from comp.local to the instances
Fully distributed HA on compute nodes.
Response from networkernodes
dhcp-agent / dnsmasq + qdhcp- namespaces
![Page 9: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/9.jpg)
Comparing ML2/OVN and ML2/OVS (III)ML2/OVN ML2/OVS
ENCAP. Geneve, VLAN3 VXLAN, GRE, VLAN
Agents ovn-controller (C1 + N2)ovn-metadata-agent (C)
Neutron-l3-agent (C + N)Neutron-dhcp-agent (N)Neutron-metadata-agent (C + N)Neutron-openvswitch-agent (C + N)
IPv6 OpenFlowRA, RS, ND, NS handled locally in compute nodes
Neutron-l3-agent + radvd (N)
L4LoadBalancing
Octavia driver, handles distributed L4 Load Balancer in OpenFlow
No
Internal DNS OpenFlow Neutron-dhcp-agent + dnsmasq (N)
1-Compute 2- Networker 3-VLAN tenant networks support has some bugs on core-ovn that are being fixed at the time of writing this.
![Page 10: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/10.jpg)
Performance: Controlplane
![Page 11: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/11.jpg)
Performance: Dataplane
![Page 12: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/12.jpg)
Performance: CPU utilizationML2/OVN
ML2/OVS
![Page 13: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/13.jpg)
What’s next?
● ML2/OVS to ML2/OVN migration tool● ML2/OVS parity: QoS, SG logging, … ● Split OVN from OVS project for better agility and
independence● Adopt Raft OVSDB clustering (A/A)● Performance: Incremental processing for ovn-northd
and ovn-controller
![Page 14: integration for OpenStack · 2019-02-26 · oVirt OpenStack Resources/ Complexity C services/ single C agent, OVSDB protocol, smaller footprint. Multiple python agents, rabbitmq,](https://reader033.vdocument.in/reader033/viewer/2022041808/5e56048c75b36228c56b68a0/html5/thumbnails/14.jpg)
Q&A