From 13cd379d1a0afba38a93bb94ce32a85d81cafc9e Mon Sep 17 00:00:00 2001 From: Alexander Pivkin Date: Fri, 5 Sep 2025 18:36:17 +0300 Subject: [PATCH] sdf --- ceph/ceph.go | 17 +++++++++++++---- ceph/types.go | 2 -- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ceph/ceph.go b/ceph/ceph.go index b9577a8..e22e406 100644 --- a/ceph/ceph.go +++ b/ceph/ceph.go @@ -23,11 +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 main() { var connect cephConnection var err error - var monRawAnswer []byte + var poolInfo Poolinfo fmt.Println("Creating connection object") connect.conn,err = rados.NewConn() @@ -38,9 +48,8 @@ func main() { connect.conn.Connect() defer connect.conn.Shutdown() - monRawAnswer = makeMonQuery(&connect, map[string]string{"prefix": "osd dump", "format": "json"}) - - fmt.Println(monRawAnswer) + poolInfo = getPoolSize(&connect,"test") + fmt.Println(poolInfo) // poolnames,err := connect.conn.ListPools() // if err != nil { diff --git a/ceph/types.go b/ceph/types.go index b30112b..a3e2d5c 100644 --- a/ceph/types.go +++ b/ceph/types.go @@ -18,5 +18,3 @@ type Device struct { ID int64 `json:"id"` Name string `json:"name"` } - -