While I am not a master, I can comment on network troubleshooting.
First, it is essential to know how everything should be wired together. This can't be overstated, since there is no magical tool that pulls the solution to your network problem out of its hat. To me, the Networking Guide and Assaf Muller's DVR tutorial proved most useful, but be aware that they only cover ML2 and the most common type and mechanism drivers.
After that:
- a text browser or editor to check configuration files, and check them a second time, and then check them again. Look for typos, and for incorrect mapping of Neutron's provider network to physical interfaces.
- Errors and warnings in Neutron logs: the API server log, DHCP, agent on controller, agent on compute nodes.
- the
ip
command to explore network interfaces, Linux bridges, network namespaces and routing tables. ovs-vsctl
to explore Openvswitch bridges and and ovs-ofctl
to explore their internal wiring (known as flows). tcpdump
to find out where packets get lost. iptables
to check if the correct ports are open.
As to how these tools are used, I warmly recommend Assaf Muller's blog again. Also, you will find many videos of network troubleshooting sessions from the various summits.