Search code examples
ubuntuvagrantsalt-project

Vagrant with salt provisioner doesn't show any output


When creating vm I don't get totally any response from salt unless you're in verbose mode, where you have tone of crap flickering on your screen, it doesn't represent nice information as salt-call does.

Here's what you get after vagrant up web

192:vagrant-starter holms$ vagrant up web
Bringing machine 'web' up with 'virtualbox' provider...
==> web: Importing base box 'debian80'...
==> web: Matching MAC address for NAT networking...
==> web: Setting the name of the VM: vagrant-starter_web_1410407135596_15907
==> web: Clearing any previously set forwarded ports...
==> web: Clearing any previously set network interfaces...
==> web: Preparing network interfaces based on configuration...
    web: Adapter 1: nat
==> web: Forwarding ports...
    web: 80 => 9999 (adapter 1)
    web: 22 => 2222 (adapter 1)
==> web: Running 'pre-boot' VM customizations...
==> web: Booting VM...
==> web: Waiting for machine to boot. This may take a few minutes...
    web: SSH address: 127.0.0.1:2222
    web: SSH username: vagrant
    web: SSH auth method: private key
    web: Warning: Connection timeout. Retrying...
==> web: Machine booted and ready!
==> web: Checking for guest additions in VM...
==> web: Mounting shared folders...
    web: /vagrant => /Users/holms/Dropbox/Dev/vagrant-starter
    web: /srv/salt => /Users/holms/Dropbox/Dev/vagrant-starter/repo/salt
==> web: Running provisioner: salt...
Copying salt minion config to vm.
Checking if salt-minion is installed
salt-minion was not found.
Checking if salt-call is installed
salt-call was not found.
Bootstrapping Salt... (this may take a while)
Salt successfully configured and installed!
run_overstate set to false. Not running state.overstate.
Calling state.highstate... (this may take a while)

My Vagrantfile is quite huge, as it's even has external config. Relevant part is here:

 97         # check if saltstack being used
 98         unless opts[:salt].nil?
 99
100             config.vm.synced_folder "repo/salt/", "/srv/salt/"
101
102             node.vm.provision "salt" do |salt|
103                 salt.minion_config = "repo/minion"
104                 salt.run_highstate = true
105                 salt.colorize = true
106                 salt.log_level = 'all'
107                 #salt.verbose = true
108                 #opts[:salt].each do |minion|
109                 #end
110             end
111         end

What I expect to see is this this

What I see is this:

enter image description here


Solution

  • Since I searched for this myself, and there were no answers here, I'll add it. In the Vagrantfile you need to add (or uncomment)

    salt.verbose = true
    

    , so you end up having something like this:

      config.vm.provision :salt do |salt|
    
        salt.minion_config = "repo/minion"
        salt.run_highstate = true
        salt.colorize = true
        salt.log_level = "info"
        salt.verbose = true
    
      end
    

    per https://github.com/mitchellh/vagrant/issues/2678