fix(monitor): disk observations follow the disk, and OCI containers keep their address

- The observations of a disk belong to its serial number, not to its
  connector: a replaced disk starts clean, and the badge of the list
  counts what the detail of the disk lists.
- An OCI container is recognised while it is still being installed, so
  an image that carries Docker inside is not offered Docker.
- Links use the IPv4 address of a container and write IPv6 in brackets;
  an answer without an address of its own is read again.
- The Monitor restores, when it starts, the DHCP clients of containers
  that were started from it.
This commit is contained in:
MacRimi
2026-10-08 17:14:36 +02:00
parent f5ad4072b5
commit 053b6c81f8
7 changed files with 318 additions and 131 deletions
+5 -1
View File
@@ -5596,7 +5596,11 @@ def _oci_instance_meta(vmid) -> Optional[dict]:
return None
# While an update or recreation runs, the record is the copy taken before
# it: still the right identity for the container, not yet its new image.
if not isinstance(record, dict) or record.get("status") not in ("installed", "assembling", "updating"):
# While the installation runs it already names what the container holds:
# the first start of an image that carries Docker inside is long enough
# for a probe to find that binary and offer it as an application.
if not isinstance(record, dict) or record.get("status") not in (
"installed", "installing", "assembling", "updating", "recovering"):
return None
template = record.get("template") or {}
contract = template.get("container_contract") or {}