在多机器vagrantfile中进行Shell配置

时间:2015-10-13 03:42:41

标签: vagrant vagrantfile vagrant-plugin vagrant-provision

如何配置在多机流浪文件中创建的VM。我想在每个创建的机器中执行单独的shell配置脚本。我无法弄清楚流浪汉如何促进这一点。

$kitCoreScript = <<SCRIPT
set -e
set -x
mkdir kitCoreFolder
exit
SCRIPT

$agentScript = <<SCRIPT
set -e
set -x
mkdir agentFolder
exit
SCRIPT

Vagrant.configure(2) do |config|

  config.ssh.private_key_path = "rack_rsa"

  config.vm.define "kitcore" do | kitcore |
    kitcore.vm.provider :rackspace do |rs|
      rs.username = "username"
      rs.api_key  = "1232134rewf324e2qede132423"
      rs.admin_password = "pass1"
      rs.flavor   = /1 GB Performance/
      rs.image    = /Ubuntu 12.04/
      rs.rackspace_region = :dfw
      rs.server_name =  "kit-core"
      rs.public_key_path  = "rack_rsa.pub"
    end
    kitcore.provision :shell, :inline => $kitCoreScript
  end

  config.vm.define "agents" do |agents|
    agents.vm.provider :rackspace do |rs|
      rs.username = "username"
      rs.api_key  = "2314rwef45435342543r"
      rs.admin_password = "pass1"
      rs.flavor   = /1 GB Performance/
      rs.image    = /Ubuntu 12.04/
      rs.rackspace_region = :dfw
      rs.server_name =  "agnet"
      rs.public_key_path  = "rack_rsa.pub"
    end
    agent.provision :shell, :inline => $agentScript
  end
end

显然在运行上面的流浪脚本后,我从vagrant获得了以下错误消息。

dev-setup-scripts  vagrant up
There are errors in the configuration of this machine. Please fix
the following errors and try again:

Vagrant:
* Unknown configuration section 'provision'.

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您需要替换:

kitcore.provision 

通过

kitcore.vm.provision

对名为 agent 的虚拟机执行相同的操作。