mirror of
https://github.com/minio/minio.git
synced 2025-11-08 21:24:55 -05:00
control: Implement service command 'stop,restart,status'. (#2883)
- stop - stops all the servers. - restart - restart all the servers. - status - prints status of storage info about the cluster.
This commit is contained in:
@@ -72,12 +72,17 @@ func TestControlLockMain(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Test to call shutdownControl() in control-shutdown-main.go
|
||||
func TestControlShutdownMain(t *testing.T) {
|
||||
// Test to call serviceControl(stop) in control-service-main.go
|
||||
func TestControlServiceStopMain(t *testing.T) {
|
||||
// create cli app for testing
|
||||
app := cli.NewApp()
|
||||
app.Commands = []cli.Command{controlCmd}
|
||||
|
||||
// Initialize done channel specifically for each tests.
|
||||
globalServiceDoneCh = make(chan struct{}, 1)
|
||||
// Initialize signal channel specifically for each tests.
|
||||
globalServiceSignalCh = make(chan serviceSignal, 1)
|
||||
|
||||
// start test server
|
||||
testServer := StartTestServer(t, "XL")
|
||||
|
||||
@@ -88,12 +93,95 @@ func TestControlShutdownMain(t *testing.T) {
|
||||
url := testServer.Server.URL
|
||||
|
||||
// create args to call
|
||||
args := []string{"./minio", "control", "shutdown", url}
|
||||
args := []string{"./minio", "control", "service", "stop", url}
|
||||
|
||||
// run app
|
||||
err := app.Run(args)
|
||||
if err != nil {
|
||||
t.Errorf("Control-Shutdown-Main test failed with - %s", err)
|
||||
t.Errorf("Control-Service-Stop-Main test failed with - %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Test to call serviceControl(status) in control-service-main.go
|
||||
func TestControlServiceStatusMain(t *testing.T) {
|
||||
// create cli app for testing
|
||||
app := cli.NewApp()
|
||||
app.Commands = []cli.Command{controlCmd}
|
||||
|
||||
// Initialize done channel specifically for each tests.
|
||||
globalServiceDoneCh = make(chan struct{}, 1)
|
||||
// Initialize signal channel specifically for each tests.
|
||||
globalServiceSignalCh = make(chan serviceSignal, 1)
|
||||
|
||||
// start test server
|
||||
testServer := StartTestServer(t, "XL")
|
||||
|
||||
// schedule cleanup at the end
|
||||
defer testServer.Stop()
|
||||
|
||||
// fetch http server endpoint
|
||||
url := testServer.Server.URL
|
||||
|
||||
// Create args to call
|
||||
args := []string{"./minio", "control", "service", "status", url}
|
||||
|
||||
// run app
|
||||
err := app.Run(args)
|
||||
if err != nil {
|
||||
t.Errorf("Control-Service-Status-Main test failed with - %s", err)
|
||||
}
|
||||
|
||||
// Create args to call
|
||||
args = []string{"./minio", "control", "service", "stop", url}
|
||||
|
||||
// run app
|
||||
err = app.Run(args)
|
||||
if err != nil {
|
||||
t.Errorf("Control-Service-Stop-Main test failed with - %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Test to call serviceControl(restart) in control-service-main.go
|
||||
func TestControlServiceRestartMain(t *testing.T) {
|
||||
// create cli app for testing
|
||||
app := cli.NewApp()
|
||||
app.Commands = []cli.Command{controlCmd}
|
||||
|
||||
// Initialize done channel specifically for each tests.
|
||||
globalServiceDoneCh = make(chan struct{}, 1)
|
||||
// Initialize signal channel specifically for each tests.
|
||||
globalServiceSignalCh = make(chan serviceSignal, 1)
|
||||
|
||||
// start test server
|
||||
testServer := StartTestServer(t, "XL")
|
||||
|
||||
// schedule cleanup at the end
|
||||
defer testServer.Stop()
|
||||
|
||||
// fetch http server endpoint
|
||||
url := testServer.Server.URL
|
||||
|
||||
// Create args to call
|
||||
args := []string{"./minio", "control", "service", "restart", url}
|
||||
|
||||
// run app
|
||||
err := app.Run(args)
|
||||
if err != nil {
|
||||
t.Errorf("Control-Service-Restart-Main test failed with - %s", err)
|
||||
}
|
||||
|
||||
// Initialize done channel specifically for each tests.
|
||||
globalServiceDoneCh = make(chan struct{}, 1)
|
||||
// Initialize signal channel specifically for each tests.
|
||||
globalServiceSignalCh = make(chan serviceSignal, 1)
|
||||
|
||||
// Create args to call
|
||||
args = []string{"./minio", "control", "service", "stop", url}
|
||||
|
||||
// run app
|
||||
err = app.Run(args)
|
||||
if err != nil {
|
||||
t.Errorf("Control-Service-Stop-Main test failed with - %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user