boris 1.0.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>