Module: EtcdTools::Watchdog::Etcd
- Included in:
- Init
- Defined in:
- lib/etcd-tools/watchdog/etcd.rb
Instance Method Summary collapse
-
#etcd_connect! ⇒ Object
connect to ETCD.
-
#leader?(etcd) ⇒ Boolean
is my ETCD the leader? <IMPLEMENTED>.
Instance Method Details
#etcd_connect! ⇒ Object
connect to ETCD
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/etcd-tools/watchdog/etcd.rb', line 5 def etcd_connect! (host, port) = @config[:parameters][:etcd_endpoint].gsub(/^https?:\/\//, '').gsub(/\/$/, '').split(':') etcd = ::Etcd.client(host: host, port: port) begin versions = JSON.parse(etcd.version) info "<etcd> conncted to ETCD at #{@config[:parameters][:etcd_endpoint]}" info "<etcd> server version: #{versions['etcdserver']}" info "<etcd> cluster version: #{versions['etcdcluster']}" info "<etcd> healthy: #{etcd.healthy?}" return etcd rescue Exception => e err "<etcd> couldn't connect to etcd at #{host}:#{port}" err "<etcd> #{e.}" @exit = true end end |
#leader?(etcd) ⇒ Boolean
is my ETCD the leader? <IMPLEMENTED>
24 25 26 |
# File 'lib/etcd-tools/watchdog/etcd.rb', line 24 def leader?(etcd) etcd.stats(:self)['id'] == etcd.stats(:self)['leaderInfo']['leader'] end |