flare-tools 0.4.5.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +24 -0
- data/.travis.yml +15 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +28 -0
- data/History.txt +5 -0
- data/Makefile +25 -0
- data/README.txt +2 -2
- data/Rakefile +36 -34
- data/flare-tools.gemspec +26 -0
- data/lib/flare/entity/server.rb +4 -0
- data/lib/flare/tools.rb +3 -3
- data/lib/flare/tools/cli.rb +1 -0
- data/lib/flare/tools/cli/activate.rb +19 -13
- data/lib/flare/tools/cli/balance.rb +15 -8
- data/lib/flare/tools/cli/deploy.rb +53 -49
- data/lib/flare/tools/cli/dispatch.rb +101 -0
- data/lib/flare/tools/cli/down.rb +19 -14
- data/lib/flare/tools/cli/dump.rb +19 -14
- data/lib/flare/tools/cli/dumpkey.rb +21 -16
- data/lib/flare/tools/cli/flare_admin.rb +16 -72
- data/lib/flare/tools/cli/flare_argv0.rb +7 -51
- data/lib/flare/tools/cli/index.rb +10 -7
- data/lib/flare/tools/cli/index_server_config.rb +94 -0
- data/lib/flare/tools/cli/list.rb +14 -12
- data/lib/flare/tools/cli/master.rb +18 -12
- data/lib/flare/tools/cli/option.rb +55 -0
- data/lib/flare/tools/cli/part.rb +13 -12
- data/lib/flare/tools/cli/ping.rb +11 -13
- data/lib/flare/tools/cli/reconstruct.rb +22 -15
- data/lib/flare/tools/cli/remove.rb +20 -17
- data/lib/flare/tools/cli/restore.rb +20 -20
- data/lib/flare/tools/cli/slave.rb +20 -14
- data/lib/flare/tools/cli/stats.rb +171 -118
- data/lib/flare/tools/cli/sub_command.rb +16 -5
- data/lib/flare/tools/cli/summary.rb +12 -10
- data/lib/flare/tools/cli/threads.rb +15 -9
- data/lib/flare/tools/cli/verify.rb +20 -18
- data/lib/flare/tools/cluster.rb +3 -2
- data/lib/flare/util/constant.rb +3 -0
- data/lib/flare/util/pretty_table.rb +8 -0
- data/lib/flare/util/pretty_table/column.rb +41 -0
- data/lib/flare/util/pretty_table/row.rb +29 -0
- data/lib/flare/util/pretty_table/table.rb +37 -0
- data/package/Rakefile +44 -0
- data/package/flare-tools/Makefile +23 -0
- data/package/flare-tools/debian/changelog +135 -0
- data/package/flare-tools/debian/compat +1 -0
- data/package/flare-tools/debian/control +20 -0
- data/package/flare-tools/debian/copyright +35 -0
- data/package/flare-tools/debian/dirs +2 -0
- data/{.gemtest → package/flare-tools/debian/docs} +0 -0
- data/package/flare-tools/debian/rules +125 -0
- data/test/{test/experimental → experimental}/cache_test.rb +0 -0
- data/test/{test/experimental → experimental}/key_distribution_test.rb +0 -0
- data/test/{test/experimental → experimental}/keychecker_test.rb +0 -0
- data/test/{test/experimental → experimental}/list_test.rb +0 -0
- data/test/{test/extra → extra}/replication_test.rb +0 -0
- data/test/{test/integration → integration}/cli_test.rb +9 -7
- data/test/{test/integration → integration}/dump_expired_test.rb +4 -3
- data/test/{test/integration → integration}/dump_test.rb +5 -5
- data/test/{test/integration → integration}/index_server_test.rb +1 -1
- data/test/{test/integration → integration}/node_test.rb +1 -1
- data/test/{test/integration → integration}/partition_test.rb +6 -5
- data/test/{test/integration → integration}/proxy_test.rb +4 -3
- data/test/{test/integration → integration}/stats_test.rb +1 -1
- data/test/integration/subcommands.rb +128 -0
- data/test/{test/system → system}/flare_admin_test.rb +7 -5
- data/test/{test/unit → unit}/bwlimit_test.rb +0 -0
- data/test/{test/unit → unit}/cluster_test.rb +1 -1
- data/test/{test/unit → unit}/daemon_test.rb +0 -0
- data/test/{test/unit → unit}/logger_test.rb +0 -0
- data/test/{test/unit → unit}/tools_test.rb +0 -0
- data/test/unit/util/pretty_table_test.rb +46 -0
- data/test/{test/unit → unit}/util_test.rb +7 -2
- metadata +88 -100
- data/PostInstall.txt +0 -7
- data/lib/flare/tools/cli/cli_util.rb +0 -77
- data/lib/flare/util/command_line.rb +0 -79
data/.gitignore
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
doc
|
2
|
+
pkg
|
3
|
+
work/*.log
|
4
|
+
work/*
|
5
|
+
*.gem
|
6
|
+
*.rbc
|
7
|
+
.bundle
|
8
|
+
.config
|
9
|
+
.yardoc
|
10
|
+
InstalledFiles
|
11
|
+
_yardoc
|
12
|
+
coverage
|
13
|
+
doc/
|
14
|
+
lib/bundler/man
|
15
|
+
rdoc
|
16
|
+
spec/reports
|
17
|
+
test/tmp
|
18
|
+
test/version_tmp
|
19
|
+
tmp
|
20
|
+
*.bundle
|
21
|
+
*.so
|
22
|
+
*.o
|
23
|
+
*.a
|
24
|
+
mkmf.log
|
data/.travis.yml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 1.9.3
|
4
|
+
- 1.8.7
|
5
|
+
- 2.0.0
|
6
|
+
- 2.1.3
|
7
|
+
before_install:
|
8
|
+
- travis_retry sudo apt-get update
|
9
|
+
- travis_retry sudo apt-get install libtokyocabinet-dev
|
10
|
+
- travis_retry sudo apt-get install libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libboost-thread-dev
|
11
|
+
- travis_retry sudo apt-get install uuid-dev
|
12
|
+
- git clone https://github.com/gree/flare.git flare
|
13
|
+
- (cd flare && ./autogen.sh)
|
14
|
+
- (cd flare && ./configure)
|
15
|
+
- (cd flare && sudo make install)
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
builder (3.2.2)
|
5
|
+
ci_reporter (1.9.3)
|
6
|
+
builder (>= 2.1.2)
|
7
|
+
json (1.8.1)
|
8
|
+
log4r (1.1.10)
|
9
|
+
power_assert (0.1.4)
|
10
|
+
rake (10.3.2)
|
11
|
+
rdoc (4.1.2)
|
12
|
+
json (~> 1.4)
|
13
|
+
test-unit (3.0.1)
|
14
|
+
power_assert
|
15
|
+
tokyocabinet (1.29.1)
|
16
|
+
zookeeper (1.4.9)
|
17
|
+
|
18
|
+
PLATFORMS
|
19
|
+
ruby
|
20
|
+
|
21
|
+
DEPENDENCIES
|
22
|
+
ci_reporter (= 1.9.3)
|
23
|
+
log4r
|
24
|
+
rake
|
25
|
+
rdoc
|
26
|
+
test-unit
|
27
|
+
tokyocabinet (>= 1.29)
|
28
|
+
zookeeper (>= 1.2.6)
|
data/History.txt
CHANGED
data/Makefile
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
BINDIR=/usr/bin
|
3
|
+
RUBYLIBDIR=/usr/lib/ruby/${RUBYVER}
|
4
|
+
SRCDIR=.
|
5
|
+
BINS=flare-admin flare-argv0 flare-deploy flare-keychecker flare-part flare-ping flare-stats flare-zkadmin
|
6
|
+
|
7
|
+
install:
|
8
|
+
install -d ${DESTDIR}${BINDIR}
|
9
|
+
install -m 755 ${SRCDIR}/bin/* ${DESTDIR}${BINDIR}
|
10
|
+
echo ${addprefix ${DESTDIR}${BINDIR}/,${BINS}} | xargs -n 1 sed -i 1c\#!/usr/bin/ruby${RUBYVER}
|
11
|
+
install -d ${DESTDIR}${RUBYLIBDIR}/flare
|
12
|
+
install -m 644 ${SRCDIR}/lib/flare/*.rb ${DESTDIR}${RUBYLIBDIR}/flare
|
13
|
+
install -d ${DESTDIR}${RUBYLIBDIR}/flare/tools
|
14
|
+
install -m 644 ${SRCDIR}/lib/flare/tools/*.rb ${DESTDIR}${RUBYLIBDIR}/flare/tools
|
15
|
+
install -d ${DESTDIR}${RUBYLIBDIR}/flare/tools/cli
|
16
|
+
install -m 644 ${SRCDIR}/lib/flare/tools/cli/*.rb ${DESTDIR}${RUBYLIBDIR}/flare/tools/cli
|
17
|
+
install -d ${DESTDIR}${RUBYLIBDIR}/flare/util
|
18
|
+
install -m 644 ${SRCDIR}/lib/flare/util/*.rb ${DESTDIR}${RUBYLIBDIR}/flare/util
|
19
|
+
install -d ${DESTDIR}${RUBYLIBDIR}/flare/net
|
20
|
+
install -m 644 ${SRCDIR}/lib/flare/net/*.rb ${DESTDIR}${RUBYLIBDIR}/flare/net
|
21
|
+
install -d ${DESTDIR}${RUBYLIBDIR}/flare/test
|
22
|
+
install -m 644 ${SRCDIR}/lib/flare/test/*.rb ${DESTDIR}${RUBYLIBDIR}/flare/test
|
23
|
+
|
24
|
+
clean:
|
25
|
+
|
data/README.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
= flare-tools
|
4
4
|
|
5
|
-
|
5
|
+
https://github.com/gree/flare/wiki
|
6
6
|
|
7
7
|
Flare-tools is a collection of command line tools to maintain a flare cluster.
|
8
8
|
|
@@ -38,7 +38,7 @@ License:: MIT-style
|
|
38
38
|
|
39
39
|
* Install Flare
|
40
40
|
|
41
|
-
Please see the web pages about {Flare}[
|
41
|
+
Please see the web pages about {Flare}[https://github.com/gree/flare/wiki].
|
42
42
|
|
43
43
|
* Install flare-tools
|
44
44
|
# gem install flare-tools
|
data/Rakefile
CHANGED
@@ -1,37 +1,36 @@
|
|
1
1
|
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__)+"/lib"
|
2
|
+
$LOAD_PATH.unshift File.dirname(__FILE__) + "/lib"
|
3
3
|
|
4
4
|
require 'rubygems'
|
5
|
-
|
6
|
-
require
|
7
|
-
gem 'rdoc'
|
5
|
+
require 'bundler/setup'
|
6
|
+
require "bundler/gem_tasks"
|
8
7
|
require 'rdoc'
|
9
8
|
require 'rdoc/markup'
|
10
9
|
require 'rdoc/markup/formatter'
|
11
10
|
require 'rdoc/markup/to_ansi'
|
11
|
+
require 'rake/testtask'
|
12
|
+
require 'ci/reporter/rake/test_unit_loader'
|
12
13
|
|
13
14
|
require 'fileutils'
|
14
15
|
require 'flare/tools'
|
15
16
|
|
16
|
-
Hoe.plugin :newgem
|
17
|
-
|
18
|
-
$hoe = Hoe.spec 'flare-tools' do
|
19
|
-
self.version = Flare::Tools::VERSION
|
20
|
-
self.developer 'kikehara', 'kiyoshi.ikehara@gree.net'
|
21
|
-
self.urls = ['http://github.com/gree/flare-tools']
|
22
|
-
self.summary = "Management Tools for Flare"
|
23
|
-
self.post_install_message = 'PostInstall.txt'
|
24
|
-
self.description = "Flare-tools is a collection of tools for Flare distributed key-value store."
|
25
|
-
self.readme_file = "README.txt"
|
26
|
-
self.extra_deps = [['log4r', '>= 1.1.4'], ['zookeeper', '>= 1.2.6'], ['tokyocabinet', '>= 1.29']]
|
27
|
-
self.rubyforge_name = 'flare-tools'
|
28
|
-
self.extra_rdoc_files = []
|
29
|
-
end
|
30
|
-
|
31
|
-
require 'newgem/tasks'
|
32
17
|
Dir['tasks/**/*.rake'].each { |t| load t }
|
33
18
|
|
34
|
-
task :default => [:
|
19
|
+
task :default => [:test]
|
20
|
+
|
21
|
+
task :help do
|
22
|
+
print <<EOS
|
23
|
+
Examples:
|
24
|
+
run a specific test script
|
25
|
+
> rake test TEST=testname_test.rb
|
26
|
+
run a specific test
|
27
|
+
> rake test TESTOPTS=--name=test_mytest1
|
28
|
+
run tests with --verbose
|
29
|
+
> rake test TESTOPTS=--verbose
|
30
|
+
run stress tests
|
31
|
+
> rake test FLARE_TOOLS_STRESS_TEST=yes
|
32
|
+
EOS
|
33
|
+
end
|
35
34
|
|
36
35
|
task :manual do
|
37
36
|
h = RDoc::Markup::ToAnsi.new
|
@@ -39,25 +38,23 @@ task :manual do
|
|
39
38
|
puts h.convert(rdoc)
|
40
39
|
end
|
41
40
|
|
42
|
-
|
43
|
-
|
41
|
+
Rake::TestTask.new do |test|
|
42
|
+
test.libs << './lib'
|
43
|
+
test.test_files = Dir['test/unit/**/*_test.rb', 'test/integration/**/*_test.rb', 'test/system/**/*_test.rb']
|
44
|
+
test.verbose = true
|
45
|
+
test.ruby_opts = ['-r', 'rubygems']
|
44
46
|
end
|
45
47
|
|
46
|
-
task :
|
47
|
-
sh "(cd test && rake stress)"
|
48
|
-
end
|
48
|
+
task :test => :work
|
49
49
|
|
50
|
-
|
51
|
-
sh "(cd test && rake clean)"
|
52
|
-
end
|
50
|
+
directory "work"
|
53
51
|
|
54
|
-
task :
|
55
|
-
|
56
|
-
|
52
|
+
task :clean do
|
53
|
+
sh "rm -rf test/work/test*"
|
54
|
+
sh "rm -f test/*~"
|
55
|
+
sh "rm -f /tmp/flare[id].*.conf"
|
57
56
|
end
|
58
57
|
|
59
|
-
task :install => [:manifest, :manifest_post, :install_gem]
|
60
|
-
|
61
58
|
task :debuild do |t|
|
62
59
|
sh "debuild -us -uc"
|
63
60
|
end
|
@@ -84,6 +81,11 @@ task :change do
|
|
84
81
|
sh "git-dch --debian-branch='#{debian_branch}' --new-version #{version} --since=#{since}"
|
85
82
|
end
|
86
83
|
|
84
|
+
task :killall do
|
85
|
+
sh "pkill /usr/local/bin/flarei"
|
86
|
+
sh "pkill /usr/local/bin/flared"
|
87
|
+
end
|
88
|
+
|
87
89
|
task :cleanall => [:clean] do
|
88
90
|
end
|
89
91
|
|
data/flare-tools.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.dirname(__FILE__) + '/lib'
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'flare/tools'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "flare-tools"
|
8
|
+
spec.version = Flare::Tools::VERSION
|
9
|
+
spec.authors = ["kikehara", "Yuya YAGUCHI"]
|
10
|
+
spec.email = ["kiyoshi.ikehara@gree.net", "yuya.yaguchi@gree.net"]
|
11
|
+
spec.summary = "Management Tools for Flare"
|
12
|
+
spec.description = "Flare-tools is a collection of tools for Flare distributed key-value store."
|
13
|
+
spec.homepage = "http://github.com/gree/flare-tools"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency 'log4r', '>= 1.1.10'
|
22
|
+
spec.add_dependency 'tokyocabinet', '>= 1.29'
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", ">= 1.6"
|
25
|
+
spec.add_development_dependency "rake"
|
26
|
+
end
|
data/lib/flare/tools.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8; -*-
|
2
2
|
# Authors:: Kiyoshi Ikehara <kiyoshi.ikehara@gree.net>
|
3
|
-
# Copyright:: Copyright (C) GREE, Inc. 2011.
|
3
|
+
# Copyright:: Copyright (C) GREE, Inc. 2011-2014.
|
4
4
|
# License:: MIT-style
|
5
5
|
|
6
6
|
#
|
@@ -9,8 +9,8 @@ module Flare
|
|
9
9
|
# flare-tools module.
|
10
10
|
module Tools
|
11
11
|
# the version number of flare-tools
|
12
|
-
VERSION = '0.
|
13
|
-
TITLE = "Flare-tools version #{VERSION} Copyright (C) GREE, Inc. 2011"
|
12
|
+
VERSION = '0.5.0'
|
13
|
+
TITLE = "Flare-tools version #{VERSION} Copyright (C) GREE, Inc. 2011-2014"
|
14
14
|
autoload :Common, 'flare/tools/common'
|
15
15
|
autoload :Cluster, 'flare/tools/cluster'
|
16
16
|
autoload :Stats, 'flare/tools/stats'
|
data/lib/flare/tools/cli.rb
CHANGED
@@ -11,23 +11,28 @@ require 'flare/tools/cluster'
|
|
11
11
|
require 'flare/util/conversion'
|
12
12
|
require 'flare/util/constant'
|
13
13
|
require 'flare/tools/cli/sub_command'
|
14
|
+
require 'flare/tools/cli/index_server_config'
|
14
15
|
|
15
16
|
module Flare
|
16
17
|
module Tools
|
17
18
|
module Cli
|
18
|
-
|
19
|
+
|
19
20
|
class Activate < SubCommand
|
20
21
|
include Flare::Util::Conversion
|
21
22
|
include Flare::Util::Constant
|
22
23
|
include Flare::Util::Logging
|
23
24
|
include Flare::Tools::Common
|
24
|
-
|
25
|
+
include Flare::Tools::Cli::IndexServerConfig
|
26
|
+
|
25
27
|
myname :activate
|
26
28
|
desc "activate "
|
27
29
|
usage "activate [hostname:port] ..."
|
28
|
-
|
29
|
-
def setup
|
30
|
-
|
30
|
+
|
31
|
+
def setup
|
32
|
+
super
|
33
|
+
set_option_index_server
|
34
|
+
set_option_dry_run
|
35
|
+
set_option_force
|
31
36
|
end
|
32
37
|
|
33
38
|
def initialize
|
@@ -35,7 +40,8 @@ module Flare
|
|
35
40
|
@force = false
|
36
41
|
end
|
37
42
|
|
38
|
-
def execute(config,
|
43
|
+
def execute(config, args)
|
44
|
+
parse_index_server(config, args)
|
39
45
|
return S_NG if args.size < 1
|
40
46
|
|
41
47
|
hosts = args.map {|x| x.split(':')}
|
@@ -45,15 +51,15 @@ module Flare
|
|
45
51
|
return S_NG
|
46
52
|
end
|
47
53
|
end
|
48
|
-
|
49
|
-
Flare::Tools::IndexServer.open(config[:index_server_hostname], config[:index_server_port],
|
54
|
+
|
55
|
+
Flare::Tools::IndexServer.open(config[:index_server_hostname], config[:index_server_port], @timeout) do |s|
|
50
56
|
cluster = Flare::Tools::Cluster.new(s.host, s.port, s.stats_nodes)
|
51
57
|
nodes = s.stats_nodes.sort_by{|key, val| [val['partition'], val['role'], key]}
|
52
|
-
|
58
|
+
|
53
59
|
hosts.each do |hostname,port|
|
54
60
|
nodekey = nodekey_of hostname, port
|
55
61
|
ipaddr = address_of_hostname(hostname)
|
56
|
-
|
62
|
+
|
57
63
|
unless cluster.has_nodekey? nodekey
|
58
64
|
error "invalid 'hostname:port' pair: #{nodekey}"
|
59
65
|
return S_NG
|
@@ -71,7 +77,7 @@ module Flare
|
|
71
77
|
(gets.chomp.upcase == "Y")
|
72
78
|
}
|
73
79
|
end
|
74
|
-
if exec &&
|
80
|
+
if exec && !@dry_run
|
75
81
|
if @force
|
76
82
|
begin
|
77
83
|
s.set_state(hostname, port, 'active')
|
@@ -96,10 +102,10 @@ module Flare
|
|
96
102
|
|
97
103
|
STDOUT.puts string_of_nodelist(s.stats_nodes, hosts.map {|x| "#{x[0]}:#{x[1]}"})
|
98
104
|
end
|
99
|
-
|
105
|
+
|
100
106
|
S_OK
|
101
107
|
end # execute()
|
102
|
-
|
108
|
+
|
103
109
|
end
|
104
110
|
end
|
105
111
|
end
|
@@ -9,6 +9,7 @@ require 'flare/tools/common'
|
|
9
9
|
require 'flare/util/conversion'
|
10
10
|
require 'flare/util/constant'
|
11
11
|
require 'flare/tools/cli/sub_command'
|
12
|
+
require 'flare/tools/cli/index_server_config'
|
12
13
|
|
13
14
|
module Flare
|
14
15
|
module Tools
|
@@ -17,20 +18,26 @@ module Flare
|
|
17
18
|
include Flare::Util::Conversion
|
18
19
|
include Flare::Util::Constant
|
19
20
|
include Flare::Tools::Common
|
21
|
+
include Flare::Tools::Cli::IndexServerConfig
|
20
22
|
|
21
23
|
myname :balance
|
22
24
|
desc "set the balance values of nodes."
|
23
25
|
usage "balance [hostname:port:balance] ..."
|
24
26
|
|
25
|
-
def setup
|
26
|
-
|
27
|
+
def setup
|
28
|
+
super
|
29
|
+
set_option_index_server
|
30
|
+
set_option_dry_run
|
31
|
+
set_option_force
|
27
32
|
end
|
28
33
|
|
29
34
|
def initialize
|
35
|
+
super
|
30
36
|
@force = false
|
31
37
|
end
|
32
|
-
|
33
|
-
def execute(config,
|
38
|
+
|
39
|
+
def execute(config, args)
|
40
|
+
parse_index_server(config, args)
|
34
41
|
return S_NG if args.empty?
|
35
42
|
|
36
43
|
hosts = args.map {|x| x.to_s.split(':')}
|
@@ -40,15 +47,15 @@ module Flare
|
|
40
47
|
return S_NG
|
41
48
|
end
|
42
49
|
end
|
43
|
-
|
44
|
-
Flare::Tools::IndexServer.open(config[:index_server_hostname], config[:index_server_port],
|
50
|
+
|
51
|
+
Flare::Tools::IndexServer.open(config[:index_server_hostname], config[:index_server_port], @timeout) do |s|
|
45
52
|
cluster = Flare::Tools::Cluster.new(s.host, s.port, s.stats_nodes)
|
46
53
|
|
47
54
|
hosts.each do |hostname,port,balance|
|
48
55
|
balance = balance.to_i
|
49
56
|
nodekey = nodekey_of hostname, port
|
50
57
|
ipaddr = address_of_hostname(hostname)
|
51
|
-
|
58
|
+
|
52
59
|
unless cluster.has_nodekey? nodekey
|
53
60
|
error "unknown host: #{nodekey}"
|
54
61
|
return S_NG
|
@@ -68,7 +75,7 @@ module Flare
|
|
68
75
|
end
|
69
76
|
end
|
70
77
|
if exec
|
71
|
-
s.set_role(hostname, port.to_i, node['role'], balance, node['partition']) unless
|
78
|
+
s.set_role(hostname, port.to_i, node['role'], balance, node['partition']) unless @dry_run
|
72
79
|
end
|
73
80
|
end
|
74
81
|
STDOUT.puts string_of_nodelist(s.stats_nodes, hosts.map {|x| "#{x[0]}:#{x[1]}"})
|