Merge branch '2.1' into 2.2

# Conflicts:
#	gns3server/compute/docker/docker_vm.py
#	gns3server/version.py
This commit is contained in:
grossmj
2018-08-07 21:06:42 +07:00
402 changed files with 11042 additions and 10444 deletions

View File

@ -393,7 +393,8 @@ class DockerVM(BaseNode):
aux = self.aux
state = yield from self._get_container_state()
yield from self.reset()
# reset the docker container, but don't release the NIO UDP ports
yield from self.reset(False)
yield from self.create()
self.console = console
self.aux = aux
@ -706,7 +707,7 @@ class DockerVM(BaseNode):
yield from self.reset()
@asyncio.coroutine
def reset(self):
def reset(self, release_nio_udp_ports=True):
try:
state = yield from self._get_container_state()
@ -733,11 +734,12 @@ class DockerVM(BaseNode):
log.info("Docker container '{name}' [{image}] removed".format(
name=self._name, image=self._image))
for adapter in self._ethernet_adapters:
if adapter is not None:
for nio in adapter.ports.values():
if nio and isinstance(nio, NIOUDP):
self.manager.port_manager.release_udp_port(nio.lport, self._project)
if release_nio_udp_ports:
for adapter in self._ethernet_adapters:
if adapter is not None:
for nio in adapter.ports.values():
if nio and isinstance(nio, NIOUDP):
self.manager.port_manager.release_udp_port(nio.lport, self._project)
# Ignore runtime error because when closing the server
except (DockerHttp404Error, RuntimeError) as e:
log.debug("Docker error when closing: {}".format(str(e)))