wer
This commit is contained in:
+24
-18
@@ -23,21 +23,21 @@ func makeMonQuery(cephConn *cephConnection, query map[string]string) []byte {
|
||||
return monRawAnswer
|
||||
}
|
||||
|
||||
func getPoolSize(cephConn *cephConnection, params string) Poolinfo {
|
||||
monRawAnswer := makeMonQuery(cephConn, map[string]string{"prefix": "osd pool get", "pool": params,
|
||||
"format": "json", "var": "size"})
|
||||
monAnswer := Poolinfo{}
|
||||
if err := json.Unmarshal([]byte(monRawAnswer), &monAnswer); err != nil {
|
||||
log.Fatalf("Can't parse monitor answer. Error: %v", err)
|
||||
}
|
||||
return monAnswer
|
||||
func getCommands(cephConn *cephConnection) []byte {
|
||||
monRawAnswer := makeMonQuery(cephConn, map[string]string{"prefix": "get_command_descriptions"})
|
||||
return monRawAnswer
|
||||
|
||||
}
|
||||
|
||||
func CloseConn(cephConn *cephConnection) {
|
||||
fmt.Println("Closing connection to cluster")
|
||||
cephConn.conn.Shutdown()
|
||||
}
|
||||
func main() {
|
||||
var connect cephConnection
|
||||
var err error
|
||||
var poolInfo Poolinfo
|
||||
// var poolInfo Poolinfo
|
||||
var monAnswer interface{}
|
||||
|
||||
fmt.Println("Creating connection object")
|
||||
connect.conn,err = rados.NewConn()
|
||||
@@ -46,17 +46,23 @@ func main() {
|
||||
}
|
||||
connect.conn.ReadConfigFile("/etc/ceph/ceph.conf")
|
||||
connect.conn.Connect()
|
||||
defer connect.conn.Shutdown()
|
||||
defer CloseConn(&connect)
|
||||
|
||||
poolInfo = getPoolSize(&connect,"test")
|
||||
fmt.Println(poolInfo)
|
||||
// monAnswer = getCommands(&connect)
|
||||
|
||||
// poolnames,err := connect.conn.ListPools()
|
||||
// if err != nil {
|
||||
// log.Fatal("Cannot list pools")
|
||||
// }
|
||||
err = json.Unmarshal(getCommands(&connect), &monAnswer)
|
||||
if err != nil {
|
||||
log.Fatalln("Cannot unmarshal")
|
||||
}
|
||||
|
||||
prettyForm, err := json.MarshalIndent(monAnswer,""," ")
|
||||
if err != nil {
|
||||
log.Fatalln("Second unmarshallin not successful")
|
||||
}
|
||||
|
||||
fmt.Println(string(prettyForm))
|
||||
// hum,_ := json.MarshalIndent(monAnswer, "", " ")
|
||||
// fmt.Println(monAnswer)
|
||||
|
||||
// for i,j := range poolnames {
|
||||
// fmt.Printf("%d %s\n",i,j)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user