3 from serviceScript import *
10 if self.value == None:
21 if self.id_dev == None:
22 return "It's a new Device"
24 return "Device "+self.id_dev+" --> "+self.ip
34 self.hostType = String()
37 if len(self.devices) == 0:
38 return "It's a new Host"
40 return "Host "+str(self.id_host)+" on "+str(self.url)+" has "+str(len(self.devices))+" device(s)"
44 if len(self.hosts) == 0:
45 return "It's a new Slice"
47 return "Slice "+str(self.slice_name)+" contain "+str(len(self.hosts))+" host(s)"
50 self.slice_name = String()
55 self.slice_name = None
59 self.bridge_name = None
62 return str(self.slice_name)+"@"+str(self.url)+"->"+str(self.bridge_name)
70 return " "+str(self.host1)+" <===> "+str(self.host2)
73 def __init__(self, slice_name, host_url, ssh, host_id):
74 self.slice_name = slice_name
75 self.host_url = host_url
77 self.host_id = host_id
83 if self.slice_name == None:
86 return " On "+str(self.slice_name)+"@"+str(self.host_url)+" add "+self.subnet+" gw "+self.gateway+" dev "+self.device
89 execute("sudo -S sh -c \"echo \\\"add "+self.subnet+" gw "+self.gateway+" "+self.device+"\\\" > /vsys/vroute.in\"", self.host_ssh, display = True)
92 def __init__(self, slice_name, url, ssh):
93 self.slice_name = slice_name
99 if len(self.services) == 0:
102 retour = " On "+str(self.slice_name)+"@"+str(self.host_url)+" set:"
103 for service, port in self.services:
105 retour += "\n\t"+service+" on port "+port
107 retour += "\n\t"+service
110 def setService(self):
111 print "\tOn "+str(self.slice_name)+"@"+str(self.host_url)+" now setting :"
112 for i in range(len(self.services)):
113 if self.services[i][0] == "x11":
114 setXRedirect(self.host_ssh)
115 elif self.services[i][0] == "httpd":
117 self.services[i][1] = setHttpd(self.host_ssh, port, self.host_url)
119 print "Error you didn't specified the port used by httpd"
120 elif self.services[i][0] == "wireshark":
121 setWireshark(self.host_ssh)
122 elif self.services[i][0] == "firefox":
123 setFirefox(self.host_ssh)
124 elif self.services[i][0] == "php" or self.services[i][0] == 'PHP':
125 setPHP(self.host_ssh)
127 print "The service "+service+" is not available"
129 def removeService(self):
130 for service, port in self.services:
132 removeXRedirect(self.host_ssh)
133 elif service == "httpd":
134 removeHttpd(self.host_ssh)
135 elif service == "wireshark":
136 removeWireshark(self.host_ssh)
137 elif service == "firefox":
138 removeFirefox(self.host_ssh)
139 elif service == "php" or service == 'PHP':
140 removePHP(self.host_ssh)