[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] condor and Linux kernel



On Wednesday 05 August 2009, Manikanta wrote:
> As far as my knowledge on condor goes this cant be possible using
> existing classAds
>
> one work around i know of is you need to add a custom machine ad for the
> execute node advertising its kernel and in the job requirements request for
> the kernel = "xx" ad.
>
> example
> At execute node config file add
> 	HOST_KERNEL = "2.6"
> 	STARTD_ATTRS = HOST_KERNEL

A perhaps better way to generate this information would be to use 
the "hawkeye" mechanism built into the Startd..  A simple script could parse 
the contents of /proc/version or run 'uname'.  Here's a setup that we use 
here at UW to publish this info.

Hope this helps

-Nick

CRON_JOBLIST = $(CRON_JOBLIST) kernel
CRON_kernel_PREFIX = kernel_
CRON_kernel_EXECUTABLE = $(CRON_MODULES)/kernel
CRON_kernel_PERIOD = 1h
CRON_kernel_MODE = periodic
CRON_kernel_RECONFIG = false
CRON_kernel_KILL = true
CRON_kernel_ARGS =

$MODULES/kernel:
#!/usr/bin/env perl

use strict;
use FileHandle;

my $fh = new FileHandle "/proc/version";
chomp(my $kernel_version_string = <$fh>);
my ($kernel_version) = $kernel_version_string =~ /Linux version (\S+)/;
my $bigmem = $kernel_version =~ /bigmem/;
my $hugemem = $kernel_version =~ /hugemem/;

print "version_string = \"$kernel_version_string\"\n";
print "version = \"$kernel_version\"\n";
print "bigmem = " . ($bigmem ? "TRUE" : "FALSE" ) . "\n";
print "hugemem = " . ($hugemem ? "TRUE" : "FALSE" ) . "\n";

-- 
           <<< It's the question that drives us. >>>
 /`-_    Nicholas R. LeRoy               The Condor Project
{     }/ http://www.cs.wisc.edu/~nleroy  http://www.cs.wisc.edu/condor
 \    /  nleroy@xxxxxxxxxxx              The University of Wisconsin
 |_*_|   608-265-5761                    Department of Computer Sciences