class Elasticsnap::VerifyEsClusterStatus
Attributes
quorum_nodes[RW]
url[RW]
wait_timeout[RW]
Public Class Methods
new(url: nil, quorum_nodes: nil, wait_timeout: 30)
click to toggle source
# File lib/elasticsnap/verify_es_cluster_status.rb, line 13 def initialize(url: nil, quorum_nodes: nil, wait_timeout: 30) raise ArgumentError, 'url required' if url.nil? raise ArgumentError, 'quorum_nodes required' if quorum_nodes.nil? @url = url @quorum_nodes = quorum_nodes @wait_timeout = wait_timeout end
Public Instance Methods
verify!()
click to toggle source
# File lib/elasticsnap/verify_es_cluster_status.rb, line 22 def verify! wait_for_green_quorum! end
wait_for_green_quorum!()
click to toggle source
# File lib/elasticsnap/verify_es_cluster_status.rb, line 26 def wait_for_green_quorum! Flex::Configuration.http_client.base_uri = url health = Flex.cluster_health( params: { wait_for_status: 'yellow', wait_for_nodes: "gt(#{quorum_nodes})", timeout: "#{wait_timeout}s" } ) raise StatusRed if health['status'] == 'red' raise NoQuorum if health['number_of_nodes'] < quorum_nodes health end