Ho una configurazione vagabonda con più macchine con alcuni blocchi di cui ho bisogno per modificare l'ordine di esecuzione.Ordine di esecuzione blocco multi-macchina di controllo Vagante
A causa dell'ordine vagante di essere fuori, nel blocco più nidificato viene eseguito per ultimo.
Ho bisogno di un modo per rendere i blocchi di provisioning più nidificati in modo che vengano eseguiti per ultimi. Ho provato ad aggiungere mach.vm.define ma quei blocchi non vengono eseguiti e non capisco perché.
Esecuzione normale, ordine sbagliato
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
require 'yaml'
machines = YAML.load_file('vagrant.yaml')
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
machines.each do |machine|
config.vm.define machine["name"] do |mach|
machine['run_this'].each do |run_this|
mach.vm.provider "virtualbox" do |v, override|
# should run first
end
end
# Do a puppet provision to install the rest of the software
mach.vm.provision "puppet" do |puppet|
# puppet stuff
end
mach.vm.box = 'ubuntu/trusty64'
end
end
soluzione ideale, ma blocco nidificato in più non viene eseguito
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
require 'yaml'
machines = YAML.load_file('vagrant.yaml')
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
machines.each do |machine|
config.vm.define machine["name"] do |mach|
machine['run_this'].each do |run_this|
mach.vm.provider "virtualbox" do |v, override|
# should run first but it doesn't because it's in an extra provider block
end
end
mach.vm.define :prov do |prov| # This block doesn't execute
# Do a puppet provision to install the rest of the software
prov.vm.provision "puppet" do |puppet|
# puppet stuff
end
end
mach.vm.box = 'ubuntu/trusty64'
end
end
end
C'è un modo per rendere il livello di provisioning uno più profondo modo che venga eseguito dopo che il contenuto del blocco del provider?
MODIFICA: tutto ciò che è specifico del provider non è accettabile (ad esempio, un altro blocco provider) o qualsiasi altra cosa che causa codice duplicato.
Puoi spiegare che cosa stai cercando di fare esattamente prima dell'avvio del provisioning? – eddiemoya
Ho una funzione di cartella di sincronizzazione personalizzata all'interno del primo blocco provider che voglio eseguire prima del provisioning – Sam