Bug 1277592

Summary: docker push fails - large packets get dropped by vxlan
Product: OpenShift Container Platform Reporter: Dan Winship <danw>
Component: InstallerAssignee: Jason DeTiberus <jdetiber>
Status: CLOSED CURRENTRELEASE QA Contact: Ma xiaoqiang <xiama>
Severity: medium Docs Contact:
Priority: high    
Version: 3.1.0CC: aos-bugs, bparees, cewong, danw, dmcphers, eparis, gpei, jialiu, jokerman, miminar, mmccomas, vigoyal, wzheng, xiama, xtian
Target Milestone: ---Keywords: TestBlocker
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1273327 Environment:
Last Closed: 2015-11-20 15:41:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1273327    
Bug Blocks:    

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.