Added Node selection and Sliver (attribute) configuration panels to
[sfa-gui.git] / SfaData.py
1 import os
2 from subprocess import call
3 from sfa.util.rspecHelper import RSpec
4
5 class SfaData:
6     authority = "plc.princeton"
7     user = "plc.princeton.acb"
8     slice = "plc.princeton.iias"
9
10     def __init__(self):
11         self.registry = None
12         self.slicemgr = None
13
14     def getAuthority(self):
15         return SfaData.authority
16
17     def getUser(self):
18         return SfaData.user
19
20     def setUser(self, user):
21         SfaData.user = user
22
23         # Should probably get authority from user record instead...
24         a = SfaData.user.split('.')
25         SfaData.authority = '.'.join(a[:len(a)-1])
26
27     def getSlice(self):
28         return SfaData.slice
29
30     def setSlice(self, slice):
31         SfaData.slice = slice
32
33     def getRecord(self):
34         pass
35
36     def getRSpec(self):
37         slice = self.getSlice()
38         call(["sfi.py", "-u", self.getUser(), "-a", self.getAuthority(), 
39               "-r", self.registry, "-s", self.slicemgr, "resources", 
40               "-o", slice, slice])
41         filename = os.path.expanduser("~/.sfi/" + slice + ".rspec")
42         f = open(filename, "r")
43         xml = f.read()
44         f.close()
45         return xml
46
47 class ViniData(SfaData):
48     def __init__(self):
49         SfaData.__init__(self)
50         self.registry = "http://www.planet-lab.org:12345"
51         self.slicemgr = "http://www.vini-veritas.net:12346"
52
53     def getRSpec(self):
54         xml = SfaData.getRSpec(self)
55         return RSpec(xml)
56
57 class PlanetLabData(SfaData):
58     def __init__(self):
59         SfaData.__init__(self)
60         self.registry = "http://www.planet-lab.org:12345"
61         self.slicemgr = "http://www.planet-lab.org:12346"
62
63     def getRSpec(self):
64         xml = SfaData.getRSpec(self)
65         return RSpec(xml)
66
67 class OpenCirrusData(SfaData):
68     def __init__(self):
69         SfaData.__init__(self)
70         self.registry = "http://www.planet-lab.org:12345"
71         self.slicemgr = "http://www.planet-lab.org:12346"
72