diff --git a/admin_guide/sdn_troubleshooting.adoc b/admin_guide/sdn_troubleshooting.adoc index 0738b12c987f..1eca66dc535d 100644 --- a/admin_guide/sdn_troubleshooting.adoc +++ b/admin_guide/sdn_troubleshooting.adoc @@ -495,6 +495,58 @@ normal operation, so do not be surprised to see entries there. Check external firewalls, if any, allow traffic to the target address (this is site-dependent, and beyond the purview of this guide). +[[debugging-virtual-networking]] +== Debugging Virtual Networking + +[[builds-on-a-virtual-network-are-failing]] +=== Builds on a Virtual Network are Failing + +If you are installing {product-title} using a virtual network (for example, +OpenStack), and a build is failing, the maximum transmission unit (MTU) of the +target node host might not be compatible with the MTU of the primary network +interface (for example, `eth0`). + +For a build to complete successfully, the MTU of an SDN must be less than the +eth0 network MTU in order to pass data to between node hosts. + +. Check the MTU of your network by running the `ip addr` command: ++ +==== +---- +# ip addr +--- +2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 + link/ether fa:16:3e:56:4c:11 brd ff:ff:ff:ff:ff:ff + inet 172.16.0.0/24 brd 172.16.0.0 scope global dynamic eth0 + valid_lft 168sec preferred_lft 168sec + inet6 fe80::f816:3eff:fe56:4c11/64 scope link + valid_lft forever preferred_lft forever +--- +---- +==== ++ +The MTU of the above network is 1500. + +. The MTU in your node configuration must be lower than the network value. Check +the `*mtu*` in the node configuration of the targeted node host: ++ +==== +---- +# cat /etc/origin/node/node-config.yaml +... +networkConfig: + mtu: 1450 + networkPluginName: company/openshift-ovs-subnet +... +---- +==== ++ +In the above node configuration file, the `*mtu*` value is lower than the +network MTU, so no configuration is needed. If the `*mtu*` value was higher, +edit the file and lower the value to at least 50 units fewer than the MTU of the +primary network interface, then restart the node service. This would allow +larger packets of data to pass between nodes. + == Debugging Pod Egress If you are trying to access an external service from a pod, e.g.: