Я использую 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