Skip to content

Commit 4ae861c

Browse files
author
artiedaj
committed
Merge pull request #33 from gkandemi/master
siteDB v2__
2 parents bbe182f + c0fd18e commit 4ae861c

6 files changed

Lines changed: 57 additions & 42 deletions

File tree

Pledges_View_SSB/pledge/pledges.py

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/python
22
import os, sys
33
import simplejson
4-
import json
4+
import simplejson as json
55
import time
66
import urllib, httplib, urllib2
77
import string
@@ -30,14 +30,16 @@ def fetch_all_pledges(url,api):
3030
pledges= {}
3131
pledgesSites = {}
3232
count = 0
33+
pledgeCurTime = int(time.strftime("%Y"))
3334
for i in jsn['result']:
3435
#_____________________________
36+
print i
3537
pledgeDate = i[2]
3638
pledgeTime = i[1]
3739
pledgeSiteName = i[0]
3840
#pledgeCpuValue = i[3]
3941
#_____________________________
40-
if pledgeDate == 2014:
42+
if pledgeDate == pledgeCurTime:
4143
current = time.time()
4244
diff = current - pledgeTime
4345
if pledges.has_key(pledgeSiteName):
@@ -53,13 +55,27 @@ def fetch_all_pledges(url,api):
5355
# function matchs pledges values gets from siteDB with SiteName
5456

5557
def matchPledges(pledgeList):
58+
#_______________________fetch all siteName : FederationName because Pledges is defined by federation name not siteName._____________________
59+
headers = {"Accept": "application/json"}
60+
url = "cmsweb.cern.ch"
61+
api = "/sitedb/data/prod/federations-sites"
62+
sitesList=[]
63+
matchList = {}
64+
if 'X509_USER_PROXY' in os.environ:
65+
print 'X509_USER_PROXY found'
66+
conn = httplib.HTTPSConnection(url, cert_file = os.getenv('X509_USER_PROXY'), key_file = os.getenv('X509_USER_PROXY'))
67+
r1=conn.request("GET",api, None, headers)
68+
r2=conn.getresponse()
69+
inputjson=r2.read()
70+
jn = simplejson.loads(inputjson)
71+
conn.close()
72+
73+
for siteName in jn['result']:
74+
if siteName[3][0:2] != 'T3':
75+
matchList[siteName[3]] = siteName[2]
76+
sitesList.append(siteName[3])
77+
#___________________________________________________________________________________________________________________________
5678
pledges = {}
57-
#sitesList = ['T1_TW_ASGC','T1_FR_CCIN2P3','T1_CH_CERN','T1_IT_CNAF','T1_US_FNAL','T1_US_FNAL_Disk','T1_RU_JINR','T1_RU_JINR_Disk','T1_DE_KIT','T1_ES_PIC','T1_UK_RAL','T1_UK_RAL_Disk','T2_IT_Bari','T2_CN_Beijing','T2_K_SGrid_Bristol','T2_K_London_Brunel','T2_FR_CCIN2P3','T2_CH_CERN','T2_CH_CERN_AI','T2_CH_CERN_HLT','T2_CH_CERN_T0','T2_ES_CIEMAT','T2_CH_CSCS','T2_TH_CUNSTDA','T2_S_Caltech','T2_DE_DESY','T2_EE_Estonia','T2_S_Florida','T2_FR_GRIF_IRFU','T2_FR_GRIF_LLR','T2_BR_UERJ','T2_FI_HIP','T2_AT_Vienna','T2_HU_Budapest','T2_UK_London_IC','T2_ES_IFCA','T2_RU_IHEP','T2_BE_IIHE','T2_RU_INR', 'T2_FR_IPHC','T2_RU_ITEP','T2_GR_Ioannina','T2_RU_JINR','T2_UA_KIPT','T2_KR_KNU','T2_IT_Legnaro','T2_BE_UCL','T2_TR_METU','T2_US_MIT','T2_PT_NCG_Lisbon','T2_PK_NCP','T2_US_Nebraska','T2_RU_PNPI','T2_IT_Pisa','T2_US_Purde', 'T2_RU_RRC_KI','T2_DE_RWTH','T2_IT_Rome','T2_UK_SGrid_RALPP','T2_RU_SINP','T2_BR_SPRACE','T2_IN_TIFR','T2_TW_Taiwan','T2_US_UCSD','T2_MY_UPM_BIRUNI', 'T2_US_Vanderbilt','T2_PL_Warsaw','T2_US_Wisconsin']
58-
sitesList = ['T1_TW_ASGC','T1_FR_CCIN2P3','T1_CH_CERN','T1_IT_CNAF','T1_US_FNAL','T1_US_FNAL_Disk','T1_RU_JINR','T1_RU_JINR_Disk','T1_DE_KIT','T1_ES_PIC','T1_UK_RAL','T1_UK_RAL_Disk','T2_IT_Bari','T2_CN_Beijing','T2_UK_SGrid_Bristol','T2_UK_London_Brunel','T2_FR_CCIN2P3','T2_CH_CERN','T2_CH_CERN_AI','T2_CH_CERN_HLT','T2_CH_CERN_T0','T2_ES_CIEMAT','T2_CH_CSCS','T2_TH_CUNSTDA','T2_US_Caltech','T2_DE_DESY','T2_EE_Estonia','T2_US_Florida','T2_FR_GRIF_IRFU','T2_FR_GRIF_LLR','T2_BR_UERJ','T2_FI_HIP','T2_AT_Vienna','T2_HU_Budapest','T2_UK_London_IC','T2_ES_IFCA','T2_RU_IHEP','T2_BE_IIHE','T2_RU_INR', 'T2_FR_IPHC','T2_RU_ITEP','T2_GR_Ioannina','T2_RU_JINR','T2_UA_KIPT','T2_KR_KNU','T2_IT_Legnaro','T2_BE_UCL','T2_TR_METU','T2_US_MIT','T2_PT_NCG_Lisbon','T2_PK_NCP','T2_US_Nebraska','T2_RU_PNPI','T2_IT_Pisa','T2_US_Purdue', 'T2_RU_RRC_KI','T2_DE_RWTH','T2_IT_Rome','T2_UK_SGrid_RALPP','T2_RU_SINP','T2_BR_SPRACE','T2_IN_TIFR','T2_TW_Taiwan','T2_US_UCSD','T2_MY_UPM_BIRUNI', 'T2_US_Vanderbilt','T2_PL_Warsaw','T2_US_Wisconsin']
59-
#reportRoot = GetXMLFromURL( "https://cmsweb.cern.ch/sitedb/reports/showXMLReport?reportid=naming_convention.ini")
60-
#result = reportRoot.find('result')
61-
#matchList = {'T3_US_PuertoRico': 'UPRM', 'T2_FI_HIP': 'Helsinki Institute of Physics', 'T2_UK_SGrid_RALPP': 'Rutherford PPD', 'T2_FR_GRIF_LLR': 'GRIF_LLR', 'T2_UK_London_IC': 'IC', 'T3_UK_London_QMUL': 'QMUL', 'T3_TW_NTU_HEP': 'NTU_HEP', 'T3_US_Omaha': 'Firefly', 'T2_KR_KNU': 'KNU', 'T2_RU_SINP': 'SINP', 'T3_US_UMD': 'UMD', 'T2_CH_CERN_AI': 'CERN Tier-2 AI', 'T1_TW_ASGC': 'ASGC', 'T3_US_Colorado': 'Colorado', 'T3_US_UB': 'SUNY_BUFFALO', 'T1_UK_RAL_Disk': 'RALDISK', 'T3_IT_Napoli': 'INFN-NAPOLI-CMS', 'T3_NZ_UOA': 'NZ-UOA', 'T2_TH_CUNSTDA': 'CUNSTDA', 'T3_US_Kansas': 'Kansas', 'T3_US_ParrotTest': 'T3 US ParrotTest', 'T3_GR_IASA': 'IASA', 'T3_US_Parrot': 'T3 US Parrot', 'T2_IT_Bari': 'Bari', 'T2_US_UCSD': 'UCSD', 'T2_RU_IHEP': 'IHEP', 'T3_US_Vanderbilt_EC2': 'Vanderbilt_EC2', 'T1_RU_JINR': 'JINR-T1', 'T2_RU_RRC_KI': 'RRC_KI', 'T2_CH_CERN': 'CERN Tier-2', 'T3_BY_NCPHEP': 'BY-NCPHEP', 'T2_US_Vanderbilt': 'Vanderbilt', 'T3_GR_Demokritos': 'Demokritos', 'T3_US_UTENN': 'UTenn', 'T3_US_UCR': 'UC Riverside', 'T3_TW_NCU': 'NCU', 'T2_CH_CSCS': 'CSCS', 'T2_UA_KIPT': 'KIPT', 'T2_PK_NCP': 'NCP-LCG2', 'T2_RU_PNPI': 'PNPI', 'T2_IN_TIFR': 'TIFR', 'T3_UK_London_UCL': 'University College London', 'T3_US_Brown': 'Brown-CMS', 'T3_US_UCD': 'UCD', 'T3_CO_Uniandes': 'UNIANDES', 'T3_KR_KNU': 'KR_KNU', 'T2_FR_IPHC': 'IPHC', 'T3_US_OSU': 'OSU', 'T3_US_TAMU': 'TAMU', 'T1_US_FNAL': 'FNAL', 'T3_IT_Trieste': 'Trieste', 'T2_IT_Rome': 'Rome', 'T2_UK_London_Brunel': 'Brunel', 'T3_IN_PUHEP': 'PUHEP', 'T3_IT_Firenze': 'Firenze', 'T1_US_FNAL_Disk': 'FNALDISK', 'T2_EE_Estonia': 'Estonia', 'T3_UK_ScotGrid_ECDF': 'ECDF', 'T2_CN_Beijing': 'Beijing', 'T2_US_Florida': 'Florida', 'T3_US_Princeton_ICSE': 'Princeton ICSE ', 'T3_IT_MIB': 'INFN-MIB', 'T3_US_FNALXEN': 'FNALXEN', 'T3_US_Rutgers': 'Rutgers', 'T1_DE_KIT': 'KIT', 'T3_IR_IPM': 'IPM', 'T2_US_Wisconsin': 'Wisconsin', 'T2_HU_Budapest': 'Hungary', 'T2_DE_RWTH': 'RWTH', 'T3_IT_Perugia': 'Perugia', 'T3_UK_SGrid_Oxford': 'Oxford', 'T3_US_NU': 'Northwestern', 'T2_BR_UERJ': 'HEPGRID_UERJ', 'T3_MX_Cinvestav': 'cinvestav', 'T3_US_FNALLPC': 'FNALLPC', 'T3_US_UIowa': 'UIowa', 'T3_RU_FIAN': 'FIAN', 'T3_US_Cornell': 'Cornell', 'T2_ES_IFCA': 'IFCA', 'T3_US_UVA': 'UVA', 'T3_ES_Oviedo': 'Oviedo', 'T3_US_NotreDame': 'NWICG_NDCMS', 'T2_DE_DESY': 'DESY', 'T1_UK_RAL': 'RAL', 'T2_US_Caltech': 'Caltech', 'T3_FR_IPNL': 'IN2P3-IPNL', 'T2_TW_Taiwan': 'Taiwan', 'T3_US_NEU': 'Northeastern', 'T3_UK_London_RHUL': 'RHUL', 'T0_CH_CERN': 'CERN Tier-0', 'T1_RU_JINR_Disk': 'JINR-T1DISK', 'T3_CN_PKU': 'CN_PKU', 'T3_US_Baylor': 'Baylor University Tier3', 'T2_US_Nebraska': 'Nebraska', 'T2_ES_CIEMAT': 'CIEMAT', 'T3_US_Princeton': 'Princeton', 'T3_UK_ScotGrid_GLA': 'UKI-SCOTGRID-GLASGOW', 'T2_CH_CERN_T0': 'CERN Tier-2 T0', 'T3_US_TTU': 'TTU', 'T3_US_FSU': 'T3_US_FSU', 'T3_KR_UOS': 'UOS', 'T2_BR_SPRACE': 'SPRACE', 'T1_IT_CNAF': 'CNAF', 'T3_US_Minnesota': 'Minnesota', 'T2_TR_METU': 'METU', 'T2_AT_Vienna': 'Hephy-Vienna', 'T2_US_Purdue': 'Purdue', 'T3_US_Rice': 'Rice', 'T3_HR_IRB': 'IRB', 'T2_BE_UCL': 'Louvain', 'T3_US_FIT': 'FLTECH', 'T2_UK_SGrid_Bristol': 'Bristol', 'T2_PT_NCG_Lisbon': 'NCG-INGRID-PT', 'T1_ES_PIC': 'PIC', 'T3_US_JHU': 'JHU', 'T2_IT_Legnaro': 'Legnaro', 'T2_RU_INR': 'INR', 'T3_US_FIU': 'T3_US_FIU', 'T3_EU_Parrot': 'T3 EU Parrot', 'T2_RU_JINR': 'JINR', 'T2_IT_Pisa': 'Pisa', 'T2_GR_Ioannina': 'Ioannina', 'T3_US_MIT': 'T3 US MIT', 'T2_CH_CERN_HLT': 'CERN Tier-2 HLT', 'T2_MY_UPM_BIRUNI': 'UPM Biruni', 'T1_FR_CCIN2P3': 'CC-IN2P3', 'T2_FR_GRIF_IRFU': 'GRIF_IRFU', 'T3_US_UMiss': 'UMissHEP', 'T2_FR_CCIN2P3': 'CC-IN2P3 AF', 'T2_PL_Warsaw': 'Warsaw', 'T3_AS_Parrot': 'T3 AS Parrot', 'T2_US_MIT': 'MIT', 'T2_BE_IIHE': 'IIHE', 'T2_RU_ITEP': 'ITEP', 'T1_CH_CERN': 'CERN', 'T3_CH_PSI': 'PSI', 'T3_IT_Bologna': 'Bologna-T3'}
62-
matchList = {'T2_FI_HIP': 'Helsinki Institute of Physics', 'T2_UK_SGrid_RALPP': 'Rutherford PPD', 'T2_FR_GRIF_LLR': 'GRIF_LLR', 'T2_UK_London_IC': 'IC', 'T3_US_Omaha': 'Firefly', 'T2_KR_KNU': 'KNU', 'T2_RU_SINP': 'SINP', 'T2_CH_CERN_AI': 'CERN Tier-2 AI', 'T1_TW_ASGC': 'ASGC', 'T3_US_Colorado': 'Colorado', 'T1_UK_RAL_Disk': 'RALDISK', 'T2_TH_CUNSTDA': 'CUNSTDA', 'T2_IT_Bari': 'Bari', 'T2_US_UCSD': 'UCSD', 'T2_RU_IHEP': 'IHEP', 'T1_RU_JINR': 'JINR-T1', 'T2_RU_RRC_KI': 'RRC_KI', 'T2_CH_CERN': 'CERN Tier-2', 'T2_US_Vanderbilt': 'Vanderbilt', 'T2_CH_CSCS': 'CSCS', 'T2_UA_KIPT': 'KIPT', 'T2_PK_NCP': 'NCP-LCG2', 'T2_RU_PNPI': 'PNPI', 'T2_IN_TIFR': 'TIFR', 'T2_FR_IPHC': 'IPHC', 'T1_US_FNAL': 'FNAL', 'T2_IT_Rome': 'Rome', 'T2_UK_London_Brunel': 'Brunel', 'T1_US_FNAL_Disk': 'FNALDISK', 'T2_EE_Estonia': 'Estonia', 'T2_CN_Beijing': 'Beijing', 'T2_US_Florida': 'Florida', 'T1_DE_KIT': 'KIT', 'T2_US_Wisconsin': 'Wisconsin', 'T2_HU_Budapest': 'Hungary', 'T2_DE_RWTH': 'RWTH', 'T2_BR_UERJ': 'HEPGRID_UERJ', 'T2_ES_IFCA': 'IFCA', 'T2_DE_DESY': 'DESY', 'T1_UK_RAL': 'RAL', 'T2_US_Caltech': 'Caltech', 'T2_TW_Taiwan': 'Taiwan', 'T0_CH_CERN': 'CERN Tier-0', 'T1_RU_JINR_Disk': 'JINR-T1DISK', 'T2_US_Nebraska': 'Nebraska', 'T2_ES_CIEMAT': 'CIEMAT', 'T2_CH_CERN_T0': 'CERN Tier-2 T0', 'T2_BR_SPRACE': 'SPRACE', 'T1_IT_CNAF': 'CNAF', 'T2_TR_METU': 'METU', 'T2_AT_Vienna': 'Hephy-Vienna', 'T2_US_Purdue': 'Purdue', 'T2_BE_UCL': 'Louvain', 'T2_UK_SGrid_Bristol': 'Bristol', 'T2_PT_NCG_Lisbon': 'NCG-INGRID-PT', 'T1_ES_PIC': 'PIC', 'T2_IT_Legnaro': 'Legnaro', 'T2_RU_INR': 'INR', 'T2_RU_JINR': 'JINR', 'T2_IT_Pisa': 'Pisa', 'T2_GR_Ioannina': 'Ioannina', 'T2_CH_CERN_HLT': 'CERN Tier-2 HLT', 'T2_MY_UPM_BIRUNI': 'UPM Biruni', 'T1_FR_CCIN2P3': 'CC-IN2P3', 'T2_FR_GRIF_IRFU': 'GRIF_IRFU', 'T2_FR_CCIN2P3': 'CC-IN2P3 AF', 'T2_PL_Warsaw': 'Warsaw', 'T2_US_MIT': 'MIT', 'T2_BE_IIHE': 'IIHE', 'T2_RU_ITEP': 'ITEP', 'T1_CH_CERN': 'CERN'}
6379
#_____________________________________________________________________________
6480
for site in matchList:
6581
if pledgeList.has_key(matchList[site]):
@@ -69,15 +85,14 @@ def matchPledges(pledgeList):
6985
pledges[site] = "n/a"
7086
return pledges
7187
#____________________function creates JSON TXT file________________
72-
def savetoFile(pledges, year,outputfile_txt):
88+
def savetoFile(pledges, outputfile_txt):
7389
saveTime = time.strftime('%Y-%m-%d %H:%M:%S')
7490
url = "https://cmsweb.cern.ch/sitedb/prod/pledges "
7591
#_______________JSON__________________________________________________
7692
filename = outputfile_txt + ".json"
7793
fileOp = open(filename, "w")
7894
fileOp.write(unicode(simplejson.dumps(pledges, ensure_ascii=False)))
7995
fileOp.close()
80-
8196
#_______________the List_____________________________________________
8297
filename = outputfile_txt + ".txt"
8398
fileOp = open(filename, "w")
@@ -86,13 +101,11 @@ def savetoFile(pledges, year,outputfile_txt):
86101
if (pledges[tmpPledges] > 0) : color = 'green'
87102
if (str(pledges[tmpPledges]) == 'n/a') : color = 'white'
88103
fileOp.write(saveTime + "\t" + tmpPledges + "\t" + str(pledges[tmpPledges]) + "\t" + color + "\t" + url + "\n" )
89-
90104
fileOp.close()
91105

92106
if __name__ == '__main__':
93107
outputfile_txt=sys.argv[1]
94-
year = sys.argv[2]
95108
print 'starting to fetch all pledges from siteDB'
96109
allPledgeList = fetch_all_pledges('cmsweb.cern.ch','/sitedb/data/prod/resource-pledges')
97110
pledges = matchPledges(allPledgeList)
98-
savetoFile(pledges, year, outputfile_txt)
111+
savetoFile(pledges, outputfile_txt)

Pledges_View_SSB/pledge/run_pledges.sh

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,11 @@
22
# written by Gökhan Kandemir => gokhan.kandemir@cern.ch
33
# outputfile [year]_pledges.txt
44
# outputfile [year]_pledges.json
5-
# outputfile [year]_pledges.html
6-
# usercert and userkey files must be in folder "data"
75
# this script fetchs all pledges values and matchs with siteName from siteDB.
86
clear
9-
echo "exporting KEY and CERT"
10-
117
#fixing access
12-
export X509_USER_CERT=./data/usercert.pem
13-
export X509_USER_KEY=./data/userkey.pem
8+
source /afs/cern.ch/project/gd/LCG-share/new_3.2/etc/profile.d/grid_env.sh
9+
voms-proxy-init -voms cms
1410

1511
# Email if things are running slowly
1612

@@ -40,10 +36,9 @@ fi
4036

4137

4238
#Run the script
43-
year="2014"
44-
txt="pledge" #postfix in code itself
39+
txt="pledges" #postfix in code itself
4540
echo "python pledges.py $txt"
46-
python pledges.py $txt $year &> pledges.log
41+
python pledges.py $txt &> pledges.log
4742

4843
problem="$?"
4944
echo "problem: $problem"
@@ -53,3 +48,4 @@ cp $txt".txt" /afs/cern.ch/user/c/cmst1/www/SST
5348
cp $txt".json" /afs/cern.ch/user/c/cmst1/www/SST
5449

5550
rm scriptRunning.run
51+

SR_View_SSB/WRDays/run_WaitingRoom_Sites.sh

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,15 @@
11
#!/bin/bash
2-
# Sten Luyckx
32
# Script in acrontab t1
43
# 5,20,35,50 * * * * lxplus ssh vocms202 /afs/cern.ch/user/c/cmst1/scratch0/Waitingroom_Dashboard/Waitingroom_SummedMetric/run_WaitingRoom_Sites.sh &> /dev/null
54
# Script for Dashboard metric 154, 155, 156
65
# outputfile WaitingRoom_1MonthSum.txt
76
# outputfile WaitingRoom_2MonthSum.txt
87
# outputfile WaitingRoom_3MonthSum.txt
9-
# outputdir /afs/cern.ch/user/c/cmst1/www/WFMon/
10-
# usercert and userkey files must be in folder "data"
118
# this script read all of data from http://dashb-ssb.cern.ch/dashboard/ according to column, dateFrom, dateTo, sites and it calculates How many days Sites are in WaitingRoom as last 1 month, last 2 months, last 3 months.
129
clear
13-
cd /afs/cern.ch/user/c/cmst1/scratch0/Waitingroom_Dashboard/Waitingroom_SummedMetric/
14-
15-
echo "exporting KEY and CERT"
16-
1710
#fixing access
18-
export X509_USER_CERT=/data/certs/servicecert.pem
19-
export X509_USER_KEY=/data/certs/servicekey.pem
20-
21-
11+
source /afs/cern.ch/project/gd/LCG-share/new_3.2/etc/profile.d/grid_env.sh
12+
voms-proxy-init -voms cms
2213
# Email if things are running slowly
2314

2415
if [ -f scriptRunning.run ];

SR_View_SSB/WRDays/waitingRoom_SummedMetrics.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,6 @@ def extractJson(col, startDate, endDate):
3939

4040
# function needed to fetch a list of all sites from siteDB
4141
def fetch_all_sites(url,api):
42-
# examples in:
43-
# https://github.com/gutsche/old-scripts/blob/master/SiteDB/extract_site_executive_mail_addresses.py
44-
# https://github.com/dballesteros7/dev-scripts/blob/master/src/reqmgr/input-blocks.py
45-
# https://twiki.cern.ch/twiki/bin/view/CMSPublic/CompOpsWorkflowOperationsWMAgentScripts#Resubmit
4642
headers = {"Accept": "application/json"}
4743
if 'X509_USER_PROXY' in os.environ:
4844
print 'X509_USER_PROXY found'
@@ -64,6 +60,10 @@ def fetch_all_sites(url,api):
6460
conn.close()
6561

6662
site_T2= []
63+
for siteName in jn['result']:
64+
if siteName[3][0:2] == 'T2':
65+
site_T2.append(siteName[3])
66+
6767
for i in jn['result']:
6868
if i[jn['desc']['columns'].index('type')]=='cms':
6969
sitedbname=i[jn['desc']['columns'].index('alias')]
@@ -142,7 +142,8 @@ def main_function(outputfile_txt, submonths,allSites):
142142
if __name__ == '__main__':
143143
outputfile_txt=sys.argv[1]
144144
print 'starting to fetch all sites from siteDB'
145-
allSitesList = fetch_all_sites('cmsweb.cern.ch','/sitedb/data/prod/site-names')
145+
#allSitesList = fetch_all_sites('cmsweb.cern.ch','/sitedb/data/prod/site-names')
146+
allSitesList = fetch_all_sites('cmsweb.cern.ch','/sitedb/data/prod/federations-sites')
146147
main_function(outputfile_txt+'1MonthSum.txt',-1,allSitesList)
147148
print '__________________________________________________'
148149
print '__________________________________________________'

Site_Config/generic_file_monitoring/run_site_local_config.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/bin/bash
22
# written by Gökhan Kandemir => gokhan.kandemir@cern.ch
3-
# usercert and userkey files must be in folder .globus
43
# this script calculates the number of T1s and T2s counts and writes results to console and file.
54
clear
65
echo "To Prevent ask typing password constantly, Registering your KEY and CERT to Grid Environment"

Site_Config/generic_file_monitoring/site_local_config.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,31 @@
33
import time
44
import urllib, httplib, urllib2
55
import string
6+
import simplejson
67
from xml.dom.minidom import parse, parseString
8+
from xml import xpath
79
#_____________________________________________________________________________
810

911
siteList = {}
1012
T1Count = 0
1113
T2Count = 0
1214
#________________________________________________________________________________________
1315
# functions fetchs all siteName and gets all xml file.
14-
def fetch_all_site():
15-
sitesList = ['T1_TW_ASGC','T1_FR_CCIN2P3','T1_CH_CERN','T1_IT_CNAF','T1_US_FNAL','T1_US_FNAL_Disk','T1_RU_JINR','T1_RU_JINR_Disk','T1_DE_KIT','T1_ES_PIC','T1_UK_RAL','T1_UK_RAL_Disk','T2_IT_Bari','T2_CN_Beijing','T2_UK_SGrid_Bristol','T2_UK_London_Brunel','T2_FR_CCIN2P3','T2_CH_CERN','T2_CH_CERN_AI','T2_CH_CERN_HLT','T2_CH_CERN_T0','T2_ES_CIEMAT','T2_CH_CSCS','T2_TH_CUNSTDA','T2_US_Caltech','T2_DE_DESY','T2_EE_Estonia','T2_US_Florida','T2_FR_GRIF_IRFU','T2_FR_GRIF_LLR','T2_BR_UERJ','T2_FI_HIP','T2_AT_Vienna','T2_HU_Budapest','T2_UK_London_IC','T2_ES_IFCA','T2_RU_IHEP','T2_BE_IIHE','T2_RU_INR', 'T2_FR_IPHC','T2_RU_ITEP','T2_GR_Ioannina','T2_RU_JINR','T2_UA_KIPT','T2_KR_KNU','T2_IT_Legnaro','T2_BE_UCL','T2_TR_METU','T2_US_MIT','T2_PT_NCG_Lisbon','T2_PK_NCP','T2_US_Nebraska','T2_RU_PNPI','T2_IT_Pisa','T2_US_Purdue', 'T2_RU_RRC_KI','T2_DE_RWTH','T2_IT_Rome','T2_UK_SGrid_RALPP','T2_RU_SINP','T2_BR_SPRACE','T2_IN_TIFR','T2_TW_Taiwan','T2_US_UCSD','T2_MY_UPM_BIRUNI', 'T2_US_Vanderbilt','T2_PL_Warsaw','T2_US_Wisconsin']
16+
def fetch_all_sites(url, api):
17+
#________________fetch all siteName from siteDB v2________________________________
18+
headers = {"Accept": "application/json"}
19+
if 'X509_USER_PROXY' in os.environ:
20+
conn = httplib.HTTPSConnection(url, cert_file = os.getenv('X509_USER_PROXY'), key_file = os.getenv('X509_USER_PROXY'))
21+
r1=conn.request("GET",api, None, headers)
22+
r2=conn.getresponse()
23+
inputjson=r2.read()
24+
jn = simplejson.loads(inputjson)
25+
conn.close()
26+
sitesList=[]
27+
for site in jn['result']:
28+
if site[3][0:2] != 'T3':
29+
sitesList.append(site[3])
30+
#______________________________________________________________________________________
1631
# To get all site-local-config information.
1732
for siteName in sitesList:
1833
xml = getXmlfromURL('cmsweb.cern.ch','/gitweb/?p=siteconf/.git;a=blob_plain;f=' + siteName + '/JobConfig/site-local-config.xml;hb=HEAD')
@@ -66,7 +81,7 @@ def getXmlfromURL(url,api):
6681
jsonFile = open(outputfile_txt + ".json", "w")
6782
jsonCode = '{ "site_local_config":['
6883
jsonCodeEnd = ']}'
69-
fetch_all_site()
84+
fetch_all_sites('cmsweb.cern.ch','/sitedb/data/prod/federations-sites')
7085
saveTime = time.strftime('%Y-%m-%d %H:%M:%S')
7186
url = "https://cmsweb.cern.ch/gitweb/?p=siteconf/.git;a=tree"
7287
print saveTime + "\t" + "T1s" + "\t" + str(T1Count) + "\t" + "green" + "\t" + url

0 commit comments

Comments
 (0)