Till now I have always blogged on the environment part of the project. I should give some emphasis on the dependent part too. As you might have already guessed , Dependent part is the one which bridges the Environment part and the Execution part. So It mostly consists of API to carry information to and fro the two parts(execution and environment).
We need the following information being sent to the slave.
- Distributions to be tested along with their dependencies
- Configuration file
The configuration file includes :
- Name of the distribution
- Lists of tasks to be executed ( static at the beginning , configured by the slave)
- Where to send back information through raw data API ( probably IP address)
These are the initial idea. Having a config file means that we can include other data in the future if and when required.
So the slave sends the distributions and the vm executes the tasks as mentioned by the configuration file.
The raw data (obtained after the tests) has to be reported back to the slave(after all the tests have been conducted.
This is done by having a raw data API .
So raw data API need to accommodate these :
- Task id
- Raw data of this task + additional informations (time of execution, memory usage, cpu usage…)
We decided on using JSON-RPC format to construct Raw data API.
Core philosophy which we are following for taking decisions : Keep the implementation simple . This helps us to have a prototype early on .
Ideally I thought I should also mention the lessons I learn through gsoc . So heres the first one
Gsoc Lesson 1
I always thought that I would directly work upon coding first as soon as the bell rings in gsoc. But here over the past few weeks , I have come to realize that for a completely new project,PyTI (though it was worked upon last year), design decisions are very important than implementation. I would have been working blind if I directly started coding 🙂