From 32aba6aa23e78886ddca2743f760ff6de22f4b50 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期一, 13 四月 2020 10:46:04 +0800
Subject: [PATCH] perfect asVolume somethings

---
 controllers/swfsControllers.go |   35 +++++++++++++++++++++++------------
 1 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/controllers/swfsControllers.go b/controllers/swfsControllers.go
index 1465b6a..18d0eb9 100644
--- a/controllers/swfsControllers.go
+++ b/controllers/swfsControllers.go
@@ -47,15 +47,20 @@
 	var body SWFSInfo
 	c.BindJSON(&body)
 	role := body.Role
-	nowPeers := GetNowPeersList()
 	if role == "master" {
-		AsMaster(nowPeers)
+		AddNewMasterToPeers()
+		AsMaster()
 		util.ResponseFormat(c, code.AddSuccess, "鍔犲叆鑺傜偣鎴愬姛")
 		return
 	} else if role == "volume" {
-		AsVolume(nowPeers)
-		util.ResponseFormat(c, code.AddSuccess, "鍔犲叆鑺傜偣鎴愬姛")
-		return
+		status := AsVolume()
+		if status == true {
+			util.ResponseFormat(c, code.AddSuccess, "鍔犲叆鑺傜偣鎴愬姛")
+			return
+		} else {
+			util.ResponseFormat(c, code.AddClusterInfoErr, "褰撳墠杩樻病鏈変富鑺傜偣")
+			return
+		}
 	} else {
 		util.ResponseFormat(c, code.RequestParamError, "閫夋嫨鑺傜偣绫诲瀷閿欒")
 		return
@@ -64,7 +69,7 @@
 }
 
 func (sc *SeaweedfsController) RoleOfVolumeToMasterController(c *gin.Context) {
-	AsMaster(GetNowPeersList())
+	AsMaster()
 }
 
 func (sc *SeaweedfsController) RestartMasterController(c *gin.Context) {
@@ -101,10 +106,7 @@
 
 //璇锋眰浣滀负涓昏妭鐐规搷浣滄祦绋�
 func RequestMasterNodesOperation(nowPeers []interface{}) {
-	//fmt.Println("config.Server.CoreBaseUnit", config.Server.CoreBaseUnit)
 	coreBaseUnit, _ := strconv.Atoi(config.Server.CoreBaseUnit)
-	//fmt.Println("nowPeers: ", nowPeers)
-	//fmt.Println("coreBaseUnit: ", coreBaseUnit)
 	UpdateAllNodesScriptArgument(nowPeers)
 	RestartAllServer(nowPeers, coreBaseUnit)
 }
@@ -173,14 +175,23 @@
 }
 
 //浣滀负鏁版嵁鑺傜偣鍔犲叆
-func AsVolume(nowPeers []interface{}) {
+func AsVolume() bool {
+	nowPeers := GetNowPeersList()
+	if nowPeers == nil || len(nowPeers) == 0 {
+		return false
+	}
+	UpdatePeers(config.Server.ScriptPath, StartServerScript, GetNewPeers(), GetNewPeers())
 	ReplaceLineContentBySearch(StartScriptAsVolume, config.Server.ScriptPath, StartServerScript)
+	ReplaceLineContentBySearch("peers=", config.Server.ScriptPath, StartServerScript)
+	StartServer(config.Server.ScriptPath)
+	return true
 }
 
 //浣滀负涓昏妭鐐瑰姞鍏ワ紙榛樿鍖呭惈鏁版嵁鑺傜偣锛�
-func AsMaster(nowPeers []interface{}) {
-	AddNewMasterToPeers()
+func AsMaster() bool {
+	nowPeers := GetNowPeersList()
 	RequestMasterNodesOperation(nowPeers)
+	return true
 }
 
 //鑾峰彇褰撳墠闆嗙兢鍒楄〃

--
Gitblit v1.8.0