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,117 @@
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
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 (P)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../Boris.html" title="Boris (module)">Boris</a></span></span>
36
+ &raquo;
37
+ <span class="title">Profiles</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
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ <dt class="r1 last">Defined in:</dt>
82
+ <dd class="r1 last">lib/boris/structure.rb<span class="defines">,<br />
83
+ lib/boris/helpers/scrubber.rb,<br /> lib/boris/profiles/unix_core.rb,<br /> lib/boris/profiles/linux_core.rb,<br /> lib/boris/profiles/unix/solaris.rb,<br /> lib/boris/profiles/windows_core.rb,<br /> lib/boris/profiles/linux/redhat.rb,<br /> lib/boris/profiles/windows/windows2008.rb,<br /> lib/boris/profiles/windows/windows2003.rb,<br /> lib/boris/profiles/windows/windows2012.rb</span>
84
+ </dd>
85
+
86
+ </dl>
87
+ <div class="clear"></div>
88
+
89
+ <h2>Defined Under Namespace</h2>
90
+ <p class="children">
91
+
92
+
93
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Profiles/Linux.html" title="Boris::Profiles::Linux (module)">Linux</a></span>, <span class='object_link'><a href="Profiles/RedHat.html" title="Boris::Profiles::RedHat (module)">RedHat</a></span>, <span class='object_link'><a href="Profiles/Solaris.html" title="Boris::Profiles::Solaris (module)">Solaris</a></span>, <span class='object_link'><a href="Profiles/Structure.html" title="Boris::Profiles::Structure (module)">Structure</a></span>, <span class='object_link'><a href="Profiles/UNIX.html" title="Boris::Profiles::UNIX (module)">UNIX</a></span>, <span class='object_link'><a href="Profiles/Windows.html" title="Boris::Profiles::Windows (module)">Windows</a></span>
94
+
95
+
96
+
97
+
98
+ </p>
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ </div>
109
+
110
+ <div id="footer">
111
+ Generated on Sun Feb 3 16:32:41 2013 by
112
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
113
+ 0.8.3 (ruby-1.9.3).
114
+ </div>
115
+
116
+ </body>
117
+ </html>
@@ -0,0 +1,1151 @@
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::Linux
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 (L)</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">Linux</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::Linux
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="Structure.html" title="Boris::Profiles::Structure (module)">Structure</a></span></dd>
80
+
81
+
82
+
83
+
84
+ <dt class="r2">Included in:</dt>
85
+ <dd class="r2"><span class='object_link'><a href="RedHat.html" title="Boris::Profiles::RedHat (module)">RedHat</a></span></dd>
86
+
87
+
88
+
89
+ <dt class="r1 last">Defined in:</dt>
90
+ <dd class="r1 last">lib/boris/profiles/linux_core.rb</dd>
91
+
92
+ </dl>
93
+ <div class="clear"></div>
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+ <h2>Instance Attribute Summary</h2>
102
+
103
+ <h3 class="inherited">Attributes included from <span class='object_link'><a href="Structure.html" title="Boris::Profiles::Structure (module)">Structure</a></span></h3>
104
+ <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>
105
+
106
+
107
+
108
+ <h3 class="inherited">Attributes included from <span class='object_link'><a href="../Lumberjack.html" title="Boris::Lumberjack (module)">Lumberjack</a></span></h3>
109
+ <p class="inherited"><span class='object_link'><a href="../Lumberjack.html#logger-instance_method" title="Boris::Lumberjack#logger (method)">#logger</a></span></p>
110
+
111
+
112
+
113
+ <h2>
114
+ Class Method Summary
115
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
116
+ </h2>
117
+
118
+ <ul class="summary">
119
+
120
+ <li class="public ">
121
+ <span class="summary_signature">
122
+
123
+ <a href="#connection_type-class_method" title="connection_type (class method)">+ (Object) <strong>connection_type</strong> </a>
124
+
125
+
126
+
127
+ </span>
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+ <span class="summary_desc"><div class='inline'></div></span>
138
+
139
+ </li>
140
+
141
+
142
+ <li class="public ">
143
+ <span class="summary_signature">
144
+
145
+ <a href="#matches_target%3F-class_method" title="matches_target? (class method)">+ (Boolean) <strong>matches_target?</strong>(connector) </a>
146
+
147
+
148
+
149
+ </span>
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+ <span class="summary_desc"><div class='inline'></div></span>
160
+
161
+ </li>
162
+
163
+
164
+ </ul>
165
+
166
+ <h2>
167
+ Instance Method Summary
168
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
169
+ </h2>
170
+
171
+ <ul class="summary">
172
+
173
+ <li class="public ">
174
+ <span class="summary_signature">
175
+
176
+ <a href="#get_file_systems-instance_method" title="#get_file_systems (instance method)">- (Object) <strong>get_file_systems</strong> </a>
177
+
178
+
179
+
180
+ </span>
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+ <span class="summary_desc"><div class='inline'></div></span>
191
+
192
+ </li>
193
+
194
+
195
+ <li class="public ">
196
+ <span class="summary_signature">
197
+
198
+ <a href="#get_hardware-instance_method" title="#get_hardware (instance method)">- (Object) <strong>get_hardware</strong> </a>
199
+
200
+
201
+
202
+ </span>
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+ <span class="summary_desc"><div class='inline'></div></span>
213
+
214
+ </li>
215
+
216
+
217
+ <li class="public ">
218
+ <span class="summary_signature">
219
+
220
+ <a href="#get_hosted_shares-instance_method" title="#get_hosted_shares (instance method)">- (Object) <strong>get_hosted_shares</strong> </a>
221
+
222
+
223
+
224
+ </span>
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+ <span class="summary_desc"><div class='inline'></div></span>
235
+
236
+ </li>
237
+
238
+
239
+ <li class="public ">
240
+ <span class="summary_signature">
241
+
242
+ <a href="#get_installed_applications-instance_method" title="#get_installed_applications (instance method)">- (Object) <strong>get_installed_applications</strong> </a>
243
+
244
+
245
+
246
+ </span>
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+ <span class="summary_desc"><div class='inline'></div></span>
257
+
258
+ </li>
259
+
260
+
261
+ <li class="public ">
262
+ <span class="summary_signature">
263
+
264
+ <a href="#get_installed_patches-instance_method" title="#get_installed_patches (instance method)">- (Object) <strong>get_installed_patches</strong> </a>
265
+
266
+
267
+
268
+ </span>
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+ <span class="summary_desc"><div class='inline'></div></span>
279
+
280
+ </li>
281
+
282
+
283
+ <li class="public ">
284
+ <span class="summary_signature">
285
+
286
+ <a href="#get_installed_services-instance_method" title="#get_installed_services (instance method)">- (Object) <strong>get_installed_services</strong> </a>
287
+
288
+
289
+
290
+ </span>
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+ <span class="summary_desc"><div class='inline'></div></span>
301
+
302
+ </li>
303
+
304
+
305
+ <li class="public ">
306
+ <span class="summary_signature">
307
+
308
+ <a href="#get_local_user_groups-instance_method" title="#get_local_user_groups (instance method)">- (Object) <strong>get_local_user_groups</strong> </a>
309
+
310
+
311
+
312
+ </span>
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+ <span class="summary_desc"><div class='inline'></div></span>
323
+
324
+ </li>
325
+
326
+
327
+ <li class="public ">
328
+ <span class="summary_signature">
329
+
330
+ <a href="#get_network_id-instance_method" title="#get_network_id (instance method)">- (Object) <strong>get_network_id</strong> </a>
331
+
332
+
333
+
334
+ </span>
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+ <span class="summary_desc"><div class='inline'></div></span>
345
+
346
+ </li>
347
+
348
+
349
+ <li class="public ">
350
+ <span class="summary_signature">
351
+
352
+ <a href="#get_network_interfaces-instance_method" title="#get_network_interfaces (instance method)">- (Object) <strong>get_network_interfaces</strong> </a>
353
+
354
+
355
+
356
+ </span>
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+ <span class="summary_desc"><div class='inline'></div></span>
367
+
368
+ </li>
369
+
370
+
371
+ <li class="public ">
372
+ <span class="summary_signature">
373
+
374
+ <a href="#get_operating_system-instance_method" title="#get_operating_system (instance method)">- (Object) <strong>get_operating_system</strong> </a>
375
+
376
+
377
+
378
+ </span>
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+ <span class="summary_desc"><div class='inline'></div></span>
389
+
390
+ </li>
391
+
392
+
393
+ </ul>
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="Structure.html" title="Boris::Profiles::Structure (module)">Structure</a></span></h3>
406
+ <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#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>
407
+
408
+
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="../Lumberjack.html" title="Boris::Lumberjack (module)">Lumberjack</a></span></h3>
417
+ <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>
418
+
419
+
420
+ <div id="class_method_details" class="method_details_list">
421
+ <h2>Class Method Details</h2>
422
+
423
+
424
+ <div class="method_details first">
425
+ <h3 class="signature first" id="connection_type-class_method">
426
+
427
+ + (<tt>Object</tt>) <strong>connection_type</strong>
428
+
429
+
430
+
431
+
432
+
433
+ </h3><table class="source_code">
434
+ <tr>
435
+ <td>
436
+ <pre class="lines">
437
+
438
+
439
+ 7
440
+ 8
441
+ 9</pre>
442
+ </td>
443
+ <td>
444
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 7</span>
445
+
446
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_connection_type'>connection_type</span>
447
+ <span class='const'>Boris</span><span class='op'>::</span><span class='const'>SSHConnector</span>
448
+ <span class='kw'>end</span></pre>
449
+ </td>
450
+ </tr>
451
+ </table>
452
+ </div>
453
+
454
+ <div class="method_details ">
455
+ <h3 class="signature " id="matches_target?-class_method">
456
+
457
+ + (<tt>Boolean</tt>) <strong>matches_target?</strong>(connector)
458
+
459
+
460
+
461
+
462
+
463
+ </h3><div class="docstring">
464
+ <div class="discussion">
465
+
466
+
467
+ </div>
468
+ </div>
469
+ <div class="tags">
470
+
471
+ <p class="tag_title">Returns:</p>
472
+ <ul class="return">
473
+
474
+ <li>
475
+
476
+
477
+ <span class='type'>(<tt>Boolean</tt>)</span>
478
+
479
+
480
+
481
+ </li>
482
+
483
+ </ul>
484
+
485
+ </div><table class="source_code">
486
+ <tr>
487
+ <td>
488
+ <pre class="lines">
489
+
490
+
491
+ 11
492
+ 12
493
+ 13</pre>
494
+ </td>
495
+ <td>
496
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 11</span>
497
+
498
+ <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>
499
+ <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 -a</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'>linux</span><span class='regexp_end'>/i</span></span>
500
+ <span class='kw'>end</span></pre>
501
+ </td>
502
+ </tr>
503
+ </table>
504
+ </div>
505
+
506
+ </div>
507
+
508
+ <div id="instance_method_details" class="method_details_list">
509
+ <h2>Instance Method Details</h2>
510
+
511
+
512
+ <div class="method_details first">
513
+ <h3 class="signature first" id="get_file_systems-instance_method">
514
+
515
+ - (<tt>Object</tt>) <strong>get_file_systems</strong>
516
+
517
+
518
+
519
+
520
+
521
+ </h3><table class="source_code">
522
+ <tr>
523
+ <td>
524
+ <pre class="lines">
525
+
526
+
527
+ 15
528
+ 16
529
+ 17
530
+ 18
531
+ 19
532
+ 20
533
+ 21
534
+ 22
535
+ 23
536
+ 24
537
+ 25
538
+ 26
539
+ 27
540
+ 28
541
+ 29
542
+ 30</pre>
543
+ </td>
544
+ <td>
545
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 15</span>
546
+
547
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_file_systems'>get_file_systems</span>
548
+ <span class='kw'>super</span>
549
+
550
+ <span class='id identifier rubyid_file_system_command'>file_system_command</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>%q{</span><span class='tstring_content'>df -P -T | grep &quot;^/&quot; | awk '{print $1 &quot;|&quot; $3 / 1024 &quot;|&quot; $5 / 1024 &quot;|&quot; $7}'</span><span class='tstring_end'>}</span></span>
551
+ <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_file_system_command'>file_system_command</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_file_system'>file_system</span><span class='op'>|</span>
552
+ <span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_file_system_template'>file_system_template</span>
553
+ <span class='id identifier rubyid_file_system'>file_system</span> <span class='op'>=</span> <span class='id identifier rubyid_file_system'>file_system</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'>|</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
554
+
555
+ <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:capacity_mb</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_file_system'>file_system</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
556
+ <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:file_system</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_file_system'>file_system</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
557
+ <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:mount_point</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_file_system'>file_system</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span>
558
+ <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:used_space_mb</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_file_system'>file_system</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
559
+
560
+ <span class='ivar'>@file_systems</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_h'>h</span>
561
+ <span class='kw'>end</span>
562
+ <span class='kw'>end</span></pre>
563
+ </td>
564
+ </tr>
565
+ </table>
566
+ </div>
567
+
568
+ <div class="method_details ">
569
+ <h3 class="signature " id="get_hardware-instance_method">
570
+
571
+ - (<tt>Object</tt>) <strong>get_hardware</strong>
572
+
573
+
574
+
575
+
576
+
577
+ </h3><table class="source_code">
578
+ <tr>
579
+ <td>
580
+ <pre class="lines">
581
+
582
+
583
+ 32
584
+ 33
585
+ 34
586
+ 35
587
+ 36
588
+ 37
589
+ 38
590
+ 39
591
+ 40
592
+ 41
593
+ 42
594
+ 43
595
+ 44
596
+ 45
597
+ 46
598
+ 47
599
+ 48
600
+ 49
601
+ 50
602
+ 51
603
+ 52
604
+ 53
605
+ 54
606
+ 55
607
+ 56
608
+ 57
609
+ 58
610
+ 59
611
+ 60
612
+ 61
613
+ 62</pre>
614
+ </td>
615
+ <td>
616
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 32</span>
617
+
618
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_hardware'>get_hardware</span>
619
+ <span class='kw'>super</span>
620
+
621
+ <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_value_at'>value_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>uname -m</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
622
+ <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='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>ia|_(64)</span><span class='regexp_end'>/</span></span> <span class='op'>?</span> <span class='int'>64</span> <span class='op'>:</span> <span class='int'>32</span>
623
+
624
+ <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'>'</span><span class='tstring_content'>cat /proc/cpuinfo | egrep -i &quot;processor|vendor|mhz|name|cores&quot;</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
625
+ <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'>processor</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'>+</span> <span class='int'>1</span>
626
+ <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'>model 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>
627
+ <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='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_colon'>after_colon</span>
628
+ <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'>cpu 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>
629
+
630
+ <span class='comment'># cpu cores aren't always displayed via /proc/cpuinfo
631
+ </span> <span class='id identifier rubyid_cpu_cores'>cpu_cores</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'>cpu cores</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>
632
+ <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_cores'>cpu_cores</span><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='kw'>if</span> <span class='id identifier rubyid_cpu_cores'>cpu_cores</span>
633
+
634
+ <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'>cat /proc/meminfo | grep -i memtotal | awk '{print $2 / 1024}'</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
635
+ <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>
636
+
637
+ <span class='id identifier rubyid_hardware_data'>hardware_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/usr/bin/sudo /usr/sbin/dmidecode -t 0,1,4</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
638
+ <span class='kw'>if</span> <span class='id identifier rubyid_hardware_data'>hardware_data</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
639
+ <span class='comment'># grab the cpu speed again (because its value is usually more useful/relevant than that found via /proc/cpuinfo)
640
+ </span> <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_hardware_data'>hardware_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'>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><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>
641
+ <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='id identifier rubyid_hardware_data'>hardware_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'>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>
642
+ <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_hardware_data'>hardware_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 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>
643
+ <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_hardware_data'>hardware_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>
644
+ <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_hardware_data'>hardware_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>
645
+ <span class='kw'>else</span>
646
+ <span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>no hardware information available (give me sudo access for dmidecode!)</span><span class='tstring_end'>'</span></span>
647
+ <span class='kw'>end</span>
648
+ <span class='kw'>end</span></pre>
649
+ </td>
650
+ </tr>
651
+ </table>
652
+ </div>
653
+
654
+ <div class="method_details ">
655
+ <h3 class="signature " id="get_hosted_shares-instance_method">
656
+
657
+ - (<tt>Object</tt>) <strong>get_hosted_shares</strong>
658
+
659
+
660
+
661
+
662
+
663
+ </h3><table class="source_code">
664
+ <tr>
665
+ <td>
666
+ <pre class="lines">
667
+
668
+
669
+ 64</pre>
670
+ </td>
671
+ <td>
672
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 64</span>
673
+
674
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_hosted_shares'>get_hosted_shares</span><span class='semicolon'>;</span> <span class='kw'>super</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
675
+ </td>
676
+ </tr>
677
+ </table>
678
+ </div>
679
+
680
+ <div class="method_details ">
681
+ <h3 class="signature " id="get_installed_applications-instance_method">
682
+
683
+ - (<tt>Object</tt>) <strong>get_installed_applications</strong>
684
+
685
+
686
+
687
+
688
+
689
+ </h3><table class="source_code">
690
+ <tr>
691
+ <td>
692
+ <pre class="lines">
693
+
694
+
695
+ 65</pre>
696
+ </td>
697
+ <td>
698
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 65</span>
699
+
700
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_installed_applications'>get_installed_applications</span><span class='semicolon'>;</span> <span class='kw'>super</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
701
+ </td>
702
+ </tr>
703
+ </table>
704
+ </div>
705
+
706
+ <div class="method_details ">
707
+ <h3 class="signature " id="get_installed_patches-instance_method">
708
+
709
+ - (<tt>Object</tt>) <strong>get_installed_patches</strong>
710
+
711
+
712
+
713
+
714
+
715
+ </h3><table class="source_code">
716
+ <tr>
717
+ <td>
718
+ <pre class="lines">
719
+
720
+
721
+ 66</pre>
722
+ </td>
723
+ <td>
724
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 66</span>
725
+
726
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_installed_patches'>get_installed_patches</span><span class='semicolon'>;</span> <span class='kw'>super</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
727
+ </td>
728
+ </tr>
729
+ </table>
730
+ </div>
731
+
732
+ <div class="method_details ">
733
+ <h3 class="signature " id="get_installed_services-instance_method">
734
+
735
+ - (<tt>Object</tt>) <strong>get_installed_services</strong>
736
+
737
+
738
+
739
+
740
+
741
+ </h3><table class="source_code">
742
+ <tr>
743
+ <td>
744
+ <pre class="lines">
745
+
746
+
747
+ 67</pre>
748
+ </td>
749
+ <td>
750
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 67</span>
751
+
752
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_installed_services'>get_installed_services</span><span class='semicolon'>;</span> <span class='kw'>super</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
753
+ </td>
754
+ </tr>
755
+ </table>
756
+ </div>
757
+
758
+ <div class="method_details ">
759
+ <h3 class="signature " id="get_local_user_groups-instance_method">
760
+
761
+ - (<tt>Object</tt>) <strong>get_local_user_groups</strong>
762
+
763
+
764
+
765
+
766
+
767
+ </h3><table class="source_code">
768
+ <tr>
769
+ <td>
770
+ <pre class="lines">
771
+
772
+
773
+ 69
774
+ 70
775
+ 71
776
+ 72
777
+ 73
778
+ 74
779
+ 75
780
+ 76
781
+ 77
782
+ 78
783
+ 79
784
+ 80
785
+ 81
786
+ 82
787
+ 83
788
+ 84
789
+ 85
790
+ 86
791
+ 87
792
+ 88
793
+ 89
794
+ 90
795
+ 91
796
+ 92
797
+ 93
798
+ 94
799
+ 95</pre>
800
+ </td>
801
+ <td>
802
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 69</span>
803
+
804
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_local_user_groups'>get_local_user_groups</span>
805
+ <span class='kw'>super</span>
806
+
807
+ <span class='id identifier rubyid_user_data'>user_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cat /etc/passwd | grep -v &quot;^#&quot;</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
808
+ <span class='id identifier rubyid_group_data'>group_data</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cat /etc/group | grep -v &quot;^#&quot;</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
809
+
810
+ <span class='id identifier rubyid_users'>users</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
811
+ <span class='id identifier rubyid_groups'>groups</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
812
+
813
+ <span class='id identifier rubyid_user_data'>user_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_x'>x</span><span class='op'>|</span>
814
+ <span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
815
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='id identifier rubyid_x'>x</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'>:</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
816
+ <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='kw'>nil</span>
817
+ <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:primary_group_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span>
818
+ <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:username</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
819
+ <span class='id identifier rubyid_users'>users</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_h'>h</span>
820
+ <span class='kw'>end</span>
821
+
822
+ <span class='id identifier rubyid_group_data'>group_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_group'>group</span><span class='op'>|</span>
823
+ <span class='id identifier rubyid_group'>group</span> <span class='op'>=</span> <span class='id identifier rubyid_group'>group</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'>:</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
824
+ <span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='symbol'>:members</span><span class='op'>=&gt;</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:name</span><span class='op'>=&gt;</span><span class='id identifier rubyid_group'>group</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span>
825
+
826
+ <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:members</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_users'>users</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_user'>user</span><span class='op'>|</span> <span class='lparen'>(</span><span class='id identifier rubyid_user'>user</span><span class='lbracket'>[</span><span class='symbol'>:primary_group_id</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_group'>group</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_user'>user</span><span class='op'>|</span> <span class='id identifier rubyid_user'>user</span><span class='lbracket'>[</span><span class='symbol'>:username</span><span class='rbracket'>]</span><span class='rbrace'>}</span>
827
+
828
+ <span class='ivar'>@local_user_groups</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_h'>h</span>
829
+ <span class='kw'>end</span>
830
+ <span class='kw'>end</span></pre>
831
+ </td>
832
+ </tr>
833
+ </table>
834
+ </div>
835
+
836
+ <div class="method_details ">
837
+ <h3 class="signature " id="get_network_id-instance_method">
838
+
839
+ - (<tt>Object</tt>) <strong>get_network_id</strong>
840
+
841
+
842
+
843
+
844
+
845
+ </h3><table class="source_code">
846
+ <tr>
847
+ <td>
848
+ <pre class="lines">
849
+
850
+
851
+ 97
852
+ 98
853
+ 99
854
+ 100
855
+ 101
856
+ 102
857
+ 103
858
+ 104
859
+ 105
860
+ 106
861
+ 107</pre>
862
+ </td>
863
+ <td>
864
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 97</span>
865
+
866
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_network_id'>get_network_id</span>
867
+ <span class='kw'>super</span>
868
+
869
+ <span class='id identifier rubyid_hostname'>hostname</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'>hostname</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
870
+ <span class='ivar'>@network_id</span><span class='lbracket'>[</span><span class='symbol'>:hostname</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hostname'>hostname</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
871
+
872
+ <span class='id identifier rubyid_domain'>domain</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'>domainname</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
873
+ <span class='id identifier rubyid_domain'>domain</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_domain'>domain</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\(none\)</span><span class='regexp_end'>/i</span></span>
874
+
875
+ <span class='ivar'>@network_id</span><span class='lbracket'>[</span><span class='symbol'>:domain</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_domain'>domain</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='id identifier rubyid_hostname'>hostname</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_domain'>domain</span>
876
+ <span class='kw'>end</span></pre>
877
+ </td>
878
+ </tr>
879
+ </table>
880
+ </div>
881
+
882
+ <div class="method_details ">
883
+ <h3 class="signature " id="get_network_interfaces-instance_method">
884
+
885
+ - (<tt>Object</tt>) <strong>get_network_interfaces</strong>
886
+
887
+
888
+
889
+
890
+
891
+ </h3><table class="source_code">
892
+ <tr>
893
+ <td>
894
+ <pre class="lines">
895
+
896
+
897
+ 109
898
+ 110
899
+ 111
900
+ 112
901
+ 113
902
+ 114
903
+ 115
904
+ 116
905
+ 117
906
+ 118
907
+ 119
908
+ 120
909
+ 121
910
+ 122
911
+ 123
912
+ 124
913
+ 125
914
+ 126
915
+ 127
916
+ 128
917
+ 129
918
+ 130
919
+ 131
920
+ 132
921
+ 133
922
+ 134
923
+ 135
924
+ 136
925
+ 137
926
+ 138
927
+ 139
928
+ 140
929
+ 141
930
+ 142
931
+ 143
932
+ 144
933
+ 145
934
+ 146
935
+ 147
936
+ 148
937
+ 149
938
+ 150
939
+ 151
940
+ 152
941
+ 153
942
+ 154
943
+ 155
944
+ 156
945
+ 157
946
+ 158
947
+ 159
948
+ 160
949
+ 161
950
+ 162
951
+ 163
952
+ 164
953
+ 165
954
+ 166
955
+ 167
956
+ 168
957
+ 169
958
+ 170
959
+ 171
960
+ 172
961
+ 173
962
+ 174
963
+ 175
964
+ 176
965
+ 177
966
+ 178
967
+ 179
968
+ 180
969
+ 181
970
+ 182
971
+ 183
972
+ 184
973
+ 185
974
+ 186
975
+ 187
976
+ 188
977
+ 189
978
+ 190
979
+ 191
980
+ 192
981
+ 193
982
+ 194
983
+ 195
984
+ 196
985
+ 197
986
+ 198
987
+ 199
988
+ 200
989
+ 201
990
+ 202
991
+ 203
992
+ 204
993
+ 205
994
+ 206
995
+ 207
996
+ 208
997
+ 209
998
+ 210
999
+ 211
1000
+ 212</pre>
1001
+ </td>
1002
+ <td>
1003
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 109</span>
1004
+
1005
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_network_interfaces'>get_network_interfaces</span>
1006
+ <span class='kw'>super</span>
1007
+
1008
+ <span class='comment'># grab the make/model/slot info for all ethernet/fc ports
1009
+ </span> <span class='id identifier rubyid_ports'>ports</span> <span class='op'>=</span> <span class='ivar'>@connector</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/sbin/lspci -mmv | egrep -i &quot;class:[[:space:]]*(ethernet controller|fibre channel)&quot; -B1 -A5</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1010
+
1011
+ <span class='comment'>## ETHERNET
1012
+ </span> <span class='comment'># get some basic info that will apply to all ethernet interfaces
1013
+ </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>
1014
+
1015
+ <span class='id identifier rubyid_found_ethernet_interfaces'>found_ethernet_interfaces</span> <span class='op'>=</span> <span class='id identifier rubyid_ports'>ports</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'>'</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_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>ethernet controller</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span>
1016
+ <span class='id identifier rubyid_found_fibre_interfaces'>found_fibre_interfaces</span> <span class='op'>=</span> <span class='id identifier rubyid_ports'>ports</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'>'</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_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>fibre channel</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span>
1017
+
1018
+ <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>
1019
+ <span class='comment'># get info on all ethernet interfaces
1020
+ </span> <span class='id identifier rubyid_ethernet_mapping_data'>ethernet_mapping_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'>ls /sys/class/net | awk '{cmd=&quot;readlink -f /sys/class/net/&quot; $1 &quot;/device/&quot;; cmd | getline link; print $1 &quot;|&quot; link}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
1021
+ <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'>find -L /sys/class/net/ -mindepth 2 -maxdepth 2 2&gt;/dev/null | awk '{cmd = &quot;cat &quot; $0 &quot; 2&gt;/dev/null&quot;; cmd | getline value; print $0 &quot;|&quot; value;}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
1022
+ <span class='id identifier rubyid_ip_addr_data'>ip_addr_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'>/sbin/ip addr | awk '{if($0 ~ /^[0-9]:/) {print &quot;\n&quot; $0} else {print $0}}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
1023
+
1024
+ <span class='id identifier rubyid_found_ethernet_interfaces'>found_ethernet_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_interface'>interface</span><span class='op'>|</span>
1025
+ <span class='id identifier rubyid_interface'>interface</span> <span class='op'>=</span> <span class='id identifier rubyid_interface'>interface</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>
1026
+
1027
+ <span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_network_interface_template'>network_interface_template</span>
1028
+
1029
+ <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>
1030
+ <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>
1031
+
1032
+ <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_interface'>interface</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'>^.*sdevice:</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>
1033
+ <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_interface'>interface</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'>^.*svendor:</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>
1034
+
1035
+ <span class='id identifier rubyid_pci_slot'>pci_slot</span> <span class='op'>=</span> <span class='id identifier rubyid_interface'>interface</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'>^.*slot:</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>
1036
+
1037
+ <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_ethernet_mapping_data'>ethernet_mapping_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='embexpr_beg'>#{</span><span class='id identifier rubyid_pci_slot'>pci_slot</span><span class='rbrace'>}</span><span class='tstring_content'>$</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_before_pipe'>before_pipe</span>
1038
+
1039
+ <span class='id identifier rubyid_interface_config'>interface_config</span> <span class='op'>=</span> <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'>\/</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>
1040
+
1041
+ <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_interface_config'>interface_config</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'>\/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_upcase'>upcase</span>
1042
+
1043
+ <span class='comment'># operstate sometimes gives reports interface as 'unknown' when it is up
1044
+ </span> <span class='comment'># and working. checking the value of carrier (0 for not plugged in, 1 for
1045
+ </span> <span class='comment'># plugged in) in conjunction with the 'ip' command output is a good fallback
1046
+ </span> <span class='id identifier rubyid_wired_connection'>wired_connection</span> <span class='op'>=</span> <span class='id identifier rubyid_interface_config'>interface_config</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'>\/carrier\|</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>
1047
+
1048
+ <span class='id identifier rubyid_ip_config'>ip_config</span> <span class='op'>=</span> <span class='id identifier rubyid_ip_addr_data'>ip_addr_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_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><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'>^.*:\s</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><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>
1049
+
1050
+ <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='lparen'>(</span><span class='id identifier rubyid_ip_config'>ip_config</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>,up,</span><span class='regexp_end'>/i</span></span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_wired_connection'>wired_connection</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>1</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</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>
1051
+
1052
+ <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>
1053
+ <span class='comment'># speed &amp; duplex are not always available (in case of a virtual machine
1054
+ </span> <span class='comment'># or hardware failure, etc)
1055
+ </span> <span class='id identifier rubyid_speed'>speed</span> <span class='op'>=</span> <span class='id identifier rubyid_interface_config'>interface_config</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'>\/speed\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
1056
+ <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='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='kw'>if</span> <span class='id identifier rubyid_speed'>speed</span>
1057
+
1058
+ <span class='id identifier rubyid_duplex'>duplex</span> <span class='op'>=</span> <span class='id identifier rubyid_interface_config'>interface_config</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'>\/duplex\|</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
1059
+ <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='id identifier rubyid_duplex'>duplex</span><span class='period'>.</span><span class='id identifier rubyid_after_pipe'>after_pipe</span> <span class='kw'>if</span> <span class='id identifier rubyid_duplex'>duplex</span>
1060
+
1061
+ <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_config'>interface_config</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'>\/mtu\|</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_to_i'>to_i</span>
1062
+
1063
+ <span class='id identifier rubyid_ip_config'>ip_config</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'>^.*inet </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_ip'>ip</span><span class='op'>|</span>
1064
+ <span class='id identifier rubyid_ip_address'>ip_address</span> <span class='op'>=</span> <span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_before_slash'>before_slash</span>
1065
+ <span class='id identifier rubyid_netmask_bits'>netmask_bits</span> <span class='op'>=</span> <span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_after_slash'>after_slash</span>
1066
+ <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_ip_address'>ip_address</span><span class='comma'>,</span> <span class='symbol'>:subnet</span><span class='op'>=&gt;</span><span class='const'>NetAddr</span><span class='period'>.</span><span class='id identifier rubyid_i_to_ip'>i_to_ip</span><span class='lparen'>(</span><span class='const'>NetAddr</span><span class='period'>.</span><span class='id identifier rubyid_netmask_to_i'>netmask_to_i</span><span class='lparen'>(</span><span class='id identifier rubyid_netmask_bits'>netmask_bits</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1067
+ <span class='kw'>end</span>
1068
+ <span class='kw'>end</span>
1069
+
1070
+ <span class='ivar'>@network_interfaces</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_h'>h</span>
1071
+ <span class='kw'>end</span>
1072
+ <span class='kw'>end</span>
1073
+
1074
+ <span class='kw'>if</span> <span class='id identifier rubyid_found_fibre_interfaces'>found_fibre_interfaces</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
1075
+ <span class='id identifier rubyid_fibre_mapping_data'>fibre_mapping_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'>find /sys/devices/pci* -regex '.*fc_host/host[0-9]'</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1076
+ <span class='id identifier rubyid_interface_config'>interface_config</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'>find -L /sys/class/fc_host/ -mindepth 2 -maxdepth 2 | awk '{value=&quot;&quot;; &quot;cat &quot; $1 &quot; 2&gt;/dev/null&quot; | getline value; print $1 &quot;|&quot; value;}'</span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
1077
+
1078
+ <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_interface'>interface</span><span class='op'>|</span>
1079
+ <span class='id identifier rubyid_interface'>interface</span> <span class='op'>=</span> <span class='id identifier rubyid_interface'>interface</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>
1080
+
1081
+ <span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_network_interface_template'>network_interface_template</span>
1082
+
1083
+ <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>
1084
+
1085
+ <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_interface'>interface</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:</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>
1086
+ <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_interface'>interface</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><span class='period'>.</span><span class='id identifier rubyid_after_colon'>after_colon</span>
1087
+
1088
+ <span class='id identifier rubyid_pci_slot'>pci_slot</span> <span class='op'>=</span> <span class='id identifier rubyid_interface'>interface</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'>^.*slot:</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='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
1089
+
1090
+ <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_fibre_mapping_data'>fibre_mapping_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'>0000:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_pci_slot'>pci_slot</span><span class='rbrace'>}</span><span class='tstring_content'>\/</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_slash'>after_slash</span>
1091
+
1092
+ <span class='id identifier rubyid_interface_config'>interface_config</span> <span class='op'>=</span> <span class='id identifier rubyid_interface_config'>interface_config</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'>fc_host\/</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>
1093
+
1094
+ <span class='id identifier rubyid_status'>status</span> <span class='op'>=</span> <span class='id identifier rubyid_interface_config'>interface_config</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_state\|</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>
1095
+ <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_status'>status</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>
1096
+
1097
+ <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>
1098
+ <span class='id identifier rubyid_speed'>speed</span> <span class='op'>=</span> <span class='id identifier rubyid_interface_config'>interface_config</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'>\/speed\|</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_split'>split</span>
1099
+ <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_to_i'>to_i</span> <span class='op'>*</span> <span class='int'>1000</span>
1100
+ <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:fabric_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_interface_config'>interface_config</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'>\/fabric_name\|</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_sub'>sub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^0x</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1101
+ <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_interface_config'>interface_config</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_name\|</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_sub'>sub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^0x</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1102
+ <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_interface_config'>interface_config</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_name\|</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_sub'>sub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^0x</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1103
+ <span class='kw'>end</span>
1104
+
1105
+ <span class='ivar'>@network_interfaces</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_h'>h</span>
1106
+ <span class='kw'>end</span>
1107
+ <span class='kw'>end</span>
1108
+ <span class='kw'>end</span></pre>
1109
+ </td>
1110
+ </tr>
1111
+ </table>
1112
+ </div>
1113
+
1114
+ <div class="method_details ">
1115
+ <h3 class="signature " id="get_operating_system-instance_method">
1116
+
1117
+ - (<tt>Object</tt>) <strong>get_operating_system</strong>
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+ </h3><table class="source_code">
1124
+ <tr>
1125
+ <td>
1126
+ <pre class="lines">
1127
+
1128
+
1129
+ 214</pre>
1130
+ </td>
1131
+ <td>
1132
+ <pre class="code"><span class="info file"># File 'lib/boris/profiles/linux_core.rb', line 214</span>
1133
+
1134
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_operating_system'>get_operating_system</span><span class='semicolon'>;</span> <span class='kw'>super</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
1135
+ </td>
1136
+ </tr>
1137
+ </table>
1138
+ </div>
1139
+
1140
+ </div>
1141
+
1142
+ </div>
1143
+
1144
+ <div id="footer">
1145
+ Generated on Sun Feb 3 16:32:41 2013 by
1146
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1147
+ 0.8.3 (ruby-1.9.3).
1148
+ </div>
1149
+
1150
+ </body>
1151
+ </html>