ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/ECALDQM/gui/config/server-conf-online.py
Revision: 1.1
Committed: Wed Oct 3 13:30:46 2012 UTC (12 years, 7 months ago) by yiiyama
Content type: text/x-python
Branch: MAIN
CVS Tags: HEAD
Log Message:
*** empty log message ***

File Contents

# Content
1 import os.path, socket ; global CONFIGDIR
2 def reglob(pattern):
3 """Extended version of glob that uses regular expressions."""
4 from os import listdir
5 import re
6 cwd = pattern.rsplit('/',1)[0]
7 f_pattern= pattern.rsplit('/',1)[-1]
8 pat=re.compile(f_pattern)
9 g = ["%s/%s" % (cwd,f) for f in listdir(cwd) if pat.match(f)]
10 return g
11
12 CONFIGDIR = os.path.normcase(os.path.abspath(__file__)).rsplit('/', 1)[0]
13 BASEDIR = CONFIGDIR.replace("/current/config/dqmgui", "")
14 STATEDIR = "%s/state/dqmgui/online" % BASEDIR
15 LOGDIR = "%s/logs/dqmgui/online" % BASEDIR
16
17 # Modifiable parameters.
18 LAYOUTS = reglob("%s/layouts/[^-_]*-layouts.py" % CONFIGDIR)
19 LAYOUTS += reglob("%s/layouts/shift_[^-_]*_layout.py" % CONFIGDIR)
20 LAYOUTS += reglob("%s/layouts/.*_overview_layouts.py" % CONFIGDIR)
21
22 # Do not modify configuration below this line.
23 DQMSERVERS = ["dqm-prod-local", "dqm-prod-offsite", "dqm-integration", "dqm-test"]
24 HOST = socket.gethostname().lower()
25 DOMAIN = socket.getfqdn().split('.',1)[-1].lower()
26 HOSTADDR = socket.getaddrinfo(HOST, None)[0][4][0]
27 BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
28 HOSTALIAS = HOST
29 COLLHOST = 'localhost'
30 COLLPORT = DOMAIN == 'cms' and 9190 or 8061
31 #SERVICENAME = 'Online Development'
32 SERVICENAME = 'ECAL DQM'
33 #SERVERPORT = 8070
34 SERVERPORT = 8030
35 #BASEURL = '/dqm/online-dev'
36 BASEURL = '/dqm/ecal'
37 UPLOADDIR = "%s/uploads" % STATEDIR
38 FILEREPO = { "ROOT": "%s/data" % STATEDIR }
39
40 # Figure out a preferred alias for this out (if any)
41 for alias in DQMSERVERS:
42 try:
43 if len([x for x in socket.getaddrinfo(alias, None) if x[4][0] == HOSTADDR]):
44 HOSTALIAS = alias
45 break
46 except: pass
47
48 # Figure out settings for DQM servers
49 if HOSTALIAS in DQMSERVERS:
50 COLLPORT = 9090
51 SERVERPORT = 8030
52 if HOSTALIAS == 'dqm-integration':
53 SERVICENAME = 'Online Playback'
54 BASEURL = '/dqm/online-playback'
55
56 else:
57 FILEREPO = { "ROOT": "/dqmdata/dqm/repository/original/OnlineData",
58 "Original": "/dqmdata/dqm/repository/original/OnlineData",
59 "Merged": "/dqmdata/dqm/repository/merged/OnlineData" }
60 COLLHOST = HOSTALIAS != 'dqm-prod-local' and 'dqm-prod-local.cms' or 'localhost'
61 if HOSTALIAS == 'dqm-test':
62 SERVICENAME = 'Online Test'
63 BASEURL = '/dqm/online-test'
64
65 else:
66 SERVICENAME = 'Online'
67 BASEURL = '/dqm/online'
68 UPLOADDIR = "/dqmdata/dqm/uploads"
69
70 # Server configuration.
71 modules = ("Monitoring.DQM.GUI",)
72
73 #server.instrument = 'valgrind --num-callers=999 `cmsvgsupp` --error-limit=no'
74 #server.instrument = 'valgrind --tool=helgrind --num-callers=999 --error-limit=no'
75 #server.instrument = 'igprof -d -t python -pp'
76 #server.instrument = 'igprof -d -t python -mp'
77 server.localBase = HOSTALIAS
78 server.serverDir = STATEDIR
79 server.port = SERVERPORT
80 server.logFile = '%s/weblog-%%Y%%m%%d.log' % LOGDIR
81 server.baseUrl = BASEURL
82 server.title = 'CMS data quality'
83 server.serviceName = SERVICENAME
84
85 server.plugin('render', "%s/style/*.cc" % CONFIGDIR)
86 server.extend('DQMRenderLink', server.pathOfPlugin('render'))
87 server.extend('DQMToJSON')
88 server.extend('DQMFileAccess', None, UPLOADDIR,FILEREPO)
89 server.source('DQMUnknown')
90 server.source('DQMOverlay')
91 server.source('DQMStripChart')
92 server.source('DQMLive', "%s:%s" % (COLLHOST,COLLPORT))
93 server.source('DQMArchive', "%s/ix" % STATEDIR, '^/Global/')
94 server.source('DQMLayout')
95
96 execfile(CONFIGDIR + "/dqm-services.py")
97 execfile(CONFIGDIR + "/workspaces-online.py")