|
|
|
@ -125,13 +125,60 @@ func powerOffOracleHandler(writer http.ResponseWriter, request *http.Request) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func powerOnProliant() bool { |
|
|
|
cmd := exec.Command("bash", "-c", "./start_proliant.sh") |
|
|
|
err := cmd.Run() |
|
|
|
if err == nil { |
|
|
|
fmt.Println("Starting Proliant command succeeded") |
|
|
|
return true |
|
|
|
} else { |
|
|
|
fmt.Println("Error Starting Proliant", err) |
|
|
|
return false |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func powerOffProliant() bool { |
|
|
|
cmd := exec.Command("bash", "-c", "./stop_proliant.sh") |
|
|
|
err := cmd.Run() |
|
|
|
if err == nil { |
|
|
|
fmt.Println("Stopping Proliant command succeeded") |
|
|
|
return true |
|
|
|
} else { |
|
|
|
fmt.Println("Error Stopping Proliant", err) |
|
|
|
return false |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func powerOnProliantHandler(writer http.ResponseWriter, request *http.Request) { |
|
|
|
result := powerOnProliant() |
|
|
|
if result == true { |
|
|
|
time.Sleep(10 * time.Second) |
|
|
|
http.Redirect(writer, request, "/", 302) |
|
|
|
} else { |
|
|
|
// TODO: Ver como render el error
|
|
|
|
http.Redirect(writer, request, "/", 302) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func powerOffProliantHandler(writer http.ResponseWriter, request *http.Request) { |
|
|
|
result := powerOffProliant() |
|
|
|
if result == true { |
|
|
|
time.Sleep(10 * time.Second) |
|
|
|
http.Redirect(writer, request, "/", 302) |
|
|
|
} else { |
|
|
|
// TODO: Ver como render el error
|
|
|
|
http.Redirect(writer, request, "/", 302) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func main() { |
|
|
|
loadTemplates() |
|
|
|
|
|
|
|
http.HandleFunc("/", indexHandler) |
|
|
|
http.HandleFunc("/power-on-oracle", powerOnOracleHandler) |
|
|
|
http.HandleFunc("/power-off-oracle", powerOffOracleHandler) |
|
|
|
|
|
|
|
http.HandleFunc("/power-on-proliant", powerOnProliantHandler) |
|
|
|
http.HandleFunc("/power-off-proliant", powerOffProliantHandler) |
|
|
|
err := http.ListenAndServe(":5001", nil) |
|
|
|
if err != nil { |
|
|
|
fmt.Println(err) |
|
|
|
|