Commit 8d3d9bdb authored by Maiken's avatar Maiken
Browse files

Merge branch 'devfix3360-mr' into 'next'

Checked and revised behavior of opsys, osname, osversion, osfamily in infosys

See merge request nordugrid/arc!575
parents 68c174d1 42805a60
......@@ -2440,11 +2440,15 @@
## If the NODES are inhomogeneous with respect to this attribute do NOT set it on
## cluster level, arrange your nodes into homogeneous groups assigned to a queue
## and use queue-level attributes.
## opsys will be used to fill GLUE2 OSName, OSVersion and OSFamily unless
## these values are explicitly defined. See below for their usage.
## If opsys=adotf, will result in Automatic Determination of the Operating System
## On The Frontend, which should only be used if the frontend has the same
## OS as the nodes.
## The adotf discovered values will be used to fill GLUE2 OSName, OSVersion
## and OSFamily unless these values are explicitly defined for each queue.
## See the [queue:queuename] block for their usage.
## Note: Any custom value other than 'adotf' does NOT affect values in the GLUE2 schema.
## multivalued
## default: undefined
## TODO: check if adotf is supported for this parameter. If so, use that as default.
## default: adotf
#opsys=Linux-2.6.18
#opsys=glibc-2.5.58
#opsys=CentOS-5.6
......@@ -2606,8 +2610,8 @@
## attributes. When the frontend's architecture or cputype agrees with the queue
## nodes, the "adotf" (Automatically Determine On The Frontend) can be used to
## request automatic determination of architecture or nodecpu.
## For GLUE2, fine tune configuration of OSName, OSVersion, OSFamily
## is allowed in a dedicated subblock.
## For GLUE2, fine tune configuration of ExecutionEnvironments' OSName, OSVersion, OSFamily
## is allowed with dedicated options osname,osversion,osfamily.
## nodecpu = formatted_string - see description at [infosys/cluster] block
## default: $VAR{[infosys/cluster]nodecpu}
......@@ -2630,21 +2634,30 @@
#architecture=adotf
## opsys = formatted_string - see description at [infosys/cluster] block
## If osname, osversion are present, the values in opsys are ignored.
## multivalued
## default: $VAR{[infosys/cluster]opsys}
#opsys=Linux-2.6.18
#opsys=glibc-2.5.58
## osname = string - Only for GLUE2
## multivalued
## overrides values defined in opsys for a single ExecutionEnvironment.
## Configuration of multiple ExecutionEnvironment for the same queue
## is not supported. Create a different queue for that.
## default: undefined
#osname=Ubuntu
## osversion = string - Only for GLUE2
## overrides values defined in opsys for a single ExecutionEnvironment.
## Configuration of multiple ExecutionEnvironment for the same queue
## is not supported. Create a different queue for that.
## default: undefined
#osversion=12.04
## osfamily = string - Only for GLUE2
## overrides values defined in opsys for a single ExecutionEnvironment.
## Configuration of multiple ExecutionEnvironment for the same queue
## is not supported. Create a different queue for that.
## default: undefined
#osfamily=linux
......
......@@ -323,9 +323,12 @@ sub collect($) {
$q->{nodememory} = $sconfig->{MaxVirtualMemory} if $sconfig->{MaxVirtualMemory};
$q->{architecture} = $sconfig->{Platform}
if $sconfig->{Platform};
push @{$q->{opsys}}, $sconfig->{OSName}.'-'.$sconfig->{OSVersion}
if $sconfig->{OSName} and $sconfig->{OSVersion};
push @{$q->{opsys}}, @{$sconfig->{OpSys}} if $sconfig->{OpSys};
# override instead of merging
if ($sconfig->{OSName} and $sconfig->{OSVersion}) {
push @{$q->{opsys}}, $sconfig->{OSName}.'-'.$sconfig->{OSVersion}
} else {
push @{$q->{opsys}}, @{$sconfig->{OpSys}} if $sconfig->{OpSys};
}
$q->{benchmark} = [ map {join ' @ ', split /\s+/,$_,2 } @{$sconfig->{Benchmark}} ]
if $sconfig->{Benchmark};
$q->{maxrunning} = $qinfo->{maxrunning} if defined $qinfo->{maxrunning};
......
......@@ -242,6 +242,7 @@ my $config_schema = {
AdvertisedVO => [ '*' ],
LocalSE => [ '*' ],
InteractiveContactstring => [ '*' ],
# TODO: This causes odd/unsupported options to pass the checks
%$xenv_options,
%$share_options,
QualityLevel => ''
......@@ -652,13 +653,10 @@ sub build_config_from_json {
$log->error('Infoproviders cannot continue without the [infosys/glue2] block. Please add it. Exiting...')
}
############################ legacy ini config file structure #############################
### Process infosys/cluster
my $cluster = $jsonconf->{'infosys/cluster'};
if (%$cluster) {
# Ignored: cluster_location, lrmsconfig
rename_keys $cluster, $config, {arex_mount_point => 'endpoint'};
rename_keys $cluster, $config->{location}, { cluster_location => 'PostCode' };
rename_keys $cluster, $config->{service}, {
interactive_contactstring => 'InteractiveContactstring',
......@@ -682,6 +680,7 @@ sub build_config_from_json {
$config->{service}{ConnectivityOut} = 1 if lc $_ eq 'outbound';
}
}
# TODO: this causes possibly unsupported values like OSName, OSVersion to be moved and not renamed
move_keys $cluster, $config->{service}, [keys %$share_options, keys %$xenv_options];
# TODO: check if this is needed
move_keys $cluster, $config->{lrms}, [keys %$lrms_options, keys %$lrms_share_options];
......@@ -735,7 +734,9 @@ sub build_config_from_json {
# TODO: change opsys here if needed
rename_keys $queue, $xeconf, {homogeneity => 'Homogeneous', architecture => 'Platform',
opsys => 'OpSys', benchmark => 'Benchmark'};
opsys => 'OpSys', osname => 'OSName',
osversion => 'OSVersion', osfamily => 'OSFamily',
benchmark => 'Benchmark'};
move_keys $queue, $xeconf, [keys %$xenv_options];
# TODO: what is this?
......
......@@ -30,7 +30,7 @@ joblog=/tmp/gm-jobs.log
#scratchdir=/var/share
#shared_scratch=/var/share
shared_filesystem=no
#defaultttl="1800 1800"
#defaultttl=1800 1800
maxjobs=20 2 -1 -1 -1
infoproviders_timelimit=10800
......@@ -89,16 +89,16 @@ bdii_update_pid_file=/tmp/bdii-update.pid
# infosys view of the computing cluster (service)
[infosys/cluster]
cluster_alias=MINIMAL Computing Element
#comment="This is a minimal out-of-box CE setup"
#comment=This is a minimal out-of-box CE setup
#hostname=
homogeneity="True"
architecture="adotf"
nodeaccess="inbound"
nodeaccess="outbound"
clustersupport="florido.paganelli@hep.lu.se"
cluster_location="SE-22100"
cluster_owner="University of Lund"
benchmark="specfp2000 333"
homogeneity=True
architecture=adotf
nodeaccess=inbound
nodeaccess=outbound
clustersupport=florido.paganelli@hep.lu.se
cluster_location=SE-22100
cluster_owner=University of Lund
benchmark=specfp2000 333
advertisedvo=ATLAS
advertisedvo=CMS
advertisedvo=Lund University
......@@ -113,7 +113,7 @@ comment=This queue is nothing more than a fork host
nodecpu=adotf
architecture=adotf
MaxSlotsPerJob=15
advertisedvo="onlyfork"
advertisedvo=onlyfork
totalcpus=200
#[queue:batch]
......@@ -121,9 +121,9 @@ totalcpus=200
#homogeneity=True
#comment=simple pbs batch queue
#nodecpu=adotf
#nodememory="100"
#architecture="adotf"
#opsys="adotf"
#nodememory=100
#architecture=adotf
#opsys=adotf
#maxslotsperjob=3
#advertisedvo=onlybatch1
#advertisedvo=onlybatch2
......@@ -143,35 +143,35 @@ totalcpus=200
#[monitoring/perflog]
#perflogdir=/tmp/nytprof
#[queue:short]
#name="short"
#homogeneity="True"
#comment="short pbs queue"
#nodecpu="2"
#nodememory="512"
#architecture="adotf"
#opsys="adotf"
#name=short
#homogeneity=True
#comment=short pbs queue
#nodecpu=2
#nodememory=512
#architecture=adotf
#opsys=adotf
#[queue:route]
#totalcpus="32"
#name="route"
#comment="Routing queue test"
#homogeneity="False"
#nodecpu="2"
#nodememory="100"
#architecture="adotf"
#queue_node_string="clusternode1"
#opsys="adotf"
#totalcpus=32
#name=route
#comment=Routing queue test
#homogeneity=False
#nodecpu=2
#nodememory=100
#architecture=adotf
#queue_node_string=clusternode1
#opsys=adotf
#[queue:verylong]
#name="verylong"
#comment="destination queue for route"
#queue_node_string="clusternode1"
#nodememory="100"
#name=verylong
#comment=destination queue for route
#queue_node_string=clusternode1
#nodememory=100
## Uncomment and CUSTOMIZE the registration blocks in order to connect your
## CE to a grid
#[infosys/cluster/registration/toPGS1]
#targethostname="quark.hep.lu.se"
#targetport="2135"
#targetsuffix="mds-vo-name=PGS,o=grid"
#regperiod="300"
#targethostname=quark.hep.lu.se
#targetport=2135
#targetsuffix=mds-vo-name=PGS,o=grid
#regperiod=300
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