If you create two instances of QEMUMachine(), they'll both create the
same nickname by default -- which is not that helpful.
Luckily, they'll both create unique temporary directories ... but due to
user configuration, they may share logging and sockfile directories,
meaning two instances can collide. The Python logging will also be quite
confusing, with no differentiation between the two instances.
Add an instance disambiguator (The memory address of the instance) to
the default nickname to foolproof this in all cases.
Signed-off-by: John Snow <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Willian Rampazzo <[email protected]>
Message-id:
20211118204620.
1897674[email protected]
Signed-off-by: John Snow <[email protected]>
self._wrapper = wrapper
self._qmp_timer = qmp_timer
- self._name = name or "qemu-%d" % os.getpid()
+ self._name = name or f"qemu-{os.getpid()}-{id(self):02x}"
self._temp_dir: Optional[str] = None
self._base_temp_dir = base_temp_dir
self._sock_dir = sock_dir