mirror of
https://github.com/kemko/nomad.git
synced 2026-01-06 02:15:43 +03:00
api: job deregister returns eval ID
This commit is contained in:
14
api/jobs.go
14
api/jobs.go
@@ -81,12 +81,13 @@ func (j *Jobs) Evaluations(jobID string, q *QueryOptions) ([]*Evaluation, *Query
|
||||
}
|
||||
|
||||
// Delete is used to remove an existing job.
|
||||
func (j *Jobs) Delete(jobID string, q *WriteOptions) (*WriteMeta, error) {
|
||||
wm, err := j.client.delete("/v1/job/"+jobID, nil, q)
|
||||
func (j *Jobs) Delete(jobID string, q *WriteOptions) (string, *WriteMeta, error) {
|
||||
var resp deregisterJobResponse
|
||||
wm, err := j.client.delete("/v1/job/"+jobID, &resp, q)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return "", nil, err
|
||||
}
|
||||
return wm, nil
|
||||
return resp.EvalID, wm, nil
|
||||
}
|
||||
|
||||
// ForceEvaluate is used to force-evaluate an existing job.
|
||||
@@ -206,3 +207,8 @@ type registerJobRequest struct {
|
||||
type registerJobResponse struct {
|
||||
EvalID string
|
||||
}
|
||||
|
||||
// deregisterJobResponse is used to decode a deregister response
|
||||
type deregisterJobResponse struct {
|
||||
EvalID string
|
||||
}
|
||||
|
||||
@@ -155,18 +155,21 @@ func TestJobs_Delete(t *testing.T) {
|
||||
assertWriteMeta(t, wm)
|
||||
|
||||
// Attempting delete on non-existing job does not error
|
||||
wm2, err := jobs.Delete("nope", nil)
|
||||
_, wm2, err := jobs.Delete("nope", nil)
|
||||
if err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
assertWriteMeta(t, wm2)
|
||||
|
||||
// Deleting an existing job works
|
||||
wm3, err := jobs.Delete("job1", nil)
|
||||
evalID, wm3, err := jobs.Delete("job1", nil)
|
||||
if err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
assertWriteMeta(t, wm3)
|
||||
if evalID == "" {
|
||||
t.Fatalf("missing eval ID")
|
||||
}
|
||||
|
||||
// Check that the job is really gone
|
||||
result, qm, err := jobs.List(nil)
|
||||
|
||||
Reference in New Issue
Block a user