Назад | Перейти на главную страницу

Проблема с настройкой chef-client на бродяге

Я использую opscode chef для удаленной настройки, и я хотел протестировать свои сценарии Chef локально, поэтому я начал работать над настройкой 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 при создании узла. Есть указатели?

Похоже, вы пытаетесь зарегистрировать нового клиента с уже существующим именем.

Если ты бежишь knife client list вы должны увидеть имя клиента, которое соответствует имени хоста вашего vagrant vm

Предполагая, что имя хоста - vagrant, вы можете запустить это:

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

затем беги vagrant up или vagrant provision

Вероятно, вы захотите удалить клиента и узел после каждого vagrant destroy