2014-01-10 23:41:57 +00:00
|
|
|
require "log4r"
|
|
|
|
|
|
|
|
module VagrantPlugins
|
|
|
|
module SyncedFolderNFS
|
|
|
|
class ActionCleanup
|
|
|
|
def initialize(app, env)
|
|
|
|
@app = app
|
|
|
|
@logger = Log4r::Logger.new("vagrant::synced_folders::nfs")
|
|
|
|
end
|
|
|
|
|
|
|
|
def call(env)
|
|
|
|
if !env[:nfs_valid_ids]
|
|
|
|
@logger.warn("nfs_valid_ids not set, cleanup cannot occur")
|
|
|
|
return @app.call(env)
|
|
|
|
end
|
|
|
|
|
2014-01-16 04:28:27 +00:00
|
|
|
if !env[:machine].env.host.capability?(:nfs_prune)
|
|
|
|
@logger.info("Host doesn't support pruning NFS. Skipping.")
|
|
|
|
return @app.call(env)
|
|
|
|
end
|
|
|
|
|
2014-01-10 23:41:57 +00:00
|
|
|
@logger.info("NFS pruning. Valid IDs: #{env[:nfs_valid_ids].inspect}")
|
|
|
|
env[:machine].env.host.capability(
|
|
|
|
:nfs_prune, env[:machine].ui, env[:nfs_valid_ids])
|
|
|
|
@app.call(env)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|