Skip to content

Commit f492225

Browse files
committed
Support the new plugin paths in Docker master.
Signed-off-by: David Calavera <david.calavera@gmail.com>
1 parent 5d5b591 commit f492225

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

api.go

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ const (
1616

1717
defaultContentTypeV1 = "appplication/vnd.docker.plugins.v1+json"
1818
defaultImplementationManifest = `{"Implements": ["VolumeDriver"]}`
19-
pluginSpecDir = "/usr/share/docker/plugins"
19+
pluginSpecDir = "/etc/docker/plugins"
20+
pluginSockDir = "/run/docker/plugins"
2021

2122
activatePath = "/Plugin.Activate"
2223
createPath = "/VolumeDriver.Create"
@@ -119,10 +120,6 @@ func (h *Handler) listenAndServe(proto, addr, group string) error {
119120
Handler: h.mux,
120121
}
121122

122-
if err := os.MkdirAll(pluginSpecDir, 0755); err != nil {
123-
return err
124-
}
125-
126123
start := make(chan struct{})
127124

128125
var l net.Listener
@@ -134,7 +131,11 @@ func (h *Handler) listenAndServe(proto, addr, group string) error {
134131
err = writeSpec(group, l.Addr().String())
135132
}
136133
case "unix":
137-
l, err = newUnixSocket(fullSocketAddr(addr), group, start)
134+
var s string
135+
s, err = fullSocketAddr(addr)
136+
if err == nil {
137+
l, err = newUnixSocket(s, group, start)
138+
}
138139
}
139140
if err != nil {
140141
return err
@@ -160,15 +161,23 @@ func encodeResponse(w http.ResponseWriter, res Response) {
160161
}
161162

162163
func writeSpec(name, addr string) error {
164+
if err := os.MkdirAll(pluginSpecDir, 0755); err != nil {
165+
return err
166+
}
167+
163168
spec := filepath.Join(pluginSpecDir, name+".spec")
164169
url := "tcp://" + addr
165170
return ioutil.WriteFile(spec, []byte(url), 0644)
166171
}
167172

168-
func fullSocketAddr(addr string) string {
173+
func fullSocketAddr(addr string) (string, error) {
174+
if err := os.MkdirAll(pluginSockDir, 0755); err != nil {
175+
return "", err
176+
}
177+
169178
if filepath.IsAbs(addr) {
170-
return addr
179+
return addr, nil
171180
}
172181

173-
return filepath.Join(pluginSpecDir, addr+".sock")
182+
return filepath.Join(pluginSockDir, addr+".sock"), nil
174183
}

0 commit comments

Comments
 (0)