Description of problem: oc rsync cannot work on windows with cwrsync installed Version-Release number of selected component (if applicable): openshift v1.0.7-18-gf4f3bcd kubernetes v1.2.0-alpha.1-1107-g4c8e6f4 oc v1.0.7-18-gf4f3bcd How reproducible: always Steps to Reproduce: 1.install free version of cwrsync 2.create a project 3.create a app with pod deployed 4.create some test file and sync file from windows to pod $oc rsync ruby-hello-world-1-f6lkg:/opt/app-root/src c:\tmp\test\ --loglevel=5 Actual results: failed with error log: C:\tmp\test>oc rsync ruby-hello-world-1-f6lkg:/opt/app-root/src c:\tmp\test\ --loglevel=5 I1030 02:54:39.692512 1424 execremote.go:28] Remote executor running command: cat /proc/net/tcp /proc/net/tcp6 I1030 02:54:40.044074 1424 exec.go:180] defaulting container name to ruby-hello-world I1030 02:54:43.997199 1424 copyrsyncd.go:85] Determining port in use from: 0: 00000000:1F90 00000000:0000 0A 00000000:00000000 00:00000000 00000000 1000030000 0 39122 1 ffff8800e1462580 100 0 0 10 0 I1030 02:54:43.998176 1424 copyrsyncd.go:95] Used ports in container: map[int]struct {}{8080:struct {}{}} I1030 02:54:43.998176 1424 copyrsyncd.go:140] Found free container port: 31966 I1030 02:54:43.998176 1424 execremote.go:28] Remote executor running command: sh I1030 02:54:44.314582 1424 exec.go:180] defaulting container name to ruby-hello-world I1030 02:54:48.877082 1424 copyrsyncd.go:110] Found listener port at: [::]:5899 I1030 02:54:50.463020 1424 portforward.go:212] Forwarding from 127.0.0.1:5899 -> 31966 I1030 02:54:50.463020 1424 portforward.go:212] Forwarding from [::1]:5899 -> 31966 I1030 02:54:50.463996 1424 copyrsyncd.go:197] Copying files with rsync daemon I1030 02:54:50.463996 1424 execlocal.go:19] Local executor running command: rsync -a --omit-dir-times --numeric-ids -v rsync://127.0.0.1:5899/root/opt/app-root/src /cygdrive/c/tmp/test/ I1030 02:54:50.512824 1424 execlocal.go:26] Error from local command execution: exit status 10 I1030 02:54:50.512824 1424 execremote.go:28] Remote executor running command: rsync --version I1030 02:54:50.844856 1424 exec.go:180] defaulting container name to ruby-hello-world I1030 02:54:54.838996 1424 util.go:23] rsync version 3.0.9 protocol version 30 Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ Capabilities: 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, append, ACLs, xattrs, iconv, symtimes rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details. I1030 02:54:54.838996 1424 util.go:24] error: <nil> I1030 02:54:54.839973 1424 execremote.go:28] Remote executor running command: sh -c kill $(cat /tmp/tmp.NHDK0Ko96T) I1030 02:54:55.159309 1424 exec.go:180] defaulting container name to ruby-hello-world rsync error: error in socket IO (code 10) at clientserver.c(128) [Receiver=3.1.1] F1030 02:54:59.052863 1424 helpers.go:96] error: exit status 10 Expected results: should sync file success Additional info:
Wang Haoran I'm not able to reproduce this on an AWS windows machine (Windows Server 2012 R2). Can you please include the version of windows you are using? Also does it have a firewall or anti-virus software enabled? Also, please execute the same command above, but before you run it, execute: set DEBUG=1 and also use --loglevel=8 instead of 5.
Cesar Wong, I test it with window 7 , a vm startup by vagrant, virtualbox, vagrant box:config.vm.box = "ferventcoder/win7pro-x64-nocm-lite". as you said 1. I close the firewall of windows 2. set DEBUG=1 3. --loglevel=8 see the log hereunder: C:\tmp\test>oc rsync c:/tmp/test/ ruby-hello-world-1-hocwl:/tmp/test/ --loglevel=8 I1102 02:52:08.232456 1816 debugging.go:99] GET https://ec2-52-23-249-165.compute-1.amazonaws.com:8443/api I1102 02:52:08.233433 1816 debugging.go:106] Request Headers: I1102 02:52:08.233433 1816 debugging.go:109] User-Agent: oc/v1.2.0 (windows/amd64) kubernetes/4c8e6f4 I1102 02:52:08.233433 1816 debugging.go:109] Authorization: Bearer iLkzs_MgLqCLVrhGPlg3gk0cDQfxqyoaLnk8N0yQM-o I1102 02:52:09.257847 1816 debugging.go:124] Response Status: 200 OK in 1024 milliseconds I1102 02:52:09.257847 1816 debugging.go:127] Response Headers: I1102 02:52:09.257847 1816 debugging.go:130] Cache-Control: no-store I1102 02:52:09.257847 1816 debugging.go:130] Content-Type: application/json I1102 02:52:09.257847 1816 debugging.go:130] Date: Mon, 02 Nov 2015 02:52:09 GMT I1102 02:52:09.258823 1816 debugging.go:130] Content-Length: 32 I1102 02:52:09.258823 1816 request.go:777] Response Body: { "versions": [ "v1" ] } I1102 02:52:09.259800 1816 execremote.go:28] Remote executor running command: cat /proc/net/tcp /proc/net/tcp6 I1102 02:52:09.259800 1816 debugging.go:99] GET https://ec2-52-23-249-165.compute-1.amazonaws.com:8443/api/v1/namespaces/haowang/pods/ruby-hello-world-1-hocwl I1102 02:52:09.259800 1816 debugging.go:106] Request Headers: I1102 02:52:09.259800 1816 debugging.go:109] User-Agent: oc/v1.2.0 (windows/amd64) kubernetes/4c8e6f4 I1102 02:52:09.259800 1816 debugging.go:109] Authorization: Bearer iLkzs_MgLqCLVrhGPlg3gk0cDQfxqyoaLnk8N0yQM-o I1102 02:52:09.544956 1816 debugging.go:124] Response Status: 200 OK in 285 milliseconds I1102 02:52:09.544956 1816 debugging.go:127] Response Headers: I1102 02:52:09.544956 1816 debugging.go:130] Cache-Control: no-store I1102 02:52:09.544956 1816 debugging.go:130] Content-Type: application/json I1102 02:52:09.544956 1816 debugging.go:130] Date: Mon, 02 Nov 2015 02:52:09 GMT I1102 02:52:09.545933 1816 request.go:777] Response Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"ruby-hello-world-1-hocwl","generateName":"ruby-hello-world-1-","namespace":"haowang","selfLink":"/ api/v1/namespaces/haowang/pods/ruby-hello-world-1-hocwl","uid":"2e45af0c-810b-11e5-917d-0ecc20818a1d","resourceVersion":"404","creationTimestamp":"2015-11-02T02:41:12Z","labels":{"app":"ruby-hello-world","deploy ment":"ruby-hello-world-1","deploymentconfig":"ruby-hello-world"},"annotations":{"kubernetes.io/created-by":"{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationControlle r\",\"namespace\":\"haowang\",\"name\":\"ruby-hello-world-1\",\"uid\":\"2cf25ef4-810b-11e5-917d-0ecc20818a1d\",\"apiVersion\":\"v1\",\"resourceVersion\":\"389\"}}\n","openshift.io/deployment-config.latest-versio n":"1","openshift.io/deployment-config.name":"ruby-hello-world","openshift.io/deployment.name":"ruby-hello-world-1","openshift.io/generated-by":"OpenShiftNewApp","openshift.io/scc":"restricted"}},"spec":{"volume s":[{"name":"default-token-z6xbb","secret":{"secretName":"default-token-z6xbb"}}],"containers":[{"name":"ruby-hello-world","image":"172.30.40.209:5000/haowang/ruby-hello-world@sha256:b30ecc09aecdce2c7c57011e303b c563e1a073afba7f60ce0b6eda53b42a2abb","ports":[{"containerPort":8080,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"default-token-z6xbb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/se rviceaccount"}],"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"Always","securityContext":{"privileged":false,"seLinuxOptions":{"level":"s0:c6,c0"},"runAsUser":1000030000}}],"restartPolicy":"A lways","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","host":"ip-172-18-4-56.ec2.internal","serviceAccountName":"default","serviceAccount":"default","nodeName":"ip-172-18-4-56.ec2.internal","secur ityContext":{"seLinuxOptions":{"level":"s0:c6,c0"},"supplementalGroups":[1000030000],"fsGroup":1000030000},"imagePullSecrets":[{"name":"default-dockercfg-0z6qu"}]},"status":{"phase":"Running","conditions":[{"typ e":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2015-11-02T02:41:13Z"}],"hostIP":"172.18.4.56","podIP":"172.17.0.5","startTime":"2015-11-02T02:41:12Z","containerStatuses":[{"name":"ruby-hel lo-world","state":{"running":{"startedAt":"2015-11-02T02:41:13Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"172.30.40.209:5000/haowang/ruby-hello-world@sha256:b30ecc09aecdce2c7c57011e303bc563e1a073a fba7f60ce0b6eda53b42a2abb","imageID":"docker://a0b9424b739edc61eafb432e0f1807a9af60fb718c62baed07958d9ddaa50427","containerID":"docker://e4980907352ab699c17ce4f94384a47fcec87d94a1bf87861b187c413f89b1b9"}]}} I1102 02:52:09.548863 1816 exec.go:180] defaulting container name to ruby-hello-world 2015-11-02 02:52:10.753941 I | (0xc08205b600) (0xc08225b7c0) Create stream 2015-11-02 02:52:10.754917 I | (0xc08205b600) (0xc08225b7c0) Stream added, broadcasting: 1 2015-11-02 02:52:11.071323 I | (0xc08205b600) Reply frame received for 1 2015-11-02 02:52:11.072300 I | (0xc08205b600) (0xc0820ecaa0) Create stream 2015-11-02 02:52:11.072300 I | (0xc08205b600) (0xc0820ecaa0) Stream added, broadcasting: 3 2015-11-02 02:52:11.333042 I | (0xc08205b600) Reply frame received for 3 2015-11-02 02:52:11.334019 I | (0xc08205b600) (0xc0820ede00) Create stream 2015-11-02 02:52:11.334019 I | (0xc08205b600) (0xc0820ede00) Stream added, broadcasting: 5 2015-11-02 02:52:11.594761 I | (0xc08205b600) Reply frame received for 5 2015-11-02 02:52:11.649448 I | (0xc08205b600) Data frame received for 3 2015-11-02 02:52:11.649448 I | (0xc0820ecaa0) (3) Data frame handling 2015-11-02 02:52:11.649448 I | (0xc0820ecaa0) (3) Data frame sent 2015-11-02 02:52:11.853550 I | (0xc08205b600) Data frame received for 3 2015-11-02 02:52:11.853550 I | (0xc0820ecaa0) (3) Data frame handling 2015-11-02 02:52:11.854527 I | (0xc0820ecaa0) (3) Data frame sent 2015-11-02 02:52:11.854527 I | (0xc08205b600) Data frame received for 1 2015-11-02 02:52:11.854527 I | (0xc08225b7c0) (1) Data frame handling 2015-11-02 02:52:11.855503 I | (0xc08205b600) Data frame received for 3 2015-11-02 02:52:11.855503 I | (0xc0820ecaa0) (3) Data frame handling 2015-11-02 02:52:11.855503 I | (0xc08205b600) Data frame received for 5 2015-11-02 02:52:11.855503 I | (0xc0820ede00) (5) Data frame handling 2015-11-02 02:52:11.855503 I | (0xc08205b600) Go away received 2015-11-02 02:52:11.855503 I | (0xc08205b600) (0xc08225b7c0) Stream removed, broadcasting: 1 2015-11-02 02:52:11.855503 I | (0xc08225b7c0) (1) Writing data frame 2015-11-02 02:52:11.855503 I | (0xc08205b600) (0xc0820ecaa0) Stream removed, broadcasting: 3 2015-11-02 02:52:11.855503 I | (0xc0820ecaa0) (3) Writing data frame 2015-11-02 02:52:11.856480 I | (0xc08205b600) (0xc0820ede00) Stream removed, broadcasting: 5 2015-11-02 02:52:11.856480 I | (0xc0820ede00) (5) Writing data frame I1102 02:52:11.856480 1816 copyrsyncd.go:85] Determining port in use from: 0: 00000000:1F90 00000000:0000 0A 00000000:00000000 00:00000000 00000000 1000030000 0 36103 1 ffff8800e2ae0780 100 0 0 10 0 I1102 02:52:11.856480 1816 copyrsyncd.go:95] Used ports in container: map[int]struct {}{8080:struct {}{}} I1102 02:52:11.856480 1816 copyrsyncd.go:140] Found free container port: 46620 I1102 02:52:11.856480 1816 execremote.go:28] Remote executor running command: sh I1102 02:52:11.856480 1816 debugging.go:99] GET https://ec2-52-23-249-165.compute-1.amazonaws.com:8443/api/v1/namespaces/haowang/pods/ruby-hello-world-1-hocwl I1102 02:52:11.856480 1816 debugging.go:106] Request Headers: I1102 02:52:11.856480 1816 debugging.go:109] User-Agent: oc/v1.2.0 (windows/amd64) kubernetes/4c8e6f4 I1102 02:52:11.856480 1816 debugging.go:109] Authorization: Bearer iLkzs_MgLqCLVrhGPlg3gk0cDQfxqyoaLnk8N0yQM-o 2015-11-02 02:52:11.857456 I | (0xc08205b600) Go away received I1102 02:52:12.114292 1816 debugging.go:124] Response Status: 200 OK in 256 milliseconds I1102 02:52:12.114292 1816 debugging.go:127] Response Headers: I1102 02:52:12.115269 1816 debugging.go:130] Date: Mon, 02 Nov 2015 02:52:12 GMT I1102 02:52:12.115269 1816 debugging.go:130] Cache-Control: no-store I1102 02:52:12.115269 1816 debugging.go:130] Content-Type: application/json I1102 02:52:12.115269 1816 request.go:777] Response Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"ruby-hello-world-1-hocwl","generateName":"ruby-hello-world-1-","namespace":"haowang","selfLink":"/ api/v1/namespaces/haowang/pods/ruby-hello-world-1-hocwl","uid":"2e45af0c-810b-11e5-917d-0ecc20818a1d","resourceVersion":"404","creationTimestamp":"2015-11-02T02:41:12Z","labels":{"app":"ruby-hello-world","deploy ment":"ruby-hello-world-1","deploymentconfig":"ruby-hello-world"},"annotations":{"kubernetes.io/created-by":"{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationControlle r\",\"namespace\":\"haowang\",\"name\":\"ruby-hello-world-1\",\"uid\":\"2cf25ef4-810b-11e5-917d-0ecc20818a1d\",\"apiVersion\":\"v1\",\"resourceVersion\":\"389\"}}\n","openshift.io/deployment-config.latest-versio n":"1","openshift.io/deployment-config.name":"ruby-hello-world","openshift.io/deployment.name":"ruby-hello-world-1","openshift.io/generated-by":"OpenShiftNewApp","openshift.io/scc":"restricted"}},"spec":{"volume s":[{"name":"default-token-z6xbb","secret":{"secretName":"default-token-z6xbb"}}],"containers":[{"name":"ruby-hello-world","image":"172.30.40.209:5000/haowang/ruby-hello-world@sha256:b30ecc09aecdce2c7c57011e303b c563e1a073afba7f60ce0b6eda53b42a2abb","ports":[{"containerPort":8080,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"default-token-z6xbb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/se rviceaccount"}],"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"Always","securityContext":{"privileged":false,"seLinuxOptions":{"level":"s0:c6,c0"},"runAsUser":1000030000}}],"restartPolicy":"A lways","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","host":"ip-172-18-4-56.ec2.internal","serviceAccountName":"default","serviceAccount":"default","nodeName":"ip-172-18-4-56.ec2.internal","secur ityContext":{"seLinuxOptions":{"level":"s0:c6,c0"},"supplementalGroups":[1000030000],"fsGroup":1000030000},"imagePullSecrets":[{"name":"default-dockercfg-0z6qu"}]},"status":{"phase":"Running","conditions":[{"typ e":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2015-11-02T02:41:13Z"}],"hostIP":"172.18.4.56","podIP":"172.17.0.5","startTime":"2015-11-02T02:41:12Z","containerStatuses":[{"name":"ruby-hel lo-world","state":{"running":{"startedAt":"2015-11-02T02:41:13Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"172.30.40.209:5000/haowang/ruby-hello-world@sha256:b30ecc09aecdce2c7c57011e303bc563e1a073a fba7f60ce0b6eda53b42a2abb","imageID":"docker://a0b9424b739edc61eafb432e0f1807a9af60fb718c62baed07958d9ddaa50427","containerID":"docker://e4980907352ab699c17ce4f94384a47fcec87d94a1bf87861b187c413f89b1b9"}]}} I1102 02:52:12.117222 1816 exec.go:180] defaulting container name to ruby-hello-world 2015-11-02 02:52:13.258823 I | (0xc0820b5ad0) (0xc0820534a0) Create stream 2015-11-02 02:52:13.258823 I | (0xc0820b5ad0) (0xc0820534a0) Stream added, broadcasting: 1 2015-11-02 02:52:13.530308 I | (0xc0820b5ad0) Reply frame received for 1 2015-11-02 02:52:13.530308 I | (0xc0820b5ad0) (0xc08225a140) Create stream 2015-11-02 02:52:13.531284 I | (0xc0820b5ad0) (0xc08225a140) Stream added, broadcasting: 3 2015-11-02 02:52:13.799839 I | (0xc0820b5ad0) Reply frame received for 3 2015-11-02 02:52:13.799839 I | (0xc0820b5ad0) (0xc08225a3c0) Create stream 2015-11-02 02:52:13.799839 I | (0xc0820b5ad0) (0xc08225a3c0) Stream added, broadcasting: 5 2015-11-02 02:52:13.801792 I | (0xc08225a140) (3) Writing data frame 2015-11-02 02:52:13.801792 I | (0xc08225a140) (3) Writing data frame 2015-11-02 02:52:14.069370 I | (0xc0820b5ad0) Reply frame received for 5 2015-11-02 02:52:14.069370 I | (0xc0820b5ad0) (0xc08225a640) Create stream 2015-11-02 02:52:14.069370 I | (0xc0820b5ad0) (0xc08225a640) Stream added, broadcasting: 7 2015-11-02 02:52:14.337925 I | (0xc0820b5ad0) Reply frame received for 7 2015-11-02 02:52:14.399448 I | (0xc0820b5ad0) Data frame received for 5 2015-11-02 02:52:14.399448 I | (0xc08225a3c0) (5) Data frame handling 2015-11-02 02:52:14.399448 I | (0xc08225a3c0) (5) Data frame sent 2015-11-02 02:52:14.400425 I | (0xc0820b5ad0) Data frame received for 3 2015-11-02 02:52:14.400425 I | (0xc08225a140) (3) Data frame handling 2015-11-02 02:52:14.400425 I | (0xc0820b5ad0) (0xc08225a140) Stream removed, broadcasting: 3 2015-11-02 02:52:14.606480 I | (0xc0820b5ad0) Data frame received for 1 2015-11-02 02:52:14.606480 I | (0xc0820534a0) (1) Data frame handling 2015-11-02 02:52:14.606480 I | (0xc0820b5ad0) Data frame received for 5 2015-11-02 02:52:14.606480 I | (0xc08225a3c0) (5) Data frame handling 2015-11-02 02:52:14.607456 I | (0xc0820b5ad0) Data frame received for 7 2015-11-02 02:52:14.607456 I | (0xc08225a640) (7) Data frame handling 2015-11-02 02:52:14.607456 I | (0xc0820b5ad0) (0xc0820534a0) Stream removed, broadcasting: 1 2015-11-02 02:52:14.607456 I | (0xc0820534a0) (1) Writing data frame 2015-11-02 02:52:14.607456 I | (0xc0820b5ad0) (0xc08225a140) Stream removed, broadcasting: 3 2015-11-02 02:52:14.607456 I | (0xc0820b5ad0) (0xc08225a3c0) Stream removed, broadcasting: 5 2015-11-02 02:52:14.608433 I | (0xc08225a3c0) (5) Writing data frame 2015-11-02 02:52:14.608433 I | (0xc0820b5ad0) (0xc08225a640) Stream removed, broadcasting: 7 2015-11-02 02:52:14.608433 I | (0xc08225a640) (7) Writing data frame I1102 02:52:14.609409 1816 copyrsyncd.go:110] Found listener port at: [::]:4089 I1102 02:52:15.689488 1816 portforward.go:212] Forwarding from 127.0.0.1:4089 -> 46620 I1102 02:52:15.691441 1816 portforward.go:212] Forwarding from [::1]:4089 -> 46620 I1102 02:52:15.691441 1816 copyrsyncd.go:197] Copying files with rsync daemon I1102 02:52:15.691441 1816 execlocal.go:19] Local executor running command: rsync -a --omit-dir-times --numeric-ids -v /cygdrive/c/tmp/test/ rsync://127.0.0.1:4089/root/tmp/test/ I1102 02:52:15.739292 1816 execlocal.go:26] Error from local command execution: exit status 10 I1102 02:52:15.739292 1816 execremote.go:28] Remote executor running command: rsync --version I1102 02:52:15.739292 1816 debugging.go:99] GET https://ec2-52-23-249-165.compute-1.amazonaws.com:8443/api/v1/namespaces/haowang/pods/ruby-hello-world-1-hocwl I1102 02:52:15.739292 1816 debugging.go:106] Request Headers: I1102 02:52:15.739292 1816 debugging.go:109] Authorization: Bearer iLkzs_MgLqCLVrhGPlg3gk0cDQfxqyoaLnk8N0yQM-o I1102 02:52:15.739292 1816 debugging.go:109] User-Agent: oc/v1.2.0 (windows/amd64) kubernetes/4c8e6f4 I1102 02:52:16.000034 1816 debugging.go:124] Response Status: 200 OK in 260 milliseconds I1102 02:52:16.000034 1816 debugging.go:127] Response Headers: I1102 02:52:16.000034 1816 debugging.go:130] Cache-Control: no-store I1102 02:52:16.000034 1816 debugging.go:130] Content-Type: application/json I1102 02:52:16.000034 1816 debugging.go:130] Date: Mon, 02 Nov 2015 02:52:15 GMT I1102 02:52:16.001011 1816 request.go:777] Response Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"ruby-hello-world-1-hocwl","generateName":"ruby-hello-world-1-","namespace":"haowang","selfLink":"/ api/v1/namespaces/haowang/pods/ruby-hello-world-1-hocwl","uid":"2e45af0c-810b-11e5-917d-0ecc20818a1d","resourceVersion":"404","creationTimestamp":"2015-11-02T02:41:12Z","labels":{"app":"ruby-hello-world","deploy ment":"ruby-hello-world-1","deploymentconfig":"ruby-hello-world"},"annotations":{"kubernetes.io/created-by":"{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationControlle r\",\"namespace\":\"haowang\",\"name\":\"ruby-hello-world-1\",\"uid\":\"2cf25ef4-810b-11e5-917d-0ecc20818a1d\",\"apiVersion\":\"v1\",\"resourceVersion\":\"389\"}}\n","openshift.io/deployment-config.latest-versio n":"1","openshift.io/deployment-config.name":"ruby-hello-world","openshift.io/deployment.name":"ruby-hello-world-1","openshift.io/generated-by":"OpenShiftNewApp","openshift.io/scc":"restricted"}},"spec":{"volume s":[{"name":"default-token-z6xbb","secret":{"secretName":"default-token-z6xbb"}}],"containers":[{"name":"ruby-hello-world","image":"172.30.40.209:5000/haowang/ruby-hello-world@sha256:b30ecc09aecdce2c7c57011e303b c563e1a073afba7f60ce0b6eda53b42a2abb","ports":[{"containerPort":8080,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"default-token-z6xbb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/se rviceaccount"}],"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"Always","securityContext":{"privileged":false,"seLinuxOptions":{"level":"s0:c6,c0"},"runAsUser":1000030000}}],"restartPolicy":"A lways","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","host":"ip-172-18-4-56.ec2.internal","serviceAccountName":"default","serviceAccount":"default","nodeName":"ip-172-18-4-56.ec2.internal","secur ityContext":{"seLinuxOptions":{"level":"s0:c6,c0"},"supplementalGroups":[1000030000],"fsGroup":1000030000},"imagePullSecrets":[{"name":"default-dockercfg-0z6qu"}]},"status":{"phase":"Running","conditions":[{"typ e":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2015-11-02T02:41:13Z"}],"hostIP":"172.18.4.56","podIP":"172.17.0.5","startTime":"2015-11-02T02:41:12Z","containerStatuses":[{"name":"ruby-hel lo-world","state":{"running":{"startedAt":"2015-11-02T02:41:13Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"172.30.40.209:5000/haowang/ruby-hello-world@sha256:b30ecc09aecdce2c7c57011e303bc563e1a073a fba7f60ce0b6eda53b42a2abb","imageID":"docker://a0b9424b739edc61eafb432e0f1807a9af60fb718c62baed07958d9ddaa50427","containerID":"docker://e4980907352ab699c17ce4f94384a47fcec87d94a1bf87861b187c413f89b1b9"}]}} I1102 02:52:16.002964 1816 exec.go:180] defaulting container name to ruby-hello-world 2015-11-02 02:52:17.079136 I | (0xc08225e000) (0xc08225b0e0) Create stream 2015-11-02 02:52:17.079136 I | (0xc08225e000) (0xc08225b0e0) Stream added, broadcasting: 1 2015-11-02 02:52:17.335972 I | (0xc08225e000) Reply frame received for 1 2015-11-02 02:52:17.336948 I | (0xc08225e000) (0xc08225a320) Create stream 2015-11-02 02:52:17.336948 I | (0xc08225e000) (0xc08225a320) Stream added, broadcasting: 3 2015-11-02 02:52:17.592808 I | (0xc08225e000) Reply frame received for 3 2015-11-02 02:52:17.592808 I | (0xc08225e000) (0xc08225a5a0) Create stream 2015-11-02 02:52:17.593784 I | (0xc08225e000) (0xc08225a5a0) Stream added, broadcasting: 5 2015-11-02 02:52:17.845738 I | (0xc08225e000) Reply frame received for 5 2015-11-02 02:52:17.893589 I | (0xc08225e000) Data frame received for 3 2015-11-02 02:52:17.893589 I | (0xc08225a320) (3) Data frame handling 2015-11-02 02:52:17.893589 I | (0xc08225a320) (3) Data frame sent 2015-11-02 02:52:18.100620 I | (0xc08225e000) Data frame received for 3 2015-11-02 02:52:18.101597 I | (0xc08225a320) (3) Data frame handling 2015-11-02 02:52:18.101597 I | (0xc08225a320) (3) Data frame sent 2015-11-02 02:52:18.101597 I | (0xc08225e000) Data frame received for 1 2015-11-02 02:52:18.101597 I | (0xc08225b0e0) (1) Data frame handling 2015-11-02 02:52:18.101597 I | (0xc08225e000) Data frame received for 3 2015-11-02 02:52:18.101597 I | (0xc08225a320) (3) Data frame handling 2015-11-02 02:52:18.160191 I | (0xc08225e000) Data frame received for 5 2015-11-02 02:52:18.160191 I | (0xc08225a5a0) (5) Data frame handling 2015-11-02 02:52:18.160191 I | (0xc08225e000) Go away received 2015-11-02 02:52:18.160191 I | (0xc08225e000) (0xc08225b0e0) Stream removed, broadcasting: 1 2015-11-02 02:52:18.160191 I | (0xc08225b0e0) (1) Writing data frame 2015-11-02 02:52:18.161167 I | (0xc08225e000) (0xc08225a320) Stream removed, broadcasting: 3 2015-11-02 02:52:18.161167 I | (0xc08225a320) (3) Writing data frame 2015-11-02 02:52:18.161167 I | (0xc08225e000) (0xc08225a5a0) Stream removed, broadcasting: 5 2015-11-02 02:52:18.161167 I | (0xc08225a5a0) (5) Writing data frame I1102 02:52:18.162144 1816 util.go:23] rsync version 3.0.9 protocol version 30 Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ Capabilities: 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, append, ACLs, xattrs, iconv, symtimes rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details. I1102 02:52:18.162144 1816 util.go:24] error: <nil> I1102 02:52:18.162144 1816 execremote.go:28] Remote executor running command: sh -c kill $(cat /tmp/tmp.mrpSDHfo3I) I1102 02:52:18.163120 1816 debugging.go:99] GET https://ec2-52-23-249-165.compute-1.amazonaws.com:8443/api/v1/namespaces/haowang/pods/ruby-hello-world-1-hocwl I1102 02:52:18.163120 1816 debugging.go:106] Request Headers: I1102 02:52:18.163120 1816 debugging.go:109] User-Agent: oc/v1.2.0 (windows/amd64) kubernetes/4c8e6f4 I1102 02:52:18.163120 1816 debugging.go:109] Authorization: Bearer iLkzs_MgLqCLVrhGPlg3gk0cDQfxqyoaLnk8N0yQM-o 2015-11-02 02:52:18.165073 I | (0xc08225e000) Go away received I1102 02:52:18.413120 1816 debugging.go:124] Response Status: 200 OK in 250 milliseconds I1102 02:52:18.414097 1816 debugging.go:127] Response Headers: I1102 02:52:18.414097 1816 debugging.go:130] Cache-Control: no-store I1102 02:52:18.414097 1816 debugging.go:130] Content-Type: application/json I1102 02:52:18.414097 1816 debugging.go:130] Date: Mon, 02 Nov 2015 02:52:18 GMT I1102 02:52:18.414097 1816 request.go:777] Response Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"ruby-hello-world-1-hocwl","generateName":"ruby-hello-world-1-","namespace":"haowang","selfLink":"/ api/v1/namespaces/haowang/pods/ruby-hello-world-1-hocwl","uid":"2e45af0c-810b-11e5-917d-0ecc20818a1d","resourceVersion":"404","creationTimestamp":"2015-11-02T02:41:12Z","labels":{"app":"ruby-hello-world","deploy ment":"ruby-hello-world-1","deploymentconfig":"ruby-hello-world"},"annotations":{"kubernetes.io/created-by":"{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationControlle r\",\"namespace\":\"haowang\",\"name\":\"ruby-hello-world-1\",\"uid\":\"2cf25ef4-810b-11e5-917d-0ecc20818a1d\",\"apiVersion\":\"v1\",\"resourceVersion\":\"389\"}}\n","openshift.io/deployment-config.latest-versio n":"1","openshift.io/deployment-config.name":"ruby-hello-world","openshift.io/deployment.name":"ruby-hello-world-1","openshift.io/generated-by":"OpenShiftNewApp","openshift.io/scc":"restricted"}},"spec":{"volume s":[{"name":"default-token-z6xbb","secret":{"secretName":"default-token-z6xbb"}}],"containers":[{"name":"ruby-hello-world","image":"172.30.40.209:5000/haowang/ruby-hello-world@sha256:b30ecc09aecdce2c7c57011e303b c563e1a073afba7f60ce0b6eda53b42a2abb","ports":[{"containerPort":8080,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"default-token-z6xbb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/se rviceaccount"}],"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"Always","securityContext":{"privileged":false,"seLinuxOptions":{"level":"s0:c6,c0"},"runAsUser":1000030000}}],"restartPolicy":"A lways","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","host":"ip-172-18-4-56.ec2.internal","serviceAccountName":"default","serviceAccount":"default","nodeName":"ip-172-18-4-56.ec2.internal","secur ityContext":{"seLinuxOptions":{"level":"s0:c6,c0"},"supplementalGroups":[1000030000],"fsGroup":1000030000},"imagePullSecrets":[{"name":"default-dockercfg-0z6qu"}]},"status":{"phase":"Running","conditions":[{"typ e":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2015-11-02T02:41:13Z"}],"hostIP":"172.18.4.56","podIP":"172.17.0.5","startTime":"2015-11-02T02:41:12Z","containerStatuses":[{"name":"ruby-hel lo-world","state":{"running":{"startedAt":"2015-11-02T02:41:13Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"172.30.40.209:5000/haowang/ruby-hello-world@sha256:b30ecc09aecdce2c7c57011e303bc563e1a073a fba7f60ce0b6eda53b42a2abb","imageID":"docker://a0b9424b739edc61eafb432e0f1807a9af60fb718c62baed07958d9ddaa50427","containerID":"docker://e4980907352ab699c17ce4f94384a47fcec87d94a1bf87861b187c413f89b1b9"}]}} I1102 02:52:18.417027 1816 exec.go:180] defaulting container name to ruby-hello-world 2015-11-02 02:52:19.437534 I | (0xc0820b5970) (0xc08225adc0) Create stream 2015-11-02 02:52:19.437534 I | (0xc0820b5970) (0xc08225adc0) Stream added, broadcasting: 1 2015-11-02 02:52:19.683628 I | (0xc0820b5970) Reply frame received for 1 2015-11-02 02:52:19.683628 I | (0xc0820b5970) (0xc08225b680) Create stream 2015-11-02 02:52:19.683628 I | (0xc0820b5970) (0xc08225b680) Stream added, broadcasting: 3 2015-11-02 02:52:19.927769 I | (0xc0820b5970) Reply frame received for 3 2015-11-02 02:52:19.928745 I | (0xc0820b5970) (0xc08225b360) Create stream 2015-11-02 02:52:19.928745 I | (0xc0820b5970) (0xc08225b360) Stream added, broadcasting: 5 2015-11-02 02:52:20.172886 I | (0xc0820b5970) Reply frame received for 5 2015-11-02 02:52:20.239292 I | (0xc0820b5970) Data frame received for 1 2015-11-02 02:52:20.239292 I | (0xc08225adc0) (1) Data frame handling 2015-11-02 02:52:20.239292 I | (0xc0820b5970) Data frame received for 3 2015-11-02 02:52:20.239292 I | (0xc08225b680) (3) Data frame handling 2015-11-02 02:52:20.416050 I | (0xc0820b5970) Data frame received for 5 2015-11-02 02:52:20.416050 I | (0xc08225b360) (5) Data frame handling 2015-11-02 02:52:20.416050 I | (0xc0820b5970) Go away received 2015-11-02 02:52:20.416050 I | (0xc0820b5970) (0xc08225adc0) Stream removed, broadcasting: 1 2015-11-02 02:52:20.416050 I | (0xc08225adc0) (1) Writing data frame 2015-11-02 02:52:20.417027 I | (0xc0820b5970) (0xc08225b680) Stream removed, broadcasting: 3 2015-11-02 02:52:20.417027 I | (0xc08225b680) (3) Writing data frame 2015-11-02 02:52:20.417027 I | (0xc0820b5970) (0xc08225b360) Stream removed, broadcasting: 5 2015-11-02 02:52:20.417027 I | (0xc08225b360) (5) Writing data frame rsync error: error in socket IO (code 10) at clientserver.c(128) [sender=3.1.1] F1102 02:52:20.418003 1816 helpers.go:96] error: exit status 10
I used Vagrant to bring up the same box (ferventcoder/win7pro-x64-nocm-lite). However, I can still use 'oc rsync' to copy successfully between the container and the Windows machine. From the log above, it seems that there's an issue with the port-forward opening a local port to use for rsync. I will ping you later today (your timezone) to see if we can figure out what's different.
Can you test whether you can port-forward a pod port to the local windows machine? oc port-forward ruby-hello-world-1-f6lkg 8080:8080 and then hit http://localhost:8080 in the browser?
As we test again , when run the oc rsync command inside the vm of windows using cmd, it works fine.but when we ssh to the windows vm remotely , the oc rsync will got the err as the bug description . thanks Cesar Wong for the debug.
I have tested with both the windows console and in a cygwin shell, and the command works as expected. It's only when accessing the windows box through the Bitvise SSH server that I can reproduce this error. Given this, and the risk of a potential fix, I am lowering the severity for it. We can document the workaround to simply fall back to tar --strategy=tar, and fix it in an upcoming release.
Further investigation revealed that this is a bug with Bitvise SSH v5.x. If you upgrade to 6.43 (latest version), the 'oc rsync' command works as expected. A different ssh server like FreeSSHd works as well. For future reference... the problem was occurring when our oc client was launching rsync. The spawned rsync was not able to access the open network port for the rsync daemon. However, if it was executed standalone, rsync was able to copy files.
I updated the Bitvise SSH server to 6.43 , it works fine now.