2 from subprocess import call
3 from sfa.util.rspecHelper import RSpec
6 authority = "plc.princeton"
7 user = "plc.princeton.acb"
8 slice = "plc.princeton.iias"
14 def getAuthority(self):
15 return SfaData.authority
20 def setUser(self, user):
23 # Should probably get authority from user record instead...
24 a = SfaData.user.split('.')
25 SfaData.authority = '.'.join(a[:len(a)-1])
30 def setSlice(self, slice):
37 slice = self.getSlice()
38 call(["sfi.py", "-u", self.getUser(), "-a", self.getAuthority(),
39 "-r", self.registry, "-s", self.slicemgr, "resources",
41 filename = os.path.expanduser("~/.sfi/" + slice + ".rspec")
42 f = open(filename, "r")
47 def applyRSpec(self, xml):
48 slice = self.getSlice()
49 filename = os.path.expanduser("~/.sfi/" + slice + ".rspec")
50 f = open(filename, "w")
53 call(["sfi.py", "-u", self.getUser(), "-a", self.getAuthority(),
54 "-r", self.registry, "-s", self.slicemgr, "create",
57 class ViniData(SfaData):
59 SfaData.__init__(self)
60 self.registry = "http://www.planet-lab.org:12345"
61 self.slicemgr = "http://www.vini-veritas.net:12346"
64 def refreshRSpec(self):
65 xml = SfaData.getRSpec(self)
66 self.rspec = RSpec(xml)
69 if self.rspec is None:
74 xml = self.rspec.toxml()
75 SfaData.applyRSpec(self, xml)
77 class PlanetLabData(SfaData):
79 SfaData.__init__(self)
80 self.registry = "http://www.planet-lab.org:12345"
81 self.slicemgr = "http://www.planet-lab.org:12346"
84 def refreshRSpec(self):
85 xml = SfaData.getRSpec(self)
86 self.rspec = RSpec(xml)
89 if self.rspec is None:
94 xml = self.rspec.toxml()
95 SfaData.applyRSpec(self, xml)
97 class OpenCirrusData(SfaData):
99 SfaData.__init__(self)
100 self.registry = "http://www.planet-lab.org:12345"
101 self.slicemgr = "http://www.planet-lab.org:12346"