diff options
author | Eric Sandall | 2008-03-09 15:50:18 -0700 |
---|---|---|
committer | Eric Sandall | 2008-03-09 15:50:42 -0700 |
commit | 187ab944c40390abea391dc3ff567e33b05698d2 (patch) | |
tree | 1696a250d186c2910c2082c4a449db1348b50d3d /cluster | |
parent | bb73b0e57c5d90c0eec2c38047f2227908887c70 (diff) |
farmerjoe: Added a distributed rendering system for Blender
Diffstat (limited to 'cluster')
-rwxr-xr-x | cluster/farmerjoe/BUILD | 1 | ||||
-rwxr-xr-x | cluster/farmerjoe/DEPENDS | 14 | ||||
-rwxr-xr-x | cluster/farmerjoe/DETAILS | 22 | ||||
-rw-r--r-- | cluster/farmerjoe/Farmerjoe_0.1.3.zip.sig | bin | 0 -> 287 bytes | |||
-rw-r--r-- | cluster/farmerjoe/HISTORY | 12 | ||||
-rwxr-xr-x | cluster/farmerjoe/INSTALL | 15 | ||||
-rwxr-xr-x | cluster/farmerjoe/PRE_BUILD | 7 | ||||
-rw-r--r-- | cluster/farmerjoe/etc-config.patch | 14 | ||||
-rw-r--r-- | cluster/farmerjoe/init.d/farmerjoe-appserver | 40 | ||||
-rw-r--r-- | cluster/farmerjoe/init.d/farmerjoe-appserver.conf | 10 | ||||
-rw-r--r-- | cluster/farmerjoe/init.d/farmerjoe-master | 40 | ||||
-rw-r--r-- | cluster/farmerjoe/init.d/farmerjoe-master.conf | 10 | ||||
-rw-r--r-- | cluster/farmerjoe/init.d/farmerjoe-slave | 40 | ||||
-rw-r--r-- | cluster/farmerjoe/init.d/farmerjoe-slave.conf | 10 | ||||
-rw-r--r-- | cluster/farmerjoe/use-perl.patch | 16 |
15 files changed, 251 insertions, 0 deletions
diff --git a/cluster/farmerjoe/BUILD b/cluster/farmerjoe/BUILD new file mode 100755 index 0000000000..27ba77ddaf --- /dev/null +++ b/cluster/farmerjoe/BUILD @@ -0,0 +1 @@ +true diff --git a/cluster/farmerjoe/DEPENDS b/cluster/farmerjoe/DEPENDS new file mode 100755 index 0000000000..8905ec9a12 --- /dev/null +++ b/cluster/farmerjoe/DEPENDS @@ -0,0 +1,14 @@ +depends compress-zlib && +depends perl && +depends python && +depends yaml-tiny && + +suggest_depends 'blender' \ + '' \ + '' \ + 'for local Blender (otherwise network share Blender)' && + +suggest_depends 'imagemagick' \ + '' \ + '' \ + 'for bucket rendering (one image spread across the cluster)' diff --git a/cluster/farmerjoe/DETAILS b/cluster/farmerjoe/DETAILS new file mode 100755 index 0000000000..8a2e49fe65 --- /dev/null +++ b/cluster/farmerjoe/DETAILS @@ -0,0 +1,22 @@ + SPELL=farmerjoe + VERSION=0.1.3 + SOURCE=Farmerjoe_$VERSION.zip +SOURCE_DIRECTORY=$BUILD_DIRECTORY/Farmerjoe_$VERSION + SOURCE_URL[0]=http://blender.formworks.co.nz/$SPELL/$VERSION/$SOURCE + SOURCE_GPG="gurus.gpg:$SOURCE.sig:WORKS_FOR_ME" + LICENSE[0]=GPL + WEB_SITE=http://blender.formworks.co.nz/?p=1 + KEYWORDS="cluster" + ENTERED=20080209 + SHORT='Distributed rendering system for Blender' + DOCS="$DOCS GPL-license.txt README.html" +cat << EOF +Farmerjoe is a distributed rendering system for Blender, it does both framex + based distribution and bucket based (single frame) distribution, it has a web +gui and is fairly easy to set up IMHO :) I had tried to get Drqueue running and +it worked great on linux but was less than easy to use on windows. There are a +few other distributed rendering systems for blender but I wanted something I +could run independantly of blender and seeing how I knew perl I hacked together +this system to get distributed rendering running for Blender the way I wanted +it to work. +EOF diff --git a/cluster/farmerjoe/Farmerjoe_0.1.3.zip.sig b/cluster/farmerjoe/Farmerjoe_0.1.3.zip.sig Binary files differnew file mode 100644 index 0000000000..a40a01e0ab --- /dev/null +++ b/cluster/farmerjoe/Farmerjoe_0.1.3.zip.sig diff --git a/cluster/farmerjoe/HISTORY b/cluster/farmerjoe/HISTORY new file mode 100644 index 0000000000..c6a5587f71 --- /dev/null +++ b/cluster/farmerjoe/HISTORY @@ -0,0 +1,12 @@ +2008-03-09 Eric Sandall <sandalle@sourcemage.org> + * DETAILS, DEPENDS, BUILD, INSTALL: Created + * etc-config.patch: Modify farmerjoe.pl to use /etc/farmerjoe.conf + instead of $installdir/Farmerjoe.conf + * use-perl.patch: Use the perl script, not binaries + * farmerjoe-appserver, farmerjoe-appserver.conf: Init and config for + farmerjoe app server (web interface) + * farmerjoe-master, farmerjoe-master.conf: Init and config for + farmerjoe master control + * farmerjoe-slave, farmerjoe-slave.conf: Init and config for + farmerjoe slave node + diff --git a/cluster/farmerjoe/INSTALL b/cluster/farmerjoe/INSTALL new file mode 100755 index 0000000000..8f4139b21a --- /dev/null +++ b/cluster/farmerjoe/INSTALL @@ -0,0 +1,15 @@ +install -m 0755 $SOURCE_DIRECTORY/Farmerjoe.pl \ + $INSTALL_ROOT/usr/bin/farmerjoe && +install_config_file $SOURCE_DIRECTORY/Farmerjoe.conf \ + $INSTALL_ROOT/etc/farmerjoe.conf && + +# +# Install Blender scripts +# +mkdir -p $INSTALL_ROOT/usr/share/blender/scripts && + +for script in farmerjoe_bucket.py farmerjoe_submit.py +do + install -m 0644 $SOURCE_DIRECTORY/bin/$script \ + $INSTALL_ROOT/usr/share/blender/scripts/$script +done diff --git a/cluster/farmerjoe/PRE_BUILD b/cluster/farmerjoe/PRE_BUILD new file mode 100755 index 0000000000..c1d52d1636 --- /dev/null +++ b/cluster/farmerjoe/PRE_BUILD @@ -0,0 +1,7 @@ +default_pre_build && +patch $SOURCE_DIRECTORY/Farmerjoe.pl \ + $SCRIPT_DIRECTORY/etc-config.patch && +patch $SOURCE_DIRECTORY/bin/farmerjoe_submit.py \ + $SCRIPT_DIRECTORY/use-perl.patch && +rm -f $SOURCE_DIRECTORY/Farmerjoe.{exe,linux,osx} && +rm -f $SOURCE_DIRECTORY/bin/nbtscan diff --git a/cluster/farmerjoe/etc-config.patch b/cluster/farmerjoe/etc-config.patch new file mode 100644 index 0000000000..22443debd3 --- /dev/null +++ b/cluster/farmerjoe/etc-config.patch @@ -0,0 +1,14 @@ +diff -Naur Farmerjoe_0.1.3.orig/Farmerjoe.pl Farmerjoe_0.1.3/Farmerjoe.pl +--- Farmerjoe_0.1.3.orig/Farmerjoe.pl 2008-03-09 14:52:53.810733090 -0700 ++++ Farmerjoe_0.1.3/Farmerjoe.pl 2008-03-09 14:53:42.573457139 -0700 +@@ -39,9 +39,7 @@ + + #read config here + my $util = FarmerTools->new(); +-my $dir = '.'; +-$dir = dirname($0); +-my $conf = $util->load_conf("$dir/Farmerjoe.conf"); ++my $conf = $util->load_conf("/etc/farmerjoe.conf"); + + my $osconf = {master=>$conf->{master},port=>$conf->{port}}; + $osconf->{os} = $Config{osname}; diff --git a/cluster/farmerjoe/init.d/farmerjoe-appserver b/cluster/farmerjoe/init.d/farmerjoe-appserver new file mode 100644 index 0000000000..842e675ccd --- /dev/null +++ b/cluster/farmerjoe/init.d/farmerjoe-appserver @@ -0,0 +1,40 @@ +#!/bin/bash + +PROGRAM=/usr/bin/farmerjoe +RUNLEVEL=3 +NEEDS="+network" + +. /etc/sysconfig/farmerjoe-appserver +. /etc/init.d/smgl_init + +start() +{ + echo "Starting Farmerjoe Appserver..." + su -c "$PROGRAM --appserver >> ${LOG_FILE} 2>&1" $USER & + evaluate_retval + echo $(ps aux|grep farmerjoe|grep -- "--appserver"|awk '{print $2}') > /var/run/farmerjoe-appserver.pid +} + +stop() +{ + echo "Stopping Farmerjoe Appserver..." + if [[ -e /var/run/farmerjoe-appserver.pid ]] + then + kill $(cat /var/run/farmerjoe-appserver.pid) + evaluate_retval + rm -f /var/run/farmerjoe-appserver.pid + else + echo "Farmerjoe Appserver is not running" + fi +} + +status() +{ + if [[ -e /var/run/farmerjoe-appserver.pid ]] + then + echo "Farmerjoe Appserver is running as $(cat /var/run/farmerjoe-appserver.pid)" + else + echo "Farmerjoe Appserver is not running" + fi +} + diff --git a/cluster/farmerjoe/init.d/farmerjoe-appserver.conf b/cluster/farmerjoe/init.d/farmerjoe-appserver.conf new file mode 100644 index 0000000000..f9a7897f6b --- /dev/null +++ b/cluster/farmerjoe/init.d/farmerjoe-appserver.conf @@ -0,0 +1,10 @@ +# +# Location of init logs +# +LOG_FILE=/var/log/farmerjoe-appserver.log + +# +# User to run farmerjoe as +# +USER=root + diff --git a/cluster/farmerjoe/init.d/farmerjoe-master b/cluster/farmerjoe/init.d/farmerjoe-master new file mode 100644 index 0000000000..d8d22dffca --- /dev/null +++ b/cluster/farmerjoe/init.d/farmerjoe-master @@ -0,0 +1,40 @@ +#!/bin/bash + +PROGRAM=/usr/bin/farmerjoe +RUNLEVEL=3 +NEEDS="+network" + +. /etc/sysconfig/farmerjoe-master +. /etc/init.d/smgl_init + +start() +{ + echo "Starting Farmerjoe Master..." + su -c "$PROGRAM --master >> ${LOG_FILE} 2>&1" $USER & + evaluate_retval + echo $(ps aux|grep farmerjoe|grep -- "--master"|awk '{print $2}') > /var/run/farmerjoe-master.pid +} + +stop() +{ + echo "Stopping Farmerjoe Master..." + if [[ -e /var/run/farmerjoe-master.pid ]] + then + kill $(cat /var/run/farmerjoe-master.pid) + evaluate_retval + rm -f /var/run/farmerjoe-master.pid + else + echo "Farmerjoe Master is not running" + fi +} + +status() +{ + if [[ -e /var/run/farmerjoe-master.pid ]] + then + echo "Farmerjoe Master is running as $(cat /var/run/farmerjoe-master.pid)" + else + echo "Farmerjoe Master is not running" + fi +} + diff --git a/cluster/farmerjoe/init.d/farmerjoe-master.conf b/cluster/farmerjoe/init.d/farmerjoe-master.conf new file mode 100644 index 0000000000..aa83897def --- /dev/null +++ b/cluster/farmerjoe/init.d/farmerjoe-master.conf @@ -0,0 +1,10 @@ +# +# Location of init logs +# +LOG_FILE=/var/log/farmerjoe-master.log + +# +# User to run farmerjoe as +# +USER=root + diff --git a/cluster/farmerjoe/init.d/farmerjoe-slave b/cluster/farmerjoe/init.d/farmerjoe-slave new file mode 100644 index 0000000000..a62f511204 --- /dev/null +++ b/cluster/farmerjoe/init.d/farmerjoe-slave @@ -0,0 +1,40 @@ +#!/bin/bash + +PROGRAM=/usr/bin/farmerjoe +RUNLEVEL=3 +NEEDS="+network" + +. /etc/sysconfig/farmerjoe-slave +. /etc/init.d/smgl_init + +start() +{ + echo "Starting Farmerjoe Slave..." + su -c "$PROGRAM >> ${LOG_FILE} 2>&1" $USER & + evaluate_retval + echo $(ps aux|grep farmerjoe$|awk '{print $2}') > /var/run/farmerjoe-slave.pid +} + +stop() +{ + echo "Stopping Farmerjoe Slave..." + if [[ -e /var/run/farmerjoe-slave.pid ]] + then + kill $(cat /var/run/farmerjoe-slave.pid) + evaluate_retval + rm -f /var/run/farmerjoe-slave.pid + else + echo "Farmerjoe Slave is not running" + fi +} + +status() +{ + if [[ -e /var/run/farmerjoe-slave.pid ]] + then + echo "Farmerjoe Slave is running as $(cat /var/run/farmerjoe-slave.pid)" + else + echo "Farmerjoe Slave is not running" + fi +} + diff --git a/cluster/farmerjoe/init.d/farmerjoe-slave.conf b/cluster/farmerjoe/init.d/farmerjoe-slave.conf new file mode 100644 index 0000000000..8ed51ac41b --- /dev/null +++ b/cluster/farmerjoe/init.d/farmerjoe-slave.conf @@ -0,0 +1,10 @@ +# +# Location of init logs +# +LOG_FILE=/var/log/farmerjoe-slave.log + +# +# User to run farmerjoe as +# +USER=root + diff --git a/cluster/farmerjoe/use-perl.patch b/cluster/farmerjoe/use-perl.patch new file mode 100644 index 0000000000..6a1a118ac4 --- /dev/null +++ b/cluster/farmerjoe/use-perl.patch @@ -0,0 +1,16 @@ +diff -Naur Farmerjoe_0.1.3.orig/bin/farmerjoe_submit.py Farmerjoe_0.1.3/bin/farmerjoe_submit.py +--- Farmerjoe_0.1.3.orig/bin/farmerjoe_submit.py 2008-03-09 15:00:31.310465423 -0700 ++++ Farmerjoe_0.1.3/bin/farmerjoe_submit.py 2008-03-09 15:01:09.112456670 -0700 +@@ -76,9 +76,9 @@ + 'extensions' :{ 'Targa':'.tga', 'Jpeg':'.jpg', 'PNG':'.png', 'BMP':'.bmp' }, + 'filetypes' :( 'Targa', 'Jpeg', 'PNG', 'BMP' ), + 'filetype_const' :{ 'Targa':Scene.Render.TARGA, 'Jpeg':Scene.Render.JPEG, 'PNG':Scene.Render.PNG, 'BMP':Scene.Render.BMP }, +-'linux_farmerjoe' :'Farmerjoe.linux', +-'windows_farmerjoe' :'Farmerjoe.exe', +-'osx_farmerjoe' :'Farmerjoe.osx' ++'linux_farmerjoe' :'farmerjoe', ++'windows_farmerjoe' :'farmerjoe', ++'osx_farmerjoe' :'farmerjoe' + } + #controls + c_ = { |