Bug 1277592 - docker push fails - large packets get dropped by vxlan
docker push fails - large packets get dropped by vxlan
Status: CLOSED CURRENTRELEASE
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer (Show other bugs)
3.1.0
Unspecified Unspecified
high Severity medium
: ---
: ---
Assigned To: Jason DeTiberus
Ma xiaoqiang
: TestBlocker
Depends On: 1273327
Blocks:
  Show dependency treegraph
 
Reported: 2015-11-03 10:42 EST by Dan Winship
Modified: 2015-12-02 03:56 EST (History)
15 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1273327
Environment:
Last Closed: 2015-11-20 10:41:59 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Comment 1 Dan Winship 2015-11-03 10:43:24 EST
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-04 22:45:08 EST
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 02:34:11 EST
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.