SlideShare a Scribd company logo
Weird stuff we've seen with
OpenStack Neutron
(And what to do about it)
Weird things we've seen with OpenStack Neutron
OpenStack Neutron
• So$ware-defined networking component
• Users define their own virtual networks
• Manages IP address assignment
• Floa?ng IP addresses
• Supports many different back-ends - OpenvSwitch, VMware
NSX, Cisco UCS, Midokura....
Neutron usage1
1
Source: OpenStack User Survey, October 2015
Simplified logical architecture
Architecture, con-nued
• neutron-{server,agent}
• OpenvSwitch
• Linux bridging
• Linux network namespaces
• L2
• L3
Namespaces
• L2 namespace
• DHCP
• L3 namespace
• Rou4ng
• NAT
• Metadata
Common problems - typical user complaints
• VM can't obtain an IP address
• Can't ping / connect to my VM
• Intermi9ent connec:vity
Weirdness #1 - orphaned namespaces
• Default (on Ubuntu) is not to delete namespaces at all (!)
• Bug in iproute2 package
• h=ps://bugs.launchpad.net/neutron/+bug/1052535
• Misconfigured sudo rules meant that network namespaces
weren't being deleted
• Mismatch between interfaces configured in a namespace and
what Neutron expects
Finding out what's supposed to be where
for netnode in osnet{0..4} ; do
echo $netnode
for router in $(ssh $netnode 'ip netns list | grep qrouter | cut -d - -f 2-20') ; do
neutron router-show $router | grep -i unable
done
done
Then delete each invalid namespace and associated OVS port.
• Pro%p: Don't run neutron-ovs-cleanup!
Weirdness #2 - duplicate segmenta4on ID
• Customer support ,cket with instances unable to obtain an IP via
DHCP
• Some serious digging required...
Tracing packet flows
• tcpdump on compute node and in network namespaces
• Packets not always arriving where you'd expect
• Have to look at OpenFlow rules
DHCP agent
neutron dhcp-agent-list-hosting-net 4dc325ed-f141-41d9-8d0a-4f513defacad
+--------------------------------------+--------+----------------+-------+
| id | host | admin_state_up | alive |
+--------------------------------------+--------+----------------+-------+
| 1beb99ef-e6f6-4083-8fb6-661f2f61c565 | osnet1 | True | :-) |
+--------------------------------------+--------+----------------+-------+
neutron net-show -F provider:segmentation_id 4dc325ed-f141-41d9-8d0a-4f513defacad
+--------------------------+-------+
| Field | Value |
+--------------------------+-------+
| provider:segmentation_id | 11 |
+--------------------------+-------+
• 11 in hex = 0xb
root@osnet1:~# ovs-ofctl dump-flows br-tun table=2
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=875584.823s, table=2, n_packets=85, n_bytes=10880, idle_age=11560, hard_age=65534, priority=1,tun_id=0x14 actions=mod_vlan_vid:43,resubmit(,10)
cookie=0x0, duration=2578615.436s, table=2, n_packets=1345, n_bytes=128202, idle_age=27174, hard_age=65534, priority=1,tun_id=0x10 actions=mod_vlan_vid:2,resubmit(,10)
cookie=0x0, duration=2578611.677s, table=2, n_packets=0, n_bytes=0, idle_age=65534, hard_age=65534, priority=1,tun_id=0xd actions=mod_vlan_vid:12,resubmit(,10)
cookie=0x0, duration=1806356.959s, table=2, n_packets=5140, n_bytes=364533, idle_age=341, hard_age=65534, priority=1,tun_id=0x21 actions=mod_vlan_vid:35,resubmit(,10)
cookie=0x0, duration=2578610.661s, table=2, n_packets=1035919, n_bytes=180430025, idle_age=65534, hard_age=65534, priority=1,tun_id=0x11 actions=mod_vlan_vid:16,resubmit(,10)
cookie=0x0, duration=1465355.359s, table=2, n_packets=418252, n_bytes=81112777, idle_age=52, hard_age=65534, priority=1,tun_id=0x13 actions=mod_vlan_vid:42,resubmit(,10)
cookie=0x0, duration=1631281.273s, table=2, n_packets=445, n_bytes=52848, idle_age=65534, hard_age=65534, priority=1,tun_id=0x17 actions=mod_vlan_vid:37,resubmit(,10)
cookie=0x0, duration=2578609.671s, table=2, n_packets=1821, n_bytes=167272, idle_age=16439, hard_age=65534, priority=1,tun_id=0xc actions=mod_vlan_vid:17,resubmit(,10)
cookie=0x0, duration=2574619.932s, table=2, n_packets=490592856, n_bytes=279835052124, idle_age=65534, hard_age=65534, priority=1,tun_id=0x19 actions=mod_vlan_vid:19,resubmit(,10)
cookie=0x0, duration=2578613.06s, table=2, n_packets=18, n_bytes=756, idle_age=65534, hard_age=65534, priority=1,tun_id=0xe actions=mod_vlan_vid:8,resubmit(,10)
cookie=0x0, duration=1469974.534s, table=2, n_packets=6992536, n_bytes=1567235429, idle_age=9, hard_age=65534, priority=1,tun_id=0x7 actions=mod_vlan_vid:41,resubmit(,10)
cookie=0x0, duration=2144082.193s, table=2, n_packets=2583, n_bytes=461773, idle_age=65534, hard_age=65534, priority=1,tun_id=0x1d actions=mod_vlan_vid:32,resubmit(,10)
cookie=0x0, duration=2578611.169s, table=2, n_packets=4230304, n_bytes=917966422, idle_age=0, hard_age=65534, priority=1,tun_id=0x5 actions=mod_vlan_vid:14,resubmit(,10)
cookie=0x0, duration=85135.825s, table=2, n_packets=1739, n_bytes=130092, idle_age=65534, hard_age=65534, priority=1,tun_id=0x1f actions=mod_vlan_vid:53,resubmit(,10)
cookie=0x0, duration=979.195s, table=2, n_packets=123, n_bytes=11895, idle_age=933, priority=1,tun_id=0x22 actions=mod_vlan_vid:54,resubmit(,10)
cookie=0x0, duration=1898543.732s, table=2, n_packets=240, n_bytes=30712, idle_age=65534, hard_age=65534, priority=1,tun_id=0x16 actions=mod_vlan_vid:34,resubmit(,10)
cookie=0x0, duration=2578614.004s, table=2, n_packets=5595775, n_bytes=5465543420, idle_age=4, hard_age=65534, priority=1,tun_id=0x8 actions=mod_vlan_vid:6,resubmit(,10)
cookie=0x0, duration=1473941.345s, table=2, n_packets=4202494, n_bytes=2516931444, idle_age=9, hard_age=65534, priority=1,tun_id=0x4 actions=mod_vlan_vid:40,resubmit(,10)
cookie=0x0, duration=2578619.787s, table=2, n_packets=103506, n_bytes=13925984, idle_age=0, hard_age=65534, priority=0 actions=drop
wat.
OpenFlow flows2
2
h$p://assafmuller.com/2013/10/14/gre-tunnels-in-openstack-neutron/
Missing OpenFlow rule
root@osnet1:~# ovs-ofctl dump-flows br-tun table=2 | grep 0xb
root@osnet1:~# echo $?
1
Try to re-add that network to the responsible agent:
$ neutron dhcp-agent-network-remove 1beb99ef-e6f6-4083-8fb6-661f2f61c565 
4dc325ed-f141-41d9-8d0a-4f513defacad
Removed network 4dc325ed-f141-41d9-8d0a-4f513defacad from DHCP agent
$ neutron dhcp-agent-network-add 1beb99ef-e6f6-4083-8fb6-661f2f61c565 
4dc325ed-f141-41d9-8d0a-4f513defacad
Added network 4dc325ed-f141-41d9-8d0a-4f513defacad to DHCP agent
root@osnet1:~# ovs-ofctl dump-flows br-tun table=2 | grep 0xb
cookie=0x0, duration=0.945s, table=2, n_packets=14, n_bytes=588, idle_age=0,
priority=1,tun_id=0xb actions=mod_vlan_vid:55,resubmit(,10)
Weirdness #3 - duplicate routers
• Intermi)ent connec-vity issues groan
• No DVR or L3-HA enabled
• Routers scheduled and created twice on two network nodes
• Same network configura-on in each namespace
Duplicate routers
› neutron l3-agent-list-hosting-router fe79ae7e-debf-44b9-8fd7-601abd5fb928
+--------------------------------------+--------+----------------+-------+----------+
| id | host | admin_state_up | alive | ha_state |
+--------------------------------------+--------+----------------+-------+----------+
| 48132c36-b6b1-40fa-b9d9-5474f4f27c3a | osnet0 | True | :-) | |
| c821a370-b301-40c5-8b7b-25d147ffc904 | osnet1 | True | :-) | |
+--------------------------------------+--------+----------------+-------+----------+
› neutron router-show fe79ae7e-debf-44b9-8fd7-601abd5fb928
+-----------------------+----------------------------------+
| Field | Value |
+-----------------------+----------------------------------+
| admin_state_up | True |
| distributed | False |
| ha | False |
| status | ACTIVE |
| tenant_id | 7d718c99276c43d1992d64d061d98f15 |
+-----------------------+----------------------------------+
How to approach troubleshoo0ng
Troubleshoo*ng checklist
• UUIDs for instance, loca2on, MAC address
• UUIDs for network, subnet, router
• Network node hos2ng L2 and L3 agents
Useful commands - neutron
$ neutron agent-list
$ neutron l3-agent-list-hosting-router $router_uuid
$ neutron dhcp-agent-list-hosting-net $net_uuid
$ neutron router-list-on-l3-agent $agent_uuid
$ neutron net-list-on-dhcp-agent $net_uuid
$ neutron help
Useful commands - OpenvSwitch
$ ovs-vsctl show
$ ovs-ofctl dump-flows $bridge
$ ovs-dpctl show
(More) useful commands
Standard network troubleshoo1ng toolkit:
$ tcpdump -enl -i eth1 | grep -i dhcp
$ ip netns exec $netns tcpdump port 67 or port 68 -lne
$ ip route
$ ip address
$ iptables-save
$ brctl
$ mtr
Etc.
Thanks!
Nick Jones
DataCentred
h"p://www.datacentred.co.uk
h"p://dischord.org
@yankcrime

More Related Content

PDF
Building Docker images with Puppet
PDF
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
PPTX
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean Winn
PPTX
Couch to open_stack_keystone
PPTX
Couch to OpenStack: Glance - July, 23, 2013
PDF
Docker at OpenDNS
PPTX
OpenShift4 Installation by UPI on kvm
PDF
Quay 3.3 installation
Building Docker images with Puppet
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean Winn
Couch to open_stack_keystone
Couch to OpenStack: Glance - July, 23, 2013
Docker at OpenDNS
OpenShift4 Installation by UPI on kvm
Quay 3.3 installation

What's hot (20)

PPT
Hadoop on ec2
PDF
Real-time Infrastructure Management with SaltStack - OpenWest 2013
PDF
Set up Hadoop Cluster on Amazon EC2
ODP
Testing Wi-Fi with OSS Tools
PDF
Automating Mendix application deployments with Nix
PPT
vBACD - Introduction to Opscode Chef - 2/29
PDF
Getting started with puppet and vagrant (1)
PDF
Shaping Clouds with Terraform
PDF
CoreOS + Kubernetes @ All Things Open 2015
PDF
Small, Simple, and Secure: Alpine Linux under the Microscope
ODP
PXEless Discovery with Foreman
PDF
CloudOps CloudStack Days, Austin April 2015
PDF
Experiences from Running Masterless Puppet - PuppetConf 2014
PDF
CloudInit Introduction
PPTX
Cloud init and cloud provisioning [openstack summit vancouver]
PDF
Fun with containers: Use Ansible to build Docker images
PDF
CoreOS: Control Your Fleet
PPTX
Deployment with Fabric
PDF
Elasticsearch (R)Evolution — You Know, for Search… by Philipp Krenn at Big Da...
PDF
Puppet Camp Charlotte 2015: Exporting Resources: There and Back Again
Hadoop on ec2
Real-time Infrastructure Management with SaltStack - OpenWest 2013
Set up Hadoop Cluster on Amazon EC2
Testing Wi-Fi with OSS Tools
Automating Mendix application deployments with Nix
vBACD - Introduction to Opscode Chef - 2/29
Getting started with puppet and vagrant (1)
Shaping Clouds with Terraform
CoreOS + Kubernetes @ All Things Open 2015
Small, Simple, and Secure: Alpine Linux under the Microscope
PXEless Discovery with Foreman
CloudOps CloudStack Days, Austin April 2015
Experiences from Running Masterless Puppet - PuppetConf 2014
CloudInit Introduction
Cloud init and cloud provisioning [openstack summit vancouver]
Fun with containers: Use Ansible to build Docker images
CoreOS: Control Your Fleet
Deployment with Fabric
Elasticsearch (R)Evolution — You Know, for Search… by Philipp Krenn at Big Da...
Puppet Camp Charlotte 2015: Exporting Resources: There and Back Again
Ad

Viewers also liked (10)

PPTX
OpenStack User Survey October 2013
PPTX
VMWare: Nova and NVP Support - Gary Kotton and Dimitri Desmidt
PDF
OpenStack Neutron 201 1hr
PPTX
OpenStack Neutron Reverse Engineered
PPTX
Accelerating Neutron with Intel DPDK
PDF
OpenStack Atlanta User Survey
PDF
OpenStack networking - Neutron deep dive with PLUMgrid
PDF
OpenStack Neutron Havana Overview - Oct 2013
PPTX
Modular Layer 2 In OpenStack Neutron
PDF
Deep dive into highly available open stack architecture openstack summit va...
OpenStack User Survey October 2013
VMWare: Nova and NVP Support - Gary Kotton and Dimitri Desmidt
OpenStack Neutron 201 1hr
OpenStack Neutron Reverse Engineered
Accelerating Neutron with Intel DPDK
OpenStack Atlanta User Survey
OpenStack networking - Neutron deep dive with PLUMgrid
OpenStack Neutron Havana Overview - Oct 2013
Modular Layer 2 In OpenStack Neutron
Deep dive into highly available open stack architecture openstack summit va...
Ad

Similar to Weird things we've seen with OpenStack Neutron (20)

PDF
L3HA-VRRP-20141201
PDF
Experiences in Providing Secure Mult-Tenant Lustre Access to OpenStack
PPTX
Manchester OpenStack Meetup: I have an OpenStack Cloud, now what? OpenStack 101
PDF
Configuring wifi in open embedded builds
PDF
Enabling a Secure Multi-Tenant Environment for HPC
PPTX
Neutron DVR
PPT
[OpenStack 하반기 스터디] HA using DVR
PDF
Open daylight and Openstack
PDF
Integration of neutron, nova and designate how to use it and how to configur...
PDF
Using Netconf/Yang with OpenDalight
PPTX
ProxySQL & PXC(Query routing and Failover Test)
PPTX
Deep Dive in Docker Overlay Networks
PPTX
Debugging linux issues with eBPF
PDF
Openstack 101
PDF
OpenStack networking-sfc flow 분석
PDF
SRX Automation at Groupon
PDF
OpenStack networking
PDF
Routed Provider Networks on OpenStack
PDF
neutron测试例子
PDF
Our Puppet Story – Patterns and Learnings (sage@guug, March 2014)
L3HA-VRRP-20141201
Experiences in Providing Secure Mult-Tenant Lustre Access to OpenStack
Manchester OpenStack Meetup: I have an OpenStack Cloud, now what? OpenStack 101
Configuring wifi in open embedded builds
Enabling a Secure Multi-Tenant Environment for HPC
Neutron DVR
[OpenStack 하반기 스터디] HA using DVR
Open daylight and Openstack
Integration of neutron, nova and designate how to use it and how to configur...
Using Netconf/Yang with OpenDalight
ProxySQL & PXC(Query routing and Failover Test)
Deep Dive in Docker Overlay Networks
Debugging linux issues with eBPF
Openstack 101
OpenStack networking-sfc flow 분석
SRX Automation at Groupon
OpenStack networking
Routed Provider Networks on OpenStack
neutron测试例子
Our Puppet Story – Patterns and Learnings (sage@guug, March 2014)

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
KodekX | Application Modernization Development
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Modernizing your data center with Dell and AMD
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Cloud computing and distributed systems.
PDF
cuic standard and advanced reporting.pdf
Electronic commerce courselecture one. Pdf
KodekX | Application Modernization Development
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Spectral efficient network and resource selection model in 5G networks
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
NewMind AI Weekly Chronicles - August'25 Week I
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
Network Security Unit 5.pdf for BCA BBA.
Modernizing your data center with Dell and AMD
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Understanding_Digital_Forensics_Presentation.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Cloud computing and distributed systems.
cuic standard and advanced reporting.pdf

Weird things we've seen with OpenStack Neutron

  • 1. Weird stuff we've seen with OpenStack Neutron (And what to do about it)
  • 3. OpenStack Neutron • So$ware-defined networking component • Users define their own virtual networks • Manages IP address assignment • Floa?ng IP addresses • Supports many different back-ends - OpenvSwitch, VMware NSX, Cisco UCS, Midokura....
  • 4. Neutron usage1 1 Source: OpenStack User Survey, October 2015
  • 6. Architecture, con-nued • neutron-{server,agent} • OpenvSwitch • Linux bridging • Linux network namespaces • L2 • L3
  • 7. Namespaces • L2 namespace • DHCP • L3 namespace • Rou4ng • NAT • Metadata
  • 8. Common problems - typical user complaints • VM can't obtain an IP address • Can't ping / connect to my VM • Intermi9ent connec:vity
  • 9. Weirdness #1 - orphaned namespaces • Default (on Ubuntu) is not to delete namespaces at all (!) • Bug in iproute2 package • h=ps://bugs.launchpad.net/neutron/+bug/1052535 • Misconfigured sudo rules meant that network namespaces weren't being deleted • Mismatch between interfaces configured in a namespace and what Neutron expects
  • 10. Finding out what's supposed to be where for netnode in osnet{0..4} ; do echo $netnode for router in $(ssh $netnode 'ip netns list | grep qrouter | cut -d - -f 2-20') ; do neutron router-show $router | grep -i unable done done Then delete each invalid namespace and associated OVS port. • Pro%p: Don't run neutron-ovs-cleanup!
  • 11. Weirdness #2 - duplicate segmenta4on ID • Customer support ,cket with instances unable to obtain an IP via DHCP • Some serious digging required...
  • 12. Tracing packet flows • tcpdump on compute node and in network namespaces • Packets not always arriving where you'd expect • Have to look at OpenFlow rules
  • 13. DHCP agent neutron dhcp-agent-list-hosting-net 4dc325ed-f141-41d9-8d0a-4f513defacad +--------------------------------------+--------+----------------+-------+ | id | host | admin_state_up | alive | +--------------------------------------+--------+----------------+-------+ | 1beb99ef-e6f6-4083-8fb6-661f2f61c565 | osnet1 | True | :-) | +--------------------------------------+--------+----------------+-------+ neutron net-show -F provider:segmentation_id 4dc325ed-f141-41d9-8d0a-4f513defacad +--------------------------+-------+ | Field | Value | +--------------------------+-------+ | provider:segmentation_id | 11 | +--------------------------+-------+ • 11 in hex = 0xb
  • 14. root@osnet1:~# ovs-ofctl dump-flows br-tun table=2 NXST_FLOW reply (xid=0x4): cookie=0x0, duration=875584.823s, table=2, n_packets=85, n_bytes=10880, idle_age=11560, hard_age=65534, priority=1,tun_id=0x14 actions=mod_vlan_vid:43,resubmit(,10) cookie=0x0, duration=2578615.436s, table=2, n_packets=1345, n_bytes=128202, idle_age=27174, hard_age=65534, priority=1,tun_id=0x10 actions=mod_vlan_vid:2,resubmit(,10) cookie=0x0, duration=2578611.677s, table=2, n_packets=0, n_bytes=0, idle_age=65534, hard_age=65534, priority=1,tun_id=0xd actions=mod_vlan_vid:12,resubmit(,10) cookie=0x0, duration=1806356.959s, table=2, n_packets=5140, n_bytes=364533, idle_age=341, hard_age=65534, priority=1,tun_id=0x21 actions=mod_vlan_vid:35,resubmit(,10) cookie=0x0, duration=2578610.661s, table=2, n_packets=1035919, n_bytes=180430025, idle_age=65534, hard_age=65534, priority=1,tun_id=0x11 actions=mod_vlan_vid:16,resubmit(,10) cookie=0x0, duration=1465355.359s, table=2, n_packets=418252, n_bytes=81112777, idle_age=52, hard_age=65534, priority=1,tun_id=0x13 actions=mod_vlan_vid:42,resubmit(,10) cookie=0x0, duration=1631281.273s, table=2, n_packets=445, n_bytes=52848, idle_age=65534, hard_age=65534, priority=1,tun_id=0x17 actions=mod_vlan_vid:37,resubmit(,10) cookie=0x0, duration=2578609.671s, table=2, n_packets=1821, n_bytes=167272, idle_age=16439, hard_age=65534, priority=1,tun_id=0xc actions=mod_vlan_vid:17,resubmit(,10) cookie=0x0, duration=2574619.932s, table=2, n_packets=490592856, n_bytes=279835052124, idle_age=65534, hard_age=65534, priority=1,tun_id=0x19 actions=mod_vlan_vid:19,resubmit(,10) cookie=0x0, duration=2578613.06s, table=2, n_packets=18, n_bytes=756, idle_age=65534, hard_age=65534, priority=1,tun_id=0xe actions=mod_vlan_vid:8,resubmit(,10) cookie=0x0, duration=1469974.534s, table=2, n_packets=6992536, n_bytes=1567235429, idle_age=9, hard_age=65534, priority=1,tun_id=0x7 actions=mod_vlan_vid:41,resubmit(,10) cookie=0x0, duration=2144082.193s, table=2, n_packets=2583, n_bytes=461773, idle_age=65534, hard_age=65534, priority=1,tun_id=0x1d actions=mod_vlan_vid:32,resubmit(,10) cookie=0x0, duration=2578611.169s, table=2, n_packets=4230304, n_bytes=917966422, idle_age=0, hard_age=65534, priority=1,tun_id=0x5 actions=mod_vlan_vid:14,resubmit(,10) cookie=0x0, duration=85135.825s, table=2, n_packets=1739, n_bytes=130092, idle_age=65534, hard_age=65534, priority=1,tun_id=0x1f actions=mod_vlan_vid:53,resubmit(,10) cookie=0x0, duration=979.195s, table=2, n_packets=123, n_bytes=11895, idle_age=933, priority=1,tun_id=0x22 actions=mod_vlan_vid:54,resubmit(,10) cookie=0x0, duration=1898543.732s, table=2, n_packets=240, n_bytes=30712, idle_age=65534, hard_age=65534, priority=1,tun_id=0x16 actions=mod_vlan_vid:34,resubmit(,10) cookie=0x0, duration=2578614.004s, table=2, n_packets=5595775, n_bytes=5465543420, idle_age=4, hard_age=65534, priority=1,tun_id=0x8 actions=mod_vlan_vid:6,resubmit(,10) cookie=0x0, duration=1473941.345s, table=2, n_packets=4202494, n_bytes=2516931444, idle_age=9, hard_age=65534, priority=1,tun_id=0x4 actions=mod_vlan_vid:40,resubmit(,10) cookie=0x0, duration=2578619.787s, table=2, n_packets=103506, n_bytes=13925984, idle_age=0, hard_age=65534, priority=0 actions=drop wat.
  • 16. Missing OpenFlow rule root@osnet1:~# ovs-ofctl dump-flows br-tun table=2 | grep 0xb root@osnet1:~# echo $? 1 Try to re-add that network to the responsible agent: $ neutron dhcp-agent-network-remove 1beb99ef-e6f6-4083-8fb6-661f2f61c565 4dc325ed-f141-41d9-8d0a-4f513defacad Removed network 4dc325ed-f141-41d9-8d0a-4f513defacad from DHCP agent $ neutron dhcp-agent-network-add 1beb99ef-e6f6-4083-8fb6-661f2f61c565 4dc325ed-f141-41d9-8d0a-4f513defacad Added network 4dc325ed-f141-41d9-8d0a-4f513defacad to DHCP agent root@osnet1:~# ovs-ofctl dump-flows br-tun table=2 | grep 0xb cookie=0x0, duration=0.945s, table=2, n_packets=14, n_bytes=588, idle_age=0, priority=1,tun_id=0xb actions=mod_vlan_vid:55,resubmit(,10)
  • 17. Weirdness #3 - duplicate routers • Intermi)ent connec-vity issues groan • No DVR or L3-HA enabled • Routers scheduled and created twice on two network nodes • Same network configura-on in each namespace
  • 18. Duplicate routers › neutron l3-agent-list-hosting-router fe79ae7e-debf-44b9-8fd7-601abd5fb928 +--------------------------------------+--------+----------------+-------+----------+ | id | host | admin_state_up | alive | ha_state | +--------------------------------------+--------+----------------+-------+----------+ | 48132c36-b6b1-40fa-b9d9-5474f4f27c3a | osnet0 | True | :-) | | | c821a370-b301-40c5-8b7b-25d147ffc904 | osnet1 | True | :-) | | +--------------------------------------+--------+----------------+-------+----------+ › neutron router-show fe79ae7e-debf-44b9-8fd7-601abd5fb928 +-----------------------+----------------------------------+ | Field | Value | +-----------------------+----------------------------------+ | admin_state_up | True | | distributed | False | | ha | False | | status | ACTIVE | | tenant_id | 7d718c99276c43d1992d64d061d98f15 | +-----------------------+----------------------------------+
  • 19. How to approach troubleshoo0ng Troubleshoo*ng checklist • UUIDs for instance, loca2on, MAC address • UUIDs for network, subnet, router • Network node hos2ng L2 and L3 agents
  • 20. Useful commands - neutron $ neutron agent-list $ neutron l3-agent-list-hosting-router $router_uuid $ neutron dhcp-agent-list-hosting-net $net_uuid $ neutron router-list-on-l3-agent $agent_uuid $ neutron net-list-on-dhcp-agent $net_uuid $ neutron help
  • 21. Useful commands - OpenvSwitch $ ovs-vsctl show $ ovs-ofctl dump-flows $bridge $ ovs-dpctl show
  • 22. (More) useful commands Standard network troubleshoo1ng toolkit: $ tcpdump -enl -i eth1 | grep -i dhcp $ ip netns exec $netns tcpdump port 67 or port 68 -lne $ ip route $ ip address $ iptables-save $ brctl $ mtr Etc.