diff --git a/vendor/github.com/hashicorp/consul-template/dependency/catalog_node.go b/vendor/github.com/hashicorp/consul-template/dependency/catalog_node.go index f4764200b..d2e10b162 100644 --- a/vendor/github.com/hashicorp/consul-template/dependency/catalog_node.go +++ b/vendor/github.com/hashicorp/consul-template/dependency/catalog_node.go @@ -76,20 +76,23 @@ func (d *CatalogNodeQuery) Fetch(clients *ClientSet, opts *QueryOptions) (interf Datacenter: d.dc, }) - if d.name == "" { + // Grab the name + name := d.name + + if name == "" { log.Printf("[TRACE] %s: getting local agent name", d) - name, err := clients.Consul().Agent().NodeName() + var err error + name, err = clients.Consul().Agent().NodeName() if err != nil { return nil, nil, errors.Wrapf(err, d.String()) } - d.name = name } log.Printf("[TRACE] %s: GET %s", d, &url.URL{ - Path: "/v1/catalog/node/" + d.name, + Path: "/v1/catalog/node/" + name, RawQuery: opts.String(), }) - node, qm, err := clients.Consul().Catalog().Node(d.name, opts.ToConsulOpts()) + node, qm, err := clients.Consul().Catalog().Node(name, opts.ToConsulOpts()) if err != nil { return nil, nil, errors.Wrap(err, d.String()) } @@ -102,7 +105,7 @@ func (d *CatalogNodeQuery) Fetch(clients *ClientSet, opts *QueryOptions) (interf } if node == nil { - log.Printf("[WARN] %s: no node exists with the name %q", d, d.name) + log.Printf("[WARN] %s: no node exists with the name %q", d, name) var node CatalogNode return &node, rm, nil } diff --git a/vendor/github.com/hashicorp/consul-template/dependency/catalog_services.go b/vendor/github.com/hashicorp/consul-template/dependency/catalog_services.go index 903ed0779..06ce03a77 100644 --- a/vendor/github.com/hashicorp/consul-template/dependency/catalog_services.go +++ b/vendor/github.com/hashicorp/consul-template/dependency/catalog_services.go @@ -45,7 +45,8 @@ func NewCatalogServicesQuery(s string) (*CatalogServicesQuery, error) { m := regexpMatch(CatalogServicesQueryRe, s) return &CatalogServicesQuery{ - dc: m["dc"], + stopCh: make(chan struct{}, 1), + dc: m["dc"], }, nil } diff --git a/vendor/github.com/hashicorp/consul-template/dependency/file.go b/vendor/github.com/hashicorp/consul-template/dependency/file.go index f9e12d9d7..3f9fb52e8 100644 --- a/vendor/github.com/hashicorp/consul-template/dependency/file.go +++ b/vendor/github.com/hashicorp/consul-template/dependency/file.go @@ -36,8 +36,8 @@ func NewFileQuery(s string) (*FileQuery, error) { } return &FileQuery{ - path: s, stopCh: make(chan struct{}, 1), + path: s, }, nil } diff --git a/vendor/github.com/hashicorp/consul-template/dependency/kv_get.go b/vendor/github.com/hashicorp/consul-template/dependency/kv_get.go index 2130529a9..a075ea5df 100644 --- a/vendor/github.com/hashicorp/consul-template/dependency/kv_get.go +++ b/vendor/github.com/hashicorp/consul-template/dependency/kv_get.go @@ -34,9 +34,9 @@ func NewKVGetQuery(s string) (*KVGetQuery, error) { m := regexpMatch(KVGetQueryRe, s) return &KVGetQuery{ + stopCh: make(chan struct{}, 1), dc: m["dc"], key: m["key"], - stopCh: make(chan struct{}, 1), }, nil } diff --git a/vendor/github.com/hashicorp/consul-template/dependency/kv_keys.go b/vendor/github.com/hashicorp/consul-template/dependency/kv_keys.go index a8014cad0..60e1ef7e4 100644 --- a/vendor/github.com/hashicorp/consul-template/dependency/kv_keys.go +++ b/vendor/github.com/hashicorp/consul-template/dependency/kv_keys.go @@ -34,9 +34,9 @@ func NewKVKeysQuery(s string) (*KVKeysQuery, error) { m := regexpMatch(KVKeysQueryRe, s) return &KVKeysQuery{ + stopCh: make(chan struct{}, 1), dc: m["dc"], prefix: m["prefix"], - stopCh: make(chan struct{}, 1), }, nil } diff --git a/vendor/github.com/hashicorp/consul-template/dependency/kv_list.go b/vendor/github.com/hashicorp/consul-template/dependency/kv_list.go index 9feecefb6..8f63dcfbf 100644 --- a/vendor/github.com/hashicorp/consul-template/dependency/kv_list.go +++ b/vendor/github.com/hashicorp/consul-template/dependency/kv_list.go @@ -48,9 +48,9 @@ func NewKVListQuery(s string) (*KVListQuery, error) { m := regexpMatch(KVListQueryRe, s) return &KVListQuery{ + stopCh: make(chan struct{}, 1), dc: m["dc"], prefix: m["prefix"], - stopCh: make(chan struct{}, 1), }, nil } diff --git a/vendor/github.com/hashicorp/consul-template/dependency/vault_list.go b/vendor/github.com/hashicorp/consul-template/dependency/vault_list.go index d998b843b..3e80fd293 100644 --- a/vendor/github.com/hashicorp/consul-template/dependency/vault_list.go +++ b/vendor/github.com/hashicorp/consul-template/dependency/vault_list.go @@ -32,8 +32,8 @@ func NewVaultListQuery(s string) (*VaultListQuery, error) { } return &VaultListQuery{ - path: s, stopCh: make(chan struct{}, 1), + path: s, }, nil } @@ -70,29 +70,33 @@ func (d *VaultListQuery) Fetch(clients *ClientSet, opts *QueryOptions) (interfac return nil, nil, errors.Wrap(err, d.String()) } + var result []string + // The secret could be nil if it does not exist. if secret == nil || secret.Data == nil { - return respWithMetadata([]string{}) + log.Printf("[TRACE] %s: no data", d) + return respWithMetadata(result) } // This is a weird thing that happened once... keys, ok := secret.Data["keys"] if !ok { - return respWithMetadata([]string{}) + log.Printf("[TRACE] %s: no keys", d) + return respWithMetadata(result) } list, ok := keys.([]interface{}) if !ok { + log.Printf("[TRACE] %s: not list", d) return nil, nil, fmt.Errorf("%s: unexpected response", d) } - result := make([]string, len(list)) - for i, v := range list { + for _, v := range list { typed, ok := v.(string) if !ok { return nil, nil, fmt.Errorf("%s: non-string in list", d) } - result[i] = typed + result = append(result, typed) } sort.Strings(result) diff --git a/vendor/github.com/hashicorp/consul-template/dependency/vault_read.go b/vendor/github.com/hashicorp/consul-template/dependency/vault_read.go index 95aaa147e..f33524c62 100644 --- a/vendor/github.com/hashicorp/consul-template/dependency/vault_read.go +++ b/vendor/github.com/hashicorp/consul-template/dependency/vault_read.go @@ -32,8 +32,8 @@ func NewVaultReadQuery(s string) (*VaultReadQuery, error) { } return &VaultReadQuery{ - path: s, stopCh: make(chan struct{}, 1), + path: s, }, nil } diff --git a/vendor/github.com/hashicorp/consul-template/dependency/vault_write.go b/vendor/github.com/hashicorp/consul-template/dependency/vault_write.go index f0bb7906c..1bbd80b32 100644 --- a/vendor/github.com/hashicorp/consul-template/dependency/vault_write.go +++ b/vendor/github.com/hashicorp/consul-template/dependency/vault_write.go @@ -37,10 +37,10 @@ func NewVaultWriteQuery(s string, d map[string]interface{}) (*VaultWriteQuery, e } return &VaultWriteQuery{ + stopCh: make(chan struct{}, 1), path: s, data: d, dataHash: sha1Map(d), - stopCh: make(chan struct{}, 1), }, nil } diff --git a/vendor/github.com/hashicorp/consul-template/template/funcs.go b/vendor/github.com/hashicorp/consul-template/template/funcs.go index 2138c6074..8aac7fd4e 100644 --- a/vendor/github.com/hashicorp/consul-template/template/funcs.go +++ b/vendor/github.com/hashicorp/consul-template/template/funcs.go @@ -288,7 +288,7 @@ func nodesFunc(b *Brain, used, missing *dep.Set) func(...string) ([]*dep.Node, e // secretFunc returns or accumulates secret dependencies from Vault. func secretFunc(b *Brain, used, missing *dep.Set) func(...string) (*dep.Secret, error) { return func(s ...string) (*dep.Secret, error) { - result := &dep.Secret{} + var result *dep.Secret if len(s) == 0 { return result, nil @@ -300,7 +300,7 @@ func secretFunc(b *Brain, used, missing *dep.Set) func(...string) (*dep.Secret, for _, str := range rest { parts := strings.SplitN(str, "=", 2) if len(parts) != 2 { - return result, nil + return result, fmt.Errorf("not k=v pair %q", str) } k, v := strings.TrimSpace(parts[0]), strings.TrimSpace(parts[1]) @@ -336,7 +336,7 @@ func secretFunc(b *Brain, used, missing *dep.Set) func(...string) (*dep.Secret, // secretsFunc returns or accumulates a list of secret dependencies from Vault. func secretsFunc(b *Brain, used, missing *dep.Set) func(string) ([]string, error) { return func(s string) ([]string, error) { - result := []string{} + var result []string if len(s) == 0 { return result, nil diff --git a/vendor/vendor.json b/vendor/vendor.json index 0be305694..8175d6b8c 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -503,44 +503,44 @@ { "checksumSHA1": "gx2CAg/v3k7kfBA/rT5NCkI0jDI=", "path": "github.com/hashicorp/consul-template/child", - "revision": "81e8f468004caef5755e1073fe39ff48203a89b6", - "revisionTime": "2017-01-13T23:20:51Z" + "revision": "8bf2ce9e0cdcd60d799a75262b90468d24ee392e", + "revisionTime": "2017-01-20T21:50:49Z" }, { "checksumSHA1": "1EAiHEm1b/m3KWy08U7yrAvDlms=", "path": "github.com/hashicorp/consul-template/config", - "revision": "81e8f468004caef5755e1073fe39ff48203a89b6", - "revisionTime": "2017-01-13T23:20:51Z" + "revision": "8bf2ce9e0cdcd60d799a75262b90468d24ee392e", + "revisionTime": "2017-01-20T21:50:49Z" }, { - "checksumSHA1": "DtjuCLwZmI1QjzsRGWZU+tnedC8=", + "checksumSHA1": "/SBscJ0TqJlOZjKqkbUYMa5c5rk=", "path": "github.com/hashicorp/consul-template/dependency", - "revision": "d6391c0e0c526ad3596401cda740531f17f7ad3a", - "revisionTime": "2017-01-14T21:20:18Z" + "revision": "8bf2ce9e0cdcd60d799a75262b90468d24ee392e", + "revisionTime": "2017-01-20T21:50:49Z" }, { "checksumSHA1": "efWxWe8blQflfYZFU1WSIks2Tbw=", "path": "github.com/hashicorp/consul-template/manager", - "revision": "7c612ca82dcd04029034dc93fa780b330d0d556f", - "revisionTime": "2017-01-17T17:45:35Z" + "revision": "8bf2ce9e0cdcd60d799a75262b90468d24ee392e", + "revisionTime": "2017-01-20T21:50:49Z" }, { "checksumSHA1": "oskgb0WteBKOItG8NNDduM7E/D0=", "path": "github.com/hashicorp/consul-template/signals", - "revision": "81e8f468004caef5755e1073fe39ff48203a89b6", - "revisionTime": "2017-01-13T23:20:51Z" + "revision": "8bf2ce9e0cdcd60d799a75262b90468d24ee392e", + "revisionTime": "2017-01-20T21:50:49Z" }, { - "checksumSHA1": "0pGBuG4JrLmXMoXYahW9cH++lOA=", + "checksumSHA1": "qZEh52+ryjQjwRWxMZ9eEPa6OBI=", "path": "github.com/hashicorp/consul-template/template", - "revision": "81e8f468004caef5755e1073fe39ff48203a89b6", - "revisionTime": "2017-01-13T23:20:51Z" + "revision": "8bf2ce9e0cdcd60d799a75262b90468d24ee392e", + "revisionTime": "2017-01-20T21:50:49Z" }, { "checksumSHA1": "cl9R28+I+YT6a0Z+KQFP//wuC+0=", "path": "github.com/hashicorp/consul-template/watch", - "revision": "81e8f468004caef5755e1073fe39ff48203a89b6", - "revisionTime": "2017-01-13T23:20:51Z" + "revision": "8bf2ce9e0cdcd60d799a75262b90468d24ee392e", + "revisionTime": "2017-01-20T21:50:49Z" }, { "checksumSHA1": "kWbL0V4o8vJL75mzeQzhF6p5jiQ=",