Hi All,
Here’s the diff of our current /usr/share/arc/glue-generator.pl from the version in ArcCE 4.2.0:
So there are actually three or four hacks in here.
The first the hard coding of the localse, though I think I finally got the correct format of that in the arc.conf file.
The next two are rolled into the same changes, and involve calculating the subcluster logical and physical cpus from the total CPUs and the Cores number in the ProcessorOtherDescription element – the first part of which changes the patch to accept floats for the smpSize not just ints, the second divides the Logical and Physical CPUs by a hardcoded number of ArcCEs (2 in our case).
Finally we add the hard coded VOShares into the raw ldif in the heredoc.
At some point I’ll convert this to a puppet template and at least the hardcoded numbers will cone from the config management.
Yours,
Chris.
diff -u /usr/share/arc/glue-generator.pl.4.2.0 /usr/share/arc/glue-generator.pl
--- /usr/share/arc/glue-generator.pl.4.2.0 2014-10-15 11:02:26.000000000 +0100
+++ /usr/share/arc/glue-generator.pl 2014-10-16 11:33:22.000000000 +0100
@@ -63,7 +63,7 @@
'nordugrid-cluster-homogeneity' => '',
'nordugrid-cluster-comment' => '',
'nordugrid-cluster-owner' => '',
- 'nordugrid-cluster-localse' => '',
+ 'nordugrid-cluster-localse' => 'srm://heplnx204.pp.rl.ac.uk',
);
#all these values will be checked if they are numeric only:
@@ -176,15 +176,15 @@
$glueHostArchitecturePlatformType=$cluster_attributes{'nordugrid-cluster-architecture'};
$glueSubClusterUniqueID=$cluster_attributes{'nordugrid-cluster-name'};
$glueSubClusterName=$glue_site_unique_id;
- if ( $processorOtherDesc =~ m/Cores=(\d+)/ ){
+ if ( $processorOtherDesc =~ m/Cores=(\d+(\.\d)*)/ ){
$smpSize=$1;
- $glueSubClusterPhysicalCPUs=int($cluster_attributes{'nordugrid-cluster-totalcpus'}/$smpSize);
+ $glueSubClusterPhysicalCPUs=int($cluster_attributes{'nordugrid-cluster-totalcpus'}/($smpSize*2));
}
else {
$smpSize=1;
$glueSubClusterPhysicalCPUs=$cluster_attributes{'nordugrid-cluster-totalcpus'};
}
- $glueSubClusterLogicalCPUs=$cluster_attributes{'nordugrid-cluster-totalcpus'};
+ $glueSubClusterLogicalCPUs=int($cluster_attributes{'nordugrid-cluster-totalcpus'}/2);
$glueClusterUniqueID=$cluster_attributes{'nordugrid-cluster-name'};
WriteSubCluster();
@@ -245,7 +245,7 @@
print "GlueHostApplicationSoftwareRunTimeEnvironment: $_\n"
}
- print "GlueHostArchitectureSMPSize: $smpSize
+ print "GlueHostArchitectureSMPSize: 2
GlueHostNetworkAdapterInboundIP: $inbIP
GlueHostNetworkAdapterOutboundIP: $outbIP";
@@ -385,7 +385,8 @@
$queue_attributes{$queue_attributes_num[$i]} = $DEFAULT;
}
}
-
+
+ $queue_attributes{'nordugrid-queue-maxcputime'} = 259200;
if ($cluster_attributes{'nordugrid-cluster-homogeneity'} =~ /false/i){
@@ -485,6 +486,10 @@
GlueCEInfoGRAMVersion: $DEFAULT
GlueCEInfoTotalCPUs: $queue_attributes{'nordugrid-queue-totalcpus'}
GlueCECapability: CPUScalingReferenceSI00=$CPUSCALINGREFERENCESI00
+GlueCECapability: Share=cms:46
+GlueCECapability: Share=lhcb:17
+GlueCECapability: Share=atlas:11
+GlueCECapability: Share=other:2
GlueCEInfoJobManager: arc
GlueCEInfoContactString: $cluster_attributes{'nordugrid-cluster-contactstring'}?queue=$queue_attributes{'nordugrid-queue-name'}
GlueInformationServiceURL: ldap://$cluster_attributes{'nordugrid-cluster-name'}:$BDIIPORT/mds-vo-name=resource,o=grid
|