summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2018-01-02 14:49:22 -0800
committerTim Smith <tsmith@chef.io>2018-01-02 14:49:22 -0800
commite236fe20f404015239b7ac530c5538020002fe6c (patch)
tree87d6b2ca69b5a4861a1d44ae781e03b5ab012888
parent4440d9f7d0dbeecd0d505291636326acb7ad1d5b (diff)
downloadchef-remove_knife_osc.tar.gz
Remove knife user support for Open Source Chef Server 11remove_knife_osc
OSC Chef Server 11 is no longer supported and this was marked as deprecated in Chef 13.7. Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r--lib/chef/knife/osc_user_create.rb97
-rw-r--r--lib/chef/knife/osc_user_delete.rb51
-rw-r--r--lib/chef/knife/osc_user_edit.rb58
-rw-r--r--lib/chef/knife/osc_user_list.rb47
-rw-r--r--lib/chef/knife/osc_user_reregister.rb64
-rw-r--r--lib/chef/knife/osc_user_show.rb53
-rw-r--r--lib/chef/knife/user_create.rb112
-rw-r--r--lib/chef/knife/user_delete.rb56
-rw-r--r--lib/chef/knife/user_edit.rb46
-rw-r--r--lib/chef/knife/user_reregister.rb49
-rw-r--r--lib/chef/knife/user_show.rb35
-rw-r--r--spec/unit/knife/user_create_spec.rb19
-rw-r--r--spec/unit/knife/user_delete_spec.rb18
-rw-r--r--spec/unit/knife/user_edit_spec.rb18
-rw-r--r--spec/unit/knife/user_reregister_spec.rb18
-rw-r--r--spec/unit/knife/user_show_spec.rb19
16 files changed, 55 insertions, 705 deletions
diff --git a/lib/chef/knife/osc_user_create.rb b/lib/chef/knife/osc_user_create.rb
deleted file mode 100644
index 74b50a4ef4..0000000000
--- a/lib/chef/knife/osc_user_create.rb
+++ /dev/null
@@ -1,97 +0,0 @@
-#
-# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2012-2016, Chef Software Inc.
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-require "chef/knife"
-
-# DEPRECATION NOTE
-# This code only remains to support users still operating with
-# Open Source Chef Server 11 and should be removed once support
-# for OSC 11 ends. New development should occur in user_create.rb.
-class Chef
- class Knife
- class OscUserCreate < Knife
-
- deps do
- require "chef/user"
- require "chef/json_compat"
- end
-
- option :file,
- :short => "-f FILE",
- :long => "--file FILE",
- :description => "Write the private key to a file"
-
- option :admin,
- :short => "-a",
- :long => "--admin",
- :description => "Create the user as an admin",
- :boolean => true
-
- option :user_password,
- :short => "-p PASSWORD",
- :long => "--password PASSWORD",
- :description => "Password for newly created user",
- :default => ""
-
- option :user_key,
- :long => "--user-key FILENAME",
- :description => "Public key for newly created user. By default a key will be created for you."
-
- banner "knife osc_user create USER (options)"
-
- def run
- @user_name = @name_args[0]
-
- if @user_name.nil?
- show_usage
- ui.fatal("You must specify a user name")
- exit 1
- end
-
- if config[:user_password].length == 0
- show_usage
- ui.fatal("You must specify a non-blank password")
- exit 1
- end
-
- user = Chef::User.new
- user.name(@user_name)
- user.admin(config[:admin])
- user.password config[:user_password]
-
- if config[:user_key]
- user.public_key File.read(File.expand_path(config[:user_key]))
- end
-
- output = edit_hash(user)
- user = Chef::User.from_hash(output).create
-
- ui.info("Created #{user}")
- if user.private_key
- if config[:file]
- File.open(config[:file], "w") do |f|
- f.print(user.private_key)
- end
- else
- ui.msg user.private_key
- end
- end
- end
- end
- end
-end
diff --git a/lib/chef/knife/osc_user_delete.rb b/lib/chef/knife/osc_user_delete.rb
deleted file mode 100644
index 51abc1c668..0000000000
--- a/lib/chef/knife/osc_user_delete.rb
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2012-2016, Chef Software Inc.
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-require "chef/knife"
-
-# DEPRECATION NOTE
-# This code only remains to support users still operating with
-# Open Source Chef Server 11 and should be removed once support
-# for OSC 11 ends. New development should occur in the user_delete.rb.
-
-class Chef
- class Knife
- class OscUserDelete < Knife
-
- deps do
- require "chef/user"
- require "chef/json_compat"
- end
-
- banner "knife osc_user delete USER (options)"
-
- def run
- @user_name = @name_args[0]
-
- if @user_name.nil?
- show_usage
- ui.fatal("You must specify a user name")
- exit 1
- end
-
- delete_object(Chef::User, @user_name)
- end
-
- end
- end
-end
diff --git a/lib/chef/knife/osc_user_edit.rb b/lib/chef/knife/osc_user_edit.rb
deleted file mode 100644
index 89986c6f04..0000000000
--- a/lib/chef/knife/osc_user_edit.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2012-2016, Chef Software Inc.
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-require "chef/knife"
-
-# DEPRECATION NOTE
-# This code only remains to support users still operating with
-# Open Source Chef Server 11 and should be removed once support
-# for OSC 11 ends. New development should occur in user_edit.rb.
-
-class Chef
- class Knife
- class OscUserEdit < Knife
-
- deps do
- require "chef/user"
- require "chef/json_compat"
- end
-
- banner "knife osc_user edit USER (options)"
-
- def run
- @user_name = @name_args[0]
-
- if @user_name.nil?
- show_usage
- ui.fatal("You must specify a user name")
- exit 1
- end
-
- original_user = Chef::User.load(@user_name).to_hash
- edited_user = edit_hash(original_user)
- if original_user != edited_user
- user = Chef::User.from_hash(edited_user)
- user.update
- ui.msg("Saved #{user}.")
- else
- ui.msg("User unchanged, not saving.")
- end
- end
- end
- end
-end
diff --git a/lib/chef/knife/osc_user_list.rb b/lib/chef/knife/osc_user_list.rb
deleted file mode 100644
index f1002c4f54..0000000000
--- a/lib/chef/knife/osc_user_list.rb
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2012-2016, Chef Software Inc.
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-require "chef/knife"
-
-# DEPRECATION NOTE
-# This code only remains to support users still operating with
-# Open Source Chef Server 11 and should be removed once support
-# for OSC 11 ends. New development should occur in user_list.rb.
-
-class Chef
- class Knife
- class OscUserList < Knife
-
- deps do
- require "chef/user"
- require "chef/json_compat"
- end
-
- banner "knife osc_user list (options)"
-
- option :with_uri,
- :short => "-w",
- :long => "--with-uri",
- :description => "Show corresponding URIs"
-
- def run
- output(format_list_for_display(Chef::User.list))
- end
- end
- end
-end
diff --git a/lib/chef/knife/osc_user_reregister.rb b/lib/chef/knife/osc_user_reregister.rb
deleted file mode 100644
index b513f31328..0000000000
--- a/lib/chef/knife/osc_user_reregister.rb
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2012-2016, Chef Software Inc.
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-require "chef/knife"
-
-# DEPRECATION NOTE
-# This code only remains to support users still operating with
-# Open Source Chef Server 11 and should be removed once support
-# for OSC 11 ends. New development should occur in user_reregister.rb.
-
-class Chef
- class Knife
- class OscUserReregister < Knife
-
- deps do
- require "chef/user"
- require "chef/json_compat"
- end
-
- banner "knife osc_user reregister USER (options)"
-
- option :file,
- :short => "-f FILE",
- :long => "--file FILE",
- :description => "Write the private key to a file"
-
- def run
- @user_name = @name_args[0]
-
- if @user_name.nil?
- show_usage
- ui.fatal("You must specify a user name")
- exit 1
- end
-
- user = Chef::User.load(@user_name).reregister
- Chef::Log.debug("Updated user data: #{user.inspect}")
- key = user.private_key
- if config[:file]
- File.open(config[:file], "w") do |f|
- f.print(key)
- end
- else
- ui.msg key
- end
- end
- end
- end
-end
diff --git a/lib/chef/knife/osc_user_show.rb b/lib/chef/knife/osc_user_show.rb
deleted file mode 100644
index 5350837ad3..0000000000
--- a/lib/chef/knife/osc_user_show.rb
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2009-2016, Chef Software Inc.
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-require "chef/knife"
-
-# DEPRECATION NOTE
-# This code only remains to support users still operating with
-# Open Source Chef Server 11 and should be removed once support
-# for OSC 11 ends. New development should occur in user_show.rb.
-
-class Chef
- class Knife
- class OscUserShow < Knife
-
- include Knife::Core::MultiAttributeReturnOption
-
- deps do
- require "chef/user"
- require "chef/json_compat"
- end
-
- banner "knife osc_user show USER (options)"
-
- def run
- @user_name = @name_args[0]
-
- if @user_name.nil?
- show_usage
- ui.fatal("You must specify a user name")
- exit 1
- end
-
- user = Chef::User.load(@user_name)
- output(format_for_display(user))
- end
- end
- end
-end
diff --git a/lib/chef/knife/user_create.rb b/lib/chef/knife/user_create.rb
index 581ecfd792..e1d4d21e72 100644
--- a/lib/chef/knife/user_create.rb
+++ b/lib/chef/knife/user_create.rb
@@ -1,7 +1,7 @@
#
# Author:: Steven Danna (<steve@chef.io>)
# Author:: Tyler Cloke (<tyler@chef.io>)
-# Copyright:: Copyright 2012-2016, Chef Software, Inc.
+# Copyright:: Copyright 2012-2018 Chef Software, Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,7 +18,6 @@
#
require "chef/knife"
-require "chef/knife/osc_user_create"
class Chef
class Knife
@@ -46,18 +45,6 @@ class Chef
:description => "API V1 (Chef Server 12.1+) only. Prevent server from generating a default key pair for you. Cannot be passed with --user-key.",
:boolean => true
- option :admin,
- :short => "-a",
- :long => "--admin",
- :description => "DEPRECATED: Open Source Chef 11 only. Create the user as an admin.",
- :boolean => true
-
- option :user_password,
- :short => "-p PASSWORD",
- :long => "--password PASSWORD",
- :description => "DEPRECATED: Open Source Chef 11 only. Password for newly created user.",
- :default => ""
-
banner "knife user create USERNAME DISPLAY_NAME FIRST_NAME LAST_NAME EMAIL PASSWORD (options)"
def user
@@ -68,82 +55,51 @@ class Chef
Chef::UserV1.from_hash(hash).create
end
- def osc_11_warning
- <<-EOF
-IF YOU ARE USING CHEF SERVER 12+, PLEASE FOLLOW THE INSTRUCTIONS UNDER knife user create --help.
-You only passed a single argument to knife user create.
-For backwards compatibility, when only a single argument is passed,
-knife user create assumes you want Open Source 11 Server user creation.
-knife user create for Open Source 11 Server is being deprecated.
-Open Source 11 Server user commands now live under the knife osc_user namespace.
-For backwards compatibility, we will forward this request to knife osc_user create.
-If you are using an Open Source 11 Server, please use that command to avoid this warning.
-NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed
-in Chef 14 which will be released April 2018.
-EOF
- end
-
- def run_osc_11_user_create
- # run osc_user_create with our input
- ARGV.delete("user")
- ARGV.unshift("osc_user")
- Chef::Knife.run(ARGV, Chef::Application::Knife.options)
- end
-
def run
- # DEPRECATION NOTE
- # Remove this if statement and corrosponding code post OSC 11 support.
- #
- # If only 1 arg is passed, assume OSC 11 case.
- if @name_args.length == 1
- ui.warn(osc_11_warning)
- run_osc_11_user_create
- else # EC / CS 12 user create
+ puts @name_args
+ test_mandatory_field(@name_args[0], "username")
+ user.username @name_args[0]
- test_mandatory_field(@name_args[0], "username")
- user.username @name_args[0]
+ test_mandatory_field(@name_args[1], "display name")
+ user.display_name @name_args[1]
- test_mandatory_field(@name_args[1], "display name")
- user.display_name @name_args[1]
+ test_mandatory_field(@name_args[2], "first name")
+ user.first_name @name_args[2]
- test_mandatory_field(@name_args[2], "first name")
- user.first_name @name_args[2]
+ test_mandatory_field(@name_args[3], "last name")
+ user.last_name @name_args[3]
- test_mandatory_field(@name_args[3], "last name")
- user.last_name @name_args[3]
+ test_mandatory_field(@name_args[4], "email")
+ user.email @name_args[4]
- test_mandatory_field(@name_args[4], "email")
- user.email @name_args[4]
+ test_mandatory_field(@name_args[5], "password")
+ user.password @name_args[5]
- test_mandatory_field(@name_args[5], "password")
- user.password @name_args[5]
+ if config[:user_key] && config[:prevent_keygen]
+ show_usage
+ ui.fatal("You cannot pass --user-key and --prevent-keygen")
+ exit 1
+ end
- if config[:user_key] && config[:prevent_keygen]
- show_usage
- ui.fatal("You cannot pass --user-key and --prevent-keygen")
- exit 1
- end
+ if !config[:prevent_keygen] && !config[:user_key]
+ user.create_key(true)
+ end
- if !config[:prevent_keygen] && !config[:user_key]
- user.create_key(true)
- end
+ if config[:user_key]
+ user.public_key File.read(File.expand_path(config[:user_key]))
+ end
- if config[:user_key]
- user.public_key File.read(File.expand_path(config[:user_key]))
- end
+ output = edit_hash(user)
+ final_user = create_user_from_hash(output)
- output = edit_hash(user)
- final_user = create_user_from_hash(output)
-
- ui.info("Created #{user}")
- if final_user.private_key
- if config[:file]
- File.open(config[:file], "w") do |f|
- f.print(final_user.private_key)
- end
- else
- ui.msg final_user.private_key
+ ui.info("Created #{user}")
+ if final_user.private_key
+ if config[:file]
+ File.open(config[:file], "w") do |f|
+ f.print(final_user.private_key)
end
+ else
+ ui.msg final_user.private_key
end
end
end
diff --git a/lib/chef/knife/user_delete.rb b/lib/chef/knife/user_delete.rb
index 5e4257deda..9321ffa8ad 100644
--- a/lib/chef/knife/user_delete.rb
+++ b/lib/chef/knife/user_delete.rb
@@ -1,6 +1,6 @@
#
# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2012-2016, Chef Software Inc.
+# Copyright:: Copyright 2012-2018, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -29,42 +29,6 @@ class Chef
banner "knife user delete USER (options)"
- def osc_11_warning
- <<-EOF
-The Chef Server you are using does not support the username field.
-This means it is an Open Source 11 Server.
-knife user delete for Open Source 11 Server is being deprecated.
-Open Source 11 Server user commands now live under the knife osc_user namespace.
-For backwards compatibility, we will forward this request to knife osc_user delete.
-If you are using an Open Source 11 Server, please use that command to avoid this warning.
-NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed
-in Chef 14 which will be released April 2018.
-EOF
- end
-
- def run_osc_11_user_delete
- # run osc_user_delete with our input
- ARGV.delete("user")
- ARGV.unshift("osc_user")
- Chef::Knife.run(ARGV, Chef::Application::Knife.options)
- end
-
- # DEPRECATION NOTE
- # Delete this override method after OSC 11 support is dropped
- def delete_object(user_name)
- confirm("Do you really want to delete #{user_name}")
-
- if Kernel.block_given?
- object = block.call
- else
- object = Chef::UserV1.load(user_name)
- object.destroy
- end
-
- output(format_for_display(object)) if config[:print_after]
- msg("Deleted #{user_name}")
- end
-
def run
@user_name = @name_args[0]
@@ -74,23 +38,7 @@ EOF
exit 1
end
- # DEPRECATION NOTE
- #
- # Below is modification of Chef::Knife.delete_object to detect OSC 11 server.
- # When OSC 11 is deprecated, simply delete all this and go back to:
- #
- # delete_object(Chef::UserV1, @user_name)
- #
- # Also delete our override of delete_object above
- object = Chef::UserV1.load(@user_name)
-
- # OSC 11 case
- if object.username.nil?
- ui.warn(osc_11_warning)
- run_osc_11_user_delete
- else # proceed with EC / CS delete
- delete_object(@user_name)
- end
+ delete_object(Chef::UserV1, @user_name)
end
end
end
diff --git a/lib/chef/knife/user_edit.rb b/lib/chef/knife/user_edit.rb
index c7b1f61fd8..0126a0c98e 100644
--- a/lib/chef/knife/user_edit.rb
+++ b/lib/chef/knife/user_edit.rb
@@ -1,6 +1,6 @@
#
# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2012-2016, Chef Software Inc.
+# Copyright:: Copyright 2012-2018, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -29,26 +29,6 @@ class Chef
banner "knife user edit USER (options)"
- def osc_11_warning
- <<-EOF
-The Chef Server you are using does not support the username field.
-This means it is an Open Source 11 Server.
-knife user edit for Open Source 11 Server is being deprecated.
-Open Source 11 Server user commands now live under the knife oc_user namespace.
-For backwards compatibility, we will forward this request to knife osc_user edit.
-If you are using an Open Source 11 Server, please use that command to avoid this warning.
-NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed
-in Chef 14 which will be released April 2018.
-EOF
- end
-
- def run_osc_11_user_edit
- # run osc_user_create with our input
- ARGV.delete("user")
- ARGV.unshift("osc_user")
- Chef::Knife.run(ARGV, Chef::Application::Knife.options)
- end
-
def run
@user_name = @name_args[0]
@@ -59,23 +39,13 @@ EOF
end
original_user = Chef::UserV1.load(@user_name).to_hash
- # DEPRECATION NOTE
- # Remove this if statement and corrosponding code post OSC 11 support.
- #
- # if username is nil, we are in the OSC 11 case,
- # forward to deprecated command
- if original_user["username"].nil?
- ui.warn(osc_11_warning)
- run_osc_11_user_edit
- else # EC / CS 12 user create
- edited_user = edit_hash(original_user)
- if original_user != edited_user
- user = Chef::UserV1.from_hash(edited_user)
- user.update
- ui.msg("Saved #{user}.")
- else
- ui.msg("User unchanged, not saving.")
- end
+ edited_user = edit_hash(original_user)
+ if original_user != edited_user
+ user = Chef::UserV1.from_hash(edited_user)
+ user.update
+ ui.msg("Saved #{user}.")
+ else
+ ui.msg("User unchanged, not saving.")
end
end
end
diff --git a/lib/chef/knife/user_reregister.rb b/lib/chef/knife/user_reregister.rb
index 5f124f8f9f..e68e3023ce 100644
--- a/lib/chef/knife/user_reregister.rb
+++ b/lib/chef/knife/user_reregister.rb
@@ -1,6 +1,6 @@
#
# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2012-2016, Chef Software Inc.
+# Copyright:: Copyright 2012-2018, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -29,26 +29,6 @@ class Chef
banner "knife user reregister USER (options)"
- def osc_11_warning
- <<-EOF
-The Chef Server you are using does not support the username field.
-This means it is an Open Source 11 Server.
-knife user reregister for Open Source 11 Server is being deprecated.
-Open Source 11 Server user commands now live under the knife osc_user namespace.
-For backwards compatibility, we will forward this request to knife osc_user reregister.
-If you are using an Open Source 11 Server, please use that command to avoid this warning.
-NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed
-in Chef 14 which will be released April 2018.
-EOF
- end
-
- def run_osc_11_user_reregister
- # run osc_user_edit with our input
- ARGV.delete("user")
- ARGV.unshift("osc_user")
- Chef::Knife.run(ARGV, Chef::Application::Knife.options)
- end
-
option :file,
:short => "-f FILE",
:long => "--file FILE",
@@ -64,26 +44,15 @@ EOF
end
user = Chef::UserV1.load(@user_name)
-
- # DEPRECATION NOTE
- # Remove this if statement and corrosponding code post OSC 11 support.
- #
- # if username is nil, we are in the OSC 11 case,
- # forward to deprecated command
- if user.username.nil?
- ui.warn(osc_11_warning)
- run_osc_11_user_reregister
- else # EC / CS 12 case
- user.reregister
- Chef::Log.debug("Updated user data: #{user.inspect}")
- key = user.private_key
- if config[:file]
- File.open(config[:file], "w") do |f|
- f.print(key)
- end
- else
- ui.msg key
+ user.reregister
+ Chef::Log.debug("Updated user data: #{user.inspect}")
+ key = user.private_key
+ if config[:file]
+ File.open(config[:file], "w") do |f|
+ f.print(key)
end
+ else
+ ui.msg key
end
end
end
diff --git a/lib/chef/knife/user_show.rb b/lib/chef/knife/user_show.rb
index 9dcb9d1539..b14fddcb37 100644
--- a/lib/chef/knife/user_show.rb
+++ b/lib/chef/knife/user_show.rb
@@ -1,6 +1,6 @@
#
# Author:: Steven Danna (<steve@chef.io>)
-# Copyright:: Copyright 2009-2016, Chef Software Inc.
+# Copyright:: Copyright 2009-2018, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -31,26 +31,6 @@ class Chef
banner "knife user show USER (options)"
- def osc_11_warning
- <<-EOF
-The Chef Server you are using does not support the username field.
-This means it is an Open Source 11 Server.
-knife user show for Open Source 11 Server is being deprecated.
-Open Source 11 Server user commands now live under the knife osc_user namespace.
-For backwards compatibility, we will forward this request to knife osc_user show.
-If you are using an Open Source 11 Server, please use that command to avoid this warning.
-NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed
-in Chef 14 which will be released April 2018.
-EOF
- end
-
- def run_osc_11_user_show
- # run osc_user_edit with our input
- ARGV.delete("user")
- ARGV.unshift("osc_user")
- Chef::Knife.run(ARGV, Chef::Application::Knife.options)
- end
-
def run
@user_name = @name_args[0]
@@ -61,18 +41,7 @@ EOF
end
user = Chef::UserV1.load(@user_name)
-
- # DEPRECATION NOTE
- # Remove this if statement and corrosponding code post OSC 11 support.
- #
- # if username is nil, we are in the OSC 11 case,
- # forward to deprecated command
- if user.username.nil?
- ui.warn(osc_11_warning)
- run_osc_11_user_show
- else
- output(format_for_display(user))
- end
+ output(format_for_display(user))
end
end
diff --git a/spec/unit/knife/user_create_spec.rb b/spec/unit/knife/user_create_spec.rb
index 07d72fd05a..4d938c75d8 100644
--- a/spec/unit/knife/user_create_spec.rb
+++ b/spec/unit/knife/user_create_spec.rb
@@ -38,25 +38,6 @@ describe Chef::Knife::UserCreate do
allow(knife.ui).to receive(:warn)
end
- # delete this once OSC11 support is gone
- context "when only one name_arg is passed" do
- before do
- knife.name_args = ["some_user"]
- allow(knife).to receive(:run_osc_11_user_create).and_raise(SystemExit)
- end
-
- it "displays the osc warning" do
- expect(knife.ui).to receive(:warn).with(knife.osc_11_warning)
- expect { knife.run }.to raise_error(SystemExit)
- end
-
- it "calls knife osc_user create" do
- expect(knife).to receive(:run_osc_11_user_create)
- expect { knife.run }.to raise_error(SystemExit)
- end
-
- end
-
context "when USERNAME isn't specified" do
# from spec/support/shared/unit/knife_shared.rb
it_should_behave_like "mandatory field missing" do
diff --git a/spec/unit/knife/user_delete_spec.rb b/spec/unit/knife/user_delete_spec.rb
index 0f71b39a41..ed83fb8c6b 100644
--- a/spec/unit/knife/user_delete_spec.rb
+++ b/spec/unit/knife/user_delete_spec.rb
@@ -32,24 +32,6 @@ describe Chef::Knife::UserDelete do
allow(knife.ui).to receive(:stdout).and_return(stdout)
end
- # delete this once OSC11 support is gone
- context "when the username field is not supported by the server" do
- before do
- allow(knife).to receive(:run_osc_11_user_delete).and_raise(SystemExit)
- allow(user).to receive(:username).and_return(nil)
- end
-
- it "displays the osc warning" do
- expect(knife.ui).to receive(:warn).with(knife.osc_11_warning)
- expect { knife.run }.to raise_error(SystemExit)
- end
-
- it "forwards the command to knife osc_user edit" do
- expect(knife).to receive(:run_osc_11_user_delete)
- expect { knife.run }.to raise_error(SystemExit)
- end
- end
-
it "deletes the user" do
#expect(knife).to receive(:delete_object).with(Chef::UserV1, 'my_user')
expect(knife).to receive(:delete_object).with("my_user")
diff --git a/spec/unit/knife/user_edit_spec.rb b/spec/unit/knife/user_edit_spec.rb
index 18ade54068..8ebc19de2d 100644
--- a/spec/unit/knife/user_edit_spec.rb
+++ b/spec/unit/knife/user_edit_spec.rb
@@ -32,24 +32,6 @@ describe Chef::Knife::UserEdit do
knife.config[:disable_editing] = true
end
- # delete this once OSC11 support is gone
- context "when the username field is not supported by the server" do
- before do
- allow(knife).to receive(:run_osc_11_user_edit).and_raise(SystemExit)
- allow(Chef::UserV1).to receive(:load).and_return({ "username" => nil })
- end
-
- it "displays the osc warning" do
- expect(knife.ui).to receive(:warn).with(knife.osc_11_warning)
- expect { knife.run }.to raise_error(SystemExit)
- end
-
- it "forwards the command to knife osc_user edit" do
- expect(knife).to receive(:run_osc_11_user_edit)
- expect { knife.run }.to raise_error(SystemExit)
- end
- end
-
it "loads and edits the user" do
data = { "username" => "my_user" }
allow(Chef::UserV1).to receive(:load).with("my_user").and_return(data)
diff --git a/spec/unit/knife/user_reregister_spec.rb b/spec/unit/knife/user_reregister_spec.rb
index d650ff9fb8..9c02f0e9e4 100644
--- a/spec/unit/knife/user_reregister_spec.rb
+++ b/spec/unit/knife/user_reregister_spec.rb
@@ -32,24 +32,6 @@ describe Chef::Knife::UserReregister do
allow(user_mock).to receive(:username).and_return("a_user")
end
- # delete this once OSC11 support is gone
- context "when the username field is not supported by the server" do
- before do
- allow(knife).to receive(:run_osc_11_user_reregister).and_raise(SystemExit)
- allow(user_mock).to receive(:username).and_return(nil)
- end
-
- it "displays the osc warning" do
- expect(knife.ui).to receive(:warn).with(knife.osc_11_warning)
- expect { knife.run }.to raise_error(SystemExit)
- end
-
- it "forwards the command to knife osc_user edit" do
- expect(knife).to receive(:run_osc_11_user_reregister)
- expect { knife.run }.to raise_error(SystemExit)
- end
- end
-
it "prints usage and exits when a user name is not provided" do
knife.name_args = []
expect(knife).to receive(:show_usage)
diff --git a/spec/unit/knife/user_show_spec.rb b/spec/unit/knife/user_show_spec.rb
index 3a38161b34..c15dfed43c 100644
--- a/spec/unit/knife/user_show_spec.rb
+++ b/spec/unit/knife/user_show_spec.rb
@@ -31,25 +31,6 @@ describe Chef::Knife::UserShow do
allow(knife.ui).to receive(:stdout).and_return(stdout)
end
- # delete this once OSC11 support is gone
- context "when the username field is not supported by the server" do
- before do
- allow(knife).to receive(:run_osc_11_user_show).and_raise(SystemExit)
- allow(Chef::UserV1).to receive(:load).with("my_user").and_return(user_mock)
- allow(user_mock).to receive(:username).and_return(nil)
- end
-
- it "displays the osc warning" do
- expect(knife.ui).to receive(:warn).with(knife.osc_11_warning)
- expect { knife.run }.to raise_error(SystemExit)
- end
-
- it "forwards the command to knife osc_user edit" do
- expect(knife).to receive(:run_osc_11_user_show)
- expect { knife.run }.to raise_error(SystemExit)
- end
- end
-
it "loads and displays the user" do
expect(Chef::UserV1).to receive(:load).with("my_user").and_return(user_mock)
expect(knife).to receive(:format_for_display).with(user_mock)