This commit is contained in:
a.pivkin
2025-09-06 13:02:52 +03:00
parent 13cd379d1a
commit 59666d0dd6
661 changed files with 251257 additions and 18 deletions
+24 -18
View File
@@ -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)
}
Executable
BIN
View File
Binary file not shown.