]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/nfs: Check if transport or protocol are list instance
authorVarsha Rao <varao@redhat.com>
Sat, 10 Apr 2021 07:38:56 +0000 (13:08 +0530)
committerVarsha Rao <varao@redhat.com>
Thu, 22 Apr 2021 06:08:30 +0000 (11:38 +0530)
This is to fix "int object is not iterableā€ error.

Signed-off-by: Varsha Rao <varao@redhat.com>
src/pybind/mgr/nfs/export/export_utils.py

index e7a9343d1050189bfb5257d38992ea0fa87bd66d..2cfe00f8220b221602158a96220af5d7eddc113a 100644 (file)
@@ -261,6 +261,14 @@ class Export:
         client_blocks = [b for b in export_block['_blocks_']
                          if b['block_name'] == "CLIENT"]
 
+        protocols = export_block.get('protocols')
+        if not isinstance(protocols, list):
+            protocols = [protocols]
+
+        transports = export_block.get('transports')
+        if not isinstance(transports, list):
+            transports = [transports]
+
         return cls(export_block['export_id'],
                    export_block['path'],
                    cluster_id,
@@ -268,8 +276,8 @@ class Export:
                    export_block['access_type'],
                    export_block['squash'],
                    export_block['security_label'],
-                   export_block['protocols'],
-                   export_block['transports'],
+                   protocols,
+                   transports,
                    CephFSFSal.from_fsal_block(fsal_block[0]),
                    [Client.from_client_block(client)
                     for client in client_blocks])