My Vagrantfile is as below

VAGRANTFILE_API_VERSION = "2"

# master runs HDFS NameNode, YARN ResourceManager, HBase Master (optional)
# slaves run  HDFS DataNode, YARN NodeManager, HBase RegionServers 
(optional)

# increase ram as needed, add additional slave nodes if needed.

nodes = [
  { :type => 'master',  
    :hostname => 'master.local',    
    :ip => '192.168.48.10', 
    :box => 'puppetlabs/ubuntu-12.04-64-puppet',  
    :cpus => '1',  
    :ram => '2048' },
  
  { :type => 'slave',   
    :hostname => 'hadoop1.local',   
    :ip => '192.168.48.11', 
    :box => 'puppetlabs/ubuntu-12.04-64-puppet',  
    :cpus => '1',  
    :ram => '1024' },
  
  { :type => 'slave',   
    :hostname => 'hadoop2.local',   
    :ip => '192.168.48.12', 
    :box => 'puppetlabs/ubuntu-12.04-64-puppet',  
    :cpus => '1',  
    :ram => '1024' },
  
  { :type => 'slave',   
    :hostname => 'hadoop3.local',   
    :ip => '192.168.48.13', 
    :box => 'puppetlabs/ubuntu-12.04-64-puppet',  
    :cpus => '1',  
    :ram => '1024' },
  
]

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  
  nodes.each do |node|
    config.vm.define node[:hostname] do |node_config|
      node_config.vm.box = node[:box]
      node_config.vm.box_version = "1.0.1"          # optional, can be 
removed to default to latest version
      node_config.vm.box_check_update = false        # disabling for now 
      node_config.vm.host_name = node[:hostname]
      node_config.vm.network "private_network", ip: node[:ip]
      node_config.vm.provider :virtualbox do |vb|
        vb.customize ["modifyvm", :id, "--cpus", node[:cpus]]
        vb.customize ["modifyvm", :id, "--memory", node[:ram]]
        # vb.gui = true                             # uncomment this line 
to debug virtual machine startup issues
      end
    end
    # Shell provisioning - bootstrap for puppet
    # install - git, ruby and librarian-puppet
    config.vm.provision :shell, :path => 'shell/main.sh'

    # Puppet provisioning
    config.vm.provision "puppet" do |puppet|
      # puppet.options = "--verbose --debug"      # uncomment to enable 
verbose mode
      puppet.manifests_path = "puppet/manifests"
      puppet.manifest_file = node[:type] + ".pp"
      puppet.module_path = "puppet/modules"
    end  
  end
end


Within puppet/manifests I have files master.pp and slave.pp which I want to 
be picked up based on node[:type] value, but i notice that each of the 4 
nodes is double provisioned, once with master.pp and then with slave.pp.

Not sure why that is the case. Help appreciated.

Regards,
Hemen

-- 
This mailing list is governed under the HashiCorp Community Guidelines - 
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of 
those guidelines may result in your removal from this mailing list.

GitHub Issues: https://github.com/mitchellh/vagrant/issues
IRC: #vagrant on Freenode
--- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vagrant-up/f550990d-8c75-4914-b7d3-9127a1a66b33%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to