class Mcrain::Riak::Node
docker run -e “DOCKER_RIAK_CLUSTER_SIZE=${DOCKER_RIAK_CLUSTER_SIZE}” \
-e "DOCKER_RIAK_AUTOMATIC_CLUSTERING=${DOCKER_RIAK_AUTOMATIC_CLUSTERING}" \ -e "DOCKER_RIAK_BACKEND=${DOCKER_RIAK_BACKEND}" \ -e "DOCKER_RIAK_STRONG_CONSISTENCY=${DOCKER_RIAK_STRONG_CONSISTENCY} \ -p $publish_http_port \ -p $publish_pb_port \ --link "riak01:seed" \ --name "riak${index}" \ -d hectcastro/riak > /dev/null 2>&1
Attributes
owner[R]
self.http_port = 8098 # HTTP
primary_node[RW]
Public Class Methods
container_image()
click to toggle source
# File lib/mcrain/riak.rb, line 35 def self.container_image Mcrain.configuration.images[:riak] end
new(owner)
click to toggle source
# File lib/mcrain/riak.rb, line 44 def initialize(owner) @owner = owner end
Public Instance Methods
build_docker_options()
click to toggle source
Calls superclass method
Mcrain::ContainerController#build_docker_options
# File lib/mcrain/riak.rb, line 52 def build_docker_options r = super r['HostConfig']['PortBindings']["8098/tcp"] = [{ 'HostPort' => http_port.to_s }] envs = [] envs << "DOCKER_RIAK_CLUSTER_SIZE=#{owner.cluster_size}" envs << "DOCKER_RIAK_AUTOMATIC_CLUSTERING=#{owner.automatic_clustering ? 1 : 0}" envs << "DOCKER_RIAK_BACKEND=#{owner.backend}" envs << "DOCKER_RIAK_STRONG_CONSISTENCY=#{owner.strong_consistency}" r['Env'] = envs unless envs.empty? if primary_node r['HostConfig']['Links'] = ["#{primary_node.name}:seed"] end return r end
http_port()
click to toggle source
# File lib/mcrain/riak.rb, line 48 def http_port @http_port ||= find_portno end
ping()
click to toggle source
# File lib/mcrain/riak.rb, line 67 def ping owner.logger.debug("sending a ping http://#{host}:#{http_port}/stats") res = Net::HTTP.start(host, http_port) {|http| http.get('/stats') } r = res.is_a?(Net::HTTPSuccess) owner.logger.debug("#{res.inspect} #=> #{r}") return r rescue => e return false end
reset()
click to toggle source
# File lib/mcrain/riak.rb, line 77 def reset instance_variables.each do |var| instance_variable_set(var, nil) end end