Hide Forgot
Description of problem: "oc exec" have performance degression if set master's clock slower than node. Version-Release number of selected component (if applicable): atomic-openshift-3.3.0.30-1.git.0.c5ee292.el7.x86_64 How reproducible: Always Steps to Reproduce: 1. set master's clock 1 second faster than node, "oc exec" has no obvious performance degression. [root@openshift-216 ~]# time (echo "node: $(oc exec docker-registry-2-05o8i -- date -u)"; echo "master: $(date -u)") node: Thu Sep 8 11:05:44 UTC 2016 master: Thu Sep 8 11:05:44 UTC 2016 real 0m0.428s user 0m0.206s sys 0m0.064s [root@openshift-216 ~]# date -u -s "11:07:44" Thu Sep 8 11:07:44 UTC 2016 [root@openshift-216 ~]# time (echo "node: $(oc exec docker-registry-2-05o8i -- date -u)"; echo "master: $(date -u)") node: Thu Sep 8 11:06:09 UTC 2016 master: Thu Sep 8 11:07:46 UTC 2016 real 0m0.433s user 0m0.224s sys 0m0.054s 2. set master's clock 1 second slower than node, obvious performance degression is seen. [root@openshift-216 ~]# date -u -s "11:05:44" Thu Sep 8 11:05:44 UTC 2016 [root@openshift-216 ~]# time (echo "node: $(oc exec docker-registry-2-05o8i -- date -u)"; echo "master: $(date -u)") node: Thu Sep 8 11:08:33 UTC 2016 master: Thu Sep 8 11:07:54 UTC 2016 real 2m8.681s user 0m0.237s sys 0m0.073s 3. run the command again, performance degression disappear. [root@openshift-216 ~]# time (echo "node: $(oc exec docker-registry-2-05o8i -- date -u)"; echo "master: $(date -u)") node: Thu Sep 8 11:15:59 UTC 2016 master: Thu Sep 8 11:15:20 UTC 2016 real 0m0.509s user 0m0.231s sys 0m0.084s 4. skew master's clock 10 seconds faster than node, more delays are seen. [root@openshift-216 ~]# time (echo "node: $(oc exec docker-registry-2-05o8i -- date -u)"; echo "master: $(date -u)") node: Thu Sep 8 12:12:12 UTC 2016 master: Thu Sep 8 12:08:14 UTC 2016 real 0m0.489s user 0m0.239s sys 0m0.080s [root@openshift-216 ~]# date -u -s "12:02:00" Thu Sep 8 12:02:00 UTC 2016 [root@openshift-216 ~]# time (echo "node: $(oc exec docker-registry-2-05o8i -- date -u)"; echo "master: $(date -u)") node: Thu Sep 8 12:19:11 UTC 2016 master: Thu Sep 8 12:08:34 UTC 2016 real 6m32.228s user 0m0.299s sys 0m0.083s Actual results: performance degression for "oc exec" is seen. [root@openshift-216 ~]# date -u -s "08:23:02" Fri Sep 9 08:23:02 UTC 2016 [root@openshift-216 ~]# oc exec --loglevel=8 docker-registry-2-05o8i -- date -u I0909 04:23:05.047937 33390 loader.go:330] Config loaded from file /root/.kube/config I0909 04:23:05.059670 33390 round_trippers.go:296] GET https://openshift-216.lab.sjc.redhat.com:8443/api I0909 04:23:05.059704 33390 round_trippers.go:303] Request Headers: I0909 04:23:05.059714 33390 round_trippers.go:306] Accept: application/json, */* I0909 04:23:05.059745 33390 round_trippers.go:306] User-Agent: oc/v1.3.0+52492b4 (linux/amd64) kubernetes/52492b4 I0909 04:23:05.127008 33390 round_trippers.go:321] Response Status: 200 OK in 67 milliseconds I0909 04:23:05.127072 33390 round_trippers.go:324] Response Headers: I0909 04:23:05.127084 33390 round_trippers.go:327] Cache-Control: no-store I0909 04:23:05.127095 33390 round_trippers.go:327] Content-Type: application/json I0909 04:23:05.127105 33390 round_trippers.go:327] Date: Fri, 09 Sep 2016 08:23:05 GMT I0909 04:23:05.127116 33390 round_trippers.go:327] Content-Length: 136 I0909 04:23:05.127237 33390 request.go:901] Response Body: {"kind":"APIVersions","versions":["v1"],"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]} I0909 04:23:05.127893 33390 round_trippers.go:296] GET https://openshift-216.lab.sjc.redhat.com:8443/apis I0909 04:23:05.127908 33390 round_trippers.go:303] Request Headers: I0909 04:23:05.127918 33390 round_trippers.go:306] Accept: application/json, */* I0909 04:23:05.127928 33390 round_trippers.go:306] User-Agent: oc/v1.3.0+52492b4 (linux/amd64) kubernetes/52492b4 I0909 04:23:05.129456 33390 round_trippers.go:321] Response Status: 200 OK in 1 milliseconds I0909 04:23:05.129489 33390 round_trippers.go:324] Response Headers: I0909 04:23:05.129500 33390 round_trippers.go:327] Cache-Control: no-store I0909 04:23:05.129511 33390 round_trippers.go:327] Content-Type: application/json I0909 04:23:05.129522 33390 round_trippers.go:327] Date: Fri, 09 Sep 2016 08:23:05 GMT I0909 04:23:05.129533 33390 round_trippers.go:327] Content-Length: 1382 I0909 04:23:05.129618 33390 request.go:901] Response Body: {"kind":"APIGroupList","groups":[{"name":"apps","versions":[{"groupVersion":"apps/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"apps/v1alpha1","version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]},{"name":"authentication.k8s.io","versions":[{"groupVersion":"authentication.k8s.io/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"authentication.k8s.io/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]},{"name":"autoscaling","versions":[{"groupVersion":"autoscaling/v1","version":"v1"}],"preferredVersion":{"groupVersion":"autoscaling/v1","version":"v1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]},{"name":"batch","versions":[{"groupVersion":"batch/v1","version":"v1"},{"groupVersion":"batch/v2alpha1","version":"v2alpha1"}],"preferredVersion":{"groupVersion":"batch/v1","version":"v1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]},{"name":"extensions","versions":[{"groupVersion":"extensions/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"extensions/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]}]} I0909 04:23:05.132454 33390 round_trippers.go:296] GET https://openshift-216.lab.sjc.redhat.com:8443/api I0909 04:23:05.132476 33390 round_trippers.go:303] Request Headers: I0909 04:23:05.132486 33390 round_trippers.go:306] Accept: application/json, */* I0909 04:23:05.132496 33390 round_trippers.go:306] User-Agent: oc/v1.3.0+52492b4 (linux/amd64) kubernetes/52492b4 I0909 04:23:05.133565 33390 round_trippers.go:321] Response Status: 200 OK in 1 milliseconds I0909 04:23:05.133588 33390 round_trippers.go:324] Response Headers: I0909 04:23:05.133599 33390 round_trippers.go:327] Date: Fri, 09 Sep 2016 08:23:05 GMT I0909 04:23:05.133610 33390 round_trippers.go:327] Content-Length: 136 I0909 04:23:05.133621 33390 round_trippers.go:327] Cache-Control: no-store I0909 04:23:05.133631 33390 round_trippers.go:327] Content-Type: application/json I0909 04:23:05.133716 33390 request.go:901] Response Body: {"kind":"APIVersions","versions":["v1"],"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]} I0909 04:23:05.133992 33390 round_trippers.go:296] GET https://openshift-216.lab.sjc.redhat.com:8443/apis I0909 04:23:05.134006 33390 round_trippers.go:303] Request Headers: I0909 04:23:05.134016 33390 round_trippers.go:306] Accept: application/json, */* I0909 04:23:05.134025 33390 round_trippers.go:306] User-Agent: oc/v1.3.0+52492b4 (linux/amd64) kubernetes/52492b4 I0909 04:23:05.135527 33390 round_trippers.go:321] Response Status: 200 OK in 1 milliseconds I0909 04:23:05.135548 33390 round_trippers.go:324] Response Headers: I0909 04:23:05.135559 33390 round_trippers.go:327] Cache-Control: no-store I0909 04:23:05.135569 33390 round_trippers.go:327] Content-Type: application/json I0909 04:23:05.135580 33390 round_trippers.go:327] Date: Fri, 09 Sep 2016 08:23:05 GMT I0909 04:23:05.135590 33390 round_trippers.go:327] Content-Length: 1382 I0909 04:23:05.135644 33390 request.go:901] Response Body: {"kind":"APIGroupList","groups":[{"name":"apps","versions":[{"groupVersion":"apps/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"apps/v1alpha1","version":"v1alpha1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]},{"name":"authentication.k8s.io","versions":[{"groupVersion":"authentication.k8s.io/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"authentication.k8s.io/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]},{"name":"autoscaling","versions":[{"groupVersion":"autoscaling/v1","version":"v1"}],"preferredVersion":{"groupVersion":"autoscaling/v1","version":"v1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]},{"name":"batch","versions":[{"groupVersion":"batch/v1","version":"v1"},{"groupVersion":"batch/v2alpha1","version":"v2alpha1"}],"preferredVersion":{"groupVersion":"batch/v1","version":"v1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]},{"name":"extensions","versions":[{"groupVersion":"extensions/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"extensions/v1beta1","version":"v1beta1"},"serverAddressByClientCIDRs":[{"clientCIDR":"0.0.0.0/0","serverAddress":"192.168.1.203:8443"}]}]} I0909 04:23:05.138414 33390 round_trippers.go:296] GET https://openshift-216.lab.sjc.redhat.com:8443/api/v1/namespaces/default/pods/docker-registry-2-05o8i I0909 04:23:05.138454 33390 round_trippers.go:303] Request Headers: I0909 04:23:05.138464 33390 round_trippers.go:306] Accept: application/json, */* I0909 04:23:05.138474 33390 round_trippers.go:306] User-Agent: oc/v1.3.0+52492b4 (linux/amd64) kubernetes/52492b4 I0909 04:23:05.142977 33390 round_trippers.go:321] Response Status: 200 OK in 4 milliseconds I0909 04:23:05.143003 33390 round_trippers.go:324] Response Headers: I0909 04:23:05.143014 33390 round_trippers.go:327] Cache-Control: no-store I0909 04:23:05.143024 33390 round_trippers.go:327] Content-Type: application/json I0909 04:23:05.143035 33390 round_trippers.go:327] Date: Fri, 09 Sep 2016 08:23:05 GMT I0909 04:23:05.143192 33390 request.go:901] Response Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"docker-registry-2-05o8i","generateName":"docker-registry-2-","namespace":"default","selfLink":"/api/v1/namespaces/default/pods/docker-registry-2-05o8i","uid":"26e6df3b-759f-11e6-bac7-fa163e6e710b","resourceVersion":"4237","creationTimestamp":"2016-09-08T08:35:09Z","labels":{"deployment":"docker-registry-2","deploymentconfig":"docker-registry","docker-registry":"default"},"annotations":{"kubernetes.io/created-by":"{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"default\",\"name\":\"docker-registry-2\",\"uid\":\"1dc842de-759f-11e6-bac7-fa163e6e710b\",\"apiVersion\":\"v1\",\"resourceVersion\":\"1190\"}}\n","openshift.io/deployment-config.latest-version":"2","openshift.io/deployment-config.name":"docker-registry","openshift.io/deployment.name":"docker-registry-2","openshift.io/scc":"restricted"}},"spec":{"volumes":[{"name":"registry-storage","persistentVolumeClaim":{"claimName":"regpv-claim"}},{"name":"registry-token-fw7du","secret":{"secretName":"registry-token-fw7du"}}],"containers":[{"name":"registry","image":"brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/openshift3/ose-docker-registry:v3.3.0.30","ports":[{"containerPort":5000,"protocol":"TCP"}],"env":[{"name":"REGISTRY_HTTP_ADDR","value":":5000"},{"name":"REGISTRY_HTTP_NET","value":"tcp"},{"name":"REGISTRY_HTTP_SECRET","value":"n4h6fOYlVcTJ0F/YFycuB2vQ5BMF0vBay6CqhPwHlkc="},{"name":"REGISTRY_MIDDLEWARE_REPOSITORY_OPENSHIFT_ENFORCEQUOTA","value":"false"}],"resources":{"requests":{"cpu":"100m","memory":"256Mi"}},"volumeMounts":[{"name":"registry-storage","mountPath":"/registry"},{"name":"registry-token-fw7du","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"livenessProbe":{"httpGet":{"path":"/healthz","port":5000,"scheme":"HTTP"},"initialDelaySeconds":10,"timeoutSeconds":5,"periodSeconds":10,"successThreshold":1,"failureThreshold":3},"readinessProbe":{"httpGet":{"path":"/healthz","port":5000,"scheme":"HTTP"},"timeoutSeconds":5,"periodSeconds":10,"successThreshold":1,"failureThreshold":3},"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"IfNotPresent","securityContext":{"capabilities":{"drop":["KILL","MKNOD","SETGID","SETUID","SYS_CHROOT"]},"privileged":false,"seLinuxOptions":{"level":"s0:c3,c2"},"runAsUser":1000010000}}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","nodeSelector":{"registry":"enabled","role":"node"},"host":"openshift-207.lab.sjc.redhat.com","serviceAccountName":"registry","serviceAccount":"registry","nodeName":"openshift-207.lab.sjc.redhat.com","securityContext":{"seLinuxOptions":{"level":"s0:c3,c2"},"fsGroup":1000010000},"imagePullSecrets":[{"name":"registry-dockercfg-8lxus"}]},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2016-09-08T08:35:09Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2016-09-08T11:05:15Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2016-09-08T08:35:09Z"}],"hostIP":"10.14.6.207","podIP":"10.1.1.4","startTime":"2016-09-08T08:35:09Z","containerStatuses":[{"name":"registry","state":{"running":{"startedAt":"2016-09-08T08:36:35Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/openshift3/ose-docker-registry:v3.3.0.30","imageID":"docker://sha256:0aa89bc8be38152b1b4142fc8a35e6164255c0ef486ff79d6cec56ab5341c79a","containerID":"docker://c89fb7a83101ab7c76843f157c05b12d86c1cba5fdb5e761e12d06eb6279fb35"}]}} I0909 04:23:05.148170 33390 round_trippers.go:296] POST https://openshift-216.lab.sjc.redhat.com:8443/api/v1/namespaces/default/pods/docker-registry-2-05o8i/exec?command=date&command=-u&container=registry&container=registry&stderr=true&stdout=true I0909 04:23:05.148195 33390 round_trippers.go:303] Request Headers: I0909 04:23:05.148205 33390 round_trippers.go:306] X-Stream-Protocol-Version: v3.channel.k8s.io I0909 04:23:05.148215 33390 round_trippers.go:306] X-Stream-Protocol-Version: v2.channel.k8s.io I0909 04:23:05.148225 33390 round_trippers.go:306] X-Stream-Protocol-Version: channel.k8s.io I0909 04:23:05.148243 33390 round_trippers.go:296] POST https://openshift-216.lab.sjc.redhat.com:8443/api/v1/namespaces/default/pods/docker-registry-2-05o8i/exec?command=date&command=-u&container=registry&container=registry&stderr=true&stdout=true I0909 04:23:05.148254 33390 round_trippers.go:303] Request Headers: I0909 04:23:05.148263 33390 round_trippers.go:306] X-Stream-Protocol-Version: v3.channel.k8s.io I0909 04:23:05.148273 33390 round_trippers.go:306] X-Stream-Protocol-Version: v2.channel.k8s.io I0909 04:23:05.148282 33390 round_trippers.go:306] X-Stream-Protocol-Version: channel.k8s.io I0909 04:23:05.148292 33390 round_trippers.go:306] User-Agent: oc/v1.3.0+52492b4 (linux/amd64) kubernetes/52492b4 <---hang here for 40 mins> I0909 05:03:45.075351 33390 round_trippers.go:321] Response Status: 101 Switching Protocols in 2439926 milliseconds I0909 05:03:45.075672 33390 round_trippers.go:324] Response Headers: I0909 05:03:45.075707 33390 round_trippers.go:327] Connection: Upgrade I0909 05:03:45.075724 33390 round_trippers.go:327] Upgrade: SPDY/3.1 I0909 05:03:45.075735 33390 round_trippers.go:327] X-Stream-Protocol-Version: v3.channel.k8s.io I0909 05:03:45.075746 33390 round_trippers.go:327] Date: Fri, 09 Sep 2016 09:56:49 GMT I0909 05:03:45.075788 33390 round_trippers.go:321] Response Status: 101 Switching Protocols in 2439927 milliseconds I0909 05:03:45.075800 33390 round_trippers.go:324] Response Headers: I0909 05:03:45.075811 33390 round_trippers.go:327] Connection: Upgrade I0909 05:03:45.075821 33390 round_trippers.go:327] Upgrade: SPDY/3.1 I0909 05:03:45.075831 33390 round_trippers.go:327] X-Stream-Protocol-Version: v3.channel.k8s.io I0909 05:03:45.075842 33390 round_trippers.go:327] Date: Fri, 09 Sep 2016 09:56:49 GMT Fri Sep 9 09:56:49 UTC 2016 Expected results: No performance degression. Additional info: The same behavior is also seen on 3.1 and 3.2. If replace "oc exec" with "oc logs" in the above test step, no such issue.
No activity in 3 years on a low priority bug.