Просмотр исходного кода

Fix label change on py2 for GCE

Enis Afgan 7 лет назад
Родитель
Сommit
ba1f2f90fc
1 измененных файлов с 4 добавлено и 2 удалено
  1. 4 2
      cloudbridge/cloud/providers/gce/helpers.py

+ 4 - 2
cloudbridge/cloud/providers/gce/helpers.py

@@ -164,12 +164,14 @@ def __if_label_fingerprint_differs(e):
 def change_label(resource, key, value, res_att, request):
     resource.assert_valid_resource_label(value)
     labels = getattr(resource, res_att).get("labels", {})
-    print(labels)
+    # The returned value from above command yields a unicode dict key, which
+    # cannot be be simply cast into a str for py2 so pop the key and re-add it
+    labels.pop(key, None)
     labels[key] = value
     request_body = {
         "labels": labels,
         "labelFingerprint":
-            getattr(resource, res_att).get('labelFingerprint'),
+            str(getattr(resource, res_att).get('labelFingerprint')),
     }
     try:
         request.body = str(request_body)