mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
fixes
This commit is contained in:
@@ -982,23 +982,29 @@ func (n *Node) DeriveVaultToken(args *structs.DeriveVaultTokenRequest,
|
||||
results := make(map[string]*vapi.Secret, len(args.Tasks))
|
||||
for i := 0; i < handlers; i++ {
|
||||
g.Go(func() error {
|
||||
task, ok := <-input
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
for {
|
||||
select {
|
||||
case task, ok := <-input:
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
|
||||
secret, err := n.srv.vault.CreateToken(ctx, alloc, task)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create token for task %q: %v", task, err)
|
||||
}
|
||||
secret, err := n.srv.vault.CreateToken(ctx, alloc, task)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create token for task %q: %v", task, err)
|
||||
}
|
||||
|
||||
results[task] = secret
|
||||
return nil
|
||||
results[task] = secret
|
||||
case <-ctx.Done():
|
||||
return nil
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Send the input
|
||||
go func() {
|
||||
defer close(input)
|
||||
for _, task := range args.Tasks {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
@@ -1006,6 +1012,7 @@ func (n *Node) DeriveVaultToken(args *structs.DeriveVaultTokenRequest,
|
||||
case input <- task:
|
||||
}
|
||||
}
|
||||
|
||||
}()
|
||||
|
||||
// Wait for everything to complete or for an error
|
||||
|
||||
@@ -421,7 +421,7 @@ func (v *vaultClient) Stop() {
|
||||
|
||||
v.l.Lock()
|
||||
defer v.l.Unlock()
|
||||
if !v.renewalRunning || !v.establishingConn {
|
||||
if !v.renewalRunning && !v.establishingConn {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ func TestVaultClient_BadConfig(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("Unexpected error: %v", err)
|
||||
}
|
||||
defer client.Stop()
|
||||
|
||||
if client.ConnectionEstablished() {
|
||||
t.Fatalf("bad")
|
||||
@@ -184,6 +185,7 @@ func TestVaultClient_LookupToken_Invalid(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("failed to build vault client: %v", err)
|
||||
}
|
||||
defer client.Stop()
|
||||
|
||||
_, err = client.LookupToken(context.Background(), "foo")
|
||||
if err == nil || !strings.Contains(err.Error(), "disabled") {
|
||||
@@ -222,6 +224,7 @@ func TestVaultClient_LookupToken(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("failed to build vault client: %v", err)
|
||||
}
|
||||
defer client.Stop()
|
||||
|
||||
waitForConnection(client, t)
|
||||
|
||||
@@ -281,6 +284,7 @@ func TestVaultClient_LookupToken_RateLimit(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("failed to build vault client: %v", err)
|
||||
}
|
||||
defer client.Stop()
|
||||
client.setLimit(rate.Limit(1.0))
|
||||
|
||||
waitForConnection(client, t)
|
||||
@@ -334,6 +338,7 @@ func TestVaultClient_CreateToken_Root(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("failed to build vault client: %v", err)
|
||||
}
|
||||
defer client.Stop()
|
||||
|
||||
waitForConnection(client, t)
|
||||
|
||||
|
||||
@@ -119,6 +119,6 @@ func (tv *TestVault) waitForAPI() {
|
||||
// getPort returns the next available port to bind Vault against
|
||||
func getPort() uint64 {
|
||||
p := vaultStartPort + vaultPortOffset
|
||||
offset += 1
|
||||
vaultPortOffset += 1
|
||||
return p
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user