Add basic controller code, initiating json rpc connection getting list of disks and memstats for now.

This commit is contained in:
Harshavardhana
2015-07-05 16:55:55 -07:00
parent 75a32d1c01
commit 7f0c14f2b7
5 changed files with 170 additions and 8 deletions

View File

@@ -4,6 +4,7 @@ import (
"os/user"
"github.com/minio/cli"
"github.com/minio/minio/pkg/controller"
"github.com/minio/minio/pkg/server"
"github.com/minio/minio/pkg/server/api"
)
@@ -41,8 +42,11 @@ USAGE:
minio {{.Name}}
EXAMPLES:
1. Start in controller mode
$ minio {{.Name}}
1. Get disks from controller
$ minio {{.Name}} disks http://localhost:9001/rpc
2. Get memstats from controller
$ minio {{.Name}} mem http://localhost:9001/rpc
`,
}
@@ -79,4 +83,21 @@ func runController(c *cli.Context) {
if err != nil {
Fatalf("Unable to determine current user. Reason: %s\n", err)
}
if len(c.Args()) != 2 || c.Args().First() == "help" {
cli.ShowCommandHelpAndExit(c, "controller", 1) // last argument is exit code
}
switch c.Args().First() {
case "disks":
disks, err := controller.GetDisks(c.Args().Tail().First())
if err != nil {
Fatalln(err)
}
Println(disks)
case "mem":
memstats, err := controller.GetMemStats(c.Args().Tail().First())
if err != nil {
Fatalln(err)
}
Println(string(memstats))
}
}