vagrant/plugins/hosts/arch/host.rb

41 lines
1.2 KiB
Ruby
Raw Normal View History

2012-05-23 23:03:14 +00:00
require "vagrant"
require Vagrant.source_root.join("plugins/hosts/linux/host")
2012-04-19 05:20:45 +00:00
module VagrantPlugins
module HostArch
class Host < VagrantPlugins::HostLinux::Host
2011-12-12 07:22:44 +00:00
def self.match?
File.exist?("/etc/rc.conf") && File.exist?("/etc/pacman.conf")
end
# Normal, mid-range precedence.
def self.precedence
5
end
2011-12-12 07:22:44 +00:00
def nfs_export(id, ip, folders)
output = TemplateRenderer.render('nfs/exports_linux',
2011-12-12 07:22:44 +00:00
:uuid => id,
:ip => ip,
:folders => folders)
2011-12-12 07:22:44 +00:00
@ui.info I18n.t("vagrant.hosts.arch.nfs_export.prepare")
sleep 0.5
output.split("\n").each do |line|
# This should only ask for administrative permission once, even
# though its executed in multiple subshells.
system(%Q[sudo su root -c "echo '#{line}' >> /etc/exports"])
end
# We run restart here instead of "update" just in case nfsd
# is not starting
system("sudo /etc/rc.d/rpcbind restart")
system("sudo /etc/rc.d/nfs-common restart")
system("sudo /etc/rc.d/nfs-server restart")
end
end
end
end