aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-10-11 20:42:15 -0700
committerChris Lu <chris.lu@gmail.com>2020-10-11 20:42:15 -0700
commit7704469d294c20df46d1cbd418754dfa9ace0add (patch)
tree6b2244c9a2540cdaceeaa26429341656b0745f58
parent723ae11db401b791925d99968ad53240c3259305 (diff)
downloadseaweedfs-7704469d294c20df46d1cbd418754dfa9ace0add.tar.xz
seaweedfs-7704469d294c20df46d1cbd418754dfa9ace0add.zip
mount: outsideContainerClusterMode changed to use volume server publicUrl
-rw-r--r--weed/command/mount.go8
-rw-r--r--weed/filesys/wfs_filer_client.go15
2 files changed, 4 insertions, 19 deletions
diff --git a/weed/command/mount.go b/weed/command/mount.go
index 42a79bd1f..f9700679d 100644
--- a/weed/command/mount.go
+++ b/weed/command/mount.go
@@ -48,7 +48,7 @@ func init() {
mountOptions.allowOthers = cmdMount.Flag.Bool("allowOthers", true, "allows other users to access the file system")
mountOptions.umaskString = cmdMount.Flag.String("umask", "022", "octal umask, e.g., 022, 0111")
mountOptions.nonempty = cmdMount.Flag.Bool("nonempty", false, "allows the mounting over a non-empty directory")
- mountOptions.outsideContainerClusterMode = cmdMount.Flag.Bool("outsideContainerClusterMode", false, "allows other users to access the file system")
+ mountOptions.outsideContainerClusterMode = cmdMount.Flag.Bool("outsideContainerClusterMode", false, "allows other users to access volume servers with publicUrl")
mountOptions.uidMap = cmdMount.Flag.String("map.uid", "", "map local uid to uid on filer, comma-separated <local_uid>:<filer_uid>")
mountOptions.gidMap = cmdMount.Flag.String("map.gid", "", "map local gid to gid on filer, comma-separated <local_gid>:<filer_gid>")
@@ -72,11 +72,5 @@ var cmdMount = &Command{
On OS X, it requires OSXFUSE (http://osxfuse.github.com/).
- If the SeaweedFS system runs in a container cluster, e.g. managed by kubernetes or docker compose,
- the volume servers are not accessible by their own ip addresses.
- In "outsideContainerClusterMode", the mount will use the filer ip address instead, assuming:
- * All volume server containers are accessible through the same hostname or IP address as the filer.
- * All volume server container ports are open external to the cluster.
-
`,
}
diff --git a/weed/filesys/wfs_filer_client.go b/weed/filesys/wfs_filer_client.go
index 8c30de3c5..096ee555f 100644
--- a/weed/filesys/wfs_filer_client.go
+++ b/weed/filesys/wfs_filer_client.go
@@ -1,9 +1,6 @@
package filesys
import (
- "fmt"
- "strings"
-
"google.golang.org/grpc"
"github.com/chrislusf/seaweedfs/weed/pb"
@@ -27,14 +24,8 @@ func (wfs *WFS) WithFilerClient(fn func(filer_pb.SeaweedFilerClient) error) erro
}
func (wfs *WFS) AdjustedUrl(location *filer_pb.Location) string {
- if !wfs.option.OutsideContainerClusterMode {
- return location.Url
- }
- commaIndex := strings.Index(location.Url, ":")
- if commaIndex < 0 {
- return location.Url
+ if wfs.option.OutsideContainerClusterMode {
+ return location.PublicUrl
}
- filerCommaIndex := strings.Index(wfs.option.FilerGrpcAddress, ":")
- return fmt.Sprintf("%s:%s", wfs.option.FilerGrpcAddress[:filerCommaIndex], location.Url[commaIndex+1:])
-
+ return location.Url
}