Browse code

Fix bug #61924 with API version check

Simon Dodsley authored on 2019/09/06 22:52:08
Showing 2 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,2 @@
0
+bugfixes:
1
+- purefa_facts - Fix bug which causes module failure when selecting I(admins) or I(all) against an old Purity version
... ...
@@ -336,6 +336,7 @@ from ansible.module_utils.basic import AnsibleModule
336 336
 from ansible.module_utils.pure import get_system, purefa_argument_spec
337 337
 
338 338
 
339
+ADMIN_API_VERSION = '1.14'
339 340
 S3_REQUIRED_API_VERSION = '1.16'
340 341
 LATENCY_REQUIRED_API_VERSION = '1.16'
341 342
 AC_REQUIRED_API_VERSION = '1.14'
... ...
@@ -456,13 +457,15 @@ def generate_config_dict(array):
456 456
 
457 457
 def generate_admin_dict(array):
458 458
     admin_facts = {}
459
-    admins = array.list_admins()
460
-    for admin in range(0, len(admins)):
461
-        admin_name = admins[admin]['name']
462
-        admin_facts[admin_name] = {
463
-            'type': admins[admin]['type'],
464
-            'role': admins[admin]['role'],
465
-        }
459
+    api_version = array._list_available_rest_versions()
460
+    if ADMIN_API_VERSION in api_version:
461
+        admins = array.list_admins()
462
+        for admin in range(0, len(admins)):
463
+            admin_name = admins[admin]['name']
464
+            admin_facts[admin_name] = {
465
+                'type': admins[admin]['type'],
466
+                'role': admins[admin]['role'],
467
+            }
466 468
     return admin_facts
467 469
 
468 470