rboss 0.9.1 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.idea/encodings.xml +5 -0
- data/.idea/misc.xml +5 -0
- data/.idea/modules.xml +9 -0
- data/.idea/rboss.iml +65 -0
- data/.idea/scopes/scope_settings.xml +5 -0
- data/.idea/vcs.xml +7 -0
- data/Gemfile +2 -2
- data/README.md +34 -397
- data/bin/rboss-cli +77 -28
- data/lib/rboss.rb +10 -12
- data/lib/rboss/cli/invoker.rb +31 -18
- data/lib/rboss/cli/mappings.rb +11 -10
- data/lib/rboss/cli/mappings/resources/connector.yaml +2 -2
- data/lib/rboss/cli/mappings/resources/datasource.yaml +5 -5
- data/lib/rboss/cli/mappings/resources/deployment-scanner.yaml +3 -3
- data/lib/rboss/cli/mappings/resources/interface.yaml +2 -2
- data/lib/rboss/cli/mappings/resources/jdbc-driver.yaml +12 -0
- data/lib/rboss/cli/mappings/resources/jms-queue.yaml +44 -0
- data/lib/rboss/cli/mappings/resources/runtime.yaml +34 -0
- data/lib/rboss/cli/mappings/resources/server.yaml +8 -8
- data/lib/rboss/cli/resource.rb +60 -37
- data/lib/rboss/cli/result_parser.rb +29 -5
- data/lib/rboss/plaftorm.rb +2 -25
- data/lib/rboss/utils.rb +2 -8
- data/lib/rboss/version.rb +1 -1
- data/lib/rboss/view/colorizers.rb +4 -2
- data/lib/rboss/view/formatters.rb +37 -0
- data/lib/rboss/view/table_builder.rb +2 -2
- data/rboss-cli-bash-completion +82 -0
- data/rboss.gemspec +12 -12
- data/rboss.iml +6 -7
- data/rboss.ipr +2 -11
- metadata +23 -53
- data/bin/rboss-profile +0 -125
- data/bin/rboss-twiddle +0 -204
- data/lib/rboss/bin/command_actions.rb +0 -125
- data/lib/rboss/cli/mappings/resources/jdbc_driver.yaml +0 -12
- data/lib/rboss/component_processor.rb +0 -179
- data/lib/rboss/components/component.rb +0 -58
- data/lib/rboss/components/datasource.rb +0 -179
- data/lib/rboss/components/deploy_folder.rb +0 -104
- data/lib/rboss/components/hypersonic_replacer.rb +0 -58
- data/lib/rboss/components/jbossweb.rb +0 -119
- data/lib/rboss/components/jmx.rb +0 -88
- data/lib/rboss/components/mod_cluster.rb +0 -81
- data/lib/rboss/components/org/6.0/deploy_folder.rb +0 -33
- data/lib/rboss/components/org/jmx.rb +0 -59
- data/lib/rboss/components/profile_folder.rb +0 -44
- data/lib/rboss/components/resource.rb +0 -52
- data/lib/rboss/components/restore_slimming.rb +0 -46
- data/lib/rboss/components/run_conf.rb +0 -90
- data/lib/rboss/components/run_conf.yaml +0 -22
- data/lib/rboss/components/service_script.rb +0 -55
- data/lib/rboss/components/slimming.rb +0 -107
- data/lib/rboss/components/slimming.yaml +0 -110
- data/lib/rboss/components/soa-p/hypersonic_replacer.rb +0 -79
- data/lib/rboss/components/soa-p/jmx.rb +0 -47
- data/lib/rboss/components/xadatasource.rb +0 -67
- data/lib/rboss/file_processor.rb +0 -111
- data/lib/rboss/jboss_path.rb +0 -74
- data/lib/rboss/jboss_profile.rb +0 -350
- data/lib/rboss/resources/jboss_init_redhat.sh.erb +0 -140
- data/lib/rboss/resources/mod_cluster.sar/META-INF/mod_cluster-jboss-beans.xml +0 -282
- data/lib/rboss/resources/mod_cluster.sar/mod_cluster-1.1.2.Final.jar +0 -0
- data/lib/rboss/resources/run.conf.bat.erb +0 -60
- data/lib/rboss/resources/run.conf.erb +0 -62
- data/lib/rboss/twiddle.rb +0 -25
- data/lib/rboss/twiddle/base_monitor.rb +0 -88
- data/lib/rboss/twiddle/mbean.rb +0 -148
- data/lib/rboss/twiddle/monitor.rb +0 -222
- data/lib/rboss/twiddle/twiddle.rb +0 -87
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
description: Details JDBC Drivers
|
3
|
+
path: ${server}/subsystem=datasources/jdbc-driver=${name}
|
4
|
+
scan: ls ${server}/subsystem=datasources/jdbc-driver
|
5
|
+
print:
|
6
|
+
- title: JDBC Drivers
|
7
|
+
properties:
|
8
|
+
- driver-module-name
|
9
|
+
- driver-xa-datasource-class-name
|
10
|
+
header:
|
11
|
+
- Module Name
|
12
|
+
- XA Datasource Class
|
@@ -0,0 +1,44 @@
|
|
1
|
+
---
|
2
|
+
description: Details JMS Queue Information
|
3
|
+
path: ${server}/subsystem=messaging/hornetq-server=default/jms-queue=${name}
|
4
|
+
scan: ls ${server}/subsystem=messaging/hornetq-server=default/jms-queue
|
5
|
+
print:
|
6
|
+
- title: Queues
|
7
|
+
layout: vertical
|
8
|
+
properties:
|
9
|
+
- entries
|
10
|
+
- messages-added
|
11
|
+
- message-count
|
12
|
+
- delivering-count
|
13
|
+
- scheduled-count
|
14
|
+
- consumer-count
|
15
|
+
- selector
|
16
|
+
- durable
|
17
|
+
- paused
|
18
|
+
- temporary
|
19
|
+
- queue-address
|
20
|
+
- dead-letter-address
|
21
|
+
- expirity-address
|
22
|
+
header:
|
23
|
+
- JNDI Names
|
24
|
+
- Total
|
25
|
+
- Currently
|
26
|
+
- Delivering
|
27
|
+
- Scheduled
|
28
|
+
- Consumers
|
29
|
+
- Selector
|
30
|
+
- Durable
|
31
|
+
- Paused
|
32
|
+
- Temporary
|
33
|
+
- Queue Address
|
34
|
+
- Dead Letter Address
|
35
|
+
- Expirity Address
|
36
|
+
format:
|
37
|
+
jndi_names: array
|
38
|
+
durable: boolean
|
39
|
+
paused: boolean
|
40
|
+
temporary: boolean
|
41
|
+
color:
|
42
|
+
durable: boolean
|
43
|
+
paused: boolean
|
44
|
+
temporary: boolean
|
@@ -0,0 +1,34 @@
|
|
1
|
+
---
|
2
|
+
description: Details Runtime Information
|
3
|
+
path: ${server}/core-service=platform-mbean/type=runtime
|
4
|
+
print:
|
5
|
+
- title: Runtime Information
|
6
|
+
layout: vertical
|
7
|
+
properties:
|
8
|
+
- name
|
9
|
+
- vm-name
|
10
|
+
- vm-vendor
|
11
|
+
- vm-version
|
12
|
+
- spec-vendor
|
13
|
+
- spec-version
|
14
|
+
- start-time
|
15
|
+
- uptime
|
16
|
+
header:
|
17
|
+
- Name
|
18
|
+
- VM Name
|
19
|
+
- VM Vendor
|
20
|
+
- VM Version
|
21
|
+
- Spec Vendor
|
22
|
+
- Spec Version
|
23
|
+
- Start Time
|
24
|
+
- Uptime
|
25
|
+
format:
|
26
|
+
start_time: date
|
27
|
+
uptime: time
|
28
|
+
color:
|
29
|
+
name:
|
30
|
+
with: bold.white
|
31
|
+
start_time:
|
32
|
+
with: green
|
33
|
+
uptime:
|
34
|
+
with: yellow
|
@@ -1,10 +1,10 @@
|
|
1
1
|
---
|
2
|
-
description:
|
3
|
-
path: ${
|
2
|
+
description: Details Server Information
|
3
|
+
path: ${server}/core-service=
|
4
4
|
print:
|
5
5
|
- id: platform
|
6
6
|
title: Operating System Information
|
7
|
-
path: ${
|
7
|
+
path: ${path}platform-mbean/type=operating-system
|
8
8
|
properties:
|
9
9
|
- name
|
10
10
|
- arch
|
@@ -31,7 +31,7 @@ print:
|
|
31
31
|
|
32
32
|
- id: env
|
33
33
|
title: Server Environment Information
|
34
|
-
path: ${
|
34
|
+
path: ${path}server-environment
|
35
35
|
layout: vertical
|
36
36
|
properties:
|
37
37
|
- server-name
|
@@ -52,7 +52,7 @@ print:
|
|
52
52
|
- id: memory
|
53
53
|
title: Server Memory Usage
|
54
54
|
layout: vertical
|
55
|
-
path: ${
|
55
|
+
path: ${path}platform-mbean/type=memory
|
56
56
|
properties:
|
57
57
|
- heap-memory-usage -> init
|
58
58
|
- heap-memory-usage -> used
|
@@ -110,7 +110,7 @@ print:
|
|
110
110
|
|
111
111
|
- id: thread
|
112
112
|
title: Server Thread Info
|
113
|
-
path: ${
|
113
|
+
path: ${path}platform-mbean/type=threading
|
114
114
|
layout: vertical
|
115
115
|
properties:
|
116
116
|
- thread-contention-monitoring-supported
|
@@ -139,7 +139,7 @@ print:
|
|
139
139
|
- Total Started Thread Count
|
140
140
|
- Daemon Thread Count
|
141
141
|
- Current Thread CPU Time
|
142
|
-
-
|
142
|
+
- Current Thread User Time
|
143
143
|
|
144
144
|
format:
|
145
145
|
thread_contention_monitoring_supported: boolean
|
@@ -161,7 +161,7 @@ print:
|
|
161
161
|
|
162
162
|
- id: config
|
163
163
|
title: Server Configuration Resources
|
164
|
-
path: ${
|
164
|
+
path: ${path}server-environment
|
165
165
|
layout: vertical
|
166
166
|
properties:
|
167
167
|
- server-name
|
data/lib/rboss/cli/resource.rb
CHANGED
@@ -31,8 +31,8 @@ module RBoss
|
|
31
31
|
@config = config
|
32
32
|
@invoker = invoker
|
33
33
|
@context = {
|
34
|
-
|
35
|
-
|
34
|
+
:name => '',
|
35
|
+
:read_resource => 'read-resource(include-runtime=true,recursive=true,include-defaults=true,proxies=true)'
|
36
36
|
}
|
37
37
|
@context[:path] = parse(@config[:path])
|
38
38
|
@tables = []
|
@@ -47,6 +47,14 @@ module RBoss
|
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
50
|
+
def list_resource_names(resources, arguments)
|
51
|
+
result = ''
|
52
|
+
scan.each do |resource|
|
53
|
+
result << resource << $/
|
54
|
+
end
|
55
|
+
result
|
56
|
+
end
|
57
|
+
|
50
58
|
def read_resource(resources, arguments)
|
51
59
|
resources ||= scan
|
52
60
|
params = @config[:print]
|
@@ -63,29 +71,22 @@ module RBoss
|
|
63
71
|
add_row(p)
|
64
72
|
end
|
65
73
|
end
|
66
|
-
|
67
|
-
box.style.border[:color] = "bold.black"
|
68
|
-
width = 0
|
74
|
+
result = ''
|
69
75
|
@tables.each do |table|
|
70
|
-
|
76
|
+
result << table.to_s << $/
|
71
77
|
end
|
72
|
-
|
73
|
-
box << table.to_s
|
74
|
-
box.add("-" * width, :color => "bold.black") unless table == @tables.last
|
75
|
-
end
|
76
|
-
box.to_s
|
78
|
+
result
|
77
79
|
end
|
78
80
|
|
79
81
|
def read_operation_names(resource_name, arguments)
|
80
|
-
operations =
|
82
|
+
operations = ''
|
81
83
|
with resource_name do
|
82
84
|
result = @invoker.result("#{@context[:path]}:read-operation-names")
|
83
85
|
result.each do |operation|
|
84
|
-
operations <<
|
85
|
-
operations << operation.bold.blue << $/
|
86
|
+
operations << operation << $/
|
86
87
|
end
|
87
88
|
end
|
88
|
-
operations
|
89
|
+
operations
|
89
90
|
end
|
90
91
|
|
91
92
|
def read_operation_description (resource_name, arguments)
|
@@ -95,23 +96,26 @@ module RBoss
|
|
95
96
|
table = Yummi::Table::new
|
96
97
|
buff << operation_name.bold.green << $/
|
97
98
|
result = @invoker.result(
|
98
|
-
|
99
|
+
"#{@context[:path]}:read-operation-description(name=#{operation_name})"
|
99
100
|
)
|
100
|
-
buff << result['description'].
|
101
|
+
buff << result['description'].yellow << $/ * 2
|
101
102
|
table.title = 'Request'
|
102
|
-
table.header = %w(Parameter Type Required Default)
|
103
|
-
table.aliases = %w(name type required default)
|
104
|
-
table.colorize('name', :with =>
|
103
|
+
table.header = %w(Parameter Type Required Expression Default)
|
104
|
+
table.aliases = %w(name type required expressions-allowed default)
|
105
|
+
table.colorize('name', :with => 'bold.white')
|
105
106
|
|
106
107
|
table.colorize %w(type default) do |value|
|
107
108
|
RBoss::Colorizers.type(value['type']).color_for(value)
|
108
109
|
end
|
109
|
-
|
110
|
-
table.
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
110
|
+
table.format %w(required expressions-allowed), :using => Yummi::Formatters.boolean
|
111
|
+
table.colorize 'required', :using => Yummi::Colorizers.boolean(
|
112
|
+
:if_true => 'bold.red',
|
113
|
+
:if_false => 'white'
|
114
|
+
)
|
115
|
+
table.colorize 'expressions-allowed', :using => Yummi::Colorizers.boolean
|
116
|
+
result['request-properties'] ||= {}
|
117
|
+
unless result['request-properties'].empty?
|
118
|
+
result['request-properties'].sort.each do |name, detail|
|
115
119
|
detail['name'] = name
|
116
120
|
table << detail
|
117
121
|
end
|
@@ -123,7 +127,7 @@ module RBoss
|
|
123
127
|
table.header = %w(Parameter Type Nilable Unit)
|
124
128
|
table.aliases = %w(name type nilable unit)
|
125
129
|
|
126
|
-
table.colorize 'name', :with =>
|
130
|
+
table.colorize 'name', :with => 'bold.white'
|
127
131
|
|
128
132
|
table.colorize 'type' do |value|
|
129
133
|
RBoss::Colorizers.type(value['type']).color_for(value)
|
@@ -131,9 +135,9 @@ module RBoss
|
|
131
135
|
|
132
136
|
table.format 'nilable', :using => Yummi::Formatters.boolean
|
133
137
|
table.colorize 'nilable', :using => Yummi::Colorizers.boolean
|
134
|
-
result[
|
135
|
-
unless result[
|
136
|
-
result = result[
|
138
|
+
result['reply-properties'] ||= {}
|
139
|
+
unless result['reply-properties'].empty?
|
140
|
+
result = result['reply-properties']
|
137
141
|
table.description = result['description']
|
138
142
|
table << result
|
139
143
|
build_nested(result).each do |nested|
|
@@ -142,7 +146,7 @@ module RBoss
|
|
142
146
|
buff << table.to_s << $/
|
143
147
|
end
|
144
148
|
end
|
145
|
-
buff.chomp
|
149
|
+
buff.chomp
|
146
150
|
end
|
147
151
|
|
148
152
|
private
|
@@ -178,7 +182,12 @@ module RBoss
|
|
178
182
|
data = get_data(params)
|
179
183
|
return unless data
|
180
184
|
data = [@context[:name]] + data if scannable?
|
181
|
-
@tables[@count % @tables.size]
|
185
|
+
table = @tables[@count % @tables.size]
|
186
|
+
if data.first.is_a? Array
|
187
|
+
data.each {|d| table.add d}
|
188
|
+
else
|
189
|
+
table.add data
|
190
|
+
end
|
182
191
|
@count += 1
|
183
192
|
end
|
184
193
|
|
@@ -194,8 +203,11 @@ module RBoss
|
|
194
203
|
|
195
204
|
def scan
|
196
205
|
return '' unless scannable?
|
197
|
-
|
198
|
-
|
206
|
+
unless @resources
|
207
|
+
result = @invoker.execute(parse @config[:scan])
|
208
|
+
@resources = result.split "\n"
|
209
|
+
end
|
210
|
+
@resources
|
199
211
|
end
|
200
212
|
|
201
213
|
def scannable?
|
@@ -203,12 +215,23 @@ module RBoss
|
|
203
215
|
end
|
204
216
|
|
205
217
|
def get_data(config)
|
206
|
-
command = parse(
|
218
|
+
command = parse(config[:command])
|
207
219
|
begin
|
208
220
|
result = @invoker.result(command)
|
209
221
|
data = []
|
210
|
-
config[:properties]
|
211
|
-
|
222
|
+
if config[:properties]
|
223
|
+
config[:properties].each do |prop|
|
224
|
+
data << get_property(prop, result)
|
225
|
+
end
|
226
|
+
else
|
227
|
+
result.each do |name, value|
|
228
|
+
if config[:header].size == 1
|
229
|
+
data << [name]
|
230
|
+
data << [value]
|
231
|
+
else
|
232
|
+
data << [name, value]
|
233
|
+
end
|
234
|
+
end
|
212
235
|
end
|
213
236
|
data
|
214
237
|
rescue
|
@@ -68,14 +68,38 @@ module RBoss
|
|
68
68
|
OBJECT = Type::new 'OBJECT'
|
69
69
|
|
70
70
|
def eval_result(result)
|
71
|
-
|
72
|
-
|
73
|
-
|
71
|
+
# prevents error because undefined means nil in result object
|
72
|
+
undefined = nil
|
73
|
+
# removes the long type mark
|
74
|
+
result = result.gsub(/(\d+)L/, '\1')
|
75
|
+
# removes the expression indicator
|
76
|
+
result = result.gsub(/expression\s/, '')
|
77
|
+
# Check if the operation has failed
|
78
|
+
return if result.to_s.start_with? 'Failed'
|
79
|
+
# eval the result to a hash
|
74
80
|
result = eval(result)
|
75
|
-
raise InvocationFailed::new(result[
|
76
|
-
result[
|
81
|
+
raise InvocationFailed::new(result['failure-description']) if result['outcome'] == 'failed'
|
82
|
+
result['result']
|
83
|
+
end
|
84
|
+
|
85
|
+
def format(result, offset = 0)
|
86
|
+
str = ''
|
87
|
+
mod = (' ' * offset)
|
88
|
+
if result.is_a? Hash
|
89
|
+
result.each do |key, value|
|
90
|
+
str << mod << "#{key.to_s.bold.blue} : #{format value, offset + 2}" << $/
|
91
|
+
end
|
92
|
+
elsif result.is_a? Array
|
93
|
+
result.each do |row|
|
94
|
+
str << $/ << mod << "#{format row, offset + 2}"
|
95
|
+
end
|
96
|
+
else
|
97
|
+
str << result.to_s
|
98
|
+
end
|
99
|
+
str.strip.chomp
|
77
100
|
end
|
78
101
|
|
79
102
|
end
|
103
|
+
|
80
104
|
end
|
81
105
|
end
|
data/lib/rboss/plaftorm.rb
CHANGED
@@ -25,46 +25,23 @@ module RBoss
|
|
25
25
|
|
26
26
|
if RUBY_PLATFORM['mingw'] #Windows
|
27
27
|
module Platform
|
28
|
-
def twiddle
|
29
|
-
"#@jboss_home/bin/twiddle.bat"
|
30
|
-
end
|
31
28
|
|
32
29
|
def jboss_cli
|
33
30
|
"#@jboss_home/bin/jboss-cli.bat"
|
34
31
|
end
|
35
32
|
|
36
|
-
def run_conf_template
|
37
|
-
"#@base_dir/resources/run.conf.bat.erb"
|
38
|
-
end
|
39
|
-
|
40
|
-
def run_conf
|
41
|
-
"#{@jboss.profile}/run.conf.bat"
|
42
|
-
end
|
43
|
-
|
44
33
|
def clear
|
45
|
-
|
34
|
+
'cls'
|
46
35
|
end
|
47
36
|
end
|
48
37
|
else
|
49
38
|
module Platform
|
50
|
-
def twiddle
|
51
|
-
"#@jboss_home/bin/twiddle.sh"
|
52
|
-
end
|
53
|
-
|
54
39
|
def jboss_cli
|
55
40
|
"#@jboss_home/bin/jboss-cli.sh"
|
56
41
|
end
|
57
42
|
|
58
|
-
def run_conf_template
|
59
|
-
"#@base_dir/resources/run.conf.erb"
|
60
|
-
end
|
61
|
-
|
62
|
-
def run_conf
|
63
|
-
"#{@jboss.profile}/run.conf"
|
64
|
-
end
|
65
|
-
|
66
43
|
def clear
|
67
|
-
|
44
|
+
'clear'
|
68
45
|
end
|
69
46
|
end
|
70
47
|
end
|
data/lib/rboss/utils.rb
CHANGED
@@ -22,14 +22,7 @@
|
|
22
22
|
|
23
23
|
class String
|
24
24
|
|
25
|
-
|
26
|
-
(self.split(/_/).collect { |n| n.capitalize }).join
|
27
|
-
end
|
28
|
-
|
29
|
-
def uncapitalize
|
30
|
-
self[0, 1].downcase + self[1..-1]
|
31
|
-
end
|
32
|
-
|
25
|
+
# Converter contract. Replaces '-' to '_' and converts do a Symbol.
|
33
26
|
def to_key
|
34
27
|
self.gsub('-', '_').to_sym
|
35
28
|
end
|
@@ -38,6 +31,7 @@ end
|
|
38
31
|
|
39
32
|
class Symbol
|
40
33
|
|
34
|
+
# Converter contract. Returns +self+.
|
41
35
|
def to_key
|
42
36
|
self
|
43
37
|
end
|