boris 1.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. data/LICENSE.md +9 -0
  2. data/README.md +94 -0
  3. data/boris.gemspec +28 -0
  4. data/doc/Array.html +437 -0
  5. data/doc/Boris.html +230 -0
  6. data/doc/Boris/ConnectionAlreadyActive.html +123 -0
  7. data/doc/Boris/ConnectionFailed.html +127 -0
  8. data/doc/Boris/Connector.html +794 -0
  9. data/doc/Boris/InvalidCredentials.html +131 -0
  10. data/doc/Boris/InvalidOption.html +123 -0
  11. data/doc/Boris/InvalidTargetName.html +123 -0
  12. data/doc/Boris/Lumberjack.html +466 -0
  13. data/doc/Boris/MissingCredentials.html +123 -0
  14. data/doc/Boris/NoActiveConnection.html +123 -0
  15. data/doc/Boris/NoProfileDetected.html +123 -0
  16. data/doc/Boris/Options.html +783 -0
  17. data/doc/Boris/Profiles.html +117 -0
  18. data/doc/Boris/Profiles/Linux.html +1151 -0
  19. data/doc/Boris/Profiles/RedHat.html +875 -0
  20. data/doc/Boris/Profiles/Solaris.html +1230 -0
  21. data/doc/Boris/Profiles/Structure.html +2050 -0
  22. data/doc/Boris/Profiles/UNIX.html +893 -0
  23. data/doc/Boris/Profiles/Windows.html +1846 -0
  24. data/doc/Boris/Profiles/Windows/Windows2003.html +304 -0
  25. data/doc/Boris/Profiles/Windows/Windows2008.html +379 -0
  26. data/doc/Boris/Profiles/Windows/Windows2012.html +304 -0
  27. data/doc/Boris/SNMPConnector.html +512 -0
  28. data/doc/Boris/SSHConnector.html +633 -0
  29. data/doc/Boris/Target.html +2002 -0
  30. data/doc/Boris/WMIConnector.html +1134 -0
  31. data/doc/BorisLogger.html +217 -0
  32. data/doc/Hash.html +195 -0
  33. data/doc/String.html +1246 -0
  34. data/doc/_index.html +420 -0
  35. data/doc/class_list.html +53 -0
  36. data/doc/css/common.css +1 -0
  37. data/doc/css/full_list.css +57 -0
  38. data/doc/css/style.css +328 -0
  39. data/doc/file.README.html +183 -0
  40. data/doc/file_list.html +55 -0
  41. data/doc/frames.html +28 -0
  42. data/doc/index.html +183 -0
  43. data/doc/js/app.js +214 -0
  44. data/doc/js/full_list.js +173 -0
  45. data/doc/js/jquery.js +4 -0
  46. data/doc/method_list.html +1468 -0
  47. data/doc/top-level-namespace.html +126 -0
  48. data/lib/boris.rb +30 -0
  49. data/lib/boris/connectors.rb +47 -0
  50. data/lib/boris/connectors/snmp.rb +56 -0
  51. data/lib/boris/connectors/ssh.rb +110 -0
  52. data/lib/boris/connectors/wmi.rb +186 -0
  53. data/lib/boris/errors.rb +17 -0
  54. data/lib/boris/helpers/array.rb +63 -0
  55. data/lib/boris/helpers/constants.rb +20 -0
  56. data/lib/boris/helpers/hash.rb +8 -0
  57. data/lib/boris/helpers/scrubber.rb +51 -0
  58. data/lib/boris/helpers/string.rb +130 -0
  59. data/lib/boris/lumberjack.rb +47 -0
  60. data/lib/boris/options.rb +86 -0
  61. data/lib/boris/profiles/linux/redhat.rb +77 -0
  62. data/lib/boris/profiles/linux_core.rb +216 -0
  63. data/lib/boris/profiles/unix/solaris.rb +307 -0
  64. data/lib/boris/profiles/unix_core.rb +85 -0
  65. data/lib/boris/profiles/windows/windows2003.rb +15 -0
  66. data/lib/boris/profiles/windows/windows2008.rb +23 -0
  67. data/lib/boris/profiles/windows/windows2012.rb +15 -0
  68. data/lib/boris/profiles/windows_core.rb +530 -0
  69. data/lib/boris/structure.rb +167 -0
  70. data/lib/boris/target.rb +340 -0
  71. data/test/connector_tests/test_snmp.rb +35 -0
  72. data/test/connector_tests/test_ssh.rb +51 -0
  73. data/test/connector_tests/test_wmi.rb +129 -0
  74. data/test/helper_tests/test_array.rb +25 -0
  75. data/test/helper_tests/test_hash.rb +10 -0
  76. data/test/helper_tests/test_string.rb +136 -0
  77. data/test/profile_tests/test_core_skeleton +107 -0
  78. data/test/profile_tests/test_linux_core.rb +331 -0
  79. data/test/profile_tests/test_redhat.rb +134 -0
  80. data/test/profile_tests/test_solaris.rb +523 -0
  81. data/test/profile_tests/test_unix_core.rb +117 -0
  82. data/test/profile_tests/test_windows.rb +536 -0
  83. data/test/setup_tests.rb +14 -0
  84. data/test/test_all.rb +8 -0
  85. data/test/test_options.rb +44 -0
  86. data/test/test_structure.rb +136 -0
  87. data/test/test_target.rb +146 -0
  88. metadata +241 -0
@@ -0,0 +1,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>