From eeb87d3e4270449bf06fe522ba7292e51cf3afa9 Mon Sep 17 00:00:00 2001 From: Ricardo Marques Date: Mon, 23 Apr 2018 22:15:48 +0100 Subject: [PATCH] mgr/dashboard: Add RBD default features REST API endpoint Signed-off-by: Ricardo Marques --- qa/tasks/mgr/dashboard/test_rbd.py | 6 ++++++ src/pybind/mgr/dashboard/controllers/rbd.py | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/qa/tasks/mgr/dashboard/test_rbd.py b/qa/tasks/mgr/dashboard/test_rbd.py index 1d5164b6ad3d..85ffa01a47c2 100644 --- a/qa/tasks/mgr/dashboard/test_rbd.py +++ b/qa/tasks/mgr/dashboard/test_rbd.py @@ -537,3 +537,9 @@ class RbdTest(DashboardTestCase): self.remove_image('rbd_iscsi', 'img1_snapf_clone') self.assertStatus(204) + + def test_default_features(self): + default_features = self._get('/api/block/image/default_features') + self.assertEqual(default_features, ['deep-flatten', 'exclusive-lock', + 'fast-diff', 'layering', + 'object-map']) diff --git a/src/pybind/mgr/dashboard/controllers/rbd.py b/src/pybind/mgr/dashboard/controllers/rbd.py index 1642b3b6bc75..8fa5abca18a8 100644 --- a/src/pybind/mgr/dashboard/controllers/rbd.py +++ b/src/pybind/mgr/dashboard/controllers/rbd.py @@ -361,6 +361,11 @@ class Rbd(RESTController): return _rbd_image_call(pool_name, image_name, _flatten) + @RESTController.collection(['GET']) + def default_features(self): + rbd_default_features = mgr.get('config')['rbd_default_features'] + return _format_bitmask(int(rbd_default_features)) + @ApiController('block/image/:pool_name/:image_name/snap') @AuthRequired() -- 2.47.3