Always cleanup disks even if no disks in Vagrantfile

This commit is contained in:
Brian Cain 2020-01-23 09:20:12 -08:00
parent eff3d47f82
commit 9150d3db7b
No known key found for this signature in database
GPG Key ID: 9FC4639B2E4510A0
2 changed files with 7 additions and 10 deletions

View File

@ -14,19 +14,15 @@ module Vagrant
machine = env[:machine]
defined_disks = get_disks(machine, env)
# TODO: Maybe always cleanup disks, even if no disks are defined.
# Check meta file first
#
# Call into providers machine implementation for disk management
if !defined_disks.empty?
disk_meta_file = read_disk_metadata(machine)
if !disk_meta_file.empty?
if machine.provider.capability?(:cleanup_disks)
disk_meta_file = read_disk_metadata(machine)
if !disk_meta_file.empty?
machine.provider.capability(:cleanup_disks, defined_disks, disk_meta_file)
end
machine.provider.capability(:cleanup_disks, defined_disks, disk_meta_file)
else
env[:ui].warn(I18n.t("vagrant.actions.disk.provider_unsupported",
provider: machine.provider_name))
provider: machine.provider_name))
end
end

View File

@ -5,7 +5,7 @@ describe Vagrant::Action::Builtin::CleanupDisks do
let(:vm) { double("vm") }
let(:config) { double("config", vm: vm) }
let(:provider) { double("provider") }
let(:machine) { double("machine", config: config, provider: provider,
let(:machine) { double("machine", config: config, provider: provider, name: "machine",
provider_name: "provider", data_dir: Pathname.new("/fake/dir")) }
let(:env) { { ui: ui, machine: machine} }
@ -44,6 +44,7 @@ describe Vagrant::Action::Builtin::CleanupDisks do
allow(vm).to receive(:disks).and_return(disks)
allow(machine.provider).to receive(:capability?).with(:cleanup_disks).and_return(false)
subject = described_class.new(app, env)
expect(subject).to receive(:read_disk_metadata).with(machine).and_return(disk_meta_file)
expect(app).to receive(:call).with(env).ordered
expect(machine.provider).not_to receive(:capability).with(:cleanup_disks, disks)