Open Virtual Network (OVN) Release 21.06.0
Total Page:16
File Type:pdf, Size:1020Kb
Open Virtual Network (OVN) Release 21.06.0 Jun 18, 2021 Contents 1 Open Virtual Network (OVN) Documentation1 1.1 How the Documentation is Organised..................................1 1.2 First Steps................................................1 1.3 Deeper Dive...............................................1 1.4 The Open Virtual Network (OVN) Project................................2 1.5 Getting Help...............................................2 2 Getting Started 3 2.1 Installing Open Virtual Network (OVN).................................3 2.1.1 Installation from Source....................................3 2.1.2 Installation from Packages................................... 13 2.1.3 Upgrades............................................ 18 2.1.4 Others.............................................. 20 3 Tutorials 23 3.1 OVN Sandbox.............................................. 23 3.1.1 Getting Started......................................... 23 3.1.2 Using GDB........................................... 24 3.1.3 Creating OVN Resources.................................... 24 3.1.4 Using ovn-trace......................................... 25 3.2 OVN OpenStack Tutorial........................................ 25 3.2.1 Setting Up DevStack...................................... 26 3.2.2 DevStack preliminaries..................................... 28 3.2.3 Shortening UUIDs....................................... 29 3.2.4 Overview............................................ 29 3.2.5 Switching............................................ 31 3.2.6 Routing............................................. 42 3.2.7 Adding a Gateway....................................... 46 3.2.8 IPv6............................................... 50 3.2.9 ACLs.............................................. 53 3.2.10 DHCP.............................................. 55 3.2.11 Further Directions........................................ 57 3.3 OVN Role-Based Access Control (RBAC) Tutorial........................... 57 3.3.1 Generating Certificates and Keys................................ 57 3.3.2 Configuring RBAC....................................... 58 3.4 OVN IPsec Tutorial........................................... 59 3.4.1 Generating Certificates and Keys................................ 60 i 3.4.2 Configuring OVN IPsec..................................... 60 3.4.3 Enabling OVN IPsec...................................... 60 3.4.4 Troubleshooting......................................... 60 3.4.5 Bug Reporting......................................... 61 3.5 OVN Interconnection........................................... 61 3.5.1 Setup Interconnection Databases................................ 61 3.5.2 Register OVN to Interconnection Databases.......................... 62 3.5.3 Configure Gateways...................................... 62 3.5.4 Create Transit Logical Switches................................ 63 3.5.5 Connect Logical Routers to Transit Switches......................... 63 3.5.6 Create Static Routes...................................... 64 3.5.7 Route Advertisement...................................... 64 3.6 Adding a new OVN feature to the DDlog version of ovn-northd.................... 64 3.6.1 Overview............................................ 64 3.6.2 Update NB and/or SB OVSDB schemas............................ 65 3.6.3 Configuring DDlog/OVSDB bindings............................. 65 3.6.4 Define intermediate DDlog relations and rules to compute them................ 66 3.6.5 Write rules to update output relations............................. 68 3.6.6 Generate Logical_Flow and/or other forwarding records................. 68 3.6.7 Appendix A. Additional relations generated by ovsdb2ddlog ............... 69 4 Deep Dive 71 4.1 OVN................................................... 71 4.1.1 Debugging the DDlog version of ovn-northd.......................... 71 4.1.2 Integration Guide for Centralized Control........................... 75 4.1.3 OVN Gateway High Availability Plan............................. 76 4.1.4 Role Based Access Control................................... 82 4.1.5 What’s New with OVS and OVN 2.8.............................. 83 4.1.6 Testing............................................. 87 5 How-to Guides 91 5.1 OVS................................................... 91 5.1.1 Encrypt Open vSwitch Tunnels with IPsec........................... 91 5.1.2 Open vSwitch with SSL.................................... 91 5.2 OVN................................................... 91 5.2.1 Open Virtual Networking With Docker............................. 91 5.2.2 Integration of Containers with OVN and OpenStack...................... 96 5.2.3 Open Virtual Network With firewalld............................. 97 6 Reference Guide 99 6.1 Man Pages................................................ 99 6.1.1 ovn-sim............................................. 99 7 Open Virtual Network (OVN) FAQ 103 7.1 Development............................................... 103 7.2 General.................................................. 104 8 OVN Internals 107 8.1 Contributing to OVN........................................... 107 8.1.1 Submitting Patches....................................... 107 8.1.2 Backporting patches...................................... 113 8.1.3 OVN Coding Style....................................... 115 8.1.4 OVN Documentation Style................................... 123 8.1.5 Open vSwitch Library ABI Updates.............................. 129 8.2 Mailing Lists............................................... 131 ii 8.2.1 ovs-announce.......................................... 131 8.2.2 ovs-discuss........................................... 131 8.2.3 ovs-dev............................................. 131 8.2.4 bugs............................................... 131 8.2.5 security............................................. 131 8.3 Patchwork................................................ 131 8.3.1 git-pw.............................................. 132 8.3.2 pwclient............................................. 132 8.4 OVN Release Process.......................................... 132 8.4.1 Release Strategy........................................ 132 8.4.2 Release Numbering....................................... 133 8.4.3 Release Scheduling....................................... 133 8.4.4 Release Calendar........................................ 133 8.4.5 Contact............................................. 134 8.5 Reporting Bugs in OVN......................................... 134 8.6 OVN’s Security Process......................................... 135 8.6.1 What is a vulnerability?..................................... 135 8.6.2 Step 1: Reception........................................ 135 8.6.3 Step 2: Assessment....................................... 135 8.6.4 Step 3a: Document....................................... 136 8.6.5 Step 3b: Fix........................................... 137 8.6.6 Step 4: Embargoed Disclosure................................. 138 8.6.7 Step 5: Public Disclosure.................................... 138 8.7 Emeritus Status for OVN Committers.................................. 138 8.8 Expectations for Developers with OVN Repo Access.......................... 139 8.8.1 Pre-requisites.......................................... 139 8.8.2 Review............................................. 139 8.8.3 Git conventions......................................... 139 8.9 OVN Committer Grant/Revocation Policy................................ 140 8.9.1 Granting Commit Access.................................... 140 8.9.2 Revoking Commit Access................................... 141 8.9.3 Changing the Policy...................................... 142 8.9.4 Nomination to Grant Commit Access............................. 142 8.9.5 Vote to Grant Commit Access................................. 142 8.9.6 Vote Results for Grant of Commit Access........................... 142 8.9.7 Invitation to Accepted Committer............................... 142 8.9.8 Proposal to Revoke Commit Access for Detrimental Behavior................ 143 8.9.9 Vote to Revoke Commit Access................................ 143 8.9.10 Vote Results for Revocation of Commit Access........................ 143 8.9.11 Notification of Commit Revocation for Detrimental Behavior................. 144 8.10 Authors.................................................. 144 8.11 Committers................................................ 157 8.12 How OVN’s Documentation Works................................... 158 8.12.1 reStructuredText and Sphinx.................................. 158 8.12.2 ovs-sphinx-theme........................................ 158 8.12.3 Read the Docs.......................................... 158 8.12.4 ovn.org............................................. 158 iii iv CHAPTER 1 Open Virtual Network (OVN) Documentation 1.1 How the Documentation is Organised The Open Virtual Network (OVN) documentation is organised into multiple sections: • Installation guides guide you through installing Open vSwitch (OVS) and Open Virtual Network (OVN) on a variety of different platforms • Tutorials take you through a series of steps to configure OVS and OVN in sandboxed environments • Topic guides provide a high level overview of OVS and OVN internals and operation • How-to guides are recipes or use-cases for OVS and OVN. They are more advanced than the tutorials. • Frequently Asked Questions provide general insight into a variety of topics related to configuration and operation of OVS and OVN. 1.2 First