93 lines
2.9 KiB
Diff
93 lines
2.9 KiB
Diff
|
Subject: virtconv: Don't implicitly depend on dict hash order
|
||
|
From: Cole Robinson crobinso@redhat.com Fri Oct 20 16:06:48 2017 -0400
|
||
|
Date: Fri Oct 20 16:13:04 2017 -0400:
|
||
|
Git: d2648d81cc8a9c1ddb7e19b8fe44edaf53ad67ab
|
||
|
|
||
|
|
||
|
diff --git a/tests/virtconv-files/libvirt_output/vmx2libvirt_test-vmx-zip.libvirt b/tests/virtconv-files/libvirt_output/vmx2libvirt_test-vmx-zip.libvirt
|
||
|
index 4cad0203..60055b7d 100644
|
||
|
--- a/tests/virtconv-files/libvirt_output/vmx2libvirt_test-vmx-zip.libvirt
|
||
|
+++ b/tests/virtconv-files/libvirt_output/vmx2libvirt_test-vmx-zip.libvirt
|
||
|
@@ -6,7 +6,6 @@
|
||
|
<vcpu>1</vcpu>
|
||
|
<os>
|
||
|
<type arch="x86_64">hvm</type>
|
||
|
- <boot dev="cdrom"/>
|
||
|
<boot dev="hd"/>
|
||
|
</os>
|
||
|
<features>
|
||
|
@@ -28,15 +27,15 @@
|
||
|
</pm>
|
||
|
<devices>
|
||
|
<emulator>/usr/bin/qemu-kvm</emulator>
|
||
|
- <disk type="file" device="cdrom">
|
||
|
- <driver type="raw"/>
|
||
|
- <target dev="hda" bus="ide"/>
|
||
|
- <readonly/>
|
||
|
- </disk>
|
||
|
<disk type="file" device="disk">
|
||
|
<driver name="qemu"/>
|
||
|
<source file="/var/lib/libvirt/images/MS-DOS"/>
|
||
|
+ <target dev="hda" bus="ide"/>
|
||
|
+ </disk>
|
||
|
+ <disk type="file" device="cdrom">
|
||
|
+ <driver type="raw"/>
|
||
|
<target dev="hdb" bus="ide"/>
|
||
|
+ <readonly/>
|
||
|
</disk>
|
||
|
<controller type="usb" index="0" model="ich9-ehci1"/>
|
||
|
<controller type="usb" index="0" model="ich9-uhci1">
|
||
|
diff --git a/tests/virtconv-files/libvirt_output/vmx2libvirt_vmx-dir.libvirt b/tests/virtconv-files/libvirt_output/vmx2libvirt_vmx-dir.libvirt
|
||
|
index 803a7424..e72a7184 100644
|
||
|
--- a/tests/virtconv-files/libvirt_output/vmx2libvirt_vmx-dir.libvirt
|
||
|
+++ b/tests/virtconv-files/libvirt_output/vmx2libvirt_vmx-dir.libvirt
|
||
|
@@ -6,7 +6,6 @@
|
||
|
<vcpu>2</vcpu>
|
||
|
<os>
|
||
|
<type arch="x86_64">hvm</type>
|
||
|
- <boot dev="cdrom"/>
|
||
|
<boot dev="hd"/>
|
||
|
</os>
|
||
|
<features>
|
||
|
@@ -28,15 +27,15 @@
|
||
|
</pm>
|
||
|
<devices>
|
||
|
<emulator>/usr/bin/qemu-kvm</emulator>
|
||
|
- <disk type="file" device="cdrom">
|
||
|
- <target dev="hda" bus="ide"/>
|
||
|
- <readonly/>
|
||
|
- </disk>
|
||
|
<disk type="file" device="disk">
|
||
|
<driver name="qemu"/>
|
||
|
<source file="/var/lib/libvirt/images/ESX4.0-rhel4u8-32b-flat"/>
|
||
|
<target dev="sda" bus="scsi"/>
|
||
|
</disk>
|
||
|
+ <disk type="file" device="cdrom">
|
||
|
+ <target dev="hda" bus="ide"/>
|
||
|
+ <readonly/>
|
||
|
+ </disk>
|
||
|
<controller type="usb" index="0" model="ich9-ehci1"/>
|
||
|
<controller type="usb" index="0" model="ich9-uhci1">
|
||
|
<master startport="0"/>
|
||
|
diff --git a/virtconv/vmx.py b/virtconv/vmx.py
|
||
|
index fc6a5264..3be19e5c 100644
|
||
|
--- a/virtconv/vmx.py
|
||
|
+++ b/virtconv/vmx.py
|
||
|
@@ -19,6 +19,7 @@
|
||
|
# MA 02110-1301 USA.
|
||
|
#
|
||
|
|
||
|
+import collections
|
||
|
import logging
|
||
|
import os
|
||
|
import re
|
||
|
@@ -88,7 +89,7 @@ class _VMXFile(object):
|
||
|
(len(self.lines) + 1, line.strip(), e))
|
||
|
|
||
|
def pairs(self):
|
||
|
- ret = {}
|
||
|
+ ret = collections.OrderedDict()
|
||
|
for line in self.lines:
|
||
|
if line.pair:
|
||
|
ret[line.pair[0]] = line.pair[1]
|