#!/bin/sh
#
# Dummy Information Provider Script
#

#Default values.
SITE_NAME=`hostname -d`
CE_HOST=`hostname -f`
CE_QUEUES="short medium long"
CE_VOS="atlas alice cms dteam lhcb"
SE_HOST=`hostname -f`
SA_ROOTS="atlas alice cms dteam lhcb"
SE_PROTOCOLS="gsiftp rfio"


#Site Information, Information Provider

cat <<EOF
dn: in=$SITE_NAME/siteinfo,Mds-Vo-name=local,o=grid
objectclass: SiteInfo
objectclass: DataGridTop
objectclass: DynamicObject
siteName:            $SITE_NAME
sysAdminContact:     grid-testbed-managers@$SITE_NAME
userSupportContact:  grid-testbed-managers@$SITE_NAME
siteSecurityContact: grid-testbed-managers@$SITE_NAME
dataGridVersion:     v1_5_0alpha
installationDate:    20030210120000Z
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z
entryTtl: 1200

EOF

#CE Information Provider

for CE_QUEUE in $CE_QUEUES; do
cat <<EOF
dn: GlueCEUniqueID=$CE_HOST:2119/jobmanager-pbs-$CE_QUEUE, mds-vo-name=local, o=grid
ObjectClass: GlueCETop
ObjectClass: GlueCE
ObjectClass: GlueSchemaVersion
ObjectClass: GlueCEAccessControlBase
ObjectClass: GlueCEInfo
ObjectClass: GlueCEPolicy
ObjectClass: GlueCEState
ObjectClass: GlueInformationService
ObjectClass: GlueKey
GlueSchemaVersionMajor:  1
GlueSchemaVersionMinor:  1
GlueCEHostingCluster: $CE_HOST
GlueCEName: $CE_QUEUE
GlueCEUniqueID: $CE_HOST:2119/jobmanager-pbs-$CE_QUEUE
GlueCEInfoGatekeeperPort: 2119
GlueCEInfoHostName: $CE_HOST
GlueCEInfoLRMSType: pbs
GlueCEInfoLRMSVersion: OpenPBS_2.4
GlueCEInfoTotalCPUs: 1
GlueCEStateEstimatedResponseTime: 0
GlueCEStateFreeCPUs: 1
GlueCEStateRunningJobs: 0
GlueCEStateStatus: Dummy
GlueCEStateTotalJobs: 0
GlueCEStateWaitingJobs: 0
GlueCEStateWorstResponseTime: 0
GlueCEPolicyMaxCPUTime: 172800
GlueCEPolicyMaxRunningJobs: 99999
GlueCEPolicyMaxTotalJobs: 999999
GlueCEPolicyMaxWallClockTime: 172800
GlueCEPolicyPriority: 1
EOF

for CE_VO in $CE_VOS; do
echo "GlueCEAccessControlBaseRule: VO:$CE_VO"
done

cat << EOF
GlueForeignKey: GlueClusterUniqueID=$CE_HOST
GlueInformationServiceURL: ldap://$CE_HOST:2135/mds-vo-name=local, o=grid
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z
entryTtl: 120

EOF
done

cat << EOF
dn: GlueClusterUniqueID=$CE_HOST, mds-vo-name=local, o=grid
ObjectClass: GlueClusterTop
ObjectClass: GlueCluster
ObjectClass: GlueSchemaVersion
ObjectClass: GlueInformationService
ObjectClass: GlueKey
GlueSchemaVersionMajor:  1
GlueSchemaVersionMinor:  1
GlueClusterName: $CE_HOST
EOF
for CE_QUEUE in $CE_QUEUES; do
echo "GlueClusterService: $CE_HOST:2119/jobmanager-pbs-$CE_QUEUE"
done
echo "GlueClusterUniqueID: $CE_HOST"
for CE_QUEUE in $CE_QUEUES; do
echo "GlueForeignKey: GlueCEUniqueID=$CE_HOST:2119/jobmanager-pbs-$CE_QUEUE"
done
cat << EOF
GlueInformationServiceURL: ldap://$CE_HOST:2135/mds-vo-name=local, o=grid
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z
entryTtl: 120

dn: GlueSubClusterUniqueID=$CE_HOST, GlueClusterUniqueID=$CE_HOST, mds-vo-name=local, o=grid
ObjectClass: GlueClusterTop
ObjectClass: GlueSubCluster
ObjectClass: GlueSchemaVersion
ObjectClass: GlueHostApplicationSoftware
ObjectClass: GlueHostArchitecture
ObjectClass: GlueHostBenchmark
ObjectClass: GlueHostMainMemory
ObjectClass: GlueHostNetworkAdapter
ObjectClass: GlueHostOperatingSystem
ObjectClass: GlueHostProcessor
ObjectClass: GlueInformationService
ObjectClass: GlueKey
GlueSchemaVersionMajor:  1
GlueSchemaVersionMinor:  1
GlueChunkKey: GlueClusterUniqueID=$CE_HOST
GlueHostApplicationSoftwareRunTimeEnvironment: ALICE-3.07.01
GlueHostApplicationSoftwareRunTimeEnvironment: ALICE-3.09.06
GlueHostApplicationSoftwareRunTimeEnvironment: ALIEN-1.29.9
GlueHostApplicationSoftwareRunTimeEnvironment: ATLAS-3.2.1
GlueHostApplicationSoftwareRunTimeEnvironment: CMS-1.1.0
GlueHostApplicationSoftwareRunTimeEnvironment: CMSIM-125
GlueHostApplicationSoftwareRunTimeEnvironment: DEMTOOLS
GlueHostApplicationSoftwareRunTimeEnvironment: EDG-TEST
GlueHostApplicationSoftwareRunTimeEnvironment: IDL-5.4
GlueHostApplicationSoftwareRunTimeEnvironment: LHCb-1.1.1
GlueHostApplicationSoftwareRunTimeEnvironment: POVRAY-3.1
GlueHostArchitectureSMPSize: 2
GlueHostBenchmarkSF00: 380
GlueHostBenchmarkSI00: 400
GlueHostMainMemoryRAMSize: 512
GlueHostMainMemoryVirtualSize: 1024
GlueHostNetworkAdapterInboundIP: FALSE
GlueHostNetworkAdapterOutboundIP: TRUE
GlueHostOperatingSystemName: Redhat
GlueHostOperatingSystemRelease: 7.3
GlueHostOperatingSystemVersion: 3
GlueHostProcessorClockSpeed: 1000
GlueHostProcessorModel: PIII
GlueHostProcessorVendor: intel
GlueSubClusterName: $CE_HOST
GlueSubClusterUniqueID: $CE_HOST
GlueInformationServiceURL: ldap://$CE_HOST:2135/mds-vo-name=local, o=grid
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z
entryTtl: 120

EOF


for CE_QUEUE in $CE_QUEUES; do
cat << EOF
dn: GlueCESEBindGroupCEUniqueID=$CE_HOST:2119/jobmanager-pbs-$CE_QUEUE, mds-vo-name=local, o=grid
Objectclass: GlueGeneralTop
Objectclass: GlueCESEBindGroup
GlueCESEBindGroupCEUniqueID: $CE_HOST:2119/jobmanager-pbs-$CE_QUEUE
GlueCESEBindGroupSEUniqueID: $SE_HOST
Objectclass: GlueSchemaVersion
GlueSchemaVersionMajor:  1
GlueSchemaVersionMinor:  1
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z
entryTtl: 120

dn: GlueCESEBindSEUniqueID=$SE_HOST, GlueCESEBindGroupCEUniqueID=$CE_HOST:2119/jobmanager-pbs-$CE_QUEUE, mds-vo-name=local, o=grid
Objectclass: GlueGeneralTop
Objectclass: GlueSchemaVersion
GlueSchemaVersionMajor:  1
GlueSchemaVersionMinor:  1
Objectclass: GlueCESEBind
GlueCESEBindCEAccesspoint: /flatfiles/SE00
GlueCESEBindCEUniqueID: $CE_HOST:2119/jobmanager-pbs-$CE_QUEUE
GlueCESEBindSEUniqueID: $SE_HOST
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z
entryTtl: 120

EOF
done

#SE Information Provider

cat <<EOF
dn: GlueSEUniqueID=$SE_HOST,Mds-Vo-name=local,o=grid
objectclass: GlueSETop
objectclass: GlueSE
objectClass: GlueKey
objectclass: GlueSchemaVersion
GlueSEUniqueID: $SE_HOST
GlueSEName: DummySE
GlueForeignKey: GlueSLUniqueID=$SE_HOST
GlueSEPort: 8080
GlueSchemaVersionMajor: 1
GlueSchemaVersionMinor: 1
GlueInformationServiceURL: ldap://$SE_HOST:2135/Mds-Vo-name=local,o=grid
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z
entryTtl: 3600

dn: GlueSLUniqueID=$SE_HOST,Mds-Vo-name=local,o=grid
objectclass: GlueSLTop
objectclass: GlueSL
objectClass: GlueInformationService
objectClass: GlueKey
objectclass: GlueSchemaVersion
objectclass: GlueSLArchitecture
GlueSLUniqueID: $SE_HOST
GlueSLName: RAL Development machine
GlueSLArchitectureType: disk
GlueForeignKey: GlueSEUniqueID=$SE_HOST
GlueInformationServiceURL: ldap://$SE_HOST:2135/Mds-Vo-name=local,o=grid
GlueSchemaVersionMajor: 1
GlueSchemaVersionMinor: 1
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z
entryTtl: 3600

EOF

for SA_ROOT in $SA_ROOTS; do
cat <<EOF
dn: GlueSARoot=/$SA_ROOT, GlueSEUniqueID=$SE_HOST,Mds-Vo-name=local,o=grid
objectclass: GlueSATop
objectclass: GlueSA
objectclass: GlueKey
objectclass: GlueSAPolicy
GlueChunkKey: GlueSEUniqueID=$SE_HOST
GlueSARoot: /$SA_ROOT
GlueSAPolicyFileLifeTime: permanent
GlueSAPolicyMaxFileSize: 10000
GlueSAPolicyMinFileSize: 1
GlueSAPolicyMaxData: 100
GlueSAPolicyMaxNumFiles: 10
GlueSAPolicyMaxPinDuration: 10
GlueSAStateAvailableSpace: 27929516
GlueSAStateUsedSpace: 33084
objectclass: GlueSAAccessControlBase
GlueSAAccessControlBaseRule: $SA_ROOT
objectclass: GlueSchemaVersion
GlueSchemaVersionMajor: 1
GlueSchemaVersionMinor: 1
entryTtl: 3600
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z

EOF
done

for SE_PROTOCOL in $SE_PROTOCOLS; do
cat <<EOF
dn: GlueSEAccessProtocolType=$SE_PROTOCOL, GlueSEUniqueID=$SE_HOST,Mds-Vo-name=local,o=grid
objectClass: GlueSETop
objectClass: GlueSEAccessProtocol
objectClass: GlueKey
objectClass: GlueSchemaVersion
GlueChunkKey: GlueSEUniqueID=$SE_HOST
GlueSEAccessProtocolType: $SE_PROTOCOL
GlueSEAccessProtocolPort:  $SE_PROTOCOL:port
objectclass: GlueSchemaVersion
GlueSchemaVersionMajor: 1
GlueSchemaVersionMinor: 1
entryTtl: 3600
createTimestamp: `date "+%Y%m%d%H%M%S"`Z
modifyTimestamp: `date "+%Y%m%d%H%M%S"`Z

EOF
done
