import os from subprocess import call from sfa.util.rspecHelper import RSpec class SfaData: authority = "plc.princeton" user = "plc.princeton.acb" slice = "plc.princeton.iias" def __init__(self): self.registry = None self.slicemgr = None def getAuthority(self): return SfaData.authority def getUser(self): return SfaData.user def setUser(self, user): SfaData.user = user # Should probably get authority from user record instead... a = SfaData.user.split('.') SfaData.authority = '.'.join(a[:len(a)-1]) def getSlice(self): return SfaData.slice def setSlice(self, slice): SfaData.slice = slice def getRecord(self): pass def getRSpec(self): slice = self.getSlice() call(["sfi.py", "-u", self.getUser(), "-a", self.getAuthority(), "-r", self.registry, "-s", self.slicemgr, "resources", "-o", slice, slice]) filename = os.path.expanduser("~/.sfi/" + slice + ".rspec") f = open(filename, "r") xml = f.read() f.close() return xml class ViniData(SfaData): def __init__(self): SfaData.__init__(self) self.registry = "http://www.planet-lab.org:12345" self.slicemgr = "http://www.vini-veritas.net:12346" def getRSpec(self): xml = SfaData.getRSpec(self) return RSpec(xml) class PlanetLabData(SfaData): def __init__(self): SfaData.__init__(self) self.registry = "http://www.planet-lab.org:12345" self.slicemgr = "http://www.planet-lab.org:12346" def getRSpec(self): xml = SfaData.getRSpec(self) return RSpec(xml) class OpenCirrusData(SfaData): def __init__(self): SfaData.__init__(self) self.registry = "http://www.planet-lab.org:12345" self.slicemgr = "http://www.planet-lab.org:12346"