bug#41116: Guix deploy fails with new version of Herd
Hi Marius, Marius Bakke writes: > Hi Alex, > > [...] > > This issue has been reported by a number of users on IRC. I think the > problem is that the the #:file-creation-mask keyword requires support > from the running Shepherd, which may not have it yet. I think we should > revert commit 4c0cc7bed3de2c0e2d3a6e95b88693941e839eec until we find a > smooth upgrade path. Can you try it and push if that fixes guix deploy? I believe Ludovic has now done this. I will test and close this bug if it is now working. Cheers, Alex
bug#41116: A naive proposal for a solution
Upon thinking further about this it seems to me the problem is caused by guix deploy attempting to restart services as well as it can during deployment. When this fails deployment fails. guix system reconfigure on the other hand does not do this (afaik). As a result it can complete. Once reconfigure is completed a reboot switches to the new system version and is then thus able to restart the services. If all this is correct, then the long-discussed guix deploy feature of service restart policies would resolve this issue elegantly: When a similar herd upgrade in future looms, a switch away from "restart running services" to "no restart services" or "reboot after deployment" would avoid this currently hard-coded failure mode. Food for thought perhaps, if my understanding is anywhere close to right, that is. Alex
bug#41116: Guix deploy fails with new version of Herd
Hello, I maintain a number of servers using Guix deploy. It seems that the recent upgrade to Herd in Guix, and specifically commit 4c0cc7bed3de2c0e2d3a6e95b88693941e839eec might have introduced a bug. >From my testing, guix deploy currently consistently fails with: -8<->8--- ice-9/boot-9.scm:1667:16: In procedure raise-exception: ERROR: 1. &inferior-exception: arguments: (srfi-34 #" "Unrecognized keyword" () (#:file-creation-mask))] 7eff2bd7be00>>) inferior: #f stack: () -8<->8--- A workaround is to build the system configuration locally on the target server, then to reconfigure. It will still error at the same place, but at this point, after restarting the server, the new version of Herd will be running and both deploy and reconfigure will work. I don't know what a good solution to this could be, but it may be something we need to consider in future development of Herd. Best wishes, Alex