An example implementation <https://reviews.apache.org/r/23863/> of an announcer is now available. It can be enabled with the --announcer-enable and --announce-ensemble flags passed to the Aurora executor. There is a ticket <https://issues.apache.org/jira/browse/AURORA-598> open to make passing command line flags to the executor easier, but in the meantime this can be accomplished using a wrapper script or by building your own custom executor with the flag defaults overridden.
The example Announcer announces via Zookeeper using the ServerSet protocol. Jobs specifying an 'announce' attribute are announced into the zookeeper tree at /aurora/{{role}}/{{environment}}/{{name}}. Announcing consists of writing an ephemeral/sequential znode containing information about instance id and ports allocated by the task. More information about ServerSets and client libraries for them can be found in the user guide here: https://github.com/apache/incubator-aurora/blob/master/docs/user-guide.md#user-content-service-discovery More information about controlling the mapping of ports and how they're announced can be found in the configuration reference: https://github.com/apache/incubator-aurora/blob/master/docs/configuration-reference.md#announcer-objects This work does not preclude alternate announcer implementations -- instead it demonstrates how one can add an announcing mechanism using the status_providers API in the AuroraExecutor. If you have any questions, don't hesitate to ask. Thanks, ~brian