boris 1.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. data/LICENSE.md +9 -0
  2. data/README.md +94 -0
  3. data/boris.gemspec +28 -0
  4. data/doc/Array.html +437 -0
  5. data/doc/Boris.html +230 -0
  6. data/doc/Boris/ConnectionAlreadyActive.html +123 -0
  7. data/doc/Boris/ConnectionFailed.html +127 -0
  8. data/doc/Boris/Connector.html +794 -0
  9. data/doc/Boris/InvalidCredentials.html +131 -0
  10. data/doc/Boris/InvalidOption.html +123 -0
  11. data/doc/Boris/InvalidTargetName.html +123 -0
  12. data/doc/Boris/Lumberjack.html +466 -0
  13. data/doc/Boris/MissingCredentials.html +123 -0
  14. data/doc/Boris/NoActiveConnection.html +123 -0
  15. data/doc/Boris/NoProfileDetected.html +123 -0
  16. data/doc/Boris/Options.html +783 -0
  17. data/doc/Boris/Profiles.html +117 -0
  18. data/doc/Boris/Profiles/Linux.html +1151 -0
  19. data/doc/Boris/Profiles/RedHat.html +875 -0
  20. data/doc/Boris/Profiles/Solaris.html +1230 -0
  21. data/doc/Boris/Profiles/Structure.html +2050 -0
  22. data/doc/Boris/Profiles/UNIX.html +893 -0
  23. data/doc/Boris/Profiles/Windows.html +1846 -0
  24. data/doc/Boris/Profiles/Windows/Windows2003.html +304 -0
  25. data/doc/Boris/Profiles/Windows/Windows2008.html +379 -0
  26. data/doc/Boris/Profiles/Windows/Windows2012.html +304 -0
  27. data/doc/Boris/SNMPConnector.html +512 -0
  28. data/doc/Boris/SSHConnector.html +633 -0
  29. data/doc/Boris/Target.html +2002 -0
  30. data/doc/Boris/WMIConnector.html +1134 -0
  31. data/doc/BorisLogger.html +217 -0
  32. data/doc/Hash.html +195 -0
  33. data/doc/String.html +1246 -0
  34. data/doc/_index.html +420 -0
  35. data/doc/class_list.html +53 -0
  36. data/doc/css/common.css +1 -0
  37. data/doc/css/full_list.css +57 -0
  38. data/doc/css/style.css +328 -0
  39. data/doc/file.README.html +183 -0
  40. data/doc/file_list.html +55 -0
  41. data/doc/frames.html +28 -0
  42. data/doc/index.html +183 -0
  43. data/doc/js/app.js +214 -0
  44. data/doc/js/full_list.js +173 -0
  45. data/doc/js/jquery.js +4 -0
  46. data/doc/method_list.html +1468 -0
  47. data/doc/top-level-namespace.html +126 -0
  48. data/lib/boris.rb +30 -0
  49. data/lib/boris/connectors.rb +47 -0
  50. data/lib/boris/connectors/snmp.rb +56 -0
  51. data/lib/boris/connectors/ssh.rb +110 -0
  52. data/lib/boris/connectors/wmi.rb +186 -0
  53. data/lib/boris/errors.rb +17 -0
  54. data/lib/boris/helpers/array.rb +63 -0
  55. data/lib/boris/helpers/constants.rb +20 -0
  56. data/lib/boris/helpers/hash.rb +8 -0
  57. data/lib/boris/helpers/scrubber.rb +51 -0
  58. data/lib/boris/helpers/string.rb +130 -0
  59. data/lib/boris/lumberjack.rb +47 -0
  60. data/lib/boris/options.rb +86 -0
  61. data/lib/boris/profiles/linux/redhat.rb +77 -0
  62. data/lib/boris/profiles/linux_core.rb +216 -0
  63. data/lib/boris/profiles/unix/solaris.rb +307 -0
  64. data/lib/boris/profiles/unix_core.rb +85 -0
  65. data/lib/boris/profiles/windows/windows2003.rb +15 -0
  66. data/lib/boris/profiles/windows/windows2008.rb +23 -0
  67. data/lib/boris/profiles/windows/windows2012.rb +15 -0
  68. data/lib/boris/profiles/windows_core.rb +530 -0
  69. data/lib/boris/structure.rb +167 -0
  70. data/lib/boris/target.rb +340 -0
  71. data/test/connector_tests/test_snmp.rb +35 -0
  72. data/test/connector_tests/test_ssh.rb +51 -0
  73. data/test/connector_tests/test_wmi.rb +129 -0
  74. data/test/helper_tests/test_array.rb +25 -0
  75. data/test/helper_tests/test_hash.rb +10 -0
  76. data/test/helper_tests/test_string.rb +136 -0
  77. data/test/profile_tests/test_core_skeleton +107 -0
  78. data/test/profile_tests/test_linux_core.rb +331 -0
  79. data/test/profile_tests/test_redhat.rb +134 -0
  80. data/test/profile_tests/test_solaris.rb +523 -0
  81. data/test/profile_tests/test_unix_core.rb +117 -0
  82. data/test/profile_tests/test_windows.rb +536 -0
  83. data/test/setup_tests.rb +14 -0
  84. data/test/test_all.rb +8 -0
  85. data/test/test_options.rb +44 -0
  86. data/test/test_structure.rb +136 -0
  87. data/test/test_target.rb +146 -0
  88. 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
+ &mdash; 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> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../../Boris.html" title="Boris (module)">Boris</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Profiles.html" title="Boris::Profiles (module)">Profiles</a></span></span>
36
+ &raquo;
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 &quot;^obp&quot; | 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 &quot;version string&quot;</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'>&quot;</span><span class='tstring_content'>/usr/sbin/smbios -t SMB_TYPE_SYSTEM | egrep -i 'manufacturer|product|serial'</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>/usr/sbin/prtconf | egrep -i 'memory size' | awk '{print $3}'</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>isainfo -v | egrep -i applications | awk '{print $1}'</span><span class='tstring_end'>&quot;</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&quot;|&quot;); 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(&quot;df -k | grep &quot; $2)}' /usr/sbin/shares | nawk '{print $NF &quot;|&quot; $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'>&lt;&lt;</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'>&quot;</span><span class='tstring_content'>pkginfo -il -c application | egrep -i '^$|(name|version|basedir|vendor|instdate):'</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>\n\n</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</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'>&lt;&lt;</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 &quot;|&quot; $4 &quot; &quot; $5 &quot; &quot; $6 &quot; &quot; $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'>&lt;&lt;</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'>&quot;</span><span class='tstring_content'>svcs -a | nawk '{print $NF}'</span><span class='tstring_end'>&quot;</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'>&lt;&lt;</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 &quot;ifspeed|link_(up|duplex|autoneg)&quot; | nawk '{print $1 &quot;|&quot; $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'>&lt;&lt;</span> <span class='lbrace'>{</span><span class='symbol'>:driver</span><span class='op'>=&gt;</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'>=&gt;</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'>&quot;</span><span class='tstring_content'>cat /etc/resolv.conf | grep ^nameserver | awk '{print $2}'</span><span class='tstring_end'>&quot;</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/ &amp;&amp; $1!~/^(lo|dman|sppp)/) {current_line=$0; getline; {if($1!~/^zone/) {$1=$1; print current_line &quot;\n&quot; $0 &quot;\n&quot;}}}}'</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'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</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 &quot;|&quot; $2 &quot;|&quot; 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'>&lt;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'>&lt;&lt;</span> <span class='lbrace'>{</span><span class='symbol'>:ip_address</span><span class='op'>=&gt;</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'>=&gt;</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 &quot;&quot;; else {first=$1; $1=&quot;&quot;; print first &quot;|&quot; $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'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</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'>&lt;&lt;</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 &quot;wwn|device name|model|manufacturer|driver name|state|current speed&quot; | nawk '{$1=$1; if(tolower($1) ~ /^node/) print $0 &quot;\n&quot;; 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'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</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'>&lt;&lt;</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'>&quot;</span><span class='tstring_content'>ls -l /var/sadm/system/logs/install_log | nawk '{print $6</span><span class='tstring_end'>&quot;</span></span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>$7</span><span class='tstring_end'>&quot;</span></span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>$8'}</span><span class='tstring_end'>&quot;</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>