Blame SOURCES/bz1846733-gcp-vpc-move-vip-2-fix-list-sort.patch

fc07e0
From 2b22a14a128b87214bfb1ece221274aac78ba81b Mon Sep 17 00:00:00 2001
fc07e0
From: Reid Wahl <nrwahl@protonmail.com>
fc07e0
Date: Tue, 18 Aug 2020 18:43:13 -0700
fc07e0
Subject: [PATCH] gcp-vpc-move-vip: Fix sort for list of dicts in python3
fc07e0
fc07e0
python2 sorts a list of dicts of `{'ipCidrRange': <alias>}` correctly by
fc07e0
default. python3 fails with a TypeError:
fc07e0
fc07e0
`TypeError: '<' not supported between instances of 'dict' and 'dict'`
fc07e0
fc07e0
Fix this by using the key parameter of sorted(). python2 also supports
fc07e0
this.
fc07e0
fc07e0
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>
fc07e0
---
fc07e0
 heartbeat/gcp-vpc-move-vip.in | 3 ++-
fc07e0
 1 file changed, 2 insertions(+), 1 deletion(-)
fc07e0
fc07e0
diff --git a/heartbeat/gcp-vpc-move-vip.in b/heartbeat/gcp-vpc-move-vip.in
fc07e0
index 85d59f6bb..01d91a59d 100755
fc07e0
--- a/heartbeat/gcp-vpc-move-vip.in
fc07e0
+++ b/heartbeat/gcp-vpc-move-vip.in
fc07e0
@@ -200,7 +200,8 @@ def add_rm_alias(mode, project, zone, instance, alias, alias_range_name=None):
fc07e0
     else:
fc07e0
       raise ValueError('Invalid value for mode: {}'.format(mode))
fc07e0
 
fc07e0
-  if (sorted(new_aliases) != sorted(old_aliases)):
fc07e0
+  if (sorted(new_aliases, key=lambda item: item.get('ipCidrRange'))
fc07e0
+      != sorted(old_aliases, key=lambda item: item.get('ipCidrRange'))):
fc07e0
     set_aliases(project, zone, instance, new_aliases, fingerprint)
fc07e0
     return True
fc07e0
   else: