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,122 +1,122 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Bryan McLellan (btm@loftninjas.org)
4
- # Copyright:: Copyright (c) 2009 Bryan McLellan
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(:Network) do
21
- provides "network", "network/interfaces"
22
- provides "counters/network", "counters/network/interfaces"
23
-
24
- collect_data(:openbsd) do
25
- network Mash.new unless network
26
- network[:interfaces] ||= Mash.new
27
- counters Mash.new unless counters
28
- counters[:network] ||= Mash.new
29
-
30
- shell_out("route -n get default").stdout.lines do |line|
31
- if line =~ /(\w+): ([\w\.]+)/
32
- case $1
33
- when "gateway"
34
- network[:default_gateway] = $2
35
- when "interface"
36
- network[:default_interface] = $2
37
- end
38
- end
39
- end
40
-
41
- iface = Mash.new
42
- cint = nil
43
- shell_out( "#{Ohai.abs_path( "/sbin/ifconfig" )} -a" ).stdout.lines do |line|
44
- if line =~ /^([0-9a-zA-Z\.]+):\s+/
45
- cint = $1
46
- iface[cint] = Mash.new
47
- if cint =~ /^(\w+)(\d+.*)/
48
- iface[cint][:type] = $1
49
- iface[cint][:number] = $2
50
- end
51
- end
52
- # call the family lladdr to match linux for consistency
53
- if line =~ /\s+lladdr (.+?)\s/
54
- iface[cint][:addresses] ||= Mash.new
55
- iface[cint][:addresses][$1] = { "family" => "lladdr" }
56
- end
57
- if line =~ /\s+inet ([\d.]+) netmask ([\da-fx]+)\s*\w*\s*([\d.]*)/
58
- iface[cint][:addresses] ||= Mash.new
59
- # convert the netmask to decimal for consistency
60
- netmask = "#{$2[2, 2].hex}.#{$2[4, 2].hex}.#{$2[6, 2].hex}.#{$2[8, 2].hex}"
61
- if $3.empty?
62
- iface[cint][:addresses][$1] = { "family" => "inet", "netmask" => netmask }
63
- else
64
- # found a broadcast address
65
- iface[cint][:addresses][$1] = { "family" => "inet", "netmask" => netmask, "broadcast" => $3 }
66
- end
67
- end
68
- if line =~ /\s+inet6 ([a-f0-9\:]+)%?(\w*)\s+prefixlen\s+(\d+)\s*\w*\s*([\da-fx]*)/
69
- iface[cint][:addresses] ||= Mash.new
70
- if $4.empty?
71
- iface[cint][:addresses][$1] = { "family" => "inet6", "prefixlen" => $3 }
72
- else
73
- # found a zone_id / scope
74
- iface[cint][:addresses][$1] = { "family" => "inet6", "zoneid" => $2, "prefixlen" => $3, "scopeid" => $4 }
75
- end
76
- end
77
- if line =~ /flags=\d+<(.+)>/
78
- flags = $1.split(",")
79
- iface[cint][:flags] = flags if flags.length > 0
80
- end
81
- if line =~ /metric: (\d+) mtu: (\d+)/
82
- iface[cint][:metric] = $1
83
- iface[cint][:mtu] = $2
84
- end
85
- end
86
-
87
- shell_out("arp -an").stdout.lines do |line|
88
- if line =~ /\((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\) at ([a-fA-F0-9\:]+) on ([0-9a-zA-Z\.\:\-]+)/
89
- next unless iface[$3] # this should never happen
90
-
91
- iface[$3][:arp] ||= Mash.new
92
- iface[$3][:arp][$1] = $2.downcase
93
- end
94
- end
95
-
96
- network["interfaces"] = iface
97
-
98
- net_counters = Mash.new
99
- # From netstat(1), not sure of the implications:
100
- # Show the state of all network interfaces or a single interface
101
- # which have been auto-configured (interfaces statically configured
102
- # into a system, but not located at boot time are not shown).
103
- shell_out("netstat -idn").stdout.lines do |line|
104
- # Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll Drop
105
- # em0 1500 <Link> 00:11:25:2d:90:be 3719557 0 3369969 0 0 0
106
- # $1 $2 $3 $4 $5 $6 $7 $8
107
- if line =~ /^([\w\.\*]+)\s+\d+\s+<Link>\s+([\w:]*)\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/
108
- net_counters[$1] ||= Mash.new
109
- net_counters[$1]["rx"] ||= Mash.new
110
- net_counters[$1]["tx"] ||= Mash.new
111
- net_counters[$1]["rx"]["packets"] = $3
112
- net_counters[$1]["rx"]["errors"] = $4
113
- net_counters[$1]["tx"]["packets"] = $5
114
- net_counters[$1]["tx"]["errors"] = $6
115
- net_counters[$1]["tx"]["collisions"] = $7
116
- net_counters[$1]["tx"]["dropped"] = $8
117
- end
118
- end
119
-
120
- counters[:network][:interfaces] = net_counters
121
- end
122
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Bryan McLellan (btm@loftninjas.org)
4
+ # Copyright:: Copyright (c) 2009 Bryan McLellan
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(:Network) do
21
+ provides "network", "network/interfaces"
22
+ provides "counters/network", "counters/network/interfaces"
23
+
24
+ collect_data(:openbsd) do
25
+ network Mash.new unless network
26
+ network[:interfaces] ||= Mash.new
27
+ counters Mash.new unless counters
28
+ counters[:network] ||= Mash.new
29
+
30
+ shell_out("route -n get default").stdout.lines do |line|
31
+ if line =~ /(\w+): ([\w\.]+)/
32
+ case $1
33
+ when "gateway"
34
+ network[:default_gateway] = $2
35
+ when "interface"
36
+ network[:default_interface] = $2
37
+ end
38
+ end
39
+ end
40
+
41
+ iface = Mash.new
42
+ cint = nil
43
+ shell_out( "#{Ohai.abs_path( "/sbin/ifconfig" )} -a" ).stdout.lines do |line|
44
+ if line =~ /^([0-9a-zA-Z\.]+):\s+/
45
+ cint = $1
46
+ iface[cint] = Mash.new
47
+ if cint =~ /^(\w+)(\d+.*)/
48
+ iface[cint][:type] = $1
49
+ iface[cint][:number] = $2
50
+ end
51
+ end
52
+ # call the family lladdr to match linux for consistency
53
+ if line =~ /\s+lladdr (.+?)\s/
54
+ iface[cint][:addresses] ||= Mash.new
55
+ iface[cint][:addresses][$1] = { "family" => "lladdr" }
56
+ end
57
+ if line =~ /\s+inet ([\d.]+) netmask ([\da-fx]+)\s*\w*\s*([\d.]*)/
58
+ iface[cint][:addresses] ||= Mash.new
59
+ # convert the netmask to decimal for consistency
60
+ netmask = "#{$2[2, 2].hex}.#{$2[4, 2].hex}.#{$2[6, 2].hex}.#{$2[8, 2].hex}"
61
+ if $3.empty?
62
+ iface[cint][:addresses][$1] = { "family" => "inet", "netmask" => netmask }
63
+ else
64
+ # found a broadcast address
65
+ iface[cint][:addresses][$1] = { "family" => "inet", "netmask" => netmask, "broadcast" => $3 }
66
+ end
67
+ end
68
+ if line =~ /\s+inet6 ([a-f0-9\:]+)%?(\w*)\s+prefixlen\s+(\d+)\s*\w*\s*([\da-fx]*)/
69
+ iface[cint][:addresses] ||= Mash.new
70
+ if $4.empty?
71
+ iface[cint][:addresses][$1] = { "family" => "inet6", "prefixlen" => $3 }
72
+ else
73
+ # found a zone_id / scope
74
+ iface[cint][:addresses][$1] = { "family" => "inet6", "zoneid" => $2, "prefixlen" => $3, "scopeid" => $4 }
75
+ end
76
+ end
77
+ if line =~ /flags=\d+<(.+)>/
78
+ flags = $1.split(",")
79
+ iface[cint][:flags] = flags if flags.length > 0
80
+ end
81
+ if line =~ /metric: (\d+) mtu: (\d+)/
82
+ iface[cint][:metric] = $1
83
+ iface[cint][:mtu] = $2
84
+ end
85
+ end
86
+
87
+ shell_out("arp -an").stdout.lines do |line|
88
+ if line =~ /\((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\) at ([a-fA-F0-9\:]+) on ([0-9a-zA-Z\.\:\-]+)/
89
+ next unless iface[$3] # this should never happen
90
+
91
+ iface[$3][:arp] ||= Mash.new
92
+ iface[$3][:arp][$1] = $2.downcase
93
+ end
94
+ end
95
+
96
+ network["interfaces"] = iface
97
+
98
+ net_counters = Mash.new
99
+ # From netstat(1), not sure of the implications:
100
+ # Show the state of all network interfaces or a single interface
101
+ # which have been auto-configured (interfaces statically configured
102
+ # into a system, but not located at boot time are not shown).
103
+ shell_out("netstat -idn").stdout.lines do |line|
104
+ # Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll Drop
105
+ # em0 1500 <Link> 00:11:25:2d:90:be 3719557 0 3369969 0 0 0
106
+ # $1 $2 $3 $4 $5 $6 $7 $8
107
+ if line =~ /^([\w\.\*]+)\s+\d+\s+<Link>\s+([\w:]*)\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/
108
+ net_counters[$1] ||= Mash.new
109
+ net_counters[$1]["rx"] ||= Mash.new
110
+ net_counters[$1]["tx"] ||= Mash.new
111
+ net_counters[$1]["rx"]["packets"] = $3
112
+ net_counters[$1]["rx"]["errors"] = $4
113
+ net_counters[$1]["tx"]["packets"] = $5
114
+ net_counters[$1]["tx"]["errors"] = $6
115
+ net_counters[$1]["tx"]["collisions"] = $7
116
+ net_counters[$1]["tx"]["dropped"] = $8
117
+ end
118
+ end
119
+
120
+ counters[:network][:interfaces] = net_counters
121
+ end
122
+ end
@@ -1,28 +1,28 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Bryan McLellan (btm@loftninjas.org)
4
- # Copyright:: Copyright (c) 2009 Bryan McLellan
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(:Platform) do
21
- provides "platform", "platform_version", "platform_family"
22
-
23
- collect_data(:openbsd) do
24
- platform shell_out("uname -s").stdout.strip.downcase
25
- platform_version shell_out("uname -r").stdout.strip
26
- platform_family "openbsd"
27
- end
28
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Bryan McLellan (btm@loftninjas.org)
4
+ # Copyright:: Copyright (c) 2009 Bryan McLellan
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(:Platform) do
21
+ provides "platform", "platform_version", "platform_family"
22
+
23
+ collect_data(:openbsd) do
24
+ platform shell_out("uname -s").stdout.strip.downcase
25
+ platform_version shell_out("uname -r").stdout.strip
26
+ platform_family "openbsd"
27
+ end
28
+ end
@@ -1,84 +1,84 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Matt Ray (<matt@chef.io>)
4
- # Author:: Tim Smith (<tsmith@chef.io>)
5
- # Copyright:: Copyright (c) Chef Software Inc.
6
- # License:: Apache License, Version 2.0
7
- #
8
- # Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- # See the License for the specific language governing permissions and
18
- # limitations under the License.
19
-
20
- Ohai.plugin(:Openstack) do
21
- require_relative "../mixin/ec2_metadata"
22
- require_relative "../mixin/http_helper"
23
- include Ohai::Mixin::Ec2Metadata
24
- include Ohai::Mixin::HttpHelper
25
-
26
- provides "openstack"
27
- depends "virtualization"
28
-
29
- # use virtualization data
30
- def openstack_virtualization?
31
- if get_attribute(:virtualization, :systems, :openstack)
32
- logger.trace("Plugin Openstack: has_openstack_virtualization? == true")
33
- true
34
- end
35
- end
36
-
37
- # check for the ohai hint and log trace messaging
38
- def openstack_hint?
39
- if hint?("openstack")
40
- logger.trace("Plugin Openstack: openstack hint present")
41
- true
42
- else
43
- logger.trace("Plugin Openstack: openstack hint not present")
44
- false
45
- end
46
- end
47
-
48
- # dreamhost systems *had* the dhc-user on them < 2016. We should probably remove all this logic
49
- # https://help.dreamhost.com/hc/en-us/articles/228377408-How-to-find-the-default-user-of-an-image
50
- def openstack_provider
51
- # dream host doesn't support windows so bail early if we're on windows
52
- return "openstack" if RUBY_PLATFORM.match?(/mswin|mingw|windows/)
53
-
54
- if Etc::Passwd.entries.map(&:name).include?("dhc-user")
55
- "dreamhost"
56
- else
57
- "openstack"
58
- end
59
- end
60
-
61
- collect_data do
62
- require "etc" unless defined?(Etc)
63
-
64
- # fetch data if we look like openstack
65
- if openstack_hint? || openstack_virtualization?
66
- openstack Mash.new
67
- openstack[:provider] = openstack_provider
68
-
69
- timeout = Ohai::Config.ohai[:openstack_metadata_timeout] || 2
70
-
71
- # fetch the metadata if we can do a simple socket connect first
72
- if can_socket_connect?(Ohai::Mixin::Ec2Metadata::EC2_METADATA_ADDR, 80, timeout)
73
- fetch_metadata.each do |k, v|
74
- openstack[k] = v unless v.empty?
75
- end
76
- logger.trace("Plugin Openstack: Successfully fetched Openstack metadata from the metadata endpoint")
77
- else
78
- logger.trace("Plugin Openstack: Timed out connecting to Openstack metadata endpoint. Skipping metadata.")
79
- end
80
- else
81
- logger.trace("Plugin Openstack: Node does not appear to be an Openstack node")
82
- end
83
- end
84
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Matt Ray (<matt@chef.io>)
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ # Copyright:: Copyright (c) Chef Software Inc.
6
+ # License:: Apache License, Version 2.0
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+
20
+ Ohai.plugin(:Openstack) do
21
+ require_relative "../mixin/ec2_metadata"
22
+ require_relative "../mixin/http_helper"
23
+ include Ohai::Mixin::Ec2Metadata
24
+ include Ohai::Mixin::HttpHelper
25
+
26
+ provides "openstack"
27
+ depends "virtualization"
28
+
29
+ # use virtualization data
30
+ def openstack_virtualization?
31
+ if get_attribute(:virtualization, :systems, :openstack)
32
+ logger.trace("Plugin Openstack: has_openstack_virtualization? == true")
33
+ true
34
+ end
35
+ end
36
+
37
+ # check for the ohai hint and log trace messaging
38
+ def openstack_hint?
39
+ if hint?("openstack")
40
+ logger.trace("Plugin Openstack: openstack hint present")
41
+ true
42
+ else
43
+ logger.trace("Plugin Openstack: openstack hint not present")
44
+ false
45
+ end
46
+ end
47
+
48
+ # dreamhost systems *had* the dhc-user on them < 2016. We should probably remove all this logic
49
+ # https://help.dreamhost.com/hc/en-us/articles/228377408-How-to-find-the-default-user-of-an-image
50
+ def openstack_provider
51
+ # dream host doesn't support windows so bail early if we're on windows
52
+ return "openstack" if RUBY_PLATFORM.match?(/mswin|mingw|windows/)
53
+
54
+ if Etc::Passwd.entries.map(&:name).include?("dhc-user")
55
+ "dreamhost"
56
+ else
57
+ "openstack"
58
+ end
59
+ end
60
+
61
+ collect_data do
62
+ require "etc" unless defined?(Etc)
63
+
64
+ # fetch data if we look like openstack
65
+ if openstack_hint? || openstack_virtualization?
66
+ openstack Mash.new
67
+ openstack[:provider] = openstack_provider
68
+
69
+ timeout = Ohai::Config.ohai[:openstack_metadata_timeout] || 2
70
+
71
+ # fetch the metadata if we can do a simple socket connect first
72
+ if can_socket_connect?(Ohai::Mixin::Ec2Metadata::EC2_METADATA_ADDR, 80, timeout)
73
+ fetch_metadata.each do |k, v|
74
+ openstack[k] = v unless v.empty?
75
+ end
76
+ logger.trace("Plugin Openstack: Successfully fetched Openstack metadata from the metadata endpoint")
77
+ else
78
+ logger.trace("Plugin Openstack: Timed out connecting to Openstack metadata endpoint. Skipping metadata.")
79
+ end
80
+ else
81
+ logger.trace("Plugin Openstack: Node does not appear to be an Openstack node")
82
+ end
83
+ end
84
+ end
@@ -1,55 +1,55 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Adam Jacob (<adam@chef.io>)
4
- # Author:: Isa Farnik (<isa@chef.io>)
5
- # Author:: Richard Manyanza (<liseki@nyikacraftsmen.com>)
6
- # Copyright:: Copyright (c) Chef Software Inc.
7
- # Copyright:: Copyright (c) 2014 Richard Manyanza.
8
- # License:: Apache License, Version 2.0
9
- #
10
- # Licensed under the Apache License, Version 2.0 (the "License");
11
- # you may not use this file except in compliance with the License.
12
- # You may obtain a copy of the License at
13
- #
14
- # http://www.apache.org/licenses/LICENSE-2.0
15
- #
16
- # Unless required by applicable law or agreed to in writing, software
17
- # distributed under the License is distributed on an "AS IS" BASIS,
18
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
- # See the License for the specific language governing permissions and
20
- # limitations under the License.
21
- #
22
-
23
- Ohai.plugin(:OS) do
24
- require_relative "../mixin/os"
25
- provides "os", "os_version"
26
- depends "kernel"
27
-
28
- collect_data(:aix) do
29
- os collect_os
30
- os_version shell_out("oslevel -s").stdout.strip
31
- end
32
-
33
- collect_data(:dragonflybsd, :freebsd) do
34
- os collect_os
35
-
36
- # This is __DragonFly_version / __FreeBSD_version. See sys/param.h or
37
- # http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html.
38
- os_version shell_out("sysctl -n kern.osreldate").stdout.strip
39
- end
40
-
41
- collect_data(:target) do
42
- os collect_os
43
- os_version "unknown"
44
- end
45
-
46
- collect_data(:api) do
47
- os collect_os
48
- os_version "unknown"
49
- end
50
-
51
- collect_data do
52
- os collect_os
53
- os_version kernel[:release]
54
- end
55
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Adam Jacob (<adam@chef.io>)
4
+ # Author:: Isa Farnik (<isa@chef.io>)
5
+ # Author:: Richard Manyanza (<liseki@nyikacraftsmen.com>)
6
+ # Copyright:: Copyright (c) Chef Software Inc.
7
+ # Copyright:: Copyright (c) 2014 Richard Manyanza.
8
+ # License:: Apache License, Version 2.0
9
+ #
10
+ # Licensed under the Apache License, Version 2.0 (the "License");
11
+ # you may not use this file except in compliance with the License.
12
+ # You may obtain a copy of the License at
13
+ #
14
+ # http://www.apache.org/licenses/LICENSE-2.0
15
+ #
16
+ # Unless required by applicable law or agreed to in writing, software
17
+ # distributed under the License is distributed on an "AS IS" BASIS,
18
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ # See the License for the specific language governing permissions and
20
+ # limitations under the License.
21
+ #
22
+
23
+ Ohai.plugin(:OS) do
24
+ require_relative "../mixin/os"
25
+ provides "os", "os_version"
26
+ depends "kernel"
27
+
28
+ collect_data(:aix) do
29
+ os collect_os
30
+ os_version shell_out("oslevel -s").stdout.strip
31
+ end
32
+
33
+ collect_data(:dragonflybsd, :freebsd) do
34
+ os collect_os
35
+
36
+ # This is __DragonFly_version / __FreeBSD_version. See sys/param.h or
37
+ # http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html.
38
+ os_version shell_out("sysctl -n kern.osreldate").stdout.strip
39
+ end
40
+
41
+ collect_data(:target) do
42
+ os collect_os
43
+ os_version "unknown"
44
+ end
45
+
46
+ collect_data(:api) do
47
+ os collect_os
48
+ os_version "unknown"
49
+ end
50
+
51
+ collect_data do
52
+ os collect_os
53
+ os_version kernel[:release]
54
+ end
55
+ end