From 63645d248c765244488cd34dbc1bb6528ca6b7c7 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 05 九月 2023 09:58:13 +0800 Subject: [PATCH] 修复编译 --- system-service/util/seaweedfs.go | 480 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 240 insertions(+), 240 deletions(-) diff --git a/system-service/util/seaweedfs.go b/system-service/util/seaweedfs.go index c55986e..d95783f 100644 --- a/system-service/util/seaweedfs.go +++ b/system-service/util/seaweedfs.go @@ -1,240 +1,240 @@ -package util - -import ( - "bufio" - "bytes" - "errors" - "fmt" - "io" - "io/ioutil" - "net/http" - "os" - "os/exec" - "strings" - "time" - - "basic.com/valib/logger.git" -) - -//鍚姩鏈嶅姟 -func StartServer(binPath string) bool { - resultMsg := CMDSC("sh " + binPath + "/seaweedfs_start.sh") - if resultMsg == "杩愯澶辫触" { - return false - } - return true -} - -//鍏抽棴鏈嶅姟 -func StopServer(binPath string) bool { - resultMsg := CMDSC("sh " + binPath + "/seaweedfs_stop.sh") - time.Sleep(time.Second * 11) - if resultMsg == "杩愯澶辫触" { - return false - } - return true -} - -//楠岃瘉鏈嶅姟 -func VerifyServer(ip string) (bool, error) { - masterUrl := "http://" + ip + ":6333/ui/index.html" - volumeUrl := "http://" + ip + ":6700/ui/index.html" - _, mErr := HttpRC("GET", masterUrl, nil) - if mErr != nil { - return false, errors.New("master 鍚姩澶辫触") - } - _, vErr := HttpRC("GET", volumeUrl, nil) - if vErr != nil { - return false, errors.New("volume 鍚姩澶辫触") - } - return true, nil -} - -//璁剧疆閰嶇疆鏂囦欢 -func SetConfig(configPath string, ip string, peers []string, defaultReplication string) bool { - cp := configPath + "/seaweedfs_start.sh" - file, err := os.OpenFile(cp, os.O_RDWR, 0666) - if err != nil { - logger.Error("open config file fail, err: ", err) - return false - } - defer file.Close() - - buf := bufio.NewReader(file) - output := make([]byte, 0) - for { - line, _, c := buf.ReadLine() - if c == io.EOF { - break - } - if strings.Contains(string(line), "ip=") { - newline := "ip=" + ip - line = []byte(newline) - } - if strings.Contains(string(line), "peers=") { - newline := "peers=" + strings.Replace(strings.Trim(fmt.Sprint(peers), "[]"), " ", ",", -1) - line = []byte(newline) - } - if strings.Contains(string(line), "defaultReplication=") { - newline := "defaultReplication=" + defaultReplication - line = []byte(newline) - } - output = append(output, line...) - output = append(output, []byte("\n")...) - } - - if err := writeToFile(cp, output); err != nil { - logger.Error("write config file err: ", err) - return false - } - return true -} - -//璁剧疆閰嶇疆鏂囦欢 ip 浠ュ強 peer -func SetConfigByIpAndPeer(configPath string, ip string, peers []string) bool { - cp := configPath + "/seaweedfs_start.sh" - file, err := os.OpenFile(cp, os.O_RDWR, 0666) - if err != nil { - logger.Error("open config file fail, err: ", err) - return false - } - defer file.Close() - - buf := bufio.NewReader(file) - output := make([]byte, 0) - for { - line, _, c := buf.ReadLine() - if c == io.EOF { - break - } - if strings.Contains(string(line), "ip=") { - newline := "ip=" + ip - line = []byte(newline) - } - if strings.Contains(string(line), "peers=") { - newline := "peers=" + strings.Replace(strings.Trim(fmt.Sprint(peers), "[]"), " ", ",", -1) - line = []byte(newline) - } - output = append(output, line...) - output = append(output, []byte("\n")...) - } - - if err := writeToFile(cp, output); err != nil { - logger.Error("write config file err: ", err) - return false - } - return true -} - -//濮嬪寲瀛樺偍锛堝垹闄ゆ暟鎹級 -func InitStore(storePath []string) (bool, error) { - if len(storePath) < 1 { - return false, errors.New("鏈寚瀹氬瓨鍌ㄨ矾寰�") - } - for _, p := range storePath { - logger.Debug(p) - } - return true, nil -} - -type SWFSInfo struct { - Ip string - DefaultReplication string - Peers []string -} - -//璇诲彇閰嶇疆鏂囦欢 -func GetConfig(configPath string) (SWFSInfo, error) { - var info SWFSInfo - cp := configPath + "/seaweedfs_start.sh" - file, err := os.OpenFile(cp, os.O_RDWR, 0666) - if err != nil { - logger.Error("open config file fail, err: ", err) - return info, err - } - defer file.Close() - - buf := bufio.NewReader(file) - peers := make([]string, 0) - ip := "" - defaultReplication := "" - for { - line, _, c := buf.ReadLine() - if c == io.EOF { - break - } - if strings.Contains(string(line), "peers=") { - rt := strings.Split(string(line), "=")[1] - if len(rt) < 1 { - continue - } - p := strings.Split(rt, ",") - peers = append(peers, p...) - } - if strings.Contains(string(line), "ip=") { - ip = strings.Split(string(line), "=")[1] - continue - } - if strings.Contains(string(line), "defaultReplication=") { - defaultReplication = strings.Split(string(line), "=")[1] - continue - } - } - info.Ip = ip - info.DefaultReplication = defaultReplication - info.Peers = peers - return info, nil -} - -func writeToFile(filePath string, outPut []byte) error { - f, err := os.OpenFile(filePath, os.O_WRONLY|os.O_TRUNC, 0600) - defer f.Close() - if err != nil { - return err - } - writer := bufio.NewWriter(f) - _, err = writer.Write(outPut) - if err != nil { - return err - } - writer.Flush() - return nil -} - -func CMDSC(scriptStr string) string { - cmd := exec.Command("sh", "-c", scriptStr) - var out bytes.Buffer - cmd.Stdout = &out - err := cmd.Run() - if err != nil { - return "杩愯澶辫触" - } - return out.String() -} - -func HttpRC(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 { - logger.Error("build request fail !") - return nil, err - } - - resp, err := client.Do(request) - if err != nil { - logger.Error("request error: ", err) - return nil, err - } - - defer resp.Body.Close() - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - logger.Error(err) - return nil, err - } - return body, nil -} +package util + +import ( + "bufio" + "bytes" + "errors" + "fmt" + "io" + "io/ioutil" + "net/http" + "os" + "os/exec" + "strings" + "time" + + "basic.com/valib/logger.git" +) + +//鍚姩鏈嶅姟 +func StartServer(binPath string) bool { + resultMsg := CMDSC("sh " + binPath + "/seaweedfs_start.sh") + if resultMsg == "杩愯澶辫触" { + return false + } + return true +} + +//鍏抽棴鏈嶅姟 +func StopServer(binPath string) bool { + resultMsg := CMDSC("sh " + binPath + "/seaweedfs_stop.sh") + time.Sleep(time.Second * 11) + if resultMsg == "杩愯澶辫触" { + return false + } + return true +} + +//楠岃瘉鏈嶅姟 +func VerifyServer(ip string) (bool, error) { + masterUrl := "http://" + ip + ":6333/ui/index.html" + volumeUrl := "http://" + ip + ":6700/ui/index.html" + _, mErr := HttpRC("GET", masterUrl, nil) + if mErr != nil { + return false, errors.New("master 鍚姩澶辫触") + } + _, vErr := HttpRC("GET", volumeUrl, nil) + if vErr != nil { + return false, errors.New("volume 鍚姩澶辫触") + } + return true, nil +} + +//璁剧疆閰嶇疆鏂囦欢 +func SetConfig(configPath string, ip string, peers []string, defaultReplication string) bool { + cp := configPath + "/seaweedfs_start.sh" + file, err := os.OpenFile(cp, os.O_RDWR, 0666) + if err != nil { + logger.Error("open config file fail, err: ", err) + return false + } + defer file.Close() + + buf := bufio.NewReader(file) + output := make([]byte, 0) + for { + line, _, c := buf.ReadLine() + if c == io.EOF { + break + } + if strings.Contains(string(line), "ip=") { + newline := "ip=" + ip + line = []byte(newline) + } + if strings.Contains(string(line), "peers=") { + newline := "peers=" + strings.Replace(strings.Trim(fmt.Sprint(peers), "[]"), " ", ",", -1) + line = []byte(newline) + } + if strings.Contains(string(line), "defaultReplication=") { + newline := "defaultReplication=" + defaultReplication + line = []byte(newline) + } + output = append(output, line...) + output = append(output, []byte("\n")...) + } + + if err := writeToFile(cp, output); err != nil { + logger.Error("write config file err: ", err) + return false + } + return true +} + +//璁剧疆閰嶇疆鏂囦欢 ip 浠ュ強 peer +func SetConfigByIpAndPeer(configPath string, ip string, peers []string) bool { + cp := configPath + "/seaweedfs_start.sh" + file, err := os.OpenFile(cp, os.O_RDWR, 0666) + if err != nil { + logger.Error("open config file fail, err: ", err) + return false + } + defer file.Close() + + buf := bufio.NewReader(file) + output := make([]byte, 0) + for { + line, _, c := buf.ReadLine() + if c == io.EOF { + break + } + if strings.Contains(string(line), "ip=") { + newline := "ip=" + ip + line = []byte(newline) + } + if strings.Contains(string(line), "peers=") { + newline := "peers=" + strings.Replace(strings.Trim(fmt.Sprint(peers), "[]"), " ", ",", -1) + line = []byte(newline) + } + output = append(output, line...) + output = append(output, []byte("\n")...) + } + + if err := writeToFile(cp, output); err != nil { + logger.Error("write config file err: ", err) + return false + } + return true +} + +//濮嬪寲瀛樺偍锛堝垹闄ゆ暟鎹級 +func InitStore(storePath []string) (bool, error) { + if len(storePath) < 1 { + return false, errors.New("鏈寚瀹氬瓨鍌ㄨ矾寰�") + } + for _, p := range storePath { + logger.Debug(p) + } + return true, nil +} + +type SWFSInfo struct { + Ip string + DefaultReplication string + Peers []string +} + +//璇诲彇閰嶇疆鏂囦欢 +func GetConfig(configPath string) (SWFSInfo, error) { + var info SWFSInfo + cp := configPath + "/seaweedfs_start.sh" + file, err := os.OpenFile(cp, os.O_RDWR, 0666) + if err != nil { + logger.Error("open config file fail, err: ", err) + return info, err + } + defer file.Close() + + buf := bufio.NewReader(file) + peers := make([]string, 0) + ip := "" + defaultReplication := "" + for { + line, _, c := buf.ReadLine() + if c == io.EOF { + break + } + if strings.Contains(string(line), "peers=") { + rt := strings.Split(string(line), "=")[1] + if len(rt) < 1 { + continue + } + p := strings.Split(rt, ",") + peers = append(peers, p...) + } + if strings.Contains(string(line), "ip=") { + ip = strings.Split(string(line), "=")[1] + continue + } + if strings.Contains(string(line), "defaultReplication=") { + defaultReplication = strings.Split(string(line), "=")[1] + continue + } + } + info.Ip = ip + info.DefaultReplication = defaultReplication + info.Peers = peers + return info, nil +} + +func writeToFile(filePath string, outPut []byte) error { + f, err := os.OpenFile(filePath, os.O_WRONLY|os.O_TRUNC, 0600) + defer f.Close() + if err != nil { + return err + } + writer := bufio.NewWriter(f) + _, err = writer.Write(outPut) + if err != nil { + return err + } + writer.Flush() + return nil +} + +func CMDSC(scriptStr string) string { + cmd := exec.Command("sh", "-c", scriptStr) + var out bytes.Buffer + cmd.Stdout = &out + err := cmd.Run() + if err != nil { + return "杩愯澶辫触" + } + return out.String() +} + +func HttpRC(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 { + logger.Error("build request fail !") + return nil, err + } + + resp, err := client.Do(request) + if err != nil { + logger.Error("request error: ", err) + return nil, err + } + + defer resp.Body.Close() + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + logger.Error(err) + return nil, err + } + return body, nil +} -- Gitblit v1.8.0