mirror of
https://github.com/minio/minio.git
synced 2024-12-24 06:05:55 -05:00
server: We should fail properly during server startup. (#2689)
Fixes #2688
This commit is contained in:
parent
16e4a7c200
commit
da9ae574df
@ -388,28 +388,30 @@ func serverMain(c *cli.Context) {
|
||||
return exitSuccess
|
||||
})
|
||||
|
||||
// Prints the formatted startup message.
|
||||
printStartupMessage(endPoints)
|
||||
|
||||
// Start server.
|
||||
// Configure TLS if certs are available.
|
||||
wait := make(chan struct{}, 1)
|
||||
go func(tls bool, wait chan<- struct{}) {
|
||||
if tls {
|
||||
err = apiServer.ListenAndServeTLS(mustGetCertFile(), mustGetKeyFile())
|
||||
} else {
|
||||
// Fallback to http.
|
||||
err = apiServer.ListenAndServe()
|
||||
}
|
||||
fatalIf(func() error {
|
||||
defer func() {
|
||||
wait <- struct{}{}
|
||||
|
||||
}()
|
||||
if tls {
|
||||
return apiServer.ListenAndServeTLS(mustGetCertFile(), mustGetKeyFile())
|
||||
} // Fallback to http.
|
||||
return apiServer.ListenAndServe()
|
||||
}(), "Failed to start minio server.")
|
||||
}(tls, wait)
|
||||
|
||||
// Wait for formatting of disks.
|
||||
err = formatDisks(disks, ignoredDisks)
|
||||
if err != nil {
|
||||
// FIXME: call graceful exit
|
||||
errorIf(err, "formatting storage disks failed")
|
||||
return
|
||||
}
|
||||
|
||||
// Once formatted, initialize object layer.
|
||||
newObject, err := newObjectLayer(disks, ignoredDisks)
|
||||
if err != nil {
|
||||
// FIXME: call graceful exit
|
||||
@ -417,12 +419,13 @@ func serverMain(c *cli.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
printEventNotifiers()
|
||||
// Prints the formatted startup message.
|
||||
printStartupMessage(endPoints)
|
||||
|
||||
objLayerMutex.Lock()
|
||||
globalObjectAPI = newObject
|
||||
objLayerMutex.Unlock()
|
||||
<-wait
|
||||
|
||||
fatalIf(err, "Failed to start minio server.")
|
||||
// Waits on the server.
|
||||
<-wait
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ func printServerCommonMsg(endPoints []string) {
|
||||
console.Println(colorBlue("AccessKey: ") + colorBold(fmt.Sprintf("%s ", cred.AccessKeyID)))
|
||||
console.Println(colorBlue("SecretKey: ") + colorBold(fmt.Sprintf("%s ", cred.SecretAccessKey)))
|
||||
console.Println(colorBlue("Region: ") + colorBold(fmt.Sprintf(getFormatStr(len(region), 3), region)))
|
||||
printEventNotifiers()
|
||||
|
||||
console.Println(colorBlue("\nBrowser Access:"))
|
||||
console.Println(fmt.Sprintf(getFormatStr(len(endPointStr), 3), endPointStr))
|
||||
@ -71,12 +72,12 @@ func printEventNotifiers() {
|
||||
// In case initEventNotifier() was not done or failed.
|
||||
return
|
||||
}
|
||||
arnMsg := colorBlue("\nSQS ARNs: ")
|
||||
arnMsg := colorBlue("SQS ARNs: ")
|
||||
if len(globalEventNotifier.queueTargets) == 0 {
|
||||
arnMsg += colorBold(fmt.Sprintf(getFormatStr(len("<none>"), 2), "<none>"))
|
||||
arnMsg += colorBold(fmt.Sprintf(getFormatStr(len("<none>"), 1), "<none>"))
|
||||
}
|
||||
for queueArn := range globalEventNotifier.queueTargets {
|
||||
arnMsg += colorBold(fmt.Sprintf(getFormatStr(len(queueArn), 2), queueArn))
|
||||
arnMsg += colorBold(fmt.Sprintf(getFormatStr(len(queueArn), 1), queueArn))
|
||||
}
|
||||
console.Println(arnMsg)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user