Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rsync: output warnings to stdout instead of using glog #5531

Merged
merged 2 commits into from
Nov 3, 2015
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be to stderr - is that the case?

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)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stderr

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