In [1]:
import findspark
findspark.init()
from pyspark import SparkContext
from pyspark import SparkConf
from pyspark.sql import SparkSession
from pyspark.sql import SQLContext
from pyspark.sql.types import *
from pyspark_dist_explore import hist
import matplotlib.pyplot as plt
import numpy as np
from collections import Counter
from datetime import datetime
import time
import re
import os
from ipaddress import ip_address
from urllib.parse import urlparse
import json
import isodate
from dateutil import parser
from dateutil import tz
from pyspark.sql.types import StructField, StructType, StringType
from pyspark.sql import Row
from pyspark.sql import functions as pyspark_function
from urllib.request import urlopen
import subprocess
import psycopg2
import os.path
from os import path
In [2]:
from collections import Counter
import psycopg2

def gpfs2pnfs(gpfs_path = '') :
    path = '/pnfs/desy.de/petra3/archive'
    for part in gpfs_path.split('/')[4:]:
        path = path + "/" + part
    
    return path

class namespaceLookUp:
    """Map Namespace entries to dCache internal information"""
    # Constructor
    def __init__( self, dbhost = '', dbname = 'chimera', dbuser = 'postgres' ) :
        self.dbhost = dbhost
        self.dbuser = dbuser
        self.dbname = dbname
        try:
            self.conn_chimera = psycopg2.connect("dbname='%s' user='%s' host='%s' password=''" % ( self.dbname, self.dbuser, self.dbhost ) )
        except:
            print( "I am unable to connect to the database" )

    def getMinInumber( self ):
        self.__minInumber__()
        return self.minInumber
    
    def getMaxInumber( self ):
        self.__maxInumber__()
        return self.maxInumber

    def getPNFSID( self, path = '' ) :
        query  = "SELECT path2inode('000000000000000000000000000000000000','%s');" % ( self.__preparePath__(path) )
        result = self.__db_query__ ( query = query )
        return result[0][0]

    def getINUMBER( self, path = '' ) :
        query  = "SELECT path2inumber({},'{}');".format( self.__rootInumber__(), self.__preparePath__(path) )
        result = self.__db_query__ ( query = query )
        return result[0][0]

    def getPATH( self, pnfsid = ''):
        query  = "SELECT inode2path('{}')".format(pnfsid)
        result = self.__db_query__ ( query = query )
        return result[0][0]

    def getListOfPATHs( self ) :
        paths = [ entry[0] for entry in self.uniqueIDs]
        return paths

    def getListOfPNFSIDs( self ) :
        pnfsids = [ entry[1] for entry in self.uniqueIDs]
        return pnfsids

    def getListOfINUMBERs( self ) :
        inumbers = [ entry[2] for entry in self.uniqueIDs]
        return inumbers

    def getMapPATHandPNFSID( self, order = 'default' ) :
        mapPATHandPNFSID = {}
        for path, pnfsid, inumber in self.uniqueIDs :
            true_path =  "/{}".format(path)

            if order == 'default'  :
                mapPATHandPNFSID[true_path] = pnfsid;

            if order == 'reversed' :
                mapPATHandPNFSID[pnfsid] = true_path;

            if order != 'default' and order != 'reversed' :
                raise "Incorrect ordering scheme"

        return mapPATHandPNFSID

    def getIdentifierTuple(self, order='default'):
        if order == 'default' :
            return self.uniqueIDs
        else:
            return [()]
    
    def setPathList( self, paths = [] ) :
        self.db_paths = [ self.__preparePath__(path) for path in paths ]
        self.__path2UniqueIDs__()

    def setPNFSidList( self, pnfsids = [] ) :
        self.db_pnfsids = pnfsids
        self.__UniqueID2Path__()

    def setInumberList( self, inumbers = [] ) :
        self.db_inumbers = inumbers
        self.__Inumber2Path__()
        
    def __path2UniqueIDs__( self ) :
        pathList = "(VALUES('" + "'),('".join(map(str, self.db_paths)) + "')) as t (path)"
        query =  "SELECT path,path2inode('000000000000000000000000000000000000',path),path2inumber({},path) from {} ".format ( self.__rootInumber__(), pathList )
        try :
            #print( "Beginning to convert into native dCache IDs" )
            self.uniqueIDs = self.__db_query__ ( query = query )
            result = True
        except:
            print( "Database query unsuccessful" )
            result = False
            pass
        return result

    def __UniqueID2Path__( self ) :
        pnfsList = "(VALUES('" + "'),('".join(map(str, self.db_pnfsids)) + "')) as t (pnfsid)"
        query =  "SELECT inode2path(pnfsid),pnfsid,pnfsid2inumber(pnfsid) from {} ".format ( pnfsList )
        try :
            #print( "Beginning to convert native dCache IDs to paths" )
            self.uniqueIDs = self.__db_query__ ( query = query )
            result = True
        except:
            print( "Database query unsuccessful" )
            result = False
            pass
        return result
    
    def __Inumber2Path__( self ) :
        inumberList = "(VALUES(" + "),(".join(map(str, self.db_inumbers)) + ")) as t (inumber)"
#         print(inumberList)
        query =  "SELECT inumber2path(inumber),inumber2pnfsid(inumber),inumber from {} ".format ( inumberList )
        try :
            #print( "Beginning to convert native dCache IDs to paths" )
            self.uniqueIDs = self.__db_query__ ( query = query )
            result = True
        except:
            print( "Database query unsuccessful" )
            result = False
            pass
        return result

    def __rootInumber__( self ):
        query        = "SELECT pnfsid2inumber('000000000000000000000000000000000000');"
        return self.__db_query__ ( query = query )[0][0]

    def __minInumber__( self ):
        query = "SELECT inumber FROM t_inodes ORDER by inumber ASC limit 1;"
        self.minInumber = self.__db_query__ ( query = query )[0][0]

    def __maxInumber__( self ):
        query = "SELECT inumber FROM t_inodes ORDER by inumber DESC limit 1;"
        self.maxInumber = self.__db_query__ ( query = query )[0][0]
    
    def __db_query__ ( self, query = '') :
        try :
            cursor = self.conn_chimera.cursor()
        except:
            print( "Database connection unsuccessful" )

        cursor.execute(query)
        table = cursor.fetchall()
        return table

    def __preparePath__( self, path ) :
        if path.startswith('/') :
            return path[1:]
        else :
            return path
In [3]:
sc_conf = SparkConf().setMaster('spark://naf-it01.desy.de:3000')\
                     .setAppName('dot-postgres-analysis')\
                     .set('spark.num.executors','6')\
                     .set('spark.executor.cores','30')\
                     .set('spark.executor.memory', '120G')\
                     .set('spark.driver.maxResultSize','15G')\
                     .set('spark.scheduler.mode','FAIR')\
                     .set('spark.network.timeout','2000000s') \
                     .set('spark.executor.heartbeatInterval','1000000s') \
                     .set('spark.sql.autoBroadcastJoinThreshold', -1)
                     #.set('spark.cores.max',10)
sc = SparkContext(conf = sc_conf)
sqlContext = SQLContext(sc)
sqlContext.clearCache()
Fields = {}
In [4]:
dcache_instance = 'xfel'
In [5]:
user    = 'archiver'
db_host = 'dcache-db-xfel'
low_inumber = 3
up_inumber = 347767090
In [6]:
ns_lookup = namespaceLookUp(dbhost=db_host, dbuser = user)
low_inumber = ns_lookup.getMinInumber()
up_inumber = ns_lookup.getMaxInumber()
In [7]:
t_locationinfo = sqlContext.read.format("jdbc")\
  .option("driver", "org.postgresql.Driver")\
  .option("url", "jdbc:postgresql://{}/chimera".format(db_host))\
  .option("dbtable", "t_locationinfo")\
  .option("user", user)\
  .option("password", "")\
  .option("numPartitions",6)\
  .option("partitionColumn", "inumber")\
  .option("lowerBound", low_inumber)\
  .option("upperBound",up_inumber)\
  .load()
In [8]:
t_inodes = sqlContext.read.format("jdbc")\
  .option("driver", "org.postgresql.Driver")\
  .option("url", "jdbc:postgresql://{}/chimera".format(db_host))\
  .option("dbtable", "t_inodes")\
  .option("user", user)\
  .option("password", "")\
  .option("numPartitions",6)\
  .option("partitionColumn", "inumber")\
  .option("lowerBound", low_inumber)\
  .option("upperBound",up_inumber)\
  .load()
In [9]:
df_inodes = t_inodes.select("ipnfsid","inumber").where("itype=32768")
In [10]:
cta_user    = 'postgres'
cta_db_host = 'cta-db01'
In [11]:
t_archiveid = sqlContext.read.format("jdbc")\
  .option("driver", "org.postgresql.Driver")\
  .option("url", "jdbc:postgresql://{}/ctadb".format(cta_db_host))\
  .option("dbtable", "archive_file")\
  .option("user", cta_user)\
  .option("password", "")\
  .load()
In [12]:
t_tape = sqlContext.read.format("jdbc")\
  .option("driver", "org.postgresql.Driver")\
  .option("url", "jdbc:postgresql://{}/ctadb".format(cta_db_host))\
  .option("dbtable", "tape_file")\
  .option("user", cta_user)\
  .option("password", "")\
  .load()
In [13]:
df_dcache = t_locationinfo.join(df_inodes, t_locationinfo.inumber == df_inodes.inumber,how='fullouter')
In [14]:
df_dcache.select("ipnfsid","ilocation").where("ilocation like 'cta://%'").show(2,False)
+------------------------------------+------------------------------------------------------------+
|ipnfsid                             |ilocation                                                   |
+------------------------------------+------------------------------------------------------------+
|00009B63B70384B94E0D973CBB79D5DA7518|cta://cta/00009B63B70384B94E0D973CBB79D5DA7518?archiveid=22 |
|00002ECE9D0EF52B4720A66D30290BBE5A1A|cta://cta/00002ECE9D0EF52B4720A66D30290BBE5A1A?archiveid=643|
+------------------------------------+------------------------------------------------------------+
only showing top 2 rows

In [15]:
split_location = pyspark_function.split(t_locationinfo.ilocation, '[?/=]')
In [16]:
df_location = df_dcache.select("ipnfsid","ictime", split_location.getItem(3).alias('cta_disk_file_id'),\
                                split_location.getItem(5).alias('archive_id')).where("ilocation like 'cta://%'")
In [17]:
df_dCache = df_location.select('*').where("archive_id!='null'")
df_dCache.cache()
df_dCache.show(2,False)
+------------------------------------+-----------------------+------------------------------------+----------+
|ipnfsid                             |ictime                 |cta_disk_file_id                    |archive_id|
+------------------------------------+-----------------------+------------------------------------+----------+
|00009B63B70384B94E0D973CBB79D5DA7518|2022-04-04 11:25:43.835|00009B63B70384B94E0D973CBB79D5DA7518|22        |
|00002ECE9D0EF52B4720A66D30290BBE5A1A|2022-04-11 19:06:33.57 |00002ECE9D0EF52B4720A66D30290BBE5A1A|643       |
+------------------------------------+-----------------------+------------------------------------+----------+
only showing top 2 rows

In [18]:
df_cta_inv = t_archiveid.select(t_archiveid.archive_file_id.alias("cta_id"), "disk_file_id")
df_cta_inv.show(2,False)
+------+------------------------------------+
|cta_id|disk_file_id                        |
+------+------------------------------------+
|234261|0000698D329E4EB245DBA5AE45DA2B6BACB4|
|242080|00006219DA25697C49439A30C8053EBBE000|
+------+------------------------------------+
only showing top 2 rows

In [19]:
df_vol = t_tape.select("vid","archive_file_id")
df_vol.show(2,False)
+------+---------------+
|vid   |archive_file_id|
+------+---------------+
|J01395|21             |
|J01395|22             |
+------+---------------+
only showing top 2 rows

In [20]:
df_cta = df_cta_inv.join(df_vol, df_cta_inv.cta_id == df_vol.archive_file_id,how='fullouter')
df_cta.show(2,False)
+------+------------------------------------+------+---------------+
|cta_id|disk_file_id                        |vid   |archive_file_id|
+------+------------------------------------+------+---------------+
|189   |0000C5BB9C6F29924BF2A4E081B4F5587194|J01395|189            |
|215   |000055F874D99CD7453FB2602C0B49CB249E|J01393|215            |
+------+------------------------------------+------+---------------+
only showing top 2 rows

In [21]:
df_dot = df_dCache.join(df_cta, df_cta.cta_id == df_dCache.archive_id,how='fullouter')
In [22]:
columns = ['ipnfsid', 'archive_id', 'cta_id']

df_null_volume = df_dot.select(*columns).where("cta_id is null")
df_null_volume.show(5,False)
n_void_files = df_null_volume.count()
print("Found void files: {}".format(n_void_files))
+------------------------------------+----------+------+
|ipnfsid                             |archive_id|cta_id|
+------------------------------------+----------+------+
|0000BC6D9ADB0C9646AC8BF2ADBF5116DD40|4691052   |null  |
|00009E7916032D20449896F25F1953F79169|5034360   |null  |
|0000BB01FD171C254A34835AA7A1F9F0DCF2|5013540   |null  |
|00000D6CDF3BFD8B464E962AC42098CD7EE9|5013598   |null  |
|0000B30507B4B2A746BEB96A5AF56DBA7073|5017351   |null  |
+------------------------------------+----------+------+
only showing top 5 rows

Found void files: 146
In [23]:
ipnfsid_list = df_null_volume.select("ipnfsid").rdd.map(lambda row: row[0]).collect()
In [24]:
df_void = df_dot.filter(df_dCache.ipnfsid.isin(ipnfsid_list))
In [25]:
df_additional_location = df_void.select(*columns).where("vid is not null")
df_additional_location.show(n_void_files,False)
ipnfs_id_additional_location = df_additional_location.select("ipnfsid").rdd.map(lambda row: row[0]).collect()
+------------------------------------+----------+-------+
|ipnfsid                             |archive_id|cta_id |
+------------------------------------+----------+-------+
|0000BC6D9ADB0C9646AC8BF2ADBF5116DD40|4703292   |4703292|
|000056804EA74A6247898A5DE0653352732B|4703312   |4703312|
|0000210CCA1693ED409A92800431CF909E8B|4703180   |4703180|
+------------------------------------+----------+-------+

In [26]:
ipnfs_id_additional_location
Out[26]:
['0000BC6D9ADB0C9646AC8BF2ADBF5116DD40',
 '000056804EA74A6247898A5DE0653352732B',
 '0000210CCA1693ED409A92800431CF909E8B']
In [28]:
ipnfsid_true_void_list = df_void.where("vid is null").filter(~df_void.ipnfsid.isin(ipnfs_id_additional_location))\
                                .select("ipnfsid").rdd.map(lambda row: row[0]).collect()
In [29]:
print("Number of true void files: {}".format(len(ipnfsid_true_void_list)))
Number of true void files: 143
In [37]:
df_location.filter(df_location.ipnfsid.isin(ipnfsid_true_void_list)).select("ipnfsid","ictime").orderBy("ictime").show(100,False)
+------------------------------------+--------------------------+
|ipnfsid                             |ictime                    |
+------------------------------------+--------------------------+
|0000AE5E8FAAFE2F4072BC37B747987CE0BC|2023-07-18 13:48:52.482005|
|0000950A4B691FB641CAAF41E9992A5E3B01|2023-07-18 13:48:52.482005|
|0000DB7E842A1AD04F0BB65C33ADFB37B21F|2023-07-18 13:48:52.482005|
|0000571CE050408040B3BA6C16694D314983|2023-07-18 13:48:52.482005|
|000087B17D366E45441EBF94EA3AA51ABA20|2023-07-18 13:48:52.482005|
|0000A06C62BA8A1847F4AF3A8898FAC6BCE6|2023-08-15 00:12:43.579   |
|0000FAFB8B305FE54604A0E7CB037A38E848|2023-08-15 16:04:23.936   |
|00001FC3AFE646884FBB8F85F085DD1B03B3|2023-08-15 16:04:23.938   |
|0000D316B493A3314344949D22A334B31A41|2023-08-15 16:04:23.948   |
|000087B6FED1FF2C49C680F79572AF14E5A1|2023-08-15 16:04:33.219   |
|0000072ADFD10E024CE4A91A933AA4060816|2023-08-15 16:05:18.806   |
|0000FD724516802D44C69006217F90C7A090|2023-08-15 16:05:18.807   |
|0000564E86BD336E4C1AB937F05787D337B5|2023-08-15 16:05:18.826   |
|0000803EBBAFC89C47008294D38A1D532901|2023-08-15 16:05:46.283   |
|000039AF2341121F4280912D556C1DAD3CEB|2023-08-15 16:05:46.298   |
|0000FD169DBCA50840CA97FE8E86254C86F6|2023-08-15 16:05:46.299   |
|0000B69C363AA8014CAE82B1726082E0F810|2023-08-15 16:05:55.604   |
|000051103C7F0A8D46F4954159C7FBD995CD|2023-08-15 16:06:23.023   |
|00001C5C70329E2243D1A749C2BFCF06B052|2023-08-15 16:07:08.567   |
|00009DE7282042294DE5A19FEF0947A270C1|2023-08-15 16:07:08.594   |
|0000A868809B73E2418FA4CC99CEBFF9D4D8|2023-08-15 16:07:17.848   |
|0000662B224360584F0EA9BCD112F6492036|2023-08-15 16:07:45.289   |
|00007FC4A52AD2FB4ADDA31D79027E8F52F3|2023-08-15 16:08:21.798   |
|0000442338462941453A9233148388B6A7CC|2023-08-15 16:10:10.959   |
|000018F2E44E8B974BE7A19AD3935CF5F27C|2023-08-15 16:10:10.973   |
|0000A2255DAACA284AD69EE0B0223719338F|2023-08-15 16:10:56.566   |
|0000DBD33F3C16C9469A872CA65A5C947CF8|2023-08-15 16:10:56.573   |
|000042546DD765754B67A138ED8A6F1A3848|2023-08-15 16:11:33.087   |
|000088BB04D0F32E4F899E1011F7040DF5B8|2023-08-15 16:11:33.101   |
|0000F13B73B32A8542349CEFF255E197AFF2|2023-08-15 16:12:18.641   |
|00007C93CF3CB5364CE3A6BBFFE52D3C5864|2023-08-15 16:12:18.644   |
|0000A4D948C827D9410E9114898D85BD055B|2023-08-15 16:12:27.908   |
|00000A4D7E7BAFFE4A9DADAA1C15C287C9E3|2023-08-15 16:12:27.918   |
|0000CCE40928DDC94582BEA33F53BBEF6D0F|2023-08-15 16:13:13.471   |
|0000A397436D51874E18B2AC154531D8599B|2023-08-15 16:13:13.479   |
|000028AE716D7DE8410AAC0ADB960EF6C533|2023-08-15 16:13:59.065   |
|0000F9BE39E6716040229C477ECD38B27496|2023-08-15 16:13:59.067   |
|000010CD95E1A4BF43BEA9ACC209B843D581|2023-08-15 16:13:59.076   |
|0000BB01FD171C254A34835AA7A1F9F0DCF2|2023-08-15 16:13:59.239   |
|000067DF641A95DE461D89046744B50960E0|2023-08-15 16:14:44.826   |
|0000FD259D024C644179B4DCDEC60F3CF601|2023-08-15 16:14:44.998   |
|0000EF93330404F1435EA720E3E2D4A46692|2023-08-15 16:14:45.005   |
|0000E2BC20980B7746EEB078DA36333D4361|2023-08-15 16:15:21.488   |
|00000D6CDF3BFD8B464E962AC42098CD7EE9|2023-08-15 16:15:57.982   |
|00007917D07572DB47E6B7C6C04D80F0D1D1|2023-08-15 16:15:57.992   |
|0000F42158DB0FA943EFA01B56BA16FAE399|2023-08-15 16:15:58.163   |
|000089A55E23301447A98105D43F0FCC13C5|2023-08-15 16:16:34.633   |
|000096B41E7805C04756A7454C304C875478|2023-08-15 16:16:34.812   |
|00009A5E071EFAD64E2C8864C08DC1B2D440|2023-08-15 16:17:47.599   |
|0000ECDA73FECB2A4D17B7BA5517FAA8ECB7|2023-08-15 16:17:47.599   |
|00005BF16C68EEF04847B51C06556676D387|2023-08-15 16:19:00.399   |
|000039D51DA5D9A84EFFA3A7BBEA45E76A78|2023-08-15 16:19:45.938   |
|00007D5D34378F174325BFD6C5BD99CB818D|2023-08-15 16:19:45.938   |
|0000B9E27831C76448949391C4A8530E8B9C|2023-08-15 16:20:22.437   |
|0000F4132C53C35E4B40816F6AE12AA45782|2023-08-15 16:20:22.448   |
|0000E3627832DF81494698F7A660F815E86E|2023-08-15 16:21:08.003   |
|00001D75291DDA7E4A8D83C7F422F9E468BD|2023-08-15 16:21:08.012   |
|00002F69679692F843A492C1F53E160DBBE2|2023-08-15 16:21:08.018   |
|0000E163BB5BF82F47D499D21E5FD7B6058A|2023-08-15 16:22:02.654   |
|0000E649CE73EC6847B8B14F5CA6805A0014|2023-08-15 16:22:02.67    |
|00009172E558F3B74E76A680E0156EE35CEB|2023-08-15 16:23:06.402   |
|0000B775AB896A4D46B5AB4C059B5A437842|2023-08-15 16:23:06.414   |
|000072CF76437D084DA99BE5A5E71D397C9D|2023-08-15 16:23:06.588   |
|000054C0DDF75DF944B3B3AC65846D8B41BA|2023-08-15 16:23:15.853   |
|0000384272E63B834F4193D2D73CB0CBFB30|2023-08-15 16:24:01.427   |
|000080433B98A79D41D99E900B76B1303AE8|2023-08-15 16:24:10.69    |
|00007F6A629C8DA54A1FB48A98B6427D01F1|2023-08-15 16:24:10.705   |
|0000B30507B4B2A746BEB96A5AF56DBA7073|2023-08-15 16:24:19.962   |
|0000979D5BB26ADF46FBB9A2A69C534E7C9B|2023-08-15 16:24:29.225   |
|00002915F8F132504340ADD98AC1A0F2C6F4|2023-08-15 16:24:47.565   |
|00003CCC9B2D106848B58E325270A5AF2C82|2023-08-15 16:25:33.129   |
|000089019D3F66404F11B025D405CD90FD96|2023-08-15 16:26:00.54    |
|0000D8CD73AA8F5D40A483A48D9BCED9710B|2023-08-15 16:26:46.066   |
|00003B62350A732746CE9941F137334C5207|2023-08-15 16:27:13.468   |
|0000504C592BE5B342D4A27ED47B7761D9E1|2023-08-15 16:27:13.478   |
|00005654B3761AFE4D3A8FEF4384B7B0B21D|2023-08-15 16:27:22.75    |
|000081EB39CBED2B42A4A0DDF046C235C201|2023-08-15 16:27:22.755   |
|00000094B350BF674B9F81A08E5146C86F30|2023-08-15 16:27:22.766   |
|00006646DED432B94E64BDF9BEDB57AF1CA8|2023-08-15 16:27:50.193   |
|000057C274B7C9A84D12ACC47DB40A62C6AE|2023-08-15 16:27:50.202   |
|0000F4542B996C504BA3AFA8727D94122602|2023-08-15 16:28:53.925   |
|00005EE4F45CBB5F4D5FAE6EDA4D33C431DE|2023-08-15 16:28:53.927   |
|0000FEB7BF1D74164650A0470251872F23FB|2023-08-15 16:28:53.931   |
|0000212CFCA8D97F4683AD5D421BF6EC936C|2023-08-15 16:28:53.938   |
|00005915598311F74354B5FAD2702D825C6D|2023-08-15 16:30:06.78    |
|0000B738281BF24D4D3EBC0A046103FA91F6|2023-08-15 16:30:06.79    |
|0000A0BA62AB4BC24D2E8AD579C4ACD34DB7|2023-08-15 16:31:19.588   |
|0000BFD0897AEDAF48BCA447D14AFE7B78C0|2023-08-15 16:31:19.594   |
|00003A7491B4310A42339CB7DE4E6AC7ABED|2023-08-15 16:31:37.952   |
|0000D2C30C3F17484FF8A8E0A2DC43761299|2023-08-15 16:31:56.304   |
|000078F220B9DAC04B149A0FEF41596F5E22|2023-08-15 16:32:23.741   |
|0000B0ADFE706FA14E01A9DAF76409593550|2023-08-15 16:33:00.217   |
|00004CC123EA2F374C76880899E1EE960C94|2023-08-15 16:33:00.225   |
|00002427347B1ADD409F9DEECD2DA1C222E5|2023-08-15 16:34:13.004   |
|0000C0FA1071F152431C9BBF2BC460814F3D|2023-08-15 16:34:49.471   |
|00006DAB99E1FD11439894B2FE58987C4655|2023-08-15 16:34:49.478   |
|0000D44EB05CB492467184FC73160A230434|2023-08-15 16:35:16.894   |
|0000E96C6F0C4065469781E4E207767D837D|2023-08-15 16:35:16.895   |
|000079421E4B6E3C434EA3EB70EEB8F6B56A|2023-08-15 16:35:16.903   |
|0000D0B96A748D1B4D85A001DD1B88492D83|2023-08-15 16:35:53.384   |
+------------------------------------+--------------------------+
only showing top 100 rows


In [30]:
import importlib.util
import sys
spec = importlib.util.spec_from_file_location("connectAdminDoor", "/afs/desy.de/user/v/vossc/lib/python3.6/dot_utilities/connectAdminDoor.py")
dot_utilities = importlib.util.module_from_spec(spec)
sys.modules["connectAdminDoor"] = dot_utilities
spec.loader.exec_module(dot_utilities)
In [31]:
dcache_admin = dot_utilities.connectAdminDoor(adminHost='dcache-core-{}'.format(dcache_instance),
                                              user='vossc',
                                              path_to_private_key='/afs/desy.de/user/v/vossc/.ssh/id_rsa')

dcache_admin.openConnection()
In [ ]:
for pnfsid in ipnfsid_true_void_list :
    dcache_admin.executeOnAdmin('\sl {} rep ls {}'.format(pnfsid,pnfsid))
    rep_ls_rawout = dcache_admin.getSTDOUT()
    rep_ls_status = [s.strip('\r') for s in rep_ls_rawout if s != '\r'][1]
    print(rep_ls_status)
    00009E7916032D20449896F25F1953F79169 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000BB01FD171C254A34835AA7A1F9F0DCF2 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00000D6CDF3BFD8B464E962AC42098CD7EE9 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000B30507B4B2A746BEB96A5AF56DBA7073 <-P------X--L(0)[1]> 1275617743 si={xfel:SPB-2023}
    000075E942D8153744048DE13A260EDEEF41 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    00007E5E23DAFDA2462C9E02D252909ACDCB <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    0000A397436D51874E18B2AC154531D8599B <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000C9AD29700BF3418792054064D3F7E676 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000E3627832DF81494698F7A660F815E86E <-P------X--L(0)[1]> 1275617743 si={xfel:SPB-2023}
    0000A06C62BA8A1847F4AF3A8898FAC6BCE6 <-P------X--L(0)[1]> 201941236 si={xfel:FXE-2023}
    0000803EBBAFC89C47008294D38A1D532901 <-P------X--L(0)[1]> 1435015887 si={xfel:SPB-2023}
    0000FD724516802D44C69006217F90C7A090 <-P------X--L(0)[1]> 46224134 si={xfel:SPB-2023}
    0000F4542B996C504BA3AFA8727D94122602 <-P------X--L(0)[1]> 90669056 si={xfel:SPB-2023}
    00006EDC179B7FB14EF1920E96924C55FB89 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000D44EB05CB492467184FC73160A230434 <-P------X--L(0)[1]> 456762647 si={xfel:SPB-2023}
    0000072ADFD10E024CE4A91A933AA4060816 <-P------X--L(0)[1]> 1325953999 si={xfel:SPB-2023}
    0000F9BE39E6716040229C477ECD38B27496 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00003A82F3DEF6814D4D9AE0C2688AB16C87 <-P------X--L(0)[1]> 10807520079 si={xfel:SPB-2023}
    0000A868809B73E2418FA4CC99CEBFF9D4D8 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    000089019D3F66404F11B025D405CD90FD96 <-P------X--L(0)[1]> 3868371887 si={xfel:SPB-2023}
    0000BFD0897AEDAF48BCA447D14AFE7B78C0 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000CB60827C205B444CAE464BFECCD37110 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00004CC123EA2F374C76880899E1EE960C94 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00005EE4F45CBB5F4D5FAE6EDA4D33C431DE <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000B9E27831C76448949391C4A8530E8B9C <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00007917D07572DB47E6B7C6C04D80F0D1D1 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00009A5E071EFAD64E2C8864C08DC1B2D440 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000DC9201992DAC4FE6BAD4F2B3145F6595 <-P------X--L(0)[1]> 1000861302 si={xfel:SPB-2023}
    00006F804FCA8B2C4496A882D2E4C9834768 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000C2AF9FBD96F3495180BEC2E6AFED52F1 <-P------X--L(0)[1]> 4346583055 si={xfel:SPB-2023}
    0000C61B36669A9D49D2B1768CFD64A3F527 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000F32EF7C59B7B454BA23866292C2295C9 <-P------X--L(0)[1]> 32611828 si={xfel:SPB-2023}
    00006646DED432B94E64BDF9BEDB57AF1CA8 <-P------X--L(0)[1]> 129403268 si={xfel:SPB-2023}
    0000DBD33F3C16C9469A872CA65A5C947CF8 <-P------X--L(0)[1]> 812427412 si={xfel:SPB-2023}
    000078F220B9DAC04B149A0FEF41596F5E22 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000087B6FED1FF2C49C680F79572AF14E5A1 <-P------X--L(0)[1]> 456762647 si={xfel:SPB-2023}
    000051103C7F0A8D46F4954159C7FBD995CD <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000126353BF0E6749CC83164DA435CDFD0E <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000A2255DAACA284AD69EE0B0223719338F <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00003B62350A732746CE9941F137334C5207 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00008340555A1A5744BD96A5570EF2EA3FEC <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000087B17D366E45441EBF94EA3AA51ABA20 <-P------X--L(0)[1]> 1187441975 si={xfel:SPB-2023}
    000039AF2341121F4280912D556C1DAD3CEB <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00007D5D34378F174325BFD6C5BD99CB818D <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    00002427347B1ADD409F9DEECD2DA1C222E5 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000C0FA1071F152431C9BBF2BC460814F3D <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00002E318C346BBE4207AF4CF0355F3C0020 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000010CD95E1A4BF43BEA9ACC209B843D581 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000080433B98A79D41D99E900B76B1303AE8 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    0000F13B73B32A8542349CEFF255E197AFF2 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00000A4D7E7BAFFE4A9DADAA1C15C287C9E3 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    0000BE65B4B25D654B8D9EB3100B1CE1AC55 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    0000AFA68B34F591491A8A8C2F347C46C139 <-P------X--L(0)[1]> 7786714383 si={xfel:SPB-2023}
    0000D9590B7759A5459C856CA6AB1BAD08FC <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    000032F6194D81BE470A891CA2527B4C42A2 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    0000EF93330404F1435EA720E3E2D4A46692 <-P------X--L(0)[1]> 1000861302 si={xfel:SPB-2023}
    0000E649CE73EC6847B8B14F5CA6805A0014 <-P------X--L(0)[1]> 12216985455 si={xfel:SPB-2023}
    0000925AD2DFA1F0445B9450C7DE978B4F61 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000124DE9DE1954473F8AF2A08F80321EAB <-P------X--L(0)[1]> 162495334 si={xfel:SPB-2023}
    0000ACE6F660F9164BA984335C475B2AA145 <-P------X--L(0)[1]> 162495334 si={xfel:SPB-2023}
    00000094B350BF674B9F81A08E5146C86F30 <-P------X--L(0)[1]> 89825834 si={xfel:SPB-2023}
    0000384272E63B834F4193D2D73CB0CBFB30 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000079421E4B6E3C434EA3EB70EEB8F6B56A <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00005654B3761AFE4D3A8FEF4384B7B0B21D <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000B738281BF24D4D3EBC0A046103FA91F6 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00009172E558F3B74E76A680E0156EE35CEB <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    000081EB39CBED2B42A4A0DDF046C235C201 <-P------X--L(0)[1]> 812427412 si={xfel:SPB-2023}
    0000C65AC147B22F4651BFF2CB21E3F1CB2C <-P------X--L(0)[1]> 1493851381 si={xfel:SPB-2023}
    0000FD169DBCA50840CA97FE8E86254C86F6 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000028AE716D7DE8410AAC0ADB960EF6C533 <-P------X--L(0)[1]> 63222782 si={xfel:SPB-2023}
    000072CF76437D084DA99BE5A5E71D397C9D <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000066845BFEB72646F5AFF113FFEC8D1AAD <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000979D5BB26ADF46FBB9A2A69C534E7C9B <-P------X--L(0)[1]> 1325953999 si={xfel:SPB-2023}
    0000212CFCA8D97F4683AD5D421BF6EC936C <-P------X--L(0)[1]> 1384679631 si={xfel:SPB-2023}
    00009DE7282042294DE5A19FEF0947A270C1 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00006F6ACAE63C6845D9B7A19BD7EBE67AFD <-P------X--L(0)[1]> 160171516 si={xfel:SA3-2023}
    0000B775AB896A4D46B5AB4C059B5A437842 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00001C5C70329E2243D1A749C2BFCF06B052 <-P------X--L(0)[1]> 12216985455 si={xfel:SPB-2023}
    0000018398E904264E668053CBCEF785460F <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000442338462941453A9233148388B6A7CC <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    0000FAFB8B305FE54604A0E7CB037A38E848 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000030D28FED147A4A4E916BC778A4A98FCD <-P------X--L(0)[1]> 12158259823 si={xfel:SPB-2023}
    0000C8E28074B1284DBDBADB5582AD50C1E5 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00007C93CF3CB5364CE3A6BBFFE52D3C5864 <-P------X--L(0)[1]> 2123154831 si={xfel:SPB-2023}
    0000D0B96A748D1B4D85A001DD1B88492D83 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00007ECE997F7947419483DB103AB63EDD57 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00003A7491B4310A42339CB7DE4E6AC7ABED <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000051F1A9F0C270474CADB424840E61C808 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000D2C30C3F17484FF8A8E0A2DC43761299 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00003E6FD6A4C4594E9C9FCA47BD9300999E <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00001850203EC0264525BFB8CFA568633EAF <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00001FC3AFE646884FBB8F85F085DD1B03B3 <-P------X--L(0)[1]> 456762647 si={xfel:SPB-2023}
    00008C36A5F7E12F46FA8F9C4CB9BDC02FEB <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00007FC4A52AD2FB4ADDA31D79027E8F52F3 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000096B41E7805C04756A7454C304C875478 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00002F69679692F843A492C1F53E160DBBE2 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00001D75291DDA7E4A8D83C7F422F9E468BD <-P------X--L(0)[1]> 456762647 si={xfel:SPB-2023}
    0000E2BC20980B7746EEB078DA36333D4361 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    0000B0ADFE706FA14E01A9DAF76409593550 <-P------X--L(0)[1]> 1325953999 si={xfel:SPB-2023}
    00006DAB99E1FD11439894B2FE58987C4655 <-P------X--L(0)[1]> 162495334 si={xfel:SPB-2023}
    00008DF20A90F5B5415FB2D5C1DB99CAB58B <-P------X--L(0)[1]> 1099440847 si={xfel:SPB-2023}
    00005915598311F74354B5FAD2702D825C6D <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000950A4B691FB641CAAF41E9992A5E3B01 <-P------X--L(0)[1]> 3957876775 si={xfel:SPB-2023}
    0000FEB7BF1D74164650A0470251872F23FB <-P------X--L(0)[1]> 1275617743 si={xfel:SPB-2023}
    0000EA92A80C59D44374A2449CECC8706972 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00004625E0668E354920BCDF0F1AFF3A2209 <-P------X--L(0)[1]> 73135541 si={xfel:SPB-2023}
    0000A4D948C827D9410E9114898D85BD055B <-P------X--L(0)[1]> 812427412 si={xfel:SPB-2023}
    000067DF641A95DE461D89046744B50960E0 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000089A55E23301447A98105D43F0FCC13C5 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000571CE050408040B3BA6C16694D314983 <-P------X--L(0)[1]> 16165828 si={xfel:SPB-2023}
    000017D2FD059A574C49935DDE2E9EDEFDFD <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000AE5E8FAAFE2F4072BC37B747987CE0BC <-P------X--L(0)[1]> 16165828 si={xfel:SPB-2023}
    0000504C592BE5B342D4A27ED47B7761D9E1 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000D316B493A3314344949D22A334B31A41 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000F42158DB0FA943EFA01B56BA16FAE399 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00003CCC9B2D106848B58E325270A5AF2C82 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00004C666EF12E3C48BB9D273C93AD3A0949 <-P------X--L(0)[1]> 162495334 si={xfel:SPB-2023}
    0000D8CD73AA8F5D40A483A48D9BCED9710B <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000F4132C53C35E4B40816F6AE12AA45782 <-P------X--L(0)[1]> 162495334 si={xfel:SPB-2023}
    0000E96C6F0C4065469781E4E207767D837D <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000FD5FA5C78F204D2CA167CFB6DA40F92A <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00005BF16C68EEF04847B51C06556676D387 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    000014F5300FC2E04A178EC1883546163790 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    000057C274B7C9A84D12ACC47DB40A62C6AE <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000581C81098619478DBDF9D550A93F889F <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000E5C3DC83155249D08A076CAB503FD65A <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000A0BA62AB4BC24D2E8AD579C4ACD34DB7 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000039D51DA5D9A84EFFA3A7BBEA45E76A78 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000E163BB5BF82F47D499D21E5FD7B6058A <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    00002915F8F132504340ADD98AC1A0F2C6F4 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000662B224360584F0EA9BCD112F6492036 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000ECDA73FECB2A4D17B7BA5517FAA8ECB7 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    0000DB7E842A1AD04F0BB65C33ADFB37B21F <-P------X--L(0)[1]> 3957876775 si={xfel:SPB-2023}
    000088BB04D0F32E4F899E1011F7040DF5B8 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000023DB03B1E60C40909407518294DB2235 <-P------X--L(0)[1]> 12149870447 si={xfel:SPB-2023}
    0000FD259D024C644179B4DCDEC60F3CF601 <-P------X--L(0)[1]> 13559335823 si={xfel:SPB-2023}
    000042546DD765754B67A138ED8A6F1A3848 <-P------X--L(0)[1]> 162495334 si={xfel:SPB-2023}
    000054C0DDF75DF944B3B3AC65846D8B41BA <-P------X--L(0)[1]> 1000861302 si={xfel:SPB-2023}
In [33]:
for pnfsid in ipnfsid_true_void_list :
    dcache_admin.executeOnAdmin('\sl {} rep set precious {}'.format(pnfsid,pnfsid))
    rep_ls_rawout = dcache_admin.getSTDOUT()
    rep_ls_status = [s.strip('\r') for s in rep_ls_rawout if s != '\r']
    print(rep_ls_status)
['\x1b[1mdcache-xfel166-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel210-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel394-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel335-04\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel231-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel318-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel210-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel274-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel282-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel03-05\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel334-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel207-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel209-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel266-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel39-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel42-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel166-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel207-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel217-11\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel43-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel355-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel67-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel349-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel369-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel166-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel394-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel39-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel256-05\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel307-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel67-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel148-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel276-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel284-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel67-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel262-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel165-04\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel45-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel348-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel217-11\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel358-04\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel60-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel439-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel276-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel209-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel231-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel92-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel355-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel166-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel100-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel39-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel10-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel67-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel231-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel318-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel318-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel210-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel350-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel200-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel387-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel274-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel326-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel327-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel355-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel43-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel56-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel372-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel43-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel207-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel132-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel03-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel48-04\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel200-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel349-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel214-17\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel102-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel50-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel372-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel132-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel60-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel167-05\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel28-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel284-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel276-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel248-04\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel28-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel318-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel92-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel67-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel262-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel307-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel207-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel358-04\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel207-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel44-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel10-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel282-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel282-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel210-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel327-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel68-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel369-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel56-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel425-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel60-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel207-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel42-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel210-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel394-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel278-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel433-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel334-07\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel434-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel358-04\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel358-04\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel210-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel348-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel60-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel43-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel346-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel355-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel318-08\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel45-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel274-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel284-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel274-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel274-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel92-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel42-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel201-14\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel100-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel102-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel248-04\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel86-02\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel92-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel276-03\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel210-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel92-10\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel346-01\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel210-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel209-09\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel204-12\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel369-06\x1b[22m:\x1b[32m OK\x1b[m']
['\x1b[1mdcache-xfel100-10\x1b[22m:\x1b[32m OK\x1b[m']

In [23]:
ns_lookup = namespaceLookUp(dbhost='dcache-db-xfel', dbuser='postgres')
In [24]:
ns_lookup.setPNFSidList(ipnfsid_list)
In [25]:
ns_lookup.getListOfPATHs()
Out[25]:
['/pnfs/desy.de/exfel/archive/XFEL/raw/SCS/202331/p900374/r0004/RAW-R0004-DA02-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0063/RAW-R0063-AGIPD09-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0047/RAW-R0047-AGIPD15-S00015.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0062/RAW-R0062-AGIPD14-S00009.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0035/RAW-R0035-AGIPD01-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0120/RAW-R0120-AGIPD01-S00007.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0116/RAW-R0116-AGIPD09-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0029/RAW-R0029-AGIPD11-S00017.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SCS/202331/p900374/r0004/RAW-R0004-DA02-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0009/RAW-R0009-AGIPD04-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0067/RAW-R0067-AGIPD08-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/FXE/202331/p900390/r0240/RAW-R0240-DA03-S00006.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0086/RAW-R0086-AGIPD09-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0035/RAW-R0035-DIGICTRL00-S00006.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0038/RAW-R0038-DA01-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SCS/202331/p900374/r0004/RAW-R0004-DIGI02-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0060/RAW-R0060-AGIPD10-S00008.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0103/RAW-R0103-DIGICTRL01-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0082/RAW-R0082-AGIPD15-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0021/RAW-R0021-AGIPD14-S00002.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0124/RAW-R0124-AGIPD07-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0096/RAW-R0096-AGIPD13-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0013/RAW-R0013-AGIPD09-S00008.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0032/RAW-R0032-AGIPD09-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0045/RAW-R0045-AGIPD06-S00021.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0087/RAW-R0087-AGIPD01-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0126/RAW-R0126-AGIPD04-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0037/RAW-R0037-AGIPD03-S00006.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0084/RAW-R0084-AGIPD15-S00007.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0077/RAW-R0077-AGIPD05-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0082/RAW-R0082-DIGI01-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0066/RAW-R0066-AGIPD06-S00006.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0026/RAW-R0026-AGIPD15-S00002.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0024/RAW-R0024-AGIPD15-S00006.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0052/RAW-R0052-DA03-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0086/RAW-R0086-DA01-S00006.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0051/RAW-R0051-DIGI02-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0055/RAW-R0055-AGIPD08-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0063/RAW-R0063-DIGICTRL01-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0086/RAW-R0086-AGIPD08-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0073/RAW-R0073-AGIPD01-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0089/RAW-R0089-AGIPD11-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0042/RAW-R0042-AGIPD03-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0087/RAW-R0087-AGIPD07-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202331/p900372/r0010/RAW-R0010-GH200-S00001.h5',
 '/pnfs/desy.de/desy/cta-tests/billing-2022-01-23.json',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0050/RAW-R0050-AGIPD01-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0103/RAW-R0103-AGIPD02-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0051/RAW-R0051-AGIPD02-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0047/RAW-R0047-AGIPD11-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0089/RAW-R0089-AGIPD11-S00009.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0069/RAW-R0069-AGIPD05-S00009.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0107/RAW-R0107-AGIPD07-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0075/RAW-R0075-AGIPD11-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0096/RAW-R0096-AGIPD12-S00008.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0119/RAW-R0119-AGIPD11-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0041/RAW-R0041-AGIPD05-S00024.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0111/RAW-R0111-AGIPD12-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0113/RAW-R0113-AGIPD08-S00006.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0067/RAW-R0067-DIGI01-S00002.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0102/RAW-R0102-AGIPD12-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0029/RAW-R0029-AGIPD15-S00014.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0117/RAW-R0117-DIGICTRL00-S00003.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0110/RAW-R0110-DIGICTRL00-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0016/RAW-R0016-DIGICTRL00-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0042/RAW-R0042-AGIPD04-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0063/RAW-R0063-AGIPD13-S00007.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0086/RAW-R0086-AGIPD09-S00009.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0020/RAW-R0020-AGIPD02-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0095/RAW-R0095-AGIPD07-S00002.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0097/RAW-R0097-DIGI02-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0088/RAW-R0088-DA02-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0056/RAW-R0056-AGIPD05-S00007.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0044/RAW-R0044-DA06-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0016/RAW-R0016-AGIPD09-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0041/RAW-R0041-AGIPD06-S00009.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0075/RAW-R0075-AGIPD00-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0050/RAW-R0050-AGIPD14-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0067/RAW-R0067-AGIPD05-S00008.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SA3/202331/p900383/r0018/RAW-R0018-DA03-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0067/RAW-R0067-AGIPD06-S00006.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0106/RAW-R0106-AGIPD06-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0079/RAW-R0079-AGIPD09-S00007.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0117/RAW-R0117-AGIPD11-S00009.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0052/RAW-R0052-AGIPD03-S00003.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0117/RAW-R0117-AGIPD11-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0045/RAW-R0045-AGIPD11-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0088/RAW-R0088-AGIPD02-S00009.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0083/RAW-R0083-AGIPD11-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0078/RAW-R0078-AGIPD08-S00002.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0026/RAW-R0026-AGIPD02-S00003.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0029/RAW-R0029-AGIPD06-S00021.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0083/RAW-R0083-AGIPD00-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0054/RAW-R0054-AGIPD07-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0045/RAW-R0045-AGIPD11-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0018/RAW-R0018-DIGICTRL01-S00003.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0020/RAW-R0020-AGIPD11-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0078/RAW-R0078-AGIPD06-S00003.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0090/RAW-R0090-AGIPD00-S00007.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0063/RAW-R0063-AGIPD04-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0121/RAW-R0121-DIGICTRL01-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0114/RAW-R0114-AGIPD00-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0030/RAW-R0030-AGIPD04-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0034/RAW-R0034-DIGICTRL00-S00007.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0097/RAW-R0097-AGIPD09-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0019/RAW-R0019-AGIPD13-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202331/p900372/r0011/RAW-R0011-GH200-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0053/RAW-R0053-AGIPD03-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0085/RAW-R0085-AGIPD06-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0104/RAW-R0104-AGIPD1MCTRL00-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0081/RAW-R0081-DIGI02-S00005.h5',
 '/pnfs/desy.de/desy/cta-tests/billing-2022-01-26.json',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0074/RAW-R0074-AGIPD13-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0091/RAW-R0091-AGIPD12-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202331/p900372/r0010/RAW-R0010-GH2CTRL00-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0018/RAW-R0018-AGIPD12-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202331/p900372/r0012/RAW-R0012-GH2CTRL00-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0051/RAW-R0051-AGIPD01-S00003.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0029/RAW-R0029-AGIPD06-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0047/RAW-R0047-AGIPD13-S00014.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0069/RAW-R0069-AGIPD14-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0019/RAW-R0019-DIGICTRL00-S00003.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0054/RAW-R0054-AGIPD04-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0065/RAW-R0065-DIGICTRL00-S00002.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0063/RAW-R0063-AGIPD02-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0060/RAW-R0060-AGIPD03-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0119/RAW-R0119-AGIPD05-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0096/RAW-R0096-AGIPD10-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0067/RAW-R0067-AGIPD15-S00007.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0063/RAW-R0063-AGIPD11-S00010.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0076/RAW-R0076-AGIPD15-S00005.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0028/RAW-R0028-AGIPD15-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0073/RAW-R0073-AGIPD07-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0042/RAW-R0042-AGIPD14-S00012.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0081/RAW-R0081-AGIPD15-S00004.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0038/RAW-R0038-AGIPD05-S00006.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0021/RAW-R0021-AGIPD09-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202331/p900372/r0010/RAW-R0010-GH200-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0027/RAW-R0027-AGIPD04-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0103/RAW-R0103-AGIPD03-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0068/RAW-R0068-AGIPD02-S00011.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0017/RAW-R0017-DIGICTRL00-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0067/RAW-R0067-DIGI01-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0058/RAW-R0058-DA02-S00000.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005976/r0020/RAW-R0020-AGIPD02-S00002.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0103/RAW-R0103-AGIPD05-S00001.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0115/RAW-R0115-AGIPD08-S00003.h5',
 '/pnfs/desy.de/exfel/archive/XFEL/raw/SPB/202325/p005996/r0113/RAW-R0113-AGIPD00-S00003.h5']
In [ ]: