mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
CLOUDSTACK-7143: work on vagrant box export
Running --export creates the .ovf and the .vmdk files referenced from that .ovf in one go. Guessing/predicting the names of the .vmdk files is not fool-proof.
This commit is contained in:
parent
cab4dd8258
commit
d56e950e85
@ -459,20 +459,24 @@ function vmware_export() {
|
||||
|
||||
function vagrant_export() {
|
||||
log INFO "creating vagrant export"
|
||||
local machine_uuid="${1}"
|
||||
# this is based on veewee export logic, but, we don't want to use veewee export,
|
||||
# since it makes optimistic assumptions about VM shutdown/halt leading to available
|
||||
# disks and the like
|
||||
disk="${appliance_build_name}-vmware.ovf"
|
||||
image="${appliance_build_name}-vmware-disk1.vmdk"
|
||||
# predicting VBoxManage disk naming seems problematic
|
||||
# disk="${appliance_build_name}-vmware.ovf"
|
||||
# image="${appliance_build_name}-vmware-disk1.vmdk"
|
||||
mkdir -p "box/${appliance_build_name}"
|
||||
cp "${disk}" "box/${appliance_build_name}/box.ovf"
|
||||
cp "${image}" "box/${appliance_build_name}/box-disk1.vmdk"
|
||||
# cp "${disk}" "box/${appliance_build_name}/box.ovf"
|
||||
# cp "${image}" "box/${appliance_build_name}/box-disk1.vmdk"
|
||||
cat >box/${appliance_build_name}/Vagrantfile <<END
|
||||
Vagrant::Config.run do |config|
|
||||
# This Vagrantfile is auto-generated by vagrant package to contain
|
||||
# the MAC address of the box. Custom configuration should be placed in
|
||||
# the actual Vagrantfile in this box.
|
||||
config.vm.base_mac = "${mac_address}"
|
||||
# This is not enough config to be able to use the systemvm .box
|
||||
# See ../vagrant/systemvm/Vagrantfile for the trickery needed
|
||||
end
|
||||
|
||||
# Load include vagrant file if it exists after the auto-generated
|
||||
@ -480,6 +484,7 @@ end
|
||||
include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)
|
||||
load include_vagrantfile if File.exist?(include_vagrantfile)
|
||||
END
|
||||
vboxmanage export "${machine_uuid}" --output "box/${appliance_build_name}/box.ovf"
|
||||
( cd box/${appliance_build_name}; tar cf "../${appliance_build_name}.box" . )
|
||||
mv "box/${appliance_build_name}.box" dist/
|
||||
log INFO "${appliance} exported for vagrant: dist/${appliance_build_name}.box"
|
||||
@ -530,7 +535,7 @@ function main() {
|
||||
xen_server_export "${hdd_path}"
|
||||
kvm_export "${hdd_path}"
|
||||
vmware_export "${machine_uuid}" "${hdd_uuid}"
|
||||
vagrant_export "${machine_uuid}" "${hdd_uuid}"
|
||||
vagrant_export "${machine_uuid}"
|
||||
hyperv_export "${hdd_uuid}"
|
||||
add_on_exit log INFO "BUILD SUCCESSFUL"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user