hack/e2e.go: listen for Interrupt signal and attempt cleanup if using --down

Signed-off-by: Jess Frazelle <me@jessfraz.com>
Signed-off-by: Jess Frazelle <acidburn@google.com>
This commit is contained in:
Jess Frazelle
2016-09-06 13:41:02 -07:00
committed by Jess Frazelle
parent 41f17bd9ac
commit da786a8dc5

View File

@@ -25,6 +25,7 @@ import (
"log" "log"
"os" "os"
"os/exec" "os/exec"
"os/signal"
"os/user" "os/user"
"path/filepath" "path/filepath"
"strconv" "strconv"
@@ -159,6 +160,21 @@ func main() {
log.Fatalf("Error creating deployer: %v", err) log.Fatalf("Error creating deployer: %v", err)
} }
if *down {
// listen for signals such as ^C and gracefully attempt to clean up
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt)
go func() {
for range c {
log.Print("Captured ^C, gracefully attempting to cleanup resources..")
if err := deploy.Down(); err != nil {
log.Printf("Tearing down deployment failed: %v", err)
os.Exit(1)
}
}
}()
}
if err := run(deploy); err != nil { if err := run(deploy); err != nil {
log.Fatalf("Something went wrong: %s", err) log.Fatalf("Something went wrong: %s", err)
} }