在 vagrant 上设置 chef-client 时遇到问题

在 vagrant 上设置 chef-client 时遇到问题

我一直在使用 opscode chef 进行远程配置,我想在本地测试我的 chef 脚本,因此我开始着手设置一个 vagrant box。但是,我似乎无法让我的 vagrant box 注册。我收到如下列出的错误:https://gist.github.com/2961246

我的 Vagrantfile 如下所示:

Vagrant::Config.run do |config|
  config.vm.box = "lucid32"

  config.vm.forward_port 80, 8080

  config.vm.provision :chef_client do |chef|
   chef.chef_server_url = "https://api.opscode.com/organizations/pinedesk"
   chef.validation_key_path = ".chef/pinedesk-validator.pem"
   chef.validation_client_name = "pinedesk-validator"
   chef.node_name = "vagrant"
   chef.provisioning_path = "/etc/chef"
   chef.log_level = :debug

   chef.add_role "base"
  end
end

我的 .chef 文件夹中有这些:

dsummersl.pem
knife.rb
pinedesk-validator.pem
vagrant.pem

Chef 似乎注册了一个新客户端,然后在创建节点时收到 HTTP 401。有什么提示吗?

答案1

看来您正在尝试使用已经存在的名称来注册新客户。

如果你运行,knife client list你会看到一个与你的 vagrant vm 主机名匹配的客户端名称

假设主机名是“vagrant”,您可以运行以下命令:

for foo in client node ; do knife $foo delete vagrant -y ; done

然后运行vagrant upvagrant provision

你可能希望在每次vagrant destroy

相关内容