aboutsummaryrefslogtreecommitdiff
path: root/weed/command/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/command/server.go')
-rw-r--r--weed/command/server.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/weed/command/server.go b/weed/command/server.go
index f2e2e1b58..8c99d04fd 100644
--- a/weed/command/server.go
+++ b/weed/command/server.go
@@ -232,10 +232,17 @@ func runServer(cmd *Command, args []string) bool {
*isStartingFiler = true
}
+ var actualPeersForComponents string
if *isStartingMasterServer {
+ // If we are starting a master, validate and complete the peer list
_, peerList := checkPeers(*serverIp, *masterOptions.port, *masterOptions.portGrpc, *masterOptions.peers)
- peers := strings.Join(pb.ToAddressStrings(peerList), ",")
- masterOptions.peers = &peers
+ actualPeersForComponents = strings.Join(pb.ToAddressStrings(peerList), ",")
+ } else if *masterOptions.peers != "" {
+ if isSingleMasterMode(*masterOptions.peers) {
+ glog.Fatalf("'-master.peers=none' is only valid when starting a master server, but master is not starting.")
+ }
+ // If not starting a master, just use the provided peers
+ actualPeersForComponents = *masterOptions.peers
}
if *serverBindIp == "" {
@@ -249,7 +256,8 @@ func runServer(cmd *Command, args []string) bool {
// ip address
masterOptions.ip = serverIp
masterOptions.ipBind = serverBindIp
- filerOptions.masters = pb.ServerAddresses(*masterOptions.peers).ToServiceDiscovery()
+ // Use actualPeersForComponents for volume/filer, not masterOptions.peers which might be "none"
+ filerOptions.masters = pb.ServerAddresses(actualPeersForComponents).ToServiceDiscovery()
filerOptions.ip = serverIp
filerOptions.bindIp = serverBindIp
if *s3Options.bindIp == "" {
@@ -259,11 +267,11 @@ func runServer(cmd *Command, args []string) bool {
sftpOptions.bindIp = serverBindIp
}
iamOptions.ip = serverBindIp
- iamOptions.masters = masterOptions.peers
+ iamOptions.masters = &actualPeersForComponents
webdavOptions.ipBind = serverBindIp
serverOptions.v.ip = serverIp
serverOptions.v.bindIp = serverBindIp
- serverOptions.v.masters = pb.ServerAddresses(*masterOptions.peers).ToAddresses()
+ serverOptions.v.masters = pb.ServerAddresses(actualPeersForComponents).ToAddresses()
serverOptions.v.idleConnectionTimeout = serverTimeout
serverOptions.v.dataCenter = serverDataCenter
serverOptions.v.rack = serverRack