diff options
| author | Dave Chen <dave.jungler@gmail.com> | 2020-01-17 18:20:26 +0800 |
|---|---|---|
| committer | Dave Chen <dave.jungler@gmail.com> | 2020-01-17 18:20:26 +0800 |
| commit | 3195a513e19c95ac5dc90ac8312fea0b3e8ce67a (patch) | |
| tree | 10bc09bdf9df99c3e2c4835e4db320277a7073e8 | |
| parent | Merge pull request #1411 from zhuguihua/remove_useless_errs_variable (diff) | |
| download | kubeedge-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.go | 11 |
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 { |
