chef-utils 15.9.17 → 15.13.8
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 +4 -4
- data/chef-utils.gemspec +1 -2
- data/lib/chef-utils.rb +1 -1
- data/lib/chef-utils/dsl/architecture.rb +13 -3
- data/lib/chef-utils/dsl/cloud.rb +1 -1
- data/lib/chef-utils/dsl/introspection.rb +2 -2
- data/lib/chef-utils/dsl/os.rb +1 -1
- data/lib/chef-utils/dsl/path_sanity.rb +1 -1
- data/lib/chef-utils/dsl/platform.rb +1 -1
- data/lib/chef-utils/dsl/platform_family.rb +2 -2
- data/lib/chef-utils/dsl/platform_version.rb +1 -1
- data/lib/chef-utils/dsl/service.rb +1 -1
- data/lib/chef-utils/dsl/train_helpers.rb +1 -1
- data/lib/chef-utils/dsl/virtualization.rb +2 -2
- data/lib/chef-utils/dsl/which.rb +5 -5
- data/lib/chef-utils/dsl/windows.rb +1 -1
- data/lib/chef-utils/internal.rb +2 -2
- data/lib/chef-utils/version.rb +3 -3
- data/spec/unit/dsl/architecture_spec.rb +16 -5
- data/spec/unit/dsl/cloud_spec.rb +1 -1
- data/spec/unit/dsl/dsl_spec.rb +1 -1
- data/spec/unit/dsl/introspection_spec.rb +3 -2
- data/spec/unit/dsl/os_spec.rb +1 -1
- data/spec/unit/dsl/path_sanity_spec.rb +1 -1
- data/spec/unit/dsl/platform_family_spec.rb +1 -1
- data/spec/unit/dsl/platform_spec.rb +4 -1
- data/spec/unit/dsl/service_spec.rb +1 -1
- data/spec/unit/dsl/virtualization_spec.rb +1 -1
- data/spec/unit/dsl/which_spec.rb +1 -1
- data/spec/unit/dsl/windows_spec.rb +1 -1
- data/spec/unit/mash_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2af50b489c73dd9137661062e12d22aee7a5202c1f64f70eb31bfa5497d96443
|
4
|
+
data.tar.gz: 537e89e51a22d3ab7d89fba3c94543474fc985e385bda9d2a918043019066e59
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8517e78b7cfc3f8946b16d5475e49db38619ff7890779c9237bd028054f869b3749e958a5fc1f5a12827ea31b8e05a907277fe334b6b1df89424526d0f456154
|
7
|
+
data.tar.gz: fd15f41aee73b7153191faa9c95ae8f0999f8830aa8cdd527bc51410201294c8417bff98d3cbc10200a89df701f62cf179c7457e15fd3e1c662cf0fe05e3aa24
|
data/chef-utils.gemspec
CHANGED
data/lib/chef-utils.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright:: Copyright
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -103,14 +103,24 @@ module ChefUtils
|
|
103
103
|
%w{powerpc}.include?(node["kernel"]["machine"])
|
104
104
|
end
|
105
105
|
|
106
|
-
# Determine if the current architecture is
|
106
|
+
# Determine if the current architecture is arm
|
107
|
+
#
|
108
|
+
# @since 15.10
|
109
|
+
#
|
110
|
+
# @return [Boolean]
|
111
|
+
#
|
112
|
+
def arm?(node = __getnode)
|
113
|
+
%w{armv6l armv7l armhf aarch64 arm64 arch64}.include?(node["kernel"]["machine"])
|
114
|
+
end
|
115
|
+
|
116
|
+
# Determine if the current architecture is 32-bit ARM hard float.
|
107
117
|
#
|
108
118
|
# @since 15.5
|
109
119
|
#
|
110
120
|
# @return [Boolean]
|
111
121
|
#
|
112
122
|
def armhf?(node = __getnode)
|
113
|
-
%w{armhf}.include?(node["kernel"]["machine"])
|
123
|
+
%w{armv6l armv7l armhf}.include?(node["kernel"]["machine"])
|
114
124
|
end
|
115
125
|
|
116
126
|
# Determine if the current architecture is s390x.
|
data/lib/chef-utils/dsl/cloud.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright:: Copyright
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -31,7 +31,7 @@ module ChefUtils
|
|
31
31
|
# Determine if the node is a docker container.
|
32
32
|
#
|
33
33
|
# @param [Chef::Node] node the node to check
|
34
|
-
# @since
|
34
|
+
# @since 12.11
|
35
35
|
#
|
36
36
|
# @return [Boolean]
|
37
37
|
#
|
data/lib/chef-utils/dsl/os.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright:: Copyright
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -301,7 +301,7 @@ module ChefUtils
|
|
301
301
|
end
|
302
302
|
|
303
303
|
# RedHat distros -- fedora and rhel platform_families, nothing else. This is most likely not as useful as the
|
304
|
-
# "
|
304
|
+
# "fedora_derived?" helper.
|
305
305
|
#
|
306
306
|
# @param [Chef::Node] node the node to check
|
307
307
|
# @since 15.5
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright:: Copyright
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -161,7 +161,7 @@ module ChefUtils
|
|
161
161
|
node.dig("virtualization", "system") == "openvz" && node.dig("virtualization", "role") == "host"
|
162
162
|
end
|
163
163
|
|
164
|
-
# Determine if the current node is running under any
|
164
|
+
# Determine if the current node is running under any virtualization environment
|
165
165
|
#
|
166
166
|
# @param [Chef::Node] node
|
167
167
|
# @since 15.8
|
data/lib/chef-utils/dsl/which.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright:: Copyright
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -25,7 +25,7 @@ module ChefUtils
|
|
25
25
|
# Lookup an executable through the systems search PATH. Allows specifying an array
|
26
26
|
# of executables to look for. The first executable that is found, along any path entry,
|
27
27
|
# will be the preferred one and returned first. The extra_path will override any default
|
28
|
-
# extra_paths which are added (
|
28
|
+
# extra_paths which are added (allowing the user to pass an empty array to remove them).
|
29
29
|
#
|
30
30
|
# When passed a block the block will be called with the full pathname of any executables
|
31
31
|
# which are found, and the block should return truthy or falsey values to further filter
|
@@ -34,7 +34,7 @@ module ChefUtils
|
|
34
34
|
# This is syntactic sugar for `where(...).first`
|
35
35
|
#
|
36
36
|
# This helper can be used in target mode in chef or with train using the appropriate
|
37
|
-
# wiring
|
37
|
+
# wiring externally.
|
38
38
|
#
|
39
39
|
# @example Find the most appropriate python executable, searching through the system PATH
|
40
40
|
# plus additionally the "/usr/libexec" directory, which has the dnf libraries
|
@@ -55,14 +55,14 @@ module ChefUtils
|
|
55
55
|
# Lookup all the instances of an an executable that can be found through the systems search PATH.
|
56
56
|
# Allows specifying an array of executables to look for. All the instances of the first executable
|
57
57
|
# that is found will be returned first. The extra_path will override any default extra_paths
|
58
|
-
# which are added (
|
58
|
+
# which are added (allowing the user to pass an empty array to remove them).
|
59
59
|
#
|
60
60
|
# When passed a block the block will be called with the full pathname of any executables
|
61
61
|
# which are found, and the block should return truthy or falsey values to further filter
|
62
62
|
# the executable based on arbitrary criteria.
|
63
63
|
#
|
64
64
|
# This helper can be used in target mode in chef or with train using the appropriate
|
65
|
-
# wiring
|
65
|
+
# wiring externally.
|
66
66
|
#
|
67
67
|
# @example Find all the python executables, searching through the system PATH plus additionally
|
68
68
|
# the "/usr/libexec" directory, which have the dnf libraries installed and available.
|
data/lib/chef-utils/internal.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright:: Copyright
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -27,7 +27,7 @@ module ChefUtils
|
|
27
27
|
#
|
28
28
|
# This gem may be used by gems like mixlib-shellout which can be consumed by external non-Chef utilities,
|
29
29
|
# so including brittle code here which depends on the existence of the chef-client will cause broken
|
30
|
-
# behavior downstream. You must practice defensive coding, and not make assumptions about
|
30
|
+
# behavior downstream. You must practice defensive coding, and not make assumptions about running within chef-client.
|
31
31
|
#
|
32
32
|
# Other consumers may mix in the helper classes and then override the methods here and provide their own custom
|
33
33
|
# wiring and override what is provided here. They are marked as private because no downstream user should ever touch
|
data/lib/chef-utils/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright:: Copyright
|
1
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
2
2
|
# License:: Apache License, Version 2.0
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -14,6 +14,6 @@
|
|
14
14
|
# limitations under the License.
|
15
15
|
|
16
16
|
module ChefUtils
|
17
|
-
CHEFUTILS_ROOT = File.expand_path("
|
18
|
-
VERSION = "15.
|
17
|
+
CHEFUTILS_ROOT = File.expand_path("..", __dir__)
|
18
|
+
VERSION = "15.13.8".freeze
|
19
19
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright:: Copyright
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -84,17 +84,17 @@ RSpec.describe ChefUtils::DSL::Architecture do
|
|
84
84
|
context "on aarch64" do
|
85
85
|
let(:arch) { "aarch64" }
|
86
86
|
|
87
|
-
arch_reports_true_for(:_64_bit?)
|
87
|
+
arch_reports_true_for(:_64_bit?, :arm?)
|
88
88
|
end
|
89
89
|
context "on arch64" do
|
90
90
|
let(:arch) { "arch64" }
|
91
91
|
|
92
|
-
arch_reports_true_for(:_64_bit?)
|
92
|
+
arch_reports_true_for(:_64_bit?, :arm?)
|
93
93
|
end
|
94
94
|
context "on arm64" do
|
95
95
|
let(:arch) { "arm64" }
|
96
96
|
|
97
|
-
arch_reports_true_for(:_64_bit?)
|
97
|
+
arch_reports_true_for(:_64_bit?, :arm?)
|
98
98
|
end
|
99
99
|
context "on sun4v" do
|
100
100
|
let(:arch) { "sun4v" }
|
@@ -129,8 +129,19 @@ RSpec.describe ChefUtils::DSL::Architecture do
|
|
129
129
|
context "on armhf" do
|
130
130
|
let(:arch) { "armhf" }
|
131
131
|
|
132
|
-
arch_reports_true_for(:armhf?, :_32_bit?)
|
132
|
+
arch_reports_true_for(:armhf?, :_32_bit?, :arm?)
|
133
|
+
end
|
134
|
+
context "on armv6l" do
|
135
|
+
let(:arch) { "armv6l" }
|
136
|
+
|
137
|
+
arch_reports_true_for(:armhf?, :_32_bit?, :arm?)
|
138
|
+
end
|
139
|
+
context "on armv7l" do
|
140
|
+
let(:arch) { "armv7l" }
|
141
|
+
|
142
|
+
arch_reports_true_for(:armhf?, :_32_bit?, :arm?)
|
133
143
|
end
|
144
|
+
|
134
145
|
context "on s390" do
|
135
146
|
let(:arch) { "s390" }
|
136
147
|
|
data/spec/unit/dsl/cloud_spec.rb
CHANGED
data/spec/unit/dsl/dsl_spec.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright:: Copyright
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -21,6 +21,7 @@ RSpec.describe ChefUtils::DSL::Introspection do
|
|
21
21
|
class IntrospectionTestClass
|
22
22
|
include ChefUtils::DSL::Introspection
|
23
23
|
attr_accessor :node
|
24
|
+
|
24
25
|
def initialize(node)
|
25
26
|
@node = node
|
26
27
|
end
|
@@ -31,7 +32,7 @@ RSpec.describe ChefUtils::DSL::Introspection do
|
|
31
32
|
let(:test_instance) { IntrospectionTestClass.new(node) }
|
32
33
|
|
33
34
|
context "#docker?" do
|
34
|
-
# FIXME: use a real VividMash for these tests
|
35
|
+
# FIXME: use a real VividMash for these tests instead of stubbing
|
35
36
|
it "is false by default" do
|
36
37
|
expect(node).to receive(:read).with("virtualization", "systems", "docker").and_return(nil)
|
37
38
|
expect(ChefUtils.docker?(node)).to be false
|
data/spec/unit/dsl/os_spec.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright:: Copyright
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -58,6 +58,7 @@ RSpec.describe ChefUtils::DSL::Platform do
|
|
58
58
|
class ThingWithANode
|
59
59
|
include ChefUtils::DSL::Platform
|
60
60
|
attr_accessor :node
|
61
|
+
|
61
62
|
def initialize(node)
|
62
63
|
@node = node
|
63
64
|
end
|
@@ -69,6 +70,7 @@ RSpec.describe ChefUtils::DSL::Platform do
|
|
69
70
|
attr_accessor :node
|
70
71
|
end
|
71
72
|
attr_accessor :run_context
|
73
|
+
|
72
74
|
def initialize(node)
|
73
75
|
@run_context = RunContext.new
|
74
76
|
run_context.node = node
|
@@ -78,6 +80,7 @@ RSpec.describe ChefUtils::DSL::Platform do
|
|
78
80
|
class ThingWithTheDSL
|
79
81
|
include ChefUtils
|
80
82
|
attr_accessor :node
|
83
|
+
|
81
84
|
def initialize(node)
|
82
85
|
@node = node
|
83
86
|
end
|
data/spec/unit/dsl/which_spec.rb
CHANGED
data/spec/unit/mash_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Matthew Kent (<mkent@magoazul.com>)
|
3
|
-
# Copyright:: Copyright
|
3
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
4
4
|
# License:: Apache License, Version 2.0
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 15.
|
4
|
+
version: 15.13.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chef Software, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|