
From: Royce Lv <lvroyce@linux.vnet.ibm.com> Add json schema to validate mandatory param of target_type, also update controller.py. Reload the get_list function because we don't need to query each target. Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com> --- src/kimchi/API.json | 11 +++++++++++ src/kimchi/control/storageservers.py | 14 ++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/kimchi/API.json b/src/kimchi/API.json index 9b86164..e942824 100644 --- a/src/kimchi/API.json +++ b/src/kimchi/API.json @@ -248,6 +248,17 @@ }, "additionalProperties": false }, + "storagetargets_get_list": { + "type": "object", + "properties": { + "_target_type": { + "description": "List storage servers of given type", + "type": "string", + "pattern": "^netfs$" + } + }, + "additionalProperties": false + }, "template_update": { "type": "object", "properties": { diff --git a/src/kimchi/control/storageservers.py b/src/kimchi/control/storageservers.py index c692fae..7f89bcc 100644 --- a/src/kimchi/control/storageservers.py +++ b/src/kimchi/control/storageservers.py @@ -39,3 +39,17 @@ class StorageServer(Resource): @property def data(self): return self.info + + +class StorageTargets(Collection): + def __init__(self, model, server): + super(StorageTargets, self).__init__(model) + self.server = server + self.resource_args = [self.server, ] + self.model_args = [self.server, ] + + def get(self, filter_params): + res_list = [] + get_list = getattr(self.model, model_fn(self, 'get_list')) + res_list = get_list(*self.model_args, **filter_params) + return kimchi.template.render(get_class_name(self), res_list) -- 1.8.1.2