]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: Validate `ceph-iscsi` config version 26951/head
authorRicardo Marques <rimarques@suse.com>
Fri, 8 Mar 2019 12:11:54 +0000 (12:11 +0000)
committerRicardo Marques <rimarques@suse.com>
Thu, 14 Mar 2019 09:42:55 +0000 (09:42 +0000)
Signed-off-by: Ricardo Marques <rimarques@suse.com>
(cherry picked from commit b9b2b562ccf5dc6469d11912ee28dd2d932fdb48)

src/pybind/mgr/dashboard/controllers/iscsi.py

index 07f7abe846aedcfb7f0ba863015ae29f020e747d..5342a4463b59244ff52b250e57c9f7344c685d9e 100644 (file)
@@ -23,6 +23,8 @@ from ..tools import TaskManager
 @UiApiController('/iscsi', Scope.ISCSI)
 class IscsiUi(BaseController):
 
+    REQUIRED_CEPH_ISCSI_CONFIG_VERSION = 8
+
     @Endpoint()
     @ReadPermission
     def status(self):
@@ -31,7 +33,12 @@ class IscsiUi(BaseController):
             status['message'] = 'There are no gateways defined'
             return status
         try:
-            IscsiClient.instance().get_config()
+            config = IscsiClient.instance().get_config()
+            if config['version'] != IscsiUi.REQUIRED_CEPH_ISCSI_CONFIG_VERSION:
+                status['message'] = 'Unsupported `ceph-iscsi` config version. Expected {} but ' \
+                                    'found {}.'.format(IscsiUi.REQUIRED_CEPH_ISCSI_CONFIG_VERSION,
+                                                       config['version'])
+                return status
             status['available'] = True
         except RequestException as e:
             if e.content: