knife 17.1.40 → 17.3.13
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/Gemfile +0 -5
- data/knife.gemspec +3 -1
- data/lib/chef/knife/configure.rb +1 -1
- data/lib/chef/knife/org_user_add.rb +1 -1
- data/lib/chef/knife/version.rb +1 -1
- data/spec/integration/commands_spec.rb +55 -0
- metadata +5 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c4910d4e2971cca8a2e720337272d4c5b8b547c15a3d921c35b0691b826a3cbd
|
|
4
|
+
data.tar.gz: 4c9f8242f1370ffbf2fe6c68b6a08166a6b07bc88e9e93402383d1c64a81fe6c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4b1fa6278d191d23b017c2a8eb25d171e8002ab596efa84b8bf9fb699aa03c9aa191960878147b6af4c738f208f987387ce5ed2f1e754c5422742df958c1209f
|
|
7
|
+
data.tar.gz: 4d7fb053ed8aedafb48004c291c5d5b78f327d941c1735d8de49352bc2a5a55ab4a1a1d86aa28b5722a07ea34cda0d3f0a09a6e091d680e784bcc85745ee6af8
|
data/Gemfile
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
source "https://rubygems.org"
|
|
2
2
|
|
|
3
|
-
# Note we do not use the gemspec DSL which restricts to the
|
|
4
|
-
# gemspec for the current platform and filters out other platforms
|
|
5
|
-
# during a bundle lock operation. We actually want dependencies from
|
|
6
|
-
# both of our gemspecs. Also note this this mimics gemspec behavior
|
|
7
|
-
# of bundler versions prior to 1.12.0 (https://github.com/bundler/bundler/commit/193a14fe5e0d56294c7b370a0e59f93b2c216eed)
|
|
8
3
|
gem "knife", path: "."
|
|
9
4
|
|
|
10
5
|
group(:development, :test) do
|
data/knife.gemspec
CHANGED
|
@@ -24,12 +24,14 @@ Gem::Specification.new do |s|
|
|
|
24
24
|
s.add_dependency "mixlib-cli", ">= 2.1.1", "< 3.0"
|
|
25
25
|
s.add_dependency "mixlib-archive", ">= 0.4", "< 2.0"
|
|
26
26
|
s.add_dependency "ohai", "~> 17.0"
|
|
27
|
-
s.add_dependency "ffi", ">= 1.
|
|
27
|
+
s.add_dependency "ffi", ">= 1.15" # 1.14 versions are broken on i386 windows
|
|
28
28
|
s.add_dependency "ffi-yajl", "~> 2.2"
|
|
29
29
|
s.add_dependency "net-ssh", ">= 5.1", "< 7"
|
|
30
30
|
s.add_dependency "net-ssh-multi", "~> 1.2", ">= 1.2.1"
|
|
31
31
|
s.add_dependency "ed25519", "~> 1.2" # ed25519 ssh key support
|
|
32
32
|
s.add_dependency "bcrypt_pbkdf", "~> 1.1" # ed25519 ssh key support
|
|
33
|
+
# we can't use this gem until illegal instruction issues are resolved
|
|
34
|
+
# s.add_dependency "x25519" # ed25519 KEX module
|
|
33
35
|
s.add_dependency "highline", ">= 1.6.9", "< 3" # Used in UI to present a list, no other usage.
|
|
34
36
|
|
|
35
37
|
s.add_dependency "tty-prompt", "~> 0.21" # knife ui.ask prompt
|
data/lib/chef/knife/configure.rb
CHANGED
|
@@ -29,7 +29,6 @@ class Chef
|
|
|
29
29
|
require "chef-config/path_helper" unless defined?(ChefConfig::PathHelper)
|
|
30
30
|
require_relative "client_create"
|
|
31
31
|
require_relative "user_create"
|
|
32
|
-
require "ohai" unless defined?(Ohai)
|
|
33
32
|
Chef::Knife::ClientCreate.load_deps
|
|
34
33
|
Chef::Knife::UserCreate.load_deps
|
|
35
34
|
end
|
|
@@ -131,6 +130,7 @@ class Chef
|
|
|
131
130
|
|
|
132
131
|
# @return [String] our best guess at what the servername should be using Ohai data and falling back to localhost
|
|
133
132
|
def guess_servername
|
|
133
|
+
require "ohai" unless defined?(Ohai::System)
|
|
134
134
|
o = Ohai::System.new
|
|
135
135
|
o.all_plugins(%w{ os hostname fqdn })
|
|
136
136
|
o[:fqdn] || o[:machinename] || o[:hostname] || "localhost"
|
data/lib/chef/knife/version.rb
CHANGED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Author:: Marc Pardise (<marc@chef.io>)
|
|
3
|
+
# Copyright:: Copyright (c) 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
|
+
require "chef/knife"
|
|
19
|
+
|
|
20
|
+
Chef::Knife.subcommand_loader.load_commands
|
|
21
|
+
commands = Chef::Knife::SubcommandLoader.generate_hash["_autogenerated_command_paths"]["plugins_paths"].keys
|
|
22
|
+
|
|
23
|
+
# Directly execute each support knife command
|
|
24
|
+
context "Command Sanity Check: executing ", :workstation do
|
|
25
|
+
describe "bundle exec knife" do
|
|
26
|
+
commands.each do |command|
|
|
27
|
+
command_name = command.gsub("_", " ")
|
|
28
|
+
modified_command, expected_result = case command_name
|
|
29
|
+
when /knife/
|
|
30
|
+
# because rspec is the actual executable running, the option parser error message
|
|
31
|
+
# is invalid from within the test.
|
|
32
|
+
next
|
|
33
|
+
when /config (use|get|list) profile.*/
|
|
34
|
+
# hyphenated special cases
|
|
35
|
+
[command_name, /^USAGE: knife config #{$1}-profile.*/]
|
|
36
|
+
when /(role|node|env) (env )?run list(.*)/
|
|
37
|
+
# underscored special cases...
|
|
38
|
+
env_part = $2.nil? ? "" : "env_"
|
|
39
|
+
["#{$1} #{$2}run_list#{$3}", /^USAGE: knife #{$1} #{env_part}run_list#{$3}.*/]
|
|
40
|
+
else
|
|
41
|
+
[ command_name, /^USAGE: knife #{command_name}.*/]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# By using bundle exec knife instead of directly loading the command class or using the knife() helper,
|
|
45
|
+
# we ensure that this is a valid end-to-end test. This operates on the assumption
|
|
46
|
+
# that we continue to require the command class to be fully loaded so that it can handle the parsing of
|
|
47
|
+
# its own options.
|
|
48
|
+
full_command = "#{modified_command} --invalid-option outputs usage for '#{modified_command}' to stdout"
|
|
49
|
+
it full_command do
|
|
50
|
+
result = `bundle exec knife #{full_command}`
|
|
51
|
+
expect(result).to match(expected_result)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: knife
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 17.
|
|
4
|
+
version: 17.3.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adam Jacob
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-06-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: chef-config
|
|
@@ -166,20 +166,14 @@ dependencies:
|
|
|
166
166
|
requirements:
|
|
167
167
|
- - ">="
|
|
168
168
|
- !ruby/object:Gem::Version
|
|
169
|
-
version: 1.
|
|
170
|
-
- - "<"
|
|
171
|
-
- !ruby/object:Gem::Version
|
|
172
|
-
version: 1.14.0
|
|
169
|
+
version: '1.15'
|
|
173
170
|
type: :runtime
|
|
174
171
|
prerelease: false
|
|
175
172
|
version_requirements: !ruby/object:Gem::Requirement
|
|
176
173
|
requirements:
|
|
177
174
|
- - ">="
|
|
178
175
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: 1.
|
|
180
|
-
- - "<"
|
|
181
|
-
- !ruby/object:Gem::Version
|
|
182
|
-
version: 1.14.0
|
|
176
|
+
version: '1.15'
|
|
183
177
|
- !ruby/object:Gem::Dependency
|
|
184
178
|
name: ffi-yajl
|
|
185
179
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -956,6 +950,7 @@ files:
|
|
|
956
950
|
- spec/integration/client_key_show_spec.rb
|
|
957
951
|
- spec/integration/client_list_spec.rb
|
|
958
952
|
- spec/integration/client_show_spec.rb
|
|
953
|
+
- spec/integration/commands_spec.rb
|
|
959
954
|
- spec/integration/common_options_spec.rb
|
|
960
955
|
- spec/integration/config_list_spec.rb
|
|
961
956
|
- spec/integration/config_show_spec.rb
|