Merge pull request #456 from fgrehm/tmpfs-revival
Revert tmpfs mount removal
This commit is contained in:
commit
8fa42b1ab4
4 changed files with 11 additions and 27 deletions
|
@ -12,7 +12,6 @@ require 'vagrant-lxc/action/handle_box_metadata'
|
||||||
require 'vagrant-lxc/action/prepare_nfs_settings'
|
require 'vagrant-lxc/action/prepare_nfs_settings'
|
||||||
require 'vagrant-lxc/action/prepare_nfs_valid_ids'
|
require 'vagrant-lxc/action/prepare_nfs_valid_ids'
|
||||||
require 'vagrant-lxc/action/private_networks'
|
require 'vagrant-lxc/action/private_networks'
|
||||||
require 'vagrant-lxc/action/remove_temporary_files'
|
|
||||||
require 'vagrant-lxc/action/setup_package_files'
|
require 'vagrant-lxc/action/setup_package_files'
|
||||||
require 'vagrant-lxc/action/warn_networks'
|
require 'vagrant-lxc/action/warn_networks'
|
||||||
|
|
||||||
|
@ -125,9 +124,6 @@ module Vagrant
|
||||||
end
|
end
|
||||||
|
|
||||||
b2.use ClearForwardedPorts
|
b2.use ClearForwardedPorts
|
||||||
if env[:machine].state.id == :running
|
|
||||||
b2.use RemoveTemporaryFiles
|
|
||||||
end
|
|
||||||
b2.use GcPrivateNetworkBridges
|
b2.use GcPrivateNetworkBridges
|
||||||
b2.use Builtin::Call, Builtin::GracefulHalt, :stopped, :running do |env2, b3|
|
b2.use Builtin::Call, Builtin::GracefulHalt, :stopped, :running do |env2, b3|
|
||||||
if !env2[:result]
|
if !env2[:result]
|
||||||
|
|
|
@ -26,6 +26,11 @@ module Vagrant
|
||||||
config.customize 'mount.entry', '/sys/fs/selinux sys/fs/selinux none bind,ro 0 0'
|
config.customize 'mount.entry', '/sys/fs/selinux sys/fs/selinux none bind,ro 0 0'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if config.tmpfs_mount_size && !config.tmpfs_mount_size.empty?
|
||||||
|
# Make /tmp a tmpfs to prevent init scripts from nuking synced folders mounted in here
|
||||||
|
config.customize 'mount.entry', "tmpfs tmp tmpfs nodev,nosuid,size=#{config.tmpfs_mount_size} 0 0"
|
||||||
|
end
|
||||||
|
|
||||||
env[:ui].info I18n.t("vagrant_lxc.messages.starting")
|
env[:ui].info I18n.t("vagrant_lxc.messages.starting")
|
||||||
env[:machine].provider.driver.start(config.customizations)
|
env[:machine].provider.driver.start(config.customizations)
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
module Vagrant
|
|
||||||
module LXC
|
|
||||||
module Action
|
|
||||||
class RemoveTemporaryFiles
|
|
||||||
def initialize(app, env)
|
|
||||||
@app = app
|
|
||||||
@logger = Log4r::Logger.new("vagrant::lxc::action::remove_tmp_files")
|
|
||||||
end
|
|
||||||
|
|
||||||
def call(env)
|
|
||||||
@logger.debug 'Removing temporary files'
|
|
||||||
driver = env[:machine].provider.driver
|
|
||||||
# To prevent host-side data loss, it's important that all mounts under /tmp are unmounted
|
|
||||||
# before we proceed with the `rm -rf` operation. See #68 and #360.
|
|
||||||
driver.attach("findmnt -R /tmp -o TARGET --list --noheadings | xargs -L 1 --no-run-if-empty umount")
|
|
||||||
driver.attach("rm -rf /tmp/*")
|
|
||||||
|
|
||||||
@app.call env
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -18,6 +18,10 @@ module Vagrant
|
||||||
# machine name, set this to :machine
|
# machine name, set this to :machine
|
||||||
attr_accessor :container_name
|
attr_accessor :container_name
|
||||||
|
|
||||||
|
# Size (as a string like '400M') of the tmpfs to mount at /tmp on boot.
|
||||||
|
# Set to false or nil to disable the tmpfs mount altogether. Defaults to '2G'.
|
||||||
|
attr_accessor :tmpfs_mount_size
|
||||||
|
|
||||||
attr_accessor :fetch_ip_tries
|
attr_accessor :fetch_ip_tries
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
|
@ -25,6 +29,7 @@ module Vagrant
|
||||||
@backingstore = UNSET_VALUE
|
@backingstore = UNSET_VALUE
|
||||||
@backingstore_options = []
|
@backingstore_options = []
|
||||||
@container_name = UNSET_VALUE
|
@container_name = UNSET_VALUE
|
||||||
|
@tmpfs_mount_size = UNSET_VALUE
|
||||||
@fetch_ip_tries = UNSET_VALUE
|
@fetch_ip_tries = UNSET_VALUE
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -52,6 +57,7 @@ module Vagrant
|
||||||
@container_name = nil if @container_name == UNSET_VALUE
|
@container_name = nil if @container_name == UNSET_VALUE
|
||||||
@backingstore = "best" if @backingstore == UNSET_VALUE
|
@backingstore = "best" if @backingstore == UNSET_VALUE
|
||||||
@existing_container_name = nil if @existing_container_name == UNSET_VALUE
|
@existing_container_name = nil if @existing_container_name == UNSET_VALUE
|
||||||
|
@tmpfs_mount_size = '2G' if @tmpfs_mount_size == UNSET_VALUE
|
||||||
@fetch_ip_tries = 10 if @fetch_ip_tries == UNSET_VALUE
|
@fetch_ip_tries = 10 if @fetch_ip_tries == UNSET_VALUE
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue