Skip to content

Commit

Permalink
Merge pull request #2495 from hashicorp/b-vault-stop-renew
Browse files Browse the repository at this point in the history
Stop Vault token renew on task exit
  • Loading branch information
dadgar authored Mar 28, 2017
2 parents cc54cbc + c6a796e commit 87474b7
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 7 deletions.
4 changes: 4 additions & 0 deletions client/task_runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,10 @@ func (f *tokenFuture) Get() string {
// allows setting the initial Vault token. This is useful when the Vault token
// is recovered off disk.
func (r *TaskRunner) vaultManager(token string) {
// Always stop renewing the token. If token is empty or untracked, it is a
// no-op so this is always safe.
defer r.vaultClient.StopRenewToken(r.vaultFuture.Get())

// updatedToken lets us store state between loops. If true, a new token
// has been retrieved and we need to apply the Vault change mode
var updatedToken bool
Expand Down
8 changes: 1 addition & 7 deletions client/vaultclient/vaultclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -457,9 +457,8 @@ func (c *vaultClient) renew(req *vaultClientRenewalRequest) error {
// item is tracked by the renewal loop, stop renewing
// it by removing the corresponding heap entry.
if err := c.heap.Remove(req.id); err != nil {
return fmt.Errorf("failed to remove heap entry. err: %v", err)
return fmt.Errorf("failed to remove heap entry: %v", err)
}
delete(c.heap.heapMap, req.id)

// Report the fatal error to the client
req.errCh <- renewalErr
Expand Down Expand Up @@ -578,15 +577,10 @@ func (c *vaultClient) stopRenew(id string) error {
return nil
}

// Remove the identifier from the heap
if err := c.heap.Remove(id); err != nil {
return fmt.Errorf("failed to remove heap entry: %v", err)
}

// Delete the identifier from the map only after the it is removed from
// the heap. Heap's remove method relies on the heap map.
delete(c.heap.heapMap, id)

// Signal an update to the renewal loop.
if c.running {
select {
Expand Down

0 comments on commit 87474b7

Please sign in to comment.