diff --git a/lib/vagrant-mutate/converter/converter.rb b/lib/vagrant-mutate/converter/converter.rb index f137491..62d900f 100644 --- a/lib/vagrant-mutate/converter/converter.rb +++ b/lib/vagrant-mutate/converter/converter.rb @@ -4,27 +4,28 @@ module VagrantMutate module Converter class Converter - def self.create(env, input_box, output_box, force_virtio='false') + def self.create(env, input_box, output_box, force_virtio='false', quiet='false') case output_box.provider_name when 'bhyve' require_relative 'bhyve' - Bhyve.new(env, input_box, output_box) + Bhyve.new(env, input_box, output_box, force_virtio, quiet) when 'kvm' require_relative 'kvm' - Kvm.new(env, input_box, output_box) + Kvm.new(env, input_box, output_box, force_virtio, quiet) when 'libvirt' require_relative 'libvirt' - Libvirt.new(env, input_box, output_box, force_virtio) + Libvirt.new(env, input_box, output_box, force_virtio, quiet) else fail Errors::ProviderNotSupported, provider: output_box.provider_name, direction: 'output' end end - def initialize(env, input_box, output_box, force_virtio='false') + def initialize(env, input_box, output_box, force_virtio, quiet) @env = env @input_box = input_box @output_box = output_box @force_virtio = force_virtio + @quiet = quiet @logger = Log4r::Logger.new('vagrant::mutate') end @@ -33,8 +34,10 @@ def convert fail Errors::ProvidersMatch end - @env.ui.info "Converting #{@input_box.name} from #{@input_box.provider_name} "\ - "to #{@output_box.provider_name}." + if @quiet == false + @env.ui.info "Converting #{@input_box.name} from #{@input_box.provider_name} "\ + "to #{@output_box.provider_name}." + end @input_box.verify_format write_disk @@ -97,7 +100,11 @@ def convert_disk # p for progress bar # S for sparse file - qemu_options = '-p -S 16k' + if @quiet == true + qemu_options = '-S 16k' + else + qemu_options = '-p -S 16k' + end qemu_version = Qemu.qemu_version() if qemu_version >= Gem::Version.new('1.1.0') if output_format == 'qcow2' diff --git a/lib/vagrant-mutate/mutate.rb b/lib/vagrant-mutate/mutate.rb index 7fa8667..e5895d8 100644 --- a/lib/vagrant-mutate/mutate.rb +++ b/lib/vagrant-mutate/mutate.rb @@ -9,6 +9,7 @@ def execute options[:input_provider] = nil options[:version] = nil options[:force_virtio] = false + options[:quiet] = false opts = OptionParser.new do |o| o.banner = 'Usage: vagrant mutate ' @@ -24,8 +25,10 @@ def execute 'Force virtio disk driver') do |p| options[:force_virtio] = true end + o.on("--quiet", "Convert silently") do |v| + options[:quiet] = true + end end - argv = parse_options(opts) return unless argv @@ -46,12 +49,14 @@ def execute output_loader = BoxLoader.new(@env) output_box = output_loader.prepare_for_output(input_box.name, options[:output_provider], input_box.version) - converter = Converter::Converter.create(@env, input_box, output_box, options[:force_virtio]) + converter = Converter::Converter.create(@env, input_box, output_box, options[:force_virtio], options[:quiet]) converter.convert input_loader.cleanup - @env.ui.info "The box #{output_box.name} (#{output_box.provider_name}) is now ready to use." + if options[:quiet] == false + @env.ui.info "The box #{output_box.name} (#{output_box.provider_name}) is now ready to use." + end end end end