Is your feature request related to a problem? Please describe.
Yes, I'm using OpenBox as a Service for my thesis, and I feel like this part of the project is being "left behind" (last commit 2 years ago). I've also encountered a few problems:
- in
openbox/artifact/bo_advice/views.py the method save_history() is invocated on config_advisor, but this method isn't defined anywhere in the repository, throwing an exception each time the update_observation end-point is called
- the version of Django should have an upper bound in the
requirements/service.txt file, as the service doesn't start with newer versions of Django
- there is no OpenAPI documentation of the REST API, the only interface with the API is the RemoteAdvisor, and the calls in
RemoteAdvisor do not match the capabilities of the end-points (ex. in the task_register end-point the request can contain a advisor_type field which can't be set via the RemoteAdvisor)
- the API itself doesn't feel very "RESTful", as the resources contain
get, register and update in their name, and errors are returned via a code field in the response
Describe the solution you'd like
A clear first step is an OpenAPI document with the description of the end-points, fixes in the bugs, and maybe the use of types in the code.
Describe alternatives you've considered
Currently I defined a Dockerfile which clones the code and fixes some of the ISSUES which don't allow the service to work. To call the service I looked at the implementation of the end-points and defined my custom Python functions to call those end-points (I use RemoteAdvisor just to register the task).
Additional context
Nothing much to add. I would be glad to contribute if you don't mind "breaking changes" in the REST API (if I can take some time off my project to work on the contribution).
Is your feature request related to a problem? Please describe.
Yes, I'm using OpenBox as a Service for my thesis, and I feel like this part of the project is being "left behind" (last commit 2 years ago). I've also encountered a few problems:
openbox/artifact/bo_advice/views.pythe methodsave_history()is invocated onconfig_advisor, but this method isn't defined anywhere in the repository, throwing an exception each time theupdate_observationend-point is calledrequirements/service.txtfile, as the service doesn't start with newer versions of DjangoRemoteAdvisordo not match the capabilities of the end-points (ex. in thetask_registerend-point the request can contain aadvisor_typefield which can't be set via theRemoteAdvisor)get,registerandupdatein their name, and errors are returned via acodefield in the responseDescribe the solution you'd like
A clear first step is an OpenAPI document with the description of the end-points, fixes in the bugs, and maybe the use of types in the code.
Describe alternatives you've considered
Currently I defined a Dockerfile which clones the code and fixes some of the ISSUES which don't allow the service to work. To call the service I looked at the implementation of the end-points and defined my custom Python functions to call those end-points (I use
RemoteAdvisorjust to register the task).Additional context
Nothing much to add. I would be glad to contribute if you don't mind "breaking changes" in the REST API (if I can take some time off my project to work on the contribution).