mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
events: emit event when job is deleted (#19903)
When jobs are deregistered with the `purge` flag they are immediately deleted from the state store instead of just updated to be marked as stopped. Without tracking job deletions the event stream would not receive a `JobDeregistered` event when `purge` was set.
This commit is contained in:
3
.changelog/19903.txt
Normal file
3
.changelog/19903.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
```release-note:improvement
|
||||
api: emit `JobDeregistered` event when job is deregistered with `purge`
|
||||
```
|
||||
@@ -125,6 +125,19 @@ func eventFromChange(change memdb.Change) (structs.Event, bool) {
|
||||
ACLBindingRule: before,
|
||||
},
|
||||
}, true
|
||||
case "jobs":
|
||||
before, ok := change.Before.(*structs.Job)
|
||||
if !ok {
|
||||
return structs.Event{}, false
|
||||
}
|
||||
return structs.Event{
|
||||
Topic: structs.TopicJob,
|
||||
Key: before.ID,
|
||||
Namespace: before.Namespace,
|
||||
Payload: &structs.JobEvent{
|
||||
Job: before,
|
||||
},
|
||||
}, true
|
||||
case "nodes":
|
||||
before, ok := change.Before.(*structs.Node)
|
||||
if !ok {
|
||||
|
||||
@@ -726,7 +726,7 @@ func TestEventsFromChanges_WithDeletion(t *testing.T) {
|
||||
event := eventsFromChanges(nil, changes)
|
||||
require.NotNil(t, event)
|
||||
|
||||
require.Len(t, event.Events, 1)
|
||||
require.Len(t, event.Events, 2)
|
||||
}
|
||||
|
||||
func TestEventsFromChanges_WithNodeDeregistration(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user