----------------------------------------------------------- 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