Difference between revisions of "Winter 2011 Handout - Installing Func In the Arm Build Farm"

From CDOT Wiki
Jump to: navigation, search
(Results)
(Pictures / Graphics)
Line 55: Line 55:
  
 
= Pictures / Graphics =
 
= Pictures / Graphics =
 
+
[http://fuzzux.files.wordpress.com/2011/04/funcfail.png Hostname Bind Failure]
<!-- Link to any pictures or graphics that should appear on the handout -->
 

Revision as of 15:36, 12 April 2011


Status

This page status is: DRAFT.

Title

Installing Func In the Arm Build Farm

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

When transitioning to the ARM build environment, there were a few challenges we had to overcome.

  • Since the ARM arch is relatively new to Fedora , we need to check if it has been successfully build and if we can get it from the YUM repo, or are we going to have to build from source
  • It seems to me like ARM Fedora has some incompatibilities with hardware calls made by func, this is effecting the functionality of some of the modules used in func.
  • By default, func on ARM cannot dynamically configure the minion to use hostnames or IPs. These settings must be specified by the configuration file.

Results

In all of our tests on the ARM machines we successfully deployed func0-25 and it is a functioning state. However; func0-27 is release for the main fedora distribution. What we did for our final release is built the func0-27 package for ARM, and we will be installing it to see if some of the scripts have been update to take into account the ARM architecture. As well, we will continue to iron out any errors with modules or packages.

Links

Timothy Furzer's Blog
Func Website

Acknowledgments

Pictures / Graphics

Hostname Bind Failure