在一个无所事事的环境中,如何在不同的来宾中运行不同的剧本

时间:2019-06-05 14:26:09

标签: ansible vagrant

我有一个Vagrantfile,可以设置两个访客。我想为每位客人提供不同的剧本。

Vagrant.configure(2) do |config|

  config.vm.define "awx" do |awx|
    awx.vm.box = "centos/7"
    awx.vm.hostname ="awx"
    awx.vm.network "private_network", ip: "192.168.10.10"
    config.vm.provision "ansible"  do |master|
      master.playbook = "awx.yml"
    end
  end

  config.vm.define "test"  do |test|
    test.vm.box = "centos/7"
    test.vm.hostname = "test"
    test.vm.network "private_network", ip: "192.168.10.11"
    config.vm.provision "ansible"  do |slave|
      slave.playbook = "httpd-server.yml"
    end 

  end
end

第一个剧本按预期在第一个节点上执行。但是,这两个剧本都是针对第二个节点执行的。

1 个答案:

答案 0 :(得分:1)

这里的问题是您在方法调用中使用外部作用域迭代变量background-color而不是内部作用域迭代变量。这些将把您的Ansible预配器的范围锁定为仅在该范围内定义的无用机器。例如,要纠正您的问题,我们可以这样做:

mat-list-item