diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-06-26 22:25:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-26 22:25:34 +0200 |
commit | c06d9898f91fb2dcddff4f9b65df13c2f158cfd0 (patch) | |
tree | 75ff486235bb1a66c6c88aac618c832d6c1b550f | |
parent | 58a1777f518657ff12744bb69ccf2dab3d429625 (diff) | |
parent | bf5686739c5aebe64d8fdac8327cf71105694542 (diff) | |
download | podman-c06d9898f91fb2dcddff4f9b65df13c2f158cfd0.tar.gz podman-c06d9898f91fb2dcddff4f9b65df13c2f158cfd0.tar.bz2 podman-c06d9898f91fb2dcddff4f9b65df13c2f158cfd0.zip |
Merge pull request #3420 from ashley-cui/remoteconf
Fix crash for when remote host IP or Username is not set in conf fileā¦
-rw-r--r-- | cmd/podman/remoteclientconfig/configfile.go | 2 | ||||
-rw-r--r-- | pkg/adapter/client.go | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/cmd/podman/remoteclientconfig/configfile.go b/cmd/podman/remoteclientconfig/configfile.go index aa3e82a31..06e82b186 100644 --- a/cmd/podman/remoteclientconfig/configfile.go +++ b/cmd/podman/remoteclientconfig/configfile.go @@ -22,7 +22,7 @@ func ReadRemoteConfig(reader io.Reader) (*RemoteConfig, error) { // We need to validate each remote connection has fields filled out for name, conn := range remoteConfig.Connections { if len(conn.Destination) < 1 { - return nil, errors.Errorf("connection %s has no destination defined", name) + return nil, errors.Errorf("connection %q has no destination defined", name) } } return &remoteConfig, err diff --git a/pkg/adapter/client.go b/pkg/adapter/client.go index 6feae5400..694d9f961 100644 --- a/pkg/adapter/client.go +++ b/pkg/adapter/client.go @@ -15,8 +15,10 @@ import ( var remoteEndpoint *Endpoint func (r RemoteRuntime) RemoteEndpoint() (remoteEndpoint *Endpoint, err error) { - remoteConfigConnections, _ := remoteclientconfig.ReadRemoteConfig(r.config) - + remoteConfigConnections, err := remoteclientconfig.ReadRemoteConfig(r.config) + if errors.Cause(err) != remoteclientconfig.ErrNoConfigationFile { + return nil, err + } // If the user defines an env variable for podman_varlink_bridge // we use that as passed. if bridge := os.Getenv("PODMAN_VARLINK_BRIDGE"); bridge != "" { @@ -47,6 +49,10 @@ func (r RemoteRuntime) RemoteEndpoint() (remoteEndpoint *Endpoint, err error) { if err != nil { return nil, err } + if len(rc.Username) < 1 { + logrus.Debugf("Connection has no username, using current user %q", r.cmd.RemoteUserName) + rc.Username = r.cmd.RemoteUserName + } remoteEndpoint, err = newBridgeConnection("", rc, r.cmd.LogLevel) // last resort is to make a socket connection with the default varlink address for root user } else { |