From 8a25f3a4be02673f79224689e4da9b40126bd5b3 Mon Sep 17 00:00:00 2001 From: Victor Castell Date: Sat, 12 Dec 2015 00:45:45 +0100 Subject: [PATCH 1/5] Docs --- docs/docs/getting-started.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs/getting-started.md b/docs/docs/getting-started.md index bc2bac4e4..4d1a23bab 100644 --- a/docs/docs/getting-started.md +++ b/docs/docs/getting-started.md @@ -32,9 +32,9 @@ Dkron relies on the key-value store for data storage, you can run an instance of It can use etcd, Consul or Zookeeper as data stores. To install any of this systems got to their web site: -- etcd: https://coreos.com/etcd/docs/latest/ -- Consul: https://consul.io/intro/getting-started/install.html -- ZooKeeper: https://zookeeper.apache.org/doc/r3.3.3/zookeeperStarted.html +- [etcd](https://coreos.com/etcd/docs/latest/) +- [Consul](https://consul.io/intro/getting-started/install.html) +- [ZooKeeper](https://zookeeper.apache.org/doc/r3.3.3/zookeeperStarted.html) ## Installation From 973fe54488697adc81d293b48f3279610875c6d6 Mon Sep 17 00:00:00 2001 From: Victor Castell Date: Fri, 18 Dec 2015 16:45:47 +0100 Subject: [PATCH 2/5] Don't modify job tags --- dkron/agent.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/dkron/agent.go b/dkron/agent.go index 4c11ccb54..8699c0958 100644 --- a/dkron/agent.go +++ b/dkron/agent.go @@ -671,7 +671,7 @@ func (a *AgentCommand) join(addrs []string, replay bool) (n int, err error) { } func (a *AgentCommand) RunQuery(job *Job) { - filterNodes, err := a.processFilteredNodes(job) + filterNodes, filterTags, err := a.processFilteredNodes(job) if err != nil { log.WithFields(logrus.Fields{ "job": job.Name, @@ -683,7 +683,7 @@ func (a *AgentCommand) RunQuery(job *Job) { params := &serf.QueryParam{ FilterNodes: filterNodes, - FilterTags: job.Tags, + FilterTags: filterTags, RequestAck: true, } @@ -697,6 +697,7 @@ func (a *AgentCommand) RunQuery(job *Job) { log.WithFields(logrus.Fields{ "query": QueryRunJob, "job_name": ex.JobName, + "json": string(exJson), }).Debug("agent: Sending query") qr, err := a.serf.Query(QueryRunJob, exJson, params) @@ -739,19 +740,21 @@ func (a *AgentCommand) RunQuery(job *Job) { } -func (a *AgentCommand) processFilteredNodes(job *Job) ([]string, error) { +func (a *AgentCommand) processFilteredNodes(job *Job) ([]string, map[string]string, error) { var nodes []string + tags := job.Tags + for jtk, jtv := range job.Tags { var tc []string if tc = strings.Split(jtv, ":"); len(tc) == 2 { tv := tc[0] // Set original tag to clean tag - job.Tags[jtk] = tv + tags[jtk] = tv count, err := strconv.Atoi(tc[1]) if err != nil { - return nil, err + return nil, nil, err } for _, member := range a.serf.Members() { @@ -766,7 +769,7 @@ func (a *AgentCommand) processFilteredNodes(job *Job) ([]string, error) { } } - return nodes, nil + return nodes, tags, nil } func (a *AgentCommand) setExecution(payload []byte) *Execution { From d266107caa5e87ffec03be068fd5163d28ad87d6 Mon Sep 17 00:00:00 2001 From: Victor Castell Date: Fri, 18 Dec 2015 16:47:16 +0100 Subject: [PATCH 3/5] Ignore consul data dir --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8a9d15115..09f9f90f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.consul *.etcd site/ docs/scss/Gemfile.lock From d3f793c977a0b6e61429b6302ee433e08184b2ce Mon Sep 17 00:00:00 2001 From: Victor Castell Date: Fri, 18 Dec 2015 16:59:35 +0100 Subject: [PATCH 4/5] Fix test --- dkron/agent_test.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dkron/agent_test.go b/dkron/agent_test.go index fbdaa6ef7..8c25ac4dd 100644 --- a/dkron/agent_test.go +++ b/dkron/agent_test.go @@ -224,12 +224,16 @@ func Test_processFilteredNodes(t *testing.T) { } time.Sleep(2 * time.Second) - nodes, err := a.processFilteredNodes(job) + nodes, tags, err := a.processFilteredNodes(job) if nodes[0] != "test1" || nodes[1] != "test2" { t.Fatal("Not expected returned nodes") } + if tags["role"] != "test" { + t.Fatal("Tags error, expected: test, got %s", tags["role"]) + } + // Send a shutdown request shutdownCh <- struct{}{} shutdownCh2 <- struct{}{} From 154c4b3c61e4807dcd32e5f5c7131cd381d98655 Mon Sep 17 00:00:00 2001 From: Victor Castell Date: Fri, 18 Dec 2015 17:05:21 +0100 Subject: [PATCH 5/5] vet format --- dkron/agent_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkron/agent_test.go b/dkron/agent_test.go index 8c25ac4dd..a6f6bb4be 100644 --- a/dkron/agent_test.go +++ b/dkron/agent_test.go @@ -231,7 +231,7 @@ func Test_processFilteredNodes(t *testing.T) { } if tags["role"] != "test" { - t.Fatal("Tags error, expected: test, got %s", tags["role"]) + t.Fatalf("Tags error, expected: test, got %s", tags["role"]) } // Send a shutdown request