rlazo's blog ::SoC Proposal 2007TITLE: SCIRE's job subsystem implementation for both the frontend and backend.
Organization: Gentoo Foundation Abstract: Working with a large network of machines involves, among other tasks, dealing with jobs in a comprehensive and as-simple-as-possible way. The job subsystem is one of the most complex parts of SCIRE, given that it has to deal with several scenarios that may turn a simple job into very frustrating experience. This SoC project aims at working on this subsystem so it can handle from simple tasks as jobs for a single machine to more complex duties as per-profile recurring jobs with error handling. This will be achieved trying to make client and client-server communication as simple as possible delegating most of the work to the server application. Detailed description: * Deliverables
At the end of the program, the code for the backend/frontend of the job subsystem will be written to the extend it can handle: - One job to one machine on a recurring and non-recurring way - One job to all the machines on the network - One job to all the machines sharing the same profile - Multi-job error handling and notification to the user - Job script pre-processing * Project Details Right now SCIRE's job subsystem on the client side can get jobs from the server and run them in a simple way. All the features of this project will be implemented on top of this so the client and the client-server interaction could be kept as simple as possible. The more complex tasks (as jobs for multiple machines) will be mapped to a one-job one-machine and structured as a logical unit on a layer approach. So we will have a two types of jobs, logical and "physical" job; the "physical" jobs that make a "logical" job will be stored on a different database table. This approach allows a flexible way of dealing with jobs for multiple machines and how errors can be treated. The success of a logical job will be set upon the success of all the physical jobs attached to it. For recurring jobs the entries on the database will be reused and for logging and history purpose the job_history table will be used and modified. The UI will make simple the creation of jobs as it will involve the following steps: - Select a script - If necessary: define some dynamic variables the script may require. The variables of the script will have a special syntax that will allow the system to preprocess them and create a form the user could fill them easily. - Select a target - Select, if needed, the recurrence The existing code of the UI will be refactored to simplify the tasks. The failed jobs will be reported on the main page so the user can solve the problem and, if is a recurrent job, it will be paused until the user fix it or it will continue. * Profit for SCIRE SCIRE will have a core component of its architecture almost completed and will be capable of handle a wide range of common administrative tasks. Other modules that need to perform an action on the client will be possible given that they could use this subsystem to abstract the interaction. * Roadmap from April 9 to May 28 - The current code-base for job management will be studied and will be analyzed the way other systems deal with the problem (e.g. the m23 online documentation isn't very clear about this and seems to be very tied to package management.) from May 28 to June 18 - any necessary modification to the client will be performed, the database layout will also suffer modification so it can support the logical and physical jobs. The recurring job management coding will began. from June 18 to July 14 - The recurring job management and the error handling at backend level will be finished. All backend code will be written. The UI work will began. from July 14 to August 12 - The pre-processing script code will be finished. The UI will also be completed and the whole subsystem will be available throw the web. from August 12 to August 20 - Test and bug-fixing * Biography I am a 21 years old student from Arequipa, Perú. Right now I'm working towards my BA. degree on Ingenieria Informatica (Computer Science equivalent) with expected graduation time at December 2007. My first experience as a web application developer was a little project for my university (http://inf.ucsp.edu.pe) which objectives were make available throw the web all the research articles the undergraduate students were into. This project allow me to learn about mysql, php, smarty, html, css and also I used as a sand-box for experimenting. My latest project is the web site for the Latin American Center of Studies on Informatics (http://www.clei.cl). I also was the administrator of a small lab on my university. My tasks were migrated all the machines to Gentoo Linux and provide centralized authentication and storage. Thanks to this experience I got in touch on a deeper level with the system and also had to deal with job distribution among all the machines. A little script did the job but it was obvious that a more-secure, better thought solution was needed. I am currently the administrator of the faculty server. I feel a deep commitment with the free software and specially with the Gentoo community, I work as a collaborator on the Gentoo documentation Spanish translation Team and on the Gentoo Weekly Newsletter Spanish translation team. I also worked as translator for the serendipity weblog system. I see this as an opportunity to be more helpful to the community and I would love to continue working with the SCIRE team even after the Google's Summer of Code program concludes. Thank you for considering this proposal. |
Me
rlazo Emacs and Gentoo fanboy rlazo.pazREMOVETHIS@gmail.com Calendar
QuicksearchCategoriesBlogSphereRecently addedsupersized.orgLicence |
|||||||||||||||||||||||||||||||||||||||||||||||||