mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-10-03 01:00:11 +03:00
log: lower per-node docker lifecycle logs to DEBUG
At 1000+ nodes the per-node INFO lines flood the log during open / start-all / stop-all: MAC changed, adapters changed, created, started, console listen, fix ownership, stopped, paused, removed, adapter created, NIO removed, capture start/stop, CPU/memory limits, mount resources. Demote all of these routine per-node/per-adapter lines to DEBUG. Keep INFO only for genuinely rare/important events: image pull (missing image) and stale-container cleanup. Warnings unchanged.
This commit is contained in:
parent
4c6ef7752a
commit
df3ca6e26b
@ -229,7 +229,7 @@ class DockerVM(BaseNode):
|
|||||||
else:
|
else:
|
||||||
self._mac_address = mac_address
|
self._mac_address = mac_address
|
||||||
|
|
||||||
log.info('Docker container "{name}" [{id}]: MAC address changed to {mac_addr}'.format(
|
log.debug('Docker container "{name}" [{id}]: MAC address changed to {mac_addr}'.format(
|
||||||
name=self._name,
|
name=self._name,
|
||||||
id=self._id,
|
id=self._id,
|
||||||
mac_addr=self._mac_address)
|
mac_addr=self._mac_address)
|
||||||
@ -349,7 +349,7 @@ class DockerVM(BaseNode):
|
|||||||
except OSError as e:
|
except OSError as e:
|
||||||
raise DockerError(f"Cannot access resources: {e}")
|
raise DockerError(f"Cannot access resources: {e}")
|
||||||
|
|
||||||
log.info(f'Mount resources from "{resources_path}"')
|
log.debug(f'Mount resources from "{resources_path}"')
|
||||||
binds = [{
|
binds = [{
|
||||||
"Type": "bind",
|
"Type": "bind",
|
||||||
"Source": resources_path,
|
"Source": resources_path,
|
||||||
@ -583,11 +583,11 @@ class DockerVM(BaseNode):
|
|||||||
log.error(f"Failed to clean up conflicting container '{self.docker_name}': {e}")
|
log.error(f"Failed to clean up conflicting container '{self.docker_name}': {e}")
|
||||||
raise
|
raise
|
||||||
self._cid = result["Id"]
|
self._cid = result["Id"]
|
||||||
log.info(f"Docker container '{self._name}' [{self._id}] created")
|
log.debug(f"Docker container '{self._name}' [{self._id}] created")
|
||||||
if self._cpus > 0:
|
if self._cpus > 0:
|
||||||
log.info(f"CPU limit set to {self._cpus} CPUs")
|
log.debug(f"CPU limit set to {self._cpus} CPUs")
|
||||||
if self._memory > 0:
|
if self._memory > 0:
|
||||||
log.info(f"Memory limit set to {self._memory} MB")
|
log.debug(f"Memory limit set to {self._memory} MB")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def _format_env(self, variables, env):
|
def _format_env(self, variables, env):
|
||||||
@ -705,7 +705,7 @@ class DockerVM(BaseNode):
|
|||||||
|
|
||||||
self._permissions_fixed = False
|
self._permissions_fixed = False
|
||||||
self.status = "started"
|
self.status = "started"
|
||||||
log.info(
|
log.debug(
|
||||||
"Docker container '{name}' [{image}] started listen for {console_type} on {console}".format(
|
"Docker container '{name}' [{image}] started listen for {console_type} on {console}".format(
|
||||||
name=self._name, image=self._image, console=self.console, console_type=self.console_type
|
name=self._name, image=self._image, console=self.console, console_type=self.console_type
|
||||||
)
|
)
|
||||||
@ -751,7 +751,7 @@ class DockerVM(BaseNode):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
state = await self._get_container_state()
|
state = await self._get_container_state()
|
||||||
log.info(f"Docker container '{self._name}' fix ownership, state = {state}")
|
log.debug(f"Docker container '{self._name}' fix ownership, state = {state}")
|
||||||
if state == "stopped" or state == "exited":
|
if state == "stopped" or state == "exited":
|
||||||
# We need to restart it to fix permissions
|
# We need to restart it to fix permissions
|
||||||
await self.manager.query("POST", f"containers/{self._cid}/start")
|
await self.manager.query("POST", f"containers/{self._cid}/start")
|
||||||
@ -1011,7 +1011,7 @@ class DockerVM(BaseNode):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
await self.manager.query("POST", f"containers/{self._cid}/restart")
|
await self.manager.query("POST", f"containers/{self._cid}/restart")
|
||||||
log.info("Docker container '{name}' [{image}] restarted".format(name=self._name, image=self._image))
|
log.debug("Docker container '{name}' [{image}] restarted".format(name=self._name, image=self._image))
|
||||||
|
|
||||||
async def _clean_servers(self):
|
async def _clean_servers(self):
|
||||||
"""
|
"""
|
||||||
@ -1056,7 +1056,7 @@ class DockerVM(BaseNode):
|
|||||||
# ignores SIGTERM — so a stop grace period buys nothing but latency.
|
# ignores SIGTERM — so a stop grace period buys nothing but latency.
|
||||||
try:
|
try:
|
||||||
await self.manager.query("POST", f"containers/{self._cid}/kill")
|
await self.manager.query("POST", f"containers/{self._cid}/kill")
|
||||||
log.info(f"Docker container '{self._name}' [{self._image}] stopped")
|
log.debug(f"Docker container '{self._name}' [{self._image}] stopped")
|
||||||
except DockerHttp409Error:
|
except DockerHttp409Error:
|
||||||
# Container is already stopped
|
# Container is already stopped
|
||||||
pass
|
pass
|
||||||
@ -1073,7 +1073,7 @@ class DockerVM(BaseNode):
|
|||||||
|
|
||||||
await self.manager.query("POST", f"containers/{self._cid}/pause")
|
await self.manager.query("POST", f"containers/{self._cid}/pause")
|
||||||
self.status = "suspended"
|
self.status = "suspended"
|
||||||
log.info(f"Docker container '{self._name}' [{self._image}] paused")
|
log.debug(f"Docker container '{self._name}' [{self._image}] paused")
|
||||||
|
|
||||||
async def unpause(self):
|
async def unpause(self):
|
||||||
"""
|
"""
|
||||||
@ -1082,7 +1082,7 @@ class DockerVM(BaseNode):
|
|||||||
|
|
||||||
await self.manager.query("POST", f"containers/{self._cid}/unpause")
|
await self.manager.query("POST", f"containers/{self._cid}/unpause")
|
||||||
self.status = "started"
|
self.status = "started"
|
||||||
log.info(f"Docker container '{self._name}' [{self._image}] unpaused")
|
log.debug(f"Docker container '{self._name}' [{self._image}] unpaused")
|
||||||
|
|
||||||
async def close(self):
|
async def close(self):
|
||||||
"""
|
"""
|
||||||
@ -1134,7 +1134,7 @@ class DockerVM(BaseNode):
|
|||||||
# Container deletion failed - log warning but don't block project close
|
# Container deletion failed - log warning but don't block project close
|
||||||
# The stale container will be cleaned up when the project is opened again
|
# The stale container will be cleaned up when the project is opened again
|
||||||
log.warning(f"Failed to delete Docker container '{self.docker_name}': {e}")
|
log.warning(f"Failed to delete Docker container '{self.docker_name}': {e}")
|
||||||
log.info("Docker container '{name}' [{image}] removed".format(name=self._name, image=self._image))
|
log.debug("Docker container '{name}' [{image}] removed".format(name=self._name, image=self._image))
|
||||||
|
|
||||||
if release_nio_udp_ports:
|
if release_nio_udp_ports:
|
||||||
for adapter in self._ethernet_adapters:
|
for adapter in self._ethernet_adapters:
|
||||||
@ -1205,7 +1205,7 @@ class DockerVM(BaseNode):
|
|||||||
except UbridgeError as e:
|
except UbridgeError as e:
|
||||||
raise UbridgeNamespaceError(e)
|
raise UbridgeNamespaceError(e)
|
||||||
else:
|
else:
|
||||||
log.info(f"Created adapter {adapter_number} with MAC address {mac_address} in namespace {self._namespace}")
|
log.debug(f"Created adapter {adapter_number} with MAC address {mac_address} in namespace {self._namespace}")
|
||||||
|
|
||||||
if nio:
|
if nio:
|
||||||
await self._connect_nio(adapter_number, nio)
|
await self._connect_nio(adapter_number, nio)
|
||||||
@ -1325,7 +1325,7 @@ class DockerVM(BaseNode):
|
|||||||
|
|
||||||
adapter.remove_nio(0)
|
adapter.remove_nio(0)
|
||||||
|
|
||||||
log.info(
|
log.debug(
|
||||||
"Docker VM '{name}' [{id}]: {nio} removed from adapter {adapter_number}".format(
|
"Docker VM '{name}' [{id}]: {nio} removed from adapter {adapter_number}".format(
|
||||||
name=self.name, id=self.id, nio=adapter.host_ifc, adapter_number=adapter_number
|
name=self.name, id=self.id, nio=adapter.host_ifc, adapter_number=adapter_number
|
||||||
)
|
)
|
||||||
@ -1382,7 +1382,7 @@ class DockerVM(BaseNode):
|
|||||||
for adapter_number in range(0, adapters):
|
for adapter_number in range(0, adapters):
|
||||||
self._ethernet_adapters.append(EthernetAdapter())
|
self._ethernet_adapters.append(EthernetAdapter())
|
||||||
|
|
||||||
log.info(
|
log.debug(
|
||||||
'Docker container "{name}" [{id}]: number of Ethernet adapters changed to {adapters}'.format(
|
'Docker container "{name}" [{id}]: number of Ethernet adapters changed to {adapters}'.format(
|
||||||
name=self._name, id=self._id, adapters=adapters
|
name=self._name, id=self._id, adapters=adapters
|
||||||
)
|
)
|
||||||
@ -1439,7 +1439,7 @@ class DockerVM(BaseNode):
|
|||||||
if self.status == "started" and self.ubridge:
|
if self.status == "started" and self.ubridge:
|
||||||
await self._start_ubridge_capture(adapter_number, output_file)
|
await self._start_ubridge_capture(adapter_number, output_file)
|
||||||
|
|
||||||
log.info(
|
log.debug(
|
||||||
"Docker VM '{name}' [{id}]: starting packet capture on adapter {adapter_number}".format(
|
"Docker VM '{name}' [{id}]: starting packet capture on adapter {adapter_number}".format(
|
||||||
name=self.name, id=self.id, adapter_number=adapter_number
|
name=self.name, id=self.id, adapter_number=adapter_number
|
||||||
)
|
)
|
||||||
@ -1459,7 +1459,7 @@ class DockerVM(BaseNode):
|
|||||||
if self.status == "started" and self.ubridge:
|
if self.status == "started" and self.ubridge:
|
||||||
await self._stop_ubridge_capture(adapter_number)
|
await self._stop_ubridge_capture(adapter_number)
|
||||||
|
|
||||||
log.info(
|
log.debug(
|
||||||
"Docker VM '{name}' [{id}]: stopping packet capture on adapter {adapter_number}".format(
|
"Docker VM '{name}' [{id}]: stopping packet capture on adapter {adapter_number}".format(
|
||||||
name=self.name, id=self.id, adapter_number=adapter_number
|
name=self.name, id=self.id, adapter_number=adapter_number
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user