1 |
davidg |
2528 |
############################################################################## |
2 |
|
|
# Copyright (c) Members of the EGEE Collaboration. 2004. |
3 |
|
|
# See http://www.eu-egee.org/partners/ for details on the copyright |
4 |
|
|
# holders. |
5 |
|
|
# |
6 |
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
7 |
|
|
# you may not use this file except in compliance with the License. |
8 |
|
|
# You may obtain a copy of the License at |
9 |
|
|
# |
10 |
|
|
# http://www.apache.org/licenses/LICENSE-2.0 |
11 |
|
|
# |
12 |
|
|
# Unless required by applicable law or agreed to in writing, software |
13 |
|
|
# distributed under the License is distributed on an "AS IS" BASIS, |
14 |
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
15 |
|
|
# See the License for the specific language governing permissions and |
16 |
|
|
# limitations under the License. |
17 |
|
|
############################################################################## |
18 |
|
|
# |
19 |
|
|
# NAME : config_gip_gram5_glue2 |
20 |
|
|
# |
21 |
|
|
# DESCRIPTION : This function configures the generic information providor (GIP) |
22 |
|
|
# for a Globus GRAM5 CE |
23 |
|
|
# DERIVED FROM the CREAM GLUE2 provider by INFN CNAF |
24 |
|
|
# |
25 |
|
|
# AUTHORS : grid.sysadmin@nikhef.nl |
26 |
|
|
# |
27 |
|
|
# YAIM MODULE: local |
28 |
|
|
# |
29 |
|
|
############################################################################## |
30 |
|
|
|
31 |
|
|
function config_gip_gram5_glue2_check () { |
32 |
|
|
|
33 |
|
|
requires $1 \ |
34 |
|
|
SITE_NAME CE_BATCH_SYS BATCH_VERSION \ |
35 |
|
|
CE_OS_ARCH CE_PHYSCPU CE_LOGCPU CE_SMPSIZE CE_CPU_VENDOR \ |
36 |
|
|
CE_SF00 CE_SI00 CE_CPU_MODEL CE_CPU_SPEED CE_MINPHYSMEM CE_OTHERDESCR \ |
37 |
|
|
VOS QUEUES __GROUP_ENABLE |
38 |
|
|
|
39 |
|
|
} |
40 |
|
|
|
41 |
|
|
function config_gip_gram5_glue2_setenv () { |
42 |
|
|
|
43 |
|
|
yaimlog DEBUG "This function currently doesn't set any environment variables." |
44 |
|
|
|
45 |
|
|
} |
46 |
|
|
|
47 |
|
|
function config_gip_gram5_glue2 () { |
48 |
|
|
|
49 |
|
|
# default values |
50 |
|
|
GIP_DATA=${GIP_DATA:-/var/lib/bdii/gip} |
51 |
davidg |
2530 |
GIP_CONFIG=${GIP_CONFIG:-/etc/globus-info-gip-gram5-glue2.conf} |
52 |
|
|
GIP_BIN=${GIP_BIN:-/usr/bin} |
53 |
davidg |
2528 |
CE_HOST=${CE_HOST:-`hostname -f`} |
54 |
|
|
CE_OS_FAMILY=${CE_OS_FAMILY:-linux} |
55 |
|
|
|
56 |
|
|
# Calculate ACBR list and shares |
57 |
|
|
# one share is a VOView |
58 |
|
|
|
59 |
|
|
acbr_list="" |
60 |
|
|
|
61 |
|
|
# for (1) - BEGIN |
62 |
|
|
for QUEUE in $QUEUES; do |
63 |
|
|
|
64 |
|
|
#dn: GlueCEUniqueID=${CE_HOST}:${ce_port}/${ce_type}-$JOB_MANAGER-$QUEUE |
65 |
|
|
|
66 |
|
|
# Converting the dots and dashes to underscore to get the proper variable name |
67 |
|
|
dnssafevar=`echo $QUEUE | sed -e 's/[\.-]/_/g' | tr '[:lower:]' '[:upper:]'` |
68 |
|
|
qenablevar=${dnssafevar}_GROUP_ENABLE |
69 |
|
|
|
70 |
|
|
if [ "${!qenablevar}" ] ; then |
71 |
|
|
# Here we add the VO names or/and VOMS FQANs to the GlueCEUniqueID's ACBR list |
72 |
|
|
acbr="" |
73 |
|
|
for vomsgroup in ${!qenablevar}; do |
74 |
|
|
#echo -n "GlueCEAccessControlBaseRule: " >> $outfile |
75 |
|
|
convert_fqan "${vomsgroup}" |
76 |
|
|
if [ ! `echo ${vomsgroup} | grep "/"` ]; then |
77 |
|
|
# echo "VO:${newfqanvo}" >> $outfile |
78 |
|
|
acbr="VO:${newfqanvo}" |
79 |
|
|
acbr_list="${acbr_list} ${acbr}" |
80 |
|
|
if ( echo "${vomsgroup}" | egrep -q '^/[^/]*$' ); then |
81 |
|
|
yaimlog WARNING "Queue $QUEUE was enabled for one or more FQANs which specify an entire VO" |
82 |
|
|
fi |
83 |
|
|
else |
84 |
|
|
yaimlog WARNING "Queue $QUEUE was enabled for one or more FQANs which specify an entire VO" |
85 |
|
|
# echo "VOMS:${newfqan}" >> $outfile |
86 |
|
|
acbr="VOMS:${newfqan}" |
87 |
|
|
acbr_list="${acbr_list} ${acbr}" |
88 |
|
|
fi |
89 |
|
|
acbr_list="$acbr_list $acbr" |
90 |
|
|
done |
91 |
|
|
# Remove duplicated items from list |
92 |
|
|
acbr_list_final="" |
93 |
|
|
acbr_list=`for kk in $acbr_list; do echo $kk; done | sort | uniq`; |
94 |
|
|
# Remove new-lines introduced with previous operation |
95 |
|
|
for jj in $acbr_list; do |
96 |
|
|
acbr_list_final="$acbr_list_final $jj" |
97 |
|
|
done |
98 |
|
|
|
99 |
|
|
# Now, we publish the VOViews belonging to the given GlueCEUniqueID |
100 |
|
|
# for (2) - BEGIN |
101 |
|
|
queue_share_list="" |
102 |
|
|
for vomsgroup in ${!qenablevar}; do |
103 |
|
|
convert_fqan "${vomsgroup}" |
104 |
|
|
# Keep the possibility to turn off the whole stuff |
105 |
|
|
if [ "x${FQANVOVIEWS}" = "xyes" ] || ([ ! `echo ${vomsgroup} | grep "/"` ] && [ "x${FQANVOVIEWS}" = "xno" ] ) ; then |
106 |
|
|
myview=`echo ${newfqan} | sed -e 's/=/_/g'` |
107 |
|
|
myaccessrule="VOMS:${newfqan}" |
108 |
|
|
VO="${newfqanvo}" |
109 |
|
|
|
110 |
|
|
# To make VO determination `GEAR - safe ` |
111 |
|
|
if [ ! `echo $vomsgroup | grep "/"` ]; then |
112 |
|
|
mygroupsdotconfvo=`cat $GROUPS_CONF | grep $vomsgroup | head -1 | cut -d ":" -f 5` |
113 |
|
|
if [ ${mygroupsdotconfvo} ]; then |
114 |
|
|
VO=${mygroupsdotconfvo} |
115 |
|
|
else |
116 |
|
|
VO="${newfqanvo}" |
117 |
|
|
fi |
118 |
|
|
myaccessrule="VO:${VO}" |
119 |
|
|
fi |
120 |
|
|
|
121 |
|
|
|
122 |
|
|
#dn: GlueVOViewLocalID=$myview,\ |
123 |
|
|
#GlueCEUniqueID=${CE_HOST}:${ce_port}/${ce_type}-${JOB_MANAGER}-${QUEUE} |
124 |
|
|
#GlueCEAccessControlBaseRule: $myaccessrule |
125 |
|
|
#EOF |
126 |
|
|
|
127 |
|
|
share="($QUEUE ($myaccessrule ${VO}))" |
128 |
|
|
queue_share_list="${queue_share_list} ${share}, " |
129 |
|
|
# Here we add the DENY strings only for the generic VOview, i.e which does not contain "/" |
130 |
|
|
allvoview=""; |
131 |
|
|
# Collecting all VoView defs |
132 |
|
|
for OQUEUE in ${QUEUES}; do |
133 |
|
|
dsv=`echo $OQUEUE | sed -e 's/[\.-]/_/g' | tr '[:lower:]' '[:upper:]'` |
134 |
|
|
oqenvar=${dsv}_GROUP_ENABLE |
135 |
|
|
allvoview="${allvoview} ${!oqenvar}" |
136 |
|
|
done |
137 |
|
|
# Sort and drop entries whic appears twice |
138 |
|
|
allvoview=`for kk in $allvoview; do echo $kk; done | sort | uniq`; |
139 |
|
|
echo "allvoview=$allvoview" |
140 |
|
|
# Add the DENY stuff only if it is the generic VOview, i.e the VO itself -> no '/' in it's name |
141 |
|
|
|
142 |
|
|
if [ ! `echo ${vomsgroup} | grep "/"` ]; then |
143 |
|
|
convert_fqan ${vomsgroup} |
144 |
|
|
vomsgroupvo="${newfqanvo}" |
145 |
|
|
|
146 |
|
|
for myview in ${allvoview}; do |
147 |
|
|
convert_fqan ${myview} |
148 |
|
|
# We don't deny ourselves... |
149 |
|
|
|
150 |
|
|
if [ "x${myview}" != "x${vomsgroup}" ]; then |
151 |
|
|
|
152 |
|
|
# .. and we put DENY only if it is in the same VO, otherwise it doesn't match, so DENY is not necessary |
153 |
|
|
if [ "x${vomsgroupvo}" = "x${newfqanvo}" ] && [ "x${FQANVOVIEWS}" = "xyes" ]; then |
154 |
|
|
#echo -n "GlueCEAccessControlBaseRule: " >> $outfile |
155 |
|
|
if [ `echo ${myview} | grep "/"` ] ; then |
156 |
|
|
#echo "DENY:${newfqan}" >> $outfile |
157 |
|
|
share="($QUEUE ${share} DENY:${newfqan})" |
158 |
|
|
queue_share_list="${queue_share_list} ${share}, " |
159 |
|
|
fi |
160 |
|
|
fi |
161 |
|
|
fi |
162 |
|
|
done |
163 |
|
|
fi |
164 |
|
|
# This is the end of the FQANVOVIEWS if |
165 |
|
|
fi # if (2) - END |
166 |
|
|
# End of qenablevar loop |
167 |
|
|
done # for (2) - END |
168 |
|
|
|
169 |
|
|
# End of qenablevar if |
170 |
|
|
fi # if (1) - END |
171 |
|
|
share_list="${share_list} ${queue_share_list}" |
172 |
|
|
done # for () - END |
173 |
|
|
|
174 |
|
|
share_list=`echo $share_list | sed -e "s/.,$//g"`; |
175 |
|
|
share_list="( $share_list )" |
176 |
|
|
|
177 |
|
|
# Calculate acbr_list and owner as in glue1 |
178 |
|
|
my_owner="" |
179 |
|
|
my_acbr="" |
180 |
|
|
for vo in $VOS; do |
181 |
|
|
my_owner="${my_owner} ${vo}" |
182 |
|
|
my_acbr="${my_acbr} VO:${vo}" |
183 |
|
|
done |
184 |
|
|
|
185 |
|
|
# Calculate Benchmark |
186 |
|
|
benchmark_info="" |
187 |
|
|
if [ x = x${CE_SF00} ]; then |
188 |
|
|
spec_fp="" |
189 |
|
|
else |
190 |
|
|
spec_fp="(specfp2000 ${CE_SF00})" |
191 |
|
|
benchmark_info="${spec_fp}," |
192 |
|
|
fi |
193 |
|
|
|
194 |
|
|
if [ x = x${CE_SI00} ]; then |
195 |
|
|
spec_int="" |
196 |
|
|
else |
197 |
|
|
spec_int="(specint2000 ${CE_SI00})" |
198 |
|
|
benchmark_info="${benchmark_info} ${spec_int}," |
199 |
|
|
fi |
200 |
|
|
if [ `echo $CE_OTHERDESCR | grep Benchmark` > /dev/null ]; then |
201 |
|
|
benchmark=`echo $CE_OTHERDESCR | sed -e 's/.*Benchmark=//' | sed -e 's/\]//'` |
202 |
|
|
hep_spec="(HEP-SPEC06 $benchmark)" |
203 |
|
|
benchmark_info="${benchmark_info} ${hep_spec}" |
204 |
|
|
else |
205 |
|
|
hep_spec="" |
206 |
|
|
fi |
207 |
|
|
if [ ! "X" = "X${benchmark_info}" ]; then |
208 |
|
|
benchmark_info=`echo ${benchmark_info} | sed -e 's/,$//g'` |
209 |
|
|
benchmark_info="(${benchmark_info})" |
210 |
|
|
fi |
211 |
|
|
# Evaluate closeSE info |
212 |
|
|
echo "SE_LIST=${SE_LIST}" |
213 |
|
|
close_se_list="" |
214 |
|
|
if [ ! "X" = "X${SE_LIST}" ]; then |
215 |
|
|
|
216 |
|
|
if [ $SE_MOUNT_INFO_LIST = "none" ]; then |
217 |
|
|
|
218 |
|
|
for se in ${SE_LIST}; do |
219 |
|
|
close_se_list="${close_se_list} (${se} none none)," |
220 |
|
|
done |
221 |
|
|
|
222 |
|
|
else if [ ! "x" = "x${SE_MOUNT_INFO_LIST}" ]; then |
223 |
|
|
|
224 |
|
|
for se_info in ${SE_MOUNT_INFO_LIST}; do |
225 |
|
|
se_i=`echo ${se_info} | sed -e 's/:.*//g'` |
226 |
|
|
export_dir_i=`echo ${se_info} | sed -e 's/.*://g' |sed -e 's/,.*//g'` |
227 |
|
|
mount_dir_i=`echo ${se_info} | sed -e 's/.*,//g'` |
228 |
|
|
close_se_list="${close_se_list} (${se_i} ${export_dir_i} ${mount_dir_i})," |
229 |
|
|
done |
230 |
|
|
fi |
231 |
|
|
fi |
232 |
|
|
|
233 |
|
|
close_se_list=`echo $close_se_list | sed -e "s/,$//g"` |
234 |
|
|
close_se_list="(${close_se_list})" |
235 |
|
|
|
236 |
|
|
fi |
237 |
|
|
|
238 |
|
|
# Back-up and create configuration file |
239 |
|
|
backup_file ${GIP_CONFIG} |
240 |
|
|
|
241 |
|
|
mkdir -p `dirname ${GIP_CONFIG}`/ |
242 |
|
|
|
243 |
|
|
cat << EOF > ${GIP_CONFIG} |
244 |
|
|
|
245 |
|
|
# Site Id |
246 |
|
|
SiteId = ${SITE_NAME} |
247 |
|
|
# |
248 |
|
|
# |
249 |
|
|
# Computing Service Id |
250 |
|
|
# Good name could be hostname + the "_ComputingElement" string |
251 |
|
|
ComputingServiceId = ${CE_HOST}_ComputingEntity |
252 |
|
|
# |
253 |
|
|
# |
254 |
|
|
# HealthState info programme ANDded with gatekeeper status |
255 |
|
|
HealthState = true |
256 |
|
|
# |
257 |
|
|
# ServingState of the Computing Element. It should be usually set to production |
258 |
|
|
ServingState = ${CE_STATE:-${CREAM_CE_STATE:-testing}} |
259 |
|
|
# |
260 |
|
|
# |
261 |
|
|
# Owner should be the list of owner VO names |
262 |
|
|
Owner = ${my_owner} |
263 |
|
|
# |
264 |
|
|
# |
265 |
|
|
#ACBR should be the list of AccessControlBaseRule strings to indicate who is allowed to |
266 |
|
|
# have access to the service - at the simplest this is the same as the |
267 |
|
|
# Owner but with the VO names prefixed by "VO:" |
268 |
|
|
ACBR = ${my_acbr} |
269 |
|
|
# |
270 |
|
|
# |
271 |
|
|
# Shares. The list of shares. |
272 |
|
|
# Format: Shares = (share1, share2, ..., sharen) |
273 |
|
|
# Format of sharei: (queuename (ACBR1 Owner1) (ACBR2 Owner2) ... (ACBRn Owner)) |
274 |
|
|
Shares = ${share_list} |
275 |
|
|
# |
276 |
|
|
# |
277 |
|
|
# ExecutionEnvironments |
278 |
|
|
# The list of the ids of the Execution Environments |
279 |
|
|
# Format: ExecutionEnvironments = (EE1, EE2, ..., EEn) |
280 |
|
|
ExecutionEnvironments = (${CE_HOST}) |
281 |
|
|
# |
282 |
|
|
# |
283 |
|
|
# CE_BATH_SYS is the batch system used by the CE. E.g. torque, lsf, etc |
284 |
|
|
# It should be filled with the content of yaim variable CE_BATCH_SYS |
285 |
|
|
CE_BATCH_SYS = ${CE_BATCH_SYS} |
286 |
|
|
# |
287 |
|
|
# |
288 |
|
|
# BATCH_VERSION is the Version of the batch system |
289 |
|
|
# It should be filled with the content of yaim variable BATCH_VERSION |
290 |
|
|
BATCH_VERSION = ${BATCH_VERSION} |
291 |
|
|
# |
292 |
|
|
# |
293 |
|
|
# |
294 |
|
|
# ArchitecturePlatformType is the Platform Type of the WNs of the |
295 |
|
|
# specified EE |
296 |
|
|
# It must be set for all the Execution Environments |
297 |
|
|
# It should be filled with the content of yaim variable CE_OS_ARCH |
298 |
|
|
ExecutionEnvironment_${CE_HOST}_ArchitecturePlatformType = ${CE_OS_ARCH} |
299 |
|
|
# |
300 |
|
|
# |
301 |
|
|
# PhysicalCPUs is the total number of real CPUs/physical chips, including |
302 |
|
|
# the nodes that are temporary down or offline |
303 |
|
|
# It must be set for all the Execution Environments |
304 |
|
|
# It should be filled with the content of yaim variable CE_PHYSCPU |
305 |
|
|
ExecutionEnvironment_${CE_HOST}_PhysicalCPUs = ${CE_PHYSCPU} |
306 |
|
|
# |
307 |
|
|
# |
308 |
|
|
# LogicalCPUs is the total number of cores/hyperthreaded CPUs, including the |
309 |
|
|
# nodes that are temporary down or offline |
310 |
|
|
# It must be set for all the Execution Environments |
311 |
|
|
# It should be filled with the content of yaim variable CE_LOGCPU |
312 |
|
|
ExecutionEnvironment_${CE_HOST}_LogicalCPUs = ${CE_LOGCPU} |
313 |
|
|
# |
314 |
|
|
# |
315 |
|
|
# SmpSize is the number of Logical CPUs (cores) of the WN |
316 |
|
|
# It must be set for all the Execution Environments |
317 |
|
|
# It should be filled with the content of yaim variable CE_SMPSIZE |
318 |
|
|
ExecutionEnvironment_${CE_HOST}_SmpSize = ${CE_SMPSIZE} |
319 |
|
|
# |
320 |
|
|
# |
321 |
|
|
# ProcessorVendor is the name of the processor vendor for the Worker Nodes |
322 |
|
|
# It must be set for all the Execution Environments |
323 |
|
|
# It should be filled with the content of yaim variable CE_CPU_VENDOR |
324 |
|
|
ExecutionEnvironment_${CE_HOST}_ProcessorVendor = ${CE_CPU_VENDOR} |
325 |
|
|
# |
326 |
|
|
# |
327 |
|
|
# ProcessorModel is the name of the processor model as defined by the vendor |
328 |
|
|
# for the Worker Nodes |
329 |
|
|
# It must be set for all the Execution Environments |
330 |
|
|
# It should be filled with the content of yaim variable CE_CPU_MODEL |
331 |
|
|
ExecutionEnvironment_${CE_HOST}_ProcessorModel = ${CE_CPU_MODEL} |
332 |
|
|
# |
333 |
|
|
# |
334 |
|
|
# ProcessorClockSpeed is the processor clock speed expressed in MHz for the |
335 |
|
|
# Worker Nodes |
336 |
|
|
# It must be set for all the Execution Environments |
337 |
|
|
# It should be filled with the content of yaim variable CE_CPU_SPEED |
338 |
|
|
ExecutionEnvironment_${CE_HOST}_ProcessorClockSpeed = ${CE_CPU_SPEED} |
339 |
|
|
# |
340 |
|
|
# |
341 |
|
|
# MainMemoryRAMSize is the total physical memory of a WN expressed in MegaBytes |
342 |
|
|
# It must be set for all the Execution Environments |
343 |
|
|
# It should be filled with the content of yaim variable CE_MINPHYSMEM |
344 |
|
|
ExecutionEnvironment_${CE_HOST}_MainMemoryRAMSize = ${CE_MINPHYSMEM} |
345 |
|
|
# |
346 |
|
|
# |
347 |
|
|
# MainMemoryVirtualSize is the total virtual memory of a WN expressed in |
348 |
|
|
# MegaBytes. |
349 |
|
|
# It must be set for all the Execution Environments |
350 |
|
|
# It should be filled with the content of yaim variable CE_MINVIRTMEM |
351 |
|
|
ExecutionEnvironment_${CE_HOST}_MainMemoryVirtualSize = ${CE_MINVIRTMEM} |
352 |
|
|
# |
353 |
|
|
# |
354 |
|
|
# OperatingSystemFamily should be filled with the OS family (e.g. linux) |
355 |
|
|
# It must be set for all the Execution Environments |
356 |
|
|
ExecutionEnvironment_${CE_HOST}_OperatingSystemFamily = ${CE_OS_FAMILY} |
357 |
|
|
# |
358 |
|
|
# |
359 |
|
|
# OperatingSystemName is the name of the operating system used on the Worker |
360 |
|
|
# Nodes |
361 |
|
|
# It must be set for all the Execution Environments |
362 |
|
|
# It should be filled with the content of yaim variable CE_OS |
363 |
|
|
ExecutionEnvironment_${CE_HOST}_OperatingSystemName = ${CE_OS} |
364 |
|
|
# |
365 |
|
|
# |
366 |
|
|
# OperatingSystemRelease is the release of the operating system used on the |
367 |
|
|
# Worker Nodes |
368 |
|
|
# It must be set for all the Execution Environments |
369 |
|
|
# It should be filled with the content of yaim variable CE_OS_RELEASE |
370 |
|
|
ExecutionEnvironment_${CE_HOST}_OperatingSystemRelease = ${CE_OS_RELEASE} |
371 |
|
|
# |
372 |
|
|
# |
373 |
|
|
# NetworkAdapterInboundIP must be set to either FALSE or TRUE to express the |
374 |
|
|
# permission for inbound connectivity for the WNs |
375 |
|
|
# It must be set for all the Execution Environments |
376 |
|
|
# It should be filled with the content of yaim variable CE_INBOUNDIP |
377 |
|
|
ExecutionEnvironment_${CE_HOST}_NetworkAdapterInboundIP = ${CE_INBOUNDIP} |
378 |
|
|
# |
379 |
|
|
# |
380 |
|
|
# NetworkAdapterOutboundIP must be set to either FALSE or TRUE to express |
381 |
|
|
# the permission for outbound connectivity for the WNs |
382 |
|
|
# It must be set for all the Execution Environments |
383 |
|
|
# It should be filled with the content of yaim variable CE_OUTBOUNDIP |
384 |
|
|
ExecutionEnvironment_${CE_HOST}_NetworkAdapterOutboundIP = ${CE_OUTBOUNDIP} |
385 |
|
|
# |
386 |
|
|
# |
387 |
|
|
# Benchmarks is the list of benchmarks |
388 |
|
|
# Format: Benchmarks = (Benchmark1, Benchmark2, .., Benchmarkn) |
389 |
|
|
# Format of Benchmarki: (Type Value) |
390 |
|
|
#ExecutionEnvironment_${CE_HOST}_Benchmarks = ${CE_OTHERDESCR} |
391 |
|
|
ExecutionEnvironment_${CE_HOST}_Benchmarks = ${benchmark_info} |
392 |
|
|
# |
393 |
|
|
# |
394 |
|
|
# CloseSEs is the list of the storage services close to this computing service |
395 |
|
|
# Format: CloseSEs = (closeSE1, closeSE2, ..., closeSEn) |
396 |
|
|
# Format of closeSEi: (StorageServiceid LocalPath RemotePath) |
397 |
|
|
#CloseSEs = ${SE_LIST} |
398 |
|
|
CloseSEs = ${close_se_list} |
399 |
|
|
|
400 |
|
|
EOF |
401 |
|
|
|
402 |
davidg |
2532 |
${GIP_BIN}/globus-info-gip-gram5-glue2-computingservice-static \ |
403 |
davidg |
2528 |
${GIP_CONFIG} > ${GIP_DATA}/ldif/ComputingService.ldif |
404 |
|
|
|
405 |
|
|
${GIP_BIN}/glite-info-glue2-service \ |
406 |
|
|
${SITE_NAME} ${CE_HOST}_ComputingEntity ${CE_HOST}_ComputingEntity production \ |
407 |
|
|
> ${GIP_DATA}/ldif/GlueService.ldif |
408 |
|
|
|
409 |
davidg |
2532 |
${GIP_BIN}/globus-info-gip-gram5-glue2-endpoint-static \ |
410 |
davidg |
2528 |
${GIP_CONFIG} > ${GIP_DATA}/ldif/ComputingEndpoint.ldif |
411 |
|
|
|
412 |
davidg |
2532 |
${GIP_BIN}/globus-info-gip-gram5-glue2-manager-static \ |
413 |
davidg |
2528 |
${GIP_CONFIG} > ${GIP_DATA}/ldif/ComputingManager.ldif |
414 |
|
|
|
415 |
davidg |
2532 |
${GIP_BIN}/globus-info-gip-gram5-glue2-share-static \ |
416 |
davidg |
2528 |
${GIP_CONFIG} > ${GIP_DATA}/ldif/ComputingShare.ldif |
417 |
|
|
|
418 |
|
|
# GLITE_CLUSTER mode not supported (yet) |
419 |
|
|
#if [ "x${CREAM_CLUSTER_MODE}" != "xyes" ]; then |
420 |
|
|
# |
421 |
|
|
# ${GIP_BIN}/glite-ce-glue2-executionenvironment-static \ |
422 |
|
|
# ${GIP_CONFIG} > ${GIP_DATA}/ldif/ExecutionEnvironment.ldif |
423 |
|
|
# |
424 |
|
|
# ${GIP_BIN}/glite-ce-glue2-benchmark-static \ |
425 |
|
|
# ${GIP_CONFIG} > ${GIP_DATA}/ldif/Benchmark.ldif |
426 |
|
|
# |
427 |
|
|
#fi |
428 |
|
|
|
429 |
davidg |
2532 |
${GIP_BIN}/globus-info-gip-gram5-glue2-tostorageservice-static \ |
430 |
davidg |
2528 |
${GIP_CONFIG} > ${GIP_DATA}/ldif/ToStorageService.ldif |
431 |
|
|
|
432 |
|
|
## Installs plugins |
433 |
|
|
cat << EOF > ${GIP_DATA}/plugin/ige-info-gram5-glue2 |
434 |
|
|
#!/bin/sh |
435 |
|
|
${GIP_BIN}/globus-info-gip-gram5-glue2-endpoint-dynamic ${GIP_CONFIG} |
436 |
|
|
EOF |
437 |
|
|
|
438 |
|
|
chmod +x ${GIP_DATA}/plugin/ige-info-gram5-glue2 |
439 |
|
|
|
440 |
|
|
|
441 |
|
|
# Exit with success |
442 |
|
|
return 0 |
443 |
|
|
} |