Archive

Tag Archives: google summer of code

It’s been two weeks since i last posted my report on Darkserver. I could not post week two update as I had been down with bad health(seasonal changes + Loo). With the week coming to an end and /me recovering from fever, i badly hurt my right wrist and that was end of it. I somehow manage to move myself to a new city, Bengaluru. The week passed as a trauma for me ūüė•

After recovering, i was back to coding/resolving issue in darkserver. Starting from the mid of week three, I started working on implementing the support for secondary architecture. Darkserver now supports secondary architecture(arm, ppc).

Defining the current structure of Darkserver:

darkproducer

$ darkproducer --start=BUILD_ID --config=CONFIG
Options:
-s BUILD_ID, --start=BUILD_ID Specifies the build id
-c CONFIG, --config=CONFIG Specifies the Config file

The config files points to either of the configuration files for Koji, ARM, PowerPC. The files being darkserverurl-koji.conf, darkserverurl-arm.conf, darkserverurl-ppc.conf placed under configs/. The default being for koji.

A “url” key was added to retask Queue to maintain the relation between the build_id and the architecture.
The command line arguments in Darkserver are currently now parsed by optparse python module.
So, a pid is added to darkbuildqueue and darkjobworker, so the command line arguments now is:

darkbuildqueue:

$ darkbuildqueue --start --pid=1
Options:
-s, --start start the buildqueue
-p PID, --pid=PID specify the pid for build queue

darkjobworker:

$ darkjobworkder --start --pid=1 // To start job worker 1
$ darkjobworkder --start --pid=2 // To start job worker 2
$ darkjobworkder --stop --pid=1 // To stop job worker 1
Options:
-s, --start start the buildqueue
-e, --stop stop the buildqueue
-p PID, --pid=PID specify the pid
Advertisements

The “Google Summer of Code” code period began on June 17 and it’s already one week into it. Prior to the beginning of the coding period, I went into the depths of the darkserver codebase. In the current version of Darkserver, the link present in the libimporter are hardlinks and it is pretty well visible here https://github.com/kushaldas/darkserver/blob/master/darkimporter/libimporter.py#L328

So, I removed the urls and the values from the libimporter and made it configurable via config files. The config files are currently present in the configs/ directory. This will eventually help to allow us to add different job queues for different secondary architectures.

According to the Darkserver wiki, the steps for starting the darkproducer is:

$ darkproducer start KOJI_BUILD_ID

Now, after removing the hardlinks and making it accesible through config files, the steps to start the darkproducer is:

$ darkproducer start KOJI_BUILD_ID --config=/path/to/config/file

The configuration file for koji should be in form of:

[darkserver]
url = 'http://koji.fedoraproject.org/kojihub/'

In case of violation, the –config option defaults to /etc/darkserver/darkserverurl-koji.conf

Next, I would be aiming for implementing the support for the secondary architectures, arm, ppc and add support to maintain different job queues for the different secondary architectures.

The Google Summer of Code 2013 results was declared on 27th May 2013, in between my semester exam so i had no time to devote until the end of my semester exams and /me returning back to my home.

With the beginning of the 2nd week of June, I started to hack around with the project, Darkserver. The project is available on GitHub, https://github.com/kushaldas/darkserver.

That week was pretty much a reading week rather than coding week as I had to go through all kinds of documentation. Darkserver is implemented using retask, which uses Redis. Though, I earlier little knowledge about the topics, I went thoroughly through the Redis documentation and googled more about Redis.

I also had to go through the retask documentation. Finally, I went once again went through darkserver code and created diagrams, this will me helping out the solve out the task and helping me to know where to hack the code to get the work running.

It’s better later than never. It’s been two week since the Google Summer of Code 2013 results were announced and I am glad to say that I got selected this year.

I will be working on Darkserver Improvment under Fedora. One can see a draft of my proposal here. My mentor is Kushal Das and i am really helpful for helping me out in the whole process both in code and application.

%d bloggers like this: