fgrehm / vagrant-cachier

Caffeine reducer
http://fgrehm.viewdocs.io/vagrant-cachier
MIT License
1.08k stars 111 forks source link

Cachier slows down box provision if multiple provisioners are used #162

Closed dmromanov closed 1 year ago

dmromanov commented 8 years ago

Provision slows down if multple provisioners are used.

For example: puphpet/puphpet uses 12 provisioners to build up a box. I was expecting provision speed improvement but instead provision slowed three times because of multple "cache buckets" reconfiguration.

  config.vm.provision :shell, :path => 'puphpet/shell/check-puppet-modules.sh'
  config.vm.provision :shell, :path => 'puphpet/shell/install-ruby.sh'
  config.vm.provision :shell, :path => 'puphpet/shell/install-puppet.sh'

  config.vm.provision :puppet do |puppet|
    puppet.facter = {
      'fqdn'             => "#{config.vm.hostname}",
      'ssh_username'     => "#{ssh_username}",
      'provisioner_type' => ENV['VAGRANT_DEFAULT_PROVIDER'],
    }
    puppet.manifests_path = "#{data['vm']['provision']['puppet']['manifests_path']}"
    puppet.manifest_file  = "#{data['vm']['provision']['puppet']['manifest_file']}"
    puppet.module_path    = "#{data['vm']['provision']['puppet']['module_path']}"

    if !data['vm']['provision']['puppet']['options'].empty?
      puppet.options = data['vm']['provision']['puppet']['options']
    end
  end

  config.vm.provision :shell do |s|
    s.path = 'puphpet/shell/execute-files.sh'
    s.args = ['exec-once', 'exec-always']
  end
  config.vm.provision :shell, run: 'always' do |s|
    s.path = 'puphpet/shell/execute-files.sh'
    s.args = ['startup-once', 'startup-always']
  end

  config.vm.provision :shell, privileged: false do |s|
    s.path = 'puphpet/shell/execute-files.sh'
    s.args = ['exec-once-unprivileged', 'exec-always-unprivileged']
  end
  config.vm.provision :shell, run: 'always', privileged: false do |s|
    s.path = 'puphpet/shell/execute-files.sh'
    s.args = ['startup-once-unprivileged', 'startup-always-unprivileged']
  end

  config.vm.provision :shell, :path => 'puphpet/shell/important-notices.sh'
fgrehm commented 1 year ago

Hey, sorry for the silence here but this project is looking for maintainers :sweat_smile:

As per https://github.com/fgrehm/vagrant-cachier/issues/193, I've added the ignored label and will close this issue. Thanks for the interest in the project and LMK if you want to step up and take ownership of this project on that other issue :wave: