summaryrefslogtreecommitdiff
path: root/scripts/template.ovf
diff options
context:
space:
mode:
authorKim Hagen <kim.sidney@gmail.com>2019-03-18 16:01:29 +0100
committerKim Hagen <kim.sidney@gmail.com>2019-03-18 16:01:29 +0100
commit48bcbfff70c0e7629f7ece72f59aec3c67e8efb4 (patch)
treeaaff57d9a2a57c078d63072e62a962b9e7fb48dd /scripts/template.ovf
parentebd68761207a4d9088e15f63a492cb2c804ad0d4 (diff)
downloadvyos-build-48bcbfff70c0e7629f7ece72f59aec3c67e8efb4.tar.gz
vyos-build-48bcbfff70c0e7629f7ece72f59aec3c67e8efb4.zip
Add vmware ovf build procedure
Diffstat (limited to 'scripts/template.ovf')
-rw-r--r--scripts/template.ovf232
1 files changed, 149 insertions, 83 deletions
diff --git a/scripts/template.ovf b/scripts/template.ovf
index f3624339..b8d3eddc 100644
--- a/scripts/template.ovf
+++ b/scripts/template.ovf
@@ -1,121 +1,187 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Envelope vmw:buildId="build-3018522" 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">
+<?xml version='1.0' encoding='UTF-8'?>
+<ovf:Envelope xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vmw="http://www.vmware.com/schema/ovf">
<References>
<File ovf:href="vyos_vmware_image.vmdk" ovf:id="file1" ovf:size="{{vmdk_file_size}}"/>
</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="{{vmdk_populated_size}}"/>
- </DiskSection>
+ <DeploymentOptionSection>
+ <Info>List of profiles</Info>
+ <Configuration ovf:default="true" ovf:id="1CPU-512MB">
+ <Label ovf:msgid="Small.label">Small</Label>
+ <Description ovf:msgid="Small.description">Minimal hardware profile - 1 vCPU, 512 MB RAM</Description>
+ </Configuration>
+ <Configuration ovf:id="4CPU-16GB">
+ <Label ovf:msgid="Medium.label">Medium</Label>
+ <Description ovf:msgid="Medium.description">Medium hardware profile - 4 vCPUs, 16 GB RAM</Description>
+ </Configuration>
+ <Configuration ovf:id="8CPU-32GB">
+ <Label ovf:msgid="Large.label">Large</Label>
+ <Description ovf:msgid="Large.description">Large hardware profile - 8 vCPUs, 32 GB RAM</Description>
+ </Configuration>
+ </DeploymentOptionSection>
<NetworkSection>
- <Info>The list of logical networks</Info>
- <Network ovf:name="VM Network">
- <Description>The VM Network network</Description>
+ <Info>List of logical networks used in the package</Info>
+ <Network ovf:name="Network 1">
+ <Description ovf:msgid="Network_1.description">Network 1</Description>
</Network>
</NetworkSection>
- <VirtualSystem ovf:id="vm">
+ <vmw:IpAssignmentSection ovf:required="false" vmw:protocols="IPv4 IPv6" vmw:schemes="ovfenv dhcp">
+ <Info>Supported IP assignment schemes</Info>
+ </vmw:IpAssignmentSection>
+ <DiskSection>
+ <Info>Virtual disk information</Info>
+ <Disk ovf:capacity="10" 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>
+ <VirtualSystem ovf:id="VyOS">
<Info>A virtual machine</Info>
- <Name>vyos</Name>
- <OperatingSystemSection ovf:id="1" vmw:osType="other26xLinux64Guest">
- <Info>The kind of installed guest operating system</Info>
+ <ProductSection ovf:required="false">
+ <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>
+ <ProductUrl>https://www.vyos.io</ProductUrl>
+ <VendorUrl>https://sentrium.io/</VendorUrl>
+ <AppUrl/>
+ <Category>Appliance user Settings</Category>
+ <Property ovf:key="password" ovf:type="string" ovf:userConfigurable="true" ovf:value="" ovf:qualifiers="MinLen(8)" ovf:password="true">
+ <Label ovf:msgid="Password.label">Password</Label>
+ <Description ovf:msgid="Password.description">The password for the appliance 'vyos' account. Passwords must be at least 8 characters in length.</Description>
+ </Property>
+ <Property ovf:key="public-keys" ovf:type="string" ovf:value="" ovf:userConfigurable="true">
+ <Label>Public key</Label>
+ <Description>The public ssh key for the appliance 'vyos' account.</Description>
+ </Property>
+ <Category>Appliance IPv4 Network Settings</Category>
+ <Property ovf:key="local-hostname" ovf:type="string" ovf:userConfigurable="true" ovf:value="" ovf:qualifiers="MinLen(0),MaxLen(65535)">
+ <Label>Hostname</Label>
+ <Description>The host name for this virtual machine.</Description>
+ </Property>
+ <Property ovf:key="ip0" ovf:type="string" ovf:userConfigurable="true">
+ <Label>Network IPv4 Address</Label>
+ <Description>The IPv4 address. Leave blank if DHCP is desired.</Description>
+ </Property>
+ <Property ovf:key="netmask0" ovf:type="string" ovf:userConfigurable="true">
+ <Label>Network IPv4 Netmask</Label>
+ <Description>The IPv4 netmask or prefix for this interface. Leave blank if DHCP is desired.</Description>
+ </Property>
+ <Property ovf:key="gateway" ovf:type="string" ovf:userConfigurable="true">
+ <Label>Default Gateway v4</Label>
+ <Description>Default gateway address. Leave blank if DHCP is desired.</Description>
+ </Property>
+ <Property ovf:key="DNS" ovf:type="string" ovf:userConfigurable="true">
+ <Label>Domain Name Servers</Label>
+ <Description>The domain name server IP Addresses for this VM (comma separated). Leave blank if DHCP is desired.</Description>
+ </Property>
+ <Property ovf:key="NTP" ovf:type="string" ovf:userConfigurable="true">
+ <Label>Domain Time Servers</Label>
+ <Description>NTP servers for this VM (comma separated). Leave blank if DHCP is desired.</Description>
+ </Property>
+ </ProductSection>
+ <ProductSection ovf:class="vm" ovf:required="false">
+ <Info>VM specific properties</Info>
+ <Property ovf:key="vmname" ovf:type="string" ovf:value="VyOS"/>
+ </ProductSection>
+ <AnnotationSection>
+ <Info/>
+ <Annotation>VyOS</Annotation>
+ </AnnotationSection>
+ <OperatingSystemSection ovf:id="100" ovf:version="1" vmw:osType="other3xLinux64Guest">
+ <Info>Guest Operating System</Info>
+ <Description>VyOS</Description>
</OperatingSystemSection>
- <VirtualHardwareSection>
- <Info>Virtual hardware requirements</Info>
+ <VirtualHardwareSection ovf:transport="com.vmware.guestInfo" ovf:required="false">
+ <Info>Virtual Hardware Requirements</Info>
<System>
<vssd:ElementName>Virtual Hardware Family</vssd:ElementName>
<vssd:InstanceID>0</vssd:InstanceID>
- <vssd:VirtualSystemIdentifier>vyos</vssd:VirtualSystemIdentifier>
- <vssd:VirtualSystemType>vmx-09</vssd:VirtualSystemType>
+ <vssd:VirtualSystemType>vmx-11</vssd:VirtualSystemType>
</System>
- <Item>
+ <Item configuration="1CPU-512MB">
<rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
- <rasd:Description>Number of Virtual CPUs</rasd:Description>
- <rasd:ElementName>1 virtual CPU(s)</rasd:ElementName>
- <rasd:InstanceID>1</rasd:InstanceID>
+ <rasd:Description>Number of virtual CPUs</rasd:Description>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">1 virtual CPU</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">1</rasd:InstanceID>
<rasd:ResourceType>3</rasd:ResourceType>
<rasd:VirtualQuantity>1</rasd:VirtualQuantity>
</Item>
- <Item>
- <rasd:AllocationUnits>byte * 2^30</rasd:AllocationUnits>
+ <Item configuration="4CPU-16GB">
+ <rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
+ <rasd:Description>Number of virtual CPUs</rasd:Description>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">4 virtual CPUs</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">1</rasd:InstanceID>
+ <rasd:ResourceType>3</rasd:ResourceType>
+ <rasd:VirtualQuantity>4</rasd:VirtualQuantity>
+ </Item>
+ <Item configuration="8CPU-32GB">
+ <rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
+ <rasd:Description>Number of virtual CPUs</rasd:Description>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">8 virtual CPUs</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">1</rasd:InstanceID>
+ <rasd:ResourceType>3</rasd:ResourceType>
+ <rasd:VirtualQuantity>8</rasd:VirtualQuantity>
+ </Item>
+ <Item configuration="1CPU-512MB">
+ <rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits>
<rasd:Description>Memory Size</rasd:Description>
- <rasd:ElementName>1GB of memory</rasd:ElementName>
- <rasd:InstanceID>2</rasd:InstanceID>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">512 MB of memory</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">2</rasd:InstanceID>
<rasd:ResourceType>4</rasd:ResourceType>
- <rasd:VirtualQuantity>1</rasd:VirtualQuantity>
+ <rasd:VirtualQuantity>512</rasd:VirtualQuantity>
+ </Item>
+ <Item configuration="4CPU-16GB">
+ <rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits>
+ <rasd:Description>Memory Size</rasd:Description>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">16 GB of memory</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">2</rasd:InstanceID>
+ <rasd:ResourceType>4</rasd:ResourceType>
+ <rasd:VirtualQuantity>16384</rasd:VirtualQuantity>
+ </Item>
+ <Item configuration="8CPU-32GB">
+ <rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits>
+ <rasd:Description>Memory Size</rasd:Description>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">32 GB of memory</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">2</rasd:InstanceID>
+ <rasd:ResourceType>4</rasd:ResourceType>
+ <rasd:VirtualQuantity>32768</rasd:VirtualQuantity>
</Item>
<Item>
- <rasd:Address>0</rasd:Address>
- <rasd:Description>SCSI Controller</rasd:Description>
- <rasd:ElementName>scsiController0</rasd:ElementName>
- <rasd:InstanceID>3</rasd:InstanceID>
+ <rasd:Address xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">0</rasd:Address>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">SCSI Controller 0 - LSI Logic</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">3</rasd:InstanceID>
<rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
<rasd:ResourceType>6</rasd:ResourceType>
</Item>
<Item>
- <rasd:Address>1</rasd:Address>
- <rasd:Description>IDE Controller</rasd:Description>
- <rasd:ElementName>ideController1</rasd:ElementName>
- <rasd:InstanceID>4</rasd:InstanceID>
- <rasd:ResourceType>5</rasd:ResourceType>
- </Item>
- <Item ovf:required="false">
- <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
- <rasd:ElementName>serial0</rasd:ElementName>
- <rasd:InstanceID>5</rasd:InstanceID>
- <rasd:ResourceType>21</rasd:ResourceType>
- <vmw:Config ovf:required="false" vmw:key="yieldOnPoll" vmw:value="false"/>
- </Item>
- <Item ovf:required="false">
- <rasd:AddressOnParent>0</rasd:AddressOnParent>
- <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
- <rasd:ElementName>cdrom0</rasd:ElementName>
- <rasd:InstanceID>6</rasd:InstanceID>
- <rasd:Parent>5</rasd:Parent>
- <rasd:ResourceType>15</rasd:ResourceType>
- </Item>
- <Item>
<rasd:AddressOnParent>0</rasd:AddressOnParent>
- <rasd:ElementName>disk0</rasd:ElementName>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">disk0</rasd:ElementName>
<rasd:HostResource>ovf:/disk/vmdisk1</rasd:HostResource>
- <rasd:InstanceID>7</rasd:InstanceID>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">4</rasd:InstanceID>
<rasd:Parent>3</rasd:Parent>
<rasd:ResourceType>17</rasd:ResourceType>
</Item>
<Item>
- <rasd:AddressOnParent>2</rasd:AddressOnParent>
+ <rasd:AddressOnParent>1</rasd:AddressOnParent>
<rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
- <rasd:Connection>VM Network</rasd:Connection>
- <rasd:Description>VmxNet3 ethernet adapter on &quot;VM Network&quot;</rasd:Description>
- <rasd:ElementName>ethernet0</rasd:ElementName>
- <rasd:InstanceID>8</rasd:InstanceID>
- <rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType>
+ <rasd:Connection>Network 1</rasd:Connection>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">Ethernet adapter on "Network 1"</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">5</rasd:InstanceID>
+ <rasd:ResourceSubType>vmxnet3</rasd:ResourceSubType>
<rasd:ResourceType>10</rasd:ResourceType>
- <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="false"/>
</Item>
- <Item ovf:required="false">
- <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
- <rasd:ElementName>video</rasd:ElementName>
- <rasd:InstanceID>9</rasd:InstanceID>
- <rasd:ResourceType>24</rasd:ResourceType>
+ <Item>
+ <rasd:Address>0</rasd:Address>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">IDE Controller 0</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">6</rasd:InstanceID>
+ <rasd:ResourceType>5</rasd:ResourceType>
</Item>
- <Item ovf:required="false">
+ <Item>
+ <rasd:AddressOnParent>0</rasd:AddressOnParent>
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
- <rasd:ElementName>vmci</rasd:ElementName>
- <rasd:InstanceID>10</rasd:InstanceID>
- <rasd:ResourceSubType>vmware.vmci</rasd:ResourceSubType>
- <rasd:ResourceType>1</rasd:ResourceType>
+ <rasd:ElementName xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">CD/DVD Drive 1</rasd:ElementName>
+ <rasd:InstanceID xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData">7</rasd:InstanceID>
+ <rasd:Parent>6</rasd:Parent>
+ <rasd:ResourceType>15</rasd:ResourceType>
</Item>
- <vmw:Config ovf:required="false" vmw:key="cpuHotAddEnabled" vmw:value="true"/>
- <vmw:Config ovf:required="false" vmw:key="memoryHotAddEnabled" vmw:value="true"/>
- <vmw:Config ovf:required="false" vmw:key="powerOpInfo.powerOffType" vmw:value="soft"/>
- <vmw:Config ovf:required="false" vmw:key="powerOpInfo.resetType" vmw:value="soft"/>
- <vmw:Config ovf:required="false" vmw:key="powerOpInfo.suspendType" vmw:value="soft"/>
+ <vmw:Config ovf:required="false" vmw:key="tools.syncTimeWithHost" vmw:value="TRUE"/>
</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>
+</ovf:Envelope>