chef-sugar 5.0.0 → 5.1.12

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
  SHA256:
3
- metadata.gz: 69a3f37349b7d0107d438a9100e05f00f721df2913c5e0b71b6637bf390b1bad
4
- data.tar.gz: 7a8ea472ddba6a5ef54a0789d27961a8ba92fa7ddb0f18c2d812ceb3c235f9dc
3
+ metadata.gz: 94b5873d50542962ae3acca1cec3b6048571e37006eac04fc67c293bb1ee6124
4
+ data.tar.gz: cf7ed6690f5c776cbcd74cd9c24d7835648f969249639b95aceb4abf92e14393
5
5
  SHA512:
6
- metadata.gz: 5f6903eb381243a63032d638dc86e970176a736a4d50b56e3963ce2b3562ebfc2942414911407fdc7d9e8cf8a6fa01e0afe5701b8e165f0a60e57699f53d34bf
7
- data.tar.gz: 4a63f4f6666a6de1ff436ce42081577dab3a2dd46d9ed0be7e5c6ca5ca7c304c9c2c2ee72459727909ba43f51fa0b5ba865af8f37baf2a50934d000067d978a7
6
+ metadata.gz: cdd5ae08d1a99bbc636ccf8a4a9883fb88517c07c1a0b16331769ce336ec62a86ab3238bfe6d44ef1afc7276bca331086ba9d9ee332878cdfdc5e293fffabe71
7
+ data.tar.gz: 0a2e1e8b50db3258aec7b4cd482345059da8bb66c912eaf5bb9a7ac12ec0705c10ddf35f48082a58dbfebc4497c2ed7e79f09b5d140b4105d10b66e32eb8f061
@@ -19,153 +19,158 @@ class Chef
19
19
  module Architecture
20
20
  extend self
21
21
 
22
- #
23
- # Determine if the current architecture is 64-bit
24
- #
25
- # @return [Boolean]
26
- #
27
- def _64_bit?(node)
28
- %w(amd64 x86_64 ppc64 ppc64le s390x ia64 sparc64 aarch64 arch64 arm64 sun4v sun4u s390x)
29
- .include?(node['kernel']['machine']) || ( node['kernel']['bits'] == '64' )
30
- end
31
-
32
- #
33
- # Determine if the current architecture is 32-bit
34
- #
35
- # @todo Make this more than "not 64-bit"
36
- #
37
- # @return [Boolean]
38
- #
39
- def _32_bit?(node)
40
- !_64_bit?(node)
41
- end
42
-
43
- #
44
- # Determine if the current architecture is i386
45
- #
46
- # @return [Boolean]
47
- #
48
- def i386?(node)
49
- _32_bit?(node) && intel?(node)
50
- end
51
-
52
- #
53
- # Determine if the current architecture is Intel.
54
- #
55
- # @return [Boolean]
56
- #
57
- def intel?(node)
58
- %w(i86pc i386 x86_64 amd64 i686)
59
- .include?(node['kernel']['machine'])
60
- end
61
-
62
- #
63
- # Determine if the current architecture is SPARC.
64
- #
65
- # @return [Boolean]
66
- #
67
- def sparc?(node)
68
- %w(sun4u sun4v)
69
- .include?(node['kernel']['machine'])
70
- end
71
-
72
- #
73
- # Determine if the current architecture is Powerpc64 Big Endian
74
- #
75
- # @return [Boolean]
76
- #
77
- def ppc64?(node)
78
- %w(ppc64)
79
- .include?(node['kernel']['machine'])
80
- end
81
-
82
- #
83
- # Determine if the current architecture is Powerpc64 Little Endian
84
- #
85
- # @return [Boolean]
86
- #
87
- def ppc64le?(node)
88
- %w(ppc64le)
89
- .include?(node['kernel']['machine'])
90
- end
91
-
92
- #
93
- # Determine if the current architecture is PowerPC
94
- #
95
- # @return [Boolean]
96
- #
97
- def powerpc?(node)
98
- %w(powerpc)
99
- .include?(node['kernel']['machine'])
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(armv6l armv7l)
110
- .include?(node['kernel']['machine'])
111
- end
112
-
113
- #
114
- # Determine if the current architecture is AArch64
115
- #
116
- # @return [Boolean]
117
- #
118
- def aarch64?(node)
119
- # Add more arm variants as needed here
120
- %w(aarch64)
121
- .include?(node['kernel']['machine'])
122
- end
123
-
124
- #
125
- # Determine if the current architecture is s390x
126
- #
127
- # @return [Boolean]
128
- #
129
- def s390x?(node)
130
- %w(s390x)
131
- .include?(node['kernel']['machine'])
22
+ # these helpers have been moved to core-chef
23
+ if !defined?(Chef::VERSION) || Gem::Requirement.new("< 15.4.70").satisfied_by?(Gem::Version.new(Chef::VERSION))
24
+ #
25
+ # Determine if the current architecture is 64-bit
26
+ #
27
+ # @return [Boolean]
28
+ #
29
+ def _64_bit?(node)
30
+ %w(amd64 x86_64 ppc64 ppc64le s390x ia64 sparc64 aarch64 arch64 arm64 sun4v sun4u s390x)
31
+ .include?(node['kernel']['machine']) || ( node['kernel']['bits'] == '64' )
32
+ end
33
+
34
+ #
35
+ # Determine if the current architecture is 32-bit
36
+ #
37
+ # @todo Make this more than "not 64-bit"
38
+ #
39
+ # @return [Boolean]
40
+ #
41
+ def _32_bit?(node)
42
+ !_64_bit?(node)
43
+ end
44
+
45
+ #
46
+ # Determine if the current architecture is i386
47
+ #
48
+ # @return [Boolean]
49
+ #
50
+ def i386?(node)
51
+ _32_bit?(node) && intel?(node)
52
+ end
53
+
54
+ #
55
+ # Determine if the current architecture is Intel.
56
+ #
57
+ # @return [Boolean]
58
+ #
59
+ def intel?(node)
60
+ %w(i86pc i386 x86_64 amd64 i686)
61
+ .include?(node['kernel']['machine'])
62
+ end
63
+
64
+ #
65
+ # Determine if the current architecture is SPARC.
66
+ #
67
+ # @return [Boolean]
68
+ #
69
+ def sparc?(node)
70
+ %w(sun4u sun4v)
71
+ .include?(node['kernel']['machine'])
72
+ end
73
+
74
+ #
75
+ # Determine if the current architecture is Powerpc64 Big Endian
76
+ #
77
+ # @return [Boolean]
78
+ #
79
+ def ppc64?(node)
80
+ %w(ppc64)
81
+ .include?(node['kernel']['machine'])
82
+ end
83
+
84
+ #
85
+ # Determine if the current architecture is Powerpc64 Little Endian
86
+ #
87
+ # @return [Boolean]
88
+ #
89
+ def ppc64le?(node)
90
+ %w(ppc64le)
91
+ .include?(node['kernel']['machine'])
92
+ end
93
+
94
+ #
95
+ # Determine if the current architecture is PowerPC
96
+ #
97
+ # @return [Boolean]
98
+ #
99
+ def powerpc?(node)
100
+ %w(powerpc)
101
+ .include?(node['kernel']['machine'])
102
+ end
103
+
104
+ #
105
+ # Determine if the current architecture is ARM with Hard Float
106
+ #
107
+ # @return [Boolean]
108
+ #
109
+ def armhf?(node)
110
+ # Add more arm variants as needed here
111
+ %w(armv6l armv7l)
112
+ .include?(node['kernel']['machine'])
113
+ end
114
+
115
+ #
116
+ # Determine if the current architecture is AArch64
117
+ #
118
+ # @return [Boolean]
119
+ #
120
+ def aarch64?(node)
121
+ # Add more arm variants as needed here
122
+ %w(aarch64)
123
+ .include?(node['kernel']['machine'])
124
+ end
125
+
126
+ #
127
+ # Determine if the current architecture is s390x
128
+ #
129
+ # @return [Boolean]
130
+ #
131
+ def s390x?(node)
132
+ %w(s390x)
133
+ .include?(node['kernel']['machine'])
134
+ end
132
135
  end
133
136
  end
134
137
 
135
138
  module DSL
136
- # @see Chef::Sugar::Architecture#_64_bit?
137
- def _64_bit?; Chef::Sugar::Architecture._64_bit?(node); end
139
+ if !defined?(Chef::VERSION) || Gem::Requirement.new("< 15.4.70").satisfied_by?(Gem::Version.new(Chef::VERSION))
140
+ # @see Chef::Sugar::Architecture#_64_bit?
141
+ def _64_bit?; Chef::Sugar::Architecture._64_bit?(node); end
138
142
 
139
- # @see Chef::Sugar::Architecture#_32_bit?
140
- def _32_bit?; Chef::Sugar::Architecture._32_bit?(node); end
143
+ # @see Chef::Sugar::Architecture#_32_bit?
144
+ def _32_bit?; Chef::Sugar::Architecture._32_bit?(node); end
141
145
 
142
- # @see Chef::Sugar::Architecture#intel?
143
- def i386?; Chef::Sugar::Architecture.i386?(node); end
146
+ # @see Chef::Sugar::Architecture#intel?
147
+ def i386?; Chef::Sugar::Architecture.i386?(node); end
144
148
 
145
- # @see Chef::Sugar::Architecture#intel?
146
- def intel?; Chef::Sugar::Architecture.intel?(node); end
149
+ # @see Chef::Sugar::Architecture#intel?
150
+ def intel?; Chef::Sugar::Architecture.intel?(node); end
147
151
 
148
- # @see Chef::Sugar::Architecture#sparc?
149
- def sparc?; Chef::Sugar::Architecture.sparc?(node); end
152
+ # @see Chef::Sugar::Architecture#sparc?
153
+ def sparc?; Chef::Sugar::Architecture.sparc?(node); end
150
154
 
151
- # @see Chef::Sugar::Architecture#ppc64?
152
- def ppc64?; Chef::Sugar::Architecture.ppc64?(node); end
155
+ # @see Chef::Sugar::Architecture#ppc64?
156
+ def ppc64?; Chef::Sugar::Architecture.ppc64?(node); end
153
157
 
154
- # @see Chef::Sugar::Architecture#ppc64le?
155
- def ppc64le?; Chef::Sugar::Architecture.ppc64le?(node); end
158
+ # @see Chef::Sugar::Architecture#ppc64le?
159
+ def ppc64le?; Chef::Sugar::Architecture.ppc64le?(node); end
156
160
 
157
- # @see Chef::Sugar::Architecture#powerpc?
158
- def powerpc?; Chef::Sugar::Architecture.powerpc?(node); end
161
+ # @see Chef::Sugar::Architecture#powerpc?
162
+ def powerpc?; Chef::Sugar::Architecture.powerpc?(node); end
159
163
 
160
- # @see Chef::Sugar::Architecture#arm?
161
- def armhf?; Chef::Sugar::Architecture.armhf?(node); end
164
+ # @see Chef::Sugar::Architecture#arm?
165
+ def armhf?; Chef::Sugar::Architecture.armhf?(node); end
162
166
 
163
- # @see Chef::Sugar::Architecture#aarch64?
164
- def aarch64?; Chef::Sugar::Architecture.aarch64?(node); end
167
+ # @see Chef::Sugar::Architecture#aarch64?
168
+ def aarch64?; Chef::Sugar::Architecture.aarch64?(node); end
165
169
 
166
- # @see Chef::Sugar::Architecture#s390x?
167
- def s390x?; Chef::Sugar::Architecture.s390x?(node); end
170
+ # @see Chef::Sugar::Architecture#s390x?
171
+ def s390x?; Chef::Sugar::Architecture.s390x?(node); end
168
172
 
173
+ end
169
174
  end
170
175
  end
171
176
  end
@@ -0,0 +1,45 @@
1
+ #
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ #
6
+ # http://www.apache.org/licenses/LICENSE-2.0
7
+ #
8
+ # Unless required by applicable law or agreed to in writing, software
9
+ # distributed under the License is distributed on an "AS IS" BASIS,
10
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ # See the License for the specific language governing permissions and
12
+ # limitations under the License.
13
+ #
14
+
15
+ if defined?(Chef::Deprecated::Base)
16
+ class Chef
17
+ class Deprecated
18
+ class ChefSugar < Base
19
+ def id
20
+ 28
21
+ end
22
+ def target
23
+ "chef_sugar.html"
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+
30
+ class Chef
31
+ module Sugar
32
+ module Deprecation
33
+ if defined?(Chef::Deprecated::Base)
34
+ def deprecated(message)
35
+ Chef.deprecated(:chef_sugar, message)
36
+ end
37
+ else
38
+ def deprecated(message)
39
+ Chef::Log.warn(message)
40
+ end
41
+ end
42
+ extend self
43
+ end
44
+ end
45
+ end
@@ -19,22 +19,27 @@ class Chef
19
19
  module Docker
20
20
  extend self
21
21
 
22
- #
23
- # Returns true if the current node is a docker container.
24
- #
25
- # @param [Chef::Node] node
26
- # the node to check
27
- #
28
- # @return [Boolean]
29
- #
30
- def docker?(node)
31
- File.exist?('/.dockerinit') || File.exist?('/.dockerenv')
22
+ # these helpers have been moved to core chef
23
+ if !defined?(Chef::VERSION) || Gem::Requirement.new("< 15.4.70").satisfied_by?(Gem::Version.new(Chef::VERSION))
24
+ #
25
+ # Returns true if the current node is a docker container.
26
+ #
27
+ # @param [Chef::Node] node
28
+ # the node to check
29
+ #
30
+ # @return [Boolean]
31
+ #
32
+ def docker?(node)
33
+ File.exist?('/.dockerinit') || File.exist?('/.dockerenv')
34
+ end
32
35
  end
33
36
  end
34
37
 
35
38
  module DSL
36
- # @see Chef::Sugar::Docker#docker?
37
- def docker?; Chef::Sugar::Docker.docker?(node); end
39
+ if !defined?(Chef::VERSION) || Gem::Requirement.new("< 15.4.70").satisfied_by?(Gem::Version.new(Chef::VERSION))
40
+ # @see Chef::Sugar::Docker#docker?
41
+ def docker?; Chef::Sugar::Docker.docker?(node); end
42
+ end
38
43
  end
39
44
  end
40
45
  end
@@ -25,8 +25,7 @@ class Chef
25
25
  # @return [Boolean]
26
26
  #
27
27
  def systemd?(node)
28
- file = '/proc/1/comm'
29
- File.exist?(file) && IO.read(file).chomp == 'systemd'
28
+ File.exist?('/bin/systemctl')
30
29
  end
31
30
 
32
31
  #
@@ -19,22 +19,27 @@ class Chef
19
19
  module Kitchen
20
20
  extend self
21
21
 
22
- #
23
- # Returns true if the current node is provisioned by Test Kitchen.
24
- #
25
- # @param [Chef::Node] node
26
- # the node to check
27
- #
28
- # @return [Boolean]
29
- #
30
- def kitchen?(node)
31
- !ENV['TEST_KITCHEN'].nil?
22
+ # these helpers have been moved to core-chef
23
+ if !defined?(Chef::VERSION) || Gem::Requirement.new("< 15.4.70").satisfied_by?(Gem::Version.new(Chef::VERSION))
24
+ #
25
+ # Returns true if the current node is provisioned by Test Kitchen.
26
+ #
27
+ # @param [Chef::Node] node
28
+ # the node to check
29
+ #
30
+ # @return [Boolean]
31
+ #
32
+ def kitchen?(node)
33
+ !ENV['TEST_KITCHEN'].nil?
34
+ end
32
35
  end
33
36
  end
34
37
 
35
38
  module DSL
36
- # @see Chef::Sugar::Kitchen#kitchen?
37
- def kitchen?; Chef::Sugar::Kitchen.kitchen?(node); end
39
+ if !defined?(Chef::VERSION) || Gem::Requirement.new("< 15.4.70").satisfied_by?(Gem::Version.new(Chef::VERSION))
40
+ # @see Chef::Sugar::Kitchen#kitchen?
41
+ def kitchen?; Chef::Sugar::Kitchen.kitchen?(node); end
42
+ end
38
43
  end
39
44
  end
40
45
  end
@@ -14,6 +14,8 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
+ require_relative "deprecation"
18
+
17
19
  class Chef
18
20
  class Node
19
21
  class AttributeDoesNotExistError < StandardError
@@ -36,6 +38,7 @@ EOH
36
38
  # @return [Boolean]
37
39
  #
38
40
  def in?(environment)
41
+ Chef::Sugar::Deprecation.deprecated "the chef-sugar node.in? method is deprecated"
39
42
  environment === chef_environment
40
43
  end
41
44
 
@@ -49,6 +52,7 @@ EOH
49
52
  # @see [Node#deep_fetch!]
50
53
  #
51
54
  def deep_fetch(*keys)
55
+ Chef::Sugar::Deprecation.deprecated "the chef-sugar deep_fetch method is deprecated and should be replaced by node.read"
52
56
  deep_fetch!(*keys)
53
57
  rescue NoMethodError, AttributeDoesNotExistError
54
58
  nil
@@ -71,6 +75,7 @@ EOH
71
75
  # @return [Object]
72
76
  #
73
77
  def deep_fetch!(*keys)
78
+ Chef::Sugar::Deprecation.deprecated "the chef-sugar deep_fetch method is deprecated and should be replaced by node.read!"
74
79
  keys.map!(&:to_s)
75
80
 
76
81
  keys.inject(attributes.to_hash) do |hash, key|
@@ -133,6 +138,7 @@ EOH
133
138
  # to prevent accidential method chaining if the block isn't closed
134
139
  #
135
140
  def namespace(*args, &block)
141
+ Chef::Sugar::Deprecation.deprecated "the chef-sugar attribute namespace setting is deprecated, please use traditional chef attribute notation"
136
142
  @namespace_options = namespace_options.merge(args.last.is_a?(Hash) ? args.pop : {})
137
143
 
138
144
  keys = args.map(&:to_s)