summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-06-26 22:25:34 +0200
committerGitHub <noreply@github.com>2019-06-26 22:25:34 +0200
commitc06d9898f91fb2dcddff4f9b65df13c2f158cfd0 (patch)
tree75ff486235bb1a66c6c88aac618c832d6c1b550f
parent58a1777f518657ff12744bb69ccf2dab3d429625 (diff)
parentbf5686739c5aebe64d8fdac8327cf71105694542 (diff)
downloadpodman-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.go2
-rw-r--r--pkg/adapter/client.go10
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 {