Skip to content

Commit

Permalink
rsync: output warnings to stdout instead of using glog
Browse files Browse the repository at this point in the history
  • Loading branch information
csrwng committed Nov 2, 2015
1 parent 6a39cb5 commit eb4cd71
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 13 deletions.
2 changes: 1 addition & 1 deletion docs/generated/oc_by_example_content.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -776,7 +776,7 @@ Copy files between local filesystem and a pod
# Synchronize a local directory with a pod directory
$ openshift cli rsync ./local/dir/ POD:/remote/dir
# Synchronize a pod directory with a local directory
$ openshift cli rsync POD:/remote/dir/ ./local/dir
----
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/cli/cmd/rsync/copymulti.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func (ss copyStrategies) Copy(source, destination *pathSpec, out, errOut io.Writ
err = s.Copy(source, destination, out, errBuf)
if _, isSetupError := err.(strategySetupError); isSetupError {
glog.V(4).Infof("Error output:\n%s", errBuf.String())
glog.Warningf("Cannot use %s: %v", s.String(), err.Error())
fmt.Fprintf(out, "WARNING: cannot use %s: %v", s.String(), err.Error())
continue
}
io.Copy(errOut, errBuf)
Expand Down
21 changes: 10 additions & 11 deletions pkg/cmd/cli/cmd/rsync/rsync.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"fmt"
"io"

"github.com/golang/glog"
"github.com/spf13/cobra"
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"

Expand All @@ -21,22 +20,22 @@ Copy local files to or from a pod container
This command will copy local files to or from a remote container.
It only copies the changed files using the rsync command from your OS.
To ensure optimum performance, install rsync locally. In UNIX systems,
use your package manager. In Windows, install cwRsync from
To ensure optimum performance, install rsync locally. In UNIX systems,
use your package manager. In Windows, install cwRsync from
https://www.itefix.net/cwrsync.
If no container is specified, the first container of the pod is used
If no container is specified, the first container of the pod is used
for the copy.`

rsyncExample = `
# Synchronize a local directory with a pod directory
$ %[1]s ./local/dir/ POD:/remote/dir
# Synchronize a pod directory with a local directory
$ %[1]s POD:/remote/dir/ ./local/dir`

noRsyncUnixWarning = "rsync command not found in path. Please use your package manager to install it."
noRsyncWindowsWarning = "rsync command not found in path. Download cwRsync for Windows and add it to your PATH."
noRsyncUnixWarning = "WARNING: rsync command not found in path. Please use your package manager to install it."
noRsyncWindowsWarning = "WARNING: rsync command not found in path. Download cwRsync for Windows and add it to your PATH."
)

// copyStrategy
Expand Down Expand Up @@ -98,12 +97,12 @@ func NewCmdRsync(name, parent string, f *clientcmd.Factory, out, errOut io.Write
return cmd
}

func warnNoRsync() {
func warnNoRsync(out io.Writer) {
if isWindows() {
glog.Warningf(noRsyncWindowsWarning)
fmt.Fprintf(out, noRsyncWindowsWarning)
return
}
glog.Warningf(noRsyncUnixWarning)
fmt.Fprintf(out, noRsyncUnixWarning)
}

func (o *RsyncOptions) determineStrategy(f *clientcmd.Factory, cmd *cobra.Command, name string) (copyStrategy, error) {
Expand All @@ -126,7 +125,7 @@ func (o *RsyncOptions) determineStrategy(f *clientcmd.Factory, cmd *cobra.Comman
strategies = append(strategies, strategy)
}
} else {
warnNoRsync()
warnNoRsync(o.Out)
}
strategy, err := newTarStrategy(f, cmd, o)
if err != nil {
Expand Down

0 comments on commit eb4cd71

Please sign in to comment.