Ensure seal finalizing happens even when using verify-only

This commit is contained in:
Jeff Mitchell 2016-04-28 18:04:31 +00:00
parent 4d22c904dc
commit b5b8ac8686

View File

@ -163,6 +163,14 @@ func (c *ServerCommand) Run(args []string) int {
var seal vault.Seal = &vault.DefaultSeal{}
// Ensure that the seal finalizer is called, even if using verify-only
defer func() {
err = seal.Finalize()
if err != nil {
c.Ui.Error(fmt.Sprintf("Error finalizing seals: %v", err))
}
}()
coreConfig := &vault.CoreConfig{
Physical: backend,
AdvertiseAddr: config.Backend.AdvertiseAddr,
@ -392,11 +400,6 @@ func (c *ServerCommand) Run(args []string) int {
listener.Close()
}
err = seal.Finalize()
if err != nil {
c.Ui.Error(fmt.Sprintf("Error finalizing seals: %v", err))
}
return 0
}