[pve-devel] [PATCH qemu-server] fix #2748: make order of interfaces consistent

Mira Limbeck m.limbeck at proxmox.com
Thu May 28 16:48:36 CEST 2020


As perl hashes have random order, sort them before iterating through.
This makes the output of 'qm cloudinit dump <vmid> network' consistent
between calls if the config has not changed.

Signed-off-by: Mira Limbeck <m.limbeck at proxmox.com>
---
 PVE/QemuServer/Cloudinit.pm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/PVE/QemuServer/Cloudinit.pm b/PVE/QemuServer/Cloudinit.pm
index b3ae57b..439de99 100644
--- a/PVE/QemuServer/Cloudinit.pm
+++ b/PVE/QemuServer/Cloudinit.pm
@@ -172,7 +172,7 @@ sub configdrive2_network {
     }
 
     my @ifaces = grep(/^net(\d+)$/, keys %$conf);
-    foreach my $iface (@ifaces) {
+    foreach my $iface (sort @ifaces) {
 	(my $id = $iface) =~ s/^net//;
 	next if !$conf->{"ipconfig$id"};
 	my $net = PVE::QemuServer::parse_ipconfig($conf->{"ipconfig$id"});
@@ -252,7 +252,7 @@ sub nocloud_network_v2 {
     my $dns_done;
 
     my @ifaces = grep(/^net(\d+)$/, keys %$conf);
-    foreach my $iface (@ifaces) {
+    foreach my $iface (sort @ifaces) {
 	(my $id = $iface) =~ s/^net//;
 	next if !$conf->{"ipconfig$id"};
 
@@ -323,7 +323,7 @@ sub nocloud_network {
                 . "config:\n";
 
     my @ifaces = grep(/^net(\d+)$/, keys %$conf);
-    foreach my $iface (@ifaces) {
+    foreach my $iface (sort @ifaces) {
 	(my $id = $iface) =~ s/^net//;
 	next if !$conf->{"ipconfig$id"};
 
-- 
2.20.1





More information about the pve-devel mailing list