Fix redis-trib.rb IP:Port disassembly for IPv6

IP format is now any of:
  - 127.0.0.1:6379
  - ::1:6379
This commit is contained in:
Matt Stancliff 2014-10-23 13:44:42 -04:00
parent 6fbaeddf3f
commit bbf1af2da3

View File

@ -50,14 +50,16 @@ end
class ClusterNode
def initialize(addr)
s = addr.split(":")
if s.length != 2
puts "Invalid node name #{addr}"
exit 1
if s.length < 2
puts "Invalid IP or Port (given as #{addr}) - use IP:Port format"
exit 1
end
port = s.pop # removes port from split array
ip = s.join(":") # if s.length > 1 here, it's IPv6, so restore address
@r = nil
@info = {}
@info[:host] = s[0]
@info[:port] = s[1]
@info[:host] = ip
@info[:port] = port
@info[:slots] = {}
@info[:migrating] = {}
@info[:importing] = {}