Merge branch '2.1' into 2.2

# Conflicts:
#	gns3server/controller/ports/port_factory.py
This commit is contained in:
grossmj 2018-08-13 22:06:44 +07:00
commit dac3ba19b7
3 changed files with 14 additions and 9 deletions

View File

@ -84,9 +84,11 @@ class Port:
# If port name format has changed we use the port name as the short name (1.X behavior)
if self._short_name:
return self._short_name
elif not self._name.startswith("{}{}".format(self.long_name_type(), self._interface_number)):
return self._name
return self.short_name_type + "{}/{}".format(self._interface_number, self._port_number)
elif '/' in self._name:
return self._name.replace(self.long_name_type(), self.short_name_type)
elif self._name.startswith("{}{}".format(self.long_name_type(), self._interface_number)):
return self.short_name_type + "{}".format(self._interface_number)
return self._name
@short_name.setter
def short_name(self, val):

View File

@ -72,7 +72,7 @@ class StandardPortFactory:
for port_number in range(0, port_by_adapter):
if first_port_name and adapter_number == 0:
port_name = custom_adapter_settings.get("port_name", first_port_name)
port = PortFactory(port_name, segment_number, adapter_number, port_number, "ethernet")
port = PortFactory(port_name, segment_number, adapter_number, port_number, "ethernet", short_name=port_name)
else:
try:
port_name = port_name_format.format(
@ -208,7 +208,9 @@ class DynamipsPortFactory:
if port_class:
for port_number in range(0, cls.ADAPTER_MATRIX[properties[name]]["nb_ports"]):
name = "{}{}/{}".format(port_class.long_name_type(), adapter_number, port_number)
ports.append(port_class(name, adapter_number, adapter_number, port_number))
port = port_class(name, adapter_number, adapter_number, port_number)
port.short_name = "{}{}/{}".format(port.short_name_type, adapter_number, port_number)
ports.append(port)
adapter_number += 1
elif name.startswith("wic") and properties[name]:
port_class = cls.WIC_MATRIX[properties[name]]["port"]

View File

@ -54,7 +54,7 @@ def test_list_ports(node):
assert node.__json__()["ports"] == [
{
"name": "Ethernet0",
"short_name": "e0/0",
"short_name": "e0",
"data_link_types": {"Ethernet": "DLT_EN10MB"},
"port_number": 0,
"adapter_number": 0,
@ -143,7 +143,7 @@ def test_list_ports_adapters(node):
assert node.__json__()["ports"] == [
{
"name": "Ethernet0",
"short_name": "e0/0",
"short_name": "e0",
"data_link_types": {"Ethernet": "DLT_EN10MB"},
"port_number": 0,
"adapter_number": 0,
@ -151,7 +151,7 @@ def test_list_ports_adapters(node):
},
{
"name": "Ethernet1",
"short_name": "e1/0",
"short_name": "e1",
"data_link_types": {"Ethernet": "DLT_EN10MB"},
"port_number": 0,
"adapter_number": 1,
@ -596,7 +596,8 @@ def test_list_ports_dynamips(project, compute):
def test_short_name():
# If no customization of port name format return the default short name
assert EthernetPort("Ethernet0", 0, 0, 0).short_name == "e0/0"
assert EthernetPort("Ethernet0", 0, 0, 0).short_name == "e0"
assert EthernetPort("Ethernet0", 0, 0, 0, short_name="mgmt").short_name == "mgmt"
assert EthernetPort("Ethernet0/0", 0, 0, 0).short_name == "e0/0"
# If port name format has change we use the port name as the short name (1.X behavior)
assert EthernetPort("eth0", 0, 0, 0).short_name == "eth0"