Se você mover a definição de fantoches dentro do bloco para o host que deseja executar o fantoche, ele será executado apenas nesse host. Eu uso um método semelhante para definir um cluster com um mestre de marionetes e vários agentes de marionetes.
Aqui está um exemplo rápido supondo que isso seria para o seu host smdw_config. Remova a estrofe dos fantoches e mude a estrofe smdw_config conforme abaixo:
config.vm.define :smdw do |smdw_config|
smdw_config.vm.network :private_network, ip: "192.168.2.11"
smdw_config.vm.hostname = "smdw"
smdw_config.vm.provision :puppet do |puppet|
puppet.options = '-d -v'
puppet.manifests_path = "manifests"
puppet.manifest_file = "base-hadoop.pp"
puppet.module_path = "modules"
end
end
BTW Eu costumo adicionar as opções de depuração e verbose aos provedores, se disponíveis.