ohai 18.2.6 → 19.0.3

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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +28 -28
  3. data/LICENSE +201 -201
  4. data/bin/ohai +25 -25
  5. data/lib/ohai/application.rb +189 -189
  6. data/lib/ohai/common/dmi.rb +167 -167
  7. data/lib/ohai/config.rb +51 -51
  8. data/lib/ohai/dsl/plugin/versionvii.rb +203 -203
  9. data/lib/ohai/dsl/plugin.rb +232 -232
  10. data/lib/ohai/dsl.rb +22 -22
  11. data/lib/ohai/exception.rb +36 -36
  12. data/lib/ohai/hints.rb +68 -68
  13. data/lib/ohai/loader.rb +178 -178
  14. data/lib/ohai/log.rb +34 -34
  15. data/lib/ohai/mash.rb +22 -22
  16. data/lib/ohai/mixin/alibaba_metadata.rb +83 -83
  17. data/lib/ohai/mixin/azure_metadata.rb +105 -105
  18. data/lib/ohai/mixin/chef_utils_wiring.rb +52 -52
  19. data/lib/ohai/mixin/command.rb +4 -4
  20. data/lib/ohai/mixin/constant_helper.rb +55 -55
  21. data/lib/ohai/mixin/dmi_decode.rb +54 -54
  22. data/lib/ohai/mixin/do_metadata.rb +48 -48
  23. data/lib/ohai/mixin/ec2_metadata.rb +264 -270
  24. data/lib/ohai/mixin/gce_metadata.rb +79 -79
  25. data/lib/ohai/mixin/http_helper.rb +64 -64
  26. data/lib/ohai/mixin/json_helper.rb +36 -36
  27. data/lib/ohai/mixin/network_helper.rb +92 -92
  28. data/lib/ohai/mixin/oci_metadata.rb +60 -60
  29. data/lib/ohai/mixin/os.rb +128 -128
  30. data/lib/ohai/mixin/scaleway_metadata.rb +51 -51
  31. data/lib/ohai/mixin/seconds_to_human.rb +52 -52
  32. data/lib/ohai/mixin/shell_out.rb +51 -51
  33. data/lib/ohai/mixin/softlayer_metadata.rb +74 -74
  34. data/lib/ohai/mixin/string.rb +31 -31
  35. data/lib/ohai/mixin/train_helpers.rb +36 -36
  36. data/lib/ohai/mixin/which.rb +39 -39
  37. data/lib/ohai/plugin_config.rb +47 -47
  38. data/lib/ohai/plugins/aix/kernel.rb +50 -50
  39. data/lib/ohai/plugins/aix/memory.rb +37 -37
  40. data/lib/ohai/plugins/aix/network.rb +142 -142
  41. data/lib/ohai/plugins/aix/platform.rb +30 -30
  42. data/lib/ohai/plugins/aix/uptime.rb +54 -54
  43. data/lib/ohai/plugins/aix/virtualization.rb +154 -154
  44. data/lib/ohai/plugins/alibaba.rb +72 -72
  45. data/lib/ohai/plugins/azure.rb +154 -154
  46. data/lib/ohai/plugins/bsd/virtualization.rb +121 -121
  47. data/lib/ohai/plugins/c.rb +178 -178
  48. data/lib/ohai/plugins/chef.rb +50 -50
  49. data/lib/ohai/plugins/cloud.rb +379 -379
  50. data/lib/ohai/plugins/command.rb +26 -26
  51. data/lib/ohai/plugins/cpu.rb +642 -642
  52. data/lib/ohai/plugins/darwin/hardware.rb +99 -99
  53. data/lib/ohai/plugins/darwin/memory.rb +62 -62
  54. data/lib/ohai/plugins/darwin/network.rb +207 -207
  55. data/lib/ohai/plugins/darwin/platform.rb +40 -40
  56. data/lib/ohai/plugins/darwin/virtualization.rb +104 -104
  57. data/lib/ohai/plugins/digital_ocean.rb +67 -67
  58. data/lib/ohai/plugins/dmi.rb +134 -134
  59. data/lib/ohai/plugins/docker.rb +58 -58
  60. data/lib/ohai/plugins/dragonflybsd/memory.rb +60 -60
  61. data/lib/ohai/plugins/dragonflybsd/network.rb +128 -128
  62. data/lib/ohai/plugins/dragonflybsd/platform.rb +28 -28
  63. data/lib/ohai/plugins/ec2.rb +148 -148
  64. data/lib/ohai/plugins/elixir.rb +36 -36
  65. data/lib/ohai/plugins/erlang.rb +60 -60
  66. data/lib/ohai/plugins/eucalyptus.rb +86 -86
  67. data/lib/ohai/plugins/filesystem.rb +753 -753
  68. data/lib/ohai/plugins/fips.rb +36 -36
  69. data/lib/ohai/plugins/freebsd/memory.rb +60 -60
  70. data/lib/ohai/plugins/freebsd/network.rb +128 -128
  71. data/lib/ohai/plugins/freebsd/platform.rb +28 -28
  72. data/lib/ohai/plugins/gce.rb +89 -89
  73. data/lib/ohai/plugins/go.rb +34 -34
  74. data/lib/ohai/plugins/groovy.rb +38 -38
  75. data/lib/ohai/plugins/grub2.rb +40 -40
  76. data/lib/ohai/plugins/habitat.rb +73 -73
  77. data/lib/ohai/plugins/haskell.rb +96 -96
  78. data/lib/ohai/plugins/hostname.rb +133 -133
  79. data/lib/ohai/plugins/init_package.rb +26 -26
  80. data/lib/ohai/plugins/java.rb +78 -78
  81. data/lib/ohai/plugins/kernel.rb +292 -292
  82. data/lib/ohai/plugins/keys.rb +27 -27
  83. data/lib/ohai/plugins/languages.rb +26 -26
  84. data/lib/ohai/plugins/libvirt.rb +114 -114
  85. data/lib/ohai/plugins/linode.rb +73 -73
  86. data/lib/ohai/plugins/linux/block_device.rb +48 -48
  87. data/lib/ohai/plugins/linux/hostnamectl.rb +34 -34
  88. data/lib/ohai/plugins/linux/interrupts.rb +84 -83
  89. data/lib/ohai/plugins/linux/ipc.rb +52 -52
  90. data/lib/ohai/plugins/linux/livepatch.rb +38 -38
  91. data/lib/ohai/plugins/linux/lsb.rb +46 -46
  92. data/lib/ohai/plugins/linux/lspci.rb +80 -80
  93. data/lib/ohai/plugins/linux/machineid.rb +36 -36
  94. data/lib/ohai/plugins/linux/mdadm.rb +120 -120
  95. data/lib/ohai/plugins/linux/memory.rb +106 -106
  96. data/lib/ohai/plugins/linux/network.rb +879 -879
  97. data/lib/ohai/plugins/linux/os_release.rb +38 -38
  98. data/lib/ohai/plugins/linux/platform.rb +314 -314
  99. data/lib/ohai/plugins/linux/selinux.rb +69 -69
  100. data/lib/ohai/plugins/linux/sessions.rb +54 -54
  101. data/lib/ohai/plugins/linux/sysctl.rb +39 -39
  102. data/lib/ohai/plugins/linux/systemd_paths.rb +36 -36
  103. data/lib/ohai/plugins/linux/tc.rb +61 -61
  104. data/lib/ohai/plugins/linux/virtualization.rb +300 -300
  105. data/lib/ohai/plugins/lua.rb +39 -39
  106. data/lib/ohai/plugins/mono.rb +50 -50
  107. data/lib/ohai/plugins/netbsd/memory.rb +99 -99
  108. data/lib/ohai/plugins/netbsd/network.rb +122 -122
  109. data/lib/ohai/plugins/netbsd/platform.rb +28 -28
  110. data/lib/ohai/plugins/network.rb +186 -186
  111. data/lib/ohai/plugins/nodejs.rb +40 -40
  112. data/lib/ohai/plugins/oci.rb +94 -94
  113. data/lib/ohai/plugins/ohai.rb +29 -29
  114. data/lib/ohai/plugins/ohai_time.rb +26 -26
  115. data/lib/ohai/plugins/openbsd/memory.rb +99 -99
  116. data/lib/ohai/plugins/openbsd/network.rb +122 -122
  117. data/lib/ohai/plugins/openbsd/platform.rb +28 -28
  118. data/lib/ohai/plugins/openstack.rb +84 -84
  119. data/lib/ohai/plugins/os.rb +55 -55
  120. data/lib/ohai/plugins/packages.rb +234 -234
  121. data/lib/ohai/plugins/passwd.rb +104 -104
  122. data/lib/ohai/plugins/perl.rb +45 -45
  123. data/lib/ohai/plugins/php.rb +52 -52
  124. data/lib/ohai/plugins/platform.rb +41 -41
  125. data/lib/ohai/plugins/powershell.rb +82 -82
  126. data/lib/ohai/plugins/ps.rb +35 -35
  127. data/lib/ohai/plugins/python.rb +43 -43
  128. data/lib/ohai/plugins/rackspace.rb +177 -177
  129. data/lib/ohai/plugins/root_group.rb +41 -41
  130. data/lib/ohai/plugins/rpm.rb +121 -121
  131. data/lib/ohai/plugins/ruby.rb +66 -66
  132. data/lib/ohai/plugins/rust.rb +34 -34
  133. data/lib/ohai/plugins/scala.rb +38 -38
  134. data/lib/ohai/plugins/scaleway.rb +58 -58
  135. data/lib/ohai/plugins/scsi.rb +52 -52
  136. data/lib/ohai/plugins/shard.rb +142 -142
  137. data/lib/ohai/plugins/shells.rb +32 -32
  138. data/lib/ohai/plugins/softlayer.rb +48 -48
  139. data/lib/ohai/plugins/solaris2/dmi.rb +191 -191
  140. data/lib/ohai/plugins/solaris2/memory.rb +32 -32
  141. data/lib/ohai/plugins/solaris2/network.rb +192 -192
  142. data/lib/ohai/plugins/solaris2/platform.rb +58 -58
  143. data/lib/ohai/plugins/solaris2/virtualization.rb +90 -90
  144. data/lib/ohai/plugins/ssh_host_key.rb +84 -84
  145. data/lib/ohai/plugins/sysconf.rb +46 -46
  146. data/lib/ohai/plugins/timezone.rb +45 -45
  147. data/lib/ohai/plugins/train.rb +35 -35
  148. data/lib/ohai/plugins/uptime.rb +95 -95
  149. data/lib/ohai/plugins/virtualbox.rb +197 -197
  150. data/lib/ohai/plugins/vmware.rb +109 -109
  151. data/lib/ohai/plugins/windows/dmi.rb +95 -95
  152. data/lib/ohai/plugins/windows/drivers.rb +52 -52
  153. data/lib/ohai/plugins/windows/memory.rb +39 -39
  154. data/lib/ohai/plugins/windows/network.rb +222 -222
  155. data/lib/ohai/plugins/windows/platform.rb +34 -34
  156. data/lib/ohai/plugins/windows/system_enclosure.rb +29 -29
  157. data/lib/ohai/plugins/windows/virtualization.rb +45 -45
  158. data/lib/ohai/plugins/zpools.rb +94 -94
  159. data/lib/ohai/provides_map.rb +208 -208
  160. data/lib/ohai/runner.rb +128 -126
  161. data/lib/ohai/system.rb +258 -258
  162. data/lib/ohai/train_transport.rb +29 -29
  163. data/lib/ohai/util/file_helper.rb +6 -6
  164. data/lib/ohai/util/ip_helper.rb +56 -56
  165. data/lib/ohai/util/win32.rb +47 -47
  166. data/lib/ohai/version.rb +23 -23
  167. data/lib/ohai.rb +23 -23
  168. data/ohai.gemspec +35 -35
  169. metadata +9 -15
@@ -1,69 +1,69 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Davide Cavalca <dcavalca@fb.com>
4
- # Copyright:: Copyright (c) 2020 Facebook
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- Ohai.plugin(:Selinux) do
21
- provides "selinux/status", "selinux/policy_booleans", "selinux/process_contexts", "selinux/file_contexts"
22
- optional true
23
-
24
- collect_data(:linux) do
25
- sestatus_path = which("sestatus")
26
- if sestatus_path
27
- sestatus = shell_out("#{sestatus_path} -v -b")
28
-
29
- selinux Mash.new unless selinux
30
- selinux[:status] ||= Mash.new
31
- selinux[:policy_booleans] ||= Mash.new
32
- selinux[:process_contexts] ||= Mash.new
33
- selinux[:file_contexts] ||= Mash.new
34
- section = nil
35
-
36
- sestatus.stdout.split("\n").each do |line|
37
- line.chomp!
38
-
39
- case line
40
- when "Policy booleans:"
41
- section = :policy_booleans
42
- next
43
- when "Process contexts:"
44
- section = :process_contexts
45
- next
46
- when "File contexts:"
47
- section = :file_contexts
48
- next
49
- else
50
- if section.nil?
51
- section = :status
52
- end
53
- end
54
-
55
- key, val = line.split(/:?\s\s+/, 2)
56
- next if key.nil?
57
-
58
- unless key.start_with?("/")
59
- key.downcase!
60
- key.tr!(" ", "_")
61
- end
62
-
63
- selinux[section][key] = val
64
- end
65
- else
66
- logger.debug("Plugin Selinux: Could not find sestatus. Skipping plugin.")
67
- end
68
- end
69
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Davide Cavalca <dcavalca@fb.com>
4
+ # Copyright:: Copyright (c) 2020 Facebook
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ Ohai.plugin(:Selinux) do
21
+ provides "selinux/status", "selinux/policy_booleans", "selinux/process_contexts", "selinux/file_contexts"
22
+ optional true
23
+
24
+ collect_data(:linux) do
25
+ sestatus_path = which("sestatus")
26
+ if sestatus_path
27
+ sestatus = shell_out("#{sestatus_path} -v -b")
28
+
29
+ selinux Mash.new unless selinux
30
+ selinux[:status] ||= Mash.new
31
+ selinux[:policy_booleans] ||= Mash.new
32
+ selinux[:process_contexts] ||= Mash.new
33
+ selinux[:file_contexts] ||= Mash.new
34
+ section = nil
35
+
36
+ sestatus.stdout.split("\n").each do |line|
37
+ line.chomp!
38
+
39
+ case line
40
+ when "Policy booleans:"
41
+ section = :policy_booleans
42
+ next
43
+ when "Process contexts:"
44
+ section = :process_contexts
45
+ next
46
+ when "File contexts:"
47
+ section = :file_contexts
48
+ next
49
+ else
50
+ if section.nil?
51
+ section = :status
52
+ end
53
+ end
54
+
55
+ key, val = line.split(/:?\s\s+/, 2)
56
+ next if key.nil?
57
+
58
+ unless key.start_with?("/")
59
+ key.downcase!
60
+ key.tr!(" ", "_")
61
+ end
62
+
63
+ selinux[section][key] = val
64
+ end
65
+ else
66
+ logger.debug("Plugin Selinux: Could not find sestatus. Skipping plugin.")
67
+ end
68
+ end
69
+ end
@@ -1,54 +1,54 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Davide Cavalca <dcavalca@fb.com>
4
- # Copyright:: Copyright (c) 2016 Facebook
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- Ohai.plugin(:Sessions) do
21
- provides "sessions/by_session", "sessions/by_user"
22
- optional true
23
-
24
- collect_data(:linux) do
25
- loginctl_path = which("loginctl")
26
- if loginctl_path
27
- cmd = "#{loginctl_path} --no-pager --no-legend --no-ask-password " +
28
- "list-sessions"
29
- loginctl = shell_out(cmd)
30
-
31
- sessions Mash.new unless sessions
32
- sessions[:by_session] ||= Mash.new
33
- sessions[:by_user] ||= Mash.new
34
-
35
- loginctl.stdout.split("\n").each do |line|
36
- session, uid, user, seat = line.split
37
- s = {
38
- "session" => session,
39
- "uid" => uid,
40
- "user" => user,
41
- "seat" => seat,
42
- }
43
- sessions[:by_session][session] = s
44
- if sessions[:by_user][user]
45
- sessions[:by_user][user] << s
46
- else
47
- sessions[:by_user][user] = [s]
48
- end
49
- end
50
- else
51
- logger.trace("Plugin Sessions: Could not find loginctl. Skipping plugin.")
52
- end
53
- end
54
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Davide Cavalca <dcavalca@fb.com>
4
+ # Copyright:: Copyright (c) 2016 Facebook
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ Ohai.plugin(:Sessions) do
21
+ provides "sessions/by_session", "sessions/by_user"
22
+ optional true
23
+
24
+ collect_data(:linux) do
25
+ loginctl_path = which("loginctl")
26
+ if loginctl_path
27
+ cmd = "#{loginctl_path} --no-pager --no-legend --no-ask-password " +
28
+ "list-sessions"
29
+ loginctl = shell_out(cmd)
30
+
31
+ sessions Mash.new unless sessions
32
+ sessions[:by_session] ||= Mash.new
33
+ sessions[:by_user] ||= Mash.new
34
+
35
+ loginctl.stdout.split("\n").each do |line|
36
+ session, uid, user, seat = line.split
37
+ s = {
38
+ "session" => session,
39
+ "uid" => uid,
40
+ "user" => user,
41
+ "seat" => seat,
42
+ }
43
+ sessions[:by_session][session] = s
44
+ if sessions[:by_user][user]
45
+ sessions[:by_user][user] << s
46
+ else
47
+ sessions[:by_user][user] = [s]
48
+ end
49
+ end
50
+ else
51
+ logger.trace("Plugin Sessions: Could not find loginctl. Skipping plugin.")
52
+ end
53
+ end
54
+ end
@@ -1,39 +1,39 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Joshua Miller <joshmiller@fb.com>
4
- # Copyright:: Copyright (c) 2019 Facebook
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- Ohai.plugin(:Sysctl) do
21
- provides "sysctl"
22
- optional true
23
-
24
- collect_data(:linux) do
25
- sysctl_path = which("sysctl")
26
- if sysctl_path
27
- sysctl_cmd = shell_out("#{sysctl_path} -a")
28
-
29
- if sysctl_cmd.exitstatus == 0
30
- sysctl Mash.new unless sysctl
31
-
32
- sysctl_cmd.stdout.lines.each do |line|
33
- k, v = line.split("=").map(&:strip)
34
- sysctl[k] = v
35
- end
36
- end
37
- end
38
- end
39
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Joshua Miller <joshmiller@fb.com>
4
+ # Copyright:: Copyright (c) 2019 Facebook
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ Ohai.plugin(:Sysctl) do
21
+ provides "sysctl"
22
+ optional true
23
+
24
+ collect_data(:linux) do
25
+ sysctl_path = which("sysctl")
26
+ if sysctl_path
27
+ sysctl_cmd = shell_out("#{sysctl_path} -a")
28
+
29
+ if sysctl_cmd.exitstatus == 0
30
+ sysctl Mash.new unless sysctl
31
+
32
+ sysctl_cmd.stdout.lines.each do |line|
33
+ k, v = line.split("=").map(&:strip)
34
+ sysctl[k] = v
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,36 +1,36 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Davide Cavalca <dcavalca@fb.com>
4
- # Copyright:: Copyright (c) 2017 Facebook
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- Ohai.plugin(:SystemdPaths) do
21
- provides "systemd_paths"
22
-
23
- collect_data(:linux) do
24
- systemd_path_path = which("systemd-path")
25
- if systemd_path_path
26
- systemd_path = shell_out(systemd_path_path)
27
-
28
- systemd_paths Mash.new unless systemd_paths
29
-
30
- systemd_path.stdout.each_line do |line|
31
- key, val = line.split(":")
32
- systemd_paths[key] = val.strip
33
- end
34
- end
35
- end
36
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Davide Cavalca <dcavalca@fb.com>
4
+ # Copyright:: Copyright (c) 2017 Facebook
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ Ohai.plugin(:SystemdPaths) do
21
+ provides "systemd_paths"
22
+
23
+ collect_data(:linux) do
24
+ systemd_path_path = which("systemd-path")
25
+ if systemd_path_path
26
+ systemd_path = shell_out(systemd_path_path)
27
+
28
+ systemd_paths Mash.new unless systemd_paths
29
+
30
+ systemd_path.stdout.each_line do |line|
31
+ key, val = line.split(":")
32
+ systemd_paths[key] = val.strip
33
+ end
34
+ end
35
+ end
36
+ end
@@ -1,61 +1,61 @@
1
- #
2
- # Author:: Matthew Massey <matthewmassey@fb.com>
3
- # Copyright:: Copyright (c) 2021 Facebook
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- Ohai.plugin(:Tc) do
20
- provides "tc"
21
- optional true
22
-
23
- collect_data(:linux) do
24
- tc_path = which("tc")
25
- if tc_path
26
- cmd = "#{tc_path} qdisc show"
27
- tc_output = shell_out(cmd)
28
-
29
- tc_data = Mash.new
30
- tc_data[:qdisc] = Mash.new
31
-
32
- tc_output.stdout.split("\n").each do |line|
33
- line = line.strip
34
- if /dev (\w+)/ =~ line
35
- dev = $1
36
- tc_data[:qdisc][dev] ||= Mash.new
37
- else
38
- next
39
- end
40
- if /qdisc (\w+)/ =~ line
41
- qdisc = $1
42
- tc_data[:qdisc][dev][:qdiscs] ||= []
43
- tc_data[:qdisc][dev][:qdiscs] << Mash.new
44
- qdisc_idx = tc_data[:qdisc][dev][:qdiscs].length - 1
45
- tc_data[:qdisc][dev][:qdiscs][qdisc_idx] ||= Mash.new
46
- tc_data[:qdisc][dev][:qdiscs][qdisc_idx][:type] = qdisc
47
- tc_data[:qdisc][dev][:qdiscs][qdisc_idx][:parms] ||= Mash.new
48
- else
49
- next
50
- end
51
- if qdisc == "fq" && /buckets (\d+)/ =~ line
52
- buckets = $1.to_i
53
- tc_data[:qdisc][dev][:qdiscs][qdisc_idx][:parms][:buckets] = buckets
54
- end
55
- end
56
- tc tc_data
57
- else
58
- logger.trace("Plugin Tc: Could not find tc. Skipping plugin.")
59
- end
60
- end
61
- end
1
+ #
2
+ # Author:: Matthew Massey <matthewmassey@fb.com>
3
+ # Copyright:: Copyright (c) 2021 Facebook
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ Ohai.plugin(:Tc) do
20
+ provides "tc"
21
+ optional true
22
+
23
+ collect_data(:linux) do
24
+ tc_path = which("tc")
25
+ if tc_path
26
+ cmd = "#{tc_path} qdisc show"
27
+ tc_output = shell_out(cmd)
28
+
29
+ tc_data = Mash.new
30
+ tc_data[:qdisc] = Mash.new
31
+
32
+ tc_output.stdout.split("\n").each do |line|
33
+ line = line.strip
34
+ if /dev (\w+)/ =~ line
35
+ dev = $1
36
+ tc_data[:qdisc][dev] ||= Mash.new
37
+ else
38
+ next
39
+ end
40
+ if /qdisc (\w+)/ =~ line
41
+ qdisc = $1
42
+ tc_data[:qdisc][dev][:qdiscs] ||= []
43
+ tc_data[:qdisc][dev][:qdiscs] << Mash.new
44
+ qdisc_idx = tc_data[:qdisc][dev][:qdiscs].length - 1
45
+ tc_data[:qdisc][dev][:qdiscs][qdisc_idx] ||= Mash.new
46
+ tc_data[:qdisc][dev][:qdiscs][qdisc_idx][:type] = qdisc
47
+ tc_data[:qdisc][dev][:qdiscs][qdisc_idx][:parms] ||= Mash.new
48
+ else
49
+ next
50
+ end
51
+ if qdisc == "fq" && /buckets (\d+)/ =~ line
52
+ buckets = $1.to_i
53
+ tc_data[:qdisc][dev][:qdiscs][qdisc_idx][:parms][:buckets] = buckets
54
+ end
55
+ end
56
+ tc tc_data
57
+ else
58
+ logger.trace("Plugin Tc: Could not find tc. Skipping plugin.")
59
+ end
60
+ end
61
+ end