mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-02-13 22:28:27 +00:00
* Replace "snap download" with tool that uses snap store's coherence feature This is important for parallel image builds to ensure all pre-seeded snaps have the same versions across image variants. * Inject a proxy into the build providing a snapshot view of the package repo. When the REPO_SNAPSHOT_STAMP variable is set, the auto/build script will attempt to launch a transparent HTTP proxy on port 8080, and insert an iptables rule to redirect all outgoing HTTP requests to this proxy. The proxy, contained in the `magic-proxy` Python script, examines each request and silently overrides those pointing to InRelease files or files that are listed in InRelease files. It will instead provide the contents of the requested file as it was at REPO_SNAPSHOT_STAMP, by downloading the corresponding asset "by hash". * Use series files with dependency handling to generate hook symlinks dynamically This patch currently only applies to the "ubuntu-cpc" project. More and more logic has been going into the hook scripts to decide under which conditions they should run or not. As we are moving to parallelized builds of image sets, this will get even more complicated. Base hooks will have to know which image sets they belong to and modification of the dependency chain between scripts will become more complicated and prone to errors, as the number of image sets grows. This patch introduces explicit ordering and dependency handling for scripts through the use of `series` files and an explicit syntax for dependency specification.
181 lines
11 KiB
XML
181 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<Envelope 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>
|
|
<File ovf:href="@@FILENAME1@@" ovf:id="file1" ovf:size="@@VMDK_FILE_SIZE@@"/>
|
|
<File ovf:href="@@FILENAME2@@" ovf:id="file2" ovf:size="@@VMDK_FILE_SIZE2@@"/>
|
|
</References>
|
|
<DiskSection>
|
|
<Info>Virtual disk information</Info>
|
|
<Disk ovf:capacity="@@VMDK_CAPACITY@@" ovf:capacityAllocationUnits="byte" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="0"/>
|
|
<Disk ovf:capacity="@@VMDK_CAPACITY2@@" ovf:capacityAllocationUnits="byte" ovf:diskId="vmdisk2" ovf:fileRef="file2" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="0"/>
|
|
</DiskSection>
|
|
<NetworkSection>
|
|
<Info>The list of logical networks</Info>
|
|
<Network ovf:name="VM Network">
|
|
<Description>The VM Network network</Description>
|
|
</Network>
|
|
</NetworkSection>
|
|
<VirtualSystem ovf:id="@@NAME@@">
|
|
<Info>A virtual machine</Info>
|
|
<Name>@@NAME@@</Name>
|
|
<OperatingSystemSection ovf:id="@@OVF_ID@@" vmw:osType="@@OVF_OS_TYPE@@">
|
|
<Info>The kind of installed guest operating system</Info>
|
|
<Description>Ubuntu Linux (@@OVF_DESC_BITS@@-bit)</Description>
|
|
</OperatingSystemSection>
|
|
|
|
<ProductSection ovf:required="false">
|
|
<Info>Cloud-Init customization</Info>
|
|
<Product>Ubuntu @@VERSION@@ Server (@@DATE@@)</Product>
|
|
<Property ovf:key="instance-id" ovf:type="string" ovf:userConfigurable="true" ovf:value="id-ovf">
|
|
<Label>A Unique Instance ID for this instance</Label>
|
|
<Description>Specifies the instance id. This is required and used to determine if the machine should take "first boot" actions</Description>
|
|
</Property>
|
|
<Property ovf:key="hostname" ovf:type="string" ovf:userConfigurable="true" ovf:value="ubuntuguest">
|
|
<Description>Specifies the hostname for the appliance</Description>
|
|
</Property>
|
|
<Property ovf:key="seedfrom" ovf:type="string" ovf:userConfigurable="true">
|
|
<Label>Url to seed instance data from</Label>
|
|
<Description>This field is optional, but indicates that the instance should 'seed' user-data and meta-data from the given url. If set to 'http://tinyurl.com/sm-' is given, meta-data will be pulled from http://tinyurl.com/sm-meta-data and user-data from http://tinyurl.com/sm-user-data. Leave this empty if you do not want to seed from a url.</Description>
|
|
</Property>
|
|
<Property ovf:key="public-keys" ovf:type="string" ovf:userConfigurable="true" ovf:value="">
|
|
<Label>ssh public keys</Label>
|
|
<Description>This field is optional, but indicates that the instance should populate the default user's 'authorized_keys' with this value</Description>
|
|
</Property>
|
|
<Property ovf:key="user-data" ovf:type="string" ovf:userConfigurable="true" ovf:value="">
|
|
<Label>Encoded user-data</Label>
|
|
<Description>In order to fit into a xml attribute, this value is base64 encoded . It will be decoded, and then processed normally as user-data.</Description>
|
|
<!-- The following represents '#!/bin/sh\necho "hi world"'
|
|
ovf:value="IyEvYmluL3NoCmVjaG8gImhpIHdvcmxkIgo="
|
|
-->
|
|
</Property>
|
|
<Property ovf:key="password" ovf:type="string" ovf:userConfigurable="true" ovf:value="">
|
|
<Label>Default User's password</Label>
|
|
<Description>If set, the default user's password will be set to this value to allow password based login. The password will be good for only a single login. If set to the string 'RANDOM' then a random password will be generated, and written to the console.</Description>
|
|
</Property>
|
|
</ProductSection>
|
|
|
|
<VirtualHardwareSection ovf:transport="iso">
|
|
<Info>Virtual hardware requirements</Info>
|
|
<System>
|
|
<vssd:ElementName>Virtual Hardware Family</vssd:ElementName>
|
|
<vssd:InstanceID>0</vssd:InstanceID>
|
|
<vssd:VirtualSystemIdentifier>@@NAME@@</vssd:VirtualSystemIdentifier>
|
|
<vssd:VirtualSystemType>vmx-10</vssd:VirtualSystemType>
|
|
</System>
|
|
<Item>
|
|
<rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
|
|
<rasd:Description>Number of Virtual CPUs</rasd:Description>
|
|
<rasd:ElementName>@@NUM_CPUS@@ virtual CPU(s)</rasd:ElementName>
|
|
<rasd:InstanceID>1</rasd:InstanceID>
|
|
<rasd:ResourceType>3</rasd:ResourceType>
|
|
<rasd:VirtualQuantity>@@NUM_CPUS@@</rasd:VirtualQuantity>
|
|
</Item>
|
|
<Item>
|
|
<rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits>
|
|
<rasd:Description>Memory Size</rasd:Description>
|
|
<rasd:ElementName>@@MEM_SIZE@@MB of memory</rasd:ElementName>
|
|
<rasd:InstanceID>2</rasd:InstanceID>
|
|
<rasd:ResourceType>4</rasd:ResourceType>
|
|
<rasd:VirtualQuantity>@@MEM_SIZE@@</rasd:VirtualQuantity>
|
|
</Item>
|
|
<Item>
|
|
<rasd:Address>0</rasd:Address>
|
|
<rasd:Description>SCSI Controller</rasd:Description>
|
|
<rasd:ElementName>SCSI Controller 0</rasd:ElementName>
|
|
<rasd:InstanceID>3</rasd:InstanceID>
|
|
<rasd:ResourceSubType>VirtualSCSI</rasd:ResourceSubType>
|
|
<rasd:ResourceType>6</rasd:ResourceType>
|
|
</Item>
|
|
<Item>
|
|
<rasd:Address>1</rasd:Address>
|
|
<rasd:Description>IDE Controller</rasd:Description>
|
|
<rasd:ElementName>VirtualIDEController 1</rasd:ElementName>
|
|
<rasd:InstanceID>4</rasd:InstanceID>
|
|
<rasd:ResourceType>5</rasd:ResourceType>
|
|
</Item>
|
|
<Item>
|
|
<rasd:Address>0</rasd:Address>
|
|
<rasd:Description>IDE Controller</rasd:Description>
|
|
<rasd:ElementName>VirtualIDEController 0</rasd:ElementName>
|
|
<rasd:InstanceID>5</rasd:InstanceID>
|
|
<rasd:ResourceType>5</rasd:ResourceType>
|
|
</Item>
|
|
<Item ovf:required="false">
|
|
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
|
|
<rasd:ElementName>VirtualVideoCard</rasd:ElementName>
|
|
<rasd:InstanceID>6</rasd:InstanceID>
|
|
<rasd:ResourceType>24</rasd:ResourceType>
|
|
<vmw:Config ovf:required="false" vmw:key="enable3DSupport" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="enableMPTSupport" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="use3dRenderer" vmw:value="automatic"/>
|
|
<vmw:Config ovf:required="false" vmw:key="useAutoDetect" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="videoRamSizeInKB" vmw:value="4096"/>
|
|
</Item>
|
|
<Item ovf:required="false">
|
|
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
|
|
<rasd:ElementName>VirtualVMCIDevice</rasd:ElementName>
|
|
<rasd:InstanceID>7</rasd:InstanceID>
|
|
<rasd:ResourceSubType>vmware.vmci</rasd:ResourceSubType>
|
|
<rasd:ResourceType>1</rasd:ResourceType>
|
|
<vmw:Config ovf:required="false" vmw:key="allowUnrestrictedCommunication" vmw:value="false"/>
|
|
</Item>
|
|
<Item ovf:required="false">
|
|
<rasd:AddressOnParent>0</rasd:AddressOnParent>
|
|
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
|
|
<rasd:ElementName>CD-ROM 1</rasd:ElementName>
|
|
<rasd:InstanceID>8</rasd:InstanceID>
|
|
<rasd:Parent>4</rasd:Parent>
|
|
<rasd:ResourceSubType>vmware.cdrom.remotepassthrough</rasd:ResourceSubType>
|
|
<rasd:ResourceType>15</rasd:ResourceType>
|
|
<vmw:Config ovf:required="false" vmw:key="backing.exclusive" vmw:value="false"/>
|
|
</Item>
|
|
<Item>
|
|
<rasd:AddressOnParent>0</rasd:AddressOnParent>
|
|
<rasd:ElementName>Hard Disk 1</rasd:ElementName>
|
|
<rasd:HostResource>ovf:/disk/vmdisk1</rasd:HostResource>
|
|
<rasd:InstanceID>9</rasd:InstanceID>
|
|
<rasd:Parent>3</rasd:Parent>
|
|
<rasd:ResourceType>17</rasd:ResourceType>
|
|
<vmw:Config ovf:required="false" vmw:key="backing.writeThrough" vmw:value="false"/>
|
|
</Item>
|
|
<Item>
|
|
<rasd:AddressOnParent>1</rasd:AddressOnParent>
|
|
<rasd:ElementName>ConfigDriveDisk</rasd:ElementName>
|
|
<rasd:HostResource>ovf:/disk/vmdisk2</rasd:HostResource>
|
|
<rasd:InstanceID>10</rasd:InstanceID>
|
|
<rasd:Parent>3</rasd:Parent>
|
|
<rasd:ResourceType>17</rasd:ResourceType>
|
|
<vmw:Config ovf:required="false" vmw:key="backing.writeThrough" vmw:value="false"/>
|
|
</Item>
|
|
<Item>
|
|
<rasd:AddressOnParent>7</rasd:AddressOnParent>
|
|
<rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
|
|
<rasd:Connection>VM Network</rasd:Connection>
|
|
<rasd:Description>VmxNet3 ethernet adapter on "VM Network"</rasd:Description>
|
|
<rasd:ElementName>Ethernet 1</rasd:ElementName>
|
|
<rasd:InstanceID>11</rasd:InstanceID>
|
|
<rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType>
|
|
<rasd:ResourceType>10</rasd:ResourceType>
|
|
<vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true"/>
|
|
</Item>
|
|
<vmw:Config ovf:required="false" vmw:key="cpuHotAddEnabled" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="cpuHotRemoveEnabled" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="firmware" vmw:value="bios"/>
|
|
<vmw:Config ovf:required="false" vmw:key="virtualICH7MPresent" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="virtualSMCPresent" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="memoryHotAddEnabled" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="nestedHVEnabled" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.powerOffType" vmw:value="preset"/>
|
|
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.resetType" vmw:value="preset"/>
|
|
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.standbyAction" vmw:value="checkpoint"/>
|
|
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.suspendType" vmw:value="preset"/>
|
|
<vmw:Config ovf:required="false" vmw:key="tools.afterPowerOn" vmw:value="true"/>
|
|
<vmw:Config ovf:required="false" vmw:key="tools.afterResume" vmw:value="true"/>
|
|
<vmw:Config ovf:required="false" vmw:key="tools.beforeGuestShutdown" vmw:value="true"/>
|
|
<vmw:Config ovf:required="false" vmw:key="tools.beforeGuestStandby" vmw:value="true"/>
|
|
<vmw:Config ovf:required="false" vmw:key="tools.syncTimeWithHost" vmw:value="false"/>
|
|
<vmw:Config ovf:required="false" vmw:key="tools.toolsUpgradePolicy" vmw:value="manual"/>
|
|
</VirtualHardwareSection>
|
|
</VirtualSystem>
|
|
</Envelope>
|