Commit f91020d6 authored by Alain Takoudjou's avatar Alain Takoudjou

Update condor recipe and software release

parent bf3ace62
...@@ -22,6 +22,6 @@ extends = ...@@ -22,6 +22,6 @@ extends =
[condor] [condor]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
url = http://vlwjcg.blu.livefilestore.com/y1mR56t-v_Nqnehlg2ziRbk_rvqO_VMmNQTbzciYAYuw2FjKY7G_mmDYKYSrylX4myS7YOuPayS-aT18s7ROrZpCqHf7mfUQU-A/condor-7.9.0-x86_64_deb_6.0-stripped.tar.gz?download&psid=1 url = http://vlwjcg.blu.livefilestore.com/y1mFoqvjfWRrg1vs6l_zEWr7f1dNfZvdRWjqYhy5MTy7ugx7zd2oV3ehqj_bc_ub2Nw-iUNn8cA6V7Zv3QDzfmr69c3UzPEQxAEEOUlrcArs01Ll2RFywbwEQ/condor-7.9.0-x86_64_deb_6.0-stripped.tar.gz?download&psid=1
md5sum = 630ce96e5c1172391febba2aa1bad8fc md5sum = 630ce96e5c1172391febba2aa1bad8fc
strip-top-level-dir = true strip-top-level-dir = true
...@@ -31,6 +31,7 @@ import zc.buildout ...@@ -31,6 +31,7 @@ import zc.buildout
import filecmp import filecmp
import urlparse import urlparse
import shutil import shutil
import re
class Recipe(GenericBaseRecipe): class Recipe(GenericBaseRecipe):
"""Deploy a fully operational condor architecture.""" """Deploy a fully operational condor architecture."""
...@@ -60,7 +61,6 @@ class Recipe(GenericBaseRecipe): ...@@ -60,7 +61,6 @@ class Recipe(GenericBaseRecipe):
self.package = options['package'].strip() self.package = options['package'].strip()
self.rootdir = options['rootdirectory'].strip() self.rootdir = options['rootdirectory'].strip()
#Other condor dependances #Other condor dependances
self.perlbin = options['perl-bin'].strip()
self.javabin = options['java-bin'].strip() self.javabin = options['java-bin'].strip()
self.dash = options['dash'].strip() self.dash = options['dash'].strip()
#Directory to deploy condor #Directory to deploy condor
...@@ -73,7 +73,9 @@ class Recipe(GenericBaseRecipe): ...@@ -73,7 +73,9 @@ class Recipe(GenericBaseRecipe):
self.diskspace = options['disk-space'].strip() self.diskspace = options['disk-space'].strip()
self.ipv6 = options['ip'].strip() self.ipv6 = options['ip'].strip()
self.condor_host = options['condor_host'].strip() self.condor_host = options['condor_host'].strip()
self.collector = options['collector_name'].strip() self.collector_name = options['collector_name'].strip()
self.host_list = self.options.get('allowed-write', '*')
self.email = self.options.get('admin-email', "root@$(FULL_HOSTNAME)")
def install(self): def install(self):
path_list = [] path_list = []
...@@ -106,15 +108,24 @@ class Recipe(GenericBaseRecipe): ...@@ -106,15 +108,24 @@ class Recipe(GenericBaseRecipe):
localdir=self.localdir, config_local=config_local, localdir=self.localdir, config_local=config_local,
slapuser=slapuser, ipv6=self.ipv6, slapuser=slapuser, ipv6=self.ipv6,
diskspace=self.diskspace, javabin=self.javabin, diskspace=self.diskspace, javabin=self.javabin,
domain_name=domain_name) host_list=self.host_list, collector_name=self.collector_name,
email=self.email, domain_name=domain_name)
destination = os.path.join(condor_config) destination = os.path.join(condor_config)
config = self.createFile(destination, config = self.createFile(destination,
self.substituteTemplate(self.getTemplateFilename('condor_config.generic'), self.substituteTemplate(self.getTemplateFilename('condor_config.generic'),
condor_configure)) condor_configure))
path_list.append(config) path_list.append(config)
#Search if is needed to update condor_config.local file
find = re.search('NETWORK_INTERFACE[\s]*=[\s]*(%s)' % self.ipv6,
open(config_local, 'r').read())
if not find:
#update condor_config.local #update condor_config.local
with open(config_local, 'a') as f: with open(config_local, 'a') as f:
if self.role == "execute":
f.write("\nSTART = TRUE") f.write("\nSTART = TRUE")
f.write("\nCOLLECTOR_NAME = %s\n \nNETWORK_INTERFACE=%s" %
(self.collector_name, self.ipv6))
#create condor binary launcher for slapos #create condor binary launcher for slapos
if not os.path.exists(self.wrapper_bin): if not os.path.exists(self.wrapper_bin):
...@@ -133,11 +144,10 @@ class Recipe(GenericBaseRecipe): ...@@ -133,11 +144,10 @@ class Recipe(GenericBaseRecipe):
export CONDOR_LOCATION=%s export CONDOR_LOCATION=%s
export CONDOR_IDS=%s export CONDOR_IDS=%s
export HOME=%s export HOME=%s
export HOSTNAME=%s
exec %s $*""" % (self.dash, exec %s $*""" % (self.dash,
self.environ['LD_LIBRARY_PATH'], self.environ['PATH'], self.environ['LD_LIBRARY_PATH'], self.environ['PATH'],
condor_config, self.prefix, slapuser, self.localdir, condor_config, self.prefix, slapuser, self.environ['HOME'],
self.condor_host, current_exe) current_exe)
wrapper.write(content) wrapper.write(content)
wrapper.close() wrapper.close()
path_list.append(wrapper_location) path_list.append(wrapper_location)
...@@ -155,19 +165,14 @@ class Recipe(GenericBaseRecipe): ...@@ -155,19 +165,14 @@ class Recipe(GenericBaseRecipe):
export CONDOR_LOCATION=%s export CONDOR_LOCATION=%s
export CONDOR_IDS=%s export CONDOR_IDS=%s
export HOME=%s export HOME=%s
export HOSTNAME=%s
exec %s $*""" % (self.dash, exec %s $*""" % (self.dash,
self.environ['LD_LIBRARY_PATH'], self.environ['PATH'], self.environ['LD_LIBRARY_PATH'], self.environ['PATH'],
condor_config, self.prefix, slapuser, self.localdir, condor_config, self.prefix, slapuser, self.environ['HOME'],
self.condor_host, current_exe) current_exe)
wrapper.write(content) wrapper.write(content)
wrapper.close() wrapper.close()
path_list.append(wrapper_location) path_list.append(wrapper_location)
os.chmod(wrapper_location, 0744) os.chmod(wrapper_location, 0744)
#update environment variable
self.environ['CONDOR_CONFIG'] = condor_config
self.environ['CONDOR_LOCATION'] = self.prefix
self.environ['CONDOR_IDS'] = slapuser
#generate script for start condor #generate script for start condor
start_condor = os.path.join(self.wrapperdir, 'start_condor') start_condor = os.path.join(self.wrapperdir, 'start_condor')
......
...@@ -46,8 +46,8 @@ ...@@ -46,8 +46,8 @@
###################################################################### ######################################################################
###################################################################### ######################################################################
NO_DNS = True NO_DNS = False
DEFAULT_DOMAIN_NAME = %(domain_name)s #DEFAULT_DOMAIN_NAME = %(domain_name)s
ENABLE_IPV6 = TRUE ENABLE_IPV6 = TRUE
## What machine is your central manager? ## What machine is your central manager?
CONDOR_HOST = %(condor_host)s CONDOR_HOST = %(condor_host)s
...@@ -84,7 +84,7 @@ LOCAL_CONFIG_DIR = $(LOCAL_DIR)/config ...@@ -84,7 +84,7 @@ LOCAL_CONFIG_DIR = $(LOCAL_DIR)/config
##-------------------------------------------------------------------- ##--------------------------------------------------------------------
## When something goes wrong with condor at your site, who should get ## When something goes wrong with condor at your site, who should get
## the email? ## the email?
CONDOR_ADMIN = root@$(FULL_HOSTNAME) CONDOR_ADMIN = %(email)s
## Full path to a mail delivery program that understands that "-s" ## Full path to a mail delivery program that understands that "-s"
## means you want to specify a subject: ## means you want to specify a subject:
...@@ -108,7 +108,7 @@ FILESYSTEM_DOMAIN = $(FULL_HOSTNAME) ...@@ -108,7 +108,7 @@ FILESYSTEM_DOMAIN = $(FULL_HOSTNAME)
## This macro is used to specify a short description of your pool. ## This macro is used to specify a short description of your pool.
## It should be about 20 characters long. For example, the name of ## It should be about 20 characters long. For example, the name of
## the UW-Madison Computer Science Condor Pool is ``UW-Madison CS''. ## the UW-Madison Computer Science Condor Pool is ``UW-Madison CS''.
COLLECTOR_NAME = My Pool - $(CONDOR_HOST) COLLECTOR_NAME = %(collector_name)s
###################################################################### ######################################################################
###################################################################### ######################################################################
...@@ -181,7 +181,7 @@ FLOCK_COLLECTOR_HOSTS = $(FLOCK_TO) ...@@ -181,7 +181,7 @@ FLOCK_COLLECTOR_HOSTS = $(FLOCK_TO)
## machine(s) where whoever is the condor administrator(s) works ## machine(s) where whoever is the condor administrator(s) works
## (assuming you trust all the users who log into that/those ## (assuming you trust all the users who log into that/those
## machine(s), since this is machine-wide access you're granting). ## machine(s), since this is machine-wide access you're granting).
ALLOW_ADMINISTRATOR = $(CONDOR_HOST), $(IP_ADDRESS) ALLOW_ADMINISTRATOR = $(CONDOR_HOST), $(IP_ADDRESS), %(host_list)s
## If there are no machines that should have administrative access ## If there are no machines that should have administrative access
## to your pool (for example, there's no machine where only trusted ## to your pool (for example, there's no machine where only trusted
...@@ -223,7 +223,7 @@ ALLOW_READ = * ...@@ -223,7 +223,7 @@ ALLOW_READ = *
## but note that this will allow anyone to submit jobs or add ## but note that this will allow anyone to submit jobs or add
## machines to your pool and is a serious security risk. ## machines to your pool and is a serious security risk.
ALLOW_WRITE = $(FULL_HOSTNAME), $(IP_ADDRESS), %(ipv6)s ALLOW_WRITE = $(FULL_HOSTNAME), $(IP_ADDRESS), %(host_list)s
#ALLOW_WRITE = *.your.domain, your-friend's-machine.other.domain #ALLOW_WRITE = *.your.domain, your-friend's-machine.other.domain
#DENY_WRITE = bad-machine.your.domain #DENY_WRITE = bad-machine.your.domain
...@@ -557,6 +557,7 @@ GLIDEIN_SERVER_URLS = \ ...@@ -557,6 +557,7 @@ GLIDEIN_SERVER_URLS = \
## interface if one is available. If it cannot decide which of two interfaces ## interface if one is available. If it cannot decide which of two interfaces
## to choose from, it will pick the first one. ## to choose from, it will pick the first one.
NETWORK_INTERFACE = %(ipv6)s NETWORK_INTERFACE = %(ipv6)s
BIND_ALL_INTERFACES = FALSE
##-------------------------------------------------------------------- ##--------------------------------------------------------------------
## Settings that control the daemon's debugging output: ## Settings that control the daemon's debugging output:
......
...@@ -41,7 +41,6 @@ package = ${condor:location} ...@@ -41,7 +41,6 @@ package = ${condor:location}
rootdirectory = $${buildout:directory} rootdirectory = $${buildout:directory}
local-dir = $${rootdirectory:condor} local-dir = $${rootdirectory:condor}
job-dir = $${rootdirectory:job} job-dir = $${rootdirectory:job}
perl-bin = ${perl:location}/bin
java-bin = ${java:location}/bin java-bin = ${java:location}/bin
bin = $${wrapperdirectory:wrapper}/bin/ bin = $${wrapperdirectory:wrapper}/bin/
sbin = $${wrapperdirectory:wrapper}/sbin/ sbin = $${wrapperdirectory:wrapper}/sbin/
...@@ -51,14 +50,16 @@ environment = ...@@ -51,14 +50,16 @@ environment =
LD_LIBRARY_PATH=${libexpat:location}/lib:${kerberos:location}/lib:${openldap:location}/lib:${zlib:location}/lib LD_LIBRARY_PATH=${libexpat:location}/lib:${kerberos:location}/lib:${openldap:location}/lib:${zlib:location}/lib
PATH=${perl:location}/bin:${java:location}/bin:${kerberos:location}/bin:${openldap:location}/bin:%(PATH)s PATH=${perl:location}/bin:${java:location}/bin:${kerberos:location}/bin:${openldap:location}/bin:%(PATH)s
HOME=$${rootdirectory:condor} HOME=$${rootdirectory:condor}
HOSTNAME=$${slap-parameter:host_manager_name} HOSTNAME=$${slap-parameter:condor_host}
#Condor user parameter #Condor user parameter
condor_host = $${slap-parameter:host_manager_name} condor_host = $${slap-parameter:condor_host}
collector_name = $${slap-parameter:collector_name} collector_name = $${slap-parameter:collector_name}
#Condor machine role: worker=submit,execute manager=manager,submit #Condor machine role: worker=submit,execute manager=manager,submit
machine-role = $${slap-parameter:role} machine-role = $${slap-parameter:role}
disk-space = $${slap-parameter:diskspace} disk-space = $${slap-parameter:diskspace}
allowed-write = $${slap-parameter:allowed-write}
admin-email = $${slap-parameter:admin-email}
[app-submit] [app-submit]
<= condor <= condor
...@@ -79,10 +80,12 @@ condor_host = $${condor:condor_host} ...@@ -79,10 +80,12 @@ condor_host = $${condor:condor_host}
[slap-parameter] [slap-parameter]
# Default values if not specified # Default values if not specified
host_manager_name = [$${slap-network-information:global-ipv6}] condor_host = [$${slap-network-information:global-ipv6}]
collector_name = SLAPOS-CONDOR-POOL collector_name = SLAPOS-CONDOR-POOL
role = manager role = manager
diskspace = 5 diskspace = 5
admin-email =
allowed-write = $${:condor_host}
#submit application #submit application
app-name = condor_test app-name = condor_test
description-file = ${description-file:location}/${description-file:filename} description-file = ${description-file:location}/${description-file:filename}
......
...@@ -30,7 +30,7 @@ md5sum = 9e9db6f4c5e38ce3fd45d43c2bf616a8 ...@@ -30,7 +30,7 @@ md5sum = 9e9db6f4c5e38ce3fd45d43c2bf616a8
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-condor.cfg url = ${:_profile_base_location_}/instance-condor.cfg
output = ${buildout:directory}/template-condor.cfg output = ${buildout:directory}/template-condor.cfg
md5sum = 36cc677cdce31436d163651b487b25f0 md5sum = 213b8c28be36f38103c7a100adb91d3f
mode = 0644 mode = 0644
[description-file] [description-file]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment