class Synapse::ZookeeperAuroraWatcher
Watcher for Zookeeper announcements from Apache Aurora
Public Instance Methods
deserialize_service_instance(data)
click to toggle source
# File lib/synapse/service_watcher/zookeeper_aurora.rb, line 55 def deserialize_service_instance(data) log.debug 'Deserializing process data' decoded = JSON.parse(data) name = decoded['shard'].to_s || fail("Instance JSON data missing 'shard' key") hostport = if @discovery['port_name'] decoded['additionalEndpoints'][@discovery['port_name']] || fail("Endpoint '#{@discovery['port_name']}' not found " \ 'in instance JSON data') else decoded['serviceEndpoint'] end host = hostport['host'] || fail("Instance JSON data missing 'host' key") port = hostport['port'] || fail("Instance JSON data missing 'port' key") [host, port, name] end
validate_discovery_opts()
click to toggle source
# File lib/synapse/service_watcher/zookeeper_aurora.rb, line 44 def validate_discovery_opts @discovery['method'] == 'zookeeper_aurora' || fail(ArgumentError, "Invalid discovery method: #{@discovery['method']}") @discovery['hosts'] || fail(ArgumentError, "Missing or invalid zookeeper host for service #{@name}") @discovery['path'] || fail(ArgumentError, "Invalid zookeeper path for service #{@name}") end