chef 13.2.20-universal-mingw32 → 13.3.42-universal-mingw32
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/CONTRIBUTING.md +1 -1
- data/Gemfile +2 -8
- data/README.md +6 -2
- data/Rakefile +0 -11
- data/VERSION +1 -1
- data/acceptance/Gemfile.lock +1 -1
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +34 -18
- data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +6 -0
- data/lib/chef/cookbook/metadata.rb +2 -2
- data/lib/chef/deprecation/warnings.rb +3 -1
- data/lib/chef/exceptions.rb +1 -1
- data/lib/chef/http.rb +9 -10
- data/lib/chef/http/api_versions.rb +2 -0
- data/lib/chef/http/http_request.rb +3 -0
- data/lib/chef/knife/core/bootstrap_context.rb +1 -0
- data/lib/chef/knife/core/status_presenter.rb +1 -1
- data/lib/chef/knife/ssh.rb +4 -0
- data/lib/chef/provider/apt_preference.rb +99 -0
- data/lib/chef/provider/execute.rb +3 -2
- data/lib/chef/provider/http_request.rb +14 -0
- data/lib/chef/provider/mount/aix.rb +49 -8
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
- data/lib/chef/provider/package/zypper.rb +5 -5
- data/lib/chef/provider/service/systemd.rb +12 -11
- data/lib/chef/provider/support/zypper_repo.erb +17 -0
- data/lib/chef/provider/systemd_unit.rb +3 -2
- data/lib/chef/provider/windows_task.rb +92 -71
- data/lib/chef/provider/zypper_repository.rb +81 -0
- data/lib/chef/providers.rb +2 -0
- data/lib/chef/resource/apt_preference.rb +36 -0
- data/lib/chef/resource/execute.rb +12 -2
- data/lib/chef/resource/http_request.rb +1 -1
- data/lib/chef/resource/zypper_repository.rb +51 -0
- data/lib/chef/resources.rb +2 -0
- data/lib/chef/search/query.rb +6 -1
- data/lib/chef/server_api_versions.rb +21 -2
- data/lib/chef/version.rb +3 -4
- data/lib/chef/win32/api/file.rb +1 -0
- data/lib/chef/win32/file.rb +2 -0
- data/lib/chef/win32/version.rb +6 -0
- data/spec/functional/knife/ssh_spec.rb +1 -1
- data/spec/functional/resource/execute_spec.rb +2 -2
- data/spec/spec_helper.rb +8 -1
- data/spec/unit/cookbook/metadata_spec.rb +3 -3
- data/spec/unit/http/api_versions_spec.rb +6 -3
- data/spec/unit/knife/bootstrap_spec.rb +4 -0
- data/spec/unit/knife/cookbook_show_spec.rb +3 -3
- data/spec/unit/knife/ssh_spec.rb +7 -1
- data/spec/unit/knife/status_spec.rb +2 -0
- data/spec/unit/provider/apt_preference_spec.rb +87 -0
- data/spec/unit/provider/apt_update_spec.rb +7 -7
- data/spec/unit/provider/dsc_resource_spec.rb +2 -2
- data/spec/unit/provider/execute_spec.rb +32 -14
- data/spec/unit/provider/mount/aix_spec.rb +33 -1
- data/spec/unit/provider/package/rubygems_spec.rb +1 -1
- data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +56 -3
- data/spec/unit/provider/package/windows_spec.rb +1 -1
- data/spec/unit/provider/package/zypper_spec.rb +43 -0
- data/spec/unit/provider/script_spec.rb +1 -1
- data/spec/unit/provider/service/systemd_service_spec.rb +23 -21
- data/spec/unit/provider/systemd_unit_spec.rb +42 -41
- data/spec/unit/provider/windows_task_spec.rb +40 -0
- data/spec/unit/resource/apt_preference_spec.rb +41 -0
- data/spec/unit/resource/execute_spec.rb +21 -1
- data/spec/unit/resource/powershell_script_spec.rb +2 -2
- data/spec/unit/resource/zypper_repository_spec.rb +65 -0
- data/spec/unit/search/query_spec.rb +13 -18
- data/spec/unit/server_api_spec.rb +75 -1
- data/spec/unit/server_api_versions_spec.rb +22 -0
- data/spec/unit/win32/link_spec.rb +73 -0
- data/tasks/dependencies.rb +0 -1
- metadata +14 -81
- data/acceptance/.bundle/config +0 -2
- data/acceptance/bin/aws.rb +0 -17
- data/acceptance/bin/berks +0 -17
- data/acceptance/bin/bundler +0 -17
- data/acceptance/bin/chef-acceptance +0 -17
- data/acceptance/bin/coderay +0 -17
- data/acceptance/bin/erubis +0 -17
- data/acceptance/bin/htmldiff +0 -17
- data/acceptance/bin/httpclient +0 -17
- data/acceptance/bin/inspec +0 -17
- data/acceptance/bin/kitchen +0 -17
- data/acceptance/bin/ldiff +0 -17
- data/acceptance/bin/nokogiri +0 -17
- data/acceptance/bin/pry +0 -17
- data/acceptance/bin/rake +0 -17
- data/acceptance/bin/rspec +0 -17
- data/acceptance/bin/rwinrm +0 -17
- data/acceptance/bin/rwinrmcp +0 -17
- data/acceptance/bin/safe_yaml +0 -17
- data/acceptance/bin/thor +0 -17
- data/acceptance/fips/.kitchen/fips-unit-functional-centos-6.yml +0 -7
- data/acceptance/fips/.kitchen/kitchen-vagrant/kitchen-fips-fips-unit-functional-centos-6/.vagrant/machines/default/virtualbox/action_set_name +0 -1
- data/acceptance/fips/.kitchen/kitchen-vagrant/kitchen-fips-fips-unit-functional-centos-6/.vagrant/machines/default/virtualbox/creator_uid +0 -1
- data/acceptance/fips/.kitchen/kitchen-vagrant/kitchen-fips-fips-unit-functional-centos-6/.vagrant/machines/default/virtualbox/id +0 -1
- data/acceptance/fips/.kitchen/kitchen-vagrant/kitchen-fips-fips-unit-functional-centos-6/.vagrant/machines/default/virtualbox/index_uuid +0 -1
- data/acceptance/fips/.kitchen/kitchen-vagrant/kitchen-fips-fips-unit-functional-centos-6/.vagrant/machines/default/virtualbox/private_key +0 -27
- data/acceptance/fips/.kitchen/kitchen-vagrant/kitchen-fips-fips-unit-functional-centos-6/.vagrant/machines/default/virtualbox/synced_folders +0 -1
- data/acceptance/fips/.kitchen/kitchen-vagrant/kitchen-fips-fips-unit-functional-centos-6/Vagrantfile +0 -11
- data/acceptance/fips/.kitchen/logs/fips-integration-centos-6.log +0 -0
- data/acceptance/fips/.kitchen/logs/fips-integration-windows-2012r2.log +0 -0
- data/acceptance/fips/.kitchen/logs/fips-unit-functional-centos-6.log +0 -80
- data/acceptance/fips/.kitchen/logs/kitchen.log +0 -4
- data/tasks/changelog.rb +0 -37
- data/tasks/version.rb +0 -41
@@ -0,0 +1,81 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
3
|
+
# Copyright:: Copyright (c) 2017, Chef Software Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require "chef/resource"
|
20
|
+
require "chef/dsl/declare_resource"
|
21
|
+
require "chef/mixin/which"
|
22
|
+
require "chef/provider/noop"
|
23
|
+
require "shellwords"
|
24
|
+
|
25
|
+
class Chef
|
26
|
+
class Provider
|
27
|
+
class ZypperRepository < Chef::Provider
|
28
|
+
|
29
|
+
extend Chef::Mixin::Which
|
30
|
+
|
31
|
+
provides :zypper_repository do
|
32
|
+
which "zypper"
|
33
|
+
end
|
34
|
+
|
35
|
+
def load_current_resource
|
36
|
+
end
|
37
|
+
|
38
|
+
action :create do
|
39
|
+
declare_resource(:template, "/etc/zypp/repos.d/#{escaped_repo_name}.repo") do
|
40
|
+
if template_available?(new_resource.source)
|
41
|
+
source new_resource.source
|
42
|
+
else
|
43
|
+
source ::File.expand_path("../support/zypper_repo.erb", __FILE__)
|
44
|
+
local true
|
45
|
+
end
|
46
|
+
sensitive new_resource.sensitive
|
47
|
+
variables(config: new_resource)
|
48
|
+
mode new_resource.mode
|
49
|
+
notifies :refresh, new_resource, :immediately if new_resource.refresh_cache
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
action :delete do
|
54
|
+
declare_resource(:execute, "zypper removerepo #{escaped_repo_name}") do
|
55
|
+
only_if "zypper lr #{escaped_repo_name}"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
action :refresh do
|
60
|
+
declare_resource(:execute, "zypper refresh #{escaped_repo_name}") do
|
61
|
+
only_if "zypper lr #{escaped_repo_name}"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
alias_method :action_add, :action_create
|
66
|
+
alias_method :action_remove, :action_delete
|
67
|
+
|
68
|
+
# zypper repos are allowed to have spaces in the names
|
69
|
+
def escaped_repo_name
|
70
|
+
Shellwords.escape(new_resource.repo_name)
|
71
|
+
end
|
72
|
+
|
73
|
+
def template_available?(path)
|
74
|
+
!path.nil? && run_context.has_template_in_cookbook?(new_resource.cookbook_name, path)
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
Chef::Provider::Noop.provides :zypper_repository
|
data/lib/chef/providers.rb
CHANGED
@@ -17,6 +17,7 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "chef/provider/apt_update"
|
20
|
+
require "chef/provider/apt_preference"
|
20
21
|
require "chef/provider/apt_repository"
|
21
22
|
require "chef/provider/batch"
|
22
23
|
require "chef/provider/cookbook_file"
|
@@ -59,6 +60,7 @@ require "chef/provider/user"
|
|
59
60
|
require "chef/provider/whyrun_safe_ruby_block"
|
60
61
|
require "chef/provider/yum_repository"
|
61
62
|
require "chef/provider/windows_task"
|
63
|
+
require "chef/provider/zypper_repository"
|
62
64
|
|
63
65
|
require "chef/provider/env/windows"
|
64
66
|
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
3
|
+
# Copyright:: 2016-2017, Chef Software, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require "chef/resource"
|
20
|
+
|
21
|
+
class Chef
|
22
|
+
class Resource
|
23
|
+
class AptPreference < Chef::Resource
|
24
|
+
resource_name :apt_preference
|
25
|
+
provides :apt_preference
|
26
|
+
|
27
|
+
property :package_name, String, name_property: true, regex: [/^([a-z]|[A-Z]|[0-9]|_|-|\.|\*|\+)+$/]
|
28
|
+
property :glob, String
|
29
|
+
property :pin, String, required: true
|
30
|
+
property :pin_priority, [String, Integer], required: true
|
31
|
+
|
32
|
+
default_action :add
|
33
|
+
allowed_actions :add, :remove
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -132,6 +132,8 @@ class Chef
|
|
132
132
|
|
133
133
|
property :sensitive, [ TrueClass, FalseClass ], default: false, coerce: proc { |x| password ? true : x }
|
134
134
|
|
135
|
+
property :elevated, [ TrueClass, FalseClass ], default: false
|
136
|
+
|
135
137
|
def self.set_guard_inherited_attributes(*inherited_attributes)
|
136
138
|
@class_inherited_attributes = inherited_attributes
|
137
139
|
end
|
@@ -149,21 +151,29 @@ class Chef
|
|
149
151
|
end
|
150
152
|
|
151
153
|
def after_created
|
152
|
-
validate_identity_platform(user, password, domain)
|
154
|
+
validate_identity_platform(user, password, domain, elevated)
|
153
155
|
identity = qualify_user(user, password, domain)
|
154
156
|
domain(identity[:domain])
|
155
157
|
user(identity[:user])
|
156
158
|
end
|
157
159
|
|
158
|
-
def validate_identity_platform(specified_user, password = nil, specified_domain = nil)
|
160
|
+
def validate_identity_platform(specified_user, password = nil, specified_domain = nil, elevated = false)
|
159
161
|
if node[:platform_family] == "windows"
|
160
162
|
if specified_user && password.nil?
|
161
163
|
raise ArgumentError, "A value for `password` must be specified when a value for `user` is specified on the Windows platform"
|
162
164
|
end
|
165
|
+
|
166
|
+
if elevated && !specified_user && !password
|
167
|
+
raise ArgumentError, "`elevated` option should be passed only with `username` and `password`."
|
168
|
+
end
|
163
169
|
else
|
164
170
|
if password || specified_domain
|
165
171
|
raise Exceptions::UnsupportedPlatform, "Values for `domain` and `password` are only supported on the Windows platform"
|
166
172
|
end
|
173
|
+
|
174
|
+
if elevated
|
175
|
+
raise Exceptions::UnsupportedPlatform, "Value for `elevated` is only supported on the Windows platform"
|
176
|
+
end
|
167
177
|
end
|
168
178
|
end
|
169
179
|
|
@@ -0,0 +1,51 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
3
|
+
# Copyright:: Copyright (c) 2017 Chef Software, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require "chef/resource"
|
20
|
+
|
21
|
+
class Chef
|
22
|
+
class Resource
|
23
|
+
class ZypperRepository < Chef::Resource
|
24
|
+
resource_name :zypper_repository
|
25
|
+
provides :zypper_repo
|
26
|
+
|
27
|
+
property :repo_name, String, name_property: true
|
28
|
+
property :description, String
|
29
|
+
property :type, String, default: "NONE"
|
30
|
+
property :enabled, [true, false], default: true
|
31
|
+
property :autorefresh, [true, false], default: true
|
32
|
+
property :gpgcheck, [true, false], default: true
|
33
|
+
property :gpgkey, String
|
34
|
+
property :baseurl, String
|
35
|
+
property :mirrorlist, String
|
36
|
+
property :path, String
|
37
|
+
property :priority, Integer, default: 99
|
38
|
+
property :keeppackages, [true, false], default: false
|
39
|
+
property :mode, default: "0644"
|
40
|
+
property :refresh_cache, [true, false], default: true
|
41
|
+
property :source, String, regex: /.*/
|
42
|
+
|
43
|
+
default_action :create
|
44
|
+
allowed_actions :create, :remove, :add, :refresh
|
45
|
+
|
46
|
+
# provide compatibility with the zypper cookbook
|
47
|
+
alias_method :key, :gpgkey
|
48
|
+
alias_method :uri, :baseurl
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/lib/chef/resources.rb
CHANGED
@@ -17,6 +17,7 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "chef/resource/apt_package"
|
20
|
+
require "chef/resource/apt_preference"
|
20
21
|
require "chef/resource/apt_repository"
|
21
22
|
require "chef/resource/apt_update"
|
22
23
|
require "chef/resource/bash"
|
@@ -95,6 +96,7 @@ require "chef/resource/yum_repository"
|
|
95
96
|
require "chef/resource/lwrp_base"
|
96
97
|
require "chef/resource/bff_package"
|
97
98
|
require "chef/resource/zypper_package"
|
99
|
+
require "chef/resource/zypper_repository"
|
98
100
|
require "chef/resource/cab_package"
|
99
101
|
require "chef/resource/powershell_package"
|
100
102
|
require "chef/resource/msu_package"
|
data/lib/chef/search/query.rb
CHANGED
@@ -71,6 +71,11 @@ class Chef
|
|
71
71
|
args_h = args_h.reject { |k, v| k == :fuzz }
|
72
72
|
end
|
73
73
|
|
74
|
+
# Set default rows parameter to 1000. This is the default in
|
75
|
+
# Chef Server, but we set it explicitly here so that we can
|
76
|
+
# confidently advance our start parameter.
|
77
|
+
args_h[:rows] ||= 1000
|
78
|
+
|
74
79
|
response = call_rest_service(type, query: query, **args_h)
|
75
80
|
|
76
81
|
if block
|
@@ -87,7 +92,7 @@ class Chef
|
|
87
92
|
# args_h[:rows] to avoid asking the search backend for
|
88
93
|
# overlapping pages (which could result in duplicates).
|
89
94
|
#
|
90
|
-
next_start = response["start"] +
|
95
|
+
next_start = response["start"] + args_h[:rows]
|
91
96
|
unless next_start >= response["total"]
|
92
97
|
args_h[:start] = next_start
|
93
98
|
search(type, query, args_h, &block)
|
@@ -26,15 +26,34 @@ class Chef
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def min_server_version
|
29
|
-
|
29
|
+
# If we're working with a pre-api-versioning server, always claim to be zero
|
30
|
+
if @versions.nil?
|
31
|
+
unversioned? ? 0 : nil
|
32
|
+
else
|
33
|
+
Integer(@versions["min_version"])
|
34
|
+
end
|
30
35
|
end
|
31
36
|
|
32
37
|
def max_server_version
|
33
|
-
|
38
|
+
# If we're working with a pre-api-versioning server, always claim to be zero
|
39
|
+
if @versions.nil?
|
40
|
+
unversioned? ? 0 : nil
|
41
|
+
else
|
42
|
+
Integer(@versions["max_version"])
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def unversioned!
|
47
|
+
@unversioned = true
|
48
|
+
end
|
49
|
+
|
50
|
+
def unversioned?
|
51
|
+
@unversioned
|
34
52
|
end
|
35
53
|
|
36
54
|
def reset!
|
37
55
|
@versions = nil
|
56
|
+
@unversioned = false
|
38
57
|
end
|
39
58
|
end
|
40
59
|
end
|
data/lib/chef/version.rb
CHANGED
@@ -14,16 +14,15 @@
|
|
14
14
|
# limitations under the License.
|
15
15
|
|
16
16
|
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
17
|
-
# NOTE: This file is
|
18
|
-
#
|
19
|
-
# task instead.
|
17
|
+
# NOTE: This file is modified via the `.expeditor/update_version.sh` script, which
|
18
|
+
# is triggered automatically by Chef Expeditor when a Pull Request is merged.
|
20
19
|
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
21
20
|
|
22
21
|
require "chef/version_string"
|
23
22
|
|
24
23
|
class Chef
|
25
24
|
CHEF_ROOT = File.expand_path("../..", __FILE__)
|
26
|
-
VERSION = Chef::VersionString.new("13.
|
25
|
+
VERSION = Chef::VersionString.new("13.3.42")
|
27
26
|
end
|
28
27
|
|
29
28
|
#
|
data/lib/chef/win32/api/file.rb
CHANGED
data/lib/chef/win32/file.rb
CHANGED
@@ -22,6 +22,7 @@ require "chef/win32/api/file"
|
|
22
22
|
require "chef/win32/api/security"
|
23
23
|
require "chef/win32/error"
|
24
24
|
require "chef/win32/unicode"
|
25
|
+
require "chef/win32/version"
|
25
26
|
|
26
27
|
class Chef
|
27
28
|
module ReservedNames::Win32
|
@@ -60,6 +61,7 @@ class Chef
|
|
60
61
|
# TODO do a check for CreateSymbolicLinkW and
|
61
62
|
# raise NotImplemented exception on older Windows
|
62
63
|
flags = ::File.directory?(old_name) ? SYMBOLIC_LINK_FLAG_DIRECTORY : 0
|
64
|
+
flags |= SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE if Chef::ReservedNames::Win32::Version.new.win_10_creators_or_higher?
|
63
65
|
old_name = encode_path(old_name)
|
64
66
|
new_name = encode_path(new_name)
|
65
67
|
unless CreateSymbolicLinkW(new_name, old_name, flags)
|
data/lib/chef/win32/version.rb
CHANGED
@@ -30,6 +30,8 @@ class Chef
|
|
30
30
|
include Chef::ReservedNames::Win32::API::Macros
|
31
31
|
include Chef::ReservedNames::Win32::API::System
|
32
32
|
|
33
|
+
attr_reader :major_version, :minor_version, :build_number
|
34
|
+
|
33
35
|
# Ruby implementation of
|
34
36
|
# http://msdn.microsoft.com/en-us/library/ms724833(v=vs.85).aspx
|
35
37
|
# http://msdn.microsoft.com/en-us/library/ms724358(v=vs.85).aspx
|
@@ -114,6 +116,10 @@ class Chef
|
|
114
116
|
end
|
115
117
|
end
|
116
118
|
|
119
|
+
def win_10_creators_or_higher?
|
120
|
+
windows_10? && build_number >= 15063
|
121
|
+
end
|
122
|
+
|
117
123
|
private
|
118
124
|
|
119
125
|
def get_version
|
@@ -304,7 +304,7 @@ describe Chef::Knife::Ssh do
|
|
304
304
|
Chef::Config[:client_key] = nil
|
305
305
|
Chef::Config[:chef_server_url] = "http://localhost:9000"
|
306
306
|
|
307
|
-
@api.post("/search/node?q=*:*&start=0", 200) do
|
307
|
+
@api.post("/search/node?q=*:*&start=0&rows=1000", 200) do
|
308
308
|
%({"total":1, "start":0, "rows":[{"data": {"fqdn":"the.fqdn", "config": "the_public_hostname", "knife_config": "the_public_hostname" }}]})
|
309
309
|
end
|
310
310
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Serdar Sutay (<serdar@chef.io>)
|
3
|
-
# Copyright:: Copyright 2014-
|
3
|
+
# Copyright:: Copyright 2014-2017, 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");
|
@@ -51,7 +51,7 @@ describe Chef::Resource::Execute do
|
|
51
51
|
|
52
52
|
# why_run mode doesn't disable the updated_by_last_action logic, so we really have to look at the provider action
|
53
53
|
# to see if why_run correctly disabled the resource. It should shell_out! for the guard but not the resource.
|
54
|
-
expect_any_instance_of(Chef::Provider::Execute).to receive(:
|
54
|
+
expect_any_instance_of(Chef::Provider::Execute).to receive(:shell_out_with_systems_locale!).once
|
55
55
|
|
56
56
|
resource.only_if guard
|
57
57
|
resource.run_action(:run)
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Adam Jacob (<adam@chef.io>)
|
3
|
-
# Copyright:: Copyright 2008-
|
3
|
+
# Copyright:: Copyright 2008-2017, 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");
|
@@ -30,6 +30,8 @@ $:.unshift File.expand_path("../..", __FILE__)
|
|
30
30
|
require "rubygems"
|
31
31
|
require "rspec/mocks"
|
32
32
|
|
33
|
+
require "webmock/rspec"
|
34
|
+
|
33
35
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
34
36
|
$:.unshift(File.expand_path("../lib", __FILE__))
|
35
37
|
$:.unshift(File.dirname(__FILE__))
|
@@ -215,6 +217,11 @@ RSpec.configure do |config|
|
|
215
217
|
config.run_all_when_everything_filtered = true
|
216
218
|
|
217
219
|
config.before(:each) do
|
220
|
+
# it'd be nice to run this with connections blocked or only to localhost, but we do make lots
|
221
|
+
# of real connections, so cannot. we reset it to allow connections every time to avoid
|
222
|
+
# tests setting connections to be disabled and that state leaking into other tests.
|
223
|
+
WebMock.allow_net_connect!
|
224
|
+
|
218
225
|
Chef.reset!
|
219
226
|
|
220
227
|
Chef::ChefFS::FileSystemCache.instance.reset!
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Adam Jacob (<adam@chef.io>)
|
3
3
|
# Author:: Seth Falcon (<seth@chef.io>)
|
4
|
-
# Copyright:: Copyright 2008-
|
4
|
+
# Copyright:: Copyright 2008-2017, Chef Software Inc.
|
5
5
|
# License:: Apache License, Version 2.0
|
6
6
|
#
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -98,11 +98,11 @@ describe Chef::Cookbook::Metadata do
|
|
98
98
|
end
|
99
99
|
|
100
100
|
it "has an empty maintainer field" do
|
101
|
-
expect(metadata.maintainer).to eq(
|
101
|
+
expect(metadata.maintainer).to eq("")
|
102
102
|
end
|
103
103
|
|
104
104
|
it "has an empty maintainer_email field" do
|
105
|
-
expect(metadata.
|
105
|
+
expect(metadata.maintainer_email).to eq("")
|
106
106
|
end
|
107
107
|
|
108
108
|
it "has an empty platforms list" do
|