boris 1.0.0.beta.1
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.
- data/LICENSE.md +9 -0
- data/README.md +94 -0
- data/boris.gemspec +28 -0
- data/doc/Array.html +437 -0
- data/doc/Boris.html +230 -0
- data/doc/Boris/ConnectionAlreadyActive.html +123 -0
- data/doc/Boris/ConnectionFailed.html +127 -0
- data/doc/Boris/Connector.html +794 -0
- data/doc/Boris/InvalidCredentials.html +131 -0
- data/doc/Boris/InvalidOption.html +123 -0
- data/doc/Boris/InvalidTargetName.html +123 -0
- data/doc/Boris/Lumberjack.html +466 -0
- data/doc/Boris/MissingCredentials.html +123 -0
- data/doc/Boris/NoActiveConnection.html +123 -0
- data/doc/Boris/NoProfileDetected.html +123 -0
- data/doc/Boris/Options.html +783 -0
- data/doc/Boris/Profiles.html +117 -0
- data/doc/Boris/Profiles/Linux.html +1151 -0
- data/doc/Boris/Profiles/RedHat.html +875 -0
- data/doc/Boris/Profiles/Solaris.html +1230 -0
- data/doc/Boris/Profiles/Structure.html +2050 -0
- data/doc/Boris/Profiles/UNIX.html +893 -0
- data/doc/Boris/Profiles/Windows.html +1846 -0
- data/doc/Boris/Profiles/Windows/Windows2003.html +304 -0
- data/doc/Boris/Profiles/Windows/Windows2008.html +379 -0
- data/doc/Boris/Profiles/Windows/Windows2012.html +304 -0
- data/doc/Boris/SNMPConnector.html +512 -0
- data/doc/Boris/SSHConnector.html +633 -0
- data/doc/Boris/Target.html +2002 -0
- data/doc/Boris/WMIConnector.html +1134 -0
- data/doc/BorisLogger.html +217 -0
- data/doc/Hash.html +195 -0
- data/doc/String.html +1246 -0
- data/doc/_index.html +420 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +328 -0
- data/doc/file.README.html +183 -0
- data/doc/file_list.html +55 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +183 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +1468 -0
- data/doc/top-level-namespace.html +126 -0
- data/lib/boris.rb +30 -0
- data/lib/boris/connectors.rb +47 -0
- data/lib/boris/connectors/snmp.rb +56 -0
- data/lib/boris/connectors/ssh.rb +110 -0
- data/lib/boris/connectors/wmi.rb +186 -0
- data/lib/boris/errors.rb +17 -0
- data/lib/boris/helpers/array.rb +63 -0
- data/lib/boris/helpers/constants.rb +20 -0
- data/lib/boris/helpers/hash.rb +8 -0
- data/lib/boris/helpers/scrubber.rb +51 -0
- data/lib/boris/helpers/string.rb +130 -0
- data/lib/boris/lumberjack.rb +47 -0
- data/lib/boris/options.rb +86 -0
- data/lib/boris/profiles/linux/redhat.rb +77 -0
- data/lib/boris/profiles/linux_core.rb +216 -0
- data/lib/boris/profiles/unix/solaris.rb +307 -0
- data/lib/boris/profiles/unix_core.rb +85 -0
- data/lib/boris/profiles/windows/windows2003.rb +15 -0
- data/lib/boris/profiles/windows/windows2008.rb +23 -0
- data/lib/boris/profiles/windows/windows2012.rb +15 -0
- data/lib/boris/profiles/windows_core.rb +530 -0
- data/lib/boris/structure.rb +167 -0
- data/lib/boris/target.rb +340 -0
- data/test/connector_tests/test_snmp.rb +35 -0
- data/test/connector_tests/test_ssh.rb +51 -0
- data/test/connector_tests/test_wmi.rb +129 -0
- data/test/helper_tests/test_array.rb +25 -0
- data/test/helper_tests/test_hash.rb +10 -0
- data/test/helper_tests/test_string.rb +136 -0
- data/test/profile_tests/test_core_skeleton +107 -0
- data/test/profile_tests/test_linux_core.rb +331 -0
- data/test/profile_tests/test_redhat.rb +134 -0
- data/test/profile_tests/test_solaris.rb +523 -0
- data/test/profile_tests/test_unix_core.rb +117 -0
- data/test/profile_tests/test_windows.rb +536 -0
- data/test/setup_tests.rb +14 -0
- data/test/test_all.rb +8 -0
- data/test/test_options.rb +44 -0
- data/test/test_structure.rb +136 -0
- data/test/test_target.rb +146 -0
- metadata +241 -0
@@ -0,0 +1,1230 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Module: Boris::Profiles::Solaris
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.3
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '../../';
|
20
|
+
framesUrl = "../../frames.html#!" + escape(window.location.href);
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="../../_index.html">Index (S)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../../Boris.html" title="Boris (module)">Boris</a></span></span> » <span class='title'><span class='object_link'><a href="../Profiles.html" title="Boris::Profiles (module)">Profiles</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">Solaris</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="../../class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="../../method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="../../file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Module: Boris::Profiles::Solaris
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
<dt class="r1">Includes:</dt>
|
79
|
+
<dd class="r1"><span class='object_link'><a href="UNIX.html" title="Boris::Profiles::UNIX (module)">UNIX</a></span></dd>
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
<dt class="r2 last">Defined in:</dt>
|
86
|
+
<dd class="r2 last">lib/boris/profiles/unix/solaris.rb</dd>
|
87
|
+
|
88
|
+
</dl>
|
89
|
+
<div class="clear"></div>
|
90
|
+
|
91
|
+
|
92
|
+
<h2>Constant Summary</h2>
|
93
|
+
|
94
|
+
<dl class="constants">
|
95
|
+
|
96
|
+
<dt id="SOLARIS_ZONE_MODEL-constant" class="">SOLARIS_ZONE_MODEL =
|
97
|
+
|
98
|
+
</dt>
|
99
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Oracle Virtual Platform</span><span class='tstring_end'>'</span></span></pre></dd>
|
100
|
+
|
101
|
+
</dl>
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
<h2>Instance Attribute Summary</h2>
|
110
|
+
|
111
|
+
<h3 class="inherited">Attributes included from <span class='object_link'><a href="Structure.html" title="Boris::Profiles::Structure (module)">Structure</a></span></h3>
|
112
|
+
<p class="inherited"><span class='object_link'><a href="Structure.html#file_systems-instance_method" title="Boris::Profiles::Structure#file_systems (method)">#file_systems</a></span>, <span class='object_link'><a href="Structure.html#hardware-instance_method" title="Boris::Profiles::Structure#hardware (method)">#hardware</a></span>, <span class='object_link'><a href="Structure.html#hosted_shares-instance_method" title="Boris::Profiles::Structure#hosted_shares (method)">#hosted_shares</a></span>, <span class='object_link'><a href="Structure.html#installed_applications-instance_method" title="Boris::Profiles::Structure#installed_applications (method)">#installed_applications</a></span>, <span class='object_link'><a href="Structure.html#installed_patches-instance_method" title="Boris::Profiles::Structure#installed_patches (method)">#installed_patches</a></span>, <span class='object_link'><a href="Structure.html#installed_services-instance_method" title="Boris::Profiles::Structure#installed_services (method)">#installed_services</a></span>, <span class='object_link'><a href="Structure.html#local_user_groups-instance_method" title="Boris::Profiles::Structure#local_user_groups (method)">#local_user_groups</a></span>, <span class='object_link'><a href="Structure.html#network_id-instance_method" title="Boris::Profiles::Structure#network_id (method)">#network_id</a></span>, <span class='object_link'><a href="Structure.html#network_interfaces-instance_method" title="Boris::Profiles::Structure#network_interfaces (method)">#network_interfaces</a></span>, <span class='object_link'><a href="Structure.html#operating_system-instance_method" title="Boris::Profiles::Structure#operating_system (method)">#operating_system</a></span></p>
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
<h3 class="inherited">Attributes included from <span class='object_link'><a href="../Lumberjack.html" title="Boris::Lumberjack (module)">Lumberjack</a></span></h3>
|
117
|
+
<p class="inherited"><span class='object_link'><a href="../Lumberjack.html#logger-instance_method" title="Boris::Lumberjack#logger (method)">#logger</a></span></p>
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
<h2>
|
122
|
+
Class Method Summary
|
123
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
124
|
+
</h2>
|
125
|
+
|
126
|
+
<ul class="summary">
|
127
|
+
|
128
|
+
<li class="public ">
|
129
|
+
<span class="summary_signature">
|
130
|
+
|
131
|
+
<a href="#connection_type-class_method" title="connection_type (class method)">+ (Object) <strong>connection_type</strong> </a>
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
</span>
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
146
|
+
|
147
|
+
</li>
|
148
|
+
|
149
|
+
|
150
|
+
<li class="public ">
|
151
|
+
<span class="summary_signature">
|
152
|
+
|
153
|
+
<a href="#matches_target%3F-class_method" title="matches_target? (class method)">+ (Boolean) <strong>matches_target?</strong>(connector) </a>
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
</span>
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
168
|
+
|
169
|
+
</li>
|
170
|
+
|
171
|
+
|
172
|
+
</ul>
|
173
|
+
|
174
|
+
<h2>
|
175
|
+
Instance Method Summary
|
176
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
177
|
+
</h2>
|
178
|
+
|
179
|
+
<ul class="summary">
|
180
|
+
|
181
|
+
<li class="public ">
|
182
|
+
<span class="summary_signature">
|
183
|
+
|
184
|
+
<a href="#get_hardware-instance_method" title="#get_hardware (instance method)">- (Object) <strong>get_hardware</strong> </a>
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
</span>
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
199
|
+
|
200
|
+
</li>
|
201
|
+
|
202
|
+
|
203
|
+
<li class="public ">
|
204
|
+
<span class="summary_signature">
|
205
|
+
|
206
|
+
<a href="#get_hosted_shares-instance_method" title="#get_hosted_shares (instance method)">- (Object) <strong>get_hosted_shares</strong> </a>
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
</span>
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
221
|
+
|
222
|
+
</li>
|
223
|
+
|
224
|
+
|
225
|
+
<li class="public ">
|
226
|
+
<span class="summary_signature">
|
227
|
+
|
228
|
+
<a href="#get_installed_applications-instance_method" title="#get_installed_applications (instance method)">- (Object) <strong>get_installed_applications</strong> </a>
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
</span>
|
233
|
+
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
243
|
+
|
244
|
+
</li>
|
245
|
+
|
246
|
+
|
247
|
+
<li class="public ">
|
248
|
+
<span class="summary_signature">
|
249
|
+
|
250
|
+
<a href="#get_installed_patches-instance_method" title="#get_installed_patches (instance method)">- (Object) <strong>get_installed_patches</strong> </a>
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
</span>
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
|
264
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
265
|
+
|
266
|
+
</li>
|
267
|
+
|
268
|
+
|
269
|
+
<li class="public ">
|
270
|
+
<span class="summary_signature">
|
271
|
+
|
272
|
+
<a href="#get_installed_services-instance_method" title="#get_installed_services (instance method)">- (Object) <strong>get_installed_services</strong> </a>
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
</span>
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
|
286
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
287
|
+
|
288
|
+
</li>
|
289
|
+
|
290
|
+
|
291
|
+
<li class="public ">
|
292
|
+
<span class="summary_signature">
|
293
|
+
|
294
|
+
<a href="#get_local_user_groups-instance_method" title="#get_local_user_groups (instance method)">- (Object) <strong>get_local_user_groups</strong> </a>
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
</span>
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
309
|
+
|
310
|
+
</li>
|
311
|
+
|
312
|
+
|
313
|
+
<li class="public ">
|
314
|
+
<span class="summary_signature">
|
315
|
+
|
316
|
+
<a href="#get_network_interfaces-instance_method" title="#get_network_interfaces (instance method)">- (Object) <strong>get_network_interfaces</strong> </a>
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
</span>
|
321
|
+
|
322
|
+
|
323
|
+
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
|
330
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
331
|
+
|
332
|
+
</li>
|
333
|
+
|
334
|
+
|
335
|
+
<li class="public ">
|
336
|
+
<span class="summary_signature">
|
337
|
+
|
338
|
+
<a href="#get_operating_system-instance_method" title="#get_operating_system (instance method)">- (Object) <strong>get_operating_system</strong> </a>
|
339
|
+
|
340
|
+
|
341
|
+
|
342
|
+
</span>
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
353
|
+
|
354
|
+
</li>
|
355
|
+
|
356
|
+
|
357
|
+
</ul>
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
|
369
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="UNIX.html" title="Boris::Profiles::UNIX (module)">UNIX</a></span></h3>
|
370
|
+
<p class="inherited"><span class='object_link'><a href="UNIX.html#get_file_systems-instance_method" title="Boris::Profiles::UNIX#get_file_systems (method)">#get_file_systems</a></span>, <span class='object_link'><a href="UNIX.html#get_network_id-instance_method" title="Boris::Profiles::UNIX#get_network_id (method)">#get_network_id</a></span></p>
|
371
|
+
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="Structure.html" title="Boris::Profiles::Structure (module)">Structure</a></span></h3>
|
381
|
+
<p class="inherited"><span class='object_link'><a href="Structure.html#file_system_template-instance_method" title="Boris::Profiles::Structure#file_system_template (method)">#file_system_template</a></span>, <span class='object_link'><a href="Structure.html#get_file_systems-instance_method" title="Boris::Profiles::Structure#get_file_systems (method)">#get_file_systems</a></span>, <span class='object_link'><a href="Structure.html#get_network_id-instance_method" title="Boris::Profiles::Structure#get_network_id (method)">#get_network_id</a></span>, <span class='object_link'><a href="Structure.html#hosted_share_template-instance_method" title="Boris::Profiles::Structure#hosted_share_template (method)">#hosted_share_template</a></span>, <span class='object_link'><a href="Structure.html#installed_application_template-instance_method" title="Boris::Profiles::Structure#installed_application_template (method)">#installed_application_template</a></span>, <span class='object_link'><a href="Structure.html#installed_patch_template-instance_method" title="Boris::Profiles::Structure#installed_patch_template (method)">#installed_patch_template</a></span>, <span class='object_link'><a href="Structure.html#installed_service_template-instance_method" title="Boris::Profiles::Structure#installed_service_template (method)">#installed_service_template</a></span>, <span class='object_link'><a href="Structure.html#local_user_groups_template-instance_method" title="Boris::Profiles::Structure#local_user_groups_template (method)">#local_user_groups_template</a></span>, <span class='object_link'><a href="Structure.html#network_interface_template-instance_method" title="Boris::Profiles::Structure#network_interface_template (method)">#network_interface_template</a></span>, <span class='object_link'><a href="Structure.html#scrub_data%21-instance_method" title="Boris::Profiles::Structure#scrub_data! (method)">#scrub_data!</a></span></p>
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="../Lumberjack.html" title="Boris::Lumberjack (module)">Lumberjack</a></span></h3>
|
392
|
+
<p class="inherited"><span class='object_link'><a href="../Lumberjack.html#debug-instance_method" title="Boris::Lumberjack#debug (method)">#debug</a></span>, <span class='object_link'><a href="../Lumberjack.html#error-instance_method" title="Boris::Lumberjack#error (method)">#error</a></span>, <span class='object_link'><a href="../Lumberjack.html#fatal-instance_method" title="Boris::Lumberjack#fatal (method)">#fatal</a></span>, <span class='object_link'><a href="../Lumberjack.html#info-instance_method" title="Boris::Lumberjack#info (method)">#info</a></span>, <span class='object_link'><a href="../Lumberjack.html#warn-instance_method" title="Boris::Lumberjack#warn (method)">#warn</a></span></p>
|
393
|
+
|
394
|
+
|
395
|
+
<div id="class_method_details" class="method_details_list">
|
396
|
+
<h2>Class Method Details</h2>
|
397
|
+
|
398
|
+
|
399
|
+
<div class="method_details first">
|
400
|
+
<h3 class="signature first" id="connection_type-class_method">
|
401
|
+
|
402
|
+
+ (<tt>Object</tt>) <strong>connection_type</strong>
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
</h3><table class="source_code">
|
409
|
+
<tr>
|
410
|
+
<td>
|
411
|
+
<pre class="lines">
|
412
|
+
|
413
|
+
|
414
|
+
9
|
415
|
+
10
|
416
|
+
11</pre>
|
417
|
+
</td>
|
418
|
+
<td>
|
419
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 9</span>
|
420
|
+
|
421
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_connection_type'>connection_type</span>
|
422
|
+
<span class='const'>UNIX</span><span class='period'>.</span><span class='id identifier rubyid_connection_type'>connection_type</span>
|
423
|
+
<span class='kw'>end</span></pre>
|
424
|
+
</td>
|
425
|
+
</tr>
|
426
|
+
</table>
|
427
|
+
</div>
|
428
|
+
|
429
|
+
<div class="method_details ">
|
430
|
+
<h3 class="signature " id="matches_target?-class_method">
|
431
|
+
|
432
|
+
+ (<tt>Boolean</tt>) <strong>matches_target?</strong>(connector)
|
433
|
+
|
434
|
+
|
435
|
+
|
436
|
+
|
437
|
+
|
438
|
+
</h3><div class="docstring">
|
439
|
+
<div class="discussion">
|
440
|
+
|
441
|
+
|
442
|
+
</div>
|
443
|
+
</div>
|
444
|
+
<div class="tags">
|
445
|
+
|
446
|
+
<p class="tag_title">Returns:</p>
|
447
|
+
<ul class="return">
|
448
|
+
|
449
|
+
<li>
|
450
|
+
|
451
|
+
|
452
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
453
|
+
|
454
|
+
|
455
|
+
|
456
|
+
</li>
|
457
|
+
|
458
|
+
</ul>
|
459
|
+
|
460
|
+
</div><table class="source_code">
|
461
|
+
<tr>
|
462
|
+
<td>
|
463
|
+
<pre class="lines">
|
464
|
+
|
465
|
+
|
466
|
+
13
|
467
|
+
14
|
468
|
+
15</pre>
|
469
|
+
</td>
|
470
|
+
<td>
|
471
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 13</span>
|
472
|
+
|
473
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_matches_target?'>matches_target?</span><span class='lparen'>(</span><span class='id identifier rubyid_connector'>connector</span><span class='rparen'>)</span>
|
474
|
+
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id identifier rubyid_connector'>connector</span><span class='period'>.</span><span class='id identifier rubyid_value_at'>value_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>uname</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>sunos</span><span class='regexp_end'>/i</span></span>
|
475
|
+
<span class='kw'>end</span></pre>
|
476
|
+
</td>
|
477
|
+
</tr>
|
478
|
+
</table>
|
479
|
+
</div>
|
480
|
+
|
481
|
+
</div>
|
482
|
+
|
483
|
+
<div id="instance_method_details" class="method_details_list">
|
484
|
+
<h2>Instance Method Details</h2>
|
485
|
+
|
486
|
+
|
487
|
+
<div class="method_details first">
|
488
|
+
<h3 class="signature first" id="get_hardware-instance_method">
|
489
|
+
|
490
|
+
- (<tt>Object</tt>) <strong>get_hardware</strong>
|
491
|
+
|
492
|
+
|
493
|
+
|
494
|
+
|
495
|
+
|
496
|
+
</h3><table class="source_code">
|
497
|
+
<tr>
|
498
|
+
<td>
|
499
|
+
<pre class="lines">
|
500
|
+
|
501
|
+
|
502
|
+
17
|
503
|
+
18
|
504
|
+
19
|
505
|
+
20
|
506
|
+
21
|
507
|
+
22
|
508
|
+
23
|
509
|
+
24
|
510
|
+
25
|
511
|
+
26
|
512
|
+
27
|
513
|
+
28
|
514
|
+
29
|
515
|
+
30
|
516
|
+
31
|
517
|
+
32
|
518
|
+
33
|
519
|
+
34
|
520
|
+
35
|
521
|
+
36
|
522
|
+
37
|
523
|
+
38
|
524
|
+
39
|
525
|
+
40
|
526
|
+
41
|
527
|
+
42
|
528
|
+
43
|
529
|
+
44
|
530
|
+
45
|
531
|
+
46
|
532
|
+
47
|
533
|
+
48
|
534
|
+
49
|
535
|
+
50
|
536
|
+
51
|
537
|
+
52
|
538
|
+
53
|
539
|
+
54
|
540
|
+
55
|
541
|
+
56
|
542
|
+
57
|
543
|
+
58</pre>
|
544
|
+
</td>
|
545
|
+
<td>
|
546
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 17</span>
|
547
|
+
|
548
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_hardware'>get_hardware</span>
|
549
|
+
<span class='kw'>super</span>
|
550
|
+
|
551
|
+
<span class='id identifier rubyid_detect_platform'>detect_platform</span> <span class='kw'>if</span> <span class='op'>!</span><span class='ivar'>@platform</span>
|
552
|
+
<span class='id identifier rubyid_detect_zone'>detect_zone</span> <span class='kw'>if</span> <span class='op'>!</span><span class='ivar'>@zone</span>
|
553
|
+
|
554
|
+
<span class='kw'>if</span> <span class='ivar'>@zone</span> <span class='op'>==</span> <span class='symbol'>:child</span>
|
555
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:vendor</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>VENDOR_ORACLE</span>
|
556
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:model</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>SOLARIS_ZONE_MODEL</span>
|
557
|
+
<span class='kw'>elsif</span> <span class='ivar'>@platform</span> <span class='op'>==</span> <span class='symbol'>:sparc</span>
|
558
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:vendor</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>VENDOR_ORACLE</span>
|
559
|
+
|
560
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:firmware_version</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_value_at'>value_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>/usr/platform/`uname -m`/sbin/prtdiag -v | egrep -i "^obp" | awk '{print $2}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
|
561
|
+
<span class='id identifier rubyid_model_data'>model_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_value_at'>value_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/usr/sbin/prtconf -b | grep banner-name</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
562
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:model</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_model_data'>model_data</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
563
|
+
<span class='kw'>else</span>
|
564
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:firmware_version</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_value_at'>value_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/usr/sbin/smbios -t SMB_TYPE_BIOS | grep -i "version string"</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
565
|
+
<span class='id identifier rubyid_model_data'>model_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/usr/sbin/smbios -t SMB_TYPE_SYSTEM | egrep -i 'manufacturer|product|serial'</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
566
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:vendor</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_model_data'>model_data</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>manufacturer</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
567
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:model</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_model_data'>model_data</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>product</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
568
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:serial</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_model_data'>model_data</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>serial number</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
569
|
+
<span class='kw'>end</span>
|
570
|
+
|
571
|
+
<span class='id identifier rubyid_memory_data'>memory_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_value_at'>value_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/usr/sbin/prtconf | egrep -i 'memory size' | awk '{print $3}'</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
572
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:memory_installed_mb</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_memory_data'>memory_data</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
573
|
+
|
574
|
+
<span class='id identifier rubyid_cpu_arch_data'>cpu_arch_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>isainfo -v | egrep -i applications | awk '{print $1}'</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
575
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:cpu_architecture</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_cpu_arch_data'>cpu_arch_data</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>64-bit</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='int'>64</span> <span class='op'>:</span> <span class='int'>32</span>
|
576
|
+
|
577
|
+
<span class='id identifier rubyid_cpu_data'>cpu_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>kstat -m cpu_info | nawk '{if(tolower($1)~/^(chip_id|core_id|clock_mhz|vendor_id|brand)/) {sub($1, $1"|"); print $0}}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
|
578
|
+
|
579
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:cpu_physical_count</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_cpu_data'>cpu_data</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>chip_id</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span>
|
580
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:cpu_core_count</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_cpu_data'>cpu_data</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>core_id</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>/</span> <span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:cpu_physical_count</span><span class='rbracket'>]</span>
|
581
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:cpu_model</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_cpu_data'>cpu_data</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>brand</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span>
|
582
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:cpu_speed_mhz</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_cpu_data'>cpu_data</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>clock_mhz</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
583
|
+
|
584
|
+
<span class='ivar'>@hardware</span><span class='lbracket'>[</span><span class='symbol'>:cpu_vendor</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='ivar'>@platform</span> <span class='op'>==</span> <span class='symbol'>:sparc</span>
|
585
|
+
<span class='const'>VENDOR_ORACLE</span>
|
586
|
+
<span class='kw'>else</span>
|
587
|
+
<span class='id identifier rubyid_cpu_data'>cpu_data</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>vendor_id</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span>
|
588
|
+
<span class='kw'>end</span>
|
589
|
+
<span class='kw'>end</span></pre>
|
590
|
+
</td>
|
591
|
+
</tr>
|
592
|
+
</table>
|
593
|
+
</div>
|
594
|
+
|
595
|
+
<div class="method_details ">
|
596
|
+
<h3 class="signature " id="get_hosted_shares-instance_method">
|
597
|
+
|
598
|
+
- (<tt>Object</tt>) <strong>get_hosted_shares</strong>
|
599
|
+
|
600
|
+
|
601
|
+
|
602
|
+
|
603
|
+
|
604
|
+
</h3><table class="source_code">
|
605
|
+
<tr>
|
606
|
+
<td>
|
607
|
+
<pre class="lines">
|
608
|
+
|
609
|
+
|
610
|
+
60
|
611
|
+
61
|
612
|
+
62
|
613
|
+
63
|
614
|
+
64
|
615
|
+
65
|
616
|
+
66
|
617
|
+
67
|
618
|
+
68
|
619
|
+
69
|
620
|
+
70
|
621
|
+
71</pre>
|
622
|
+
</td>
|
623
|
+
<td>
|
624
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 60</span>
|
625
|
+
|
626
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_hosted_shares'>get_hosted_shares</span>
|
627
|
+
<span class='kw'>super</span>
|
628
|
+
|
629
|
+
<span class='id identifier rubyid_share_data'>share_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>nawk '{system("df -k | grep " $2)}' /usr/sbin/shares | nawk '{print $NF "|" $1}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
|
630
|
+
<span class='id identifier rubyid_share_data'>share_data</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_share'>share</span><span class='op'>|</span>
|
631
|
+
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_hosted_share_template'>hosted_share_template</span>
|
632
|
+
<span class='id identifier rubyid_share'>share</span> <span class='op'>=</span> <span class='id identifier rubyid_share'>share</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
633
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_share'>share</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
634
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_share'>share</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
|
635
|
+
<span class='ivar'>@hosted_shares</span> <span class='op'><<</span> <span class='id identifier rubyid_h'>h</span>
|
636
|
+
<span class='kw'>end</span>
|
637
|
+
<span class='kw'>end</span></pre>
|
638
|
+
</td>
|
639
|
+
</tr>
|
640
|
+
</table>
|
641
|
+
</div>
|
642
|
+
|
643
|
+
<div class="method_details ">
|
644
|
+
<h3 class="signature " id="get_installed_applications-instance_method">
|
645
|
+
|
646
|
+
- (<tt>Object</tt>) <strong>get_installed_applications</strong>
|
647
|
+
|
648
|
+
|
649
|
+
|
650
|
+
|
651
|
+
|
652
|
+
</h3><table class="source_code">
|
653
|
+
<tr>
|
654
|
+
<td>
|
655
|
+
<pre class="lines">
|
656
|
+
|
657
|
+
|
658
|
+
73
|
659
|
+
74
|
660
|
+
75
|
661
|
+
76
|
662
|
+
77
|
663
|
+
78
|
664
|
+
79
|
665
|
+
80
|
666
|
+
81
|
667
|
+
82
|
668
|
+
83
|
669
|
+
84
|
670
|
+
85
|
671
|
+
86
|
672
|
+
87
|
673
|
+
88
|
674
|
+
89
|
675
|
+
90
|
676
|
+
91
|
677
|
+
92
|
678
|
+
93
|
679
|
+
94
|
680
|
+
95</pre>
|
681
|
+
</td>
|
682
|
+
<td>
|
683
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 73</span>
|
684
|
+
|
685
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_installed_applications'>get_installed_applications</span>
|
686
|
+
<span class='kw'>super</span>
|
687
|
+
|
688
|
+
<span class='id identifier rubyid_application_data'>application_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>pkginfo -il -c application | egrep -i '^$|(name|version|basedir|vendor|instdate):'</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
689
|
+
<span class='id identifier rubyid_application_data'>application_data</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_application'>application</span><span class='op'>|</span>
|
690
|
+
|
691
|
+
<span class='id identifier rubyid_application'>application</span> <span class='op'>=</span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
692
|
+
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_installed_application_template'>installed_application_template</span>
|
693
|
+
|
694
|
+
<span class='id identifier rubyid_date_installed'>date_installed</span> <span class='op'>=</span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>instdate:</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>instdate:</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
|
695
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:date_installed</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_strptime'>strptime</span><span class='lparen'>(</span><span class='id identifier rubyid_date_installed'>date_installed</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%b %d %Y %H:%M</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
696
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>name:</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
697
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:version</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>version:</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
698
|
+
|
699
|
+
<span class='comment'># these sometimes don't show up
|
700
|
+
</span> <span class='id identifier rubyid_install_location'>install_location</span> <span class='op'>=</span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>basedir:</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
701
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:install_location</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_install_location'>install_location</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span> <span class='kw'>if</span> <span class='id identifier rubyid_install_location'>install_location</span>
|
702
|
+
<span class='id identifier rubyid_vendor'>vendor</span> <span class='op'>=</span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>vendor:</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
703
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:vendor</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_vendor'>vendor</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span> <span class='kw'>if</span> <span class='id identifier rubyid_vendor'>vendor</span>
|
704
|
+
|
705
|
+
<span class='ivar'>@installed_applications</span> <span class='op'><<</span> <span class='id identifier rubyid_h'>h</span>
|
706
|
+
<span class='kw'>end</span>
|
707
|
+
<span class='kw'>end</span></pre>
|
708
|
+
</td>
|
709
|
+
</tr>
|
710
|
+
</table>
|
711
|
+
</div>
|
712
|
+
|
713
|
+
<div class="method_details ">
|
714
|
+
<h3 class="signature " id="get_installed_patches-instance_method">
|
715
|
+
|
716
|
+
- (<tt>Object</tt>) <strong>get_installed_patches</strong>
|
717
|
+
|
718
|
+
|
719
|
+
|
720
|
+
|
721
|
+
|
722
|
+
</h3><table class="source_code">
|
723
|
+
<tr>
|
724
|
+
<td>
|
725
|
+
<pre class="lines">
|
726
|
+
|
727
|
+
|
728
|
+
97
|
729
|
+
98
|
730
|
+
99
|
731
|
+
100
|
732
|
+
101
|
733
|
+
102
|
734
|
+
103
|
735
|
+
104
|
736
|
+
105
|
737
|
+
106
|
738
|
+
107
|
739
|
+
108
|
740
|
+
109
|
741
|
+
110
|
742
|
+
111
|
743
|
+
112
|
744
|
+
113
|
745
|
+
114
|
746
|
+
115
|
747
|
+
116</pre>
|
748
|
+
</td>
|
749
|
+
<td>
|
750
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 97</span>
|
751
|
+
|
752
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_installed_patches'>get_installed_patches</span>
|
753
|
+
<span class='kw'>super</span>
|
754
|
+
|
755
|
+
<span class='comment'># get list of patch install directories and their modified date. this will be our de-facto
|
756
|
+
</span> <span class='comment'># list of installed patches on a host.
|
757
|
+
</span>
|
758
|
+
<span class='id identifier rubyid_patch_directories'>patch_directories</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>ls -ego /var/sadm/patch | grep -v '^total' | nawk '{print $NF "|" $4 " " $5 " " $6 " " $7}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
|
759
|
+
|
760
|
+
<span class='id identifier rubyid_patch_directories'>patch_directories</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_directory'>directory</span><span class='op'>|</span>
|
761
|
+
|
762
|
+
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_installed_patch_template'>installed_patch_template</span>
|
763
|
+
|
764
|
+
<span class='id identifier rubyid_directory'>directory</span> <span class='op'>=</span> <span class='id identifier rubyid_directory'>directory</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
765
|
+
|
766
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:patch_code</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_directory'>directory</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
767
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:date_installed</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_directory'>directory</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
768
|
+
|
769
|
+
<span class='ivar'>@installed_patches</span> <span class='op'><<</span> <span class='id identifier rubyid_h'>h</span>
|
770
|
+
<span class='kw'>end</span>
|
771
|
+
<span class='kw'>end</span></pre>
|
772
|
+
</td>
|
773
|
+
</tr>
|
774
|
+
</table>
|
775
|
+
</div>
|
776
|
+
|
777
|
+
<div class="method_details ">
|
778
|
+
<h3 class="signature " id="get_installed_services-instance_method">
|
779
|
+
|
780
|
+
- (<tt>Object</tt>) <strong>get_installed_services</strong>
|
781
|
+
|
782
|
+
|
783
|
+
|
784
|
+
|
785
|
+
|
786
|
+
</h3><table class="source_code">
|
787
|
+
<tr>
|
788
|
+
<td>
|
789
|
+
<pre class="lines">
|
790
|
+
|
791
|
+
|
792
|
+
118
|
793
|
+
119
|
794
|
+
120
|
795
|
+
121
|
796
|
+
122
|
797
|
+
123
|
798
|
+
124
|
799
|
+
125
|
800
|
+
126
|
801
|
+
127
|
802
|
+
128</pre>
|
803
|
+
</td>
|
804
|
+
<td>
|
805
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 118</span>
|
806
|
+
|
807
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_installed_services'>get_installed_services</span>
|
808
|
+
<span class='kw'>super</span>
|
809
|
+
|
810
|
+
<span class='id identifier rubyid_service_data'>service_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>svcs -a | nawk '{print $NF}'</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
811
|
+
<span class='id identifier rubyid_service_data'>service_data</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_service'>service</span><span class='op'>|</span>
|
812
|
+
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_installed_service_template'>installed_service_template</span>
|
813
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_service'>service</span>
|
814
|
+
|
815
|
+
<span class='ivar'>@installed_services</span> <span class='op'><<</span> <span class='id identifier rubyid_h'>h</span>
|
816
|
+
<span class='kw'>end</span>
|
817
|
+
<span class='kw'>end</span></pre>
|
818
|
+
</td>
|
819
|
+
</tr>
|
820
|
+
</table>
|
821
|
+
</div>
|
822
|
+
|
823
|
+
<div class="method_details ">
|
824
|
+
<h3 class="signature " id="get_local_user_groups-instance_method">
|
825
|
+
|
826
|
+
- (<tt>Object</tt>) <strong>get_local_user_groups</strong>
|
827
|
+
|
828
|
+
|
829
|
+
|
830
|
+
|
831
|
+
|
832
|
+
</h3><table class="source_code">
|
833
|
+
<tr>
|
834
|
+
<td>
|
835
|
+
<pre class="lines">
|
836
|
+
|
837
|
+
|
838
|
+
130</pre>
|
839
|
+
</td>
|
840
|
+
<td>
|
841
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 130</span>
|
842
|
+
|
843
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_local_user_groups'>get_local_user_groups</span><span class='semicolon'>;</span> <span class='kw'>super</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
844
|
+
</td>
|
845
|
+
</tr>
|
846
|
+
</table>
|
847
|
+
</div>
|
848
|
+
|
849
|
+
<div class="method_details ">
|
850
|
+
<h3 class="signature " id="get_network_interfaces-instance_method">
|
851
|
+
|
852
|
+
- (<tt>Object</tt>) <strong>get_network_interfaces</strong>
|
853
|
+
|
854
|
+
|
855
|
+
|
856
|
+
|
857
|
+
|
858
|
+
</h3><table class="source_code">
|
859
|
+
<tr>
|
860
|
+
<td>
|
861
|
+
<pre class="lines">
|
862
|
+
|
863
|
+
|
864
|
+
132
|
865
|
+
133
|
866
|
+
134
|
867
|
+
135
|
868
|
+
136
|
869
|
+
137
|
870
|
+
138
|
871
|
+
139
|
872
|
+
140
|
873
|
+
141
|
874
|
+
142
|
875
|
+
143
|
876
|
+
144
|
877
|
+
145
|
878
|
+
146
|
879
|
+
147
|
880
|
+
148
|
881
|
+
149
|
882
|
+
150
|
883
|
+
151
|
884
|
+
152
|
885
|
+
153
|
886
|
+
154
|
887
|
+
155
|
888
|
+
156
|
889
|
+
157
|
890
|
+
158
|
891
|
+
159
|
892
|
+
160
|
893
|
+
161
|
894
|
+
162
|
895
|
+
163
|
896
|
+
164
|
897
|
+
165
|
898
|
+
166
|
899
|
+
167
|
900
|
+
168
|
901
|
+
169
|
902
|
+
170
|
903
|
+
171
|
904
|
+
172
|
905
|
+
173
|
906
|
+
174
|
907
|
+
175
|
908
|
+
176
|
909
|
+
177
|
910
|
+
178
|
911
|
+
179
|
912
|
+
180
|
913
|
+
181
|
914
|
+
182
|
915
|
+
183
|
916
|
+
184
|
917
|
+
185
|
918
|
+
186
|
919
|
+
187
|
920
|
+
188
|
921
|
+
189
|
922
|
+
190
|
923
|
+
191
|
924
|
+
192
|
925
|
+
193
|
926
|
+
194
|
927
|
+
195
|
928
|
+
196
|
929
|
+
197
|
930
|
+
198
|
931
|
+
199
|
932
|
+
200
|
933
|
+
201
|
934
|
+
202
|
935
|
+
203
|
936
|
+
204
|
937
|
+
205
|
938
|
+
206
|
939
|
+
207
|
940
|
+
208
|
941
|
+
209
|
942
|
+
210
|
943
|
+
211
|
944
|
+
212
|
945
|
+
213
|
946
|
+
214
|
947
|
+
215
|
948
|
+
216
|
949
|
+
217
|
950
|
+
218
|
951
|
+
219
|
952
|
+
220
|
953
|
+
221
|
954
|
+
222
|
955
|
+
223
|
956
|
+
224
|
957
|
+
225
|
958
|
+
226
|
959
|
+
227
|
960
|
+
228
|
961
|
+
229
|
962
|
+
230
|
963
|
+
231
|
964
|
+
232
|
965
|
+
233
|
966
|
+
234
|
967
|
+
235
|
968
|
+
236
|
969
|
+
237
|
970
|
+
238
|
971
|
+
239
|
972
|
+
240
|
973
|
+
241
|
974
|
+
242
|
975
|
+
243
|
976
|
+
244
|
977
|
+
245
|
978
|
+
246
|
979
|
+
247
|
980
|
+
248
|
981
|
+
249
|
982
|
+
250
|
983
|
+
251
|
984
|
+
252
|
985
|
+
253
|
986
|
+
254
|
987
|
+
255
|
988
|
+
256
|
989
|
+
257
|
990
|
+
258
|
991
|
+
259
|
992
|
+
260
|
993
|
+
261
|
994
|
+
262
|
995
|
+
263
|
996
|
+
264
|
997
|
+
265
|
998
|
+
266
|
999
|
+
267
|
1000
|
+
268
|
1001
|
+
269
|
1002
|
+
270
|
1003
|
+
271
|
1004
|
+
272
|
1005
|
+
273
|
1006
|
+
274
|
1007
|
+
275
|
1008
|
+
276
|
1009
|
+
277
|
1010
|
+
278
|
1011
|
+
279
|
1012
|
+
280
|
1013
|
+
281</pre>
|
1014
|
+
</td>
|
1015
|
+
<td>
|
1016
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 132</span>
|
1017
|
+
|
1018
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_network_interfaces'>get_network_interfaces</span>
|
1019
|
+
<span class='kw'>super</span>
|
1020
|
+
|
1021
|
+
<span class='id identifier rubyid_detect_platform'>detect_platform</span> <span class='kw'>if</span> <span class='op'>!</span><span class='ivar'>@platform</span>
|
1022
|
+
<span class='id identifier rubyid_detect_zone'>detect_zone</span> <span class='kw'>if</span> <span class='op'>!</span><span class='ivar'>@zone</span>
|
1023
|
+
|
1024
|
+
<span class='comment'>## ETHERNET
|
1025
|
+
</span> <span class='comment'># first, grab the link properties for all connections via the kstat command
|
1026
|
+
</span> <span class='id identifier rubyid_link_properties'>link_properties</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>/usr/bin/kstat -c net -p | egrep "ifspeed|link_(up|duplex|autoneg)" | nawk '{print $1 "|" $2}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
|
1027
|
+
|
1028
|
+
<span class='comment'># now create a definitive list of interfaces found on this host. to do this, we pull
|
1029
|
+
</span> <span class='comment'># the interfaces from the link_properties (kstat cmd) output.
|
1030
|
+
</span> <span class='id identifier rubyid_found_ethernet_interfaces'>found_ethernet_interfaces</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1031
|
+
<span class='id identifier rubyid_link_properties'>link_properties</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>:ifspeed\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
|
1032
|
+
<span class='id identifier rubyid_i'>i</span> <span class='op'>=</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>:</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
1033
|
+
<span class='id identifier rubyid_found_ethernet_interfaces'>found_ethernet_interfaces</span> <span class='op'><<</span> <span class='lbrace'>{</span><span class='symbol'>:driver</span><span class='op'>=></span><span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:instance</span><span class='op'>=></span><span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rbrace'>}</span>
|
1034
|
+
<span class='kw'>end</span>
|
1035
|
+
|
1036
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_found_ethernet_interfaces'>found_ethernet_interfaces</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
|
1037
|
+
|
1038
|
+
<span class='comment'># get some basic info that will apply to all ethernet interfaces
|
1039
|
+
</span> <span class='id identifier rubyid_dns_servers'>dns_servers</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>cat /etc/resolv.conf | grep ^nameserver | awk '{print $2}'</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1040
|
+
|
1041
|
+
<span class='comment'># then get ethernet interface config from ifconfig
|
1042
|
+
</span> <span class='id identifier rubyid_interface_configs'>interface_configs</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>/sbin/ifconfig -a | egrep 'flags|inet|zone' | nawk '{if($2~/^flags/ && $1!~/^(lo|dman|sppp)/) {current_line=$0; getline; {if($1!~/^zone/) {$1=$1; print current_line "\n" $0 "\n"}}}}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1043
|
+
|
1044
|
+
<span class='comment'># now get the macs of active ethernet connections (for backup in cases where we
|
1045
|
+
</span> <span class='comment'># can't get macs from prtpicl)
|
1046
|
+
</span> <span class='id identifier rubyid_mac_mapping'>mac_mapping</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>/usr/bin/netstat -pn | grep SP | nawk '{print $1 "|" $2 "|" toupper($5)}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
|
1047
|
+
|
1048
|
+
<span class='comment'># if this host is in a child zone, drop any interfaces that are not found in the ifconfig
|
1049
|
+
</span> <span class='comment'># command output (since these would likely be picked up when scanning the zone host)
|
1050
|
+
</span> <span class='kw'>if</span> <span class='ivar'>@zone</span> <span class='op'>==</span> <span class='symbol'>:child</span>
|
1051
|
+
<span class='id identifier rubyid_found_ethernet_interfaces'>found_ethernet_interfaces</span><span class='period'>.</span><span class='id identifier rubyid_delete_if'>delete_if</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_fi'>fi</span><span class='op'>|</span> <span class='id identifier rubyid_interface_configs'>interface_configs</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_config'>config</span><span class='op'>|</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:driver</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:instance</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='regexp_end'>/</span></span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span> <span class='op'>==</span> <span class='int'>0</span><span class='rbrace'>}</span>
|
1052
|
+
<span class='kw'>end</span>
|
1053
|
+
|
1054
|
+
<span class='comment'># now loop through each unique ethernet interface found on this host
|
1055
|
+
</span> <span class='id identifier rubyid_found_ethernet_interfaces'>found_ethernet_interfaces</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_fi'>fi</span><span class='op'>|</span>
|
1056
|
+
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_network_interface_template'>network_interface_template</span>
|
1057
|
+
|
1058
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:dns_servers</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_dns_servers'>dns_servers</span>
|
1059
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:driver</span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:instance</span><span class='rbracket'>]</span>
|
1060
|
+
|
1061
|
+
<span class='comment'># set some defaults for this interface
|
1062
|
+
</span> <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:mac_address</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>00:00:00:00:00:00</span><span class='tstring_end'>'</span></span>
|
1063
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:model</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown Ethernet Adapter</span><span class='tstring_end'>'</span></span>
|
1064
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:status</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>down</span><span class='tstring_end'>'</span></span>
|
1065
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ethernet</span><span class='tstring_end'>'</span></span>
|
1066
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:vendor</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown</span><span class='tstring_end'>'</span></span>
|
1067
|
+
|
1068
|
+
<span class='comment'># grab the ifconfig output matching this interface
|
1069
|
+
</span> <span class='id identifier rubyid_matched_ifconfig_data'>matched_ifconfig_data</span> <span class='op'>=</span> <span class='id identifier rubyid_interface_configs'>interface_configs</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>:</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1070
|
+
<span class='id identifier rubyid_matched_ifconfig_data'>matched_ifconfig_data</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ifconfig_data'>ifconfig_data</span><span class='op'>|</span>
|
1071
|
+
<span class='id identifier rubyid_ifconfig_data'>ifconfig_data</span> <span class='op'>=</span> <span class='id identifier rubyid_ifconfig_data'>ifconfig_data</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1072
|
+
<span class='id identifier rubyid_interface_line'>interface_line</span> <span class='op'>=</span> <span class='id identifier rubyid_ifconfig_data'>ifconfig_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span>
|
1073
|
+
<span class='id identifier rubyid_inet_line'>inet_line</span> <span class='op'>=</span> <span class='id identifier rubyid_ifconfig_data'>ifconfig_data</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span>
|
1074
|
+
|
1075
|
+
<span class='id identifier rubyid_subnet'>subnet</span> <span class='op'>=</span> <span class='id identifier rubyid_inet_line'>inet_line</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_inet_line'>inet_line</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_hex_to_address'>hex_to_address</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
1076
|
+
|
1077
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:status</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>up</span><span class='tstring_end'>'</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_interface_line'>interface_line</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'><up</span><span class='regexp_end'>/i</span></span>
|
1078
|
+
|
1079
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:status</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>up</span><span class='tstring_end'>'</span></span>
|
1080
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:mtu</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_interface_line'>interface_line</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='kw'>unless</span> <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:mtu</span><span class='rbracket'>]</span>
|
1081
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:ip_addresses</span><span class='rbracket'>]</span> <span class='op'><<</span> <span class='lbrace'>{</span><span class='symbol'>:ip_address</span><span class='op'>=></span><span class='id identifier rubyid_inet_line'>inet_line</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:subnet</span><span class='op'>=></span><span class='id identifier rubyid_subnet'>subnet</span><span class='rbrace'>}</span>
|
1082
|
+
<span class='kw'>end</span>
|
1083
|
+
<span class='kw'>end</span>
|
1084
|
+
|
1085
|
+
<span class='comment'># for a child zone, set default ethernet interface model/vendor. for zone host,
|
1086
|
+
</span> <span class='comment'># run prtpicl command to grab hardware details
|
1087
|
+
</span> <span class='kw'>if</span> <span class='ivar'>@zone</span> <span class='op'>==</span> <span class='symbol'>:child</span>
|
1088
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:model</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Virtual Ethernet Adapter</span><span class='tstring_end'>'</span></span>
|
1089
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:vendor</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>VENDOR_ORACLE</span>
|
1090
|
+
<span class='kw'>else</span>
|
1091
|
+
<span class='id identifier rubyid_prtpicl_command'>prtpicl_command</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>/usr/sbin/prtpicl -c network -v | egrep ':model|:driver-name|:instance|:local-mac-address|:vendor-id|:device-id|\(network' | nawk '{if ($0 ~ /\(network/) print ""; else {first=$1; $1=""; print first "|" $0}}'</span><span class='tstring_end'>}</span></span>
|
1092
|
+
|
1093
|
+
<span class='id identifier rubyid_prtpicl_command'>prtpicl_command</span><span class='period'>.</span><span class='id identifier rubyid_gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>network</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>obp-device</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@platform</span> <span class='op'>==</span> <span class='symbol'>:x86</span>
|
1094
|
+
|
1095
|
+
<span class='id identifier rubyid_hardware_details'>hardware_details</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='id identifier rubyid_prtpicl_command'>prtpicl_command</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1096
|
+
|
1097
|
+
<span class='id identifier rubyid_hardware'>hardware</span> <span class='op'>=</span> <span class='id identifier rubyid_hardware_details'>hardware_details</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>driver-name\|.*</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:driver</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>instance\|.*</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:instance</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1098
|
+
|
1099
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:vendor_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>vendor-id\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span> <span class='kw'>unless</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>vendor-id\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1100
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:model_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>device-id\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span> <span class='kw'>unless</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>device-id\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1101
|
+
|
1102
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:vendor</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>vendor\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span> <span class='kw'>unless</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>vendor\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1103
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:model</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>model\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span> <span class='kw'>unless</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>model\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1104
|
+
|
1105
|
+
<span class='comment'># try grabbing the mac from the hardware details (hit or miss if it's there)
|
1106
|
+
</span> <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:mac_address</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>local-mac-address\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s+</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>:</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='kw'>unless</span> <span class='id identifier rubyid_hardware'>hardware</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>local-mac-address\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1107
|
+
<span class='kw'>end</span>
|
1108
|
+
|
1109
|
+
<span class='comment'># make another attempt at grabbing the mac, this time checking output from netstat,
|
1110
|
+
</span> <span class='comment'># which would only apply to active connections
|
1111
|
+
</span> <span class='id identifier rubyid_netstat_mac'>netstat_mac</span> <span class='op'>=</span> <span class='id identifier rubyid_mac_mapping'>mac_mapping</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_mac'>mac</span><span class='op'>|</span> <span class='id identifier rubyid_mac'>mac</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:driver</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:instance</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>\|</span><span class='regexp_end'>/</span></span><span class='rbrace'>}</span>
|
1112
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:mac_address</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_netstat_mac'>netstat_mac</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span> <span class='kw'>unless</span> <span class='id identifier rubyid_netstat_mac'>netstat_mac</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1113
|
+
|
1114
|
+
<span class='comment'># grab link properties from the kstat command results
|
1115
|
+
</span> <span class='id identifier rubyid_properties'>properties</span> <span class='op'>=</span> <span class='id identifier rubyid_link_properties'>link_properties</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:driver</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fi'>fi</span><span class='lbracket'>[</span><span class='symbol'>:instance</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='regexp_end'>/</span></span><span class='rbrace'>}</span>
|
1116
|
+
|
1117
|
+
<span class='comment'># override status if the link is down
|
1118
|
+
</span> <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:status</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>down</span><span class='tstring_end'>'</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_properties'>properties</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>:link_up\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1</span><span class='tstring_end'>'</span></span>
|
1119
|
+
|
1120
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:status</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>up</span><span class='tstring_end'>'</span></span>
|
1121
|
+
<span class='id identifier rubyid_speed'>speed</span> <span class='op'>=</span> <span class='id identifier rubyid_properties'>properties</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>:ifspeed\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1122
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:current_speed_mbps</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_speed'>speed</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'>/</span> <span class='int'>1000</span> <span class='op'>/</span> <span class='int'>1000</span> <span class='kw'>unless</span> <span class='id identifier rubyid_speed'>speed</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1123
|
+
|
1124
|
+
<span class='id identifier rubyid_auto_negotiate_setting'>auto_negotiate_setting</span> <span class='op'>=</span> <span class='id identifier rubyid_properties'>properties</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>:link_autoneg\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1125
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:auto_negotiate</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_auto_negotiate_setting'>auto_negotiate_setting</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
1126
|
+
<span class='kw'>when</span> <span class='int'>1</span><span class='semicolon'>;</span> <span class='kw'>true</span>
|
1127
|
+
<span class='kw'>else</span><span class='semicolon'>;</span> <span class='kw'>false</span>
|
1128
|
+
<span class='kw'>end</span> <span class='kw'>unless</span> <span class='id identifier rubyid_auto_negotiate_setting'>auto_negotiate_setting</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1129
|
+
|
1130
|
+
<span class='id identifier rubyid_duplex_setting'>duplex_setting</span> <span class='op'>=</span> <span class='id identifier rubyid_properties'>properties</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>:link_duplex\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1131
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:duplex</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_duplex_setting'>duplex_setting</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span>
|
1132
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>2</span><span class='tstring_end'>'</span></span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>full</span><span class='tstring_end'>'</span></span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>full</span><span class='tstring_end'>'</span></span>
|
1133
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1</span><span class='tstring_end'>'</span></span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>half</span><span class='tstring_end'>'</span></span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>half</span><span class='tstring_end'>'</span></span>
|
1134
|
+
<span class='kw'>end</span> <span class='kw'>unless</span> <span class='id identifier rubyid_duplex_setting'>duplex_setting</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1135
|
+
|
1136
|
+
<span class='kw'>end</span>
|
1137
|
+
|
1138
|
+
<span class='ivar'>@network_interfaces</span> <span class='op'><<</span> <span class='id identifier rubyid_h'>h</span>
|
1139
|
+
<span class='kw'>end</span>
|
1140
|
+
<span class='kw'>end</span>
|
1141
|
+
|
1142
|
+
<span class='comment'>## FIBRE CHANNEL
|
1143
|
+
</span> <span class='id identifier rubyid_found_fibre_interfaces'>found_fibre_interfaces</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>/usr/local/bin/sudo /usr/sbin/fcinfo hba-port | egrep -i "wwn|device name|model|manufacturer|driver name|state|current speed" | nawk '{$1=$1; if(tolower($1) ~ /^node/) print $0 "\n"; else print $0;}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
|
1144
|
+
<span class='id identifier rubyid_found_fibre_interfaces'>found_fibre_interfaces</span> <span class='op'>=</span> <span class='id identifier rubyid_found_fibre_interfaces'>found_fibre_interfaces</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1145
|
+
|
1146
|
+
<span class='id identifier rubyid_found_fibre_interfaces'>found_fibre_interfaces</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hba'>hba</span><span class='op'>|</span>
|
1147
|
+
<span class='id identifier rubyid_hba'>hba</span> <span class='op'>=</span> <span class='id identifier rubyid_hba'>hba</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1148
|
+
|
1149
|
+
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_network_interface_template'>network_interface_template</span>
|
1150
|
+
|
1151
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hba'>hba</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>os device name</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
1152
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:node_wwn</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hba'>hba</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>node wwn</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
1153
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:port_wwn</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hba'>hba</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>port wwn</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
1154
|
+
|
1155
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:model</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hba'>hba</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>model</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
1156
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:vendor</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hba'>hba</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>manufacturer</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
1157
|
+
|
1158
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:status</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hba'>hba</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>state</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>online</span><span class='regexp_end'>/i</span></span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>up</span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>down</span><span class='tstring_end'>'</span></span>
|
1159
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>fibre</span><span class='tstring_end'>'</span></span>
|
1160
|
+
|
1161
|
+
<span class='id identifier rubyid_current_speed'>current_speed</span> <span class='op'>=</span> <span class='id identifier rubyid_hba'>hba</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>current speed</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
|
1162
|
+
<span class='id identifier rubyid_speed'>speed</span> <span class='op'>=</span> <span class='id identifier rubyid_current_speed'>current_speed</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\d</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
1163
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:current_speed_mbps</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_current_speed'>current_speed</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>gb</span><span class='regexp_end'>/i</span></span> <span class='op'>?</span> <span class='id identifier rubyid_speed'>speed</span> <span class='op'>*</span> <span class='int'>1000</span> <span class='op'>:</span> <span class='id identifier rubyid_speed'>speed</span>
|
1164
|
+
|
1165
|
+
<span class='ivar'>@network_interfaces</span> <span class='op'><<</span> <span class='id identifier rubyid_h'>h</span>
|
1166
|
+
<span class='kw'>end</span>
|
1167
|
+
<span class='kw'>end</span></pre>
|
1168
|
+
</td>
|
1169
|
+
</tr>
|
1170
|
+
</table>
|
1171
|
+
</div>
|
1172
|
+
|
1173
|
+
<div class="method_details ">
|
1174
|
+
<h3 class="signature " id="get_operating_system-instance_method">
|
1175
|
+
|
1176
|
+
- (<tt>Object</tt>) <strong>get_operating_system</strong>
|
1177
|
+
|
1178
|
+
|
1179
|
+
|
1180
|
+
|
1181
|
+
|
1182
|
+
</h3><table class="source_code">
|
1183
|
+
<tr>
|
1184
|
+
<td>
|
1185
|
+
<pre class="lines">
|
1186
|
+
|
1187
|
+
|
1188
|
+
283
|
1189
|
+
284
|
1190
|
+
285
|
1191
|
+
286
|
1192
|
+
287
|
1193
|
+
288
|
1194
|
+
289
|
1195
|
+
290
|
1196
|
+
291
|
1197
|
+
292
|
1198
|
+
293</pre>
|
1199
|
+
</td>
|
1200
|
+
<td>
|
1201
|
+
<pre class="code"><span class="info file"># File 'lib/boris/profiles/unix/solaris.rb', line 283</span>
|
1202
|
+
|
1203
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_operating_system'>get_operating_system</span>
|
1204
|
+
<span class='kw'>super</span>
|
1205
|
+
|
1206
|
+
<span class='id identifier rubyid_install_log_date'>install_log_date</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_value_at'>value_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ls -l /var/sadm/system/logs/install_log | nawk '{print $6</span><span class='tstring_end'>"</span></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>$7</span><span class='tstring_end'>"</span></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>$8'}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1207
|
+
<span class='ivar'>@operating_system</span><span class='lbracket'>[</span><span class='symbol'>:date_installed</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_install_log_date'>install_log_date</span><span class='rparen'>)</span>
|
1208
|
+
|
1209
|
+
<span class='id identifier rubyid_os_data'>os_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_value_at'>value_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>uname -rv</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span>
|
1210
|
+
<span class='ivar'>@operating_system</span><span class='lbracket'>[</span><span class='symbol'>:kernel</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_os_data'>os_data</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
|
1211
|
+
<span class='ivar'>@operating_system</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Oracle Solaris</span><span class='tstring_end'>'</span></span>
|
1212
|
+
<span class='ivar'>@operating_system</span><span class='lbracket'>[</span><span class='symbol'>:version</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_os_data'>os_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
1213
|
+
<span class='kw'>end</span></pre>
|
1214
|
+
</td>
|
1215
|
+
</tr>
|
1216
|
+
</table>
|
1217
|
+
</div>
|
1218
|
+
|
1219
|
+
</div>
|
1220
|
+
|
1221
|
+
</div>
|
1222
|
+
|
1223
|
+
<div id="footer">
|
1224
|
+
Generated on Sun Feb 3 16:32:42 2013 by
|
1225
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1226
|
+
0.8.3 (ruby-1.9.3).
|
1227
|
+
</div>
|
1228
|
+
|
1229
|
+
</body>
|
1230
|
+
</html>
|