A sample python-based implementation of system adapter.
The actions below will allow you to run a target benchmark locally and you may debug your system fully the same way, as it is executed in the online platform. You may test/debug your system without running benchmark if find the procedure too complicated.
The standard dockerfile-based image building procedure will be required to upload a python system into the online platform.
Local debugging under a target benchmark
- Clone the target sdk-based benchmark repository (e.g. DEBS-GC-2018) as well as this one. The benchmark should be runnable locally (contain SDK-based tests).
- Make sure that
checkHealth()from the target benchmark (
DEBS-GC-2018) executes without errors (see instructions in Readme).
- Comment the submission of java-based sample system (line
.systemAdapter(systemAdapter)in SampleSystemTestRunner.java) and make sure, that
check_health()test is not finishing anymore (hangs up after taskGenetator ready signal or something like that. This means that SDK is waiting for a System Adapter, which you excluded from the execution by commenting the line.
- Package the java code of the benchmark to make it executable as jar (
mvn package -DskipTests=true).
- Open python the SystemAdapterTest.py and modify the path to jar file you have just packages. You may also modify the name of the future docker image of your system.
- Run the SystemAdapterTest.py from your IDE (running under sudo probably might be requred) and you may debug it.