Skip to content

Commit faff1d7

Browse files
authored
Merge pull request #166 from IBM/rclone-typo
Fix json response to include custom error
2 parents 289d9f2 + 58f7651 commit faff1d7

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

cos-csi-mounter/server/server.go

+16-16
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package main
22

33
import (
44
"flag"
5+
"fmt"
56
"net"
67
"net/http"
78
"os"
@@ -100,36 +101,37 @@ func handleCosMount() gin.HandlerFunc {
100101
var request MountRequest
101102

102103
if err := c.BindJSON(&request); err != nil {
103-
logger.Error("Invalid request: ", zap.Error(err))
104-
c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid request"})
104+
logger.Error("invalid request: ", zap.Error(err))
105+
c.JSON(http.StatusBadRequest, gin.H{"error": "invalid request"})
105106
return
106107
}
107108

108109
logger.Info("New mount request with values:", zap.String("Bucket", request.Bucket), zap.String("Path", request.Path), zap.String("Mounter", request.Mounter), zap.Any("Args", request.Args))
109110

110111
if request.Mounter != s3fs && request.Mounter != rclone {
111-
logger.Error("Invalid Request!!!!")
112-
c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid request"})
112+
logger.Error("invalid mounter", zap.Any("mounter", request.Mounter))
113+
c.JSON(http.StatusBadRequest, gin.H{"error": "invalid mounter"})
113114
return
114115
}
115116

116117
// validate mounter args
117118
args, err := request.ParseMounterArgs()
118119
if err != nil {
119-
logger.Error("Failed to parse mounter args", zap.Any("mounter", request.Mounter), zap.Error(err))
120-
c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid args for mounter"})
120+
logger.Error("failed to parse mounter args", zap.Any("mounter", request.Mounter), zap.Error(err))
121+
122+
c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("invalid args for mounter: %v", err)})
121123
return
122124
}
123125

124126
utils := mounterUtils.MounterOptsUtils{}
125127
err = utils.FuseMount(request.Path, request.Mounter, args)
126128
if err != nil {
127-
logger.Error("Mount Failed: ", zap.Error(err))
128-
c.JSON(http.StatusBadRequest, gin.H{"error": "Mount Failed"})
129+
logger.Error("mount failed: ", zap.Error(err))
130+
c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("mount failed: %v", err)})
129131
return
130132
}
131133

132-
logger.Info("New COS Mount is Successfull")
134+
logger.Info("bucket mount is successful", zap.Any("bucket", request.Bucket), zap.Any("path", request.Path))
133135
c.JSON(http.StatusOK, "Success!!")
134136
}
135137
}
@@ -140,11 +142,9 @@ func handleCosUnmount() gin.HandlerFunc {
140142
Path string `json:"path"`
141143
}
142144

143-
logger.Info("New unmount request with values: ", zap.Any("Request:", request))
144-
145145
if err := c.BindJSON(&request); err != nil {
146-
logger.Error("Invalid request: ", zap.Error(err))
147-
c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid request"})
146+
logger.Error("invalid request: ", zap.Error(err))
147+
c.JSON(http.StatusBadRequest, gin.H{"error": "invalid request"})
148148
return
149149
}
150150

@@ -153,12 +153,12 @@ func handleCosUnmount() gin.HandlerFunc {
153153
utils := mounterUtils.MounterOptsUtils{}
154154
err := utils.FuseUnmount(request.Path)
155155
if err != nil {
156-
logger.Error("UnMount Failed: ", zap.Error(err))
157-
c.JSON(http.StatusBadRequest, gin.H{"error": "Mount Failed"})
156+
logger.Error("unmount failed: ", zap.Error(err))
157+
c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("unmount failed :%v", err)})
158158
return
159159
}
160160

161-
logger.Info("COS UnMount is Successfull")
161+
logger.Info("bucket unmount is Successful", zap.Any("path", request.Path))
162162
c.JSON(http.StatusOK, "Success!!")
163163
}
164164
}

cos-csi-mounter/server/utils.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func strictDecodeForUnknownFields(data json.RawMessage, v interface{}) error {
3030

3131
func pathValidator(targetPath string) error {
3232
if !(strings.HasPrefix(targetPath, "/var/data/kubelet/pods") || strings.HasPrefix(targetPath, "/var/lib/kubelet/pods")) {
33-
return fmt.Errorf("Bad value for target path \"%v\"", targetPath)
33+
return fmt.Errorf("bad value for target path \"%v\"", targetPath)
3434
}
3535
return nil
3636
}

0 commit comments

Comments
 (0)