mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-23 22:51:03 +02:00
Merge pull request #413 from crawford/vmx
build_library: various VMware improvements
This commit is contained in:
commit
a231ef0bab
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Envelope vmw:buildId="build-1474528" xmlns="http://schemas.dmtf.org/ovf/envelope/1" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
<Envelope vmw:buildId="build-1474528" xmlns="http://schemas.dmtf.org/ovf/envelope/1" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<References>
|
<References>
|
||||||
<File ovf:href="@@NAME@@-disk1.vmdk" ovf:id="file1" ovf:size="@@VMDK_FILE_SIZE@@"/>
|
<File ovf:href="@@NAME@@.vmdk" ovf:id="file1" ovf:size="@@VMDK_FILE_SIZE@@"/>
|
||||||
</References>
|
</References>
|
||||||
<DiskSection>
|
<DiskSection>
|
||||||
<Info>Virtual disk information</Info>
|
<Info>Virtual disk information</Info>
|
||||||
@ -16,7 +16,7 @@
|
|||||||
<VirtualSystem ovf:id="@@NAME@@">
|
<VirtualSystem ovf:id="@@NAME@@">
|
||||||
<Info>A virtual machine</Info>
|
<Info>A virtual machine</Info>
|
||||||
<Name>@@NAME@@</Name>
|
<Name>@@NAME@@</Name>
|
||||||
<OperatingSystemSection ovf:id="100" vmw:osType="other26xLinux64Guest">
|
<OperatingSystemSection ovf:id="101" vmw:osType="otherLinux64Guest">
|
||||||
<Info>The kind of installed guest operating system</Info>
|
<Info>The kind of installed guest operating system</Info>
|
||||||
</OperatingSystemSection>
|
</OperatingSystemSection>
|
||||||
<VirtualHardwareSection>
|
<VirtualHardwareSection>
|
@ -108,6 +108,9 @@ IMG_DEFAULT_BUNDLE_FORMAT=
|
|||||||
# Memory size to use in any config files
|
# Memory size to use in any config files
|
||||||
IMG_DEFAULT_MEM=1024
|
IMG_DEFAULT_MEM=1024
|
||||||
|
|
||||||
|
# Number of CPUs to use in any config files
|
||||||
|
IMG_DEFAULT_CPUS=2
|
||||||
|
|
||||||
## qemu
|
## qemu
|
||||||
IMG_qemu_DISK_FORMAT=qcow2
|
IMG_qemu_DISK_FORMAT=qcow2
|
||||||
IMG_qemu_DISK_LAYOUT=vm
|
IMG_qemu_DISK_LAYOUT=vm
|
||||||
@ -133,7 +136,7 @@ IMG_xen_CONF_FORMAT=xl
|
|||||||
## virtualbox
|
## virtualbox
|
||||||
IMG_virtualbox_DISK_FORMAT=vmdk_ide
|
IMG_virtualbox_DISK_FORMAT=vmdk_ide
|
||||||
IMG_virtualbox_DISK_LAYOUT=vm
|
IMG_virtualbox_DISK_LAYOUT=vm
|
||||||
IMG_virtualbox_CONF_FORMAT=ovf
|
IMG_virtualbox_CONF_FORMAT=ovf_virtualbox
|
||||||
|
|
||||||
## vagrant
|
## vagrant
|
||||||
IMG_vagrant_FS_HOOK=box
|
IMG_vagrant_FS_HOOK=box
|
||||||
@ -158,9 +161,10 @@ IMG_vmware_CONF_FORMAT=vmx
|
|||||||
IMG_vmware_OEM_PACKAGE=oem-vmware
|
IMG_vmware_OEM_PACKAGE=oem-vmware
|
||||||
|
|
||||||
## vmware
|
## vmware
|
||||||
IMG_vmware_ova_DISK_FORMAT=vmdk_scsi
|
IMG_vmware_ova_DISK_FORMAT=vmdk_stream
|
||||||
IMG_vmware_ova_DISK_LAYOUT=vm
|
IMG_vmware_ova_DISK_LAYOUT=vm
|
||||||
IMG_vmware_ova_OEM_PACKAGE=oem-vmware
|
IMG_vmware_ova_OEM_PACKAGE=oem-vmware
|
||||||
|
IMG_vmware_ova_CONF_FORMAT=ovf_vmware
|
||||||
IMG_vmware_ova_BUNDLE_FORMAT=ova
|
IMG_vmware_ova_BUNDLE_FORMAT=ova
|
||||||
|
|
||||||
## vmware_insecure
|
## vmware_insecure
|
||||||
@ -682,7 +686,7 @@ ethernet0.addressType = "generated"
|
|||||||
ethernet0.present = "TRUE"
|
ethernet0.present = "TRUE"
|
||||||
ethernet0.virtualDev = "vmxnet3"
|
ethernet0.virtualDev = "vmxnet3"
|
||||||
floppy0.present = "FALSE"
|
floppy0.present = "FALSE"
|
||||||
guestOS = "other26xlinux-64"
|
guestOS = "otherlinux-64"
|
||||||
memsize = "${vm_mem}"
|
memsize = "${vm_mem}"
|
||||||
powerType.powerOff = "soft"
|
powerType.powerOff = "soft"
|
||||||
powerType.powerOn = "hard"
|
powerType.powerOn = "hard"
|
||||||
@ -822,7 +826,7 @@ EOF
|
|||||||
VM_GENERATED_FILES+=( "${pygrub}" "${pvgrub}" "${VM_README}" )
|
VM_GENERATED_FILES+=( "${pygrub}" "${pvgrub}" "${VM_README}" )
|
||||||
}
|
}
|
||||||
|
|
||||||
_write_ovf_conf() {
|
_write_ovf_virtualbox_conf() {
|
||||||
local vm_mem="${1:-$(_get_vm_opt MEM)}"
|
local vm_mem="${1:-$(_get_vm_opt MEM)}"
|
||||||
local src_name=$(basename "$VM_SRC_IMG")
|
local src_name=$(basename "$VM_SRC_IMG")
|
||||||
local dst_name=$(basename "$VM_DST_IMG")
|
local dst_name=$(basename "$VM_DST_IMG")
|
||||||
@ -888,8 +892,7 @@ _write_niftycloud_conf() {
|
|||||||
local vm_mem="${1:-$(_get_vm_opt MEM)}"
|
local vm_mem="${1:-$(_get_vm_opt MEM)}"
|
||||||
local src_name=$(basename "$VM_SRC_IMG")
|
local src_name=$(basename "$VM_SRC_IMG")
|
||||||
local dst_name=$(basename "$VM_DST_IMG")
|
local dst_name=$(basename "$VM_DST_IMG")
|
||||||
local dst_dir=$(dirname "$VM_DST_IMG")
|
local ovf="$(_dst_dir)/$(_src_to_dst_name "${src_name}" ".ovf")"
|
||||||
local ovf="${dst_dir}/$(_src_to_dst_name "${src_name}" ".ovf")"
|
|
||||||
|
|
||||||
"${BUILD_LIBRARY_DIR}/niftycloud_ovf.sh" \
|
"${BUILD_LIBRARY_DIR}/niftycloud_ovf.sh" \
|
||||||
--vm_name "$VM_NAME" \
|
--vm_name "$VM_NAME" \
|
||||||
@ -905,6 +908,24 @@ EOF
|
|||||||
VM_GENERATED_FILES+=( "$ovf" )
|
VM_GENERATED_FILES+=( "$ovf" )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_write_ovf_vmware_conf() {
|
||||||
|
local vm_mem="${1:-$(_get_vm_opt MEM)}"
|
||||||
|
local vm_cpus="$(_get_vm_opt CPUS)"
|
||||||
|
local vmdk_file_size=$(du --bytes "${VM_DST_IMG}" | cut -f1)
|
||||||
|
local vmdk_capacity=$(vmdk-convert -i "${VM_DST_IMG}" | jq .capacity)
|
||||||
|
local ovf="$(_dst_path ".ovf")"
|
||||||
|
|
||||||
|
sed "${BUILD_LIBRARY_DIR}/template_vmware.ovf" \
|
||||||
|
-e "s/@@NAME@@/$(_dst_name)/g" \
|
||||||
|
-e "s/@@VMDK_FILE_SIZE@@/${vmdk_file_size}/g" \
|
||||||
|
-e "s/@@VMDK_CAPACITY@@/${vmdk_capacity}/g" \
|
||||||
|
-e "s/@@NUM_CPUS@@/${vm_cpus}/g" \
|
||||||
|
-e "s/@@MEM_SIZE@@/${vm_mem}/g" \
|
||||||
|
> "${ovf}"
|
||||||
|
|
||||||
|
VM_GENERATED_FILES+=( "$ovf" )
|
||||||
|
}
|
||||||
|
|
||||||
# If this is a bundled format generate it!
|
# If this is a bundled format generate it!
|
||||||
write_vm_bundle() {
|
write_vm_bundle() {
|
||||||
local bundle_format=$(_get_vm_opt BUNDLE_FORMAT)
|
local bundle_format=$(_get_vm_opt BUNDLE_FORMAT)
|
||||||
@ -945,9 +966,19 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
_write_ova_bundle() {
|
_write_ova_bundle() {
|
||||||
vmdk-convert ${VM_DST_IMG} ${VM_TMP_DIR}/vm.vmdk
|
local mf="$(_dst_name ".mf")"
|
||||||
( cd $(_dst_dir) && mkova.sh $(_dst_name) ${VM_TMP_DIR}/vm.vmdk ${BUILD_LIBRARY_DIR}/template.ovf)
|
local vmdk="$(basename ${VM_DST_IMG})"
|
||||||
VM_GENERATED_FILES+=$(_dst_dir)/$(_dst_name ".ova")
|
local ovf=$(_dst_name ".ovf")
|
||||||
|
|
||||||
|
cp "${VM_DST_IMG}" "${VM_TMP_DIR}/${vmdk}"
|
||||||
|
cp "$(_dst_dir)/${ovf}" "${VM_TMP_DIR}/${ovf}"
|
||||||
|
|
||||||
|
echo "SHA1(${vmdk})= $(sha1sum "${VM_TMP_DIR}/${vmdk}" | cut -d' ' -f1)" > "${VM_TMP_DIR}/${mf}"
|
||||||
|
echo "SHA1(${ovf})= $(sha1sum "${VM_TMP_DIR}/${ovf}" | cut -d' ' -f1)" >> "${VM_TMP_DIR}/${mf}"
|
||||||
|
|
||||||
|
tar -cf $(_dst_path ".ova") -C "${VM_TMP_DIR}" "${ovf}" "${mf}" "${vmdk}"
|
||||||
|
|
||||||
|
VM_GENERATED_FILES+=( $(_dst_path ".ova") "${VM_DST_IMG}" )
|
||||||
}
|
}
|
||||||
|
|
||||||
_write_secure_demo_disk() {
|
_write_secure_demo_disk() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user