Add product section to VMware OVF (ref T14).

This commit is contained in:
Yuya Kusakabe 2016-03-07 23:47:39 +09:00
parent df70d5d177
commit 01083886e1
3 changed files with 14 additions and 4 deletions

View File

@ -43,8 +43,12 @@ qemu-img convert -f raw ${source_image} -O vmdk -o adapter_type=lsilogic ${tmp_v
vmdk-convert ${tmp_vmdk} ${vmdk}
# Generate OVF
vmdk_file_size=$(du --bytes ${vmdk} | awk '{print $1}')
cat scripts/template.ovf | sed "s/{{vmdk_file_size}}/${vmdk_file_size}/" > ${ovf}
vmdk_file_size=$(vmdk-convert -i ${vmdk} | jq .capacity)
vmdk_populated_size=$(vmdk-convert -i ${vmdk} | jq .used)
version=$(cat build/version)
cat scripts/template.ovf | sed "s/{{vmdk_file_size}}/${vmdk_file_size}/" > ${ovf}
sed -i "s/{{vmdk_populated_size}}/${vmdk_populated_size}/" ${ovf}
sed -i "s/{{version}}/${version}/" ${ovf}
# Generate manifest file
cd ${DST_DIR}

View File

@ -26,7 +26,7 @@ import util
deps = {
'packages': [
'make',
'jq',
'qemu-system-x86',
'qemu-utils'
],

View File

@ -5,7 +5,7 @@
</References>
<DiskSection>
<Info>Virtual disk information</Info>
<Disk ovf:capacity="4" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="0"/>
<Disk ovf:capacity="4" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="{{vmdk_populated_size}}"/>
</DiskSection>
<NetworkSection>
<Info>The list of logical networks</Info>
@ -111,5 +111,11 @@
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.resetType" vmw:value="soft"/>
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.suspendType" vmw:value="soft"/>
</VirtualHardwareSection>
<ProductSection>
<Info>VyOS is a Linux-based network operating system that provides software-based network routing, firewall, and VPN functionality.</Info>
<Product>VyOS</Product>
<Vendor>VyOS maintainers and contributors</Vendor>
<Version>{{version}}</Version>
</ProductSection>
</VirtualSystem>
</Envelope>