(ociswrapper): separate ociswrapper logs from ocis logs (#6776)

This commit is contained in:
Sawjan Gurung
2023-07-12 11:32:03 +05:45
committed by GitHub
parent 0661bc4aa7
commit db39d6b7aa
3 changed files with 35 additions and 22 deletions
+11
View File
@@ -0,0 +1,11 @@
package log
import "log"
func Println(message string) {
log.Println("[ociswrapper]", message)
}
func Panic(err error) {
log.Panic("[ociswrapper] ", err.Error())
}
+21 -20
View File
@@ -4,7 +4,6 @@ import (
"bufio" "bufio"
"crypto/tls" "crypto/tls"
"fmt" "fmt"
"log"
"net/http" "net/http"
"os" "os"
"os/exec" "os/exec"
@@ -12,6 +11,7 @@ import (
"time" "time"
"ociswrapper/common" "ociswrapper/common"
"ociswrapper/log"
"ociswrapper/ocis/config" "ociswrapper/ocis/config"
) )
@@ -33,45 +33,48 @@ func Start(envMap map[string]any) {
} }
cmd.Env = append(cmd.Env, environments...) cmd.Env = append(cmd.Env, environments...)
stderr, err := cmd.StderrPipe() logs, err := cmd.StderrPipe()
if err != nil { if err != nil {
fmt.Println(err) log.Panic(err)
} }
stdout, err := cmd.StdoutPipe() output, err := cmd.StdoutPipe()
if err != nil { if err != nil {
fmt.Println(err) log.Panic(err)
} }
err = cmd.Start() err = cmd.Start()
if err != nil { if err != nil {
fmt.Println(err) log.Panic(err)
} }
stderrScanner := bufio.NewScanner(stderr) // Read and print the logs when the 'ocis server' command is running
for stderrScanner.Scan() { logScanner := bufio.NewScanner(logs)
m := stderrScanner.Text() for logScanner.Scan() {
m := logScanner.Text()
fmt.Println(m) fmt.Println(m)
} }
stdoutScanner := bufio.NewScanner(stdout) // Read output when the 'ocis server' command gets exited
for stdoutScanner.Scan() { outputScanner := bufio.NewScanner(output)
m := stdoutScanner.Text() for outputScanner.Scan() {
m := outputScanner.Text()
fmt.Println(m) fmt.Println(m)
retryCount++ retryCount++
maxRetry, _ := strconv.Atoi(config.Get("retry")) maxRetry, _ := strconv.Atoi(config.Get("retry"))
if retryCount <= maxRetry { if retryCount <= maxRetry {
fmt.Println(fmt.Sprintf("Retry starting oCIS server... (retry %v)", retryCount)) log.Println(fmt.Sprintf("Retry starting oCIS server... (retry %v)", retryCount))
// Stop and start again // Stop and start again
Stop() Stop()
Start(envMap) Start(envMap)
} }
} }
cmd.Wait()
} }
func Stop() { func Stop() {
err := cmd.Process.Kill() err := cmd.Process.Kill()
if err != nil { if err != nil {
log.Panic("Cannot kill oCIS server") log.Panic(err)
} }
cmd.Wait() cmd.Wait()
} }
@@ -93,14 +96,12 @@ func WaitForConnection() bool {
for { for {
select { select {
case <-timeout: case <-timeout:
fmt.Println(fmt.Sprintf("%v seconds timeout waiting for oCIS server", int64(timeoutValue.Seconds()))) log.Println(fmt.Sprintf("%v seconds timeout waiting for oCIS server", int64(timeoutValue.Seconds())))
return false return false
default: default:
_, err := client.Get(config.Get("url")) _, err := client.Get(config.Get("url"))
if err != nil { if err == nil {
fmt.Println("Waiting for oCIS server...") log.Println("oCIS server is ready to accept requests")
} else {
fmt.Println(fmt.Sprintf("oCIS server is ready to accept requests"))
return true return true
} }
// 500 milliseconds poll interval // 500 milliseconds poll interval
@@ -110,7 +111,7 @@ func WaitForConnection() bool {
} }
func Restart(envMap map[string]any) bool { func Restart(envMap map[string]any) bool {
log.Print("Restarting oCIS server...") log.Println("Restarting oCIS server...")
Stop() Stop()
common.Wg.Add(1) common.Wg.Add(1)
+3 -2
View File
@@ -1,9 +1,10 @@
package wrapper package wrapper
import ( import (
"log" "fmt"
"net/http" "net/http"
"ociswrapper/common" "ociswrapper/common"
"ociswrapper/log"
"ociswrapper/ocis/config" "ociswrapper/ocis/config"
"ociswrapper/wrapper/handlers" "ociswrapper/wrapper/handlers"
) )
@@ -26,7 +27,7 @@ func Start(port string) {
httpServer.Handler = mux httpServer.Handler = mux
log.Printf("Starting server on port %s...", port) log.Println(fmt.Sprintf("Starting ociswrapper on port %s...", port))
err := httpServer.ListenAndServe() err := httpServer.ListenAndServe()
if err != nil { if err != nil {