Open main menu

CDOT Wiki β

Changes

Winter 2010 Posters/Koji Hub Poster

4,273 bytes added, 00:36, 17 April 2010
Components Required By Koji
= Project Name =
Koji Hub Installation and ConfigurationBuild System for Fedora ARM
= Names Name =
Paul Whalen
= Description of work + goals The Koji Build System =
At the beginning of the Winter 2010 semester the Software Build and Release 600 class The goal was to set out to build create a Koji build system for the ARM architecture. Koji is the software that builds and tests packages for the Fedora Project. At the center of Koji operations is the Koji Hub. The Koji Hub software package used by Fedora is called an XML-RPC server that receives RPM and relies upon calls from the Koji Builder Daemons provides a means for easy installation, removal and other Koji components to initiate communicationsupdating. The plan was to initially set up all components process of the Koji build system building software on a platform ensures that all the one server, with necessary files are available for that software package to function in the Koji builder Daemons running on Virtual ARM Machinesgiven hardware environment. After installation and configuration Currently we are aware of the PostgreSQL, the Koji Hub would be configured, followed by the one other components of Koji including Build System for the Koji Web (ARM architecture which provides a web interface for Koji operations), Kojira (responsible for Koji repository creation and maintenance) and finally the set up of the actual builders themselvesis located in Germany.
= Results + What we’ve accomplished =The plan was to initially set up all components of the Koji build system on one server, with the Koji builder Daemons running on Virtual ARM Machines and the physical hardware as it arrives. Planned hardware includes various applications of the ARM processor. After installation and configuration of the PostgreSQL, the Koji Hub would be configured, followed by the other components of Koji including the Koji Web, Kojira and finally the set up of the actual builders themselves.
= Summary and set of conclusions Koji Components =
= Acknowledgements Koji Hub - an XML-RPC server that receives and Links =relies upon calls from the Koji Builder Daemons and other Koji components to initiate communications.
Koji Web - an interactive web interface that runs on mod_python modules in the Apache Web Server. The Koji Web provides an interface for Koji users to see the status of queued builds and information for trouble shooting unsuccessful build attempts. Koji Builder Daemon - the build daemon that runs on each of the Koji build machines and is responsible for polling the Koji Hub for build requests. Once a request is received for the Koji Hub the Koji Builder will initiate a test build of the software package ensuring there are no errors, if errors are detected they are logged for further analysis. = Components Required By Koji =Apache Web Server - The most popular web server on the internet Apache is responsible for serving the pages provided by the Koji Web scripts. Apache is configured to use a variety of modules including SSL and mod_python. The SSL modules facilitates authentication of users and the different components of the Koji Build System. PostgreSQL - PostgreSQL is the back-end database used by the Koji Build System. It stores tables of information including users, packages and build categories. Mock - mock is a tool that creates a protected and minimal Linux file system that is used to test build software packages. = Problems Encountered =* Initially the Virtual Machines had no network connectivity, network settings and devices had to be added manually before becoming functional. * Problems using the PostgreSQL database - installation for use with Koji required a standard installation. After the first attempt PostgreSQL was reinstalled successfully and Koji was successfully able to interact with the database.  * After what appeared to be a successful installation and configuration, Koji builders were listed as not being fully functional, this appeared to be an issue with the Koji Hub but was later determined to be a lack of disk space on the Koji builders. Disk space was reallocated and distributed amongst the ARM VM's. * Authentication using SSL certificates - The SSL certificates posed some authentication issues due to conflicting configurations when generated. The certificates were recreated and authentication was successful.  * Various configuration issues - throughout the process the different configuration files that required editing were mis-configured, or needed to be edited multiple times to work correctly with the Koji configuration. * The creation of repositories by Kojira was failing after 2919/12788 software packages (RPMS), additional memory was added to the Virtual ARM Machines an the repository creation continued. * Lack of documentation - because this is the second Koji Build System for the ARM architecture, there are limited resources. Within weeks of starting work and blogging on Koji, our blogs became the top results when searching the internet.* 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 =Currently we have a functional Koji Build system. The Koji Hub is successfully dispatching packages to the Koji builder Daemons and Kojira is creating new repositories for use with the ARM architecture. Eight VM's and the Open-RD Client are online and are listed as Ready and Enabled using the Koji command line tool and the web interface through Koji Web. Koji Web can be used to monitor all Koji operations and provide real time log information that can be used to troubleshoot problems as they arise. = Acknowledgements =*Dennis Gilmore *Chris Tyler = Links = *Fedora Project - http://fedoraproject.org/wiki/Koji/ServerHowTo* Paul Whalen's SBR600 Blog - http://paulfedora.wordpress.com/* 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
= Logos =
* Fedora
* Seneca
* Apache
* PostgreSQL
 
= Images =
* Open-RD Client Board - http://www.einfochips.com/marvell/images/OpenRD-Client-Zoom.png
* RPM Package Logo - http://www.linux-support.com/cms/images/stories/illutrations/rpm-package.png
1
edit