diff --git a/LCU/checkhardware/config/LV614-check_hardware.conf b/LCU/checkhardware/config/LV614-check_hardware.conf new file mode 100755 index 0000000000000000000000000000000000000000..33da7c8f3bcc691382e2913d7f86efee3a73113e --- /dev/null +++ b/LCU/checkhardware/config/LV614-check_hardware.conf @@ -0,0 +1,252 @@ +# +# configuration file for check_hardware.py +# + +[configuration] +version= 00.01 +station= LV614C + +# checks to do if '-l=x' argument is given, all checks behind list.x are executed +# always checks will be done always +# +# S(rcumode) : signal check for rcumode (also down and flat-check in rcumode 1..4). +# O(rcumode) : oscillation check for rcumode. +# SP(rcumode) : spurious check for rcumode. +# N(rcumode)[= 300]: noise check for rcumode, optional data time in seconds +# default data time= 120 sec. +# E(rcumode)[= 60] : do all RCU5 element tests, optional data time in seconds. +# default data time= 10 sec. +# M(rcumode) : do modem +# SN(rcumode) : do summator noise +# +# RCU(mode) : do all rcu checks for given mode, no element tests done. +# +# RBC : RSP voltage/temperature check +# TBC : TBB voltage/temperature check +# SPU : SPU voltage +# TM : TBB memmory + +[check] +always= RV, TV, RBC, TBC +list.0= +list.1= SPU,TM,RCU3,RCU5 +list.2= SPU,TM,RCU3,M5,SN5,O5,N5,SP5,S7,E7 +list.3= S3 + +[spu] +temperature.min= 10.0 +temperature.max= 35.0 +voltage.3_3.min= 3.1 +voltage.3_3.max= 3.4 +voltage.3_3.max-drop= 0.3 +voltage.5_0.min= 4.5 +voltage.5_0.max= 5.0 +voltage.5_0.max-drop= 0.3 +voltage.8_0.min= 7.4 +voltage.8_0.max= 8.0 +voltage.8_0.max-drop= 0.3 +voltage.48_0.min= 43.0 +voltage.48_0.max= 48.0 +voltage.48_0.max-drop= 2.0 + +[tbb] +version.tp= 2.4 +version.mp= 3.0 +temperature.min= 10.0 +temperature.max= 45.0 +temperature.tp.min= 10.0 +temperature.tp.max= 75.0 +temperature.tp.max_delta= 10.0 +temperature.mp.min= 10.0 +temperature.mp.max= 75.0 +temperature.mp.max_delta= 10.0 +voltage.1_2.min= 1.1 +voltage.1_2.max= 1.3 +voltage.2_5.min= 2.4 +voltage.2_5.max= 2.6 +voltage.3_3.min= 3.1 +voltage.3_3.max= 3.4 + +[rsp] +version.ap= 8.2 +version.bp= 8.2 +temperature.min= 10.0 +temperature.max= 50.0 +temperature.ap.min= 10.0 +temperature.ap.max= 80.0 +temperature.ap.max_delta= 10.0 +temperature.bp.min= 10.0 +temperature.bp.max= 80.0 +temperature.bp.max_delta= 10.0 +voltage.1_2.min= 1.1 +voltage.1_2.max= 1.3 +voltage.2_5.min= 2.4 +voltage.2_5.max= 2.6 +voltage.3_3.min= 3.1 +voltage.3_3.max= 3.4 + +[rcumode.1-3] +short.mean-pwr.min= 55.0 +short.mean-pwr.max= 61.0 +flat.mean-pwr.min= 61.0 +flat.mean-pwr.max= 64.5 +rf.subbands= 301 +rf.min-sb-pwr= 75.0 +rf.negative-deviation= -3.0 +rf.positive-deviation= 3.0 +noise.negative-deviation= -2.5 +noise.positive-deviation= 2.5 +noise.max-difference= 1.5 +noise.passband= 1:511 +oscillation.min-peak-pwr= 6.0 +oscillation.passband= 1:511 +cable-reflection.min-peak-pwr= 0.8 +cable-reflection.passband= 1:511 +spurious.min-peak-pwr= 3.0 +spurious.passband= 1:511 +down.passband= 231:371 + +[rcumode.2-4] +short.mean-pwr.min= 55.0 +short.mean-pwr.max= 61.0 +flat.mean-pwr.min= 61.0 +flat.mean-pwr.max= 64.5 +rf.subbands= 301 +rf.min-sb-pwr= 75.0 +rf.negative-deviation= -3.0 +rf.positive-deviation= 3.0 +noise.negative-deviation= -2.5 +noise.positive-deviation= 2.5 +noise.max-difference= 1.5 +noise.passband= 1:511 +oscillation.min-peak-pwr= 6.0 +oscillation.passband= 1:511 +cable-reflection.min-peak-pwr= 0.8 +cable-reflection.passband= 1:511 +spurious.min-peak-pwr= 3.0 +spurious.passband= 1:511 +down.passband= 231:371 + +[rcumode.5.tile] +short.mean-pwr.min= 55.0 +short.mean-pwr.max= 61.0 +flat.mean-pwr.min= 61.0 +flat.mean-pwr.max= 64.5 +rf.subbands= 113 +rf.min-sb-pwr= 80.0 +rf.negative-deviation= -24.0 +rf.positive-deviation= 12.0 +noise.negative-deviation= -3.0 +noise.positive-deviation= 1.5 +noise.max-difference= 1.5 +noise.passband= 1:511 +summator-noise.min-peak-pwr= 1.2 +summator-noise.passband= 45:135,200:270 +cable-reflection.min-peak-pwr= 0.8 +cable-reflection.passband= 1:511 +oscillation.min-peak-pwr= 6.0 +oscillation.passband= 1:511 +cable-reflection.passband= 1:511 +spurious.min-peak-pwr= 3.0 +spurious.passband= 1:511 + +[rcumode.5.element] +rf.subbands= 113 +rf.min-sb-pwr= 70.0 +rf.negative-deviation= -24.0 +rf.positive-deviation= 12.0 +noise.negative-deviation= -3.0 +noise.positive-deviation= 1.5 +noise.max-difference= 1.5 +noise.passband= 1:511 +oscillation.min-peak-pwr= 6.0 +oscillation.passband= 1:511 +cable-reflection.passband= 1:511 +spurious.min-peak-pwr= 3.0 +spurious.passband= 1:511 + +[rcumode.6.tile] +short.mean-pwr.min= 55.0 +short.mean-pwr.max= 61.0 +flat.mean-pwr.min= 61.0 +flat.mean-pwr.max= 64.5 +rf.subbands= 113 +rf.min-sb-pwr= 80.0 +rf.negative-deviation= -24.0 +rf.positive-deviation= 12.0 +noise.negative-deviation= -3.0 +noise.positive-deviation= 1.5 +noise.max-difference= 1.5 +noise.passband= 1:511 +summator-noise.min-peak-pwr= 1.2 +summator-noise.passband= 45:135 +cable-reflection.min-peak-pwr= 0.8 +cable-reflection.passband= 1:511 +oscillation.min-peak-pwr= 6.0 +oscillation.passband= 1:511 +cable-reflection.passband= 1:511 +spurious.min-peak-pwr= 3.0 +spurious.passband= 1:511 + +[rcumode.6.element] +rf.subbands= 113 +rf.min-sb-pwr= 70.0 +rf.negative-deviation= -24.0 +rf.positive-deviation= 12.0 +noise.negative-deviation= -3.0 +noise.positive-deviation= 1.5 +noise.max-difference= 1.5 +noise.passband= 1:511 +oscillation.min-peak-pwr= 6.0 +oscillation.passband= 1:511 +cable-reflection.passband= 1:511 +spurious.min-peak-pwr= 3.0 +spurious.passband= 1:511 + +[rcumode.7.tile] +short.mean-pwr.min= 55.0 +short.mean-pwr.max= 61.0 +flat.mean-pwr.min= 61.0 +flat.mean-pwr.max= 64.5 +rf.subbands= 113 +rf.min-sb-pwr= 80.0 +rf.negative-deviation= -24.0 +rf.positive-deviation= 12.0 +noise.negative-deviation= -3.0 +noise.positive-deviation= 1.5 +noise.max-difference= 1.5 +noise.passband= 1:511 +summator-noise.min-peak-pwr= 1.2 +summator-noise.passband= 45:135 +cable-reflection.min-peak-pwr= 0.8 +cable-reflection.passband= 1:511 +oscillation.min-peak-pwr= 6.0 +oscillation.passband= 1:511 +cable-reflection.passband= 1:511 +spurious.min-peak-pwr= 3.0 +spurious.passband= 1:511 + +[rcumode.7.element] +rf.subbands= 113 +rf.min-sb-pwr= 70.0 +rf.negative-deviation= -24.0 +rf.positive-deviation= 12.0 +noise.negative-deviation= -3.0 +noise.positive-deviation= 3.0 +noise.max-difference= 1.5 +noise.passband= 1:511 +oscillation.min-peak-pwr= 6.0 +oscillation.passband= 1:511 +cable-reflection.passband= 1:511 +spurious.min-peak-pwr= 3.0 +spurious.passband= 1:511 + +# General settings +[paths] +global-data= /globalhome/log/stationtest +local-data= /opt/stationtest/data +local-report-dir= /localhome/stationtest/data +global-report-dir= /globalhome/log/stationtest + +[files] +bad-antenna-list= /localhome/stationtest/data/bad_antenna_list.txt diff --git a/LTA/ltastorageoverview/lib/scraper.py b/LTA/ltastorageoverview/lib/scraper.py index 493cf943ceb3a1130b26bae2ff582ddcf6889ea2..98840e486d20b99ac258b668e119d391336d8bb9 100755 --- a/LTA/ltastorageoverview/lib/scraper.py +++ b/LTA/ltastorageoverview/lib/scraper.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License along # with the LOFAR software suite. If not, see <http://www.gnu.org/licenses/>. -# $Id$ +# $Id: scraper.py 43211 2019-06-18 18:55:40Z klazema $ # TODO: add comments to methods # TODO: code cleanup @@ -41,7 +41,7 @@ from random import random, randint logger = logging.getLogger() VISIT_INTERVAL = datetime.timedelta(days=7) -LEXAR_HOST = 'ingest@lexar004.offline.lofar' +LEXAR_HOST = 'ingest@lexar004.control.lofar' class FileInfo: '''Simple struct to hold filename and size''' @@ -135,8 +135,8 @@ class Location: # the core command: do an srmls call and parse the results # srmls can only yield max 900 items in a result, hence we can recurse for the next 900 by using the offset - cmd = ['ssh', '-tt', '-n', '-x', '-q', LEXAR_HOST, "bash", "-c", - "\'srmls -l -count=900 -offset=%d %s%s\'" % ( + cmd = ['ssh', '-tt', '-n', '-x', '-q', LEXAR_HOST, + "srmls -l -count=900 -offset=%d %s%s" % ( offset, self.srmurl, self.directory) ] diff --git a/LTA/ltastorageoverview/lib/webservice/webservice.py b/LTA/ltastorageoverview/lib/webservice/webservice.py index 44beadb45ee36bcde602c951a2797a2e91f90fad..9188c2fb48cc3014a0b6fe9392107b412fa9b7e7 100755 --- a/LTA/ltastorageoverview/lib/webservice/webservice.py +++ b/LTA/ltastorageoverview/lib/webservice/webservice.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License along # with the LOFAR software suite. If not, see <http://www.gnu.org/licenses/>. -# $Id$ +# $Id: webservice.py 42507 2019-04-09 19:08:50Z schaap $ # TODO: add comment to methods # TODO: code cleanup @@ -78,12 +78,14 @@ def index(): storagesitedata ='[]' min_date, max_date = db.datetimeRangeOfFilesInTree() + logger.info("datetimeRangeOfFilesInTree: min_date=%s, max_date=%s", min_date, max_date) if min_date is None: min_date = datetime(2012, 1, 1) if max_date is None: max_date = datetime.utcnow() min_date = max(datetime(2012, 1, 1), min_date) - month_ranges = monthRanges(min_date, max_date, 3) + logger.info("month_ranges: min_date=%s, max_date=%s", min_date, max_date) + month_ranges = monthRanges(min_date, max_date, 1) # convert end-of-month timestamps to milliseconds since epoch epoch = datetime.utcfromtimestamp(0) @@ -223,18 +225,20 @@ def main(): # Check the invocation arguments parser = OptionParser("%prog [options]", description='runs the lta scraper and stores results in the speficied database.') + parser.add_option('-V', '--verbose', dest='verbose', action='store_true', help='verbose logging') parser.add_option_group(dbcredentials.options_group(parser)) parser.set_defaults(dbcredentials="LTASO") (options, args) = parser.parse_args() - logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', level=logging.INFO) + logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', + level=logging.DEBUG if options.verbose else logging.INFO) dbcreds = dbcredentials.parse_options(options) logger.info("Using dbcreds: %s" % dbcreds.stringWithHiddenPassword()) global db - db = store.LTAStorageDb(dbcreds) + db = store.LTAStorageDb(dbcreds, options.verbose) app.run(debug=False,host='0.0.0.0',port=9632) diff --git a/MAC/Deployment/data/OTDB/createPICfile b/MAC/Deployment/data/OTDB/createPICfile index 0fae86339e06f7ad78bba717a015854b9f728406..c1e4a4d31b68e74415223939a59884b921ee59f5 100755 --- a/MAC/Deployment/data/OTDB/createPICfile +++ b/MAC/Deployment/data/OTDB/createPICfile @@ -2,82 +2,91 @@ # # $Id$ # -# Syntax: createPICFile ( -a | stationname [stationame ...]) +# Syntax: createPICFile ( -a | station-name [statio-name ...]) # -# Makea a file with PVSS(!) datapoints that must be monitored in SAS. +# Make a a file with PVSS(!) data-points that must be monitored in SAS. import re, sys from optparse import OptionParser + def expandRCUMarker(dataPoint, nrRSP): """ - Expands the lines that only contain markers up to @rcu@. + Expands the lines that only contain markers up to @rcu@. """ for rcu in range(0, nrRSP * 8): - rsp = rcu / 8 - subrack = rsp / 4 - cabinet = rsp / 8 - print "21 "+dataPoint.replace("@cabinet@","Cabinet"+str(cabinet)) \ - .replace("@subrack@","Subrack"+str(subrack)) \ - .replace("@RSPBoard@", "RSPBoard"+str(rsp)) \ - .replace("@rcu@", "RCU"+str(rcu))+".status.state" + rsp = rcu // 8 + subrack = rsp // 4 + cabinet = rsp // 8 + print("21 " + dataPoint + .replace("@cabinet@", "Cabinet" + str(cabinet)) + .replace("@subrack@", "Subrack" + str(subrack)) + .replace("@RSPBoard@", "RSPBoard" + str(rsp)) + .replace("@rcu@", "RCU" + str(rcu)) + ".status.state") + def expandRSPBoardMarker(dataPoint, nrRSP): """ - Expands the lines that only contain markers up to @rcu@. + Expands the lines that only contain markers up to @rcu@. """ for rsp in range(0, nrRSP): - subrack = rsp / 4 - cabinet = rsp / 8 - print "21 "+dataPoint.replace("@cabinet@","Cabinet"+str(cabinet)) \ - .replace("@subrack@","Subrack"+str(subrack)) \ - .replace("@RSPBoard@", "RSPBoard"+str(rsp))+".status.state" + subrack = rsp // 4 + cabinet = rsp // 8 + print("21 " + dataPoint + .replace("@cabinet@", "Cabinet" + str(cabinet)) + .replace("@subrack@", "Subrack" + str(subrack)) + .replace("@RSPBoard@", "RSPBoard" + str(rsp)) + ".status.state") + def expandTBBoardMarker(dataPoint, nrTBB): """ - Expands the lines that only contain markers up to @rcu@. + Expands the lines that only contain markers up to @rcu@. """ for tbb in range(0, nrTBB): - subrack = tbb / 2 - cabinet = tbb / 4 - print "21 "+dataPoint.replace("@cabinet@","Cabinet"+str(cabinet)) \ - .replace("@subrack@","Subrack"+str(subrack)) \ - .replace("@TBBoard@", "TBBoard"+str(tbb))+".status.state" + subrack = tbb // 2 + cabinet = tbb // 4 + print("21 " + dataPoint + .replace("@cabinet@", "Cabinet" + str(cabinet)) + .replace("@subrack@", "Subrack" + str(subrack)) + .replace("@TBBoard@", "TBBoard" + str(tbb)) + ".status.state") + def expandSubrackMarker(dataPoint, nrRSP): """ - Expands the lines that only contain markers up to @rcu@. + Expands the lines that only contain markers up to @rcu@. """ - nrSubracks = nrRSP / 4 + nrSubracks = nrRSP // 4 if nrRSP % 4: nrSubracks += 1 for subrack in range(0, nrSubracks): - cabinet = subrack / 2 - print "21 "+dataPoint.replace("@cabinet@","Cabinet"+str(cabinet)) \ - .replace("@subrack@","Subrack"+str(subrack))+".status.state" + cabinet = subrack // 2 + print("21 " + dataPoint + .replace("@cabinet@", "Cabinet" + str(cabinet)) + .replace("@subrack@", "Subrack" + str(subrack)) + ".status.state") + def expandCabinetMarker(dataPoint, nrRSP): - """ - Expands the lines that only contain the @cabinet@ marker with all cabinet numbers - """ - nrCabinets = nrRSP / 8 - if nrRSP % 8: nrCabinets += 1 - for cabinet in range(0, nrCabinets): - print "21 "+dataPoint.replace("@cabinet@","Cabinet"+str(cabinet))+".status.state" + """ + Expands the lines that only contain the @cabinet@ marker with all cabinet numbers + """ + nrCabinets = nrRSP // 8 + if nrRSP % 8: nrCabinets += 1 + for cabinet in range(0, nrCabinets): + print("21 " + dataPoint.replace("@cabinet@", "Cabinet" + str(cabinet)) + ".status.state") def expandLBAMarker(dataPoint, nrLBA): - """ - Expands the lines that only contain the @lbaantenna@ marker with all cabinet numbers - """ - for lba in range(0, nrLBA): - print "21 "+dataPoint.replace("@lbaantenna@","LBA%03d"%lba)+".status.state" + """ + Expands the lines that only contain the @lbaantenna@ marker with all cabinet numbers + """ + for lba in range(0, nrLBA): + print("21 " + dataPoint.replace("@lbaantenna@", "LBA%03d" % lba) + ".status.state") -def expandHBAMarker(dataPoint, nrHBA): - """ - Expands the lines that only contain the @hbaantenna@ marker with all cabinet numbers - """ - for lba in range(0, nrHBA): - print "21 "+dataPoint.replace("@hbaantenna@","HBA%02d"%lba)+".status.state" +def expandHBAMarker(dataPoint, nrHBA): + """ + Expands the lines that only contain the @hbaantenna@ marker with all cabinet numbers + """ + for lba in range(0, nrHBA): + print("21 " + dataPoint.replace("@hbaantenna@", "HBA%02d" % lba) + ".status.state") # MAIN @@ -85,7 +94,6 @@ def expandHBAMarker(dataPoint, nrHBA): # We can start this from a SVN tree, or from the install location (/opt/lofar) # This is indicated by the "-l" command line option. - parser = OptionParser() parser.add_option("-l", "--local", action="store_true", dest="isLocal", default=False, help="Run createPICFile in situ (in a svn checkout tree, not an in install tree [default!]") @@ -93,16 +101,16 @@ parser.add_option("-l", "--local", action="store_true", dest="isLocal", default= (options, args) = parser.parse_args() if (options.isLocal): - PVSSbasefile= "../PVSS/data/PVSSDataPoints.base" + PVSSbasefile = "../PVSS/data/PVSSDataPoints.base" StationFile = "../StaticMetaData/StationInfo.dat" ControlFile = "../StaticMetaData/ControlInfo.dat" - RingFile = "../PVSS/data/Rings.list" + RingFile = "../PVSS/data/Rings.list" ClusterFile = "../PVSS/data/Clusters.list" else: - PVSSbasefile= "/opt/lofar/pvss/dpdef/PVSSDataPoints.base" + PVSSbasefile = "/opt/lofar/pvss/dpdef/PVSSDataPoints.base" StationFile = "/opt/lofar/etc/StationInfo.dat" ControlFile = "/opt/lofar/etc/ControlInfo.dat" - RingFile = "/opt/lofar/pvss/dpdef/Rings.list" + RingFile = "/opt/lofar/pvss/dpdef/Rings.list" ClusterFile = "/opt/lofar/pvss/dpdef/Clusters.list" filledLine = re.compile("^[^#].*", re.MULTILINE) @@ -112,57 +120,57 @@ filledLine = re.compile("^[^#].*", re.MULTILINE) ringDict = {} for line in filledLine.findall(open(RingFile).read()): ringDict[line[0]] = line -#print "ringDict =", ringDict +# print "ringDict =", ringDict # construct a list with all ring_station combinations ringStations = [] stations = [] for line in filledLine.findall(open(StationFile).read()): if (line.strip() and len(line.split()) == 14 and line.strip()[0] != "#"): -# print "line: =",line + # print "line: =",line (name, stationID, stnType, long, lat, height, nrRSP, nrTBB, nrLBA, nrHBA, nrPowec, HBAsplit, LBAcal, AartFaac ) = line.split() if (height != "0" and int(stationID) < 900): ringStations.append(ringDict[stnType]+"_"+name) stations.append(name) -#print "ringStations =", ringStations -#print "stations =", stations +# print "ringStations =", ringStations +# print "stations =", stations # construct a dictionary for the clusters clusterDict = {} for line in filledLine.findall(open(ClusterFile).read()): (mnemonic, prefix, count) = line.split() clusterDict[mnemonic] = (prefix, count) -#print "clusterDict =", clusterDict +# print "clusterDict =", clusterDict # construct a list for the control-machines controlList = [] for line in filledLine.findall(open(ControlFile).read()): (name, ipaddr, macaddr) = line.split() controlList.append(name) -#print "controlList =", controlList +# print "controlList =", controlList # open outputfile and write top-node of PIC -print "21 LOFAR.status.state" -print "21 LOFAR_PIC.status.state" -print "21 LOFAR_PermSW.status.state" +print("21 LOFAR.status.state") +print("21 LOFAR_PIC.status.state") +print("21 LOFAR_PermSW.status.state") # construct the rings with stations and the clusters with their nodes # ??? ??? C P ??? ???_PIC_@???@ ringStationMask="" -central=re.compile("^\w+[ \t]+[^ \t]+[ \t]+M[ \t]+[YN][ \t]+([A-Za-z_]+_(?:PIC|PermSW)_@.*)", \ - re.IGNORECASE | re.MULTILINE) +central=re.compile("^\w+[ \t]+[^ \t]+[ \t]+M[ \t]+[YN][ \t]+([A-Za-z_]+_(?:PIC|PermSW)_@.*)", + re.IGNORECASE | re.MULTILINE) for line in central.findall(open(PVSSbasefile).read()): - #print "line =",line + # print "line =",line if line.find("@station@") >= 0: ringStationMask=line.replace("LOFAR_","") for RS in ringStations: - print "21 "+line.replace("@ring@_@station@", RS)+".status.state" + print("21 "+line.replace("@ring@_@station@", RS) + ".status.state") # --- elif line.find("@ring@") >= 0: # for all rings for ring in ringDict.keys(): - print "21 "+line.replace("@ring@", ringDict[ring])+".status.state" + print("21 "+line.replace("@ring@", ringDict[ring]) + ".status.state") # --- elif line.find("@node@") >= 0: # for all nodes in each cluster @@ -170,44 +178,44 @@ for line in central.findall(open(PVSSbasefile).read()): (name, count) = clusterDict[cluster] for nodeNr in range(1, int(count)+1): nodename = "%s%03d" % (name, nodeNr) - print "21 "+line.replace("@cluster@_@node@", cluster+"_"+nodename)+".status.state" + print("21 " + line.replace("@cluster@_@node@", cluster + "_" + nodename) + ".status.state") # for all nodes # for all clusters # also add= the control 'cluster' at this place for node in controlList: - print "21 "+line.replace("@cluster@_@node@", "Control_"+node)+".status.state" + print("21 " + line.replace("@cluster@_@node@", "Control_" + node) + ".status.state") # --- elif line.find("@cluster@") >= 0: # for all clusters for cluster in clusterDict.keys(): - print "21 "+line.replace("@cluster@", cluster)+".status.state" + print("21 " + line.replace("@cluster@", cluster) + ".status.state") # and the control-section - print "21 "+line.replace("@cluster@", "Control")+".status.state" + print("21 " + line.replace("@cluster@", "Control") + ".status.state") # --- elif line.find("@") < 0: - print "21 "+line+".status.state" + print("21 " + line + ".status.state") # for all expandable lines # Permanent software on MCU -software=re.compile("^\w+[ \t]+[^ \t]+[ \t]+M[ \t]+[YN][ \t]+([A-Za-z_]+_PermSW_[^@].*)", \ - re.IGNORECASE | re.MULTILINE) +software=re.compile("^\w+[ \t]+[^ \t]+[ \t]+M[ \t]+[YN][ \t]+([A-Za-z_]+_PermSW_[^@].*)", + re.IGNORECASE | re.MULTILINE) for line in software.findall(open(PVSSbasefile).read()): - print "21 MCU001:%s.status.state" % line + print("21 MCU001:%s.status.state" % line) # generate the hardware on each station for line in filledLine.findall(open(StationFile).read()): -# print "line: =",line + # print "line: =",line if (line.strip() and len(line.split()) == 14 and line.strip()[0] != "#"): (name, stationID, stnType, long, lat, height, nrRSP, nrTBB, nrLBA, nrHBA, nrPowec, HBAsplit, LBAcal, AartFaac ) = line.split() - if ( height == "0" or int(stationID) >= 900): + if height == "0" or int(stationID) >= 900: continue # Find all expandable hardware elements on a station. The line syntax is: # ??? ??? S P ??? ???_PIC_@...@ # we are only interested in the @...@ part. - station=re.compile("^\w+[ \t]+[^ \t]+[ \t]+S[ \t]+[YN][ \t]+[A-Za-z_]+_PIC_(@.*)", \ - re.IGNORECASE | re.MULTILINE) + station=re.compile("^\w+[ \t]+[^ \t]+[ \t]+S[ \t]+[YN][ \t]+[A-Za-z_]+_PIC_(@.*)", + re.IGNORECASE | re.MULTILINE) for line in station.findall(open(PVSSbasefile).read()): prefix="@station@:LOFAR_PIC_".replace("@station@", name) if line.find("@rcu@") >= 0: @@ -226,11 +234,10 @@ for line in filledLine.findall(open(StationFile).read()): expandHBAMarker(prefix+line, int(nrHBA)) # for all expandable lines # Permanent software on the stations - software=re.compile("^\w+[ \t]+[^ \t]+[ \t]+S[ \t]+[YN][ \t]+([A-Za-z_]+_PermSW_.*)", \ - re.IGNORECASE | re.MULTILINE) + software=re.compile("^\w+[ \t]+[^ \t]+[ \t]+S[ \t]+[YN][ \t]+([A-Za-z_]+_PermSW_.*)", + re.IGNORECASE | re.MULTILINE) for line in software.findall(open(PVSSbasefile).read()): if line.find("@") < 0: - print "21 %s:%s.status.state" % (name, line) + print("21 %s:%s.status.state" % (name, line)) -#for all stations - +# for all stations diff --git a/MAC/Deployment/data/PVSS/License/471_3031_Astron_Station_5.log b/MAC/Deployment/data/PVSS/License/471_3031_Astron_Station_5.log new file mode 100644 index 0000000000000000000000000000000000000000..ae787de102612e1e29fbae2d0a4c68eb2eee8539 --- /dev/null +++ b/MAC/Deployment/data/PVSS/License/471_3031_Astron_Station_5.log @@ -0,0 +1,34 @@ + +--------------------------------------------------- +[license] +code = "LV614C 50455775608" +version = 31400002 +sn = "471_3031_Astron_Station_5/1" +date = 2019.09.02;10:21:13,000 +comment = "European Station LV614" +expire = 0000.00.00;00:00:00,000 +redundancy = 0 +ui = 1 +para = 1 +dde = 5 +event = 1 +ios = 4000 +ssi = 0 +api = 80 +excelreport = 5 +http = 0 +infoserver = 1000 +comcenter = 5 +maintenance = 1 +scheduler = 1 +s7 = 1 +recipe = 1 +distributed = 255 +ultralight = 1 +mobile_app = 1 +uifix = 0 +parafix = 0 +pararemote = 0 +ctrlext = 1 +update = 0 + diff --git a/MAC/Deployment/data/PVSS/License/Astron_Station_1_shield.txt b/MAC/Deployment/data/PVSS/License/Astron_Station_1_shield.txt index b9af735dd4ba4da54568a18c971f63b08a179db1..3ea11580e68c8a5ad0088ef338d8e1ee64bf7a6e 100644 --- a/MAC/Deployment/data/PVSS/License/Astron_Station_1_shield.txt +++ b/MAC/Deployment/data/PVSS/License/Astron_Station_1_shield.txt @@ -1,34 +1,33 @@ [license] -#hw = 12831493085 -code = "dongleHost 00138422163" -version = 31600002 -sn = "471_3031_Astron_Station_5" -expire = 0000.00.00;00:00:00,000 -redundancy = 0 -ui = 1 -para = 1 -dde = 5 -event = 1 -api = 80 -excelreport = 5 -http = 0 -infoserver = 1000 -ios = 4000 -comcenter = 5 -maintenance = 1 -scheduler = 1 -ssi = 0 -s7 = 1 -recipe = 1 -distributed = 255 -ultralight = 1 -mobile_app = 1 -s7plus = 8 -uifix = 0 -parafix = 0 -pararemote = 0 -ctrlext = 1 -update = 0 -licenseMax = 100 -licenseLeft = 100 +code = "dongleHost 40215168481" +version = 31600002 +sn = "471_3031_Astron_Station_5" +expire = 0000.00.00;00:00:00,000 +redundancy = 0 +ui = 1 +para = 1 +dde = 5 +event = 1 +ios = 4000 +ssi = 0 +api = 80 +excelreport = 5 +http = 0 +infoserver = 1000 +comcenter = 5 +maintenance = 1 +scheduler = 1 +s7 = 1 +recipe = 1 +distributed = 255 +ultralight = 1 +mobile_app = 1 +s7plus = 8 +uifix = 0 +parafix = 0 +pararemote = 0 +ctrlext = 1 +update = 0 +licenseMax = 100 +licenseLeft = 99 diff --git a/MAC/Deployment/data/PVSS/License/LV614C_option.txt b/MAC/Deployment/data/PVSS/License/LV614C_option.txt new file mode 100644 index 0000000000000000000000000000000000000000..91bb46fef907b5bbafc91197df46020cce5d390f --- /dev/null +++ b/MAC/Deployment/data/PVSS/License/LV614C_option.txt @@ -0,0 +1,32 @@ +[license] +code = "LV614C 33179529551" +version = 31400002 +comment = "European Station LV614" +sn = "471_3031_2_Astron_Gen_II_1_38" +expire = 0000.00.00;00:00:00,000 +redundancy = 0 +ui = 1 +para = 1 +dde = 5 +event = 1 +api = 80 +excelreport = 5 +http = 0 +infoserver = 1000 +ios = 4000 +comcenter = 5 +maintenance = 1 +scheduler = 1 +ssi = 0 +s7 = 1 +recipe = 1 +distributed = 255 +ultralight = 1 +mobile_app = 1 +uifix = 0 +parafix = 0 +pararemote = 0 +ctrlext = 1 +update = 0 + + diff --git a/MAC/Deployment/data/PVSS/License/shield.LV614C.txt b/MAC/Deployment/data/PVSS/License/shield.LV614C.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2584092b95fdbd6e41fd3d5d17a83097777fc92 --- /dev/null +++ b/MAC/Deployment/data/PVSS/License/shield.LV614C.txt @@ -0,0 +1,32 @@ +[license] +code = "LV614C 50455775608" +version = 31400002 +sn = "471_3031_Astron_Station_5/1" +date = 2019.09.02;10:21:13,000 +comment = "European Station LV614" +expire = 0000.00.00;00:00:00,000 +redundancy = 0 +ui = 1 +para = 1 +dde = 5 +event = 1 +ios = 4000 +ssi = 0 +api = 80 +excelreport = 5 +http = 0 +infoserver = 1000 +comcenter = 5 +maintenance = 1 +scheduler = 1 +s7 = 1 +recipe = 1 +distributed = 255 +ultralight = 1 +mobile_app = 1 +uifix = 0 +parafix = 0 +pararemote = 0 +ctrlext = 1 +update = 0 + diff --git a/MAC/Deployment/data/StaticMetaData/RSPImage.conf b/MAC/Deployment/data/StaticMetaData/RSPImage.conf index 0109608db327635e838aa5a4565be49cdc902b47..7d8194aa3459e37334d9c567dd836e7b5818477d 100644 --- a/MAC/Deployment/data/StaticMetaData/RSPImage.conf +++ b/MAC/Deployment/data/StaticMetaData/RSPImage.conf @@ -59,4 +59,4 @@ PL610 4 PL611 4 PL612 4 IE613 4 -LV616 4 +LV614 4 diff --git a/MAC/Deployment/data/StaticMetaData/StationInfo.dat b/MAC/Deployment/data/StaticMetaData/StationInfo.dat index c35d2b0665a7aff694aba32216ffd17df2494675..ceb4270bf82d1380403f60c9b50b66012beb5ee4 100644 --- a/MAC/Deployment/data/StaticMetaData/StationInfo.dat +++ b/MAC/Deployment/data/StaticMetaData/StationInfo.dat @@ -129,7 +129,7 @@ PL612 213 E 20.5897506 53.5939042 178.38 24 12 96 96 # Birr IE613 214 E -7.9213656 53.0951167 105.99 24 12 96 96 2 No No No # Irbene -LV614 215 E 21.8549189 57.5568802 13.29 24 12 96 96 2 No No No +LV614 215 E 21.8558311 57.5570617 42.58 24 12 96 96 2 No No No ## Non-ILT international ## 900