-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59940/
-----------------------------------------------------------

Review request for Aurora, David McLaughlin, Santhosh Kumar Shanmugham, Stephan 
Erb, and Zameer Manji.


Repository: aurora


Description
-------

Add a whitelist for TaskStateChange events in Webhook.

Aurora Scheduler has a webhook module that watches all TaskStateChanges and 
send events to configured endpoint. This will flood the endpoint with a lot of 
noise if we only care about certain types of TaskStateChange event(e.g. task 
state change from RUNNING -> LOST). This CR allows user to provide a whitelist 
of TaskStateChange event types in their webhook configuration file, so that the 
webhook will only post these events to the configured endpoint.


Diffs
-----

  src/main/java/org/apache/aurora/scheduler/events/Webhook.java 
3868779986285ac302d028f8713f683192951b83 
  src/main/java/org/apache/aurora/scheduler/events/WebhookInfo.java 
37c0d7944c7a37e1a5c65dafb290fcdd28765db3 
  src/main/java/org/apache/aurora/scheduler/events/WebhookModule.java 
1f10af71830386652d21961b733bd0927c5436a1 
  src/main/resources/org/apache/aurora/scheduler/webhook_whitelist.json 
PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/events/WebhookTest.java 
e8335d9b78dbf30bf3ae08b6bdd02018cea76f6b 


Diff: https://reviews.apache.org/r/59940/diff/1/


Testing
-------

./build-support/jenkins/build.sh

This change is backward compatible. By default, all TaskStateChange statuses 
will be matched and posted to the configured endpoint.

The user can also match all TaskStateChange statuses using a wildcard character 
"*" in webhook.json like below:
```
{
  "headers": {
    "Content-Type": "application/vnd.kafka.json.v1+json",
    "Producer-Type": "reliable"
  },
  "targetURL": "http://localhost:5000/";,
  "timeoutMsec": 50,
  "statuses": ["*"]
}
```

If they are only interested in TaskStateChange statuses: LOST, FAILED, they can 
provide them in the whitelist:
The user can also match all TaskStateChange statuses using a wildcard character 
"*" in webhook.json like below:
```
{
  "headers": {
    "Content-Type": "application/vnd.kafka.json.v1+json",
    "Producer-Type": "reliable"
  },
  "targetURL": "http://localhost:5000/";,
  "timeoutMsec": 50,
  "statuses": ["LOST", "FAILED"]
}
```


Thanks,

Kai Huang

Reply via email to