mirror of
https://github.com/vagrant-libvirt/vagrant-libvirt.git
synced 2025-02-25 18:55:27 -06:00
Merge branch 'master' of github.com:vagrant-libvirt/vagrant-libvirt
This commit is contained in:
commit
43bd92670d
@ -67,8 +67,11 @@ module VagrantPlugins
|
||||
Vagrant::Action::Builder.new.tap do |b|
|
||||
b.use ConfigValidate
|
||||
b.use Call, IsRunning do |env, b2|
|
||||
# If the VM is running, then our work here is done, exit
|
||||
next if env[:result]
|
||||
# If the VM is running, run the necessary provisioners
|
||||
if env[:result]
|
||||
b2.use action_provision
|
||||
next
|
||||
end
|
||||
|
||||
b2.use Call, IsSuspended do |env2, b3|
|
||||
# if vm is suspended resume it then exit
|
||||
|
@ -40,7 +40,8 @@ module VagrantPlugins
|
||||
# working for centos with lvs default disks
|
||||
`virt-sysprep --no-logfile --operations defaults,-ssh-userdir -a #{@tmp_img}`
|
||||
Dir.chdir(@tmp_dir)
|
||||
img_size = `qemu-img info #{@tmp_img} | grep 'virtual size' | awk '{print $3;}' | tr -d 'G'`.chomp
|
||||
info = JSON.parse(`qemu-img info --output=json #{@tmp_img}`)
|
||||
img_size = (Float(info['virtual-size'])/(1024**3)).ceil
|
||||
File.write(@tmp_dir + '/metadata.json', metadata_content(img_size))
|
||||
File.write(@tmp_dir + '/Vagrantfile', vagrantfile_content)
|
||||
assebmle_box(boxname)
|
||||
|
@ -88,7 +88,7 @@ cd "$TMP_DIR"
|
||||
#Using the awk int function here to truncate the virtual image size to an
|
||||
#integer since the fog-libvirt library does not seem to properly handle
|
||||
#floating point.
|
||||
IMG_SIZE=$(qemu-img info "$TMP_IMG" | awk '/virtual size/{print int($3)+1;}' | tr -d 'G')
|
||||
IMG_SIZE=$(qemu-img info --output=json "$TMP_IMG" | awk '/virtual-size/{s=int($2)/(1024^3); print (s == int(s)) ? s : int(s)+1 }')
|
||||
|
||||
echo "{$IMG_SIZE}"
|
||||
|
||||
@ -118,7 +118,7 @@ EOF
|
||||
|
||||
echo "==> Creating box, tarring and gzipping"
|
||||
|
||||
tar cvzf "$BOX" --totals ./metadata.json ./Vagrantfile ./box.img
|
||||
tar cvzf "$BOX" -S --totals ./metadata.json ./Vagrantfile ./box.img
|
||||
|
||||
# if box is in tmpdir move it to CWD before removing tmpdir
|
||||
if ! isabspath "$BOX"; then
|
||||
|
Loading…
Reference in New Issue
Block a user