Skip to content
This repository has been archived by the owner on Nov 24, 2022. It is now read-only.

Puppet provisioner will remove the content of shared folders #439

Closed
varac opened this issue Feb 22, 2017 · 5 comments
Closed

Puppet provisioner will remove the content of shared folders #439

varac opened this issue Feb 22, 2017 · 5 comments
Labels

Comments

@varac
Copy link

varac commented Feb 22, 2017

It took me a while to debug this.
When I use vagrant-lxc together with a puppet provisioner, the content of the shared folders get removed on the host (!) reproducibly.

I'm using this Vagrantfile (I didn't use your fgrehm/precise64-lxc box because it doesn't contain the puppet binary):

Vagrant.configure("2") do |config|
  config.vm.define :vagrantlxctest do |c|
    c.vm.box = "LEAP/jessie"
  end
  config.vm.provision "puppet" do |puppet|
    puppet.manifests_path    = "puppet/manifests"
    puppet.module_path       = "puppet/modules"
    puppet.manifest_file     = "init.pp"
  end
end

And a vagrant up will remove the init.pp as you can see in the output of git status:

--- lxc/lxctest ‹master› » vagrant up --provider=lxc
Ignoring ruby-libvirt-0.7.0 because its extensions are not built.  Try: gem pristine ruby-libvirt --version 0.7.0
Bringing machine 'vagrantlxctest' up with 'lxc' provider...
==> vagrantlxctest: Importing base box 'LEAP/jessie'...
==> vagrantlxctest: Checking if box 'LEAP/jessie' is up to date...
==> vagrantlxctest: Setting up mount entries for shared folders...
    vagrantlxctest: /vagrant => /home/varac/vagrant/lxc/lxctest
Warning! The LXC provider doesn't support the :owner parameter for synced
folders. It will be silently ignored.
    vagrantlxctest: /tmp/vagrant-puppet/modules-d4052659c4e93a8c4bd3ab966b1938fd => /home/varac/vagrant/lxc/lxctest/puppet/modules
Warning! The LXC provider doesn't support the :owner parameter for synced
folders. It will be silently ignored.
    vagrantlxctest: /tmp/vagrant-puppet/manifests-846018e2aa141a5eb79a64b4015fc5f3 => /home/varac/vagrant/lxc/lxctest/puppet/manifests
==> vagrantlxctest: Starting container...
==> vagrantlxctest: Waiting for machine to boot. This may take a few minutes...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

puppet provisioner:
* The configured Puppet manifest is missing. Please specify a path to an
existing manifest:

/home/varac/vagrant/lxc/lxctest/puppet/manifests/init.pp

--- lxc/lxctest ‹master* D› » gst
On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    puppet/manifests/init.pp

See attached ./vagrant-lxc.log for a debug output.

I suspect the synced_folder_cleanup action to remove the files:

INFO synced_folder_cleanup: Invoking synced folder cleanup for: lxc

vagrant-lxc.log.txt

To reproduce this, I pushed my example git repo here: https://0xacab.org/varac/vagrant-lxctest

@varac
Copy link
Author

varac commented Feb 22, 2017

Oh, forgot to say, this only happens with vagrant-lxc so I filed this here.

@qinjunjerry
Copy link

I have a similar problem. I am using purely 'vagrant up'.

I tried 'chmod 555 manifests' in order to prevent those .pp files from being removed, also with the hope to get an error on file removal. Unfortunately, there was no error pop up.

@ghost
Copy link

ghost commented Jan 15, 2018

@varac I'm not sure that the problem is related to synced_folder_cleanup because this phases only calls cleanup() for each SyncedFolder and vagrant-lxc doesn't override this method (the base class does nothing). Maybe another plugin you've installed would do something?

This sounds like stuff happening #68, but it shouldn't be happening on recent versions of vagrant-lxc.

So I'd be inclined to think that it's a puppet-related issue, as @qinjunjerry suggests. @varac,could it be this?

@fgrehm fgrehm added the ignored label Nov 17, 2022
@fgrehm
Copy link
Owner

fgrehm commented Nov 17, 2022

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

As per #499, 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 👋

@fgrehm fgrehm closed this as completed Nov 17, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants