summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Chen <dave.jungler@gmail.com>2020-01-17 18:20:26 +0800
committerDave Chen <dave.jungler@gmail.com>2020-01-17 18:20:26 +0800
commit3195a513e19c95ac5dc90ac8312fea0b3e8ce67a (patch)
tree10bc09bdf9df99c3e2c4835e4db320277a7073e8
parentMerge pull request #1411 from zhuguihua/remove_useless_errs_variable (diff)
downloadkubeedge-3195a513e19c95ac5dc90ac8312fea0b3e8ce67a.tar.gz
Create socket address directory if not exist
Hit below issue if the directory does not exist `failed to listen addr: listen unix //var/lib/kubeedge/kubeedge.sock: bind: no such file or directory` Signed-off-by: Dave Chen <dave.chen@arm.com>
-rw-r--r--cloud/pkg/cloudhub/servers/udsserver/uds.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/cloud/pkg/cloudhub/servers/udsserver/uds.go b/cloud/pkg/cloudhub/servers/udsserver/uds.go
index 3edc423c9..385d76d10 100644
--- a/cloud/pkg/cloudhub/servers/udsserver/uds.go
+++ b/cloud/pkg/cloudhub/servers/udsserver/uds.go
@@ -4,6 +4,7 @@ import (
"fmt"
"net"
"os"
+ "path/filepath"
"strings"
"k8s.io/klog"
@@ -62,6 +63,16 @@ func (us *UnixDomainSocket) StartServer() error {
}
}
+ dir, err := filepath.Abs(filepath.Dir(addr))
+ if err != nil {
+ klog.Errorf("invalid dir of addr found: %v", err)
+ }
+ if _, err := os.Stat(dir); os.IsNotExist(err) {
+ if err := os.Mkdir(dir, 0755); err != nil {
+ klog.Errorf("failed to create addr dir: %v", err)
+ }
+ }
+
// Listen
listener, err := net.Listen(proto, addr)
if err != nil {