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_valid_ids'
|
||||
require 'vagrant-lxc/action/private_networks'
|
||||
require 'vagrant-lxc/action/remove_temporary_files'
|
||||
require 'vagrant-lxc/action/setup_package_files'
|
||||
require 'vagrant-lxc/action/warn_networks'
|
||||
|
||||
|
@ -125,9 +124,6 @@ module Vagrant
|
|||
end
|
||||
|
||||
b2.use ClearForwardedPorts
|
||||
if env[:machine].state.id == :running
|
||||
b2.use RemoveTemporaryFiles
|
||||
end
|
||||
b2.use GcPrivateNetworkBridges
|
||||
b2.use Builtin::Call, Builtin::GracefulHalt, :stopped, :running do |env2, b3|
|
||||
if !env2[:result]
|
||||
|
|
|
@ -26,6 +26,11 @@ module Vagrant
|
|||
config.customize 'mount.entry', '/sys/fs/selinux sys/fs/selinux none bind,ro 0 0'
|
||||
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[: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
|
||||
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
|
||||
|
||||
def initialize
|
||||
|
@ -25,6 +29,7 @@ module Vagrant
|
|||
@backingstore = UNSET_VALUE
|
||||
@backingstore_options = []
|
||||
@container_name = UNSET_VALUE
|
||||
@tmpfs_mount_size = UNSET_VALUE
|
||||
@fetch_ip_tries = UNSET_VALUE
|
||||
end
|
||||
|
||||
|
@ -52,6 +57,7 @@ module Vagrant
|
|||
@container_name = nil if @container_name == UNSET_VALUE
|
||||
@backingstore = "best" if @backingstore == 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
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue