Bug 1277592 - docker push fails - large packets get dropped by vxlan
Summary: docker push fails - large packets get dropped by vxlan
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.1.0
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ---
: ---
Assignee: Jason DeTiberus
QA Contact: Ma xiaoqiang
URL:
Whiteboard:
Depends On: 1273327
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-03 15:42 UTC by Dan Winship
Modified: 2015-12-02 08:56 UTC (History)
15 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 1273327
Environment:
Last Closed: 2015-11-20 15:41:59 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Comment 1 Dan Winship 2015-11-03 15:43:24 UTC
the important bit there is:

>    3. We should have the installer sanity-check this if we can
>       (That the node-config.yaml mtu value is less than the default
>       route's MTU.)

Comment 3 Jason DeTiberus 2015-11-05 03:45:08 UTC
https://github.com/openshift/openshift-ansible/pull/815

The simplest test is to set the mtu on the default interface (eth0 on my host) to something other than 1500 ('ip link set dev eth0 1400' for example), and then run the playbooks/byo/openshift_facts.yml playbook. The value of openshift.node.sdn_mtu should be a string representing the set mtu value - 50

A full config run should yield a node-config.yaml that has networkConfig.mtu set to the same value above.

If the inventory does not specify openshift_ip for the host, then the mtu detection is done using the auto-detected value of openshift.common.ip to try to find the correct interface.

If the inventory specifies an override for openshift_ip, then the mtu detection will attempt to find the interface associated with that ip.

Comment 4 Johnny Liu 2015-11-05 07:34:11 UTC
Verified this bug with PR#815, and PASS.


On all the nodes in the cluster, run the following command:
# ip link set dev eth0 mtu 1400

# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1400
        inet 192.168.0.107  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::f816:3eff:fede:f1be  prefixlen 64  scopeid 0x20<link>
        ether fa:16:3e:de:f1:be  txqueuelen 1000  (Ethernet)
        RX packets 199426  bytes 103284477 (98.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 164992  bytes 44501748 (42.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


Run ansible installation:
$ cd openshift-ansible
$ git checkout -b bz1277592
$ git pull https://github.com/detiber/openshift-ansible fixMTU

After installation is done, go to all the nodes, check mtu setting.
# grep mtu /etc/origin/node/node-config.yaml
   mtu: 1350


Install docker-registry.
New app, trigger build, docker push successfully when data is sending across nodes.


Note You need to log in before you can comment on or make changes to this bug.