Winter 2011 Handout - Installing Func In the Arm Build Farm

From CDOT Wiki
Revision as of 15:26, 12 April 2011 by Tim Furzer (talk | contribs) (Approach)
Jump to: navigation, search


Status

This page status is: DRAFT.

Title

Participants

Timothy Furzer - Semester 6 CTYC

Introduction

Func is a multifaceted multi-module application for generating secure connections to one or more remote machines. Managing a build farm of many arm machines has the potential to utilize this software to great potential. Proper installation and configuration of this software goes hand in hand with the development and deployment of other cluster management software such as Puppet and Icinga. Func can perform functions such as executing remote shell commands, calling hardware info, querying RPM databases of one or more machines managed by the Overlord machine, and contributes to CDOTs goal of centralized management

Approach

Before actually putting Func into action on production systems within CDOT I set up a test environment using my current VMWare ESXi infrastructure at home, creating a small 3-system environment with Fedora 13 and core packages. After installing and configuring a traditional func environment, understanding its operation and components to look at when troubleshooting, I could mirror this installation in the ARM build farm and troubleshoot any issues that would arise. Func consists of two parts. Certmaster, which is the mechanism for implementing the PKI encrypted communication between master and minion. The second part of the install is the func command and API system. The install on my little test infrastructure was fairly straightforward in nature.


On all machines involved we need to install the func package, (works on FC7 and above, NOARCH). Since we know CDOT has host files established for our environment with only 3 machines we simply add the machines to the /etc/hosts file. the three machines are names, certmaster, certminion1 and certminion2 respectively.


By default func ships with a wide variety of modules that can be utilized straight out of the box to execute commands on your system for a list of these pre-included module see https://fedorahosted.org/func/wiki/ModulesList. As well as being extended to add support for the execution of programs written in python, or bash.

Challenges

Results

Links

Timothy Furzer's Blog
Func Website

Acknowledgments

Pictures / Graphics