Open main menu

CDOT Wiki β

Changes

Status
<!-- Change this to DONE when you're done. -->
This page status is: '''DRAFTDONE'''.
= Title =
<!-- List Installing Func In the title of the project as it will appear on the handout -->Arm Build Farm
= Participants =
= Introduction =
<!Func is a multifaceted multi-- Describe 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 project goals -->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-- Describe 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 approach machines to the project -- method/procedureetc/hosts file. the three machines are names, certmaster, certminion1 and certminion2 respectively. On the typical VMware environment the minion config file (/etc/certmaster/minion.conf) looks like this<br/><br/>[main]<br/>certmaster = certmaster<br/>log_level = DEBUG<br/>cert_dir = /tools etc /pki/certmaster<br/>However; we had to make slight modifications for our deployment on ARM<br/><br/> [SEE PICTURE]  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 =
<!-- Challenges that 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 built 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 met to complete specified by the project -->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- Results 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. Here is an example of how we may use func to monitor and control the ARM machines in CDOT and the basic syntax for func commands as well as its successful output.   '''[EXCERPT OF COMMAND]'''<br/ >{'certminion': [['PID', 'TTY', 'STAT', 'TIME', 'COMMAND'], ['1', '?', 'Ss', '0.:01', '/sbin/init'], ['2', '?', 'S', '0:00', '[kthreadd]'], ['3 status of the project ', '?', 'S', '0:00', '[migration/0]'], ['4', '?', 'S', '0:00', '[ksoftirqd/0]'], ['5', '?', 'S', '0:00', '[watchdog/0]'], ['6', '?', 'S', '0:00', '[events/0]'], ['7', '?', 'S', '0:00', '[cpuset]'], ['8', '?', 'S', '0:00', '[khelper]'], ['9', '?', 'S', '0:00', '[netns]'], ['10', '?', 'S', '0:00', '[async/mgr]'], ['11', '?', 'S', '0:00', '[pm]'], ['12', '?', 'S', '0:00', '[sync_supers]'], ['13', '?', 'S', '0:00', '[bdi-->default]'], ['14', '?', 'S', '0:00', '[kintegrityd/0]'], ['15', '?', 'S', '0:00', '[kblockd/0]'], ['16', '?', 'S', '0:00', '[kacpid]'],
= Links =
= Pictures / Graphics =
[http://fuzzux.files.wordpress.com/2011/04/funcfail.png Hostname Bind Failure](GOES WITH CHALLENGES)<br/>[http://fuzzux.files.wordpress.com/2011/04/minion.png Minion Config Updated for ARM](GOES WITH APPROACH SECTION)<!-- Link to any pictures or graphics that should appear on the handout -br/>[http://fuzzux.files.wordpress.com/2011/03/screenshot-21.png Command Execution](GOES WITH RESULTS SECTION)<br/>
1
edit