ohai 8.0.1 → 8.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +13 -5
  2. data/lib/ohai/loader.rb +1 -1
  3. data/lib/ohai/mixin/gce_metadata.rb +2 -1
  4. data/lib/ohai/plugins/cloud.rb +56 -6
  5. data/lib/ohai/plugins/cloud_v2.rb +29 -1
  6. data/lib/ohai/plugins/cloudstack.rb +7 -0
  7. data/lib/ohai/plugins/digital_ocean.rb +81 -0
  8. data/lib/ohai/plugins/elixir.rb +32 -0
  9. data/lib/ohai/plugins/linode.rb +1 -0
  10. data/lib/ohai/plugins/linux/block_device.rb +5 -0
  11. data/lib/ohai/plugins/linux/cpu.rb +21 -1
  12. data/lib/ohai/plugins/linux/filesystem.rb +1 -1
  13. data/lib/ohai/plugins/linux/network.rb +6 -2
  14. data/lib/ohai/plugins/linux/platform.rb +2 -0
  15. data/lib/ohai/plugins/linux/virtualization.rb +14 -3
  16. data/lib/ohai/plugins/php.rb +13 -6
  17. data/lib/ohai/plugins/ruby.rb +10 -10
  18. data/lib/ohai/plugins/rust.rb +32 -0
  19. data/lib/ohai/plugins/ssh_host_key.rb +6 -0
  20. data/lib/ohai/util/ip_helper.rb +52 -0
  21. data/lib/ohai/version.rb +1 -1
  22. data/spec/data/plugins/php.output +16 -0
  23. data/spec/unit/plugins/cloud_spec.rb +63 -9
  24. data/spec/unit/plugins/cloud_v2_spec.rb +123 -25
  25. data/spec/unit/plugins/cloudstack_spec.rb +1 -1
  26. data/spec/unit/plugins/digital_ocean_spec.rb +211 -0
  27. data/spec/unit/plugins/elixir_spec.rb +46 -0
  28. data/spec/unit/plugins/linux/cpu_spec.rb +112 -35
  29. data/spec/unit/plugins/linux/filesystem_spec.rb +7 -7
  30. data/spec/unit/plugins/linux/network_spec.rb +63 -4
  31. data/spec/unit/plugins/linux/platform_spec.rb +13 -0
  32. data/spec/unit/plugins/linux/virtualization_spec.rb +146 -21
  33. data/spec/unit/plugins/php_spec.rb +37 -3
  34. data/spec/unit/plugins/rust_spec.rb +43 -0
  35. data/spec/unit/plugins/ssh_host_keys_spec.rb +11 -0
  36. data/spec/unit/util/ip_helper_spec.rb +128 -0
  37. metadata +49 -41
@@ -0,0 +1,43 @@
1
+ # Author:: Christopher M Luciano (<cmlucian@us.ibm.com>)
2
+ # License:: Apache License, Version 2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '/spec_helper.rb'))
18
+
19
+ describe Ohai::System, "plugin rust" do
20
+ let(:stdout) {"rustc 1.0.0-nightly (29bd9a06e 2015-01-20 23:03:09 +0000)"}
21
+ let (:plugin) do
22
+ plugin = get_plugin("rust")
23
+ plugin[:languages] = Mash.new
24
+ allow(plugin).to receive(:shell_out).with("rustc --version").and_return(mock_shell_out(0, stdout, ""))
25
+ plugin
26
+ end
27
+
28
+ it "should get the rust version" do
29
+ expect(plugin).to receive(:shell_out).with("rustc --version").and_return(mock_shell_out(0, stdout, ""))
30
+ plugin.run
31
+ end
32
+
33
+ it "should set languages[:rust][:version]" do
34
+ plugin.run
35
+ expect(plugin.languages[:rust][:version]).to eql("1.0.0-nightly")
36
+ end
37
+
38
+ it "should not set the languages[:rust] if rust command fails" do
39
+ allow(plugin).to receive(:shell_out).with("rustc --version").and_return(mock_shell_out(1, stdout, ""))
40
+ plugin.run
41
+ expect(plugin.languages).not_to have_key(:rust)
42
+ end
43
+ end
@@ -30,6 +30,7 @@ describe Ohai::System, "ssh_host_key plugin" do
30
30
  allow(File).to receive(:exists?).with("/etc/ssh/ssh_host_dsa_key.pub").and_return(true)
31
31
  allow(File).to receive(:exists?).with("/etc/ssh/ssh_host_rsa_key.pub").and_return(true)
32
32
  allow(File).to receive(:exists?).with("/etc/ssh/ssh_host_ecdsa_key.pub").and_return(true)
33
+ allow(File).to receive(:exists?).with("/etc/ssh/ssh_host_ed25519_key.pub").and_return(true)
33
34
 
34
35
  # Ensure we can still use IO.read
35
36
  io_read = IO.method(:read)
@@ -39,9 +40,11 @@ describe Ohai::System, "ssh_host_key plugin" do
39
40
  @dsa_key = "ssh-dss AAAAB3NzaC1kc3MAAACBAMHlT02xN8kietxPfhcb98xHueTzKCOTz6dZlP/dmKILHrQOAExuSEeNiA2uvmhHNVQvs/cBsRiDxgSKux3ie2q8+MB6vHCiSpSkoPjrL75iT57YDilCB4/sytt6IJpj+H42wRDWTX0/QRybMHUvmnmEL0cwZXykSvrIum0BKB6hAAAAFQDsi6WUCClhtZIiTY9uh8eAre+SbQAAAIEAgNnuw0uEuqtcVif+AYd/bCZvL9FPqg7DrmTkamNEcVinhUGwsPGJTLJf+o5ens1X4RzQoi1R6Y6zCTL2FN/hZgINJNO0z9BN402wWrZmQd+Vb1U5DyDtveuvipqyQS+fm9neRwdLuv36Fc9f9nkZ7YHpkGPJp+yJpG4OoeREhwgAAACBAIf9kKLf2XiXnlByzlJ2Naa55d/hp2E059VKCRsBS++xFKYKvSqjnDQBFiMtAUhb8EdTyBGyalqOgqogDQVtwHfTZWZwqHAhry9aM06y92Eu/xSey4tWjKeknOsnRe640KC4zmKDBRTrjjkuAdrKPN9k3jl+OCc669JHlIfo6kqf oppa"
40
41
  @rsa_key = "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuhcVXV+nNapkyUC5p4TH1ymRxUjtMBKqYWmwyI29gVFnUNeHkKFHWon0KFeGJP2Rm8BfTiZa9ER9e8pRr4Nd+z1C1o0kVoxEEfB9tpSdTlpk1GG83D94l57fij8THRVIwuCEosViUlg1gDgC4SpxbqfdBkUN2qyf6JDOh7t2QpYh7berpDEWeBpb7BKdLEDT57uw7ijKzSNyaXqq8KkB9I+UFrRwpuos4W7ilX+PQ+mWLi2ZZJfTYZMxxVS+qJwiDtNxGCRwTOQZG03kI7eLBZG+igupr0uD4o6qeftPOr0kxgjoPU4nEKvYiGq8Rqd2vYrhiaJHLk9QB6xStQvS3Q== oppa"
41
42
  @ecdsa_key = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBx8VgvxmHxs/sIn/ATh0iUcuz1I2Xc0e1ejXCGHBMZ98IE3FBt1ezlqCpNMcHVV2skQQ8vyLbKxzweyZuNSDU8= oppa"
43
+ @ed25519_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFYGnIM5K5JaRxbMCqz8cPMmLp57ZoJQvA5Tlj18EO6H djb"
42
44
  allow(IO).to receive(:read).with("/etc/ssh/ssh_host_dsa_key.pub").and_return(@dsa_key)
43
45
  allow(IO).to receive(:read).with("/etc/ssh/ssh_host_rsa_key.pub").and_return(@rsa_key)
44
46
  allow(IO).to receive(:read).with("/etc/ssh/ssh_host_ecdsa_key.pub").and_return(@ecdsa_key)
47
+ allow(IO).to receive(:read).with("/etc/ssh/ssh_host_ed25519_key.pub").and_return(@ed25519_key)
45
48
  end
46
49
 
47
50
  shared_examples "loads keys" do
@@ -62,6 +65,12 @@ describe Ohai::System, "ssh_host_key plugin" do
62
65
  expect(@plugin[:keys][:ssh][:host_ecdsa_public]).to eql(@ecdsa_key.split[1])
63
66
  expect(@plugin[:keys][:ssh][:host_ecdsa_type]).to eql(@ecdsa_key.split[0])
64
67
  end
68
+
69
+ it "reads the key and sets the ed25519 attribute correctly" do
70
+ @plugin.run
71
+ expect(@plugin[:keys][:ssh][:host_ed25519_public]).to eql(@ed25519_key.split[1])
72
+ expect(@plugin[:keys][:ssh][:host_ed25519_type]).to be_nil
73
+ end
65
74
  end
66
75
 
67
76
  context "when an sshd_config exists" do
@@ -71,6 +80,7 @@ describe Ohai::System, "ssh_host_key plugin" do
71
80
  HostKey /etc/ssh/ssh_host_rsa_key
72
81
  HostKey /etc/ssh/ssh_host_dsa_key
73
82
  HostKey /etc/ssh/ssh_host_ecdsa_key
83
+ HostKey /etc/ssh/ssh_host_ed25519_key
74
84
  EOS
75
85
  end
76
86
  it_behaves_like "loads keys"
@@ -83,6 +93,7 @@ EOS
83
93
  #HostKey /etc/ssh/ssh_host_rsa_key
84
94
  #HostKey /etc/ssh/ssh_host_dsa_key
85
95
  #HostKey /etc/ssh/ssh_host_ecdsa_key
96
+ #HostKey /etc/ssh/ssh_host_ed25519_key
86
97
  EOS
87
98
  end
88
99
  it_behaves_like "loads keys"
@@ -0,0 +1,128 @@
1
+ #
2
+ # Author:: Stafford Brunk (<stafford.brunk@gmail.com>)
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ require 'ipaddress'
18
+ require 'spec_helper'
19
+ require 'ohai/util/ip_helper'
20
+
21
+ class IpHelperMock
22
+ include Ohai::Util::IpHelper
23
+ end
24
+
25
+ describe "Ohai::Util::IpHelper" do
26
+ let(:ip_helper) { IpHelperMock.new }
27
+
28
+ shared_examples 'ip address types' do
29
+ context 'with an IPv4 address' do
30
+ context 'that is private' do
31
+ let(:address) { '10.128.142.89' }
32
+
33
+ it 'identifies the address as private' do
34
+ expect(ip_helper.private_address?(address)).to be_truthy
35
+ end
36
+ end
37
+
38
+ context 'that is public' do
39
+ let(:address) { '74.125.224.72' }
40
+
41
+ it 'identifies the address as public' do
42
+ expect(ip_helper.private_address?(address)).to be_falsey
43
+ end
44
+ end
45
+ end
46
+
47
+ context 'with an IPv6 address' do
48
+ context 'that is an RFC 4193 unique local address' do
49
+ let(:address) { 'fdf8:f53b:82e4::53' }
50
+
51
+ it 'identifies the address as a unique local address' do
52
+ expect(ip_helper.private_address?(address)).to be_truthy
53
+ end
54
+ end
55
+
56
+ context 'that is a non RFC 4193 unique local address' do
57
+ let(:address) { 'FE80::0202:B3FF:FE1E:8329' }
58
+
59
+ it 'does not identify the address as a unique local address' do
60
+ expect(ip_helper.private_address?(address)).to be_falsey
61
+ end
62
+ end
63
+ end
64
+ end
65
+
66
+ describe 'private_address?' do
67
+ include_examples 'ip address types'
68
+ end
69
+
70
+ describe 'unique_local_address?' do
71
+ include_examples 'ip address types'
72
+ end
73
+
74
+ describe 'public_address?' do
75
+ let(:address) { '10.128.142.89' }
76
+
77
+ before do
78
+ allow(ip_helper).to receive(:private_address?)
79
+ end
80
+
81
+ it 'should call #private_address?' do
82
+ expect(ip_helper).to receive(:private_address?)
83
+ ip_helper.public_address?(address)
84
+ end
85
+
86
+ it 'should return the inverse of #private_address?' do
87
+ expect(ip_helper.public_address?(address)).to equal !ip_helper.private_address?(address)
88
+ end
89
+ end
90
+
91
+ describe 'loopback?' do
92
+ context 'with an IPv4 address' do
93
+ context 'that is a loopback address' do
94
+ let(:address) { '127.0.0.1' }
95
+
96
+ it 'should identify the address as a loopback address' do
97
+ expect(ip_helper.loopback?(address)).to be_truthy
98
+ end
99
+ end
100
+
101
+ context 'that is not a loopback address' do
102
+ let(:address) { '1.2.3.4' }
103
+
104
+ it 'should not identify the address as a loopback address' do
105
+ expect(ip_helper.loopback?(address)).to be_falsey
106
+ end
107
+ end
108
+ end
109
+
110
+ context 'with an IPv6 address' do
111
+ context 'that is a loopback address' do
112
+ let(:address) { '0:0:0:0:0:0:0:1' }
113
+
114
+ it 'should identify the address as a loopback address' do
115
+ expect(ip_helper.loopback?(address)).to be_truthy
116
+ end
117
+ end
118
+
119
+ context 'that is not a loopback address' do
120
+ let(:address) { '2400:6180:0000:00D0:0000:0000:0009:7001' }
121
+
122
+ it 'should not identify the address as a loopback address' do
123
+ expect(ip_helper.loopback?(address)).to be_falsey
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
metadata CHANGED
@@ -1,251 +1,251 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ohai
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.1
4
+ version: 8.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Jacob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-04 00:00:00.000000000 Z
11
+ date: 2015-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mime-types
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '1.16'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: systemu
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: 2.6.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.6.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: ffi-yajl
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mixlib-cli
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - ! '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mixlib-config
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: '2.0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: mixlib-log
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - ! '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: mixlib-shellout
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
103
  version: '2.0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ~>
109
109
  - !ruby/object:Gem::Version
110
110
  version: '2.0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: net-dhcp
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - ! '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: ipaddress
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - ! '>='
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - ! '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: wmi-lite
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ~>
144
144
  - !ruby/object:Gem::Version
145
145
  version: '1.0'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - ~>
151
151
  - !ruby/object:Gem::Version
152
152
  version: '1.0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: ffi
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
157
+ - - ~>
158
158
  - !ruby/object:Gem::Version
159
159
  version: '1.9'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - "~>"
164
+ - - ~>
165
165
  - !ruby/object:Gem::Version
166
166
  version: '1.9'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rake
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - "~>"
171
+ - - ~>
172
172
  - !ruby/object:Gem::Version
173
173
  version: '10.1'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - "~>"
178
+ - - ~>
179
179
  - !ruby/object:Gem::Version
180
180
  version: '10.1'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rspec-core
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - "~>"
185
+ - - ~>
186
186
  - !ruby/object:Gem::Version
187
187
  version: '3.0'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - "~>"
192
+ - - ~>
193
193
  - !ruby/object:Gem::Version
194
194
  version: '3.0'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: rspec-expectations
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - "~>"
199
+ - - ~>
200
200
  - !ruby/object:Gem::Version
201
201
  version: '3.0'
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - "~>"
206
+ - - ~>
207
207
  - !ruby/object:Gem::Version
208
208
  version: '3.0'
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: rspec-mocks
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - "~>"
213
+ - - ~>
214
214
  - !ruby/object:Gem::Version
215
215
  version: '3.0'
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - "~>"
220
+ - - ~>
221
221
  - !ruby/object:Gem::Version
222
222
  version: '3.0'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: rspec-collection_matchers
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - "~>"
227
+ - - ~>
228
228
  - !ruby/object:Gem::Version
229
229
  version: '1.0'
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - "~>"
234
+ - - ~>
235
235
  - !ruby/object:Gem::Version
236
236
  version: '1.0'
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: chef
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - ">="
241
+ - - ! '>='
242
242
  - !ruby/object:Gem::Version
243
243
  version: '0'
244
244
  type: :development
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
- - - ">="
248
+ - - ! '>='
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
251
  description: Ohai profiles your system and emits JSON
@@ -303,8 +303,10 @@ files:
303
303
  - lib/ohai/plugins/darwin/network.rb
304
304
  - lib/ohai/plugins/darwin/platform.rb
305
305
  - lib/ohai/plugins/darwin/system_profiler.rb
306
+ - lib/ohai/plugins/digital_ocean.rb
306
307
  - lib/ohai/plugins/dmi.rb
307
308
  - lib/ohai/plugins/ec2.rb
309
+ - lib/ohai/plugins/elixir.rb
308
310
  - lib/ohai/plugins/erlang.rb
309
311
  - lib/ohai/plugins/eucalyptus.rb
310
312
  - lib/ohai/plugins/freebsd/cpu.rb
@@ -366,6 +368,7 @@ files:
366
368
  - lib/ohai/plugins/rackspace.rb
367
369
  - lib/ohai/plugins/root_group.rb
368
370
  - lib/ohai/plugins/ruby.rb
371
+ - lib/ohai/plugins/rust.rb
369
372
  - lib/ohai/plugins/sigar/cpu.rb
370
373
  - lib/ohai/plugins/sigar/filesystem.rb
371
374
  - lib/ohai/plugins/sigar/memory.rb
@@ -391,6 +394,7 @@ files:
391
394
  - lib/ohai/runner.rb
392
395
  - lib/ohai/system.rb
393
396
  - lib/ohai/util/file_helper.rb
397
+ - lib/ohai/util/ip_helper.rb
394
398
  - lib/ohai/util/win32.rb
395
399
  - lib/ohai/util/win32/group_helper.rb
396
400
  - lib/ohai/version.rb
@@ -451,8 +455,10 @@ files:
451
455
  - spec/unit/plugins/darwin/platform_spec.rb
452
456
  - spec/unit/plugins/darwin/system_profiler_output.rb
453
457
  - spec/unit/plugins/darwin/system_profiler_spec.rb
458
+ - spec/unit/plugins/digital_ocean_spec.rb
454
459
  - spec/unit/plugins/dmi_spec.rb
455
460
  - spec/unit/plugins/ec2_spec.rb
461
+ - spec/unit/plugins/elixir_spec.rb
456
462
  - spec/unit/plugins/erlang_spec.rb
457
463
  - spec/unit/plugins/eucalyptus_spec.rb
458
464
  - spec/unit/plugins/fail_spec.rb
@@ -505,6 +511,7 @@ files:
505
511
  - spec/unit/plugins/rackspace_spec.rb
506
512
  - spec/unit/plugins/root_group_spec.rb
507
513
  - spec/unit/plugins/ruby_spec.rb
514
+ - spec/unit/plugins/rust_spec.rb
508
515
  - spec/unit/plugins/sigar/network_route_spec.rb
509
516
  - spec/unit/plugins/solaris2/cpu_spec.rb
510
517
  - spec/unit/plugins/solaris2/hostname_spec.rb
@@ -519,6 +526,7 @@ files:
519
526
  - spec/unit/runner_spec.rb
520
527
  - spec/unit/system_spec.rb
521
528
  - spec/unit/util/file_helper_spec.rb
529
+ - spec/unit/util/ip_helper_spec.rb
522
530
  homepage: https://docs.getchef.com/ohai.html
523
531
  licenses:
524
532
  - Apache-2.0
@@ -529,17 +537,17 @@ require_paths:
529
537
  - lib
530
538
  required_ruby_version: !ruby/object:Gem::Requirement
531
539
  requirements:
532
- - - ">="
540
+ - - ! '>='
533
541
  - !ruby/object:Gem::Version
534
542
  version: 2.0.0
535
543
  required_rubygems_version: !ruby/object:Gem::Requirement
536
544
  requirements:
537
- - - ">="
545
+ - - ! '>='
538
546
  - !ruby/object:Gem::Version
539
547
  version: '0'
540
548
  requirements: []
541
549
  rubyforge_project:
542
- rubygems_version: 2.4.3
550
+ rubygems_version: 2.4.1
543
551
  signing_key:
544
552
  specification_version: 4
545
553
  summary: Ohai profiles your system and emits JSON