API for deleting a list

This commit is contained in:
Julien Duponchelle committed 2016-03-14 17:40:27 +01:00
1 parent 9771b33b68
commit 9062490be3
7 files changed
+105 -8

No files matched your search

+27 -6
View File
@@ -22,11 +22,16 @@ from .link import Link
class UDPLink(Link):
def __init__(self, project):
super().__init__(project)
@asyncio.coroutine
def create(self):
"""
Create the link on the VMs
"""
vm1 = self._vms[0]["vm"]
adapter_number1 = self._vms[0]["adapter_number"]
port_number1 = self._vms[0]["port_number"]
@@ -36,23 +41,39 @@ class UDPLink(Link):
# Reserve a UDP port on both side
response = yield from vm1.hypervisor.post("/projects/{}/ports/udp".format(self._project.id))
vm1_port = response.json["udp_port"]
self._vm1_port = response.json["udp_port"]
response = yield from vm2.hypervisor.post("/projects/{}/ports/udp".format(self._project.id))
vm2_port = response.json["udp_port"]
self._vm2_port = response.json["udp_port"]
# Create the tunnel on both side
data = {
"lport": vm1_port,
"lport": self._vm1_port,
"rhost": vm2.hypervisor.host,
"rport": vm2_port,
"rport": self._vm2_port,
"type": "nio_udp"
}
yield from vm1.post("/adapters/{adapter_number}/ports/{port_number}/nio".format(adapter_number=adapter_number1, port_number=port_number1), data=data)
data = {
"lport": vm2_port,
"lport": self._vm2_port,
"rhost": vm1.hypervisor.host,
"rport": vm1_port,
"rport": self._vm1_port,
"type": "nio_udp"
}
yield from vm2.post("/adapters/{adapter_number}/ports/{port_number}/nio".format(adapter_number=adapter_number2, port_number=port_number2), data=data)
@asyncio.coroutine
def delete(self):
"""
Delete the link and free the ressources
"""
vm1 = self._vms[0]["vm"]
adapter_number1 = self._vms[0]["adapter_number"]
port_number1 = self._vms[0]["port_number"]
vm2 = self._vms[1]["vm"]
adapter_number2 = self._vms[1]["adapter_number"]
port_number2 = self._vms[1]["port_number"]
yield from vm1.delete("/adapters/{adapter_number}/ports/{port_number}/nio".format(adapter_number=adapter_number1, port_number=port_number1))
yield from vm2.delete("/adapters/{adapter_number}/ports/{port_number}/nio".format(adapter_number=adapter_number2, port_number=port_number2))