Move the generation of the list of ports to the server

Ref #676
This commit is contained in:
Julien Duponchelle committed 2016-09-14 15:21:37 +02:00
1 parent f06c00fdb8
commit 2f0e2260ab
50 files changed
+1347 -240

No files matched your search

+8 -8
View File
@@ -45,9 +45,9 @@ class Cloud(BaseNode):
super().__init__(name, node_id, project, manager)
self._nios = {}
self._ports = []
self._ports_mapping = []
if ports:
self._ports = ports
self._ports_mapping = ports
def __json__(self):
@@ -60,29 +60,29 @@ class Cloud(BaseNode):
return {"name": self.name,
"node_id": self.id,
"project_id": self.project.id,
"ports": self._ports,
"ports_mapping": self._ports_mapping,
"interfaces": host_interfaces,
"status": "started"}
@property
def ports(self):
def ports_mapping(self):
"""
Ports on this cloud.
:returns: ports info
"""
return self._ports
return self._ports_mapping
@ports.setter
def ports(self, ports):
@ports_mapping.setter
def ports_mapping(self, ports):
"""
Set the ports on this cloud.
:param ports: ports info
"""
self._ports = ports
self._ports_mapping = ports
@asyncio.coroutine
def create(self):
+1 -1
View File
@@ -53,5 +53,5 @@ class Nat(Cloud):
"node_id": self.id,
"project_id": self.project.id,
"status": "started",
"ports": self.ports
"ports_mapping": self.ports
}
@@ -60,7 +60,7 @@ class EthernetHub(Bridge):
return {"name": self.name,
"node_id": self.id,
"project_id": self.project.id,
"ports": self._ports,
"ports_mapping": self._ports,
"status": "started"}
@property
@@ -65,17 +65,8 @@ class EthernetSwitch(Device):
ethernet_switch_info = {"name": self.name,
"node_id": self.id,
"project_id": self.project.id,
"ports": self._ports,
"ports_mapping": self._ports,
"status": "started"}
# ports = []
# for port_number, settings in self._mappings.items():
# ports.append({"port": port_number,
# "type": settings[0],
# "vlan": settings[1],
# "ethertype": settings[2] if len(settings) > 2 else ""})
#
# ethernet_switch_info["ports"] = ports
return ethernet_switch_info
@property
-27
View File
@@ -114,9 +114,6 @@ class QemuVM(BaseNode):
self._acpi_shutdown = False
self._cpu_throttling = 0 # means no CPU throttling
self._process_priority = "low"
self._first_port_name = ""
self._port_segment_size = 0
self._port_name_format = "Ethernet{0}"
self.mac_address = "" # this will generate a MAC address
self.adapters = 1 # creates 1 adapter by default
@@ -756,30 +753,6 @@ class QemuVM(BaseNode):
kernel_command_line=kernel_command_line))
self._kernel_command_line = kernel_command_line
@property
def port_name_format(self):
return self._port_name_format
@port_name_format.setter
def port_name_format(self, val):
self._port_name_format = val
@property
def port_segment_size(self):
return self._port_segment_size
@port_segment_size.setter
def port_segment_size(self, val):
self._port_segment_size = val
@property
def first_port_name(self):
return self._first_port_name
@first_port_name.setter
def first_port_name(self, val):
self._first_port_name = val
@asyncio.coroutine
def _set_process_priority(self):
"""
+1 -31
View File
@@ -71,9 +71,6 @@ class VirtualBoxVM(BaseNode):
self._use_any_adapter = False
self._ram = 0
self._adapter_type = "Intel PRO/1000 MT Desktop (82540EM)"
self._port_name_format = "Ethernet{0}"
self._port_segment_size = 0
self._first_port_name = None
def __json__(self):
@@ -90,10 +87,7 @@ class VirtualBoxVM(BaseNode):
"ram": self.ram,
"status": self.status,
"use_any_adapter": self.use_any_adapter,
"linked_clone": self._linked_clone,
"port_name_format": self._port_name_format,
"port_segment_size": self._port_segment_size,
"first_port_name": self._first_port_name}
"linked_clone": self._linked_clone}
if self._linked_clone:
json["node_directory"] = self.working_dir
else:
@@ -684,30 +678,6 @@ class VirtualBoxVM(BaseNode):
id=self.id,
adapter_type=adapter_type))
@property
def port_name_format(self):
return self._port_name_format
@port_name_format.setter
def port_name_format(self, val):
self._port_name_format = val
@property
def port_segment_size(self):
return self._port_segment_size
@port_segment_size.setter
def port_segment_size(self, val):
self._port_segment_size = val
@property
def first_port_name(self):
return self._first_port_name
@first_port_name.setter
def first_port_name(self, val):
self._first_port_name = val
@asyncio.coroutine
def _get_vm_info(self):
"""
+1 -31
View File
@@ -70,9 +70,6 @@ class VMwareVM(BaseNode):
self._ethernet_adapters = {}
self._adapter_type = "e1000"
self._use_any_adapter = False
self._port_name_format = "Ethernet{0}"
self._port_segment_size = 0
self._first_port_name = None
if not os.path.exists(vmx_path):
raise VMwareError('VMware VM "{name}" [{id}]: could not find VMX file "{vmx_path}"'.format(name=name, id=node_id, vmx_path=vmx_path))
@@ -92,10 +89,7 @@ class VMwareVM(BaseNode):
"use_any_adapter": self.use_any_adapter,
"status": self.status,
"node_directory": self.working_dir,
"linked_clone": self._linked_clone,
"port_name_format": self._port_name_format,
"port_segment_size": self._port_segment_size,
"first_port_name": self._first_port_name}
"linked_clone": self._linked_clone}
return json
@property
@@ -738,30 +732,6 @@ class VMwareVM(BaseNode):
log.info("VMware VM '{name}' [{id}] is not allowed to use any adapter".format(name=self.name, id=self.id))
self._use_any_adapter = use_any_adapter
@property
def port_name_format(self):
return self._port_name_format
@port_name_format.setter
def port_name_format(self, val):
self._port_name_format = val
@property
def port_segment_size(self):
return self._port_segment_size
@port_segment_size.setter
def port_segment_size(self, val):
self._port_segment_size = val
@property
def first_port_name(self):
return self._first_port_name
@first_port_name.setter
def first_port_name(self, val):
self._first_port_name = val
@asyncio.coroutine
def adapter_add_nio_binding(self, adapter_number, nio):
"""