From e12bca22ef82aa5a2df0448a4715b1a948604156 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期二, 07 四月 2020 14:57:38 +0800
Subject: [PATCH] first commit

---
 main.go |  184 ++--------------------------------------------
 1 files changed, 8 insertions(+), 176 deletions(-)

diff --git a/main.go b/main.go
index 7499b8e..1ca5668 100644
--- a/main.go
+++ b/main.go
@@ -1,184 +1,16 @@
 package main
 
 import (
-	"bytes"
-	"encoding/json"
-	"errors"
-	"fmt"
-	"io/ioutil"
-	"net/http"
-	"os/exec"
-	"strings"
-	"time"
+	"flag"
+	"test/config"
 )
+
+var env = flag.String("pro", "pro", "read storage info")
+
+func init() {
+	config.Init(*env)
+}
 
 func main() {
 
-	oldPeers := GetOldPeers()
-	fmt.Println("oldPeers: ", oldPeers)
-	//AddNewMasterToPeers()
-	newPeers := GetNewPeers()
-	fmt.Println("newPeers: ", newPeers)
-	UpdatePeers(oldPeers, newPeers)
-	time.Sleep(time.Second * 3)
-	nowPeers := GetOldPeers()
-	fmt.Println("nowPeers: ", nowPeers)
-}
-
-func GetOldPeers() string {
-	str := "cat /opt/vasystem/seaweedfs_start.sh | grep peers="
-	peers := strings.Split(RunScript(str), "\n")[0]
-	return peers
-}
-
-func GetNewPeers() string {
-	getUrl := "http://192.168.20.10:9200/basicfs/_search"
-	getJson := `{
-    "query": {
-        "bool": {
-            "filter": [
-                {
-                    "term": {
-						"application":"nodeOperation"
-					}
-                }
-            ]
-        }
-    },
-    "size": 1
-}`
-
-	buf, _ := EsReq("POST", getUrl, []byte(getJson))
-	source, _ := Sourcelist(buf)
-	//fmt.Println(source)
-	peers := source[0]["peers"].([]interface{})
-	fmt.Println(peers)
-	p := "peers=" + strings.Replace(strings.Trim(fmt.Sprint(peers), "[]"), " ", ",", -1)
-	return p
-}
-
-func UpdatePeers(oldPeers string, newPeers string) {
-	str := "sed -ie 's/" + oldPeers + "/" + newPeers + "/g' /opt/vasystem/seaweedfs_start.sh"
-	fmt.Println(str)
-	RunScript(str)
-}
-
-//鑴氭湰灏佽
-func RunScript(str string) string {
-
-	cmd := exec.Command("sh", "-c", str)
-	var out bytes.Buffer
-	cmd.Stdout = &out
-	err := cmd.Run()
-	if err != nil {
-		return "杩愯澶辫触"
-	}
-	return out.String()
-}
-
-//瑙f瀽http
-func EsReq(method string, url string, parama []byte) (buf []byte, err error) {
-	timeout := time.Duration(10 * time.Second)
-	client := http.Client{
-		Timeout: timeout,
-	}
-	request, err := http.NewRequest(method, url, bytes.NewBuffer(parama))
-	request.Header.Set("Content-type", "application/json")
-
-	if err != nil {
-		fmt.Println("build request fail !")
-		return nil, err
-	}
-
-	resp, err := client.Do(request)
-	if err != nil {
-		fmt.Println("request error: ", err)
-		return nil, err
-	}
-
-	defer resp.Body.Close()
-	body, err := ioutil.ReadAll(resp.Body)
-	if err != nil {
-		fmt.Println(err)
-		return nil, err
-	}
-	return body, nil
-}
-
-func Sourcelist(buf []byte) (sources []map[string]interface{}, err error) {
-	var info interface{}
-	json.Unmarshal(buf, &info)
-	out, ok := info.(map[string]interface{})
-	if !ok {
-		return nil, errors.New("http response interface can not change map[string]interface{}")
-	}
-
-	middle, ok := out["hits"].(map[string]interface{})
-	if !ok {
-		return nil, errors.New("first hits change error!")
-	}
-	for _, in := range middle["hits"].([]interface{}) {
-		tmpbuf, ok := in.(map[string]interface{})
-		if !ok {
-			fmt.Println("change to source error!")
-			continue
-		}
-		source, ok := tmpbuf["_source"].(map[string]interface{})
-		if !ok {
-			fmt.Println("change _source error!")
-			continue
-		}
-		sources = append(sources, source)
-	}
-	return sources, nil
-}
-
-func AddNewMasterToPeers() (result bool) {
-
-	peer := "192.168.5.22:6333"
-	addUrl := "http://192.168.20.10:9200/basicfs/_update_by_query"
-	addJson := `{
-    "script": {
-        "lang": "painless",
-        "inline": "ctx._source.peers.add(params.newpeer)",
-        "params": {
-            "newpeer": "` + peer + `"
-        }
-    },
-    "query": {
-        "bool": {
-            "filter": [
-                {
-                    "term": {
-                        "application": "nodeOperation"
-                    }
-                }
-            ]
-        }
-    }
-}`
-	buf, _ := EsReq("POST", addUrl, []byte(addJson))
-	updateRes, _ := SourceUpdated(buf)
-	if updateRes == -1 {
-		result = false
-	} else {
-		result = true
-	}
-	return result
-}
-
-func SourceUpdated(buf []byte) (total int, err error) {
-	var info interface{}
-	json.Unmarshal(buf, &info)
-	out, ok := info.(map[string]interface{})
-	if !ok {
-		return -1, errors.New("http response interface can not change map[string]interface{}")
-	}
-
-	middle, ok := out["updated"].(float64)
-	if !ok {
-		return -1, errors.New("first total change error!")
-	}
-	total = int(middle)
-	return total, nil
 }

--
Gitblit v1.8.0