2016-08-31 45 views
0

我刚刚从厨师11升级到最新的12.x.除了必须在配置文件中删除引用redis之外,安装和升级都很顺利。但是:疑难解答厨师服务器ctl红宝石异常

chef-server-ctrl user-create 

... barfs与此错误:

/opt/opscode/embedded/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:128:in `require': cannot load such file -- chef/knife/ec_base (LoadError) 
     from /opt/opscode/embedded/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require' 
     from /opt/opscode/embedded/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:39:in `require' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/knife-ec-backup-2.0.6/lib/chef/knife/ec_backup.rb:2:in `<top (required)>' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/lib/chef/knife/core/subcommand_loader.rb:100:in `load' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/lib/chef/knife/core/subcommand_loader.rb:100:in `block in load_commands' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/lib/chef/knife/core/subcommand_loader.rb:100:in `each' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/lib/chef/knife/core/subcommand_loader.rb:100:in `load_commands' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/lib/chef/knife/core/subcommand_loader.rb:110:in `load_command' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/lib/chef/knife/core/subcommand_loader.rb:124:in `command_class_from' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/lib/chef/knife.rb:153:in `subcommand_class_from' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/lib/chef/knife.rb:214:in `run' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/lib/chef/application/knife.rb:148:in `run' 
     from /opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.19/bin/knife:25:in `<top (required)>' 
     from /opt/opscode/embedded/bin/knife:23:in `load' 
     from /opt/opscode/embedded/bin/knife:23:in `<main>' 

这似乎是一个文件得到了大清洗,不知何故。 ???我无法找到一种方法来验证在升级过程中安装的所有依赖项,或者仅执行依赖项重新安装。什么可能导致这个?

回答

0

事实证明,尝试调试这个问题,当你不知道有多少老版本的Chef在安装中重叠时,这是一个无用的练习。 Chef中的任何内容都不会尝试解决依赖关系,并且升级安装始终假定您希望保留所有旧的,过时的内容。解决方案是进行完整备份,然后删除与Chef相关的所有任何跟踪信息,然后再次安装所有组件,然后按照说明恢复备份。