-1
我希望能夠立即爲一個項目啓動所有的Vagrant虛擬機,然後在最後一個虛擬機上執行Ansible(使用ansible_local)。是否有可能在您之前定義的計算機上運行諸如ansible_local之類的預配置?在Vagrantfile中機器的定義結束後,是否可以在特定的Vagrant機器上執行供應商?
的是我想要做的例子:
# VM definitions
config.vm.define "control" do |control|
control.vm.hostname = "control.somedomain.local"
control.vm.network "private_network", ip: "172.28.128.3"
control.vm.provider "virtualbox" do |control_vbox|
control_vbox.name = "Ansible Controller"
control_vbox.cpus = 2
control_vbox.memory = 1024
end
end
config.vm.define "web01" do |web|
control.vm.hostname = "web01.somedomain.local"
control.vm.network "private_network", ip: "172.28.128.4"
control.vm.provider "virtualbox" do |web_vbox|
web_vbox.name = "Web Server 1"
web_vbox.cpus = 2
web_vbox.memory = 1024
end
end
# run ansible_local provisioner from the control VM
config.vm.provision "ansible_local" do |ansible|
ansible.run_on_vm = "control"
ansible.playbook = "some_playbook.yml"
end
這不是我想要的是。它將在web01虛擬機存在之前運行provisioner,因此它將無法運行Ansible來配置它。我知道我可以對它們進行重新排序,以便控制能夠持續進行,但這不是問題的關鍵。我想知道是否可以在創建所有虛擬機之後調用ansible_local置備程序。 – SPoage