Index: tokenserver/appengine/impl/certchecker/warmup.go |
diff --git a/tokenserver/appengine/impl/certchecker/warmup.go b/tokenserver/appengine/impl/certchecker/warmup.go |
index 8307d0aaac1f54b3999501e45d7eaec2d50e7f3c..713b298249f1b8d091f97e12606d8c2103064c96 100644 |
--- a/tokenserver/appengine/impl/certchecker/warmup.go |
+++ b/tokenserver/appengine/impl/certchecker/warmup.go |
@@ -7,12 +7,33 @@ package certchecker |
import ( |
"golang.org/x/net/context" |
+ "github.com/luci/luci-go/common/errors" |
+ "github.com/luci/luci-go/common/logging" |
"github.com/luci/luci-go/server/warmup" |
+ "github.com/luci/luci-go/tokenserver/appengine/impl/certconfig" |
) |
func init() { |
warmup.Register("tokenserver/appengine/impl/certchecker", func(c context.Context) error { |
- // TODO |
- return nil |
+ names, err := certconfig.ListCAs(c) |
+ if err != nil { |
+ return err |
+ } |
+ var merr errors.MultiError |
+ for _, cn := range names { |
+ logging.Infof(c, "Warming up %q", cn) |
+ checker, err := GetCertChecker(c, cn) |
+ if err == nil { |
+ _, err = checker.GetCA(c) |
+ } |
+ if err != nil { |
+ logging.WithError(err).Warningf(c, "Failed to warm up %q", cn) |
+ merr = append(merr, err) |
+ } |
+ } |
+ if len(merr) == 0 { |
+ return nil |
+ } |
+ return merr |
}) |
} |