from ganeti import errors
from ganeti import ovf
from ganeti import utils
+from ganeti import pathutils
import testutils
"AllocationSettingData\" xmlns:vssd=\"http://schemas.dmtf.org"
"/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData\""
" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" />")
-EXPORT_DISKS_EMPTY = "<References /><DiskSection />"
+EXPORT_DISKS_EMPTY = ("<References /><DiskSection><Info>Virtual disk"
+ " information</Info></DiskSection>")
EXPORT_DISKS = ("<References><File ovf:compression=\"gzip\" ovf:href=\"new_disk"
".cow.gz\" ovf:id=\"file0\" ovf:size=\"203\" /><File ovf:href="
"\"new_disk.cow\" ovf:id=\"file1\" ovf:size=\"15\" />"
- "</References><DiskSection><Disk ovf:capacity=\"90000\""
- " ovf:diskId=\"disk0\" ovf:fileRef=\"file0\" ovf:format=\"http"
- "://www.vmware.com/interfaces/specifications/vmdk.html"
- "#monolithicSparse\" /><Disk ovf:capacity=\"15\" ovf:diskId="
- "\"disk1\" ovf:fileRef=\"file1\" ovf:format=\"http://www.gnome"
- ".org/~markmc/qcow-image-format.html\" /></DiskSection>")
-EXPORT_NETWORKS_EMPTY = "<NetworkSection />"
-EXPORT_NETWORKS = ("<NetworkSection><Network ovf:name=\"routed0\" />"
- "</NetworkSection>")
+ "</References><DiskSection><Info>Virtual disk information"
+ "</Info><Disk ovf:capacity=\"90000\" ovf:diskId=\"disk0\" ovf"
+ ":fileRef=\"file0\" ovf:format=\"http://www.vmware.com/"
+ "interfaces/specifications/vmdk.html#monolithicSparse\" /><Disk"
+ " ovf:capacity=\"15\" ovf:diskId=\"disk1\" ovf:fileRef"
+ "=\"file1\" ovf:format=\"http://www.gnome.org/~markmc/qcow"
+ "-image-format.html\" /></DiskSection>")
+EXPORT_NETWORKS_EMPTY = ("<NetworkSection><Info>List of logical networks</Info>"
+ "</NetworkSection>")
+EXPORT_NETWORKS = ("<NetworkSection><Info>List of logical networks</Info>"
+ "<Network ovf:name=\"routed0\" /></NetworkSection>")
EXPORT_GANETI_INCOMPLETE = ("<gnt:GanetiSection><gnt:Version>0</gnt:Version>"
"<gnt:AutoBalance>True</gnt:AutoBalance><gnt:"
"OperatingSystem><gnt:Name>lenny-image</gnt:Name>"
EXPORT_SYSTEM = ("<References><File ovf:compression=\"gzip\" ovf:href=\"new_"
"disk.cow.gz\" ovf:id=\"file0\" ovf:size=\"203\" /><File ovf:"
"href=\"new_disk.cow\" ovf:id=\"file1\" ovf:size=\"15\" />"
- "</References><DiskSection><Disk ovf:capacity=\"90000\" ovf:"
- "diskId=\"disk0\" ovf:fileRef=\"file0\" ovf:format=\"http://"
- "www.vmware.com/interfaces/specifications/vmdk.html#monolithic"
- "Sparse\" /><Disk ovf:capacity=\"15\" ovf:diskId=\"disk1\""
- " ovf:fileRef=\"file1\" ovf:format=\"http://www.gnome.org/"
- "~markmc/qcow-image-format.html\" /></DiskSection><Network"
- "Section><Network ovf:name=\"routed0\" /></NetworkSection>"
- "<VirtualSystem ovf:id=\"xen-dev-i1\"><Name>xen-dev-i1</Name>"
- "<OperatingSystemSection ovf:id=\"0\" /><VirtualHardware"
- "Section><System><vssd:ElementName>Virtual Hardware Family"
- "</vssd:ElementName><vssd:InstanceId>0</vssd:InstanceId><vssd:"
+ "</References><DiskSection><Info>Virtual disk information"
+ "</Info><Disk ovf:capacity=\"90000\" ovf:diskId=\"disk0\""
+ " ovf:fileRef=\"file0\" ovf:format=\"http://www.vmware.com"
+ "/interfaces/specifications/vmdk.html#monolithicSparse\" />"
+ "<Disk ovf:capacity=\"15\" ovf:diskId=\"disk1\" ovf:fileRef"
+ "=\"file1\" ovf:format=\"http://www.gnome.org/~markmc/qcow"
+ "-image-format.html\" /></DiskSection><NetworkSection><Info>"
+ "List of logical networks</Info><Network ovf:name=\"routed0\""
+ " /></NetworkSection><VirtualSystem ovf:id=\"xen-dev-i1\">"
+ "<Info>A virtual machine</Info><Name>xen-dev-i1</Name>"
+ "<OperatingSystemSection ovf:id=\"0\"><Info>Installed guest"
+ " operating system</Info></OperatingSystemSection><Virtual"
+ "HardwareSection><Info>Virtual hardware requirements</Info>"
+ "<System><vssd:ElementName>Virtual Hardware Family"
+ "</vssd:ElementName><vssd:InstanceID>0</vssd:InstanceID><vssd:"
"VirtualSystemIdentifier>xen-dev-i1</vssd:VirtualSystem"
"Identifier><vssd:VirtualSystemType>ganeti-ovf</vssd:Virtual"
"SystemType></System><Item><rasd:ElementName>1 virtual CPU(s)"
"InstanceID><rasd:ResourceType>4</rasd:ResourceType><rasd:"
"VirtualQuantity>512</rasd:VirtualQuantity></Item><Item>"
"<rasd:Address>0</rasd:Address><rasd:ElementName>scsi"
- "_controller0</rasd:ElementName><rasd:ResourceType>6</rasd"
- ":ResourceType><rasd:InstanceId>3</rasd:InstanceId></Item>"
- "<Item><rasd:ElementName>disk0</rasd:ElementName><rasd:"
- "ResourceType>17</rasd:ResourceType><rasd:HostResource>ovf:/"
- "disk/disk0</rasd:HostResource><rasd:Parent>3</rasd:Parent>"
- "<rasd:InstanceID>4</rasd:InstanceID></Item><Item><rasd:"
- "ElementName>disk1</rasd:ElementName><rasd:ResourceType>17"
- "</rasd:ResourceType><rasd:HostResource>ovf:/disk/disk1</rasd:"
- "HostResource><rasd:Parent>3</rasd:Parent><rasd:InstanceID>5"
- "</rasd:InstanceID></Item><Item><rasd:ElementName>routed0"
- "</rasd:ElementName><rasd:ResourceType>10</rasd:ResourceType>"
- "<rasd:Connection>routed0</rasd:Connection><rasd:Address>aa:00"
- ":00:d8:2c:1e</rasd:Address><rasd:InstanceID>6</rasd:Instance"
- "ID></Item></VirtualHardwareSection></VirtualSystem>")
+ "_controller0</rasd:ElementName><rasd:InstanceID>3"
+ "</rasd:InstanceID><rasd:ResourceSubType>lsilogic</rasd"
+ ":ResourceSubType><rasd:ResourceType>6</rasd:ResourceType>"
+ "</Item><Item><rasd:ElementName>disk0</rasd:ElementName><rasd"
+ ":HostResource>ovf:/disk/disk0</rasd:HostResource><rasd"
+ ":InstanceID>4</rasd:InstanceID><rasd:Parent>3</rasd:Parent>"
+ "<rasd:ResourceType>17</rasd:ResourceType></Item><Item><rasd:"
+ "ElementName>disk1</rasd:ElementName><rasd:HostResource>ovf:/"
+ "disk/disk1</rasd:HostResource><rasd:InstanceID>5</rasd"
+ ":InstanceID><rasd:Parent>3</rasd:Parent><rasd:ResourceType>17"
+ "</rasd:ResourceType></Item><Item><rasd:Address>aa:00"
+ ":00:d8:2c:1e</rasd:Address><rasd:Connection>routed0</rasd"
+ ":Connection><rasd:ElementName>routed0</rasd:ElementName><rasd"
+ ":InstanceID>6</rasd:InstanceID><rasd:ResourceType>10</rasd"
+ ":ResourceType></Item></VirtualHardwareSection>"
+ "</VirtualSystem>")
def _GetArgs(args, with_name=False):
def testOVAUnpackingDirectories(self):
self.importer = ovf.OVFImporter(self.ova_package, OPTS_EMPTY)
self.assertTrue(self.importer.input_dir != None)
- self.assertEquals(self.importer.output_dir , constants.EXPORT_DIR)
+ self.assertEquals(self.importer.output_dir , pathutils.EXPORT_DIR)
self.assertTrue(self.importer.temp_dir != None)
def testOVFUnpackingDirectories(self):
self.importer = ovf.OVFImporter(self.virtualbox_ovf,
OPTS_EMPTY)
self.assertEquals(self.importer.input_dir , _GetFullFilename(""))
- self.assertEquals(self.importer.output_dir , constants.EXPORT_DIR)
+ self.assertEquals(self.importer.output_dir , pathutils.EXPORT_DIR)
self.assertEquals(self.importer.temp_dir , None)
def testOVFSetOutputDirDirectories(self):