lib/vagrant-libvirt/cap/synced_folder.rb in vagrant-libvirt-0.0.28 vs lib/vagrant-libvirt/cap/synced_folder.rb in vagrant-libvirt-0.0.29

- old
+ new

@@ -1,102 +1,91 @@ -require "log4r" +require 'log4r' require 'ostruct' require 'nokogiri' - -require "vagrant/util/subprocess" -require "vagrant/errors" -require "vagrant-libvirt/errors" +require 'vagrant/util/subprocess' +require 'vagrant/errors' +require 'vagrant-libvirt/errors' # require_relative "helper" module VagrantPlugins module SyncedFolder9p - class SyncedFolder < Vagrant.plugin("2", :synced_folder) + class SyncedFolder < Vagrant.plugin('2', :synced_folder) include Vagrant::Util include VagrantPlugins::ProviderLibvirt::Util::ErbTemplate def initialize(*args) super - - @logger = Log4r::Logger.new("vagrant_libvirt::synced_folders::9p") + @logger = Log4r::Logger.new('vagrant_libvirt::synced_folders::9p') end - def usable?(machine, raise_error=false) + def usable?(machine, raise_error = false) # bail now if not using libvirt since checking version would throw error return false unless machine.provider_name == :libvirt # <filesystem/> support in device attach/detach introduced in 1.2.2 # version number format is major * 1,000,000 + minor * 1,000 + release libvirt_version = ProviderLibvirt.libvirt_connection.client.libversion - if libvirt_version >= 1002002 - return true - else - return false - end + libvirt_version >= 1_002_002 end - def prepare(machine, folders, opts) - - raise Vagrant::Errors::Error("No libvirt connection") if ProviderLibvirt.libvirt_connection.nil? - + def prepare(machine, folders, _opts) + raise Vagrant::Errors::Error('No libvirt connection') if ProviderLibvirt.libvirt_connection.nil? @conn = ProviderLibvirt.libvirt_connection.client begin # loop through folders folders.each do |id, folder_opts| - folder_opts.merge!({ :accessmode => "passthrough", - :readonly => nil }) { |_k, ov, _nv| ov } + folder_opts.merge!({ target: id, + accessmode: 'passthrough', + readonly: nil }) { |_k, ov, _nv| ov } machine.ui.info "================\nMachine id: #{machine.id}\nShould be mounting folders\n #{id}, opts: #{folder_opts}" - - xml = to_xml('filesystem', folder_opts ) + xml = to_xml('filesystem', folder_opts) # puts "<<<<< XML:\n #{xml}\n >>>>>" @conn.lookup_domain_by_uuid(machine.id).attach_device(xml, 0) - - end + end rescue => e machine.ui.error("could not attach device because: #{e}") - raise VagrantPlugins::ProviderLibvirt::Errors::AttachDeviceError,:error_message => e.message + raise VagrantPlugins::ProviderLibvirt::Errors::AttachDeviceError, + error_message: e.message end end - # TODO once up, mount folders def enable(machine, folders, _opts) # Go through each folder and mount - machine.ui.info("mounting p9 share in guest") + machine.ui.info('mounting p9 share in guest') # Only mount folders that have a guest path specified. mount_folders = {} folders.each do |id, opts| mount_folders[id] = opts.dup if opts[:guestpath] # merge common options if not given - mount_folders[id].merge!(:version => '9p2000.L') { |_k, ov, _nv| ov } + mount_folders[id].merge!(version: '9p2000.L') { |_k, ov, _nv| ov } end # Mount the actual folder machine.guest.capability( :mount_p9_shared_folder, mount_folders) end def cleanup(machine, _opts) - - raise Vagrant::Errors::Error("No libvirt connection") if ProviderLibvirt.libvirt_connection.nil? - + if ProviderLibvirt.libvirt_connection.nil? + raise Vagrant::Errors::Error('No libvirt connection') + end @conn = ProviderLibvirt.libvirt_connection.client - begin - if machine.id && machine.id != "" + if machine.id && machine.id != '' dom = @conn.lookup_domain_by_uuid(machine.id) - Nokogiri::XML(dom.xml_desc).xpath('/domain/devices/filesystem').each do |xml| + Nokogiri::XML(dom.xml_desc).xpath( + '/domain/devices/filesystem').each do |xml| dom.detach_device(xml.to_s) - - machine.ui.info "Cleaned up shared folders" + machine.ui.info 'Cleaned up shared folders' end end rescue => e machine.ui.error("could not detach device because: #{e}") - raise VagrantPlugins::ProviderLibvirt::Errors::DetachDeviceError,:error_message => e.message + raise VagrantPlugins::ProviderLibvirt::Errors::DetachDeviceError, + error_message: e.message end - end - end end end