chef-sugar 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5f284c42cb57577613febeaaaad0c92dc7da64a9
4
- data.tar.gz: ec1b3ba2496d4fb0bf99bbb0003410e21fb00217
3
+ metadata.gz: e302495d54fd2ab9c684d7f14aa9cbd1a4fec669
4
+ data.tar.gz: 74531fd32eb4b31afb0dd12f7490c7d2a25526ab
5
5
  SHA512:
6
- metadata.gz: ca8d21daa32329740d9e051541993eba4fa9fc76d5d01aa4b6dce6825c9184bc60013d663e03273b5379452ee30d3a8c81304e880e4e9a3e1c5dbf92de3e498e
7
- data.tar.gz: 08770b8f178afd0d9838f94bfda7e5cc2ffc3361b8090c4f71d500e3c8384ee8639a6ec09c81d4b3ab84238a105b1b053b1a9c864737b8078062e50aaa575b03
6
+ metadata.gz: 2a68af78673536af03376c879442090b269319b16dc79a0bdd12fa768db20d83fcd14bc151ef794bb44b1b28e1654582c3c484944fac48fb22d615731455b1de
7
+ data.tar.gz: dec8f58a0fac8e97867673f9122fae92e0cd7ddd9b1386fc099446476c56e597618789f79c2f361521fb2df45f040742c06b16e5d378df671df439e771f2fad8
@@ -1,7 +1,6 @@
1
1
  sudo: false
2
2
 
3
3
  rvm:
4
- - 2.0.0
5
4
  - 2.1
6
5
  - 2.2
7
6
 
@@ -2,6 +2,18 @@ Chef Sugar Changelog
2
2
  =========================
3
3
  This file is used to list changes made in each version of the chef-sugar cookbook and gem.
4
4
 
5
+ v3.4.0 (2016-07-18)
6
+ -------------------
7
+ ### Improvements
8
+ - Add `virtual?` and `physical?` methods
9
+ - Add Scaleway C1 server (arm arch) support
10
+ - Add IMB s390x support
11
+ - Add missing Ubuntu release names
12
+
13
+ ### Bug Fixes
14
+ - Drop Ruby 2.0.0 support from Travis test matrix
15
+ - Pin to Rack 1.6 (dev dep)
16
+
5
17
  v3.3.0 (2016-01-11)
6
18
  -------------------
7
19
  ### Improvements
@@ -25,6 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.require_paths = ['lib']
26
26
 
27
27
  spec.add_development_dependency 'bundler', '~> 1.3'
28
+ spec.add_development_dependency 'rack', '~> 1.6'
28
29
  spec.add_development_dependency 'rake'
29
30
 
30
31
  spec.add_development_dependency 'chefspec', '~> 4.2'
@@ -25,7 +25,7 @@ class Chef
25
25
  # @return [Boolean]
26
26
  #
27
27
  def _64_bit?(node)
28
- %w(amd64 x86_64 ppc64 ppc64le s390x ia64 sparc64 aarch64 arch64 arm64 sun4v sun4u)
28
+ %w(amd64 x86_64 ppc64 ppc64le s390x ia64 sparc64 aarch64 arch64 arm64 sun4v sun4u s390x)
29
29
  .include?(node['kernel']['machine']) || ( node['kernel']['bits'] == '64' )
30
30
  end
31
31
 
@@ -98,6 +98,27 @@ class Chef
98
98
  %w(powerpc)
99
99
  .include?(node['kernel']['machine'])
100
100
  end
101
+
102
+ #
103
+ # Determine if the current architecture is ARM with Hard Float
104
+ #
105
+ # @return [Boolean]
106
+ #
107
+ def armhf?(node)
108
+ # Add more arm variants as needed here
109
+ %w(armv7l)
110
+ .include?(node['kernel']['machine'])
111
+ end
112
+
113
+ #
114
+ # Determine if the current architecture is s390x
115
+ #
116
+ # @return [Boolean]
117
+ #
118
+ def s390x?(node)
119
+ %w(s390x)
120
+ .include?(node['kernel']['machine'])
121
+ end
101
122
  end
102
123
 
103
124
  module DSL
@@ -124,6 +145,13 @@ class Chef
124
145
 
125
146
  # @see Chef::Sugar::Architecture#powerpc?
126
147
  def powerpc?; Chef::Sugar::Architecture.powerpc?(node); end
148
+
149
+ # @see Chef::Sugar::Architecture#arm?
150
+ def armhf?; Chef::Sugar::Architecture.armhf?(node); end
151
+
152
+ # @see Chef::Sugar::Architecture#s390x?
153
+ def s390x?; Chef::Sugar::Architecture.s390x?(node); end
154
+
127
155
  end
128
156
  end
129
157
  end
@@ -58,6 +58,10 @@ class Chef
58
58
  'raring' => '13.04',
59
59
  'saucy' => '13.10',
60
60
  'trusty' => '14.04',
61
+ 'utopic' => '14.10',
62
+ 'vivid' => '15.04',
63
+ 'wily' => '15.10',
64
+ 'xenial' => '16.04',
61
65
  },
62
66
  }
63
67
 
@@ -16,6 +16,6 @@
16
16
 
17
17
  class Chef
18
18
  module Sugar
19
- VERSION = '3.3.0'
19
+ VERSION = '3.4.0'
20
20
  end
21
21
  end
@@ -83,6 +83,14 @@ class Chef
83
83
  def openvz?(node)
84
84
  node.key?('virtualization') && node['virtualization']['system'] == 'openvz'
85
85
  end
86
+
87
+ def virtual?(node)
88
+ openvz?(node) || vmware?(node) || virtualbox?(node) || lxc?(node) || kvm?(node)
89
+ end
90
+
91
+ def physical?(node)
92
+ !virtual?(node)
93
+ end
86
94
  end
87
95
 
88
96
  module DSL
@@ -100,6 +108,12 @@ class Chef
100
108
 
101
109
  # @see Chef::Sugar::Virtualization#openvz?
102
110
  def openvz?; Chef::Sugar::Virtualization.openvz?(node); end
111
+
112
+ # @see Chef::Sugar::Virtualization#virtual?
113
+ def virtual?; Chef::Sugar::Virtualization.virtual?(node); end
114
+
115
+ # @see Chef::Sugar::Virtualization#physical?
116
+ def physical?; Chef::Sugar::Virtualization.physical?(node); end
103
117
  end
104
118
  end
105
119
  end
@@ -78,6 +78,14 @@ describe Chef::Sugar::Architecture do
78
78
  end
79
79
  end
80
80
 
81
+ describe '#armhf?' do
82
+ it 'returns true when the system is ARM' do
83
+ node = { 'kernel' => { 'machine' => 'armv7l' } }
84
+ expect(described_class.intel?(node)).to be false
85
+ expect(described_class.armhf?(node)).to be true
86
+ end
87
+ end
88
+
81
89
  describe '#sparc?' do
82
90
  it 'returns true when the system is SPARC sun4u' do
83
91
  node = { 'kernel' => { 'machine' => 'sun4u' } }
@@ -103,4 +111,11 @@ describe Chef::Sugar::Architecture do
103
111
  expect(described_class.ppc64le?(node)).to be true
104
112
  end
105
113
  end
114
+
115
+ describe '#s390x?' do
116
+ it 'returns true when the system is s390x' do
117
+ node = { 'kernel' => { 'machine' => 's390x' } }
118
+ expect(described_class.s390x?(node)).to be true
119
+ end
120
+ end
106
121
  end
@@ -87,4 +87,32 @@ describe Chef::Sugar::Virtualization do
87
87
  expect(described_class.openvz?(node)).to be false
88
88
  end
89
89
  end
90
+
91
+ describe '#virtual?' do
92
+ it 'returns true when the machine is under a supported virtualization provider' do
93
+ %w(openvz vmware vbox lxc kvm).each do |host|
94
+ node = { 'virtualization' => { 'system' => host } }
95
+ expect(described_class.virtual?(node)).to be true
96
+ end
97
+ end
98
+
99
+ it 'returns false when the machine is not virtual' do
100
+ node = {}
101
+ expect(described_class.virtual?(node)).to be false
102
+ end
103
+ end
104
+
105
+ describe '#physical?' do
106
+ it 'returns false when the machine is under a supported virtualization provider' do
107
+ %w(openvz vmware vbox lxc kvm).each do |host|
108
+ node = { 'virtualization' => { 'system' => host } }
109
+ expect(described_class.physical?(node)).to be false
110
+ end
111
+ end
112
+
113
+ it 'returns true when the machine is not virtual' do
114
+ node = {}
115
+ expect(described_class.physical?(node)).to be true
116
+ end
117
+ end
90
118
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-sugar
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seth Vargo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-11 00:00:00.000000000 Z
11
+ date: 2016-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rack
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -167,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
181
  version: '0'
168
182
  requirements: []
169
183
  rubyforge_project:
170
- rubygems_version: 2.2.2
184
+ rubygems_version: 2.4.5.1
171
185
  signing_key:
172
186
  specification_version: 4
173
187
  summary: A collection of helper methods and modules that make working with Chef recipes