class TestVolServiceMethods(unittest.TestCase): """ Tests VolService Methods """ def setUp(self): """ setup token and VolService """ self.TestCfg=ConfigParser() self.TestCfg.read(options.setup) self.Cell=self.TestCfg.get("general", "Cell") afs.defaultConfig.AFSCell=self.Cell self.User=self.TestCfg.get("general", "User") self.Pass=self.TestCfg.get("general", "Pass") self.volMng = VolService() self.VolID=int(self.TestCfg.get("VolService", "VolID")) self.VolName=self.TestCfg.get("VolService", "VolName") self.FS=self.TestCfg.get("VolService", "FS") self.Part=self.TestCfg.get("VolService", "Part") if afs.defaultConfig.DB_CACHE : from sqlalchemy.orm import sessionmaker self.DbSession= sessionmaker(bind=afs.defaultConfig.DB_ENGINE) return def test_getVolbyName(self) : vol = self.volMng.getVolume(self.VolName, self.FS, self.Part) self.assertEqual(vol.vid, self.VolID) self.assertEqual(vol.serv, self.FS) self.assertEqual(vol.part, self.Part) return
def setUp(self): """ setup token and VolService """ self.TestCfg=ConfigParser() self.TestCfg.read(options.setup) self.Cell=self.TestCfg.get("general", "Cell") afs.defaultConfig.AFSCell=self.Cell self.User=self.TestCfg.get("general", "User") self.Pass=self.TestCfg.get("general", "Pass") self.volMng = VolService() self.VolID=int(self.TestCfg.get("VolService", "VolID")) self.VolName=self.TestCfg.get("VolService", "VolName") self.FS=self.TestCfg.get("VolService", "FS") self.Part=self.TestCfg.get("VolService", "Part") if afs.defaultConfig.DB_CACHE : from sqlalchemy.orm import sessionmaker self.DbSession= sessionmaker(bind=afs.defaultConfig.DB_ENGINE) return
#!/usr/bin/env python # # Copyright 2010 Manfred Furuholmen # # from afs.service.VolService import VolService from afs.model.Token import Token if __name__ == "__main__": token = Token("foo", "foo", "ipp-garching.mpg.de") volMng = VolService(token) vol = volMng.getVolByName("536985802") print "Volume ---" print vol print "------" print "All volume from cell" vols = volMng.loadVol() for vol in vols: print vol
#!/usr/bin/env python import sys sys.path.append("..") from afs.util.AfsConfig import setupDefaultConfig from afs.service.VolService import VolService import afs setupDefaultConfig() afs.defaultConfig.CELL_NAME="ipp-garching.mpg.de" volMng = VolService() VolName="root.cell" VolG=volMng.getVolGroup(VolName) print "Volume Group: %s " %VolG for v in VolG.RO : vol=volMng.getVolume(v["id"],v["serv"],v["part"]) print "RO-Volume id=%s, server=%s,paritions=%s: %s " % (v["id"],v["serv"],v["part"], vol)
from afs.util.afsutil import parseHumanWriteableSize from afs.service.VolService import VolService from afs.model.Volume import Volume from afs.lla.VolumeLLA import VolumeLLA from afs.lla.VLDbLLA import VLDbLLA from afs.lla.FileSystemLLA import FileSystemLLA myParser = argparse.ArgumentParser( parents=[afs.argParser], description="nuke a volume. Remove RW and all ROs", add_help=False ) myParser.add_argument("--volname", dest="VolumeName", required=True, help="Name of Volume") parseDefaultConfig(myParser) VD = VolumeLLA() VS = VolService() try: VolGroup = VS.getVolGroup(afs.defaultConfig.VolumeName) except: print "Cannot get Volume group for %s. Are you sure it exists?" % afs.defaultConfig.VolumeName sys.exit(2) print "Removing volume %s on following sites:" % afs.defaultConfig.VolumeName print afs.defaultConfig.VolumeName, VolGroup["RW"][0].servername, VolGroup["RW"][0].part for v in VolGroup["RO"]: print v.servername, v.part