chef-sugar 3.3.0 → 3.4.0

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.
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