작업중인 Vagrant 및 Chef-Client 프로비저닝을 사용하려고합니다. vagrant up
을 사용할 때 고유 한 이름을 생성하고 Chef 서버에 인스턴스를 가입시킨 다음 완료되면 노드를 제거 할 수 있기를 원합니다. 나는 이것을 주로 작동한다. Chef Destroy를 실행하면 Chef Server에서 노드가 자동으로 제거되는 문제에 봉착했습니다. 이름을 캐시에 저장하고 나중에 가져 오는 방법을 찾고 vagrant up
의 호스트 이름 구성 만 실행하거나 아직 파악하지 못한 옵션을 찾아야합니다. 다음과 같이Vagrant : 호스트 이름 설정 (Vagrant Up)
내 vagrantfile의 단편이다
Vagrant.configure('2') do |config|
config.vm.box = 'centos/6'
config.vm.hostname = "vagrant-#{SecureRandom.hex(2)}-el6.dev.local"
config.vm.provision 'chef_client' do |chef|
chef.chef_server_url = 'https://chef.dev.local/organizations/foo'
chef.add_role 'build_vm'
chef.node_name = config.vm.hostname
chef.delete_node = true
chef.delete_client = true
end
end
을이 호스트 이름이 vagrant-229b-el6.dev.local
로 설정되어 vagrant up
에서 실행되면하지만 파괴에 vagrant-3a1c-el6.dev.local
을 파괴하려고합니다. 논리적 인 일은 그런 일이 일어나지 않도록 각 실행마다 분명히 config.vm.hostname
행을 실행하는 것입니다. 요리사가 나중에 그것을 제거 할 수 있도록 vagrant up
에 의해 생성 된 호스트 이름을 유지하려면 어떻게해야합니까?
나는 그것이 VM을 생성하고 버추얼 어느 때 방랑에 의해 생성 된'id' 파일에 의존 단지 수 있다고 생각/VM웨어 VM ID 그래서 다른 파일을 유지할 필요가 없습니다. –
오랫동안 방랑제로 일하지 않았습니다. 방랑자가 호스트 이름 자체를 일부 파일에 저장하는 경우 해당 파일을 사용하면 명확한 해결책이됩니다. –
글쎄요, 자세한 내용이 필요합니다 - 아니 호스트 이름 자체를 저장하지 않지만, 방황하는 그것이 만든 VM의 ID ('.vagrant' 폴더에있는 파일의 일부)와 파일을 유지하므로 OP가 vangrant - # {SecureRandom.hex (2)} - el6.dev.local "이 파일이 존재하면 VM이 이미 설정되었고 호스트 이름이 설정되었음을 나타내는 행을 실행하지 않습니다. –