Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible 如何在成功配置后立即停止多机漫游设置中的机器?_Ansible_Vagrant_Provisioning_Vagrantfile - Fatal编程技术网

Ansible 如何在成功配置后立即停止多机漫游设置中的机器?

Ansible 如何在成功配置后立即停止多机漫游设置中的机器?,ansible,vagrant,provisioning,vagrantfile,Ansible,Vagrant,Provisioning,Vagrantfile,有一个多机器流浪设置(此处截断为两台机器),如下所示: Vagrant.configure(2) do |config| config.vm.define "xfcevm" do |xfcevm| xfcevm.vm.box = "generic/ubuntu1904" xfcevm.vm.hostname = "xfcevm" end config.vm.define "gnomevm" do |gnomevm| gnomevm.vm.box = "ge

有一个多机器流浪设置(此处截断为两台机器),如下所示:

Vagrant.configure(2) do |config|

  config.vm.define "xfcevm" do |xfcevm|
    xfcevm.vm.box = "generic/ubuntu1904"
    xfcevm.vm.hostname = "xfcevm"
  end

  config.vm.define "gnomevm" do |gnomevm|
    gnomevm.vm.box = "generic/fedora30"
    gnomevm.vm.hostname = "gnomevm"
  end

  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
    vb.memory = "2048"
    vb.cpus = 1
    vb.customize ["modifyvm", :id, "--vram", "32"]
  end

  config.vm.provision "ansible" do |ansible|
    ansible.verbose = "v"
    ansible.compatibility_mode = "2.0"
    ansible.playbook = "setup.yml"
  end

  config.vm.provision "ansible", run: 'always' do |ansible|
    ansible.verbose = "v"
    ansible.compatibility_mode = "2.0"
    ansible.playbook = "tests.yml"
  end

  # halt here

end

如果测试playbook没有错误地通过,那么我希望在
tests.yml
playbook完成后立即停止该机器。如何从Vagrantfile或通过创建另一个Ansible任务来执行此操作?

您可以在测试手册的末尾发出
shutdown
命令。只有在其他任务成功的情况下才会播放

- name: shutdown machine
  become: true
  command: shutdown -h now

请参见
shutdown--help
以使命令适应您的特定需要(例如,使用
halt
而不是
poweroff

好吧,这是一个干净的解决方案,我可能没有考虑过它,因为最后一刻从“destroy”更改为“halt”在准备问题时。Ansible现在无法关闭与
的连接
,一分钟延迟是该命令的最小可用值
命令:关机-P+1
。Tnx!