[Kimchi-devel] [PATCH] [WoK 2/5] reload API: control and model changes
Daniel Henrique Barboza
danielhb at linux.vnet.ibm.com
Thu Jan 19 14:28:19 UTC 2017
On 01/19/2017 11:31 AM, Aline Manera wrote:
>
>
> On 01/18/2017 06:55 PM, dhbarboza82 at gmail.com wrote:
>> From: Daniel Henrique Barboza <danielhb at linux.vnet.ibm.com>
>>
>> - added a new action handler called 'reload' in control/config.py
>> - added a method 'reload' in model/config.py that calls
>> 'cherrypy.engine.restart()'.
>>
>> Signed-off-by: Daniel Henrique Barboza <danielhb at linux.vnet.ibm.com>
>> ---
>> src/wok/control/config.py | 4 +++-
>> src/wok/model/config.py | 7 ++++++-
>> 2 files changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/wok/control/config.py b/src/wok/control/config.py
>> index 338306c..62218f9 100644
>> --- a/src/wok/control/config.py
>> +++ b/src/wok/control/config.py
>> @@ -1,7 +1,7 @@
>> #
>> # Project Wok
>> #
>> -# Copyright IBM Corp, 2016
>> +# Copyright IBM Corp, 2016-2017
>> #
>> # This library is free software; you can redistribute it and/or
>> # modify it under the terms of the GNU Lesser General Public
>> @@ -25,6 +25,8 @@ from wok.control.utils import UrlSubNode
>> class Config(Resource):
>> def __init__(self, model, id=None):
>> super(Config, self).__init__(model, id)
>
>> + self.uri_fmt = '/config/%s'
>
> AFAIU, the self.uri_fmt is only required when you have an resource
> name which is not the case of /config API
>
> Do you have any specific reason to set it?
I have the impression that the 'reload' action will not work if I don't
specify
uri_fmt - at least this is why I remember noticing when I first wrote it .
I'll try removing it and if it works as intended I'll resend v5 without it.
>
> Also I'd say to you set self.admin_methods = [POST] so when my patch
> related to authorization get merged, the POST action will be protected
> for only sysadmins.
I'll see if setting self.admin_methods = [POST] without the 'True' argument
in the @URLSubnode will not impact the current behavior (because setting
to 'True' then the whole API is locked by authentication). If no harm is
done
I'll add it in v5.
Daniel
>
>> + self.reload = self.generate_action_handler('reload')
>>
>> @property
>> def data(self):
>> diff --git a/src/wok/model/config.py b/src/wok/model/config.py
>> index 7e8ae4f..57c5ad8 100644
>> --- a/src/wok/model/config.py
>> +++ b/src/wok/model/config.py
>> @@ -1,7 +1,7 @@
>> #
>> # Project Wok
>> #
>> -# Copyright IBM Corp, 2016
>> +# Copyright IBM Corp, 2016-2017
>> #
>> # This library is free software; you can redistribute it and/or
>> # modify it under the terms of the GNU Lesser General Public
>> @@ -17,6 +17,8 @@
>> # License along with this library; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> +import cherrypy
>> +
>> from wok.config import config, get_version
>>
>>
>> @@ -30,3 +32,6 @@ class ConfigModel(object):
>> 'auth': config.get('authentication', 'method'),
>> 'server_root': config.get('server', 'server_root'),
>> 'version': get_version()}
>> +
>> + def reload(self, name):
>> + cherrypy.engine.restart()
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
More information about the Kimchi-devel
mailing list