Difference between revisions of "Winter 2010 Posters/Koji Builder"

From CDOT Wiki
Jump to: navigation, search
(Description)
 
(28 intermediate revisions by one other user not shown)
Line 4: Line 4:
  
 
==Introduction==
 
==Introduction==
The goal was to create machines/builders to work with the Koji Hub to build and test rpm packages on the ARM (armv5tel) architecture.
+
The goal was to create machines/builders that work with the koji-hub to build packages on the ARM (armv5tel) architecture. Fedora Project doesn't have the resources to maintain the ARM architecture for all its packages and with the increase of actual ARM systems being used, the need of builders have too increased. Kojid is the build daemon that runs on the build machines. It's primary responsibility is polling for incoming build requests and handling them accordingly. Kojid is written in Python and communicates with koji-hub via XML-RPC.
  
 
==Description==
 
==Description==
Setting up the builders isn't hard once the hub has been properly configured and certifications have been correctly created. We used one actual ARM machine and nine virtual machines to familiarize the steps involved in getting builders to work with a Koji Hub.
+
Setting up the builders according to the koji-hub configuration. The builder relies heavily on the koji-hub to be configured before kojid could become functional. Kojid and koji-hub need to communicate with each other, so we use SSL Certifications to authenticate the requests. Each builder needs it's own certificate and needs to be put in the PostgreSQL database. Kojid uses Mock to create a chroot of a minimal installation to test the packages and make sure they install correctly and if the SRPM work it creates all the RPMs. We used one actual ARM machine and nine virtual machines to familiarize the steps involved in getting builders to work with a Koji Hub. The final goal is to make a Koji farm dedicated to building ARM packages for Fedora since the architecture is getting more and more popular everyday. Since there is only one other ARM Koji Farm which doesn't seem to be too current, we hope to create a current and ever going package building environment. Creating this farm will help with the Fedora Project Community development and Seneca to create interest in software building and release.
  
* Posters '''must be created using one of the templates below''' in PowerPoint or Impress format (these are the standard formats printers request):
+
==Challenges==
** [http://zenit.senecac.on.ca/~chris.tyler/cdot-presentation-20091/cdot-poster-template-20091.odp Impress (ODP) format]
 
** [http://zenit.senecac.on.ca/~chris.tyler/cdot-presentation-20091/cdot-poster-template-20091.ppt PowerPoint (PPT) format]
 
* '''Your poster is meant to be viewed, not read like a printed sheet'''. Design it to be read from a distance of 2 m, to capture the reader's attention, and to convey a basic understanding of your project in 90 seconds or less. Remember that while you may use the poster to explain your project, it will also be viewed when you are not standing in front of it, and it must be self-explaining.
 
* The page size is 35"x48" with a 1" unprintable area around the outside edge
 
* Design your poster to be read from a distance of 2 metres.
 
* Use these text sizes and styles:
 
** 18 point text for small print such as references/links.
 
** 24 point for the body text.
 
** 48 point '''bold''' text for section headlines.
 
** 96 point '''bold''' text for the poster title.
 
** 96 point ''italic'' text for the poster author name(s).
 
* '''Incorporate at least two diagrams, screenshots, photos, or drawings'''. These should be bold, colourful, high-resolution, and not contain small print. Lines in diagrams should be a minimum of 1 mm thick, text should be equal to or greater than 18 point text. The width plus height of each diagram added together must be at least 40 cm / 16" (for most diagrams, the smallest dimension -- width or height -- should be at least 20 cm / 8").
 
  
* Include the following information on your poster:
+
*Builder had to be added to the PostgreSQL database before starting Kojid on the builders.
** Your project's title - top middle section
 
** Your name - below the project title
 
** A description of your work including goals you had - left main section
 
** A section on results, showing what you accomplished - middle section
 
** A summary and set of conclusions - bottom of middle section
 
** Acknowledgements and links - right main section
 
** Leave the upper-right and upper-left corners free for logos
 
  
== Deadline ==
+
*After installing and configuring the builders they didn't seem to authenticate do to some complications with the certifications. Once new certifications where made the issues ceased.
* Your poster must be submitted to your professor by '''2010-04-16''' in order to leave sufficient time for printing. It would be a good idea to submit it early and get feedback from your prof in case revisions are necessary.
 
  
== Presentation Day ==
+
*Koji-hub was seeing the builder and getting updates. However, the builder wasn't returning a ready signal. After digging threw the logs, we saw it was because the machines didn't have enough space on the systems to do actual builds. The virtual machines were re-sized to include some extra space and koji-hub finally got a ready signal from the builders.
  
Please plan to join us for the entire afternoon on April 23 in T1014 in case there are questions about your poster. The event starts at 1:30; please plan to be there by 1:00 pm. If you have other exams, discuss the exam schedule with your professor in advance. Dress appropriately for speaking to the audience, which will include industry partners, funding agencies, and Seneca administration.
+
*Documentation was lacking on the web, but it didn't create much problem for the builders since the Fedora Project wiki had the basic configurations required to setup kojid. After just a few weeks, the blogs we wrote became the top search items on Google.
  
== Resources ==
+
*Understanding the relationship of package creation and Koji's method of organizing software packages in the database. This is still a learning process as Koji has just become fully functional.
  
* [http://www.ncsu.edu/project/posters/NewSite/ Creating Effective Poster Presentations]
+
==Results==
 +
Once the builders where configured and koji-hub was finally finished updating the repository information, the building of packages seemed to work without much other trouble. Koji has been setup and is working.
 +
 
 +
==Links==
 +
*David Cabral's Blog - http://pokerface3.blogspot.com/
 +
*Fedora Project -  http://fedoraproject.org/wiki/Koji/ServerHowTo#Koji_Daemon_-_Builder
 +
*Software Build and Release 600 wiki - http://zenit.senecac.on.ca/wiki/index.php/SBR600
 +
*Fedora Arm Secondary Architecture wiki - http://zenit.senecac.on.ca/wiki/index.php/Fedora_ARM_Secondary_Architecture
 +
 
 +
==Special Thanks==
 +
 
 +
*Chris Tyler
 +
*Dennis Gillmore
 +
*The students of the SBR600 class
 +
A special thanks to all of you.
 +
 
 +
==Images==
 +
None that I can find that isn't already linked by someone that works for my poster!
 +
 
 +
Perhaps, this image? http://www.nuhorizons.com/development/images/Client-Block-Diagram-2-sm.jpg
 +
[[File:Koji.png]]

Latest revision as of 19:10, 19 April 2010

Title

Koji Builder by: David Cabral (dpcabra1@learn.senecac.on.ca)

Introduction

The goal was to create machines/builders that work with the koji-hub to build packages on the ARM (armv5tel) architecture. Fedora Project doesn't have the resources to maintain the ARM architecture for all its packages and with the increase of actual ARM systems being used, the need of builders have too increased. Kojid is the build daemon that runs on the build machines. It's primary responsibility is polling for incoming build requests and handling them accordingly. Kojid is written in Python and communicates with koji-hub via XML-RPC.

Description

Setting up the builders according to the koji-hub configuration. The builder relies heavily on the koji-hub to be configured before kojid could become functional. Kojid and koji-hub need to communicate with each other, so we use SSL Certifications to authenticate the requests. Each builder needs it's own certificate and needs to be put in the PostgreSQL database. Kojid uses Mock to create a chroot of a minimal installation to test the packages and make sure they install correctly and if the SRPM work it creates all the RPMs. We used one actual ARM machine and nine virtual machines to familiarize the steps involved in getting builders to work with a Koji Hub. The final goal is to make a Koji farm dedicated to building ARM packages for Fedora since the architecture is getting more and more popular everyday. Since there is only one other ARM Koji Farm which doesn't seem to be too current, we hope to create a current and ever going package building environment. Creating this farm will help with the Fedora Project Community development and Seneca to create interest in software building and release.

Challenges

  • Builder had to be added to the PostgreSQL database before starting Kojid on the builders.
  • After installing and configuring the builders they didn't seem to authenticate do to some complications with the certifications. Once new certifications where made the issues ceased.
  • Koji-hub was seeing the builder and getting updates. However, the builder wasn't returning a ready signal. After digging threw the logs, we saw it was because the machines didn't have enough space on the systems to do actual builds. The virtual machines were re-sized to include some extra space and koji-hub finally got a ready signal from the builders.
  • Documentation was lacking on the web, but it didn't create much problem for the builders since the Fedora Project wiki had the basic configurations required to setup kojid. After just a few weeks, the blogs we wrote became the top search items on Google.
  • Understanding the relationship of package creation and Koji's method of organizing software packages in the database. This is still a learning process as Koji has just become fully functional.

Results

Once the builders where configured and koji-hub was finally finished updating the repository information, the building of packages seemed to work without much other trouble. Koji has been setup and is working.

Links

Special Thanks

  • Chris Tyler
  • Dennis Gillmore
  • The students of the SBR600 class

A special thanks to all of you.

Images

None that I can find that isn't already linked by someone that works for my poster!

Perhaps, this image? http://www.nuhorizons.com/development/images/Client-Block-Diagram-2-sm.jpg Koji.png