2013-04-02 3 views
7

Sono nuovo di Vagrant e attualmente sto provando a fornire una scatola VirtualBox e AWS (usando il plug-in vagrant-aws) dal singolo Vagrantfile.È possibile che singoli Vagrantfile dispongano contemporaneamente di provider AWS e VirtualBox?

mio Vagrantfile è la seguente:

Vagrant.configure("2") do |config| 

    config.vm.define :web do |web_config| 
     web_config.vm.box = "dummy" 
     web_config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box" 

     web_config.vm.provider :aws do |aws| 
      aws.access_key_id = "ACCESS KEY" 
      aws.secret_access_key = "SECRET KEY" 
     end 
    end 

    config.vm.define :db do |db_config| 
     db_config.vm.box = "precise32" 
     db_config.vm.box_url = "http://files.vagrantup.com/precise32.box" 

     db_config.vm.provider :virtualbox do |vb| 

     end  
    end 
end 

Quindi, fondamentalmente sto cercando di avere AWS per il web e una casella di rete per il database. È possibile farlo dal singolo Vagrantfile? E il comando vagabondo seguente creerà e fornirà entrambe le VM?

vagrant up --provider=aws 

risposta

5

Giudicando da Basic Provider Usage

Limitazioni

Vagrant attualmente si limita a portare su di un fornitore per macchina. Se si dispone di un ambiente multi-macchina, è possibile far apparire una macchina supportata da VirtualBox e un'altra supportata da VMware Fusion, ad esempio, ma non è possibile eseguire il back-up della stessa macchina con VirtualBox e VMware Fusion.

Questa è una limitazione che verrà rimossa in una versione futura di Vagrant.

questo è possibile! Ma bisogna ricordare che le funzioni come le reti pubbliche e private non possono essere (di solito, vedere Private Networks) utilizzate attraverso i confini del provider.

Per quanto riguarda la seconda parte della domanda, suppongo che sia necessario emettere due comandi, uno per ciascun provider nell'ambiente multi-vm, ma è solo un'ipotesi: c'è poca documentazione ufficiale sui provider e sugli ambienti multi-vm.

Problemi correlati