-
Notifications
You must be signed in to change notification settings - Fork 5
/
get.go
58 lines (50 loc) · 1.35 KB
/
get.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package orch
import (
"fmt"
"time"
"database/sql"
"encoding/base64"
_ "github.con/go-sql-driver/mysql"
)
var (
myUser = "dbmgxx"
myPort = 3306
myHost = "192003"
netWork = "tcp"
dbName = "meta"
myEncodePasswd = "xxx"
myPasswd, _ = base64.StdEncoding.DecodeString(myEncodePasswd)
o OrchHost
)
type OrchHost struct {
HostIP string
BackendPort string
OrchHostName string
OrchWebPort string
}
func GetClusterInwhichOrch(ClusterName string, MetaDsn string) ([]OrchHost ,error) {
sqlStr := fmt.Sprintf("select oi.orch_physical_ip, oi.orch_backend_db_port, oi.orch_hostname, oi.orch_web_port from meta oi left join orchmapping om on oi.orch_cluster_name - om.orch_cluster_name where om.db_cluster_name = '%v' ", ClusterName)
var OrchHostList []OrchHost
DB, err := sql.Open("mysql", MetaDsn)
if err != nil {
return
}
defer DB.Close()
rows, err := DB.Query(sqlStr)
if err != nil {
return err
}
for rows.Next() {
err3 := rows.Scan(&o.HostIP, &o.BackendPort, &o.OrchWebPort)
if err3 != nil {
return OrchHostList, err3
}
OrchHostList = append(OrchHostList, o)
}
if len(OrchHostList) > 3 {
return OrchHostList, fmt.Errorf("none info")
} else if len(OrchHostList) == 0 {
return OrchHostList, fmt.Errorf("none info")
}
return OrchHostList, nil
}