On a rolling distro every fresh development VM was born unable to create VMs. « make install_os » runs a full system upgrade, the kernel package is replaced and /lib/modules/<running kernel> disappears. modprobe bridge then fails and libvirt cannot create virbr0, so the « default » network stays inactive and virt-install dies on « network 'default' is not active » -- with every package correctly installed. Measured twice on a freshly created Arch VM: booted on 7.1.3-arch1-3 at 05:44, upgraded to 7.1.5.arch1-2 at 05:46. Only a reboot fixes it, and one is enough: the default network is already flagged autostart, so libvirt brings it up by itself once the modules match. --setup-host therefore gains --reboot-if-needed, used by the deployment profile. The reboot is scheduled through systemd-run --on-active=5 rather than issued immediately, otherwise it would kill the installer's SSH session and the orchestrator would report a failure for a VM that actually succeeded. Without the flag the behaviour is unchanged: explain and exit 1, which is what a workstation wants. Also fix « Error setting up logfile: No write access to /var/tmp/erplibre-virtinst/virt-manager »: that path was shared, so a first run under sudo created it as root and later non-root runs could not write. It is now per-UID. Verified on the Arch VM that failed: without the flag it exits 1 with the diagnosis; with it, the reboot is scheduled and the command still returns 0; after the reboot the kernel and modules match, « default » is active on its own and virbr0 exists. The cache directory is created as erplibre:erplibre 0700. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| qemu_install_monitor.py | ||
| README.base.md | ||
| README.fr.md | ||
| README.md | ||
| source_todo.sh | ||
| todo.json | ||
| todo.py | ||
| todo_example.json | ||
| todo_file_browser.py | ||
| todo_i18n.py | ||
| todo_telemetry.py | ||
| todo_upgrade.py | ||
| version_manager.py | ||
TODO is an assistant robot to use ERPLibre
Execute it with ./script/todo/todo.py or make todo.
For a new project, copy todo_example.json to private/todo/todo_override.json | private/todo/todo_override_private.json and edit it.