self.net.addLink(d, self.switch, params1=nw, cls=Link, intfName1=nw.get('id'))
# do bookkeeping
self.containers[name] = d
+
return d # we might use UUIDs for naming later on
def stopCompute(self, name):
def attachExternalSAP(self, sap_name, sap_net, **params):
# create SAP as separate OVS switch with an assigned ip address
sap_ip = str(sap_net[1]) + '/' + str(sap_net.prefixlen)
+ # allow connection to the external internet through the host
+ params = dict(NAT=True, SAPNet=str(sap_net))
sap_switch = self.net.addExtSAP(sap_name, sap_ip, dpid=hex(self._get_next_extSAP_dpid())[2:], **params)
sap_switch.start()
# link SAP to the DC switch
self.net.addLink(sap_switch, self.switch, cls=Link)
- # allow connection to the external internet through the host
- self.net.addSAPNAT(sap_switch, str(sap_net))
+ def removeExternalSAP(self, sap_name, sap_net):
+ sap_switch = self.net.getNodeByName(sap_name)
+ # link SAP to the DC switch
+ self.net.removeLink(link=None, node1=sap_switch, node2=self.switch)
+ self.net.removeExtSAP(sap_name, str(sap_net))
def listCompute(self):
"""
"""
Return a dict with status information about this DC.
"""
+ container_list = [name for name in self.containers]
return {
"label": self.label,
"internalname": self.name,
"switch": self.switch.name,
"n_running_containers": len(self.containers),
- "metadata": self.metadata
+ "metadata": self.metadata,
+ "vnf_list" : container_list
}
def assignResourceModel(self, rm):