I am currently doing some manual testing of my code, and it proved to be vital. It helped me figure out a lot of bugs. One of seemed weird to me in the beginning:
The get here(https://github.com/sayanchowdhury/darkserver/blob/config/darkimporter/libimporter.py#L310) returned an error

Method Not Allowed
This is an XML-RPC server. Only POST requests are accepted.

The project required a heavy amount of download, so my mentor gave me a dev instance to test out my code, all seemed to be fine, with the code properly working on local machine. But on the dev instance a major bug surfaced, all the architecture with referring to the same key. So, currently i started working on implementing different darkproducer-ids for different darkproducers.Also, I need to get started with a long-term bug, my mentor pointed me in the shutdown functionality of darkserver.

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

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.

It was worth trying to sit down with pen and paper and sketch out the compete workflow of Darkserver. I got the idea to try out this stuff from Vivek’s blogpost. Though, I could not get hold of a board but A4 did the job for me and it is really proving out to be helpful.

This slideshow requires JavaScript.

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.

For last 10 days, I was pretty busy attending and arranging FOSS events in Durgapur. One of them that I got the chance to attend was Mukti ’13, the annual national level technical symposium on Free and Open Source Software of the GNU/Linux Users’ Group NIT Durgapur held from 2nd-5th February 2013. Just like last year, this year’s Mukti was also filled with fun and frolic. There were lots of events like Codecraker, Lipi, Hack the Code etc. Students and Foss enthusiast from in and around Durgapur come to this four day festival.

On the first day, Chandan and I reached at NIT Durgapur around 2pm to attend the Python Workshop by Kushal Das. I was glad to see a lot of first years came to attend the workshop by bunking their college classes. A lot of second year also came out to attend the workshop along with Souradeep, Apoorv, Zubin. After the workshop Kushal da took us to a nearby restaurant for dinner :)

We stayed up at NIT hostel for the night. The very next day, the Python Workshop began at 2pm and Kushal da covered the rest of the topics along with some questions. At the end of the day, we took some snaps and returned back to our college. We thought of attending the MediaWiki workshop but it got cancelled last minute.

But, as always it was a great time, meeting with FOSSy people during Mukti. I really applaud to all those who have put their hard work,labour and time to make this event a huge success and hope that MUKTI 2014 would be even bigger, greater than this year.

This slideshow requires JavaScript.

%d bloggers like this: