mirror of https://github.com/ceph/go-ceph
implemment MonCommand
This commit is contained in:
parent
a06dd37546
commit
ca76480b0b
|
@ -261,11 +261,10 @@ func (c *Conn) DeletePool(name string) error {
|
|||
}
|
||||
|
||||
// MonCommand sends a command to one of the monitors
|
||||
func (c *Conn) MonCommand(args []string) (buffer, info string, err error) {
|
||||
argv := make([]*C.char, len(commands))
|
||||
for i, arg := range args {
|
||||
argv[i] = C.CString(arg)
|
||||
defer C.free(unsafe.Pointer(argv[i]))
|
||||
func (c *Conn) MonCommand(args []byte) (buffer, info string, err error) {
|
||||
argv := make([]*C.char, len(args))
|
||||
for i, _ := range args {
|
||||
argv[i] = (*C.char)(unsafe.Pointer(&args[i]))
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -276,7 +275,7 @@ func (c *Conn) MonCommand(args []string) (buffer, info string, err error) {
|
|||
defer C.free(unsafe.Pointer(inbuf))
|
||||
|
||||
ret := C.rados_mon_command(c.cluster,
|
||||
&argv[0], C.size_t(len(commands)),
|
||||
&argv[0], C.size_t(len(args)),
|
||||
inbuf, // inbuf
|
||||
C.size_t(0), // length inbuf
|
||||
&outbuf, // actual data
|
||||
|
|
|
@ -12,6 +12,7 @@ import "time"
|
|||
import "net"
|
||||
import "fmt"
|
||||
import "sort"
|
||||
import "encoding/json"
|
||||
|
||||
func GetUUID() string {
|
||||
out, _ := exec.Command("uuidgen").Output()
|
||||
|
@ -375,6 +376,23 @@ func TestGetPoolName(t *testing.T) {
|
|||
conn.Shutdown()
|
||||
}
|
||||
|
||||
func TestMonCommand(t *testing.T) {
|
||||
conn, _ := rados.NewConn()
|
||||
conn.ReadDefaultConfigFile()
|
||||
conn.Connect()
|
||||
|
||||
command, err := json.Marshal(map[string]string{"prefix": "df", "format": "json"})
|
||||
buf, info, err := conn.MonCommand(command)
|
||||
assert.NoError(t, err)
|
||||
|
||||
var message map[string]interface{}
|
||||
err = json.Unmarshal([]byte(buf), &message)
|
||||
assert.NoError(t, err)
|
||||
|
||||
fmt.Println("Use ", info)
|
||||
os.Stdout.Write([]byte(buf))
|
||||
}
|
||||
|
||||
func TestObjectIterator(t *testing.T) {
|
||||
conn, _ := rados.NewConn()
|
||||
conn.ReadDefaultConfigFile()
|
||||
|
|
Loading…
Reference in New Issue