knife 17.1.40 → 17.3.13
Sign up to get free protection for your applications and to get access to all the features.
- 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
|