Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jean-Paul Smets
slapos
Commits
330c3b77
Commit
330c3b77
authored
Oct 26, 2012
by
Alain Takoudjou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reconfigure condor worker
parent
402899ef
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
14 additions
and
20 deletions
+14
-20
slapos/recipe/condor/__init__.py
slapos/recipe/condor/__init__.py
+10
-15
slapos/recipe/condor/configure.py
slapos/recipe/condor/configure.py
+2
-2
slapos/recipe/condor/template/condor_config.generic
slapos/recipe/condor/template/condor_config.generic
+1
-1
software/condor/instance-condor.cfg
software/condor/instance-condor.cfg
+0
-1
software/condor/software.cfg
software/condor/software.cfg
+1
-1
No files found.
slapos/recipe/condor/__init__.py
View file @
330c3b77
...
...
@@ -74,7 +74,6 @@ class Recipe(GenericBaseRecipe):
self
.
ipv6
=
options
[
'ip'
].
strip
()
self
.
condor_host
=
options
[
'condor_host'
].
strip
()
self
.
collector
=
options
[
'collector_name'
].
strip
()
self
.
centralhost
=
self
.
options
[
'central-host'
].
strip
()
def
install
(
self
):
path_list
=
[]
...
...
@@ -91,10 +90,8 @@ class Recipe(GenericBaseRecipe):
if
self
.
options
[
'machine-role'
].
strip
()
==
"manager"
:
self
.
role
=
"manager,submit"
elif
self
.
options
[
'machine-role'
].
strip
()
==
"worker"
:
if
not
self
.
centralhost
:
raise
Exception
(
"ERROR: Cannot deploy condor worker without specify the central manager"
)
self
.
role
=
"execute"
install_args
+=
[
'--central-manager='
+
self
.
c
entral
host
,
install_args
+=
[
'--central-manager='
+
self
.
c
ondor_
host
,
'--type='
+
self
.
role
]
configure
=
subprocess
.
Popen
(
install_args
,
env
=
self
.
environ
,
stdout
=
subprocess
.
PIPE
)
...
...
@@ -115,13 +112,15 @@ class Recipe(GenericBaseRecipe):
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'condor_config.generic'
),
condor_configure
))
path_list
.
append
(
config
)
#update condor_config.local
with
open
(
config_local
,
'a'
)
as
f
:
f
.
write
(
"
\
n
START = TRUE"
)
#create condor binary launcher for slapos
if
not
os
.
path
.
exists
(
self
.
wrapper_bin
):
os
.
makedirs
(
self
.
wrapper_bin
,
int
(
'0744'
,
8
))
if
not
os
.
path
.
exists
(
self
.
wrapper_sbin
):
os
.
makedirs
(
self
.
wrapper_sbin
,
int
(
'0744'
,
8
))
#self.path = wrapper_bin+":"+wrapper_sbin+":"+self.path
#generate script for each file in prefix/bin
for
binary
in
os
.
listdir
(
self
.
prefix
+
'/bin'
):
wrapper_location
=
os
.
path
.
join
(
self
.
wrapper_bin
,
binary
)
...
...
@@ -172,15 +171,11 @@ class Recipe(GenericBaseRecipe):
#generate script for start condor
start_condor
=
os
.
path
.
join
(
self
.
wrapperdir
,
'start_condor'
)
#if self.role == "manager,submit":
# binary = os.path.join(self.wrapper_sbin, 'condor_master')
#elif self.role == "execute":
# binary = os.path.join(self.wrapper_bin, 'condor_run')
start_bin
=
os
.
path
.
join
(
self
.
wrapper_sbin
,
'condor_master'
)
condor_
status
=
os
.
path
.
join
(
self
.
wrapper_bin
,
'condor_status
'
)
condor_
reconfig
=
os
.
path
.
join
(
self
.
wrapper_sbin
,
'condor_reconfig
'
)
wrapper
=
self
.
createPythonScript
(
start_condor
,
'%s.configure.condorStart'
%
__name__
,
dict
(
start_bin
=
start_bin
,
condor_
status
=
condor_status
)
dict
(
start_bin
=
start_bin
,
condor_
reconfig
=
condor_reconfig
)
)
path_list
.
append
(
wrapper
)
return
path_list
...
...
@@ -228,24 +223,24 @@ class AppSubmit(GenericBaseRecipe):
if
value
and
(
value
.
startswith
(
'http'
)
or
value
.
startswith
(
'ftp'
)):
self
.
options
[
'name_'
+
pos
]
=
os
.
path
.
basename
(
urlparse
.
urlparse
(
value
)[
2
])
self
.
options
[
'file_'
+
pos
]
=
self
.
download
(
value
)
os
.
chmod
(
self
.
options
[
'file_'
+
pos
],
0600
)
else
:
self
.
options
[
'file_'
+
pos
]
=
value
os
.
chmod
(
self
.
options
[
'file_'
+
pos
],
0600
)
executable
=
self
.
options
[
'executable'
]
if
executable
and
(
executable
.
startswith
(
'http'
)
or
executable
.
startswith
(
'ftp'
)):
self
.
options
[
'executable'
]
=
self
.
download
(
executable
,
self
.
options
[
'executable-name'
].
strip
())
os
.
chmod
(
self
.
options
[
'executable'
],
0700
)
os
.
chmod
(
self
.
options
[
'executable'
],
0700
)
submit_file
=
self
.
options
[
'description-file'
]
if
submit_file
and
(
submit_file
.
startswith
(
'http'
)
or
submit_file
.
startswith
(
'ftp'
)):
self
.
options
[
'description-file'
]
=
self
.
download
(
submit_file
,
'submit'
)
os
.
chmod
(
self
.
options
[
'description-file'
],
0600
)
os
.
chmod
(
self
.
options
[
'description-file'
],
0600
)
def
install
(
self
):
path_list
=
[]
#check if curent condor instance is an condor master
if
self
.
options
[
'machine-role'
].
strip
()
!=
"manager"
:
print
"ERROR: cannot submit a job to
a worker condo
r instance"
print
"ERROR: cannot submit a job to
Condor worke
r instance"
return
[]
#Setup directory
jobdir
=
self
.
options
[
'job-dir'
].
strip
()
...
...
slapos/recipe/condor/configure.py
View file @
330c3b77
...
...
@@ -48,8 +48,8 @@ def submitJob(args):
def
condorStart
(
args
):
"""Start Condor if deamons is currently stopped"""
result
=
os
.
system
(
args
[
'condor_
status
'
])
result
=
os
.
system
(
args
[
'condor_
reconfig
'
])
if
result
!=
0
:
#process failled to re
start
that mean that condor deamons is not curently started
#process failled to re
config condor
that mean that condor deamons is not curently started
os
.
system
(
args
[
'start_bin'
])
\ No newline at end of file
slapos/recipe/condor/template/condor_config.generic
View file @
330c3b77
...
...
@@ -223,7 +223,7 @@ ALLOW_READ = *
## but note that this will allow anyone to submit jobs or add
## machines to your pool and is a serious security risk.
ALLOW_WRITE = $(FULL_HOSTNAME), $(IP_ADDRESS)
ALLOW_WRITE = $(FULL_HOSTNAME), $(IP_ADDRESS)
, %(ipv6)s
#ALLOW_WRITE = *.your.domain, your-friend's-machine.other.domain
#DENY_WRITE = bad-machine.your.domain
...
...
software/condor/instance-condor.cfg
View file @
330c3b77
...
...
@@ -85,7 +85,6 @@ collector_name = SLAPOS-CONDOR-POOL
role
=
manager
diskspace
=
5
#
submit
application
central
-
manager
=
app
-
name
=
condor_test
description
-
file
=
${
description
-
file
:
location
}/${
description
-
file
:
filename
}
executable
=
${
executable
:
location
}/${
executable
:
filename
}
...
...
software/condor/software.cfg
View file @
330c3b77
...
...
@@ -30,7 +30,7 @@ md5sum = 9e9db6f4c5e38ce3fd45d43c2bf616a8
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-condor.cfg
output = ${buildout:directory}/template-condor.cfg
md5sum =
9df787cc62e2dc6741c2faf1b1e0f315
md5sum =
2a8a1eec88e960e5af3f121d019fc507
mode = 0644
[description-file]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment