From 9a92025084c977815040ecf762bd91af3f05f5d4 Mon Sep 17 00:00:00 2001 From: "Derrick J. Wippler" Date: Mon, 21 Dec 2020 14:00:18 -0600 Subject: [PATCH] Respect SIGTERM from docker during shutdown --- CHANGELOG | 3 +++ cmd/gubernator/main.go | 13 ++++++------- etcd.go | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index c9ed2053..26ebf0bf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,7 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [1.0.0-rc.5] - 2020-12-21 ### Change +* Respect SIGTERM from docker during shutdown. * Peer info provided to etcd and memberlist pools is now consistent. +### Added +* Added GUBER_K8S_WATCH_MECHANISM for k8s deployments. ## [1.0.0-rc.4] - 2020-12-18 ### Change diff --git a/cmd/gubernator/main.go b/cmd/gubernator/main.go index c1832cd2..fede97a5 100644 --- a/cmd/gubernator/main.go +++ b/cmd/gubernator/main.go @@ -22,6 +22,7 @@ import ( "os" "os/signal" "runtime" + "syscall" "github.com/mailgun/gubernator" "github.com/mailgun/holster/v3/clock" @@ -62,13 +63,11 @@ func main() { // Wait here for signals to clean up our mess c := make(chan os.Signal, 1) - signal.Notify(c, os.Interrupt) - for sig := range c { - if sig == os.Interrupt { - log.Info("caught interrupt; user requested premature exit") - daemon.Close() - os.Exit(0) - } + signal.Notify(c, os.Interrupt, syscall.SIGTERM) + for range c { + log.Info("caught signal; shutting down") + daemon.Close() + os.Exit(0) } } diff --git a/etcd.go b/etcd.go index ec873a41..c8d30f18 100644 --- a/etcd.go +++ b/etcd.go @@ -232,7 +232,7 @@ func (e *EtcdPool) watch() error { func (e *EtcdPool) register(peer PeerInfo) error { instanceKey := e.conf.KeyPrefix + peer.GRPCAddress - e.log.Infof("Registering peer '%s' with etcd", peer) + e.log.Infof("Registering peer '%#v' with etcd", peer) b, err := json.Marshal(peer) if err != nil {