From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id +ML+CWd5p2VX2QAAqHPOHw:P1 (envelope-from ) for ; Wed, 17 Jan 2024 07:53:27 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id +ML+CWd5p2VX2QAAqHPOHw (envelope-from ) for ; Wed, 17 Jan 2024 07:53:27 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none ("invalid DKIM record") header.d=freakingpenguin.com header.s=x header.b="QU61/vqZ"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1705474407; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=/tJVRWqVf4fK5OCvSE9EtAh1/tRxP6WTI9Dt65a49wI=; b=k0EzE4myDScFYSk/cy3naZeluOoPpr1x+H62Gut46XdUkEMYmeqwy9HD3nV9NGKAjT2kUH MYbnc5/BRx3bQR+1M2AGJTlWd5ItRNPPtpGSs9DwXlEjrQMMbPZJoxOAmM7G1EJdjhvobw FcYkc9R21Zye3m0NPX1eKK+vvN62U1dBqcX2u+d8Gwv/c9YQNkbVWhdICyFf7XkHGRHBS0 YAJXkiT0LNJu2I1eOlY6LaW+Xxj1iOPTedCk7qOk4PzRzodfM6WG7nzL+HOnjZI+y1IRZq QkPNgwtyOfhHYB5OHg1QmGF2j/F6oC3xiOvvfEkkzW0vPm592PBjOqrFGTUwJg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none ("invalid DKIM record") header.d=freakingpenguin.com header.s=x header.b="QU61/vqZ"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1705474407; a=rsa-sha256; cv=none; b=Kzbf8KorK6KmIw7C9ydcEvp0SHd8UyoYy+OLNCbzhodvgPXJetV529/uCxJYCT1UDfAw4D EmzXUfeeMueCRP5GB77AEcY5VWP0y6OpdL+ld+2Y8EwNPTNiOb5QoDtxU54BEzOaUgE+5H WUyLhaGsX+iNW77PmhwYh/QWyYwRLKGbYXgbyi7l3ej5NLuXxZ54n2Eg4sCgFaTMwwIYq2 XuFPZi/wKuJOV7FNAneTuj5LOZl9/MUu8INstCBw7mL/34X/lbzcPEH5cmf3yLj7ysqXcS PDYcrxpZLWyzn9kLKAkUF44h/Uod5qQORvXV/CjSS+WFr0Ih3im5AcfHEDP13g== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 144003A3B4 for ; Wed, 17 Jan 2024 07:53:27 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rPzmy-0008WC-Sa; Wed, 17 Jan 2024 01:52:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rPVpS-0001cd-Uw for guix-devel@gnu.org; Mon, 15 Jan 2024 17:53:14 -0500 Received: from mail-108-mta24.mxroute.com ([136.175.108.24]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rPVpR-0003Y9-1m for guix-devel@gnu.org; Mon, 15 Jan 2024 17:53:14 -0500 Received: from filter006.mxroute.com ([136.175.111.2] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta24.mxroute.com (ZoneMTA) with ESMTPSA id 18d0f4f6fde0003727.001 for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Mon, 15 Jan 2024 22:48:00 +0000 X-Zone-Loop: e806bcf0dd5706af04521c98772e4ae709df36cb0c2a X-Originating-IP: [136.175.111.2] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Transfer-Encoding:Content-Type: Message-ID:Subject:To:From:Date:MIME-Version:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=/tJVRWqVf4fK5OCvSE9EtAh1/tRxP6WTI9Dt65a49wI=; b=QU61/vqZI5BhYMTSc82qWLjYKn xEIzIgVjbpXFCJhI2Z5Nqn11um3O/SvreZmzpIer8ecNZrheYDgLs3ApB5+wRf3T4DkZCEDGiAiny woC2KetdMWZNAPnbnQ/J4IwKZR4u5hodDl9tCeJkhm8uBuieG6jGeuHUT6zPcLMLcqbImQUIMAMVZ A3Q3SLWGECapx8rMcDOUOihpgbXvi9hDoP12yH0B5HD0XhNHrxuPjkjdYZpMC2pccBRe60Lj+UvYK GPOk9BqDmY5swukBDvqn3RUhDME8IPlhOQvZ40d3t7nOAsLiv5/ElbzG3bdyAqScA0vY0MBmXVV7W oeS0qx+A==; MIME-Version: 1.0 Date: Mon, 15 Jan 2024 17:47:58 -0500 From: Richard Sent To: guix-devel@gnu.org Subject: Guix deploy --keep-going equivalent for machine connection failures Message-ID: <494a6ad05644e3b4c215d2bdaf388811@freakingpenguin.com> X-Sender: richard@freakingpenguin.com Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated-Id: richard@freakingpenguin.com Received-SPF: pass client-ip=136.175.108.24; envelope-from=richard@freakingpenguin.com; helo=mail-108-mta24.mxroute.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Wed, 17 Jan 2024 01:52:39 -0500 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -5.68 X-Migadu-Scanner: mx13.migadu.com X-Spam-Score: -5.68 X-Migadu-Queue-Id: 144003A3B4 X-TUID: 8qlWMTOu8DGu Hi all, When running guix deploy with a list of machines, the command will fail if any of the machines are unreachable. I use Guix deploy from a central machine to update the devices on my LAN, including laptops, which aren't guaranteed to be on. I'm also not terribly worried about keeping every single device updated in perfect synchronicity. I think it would be useful to have a CLI flag that would continue the deployment even if we fail to connect to one of the machines. At present this can be worked around by commenting out entries on the list, but this requires a) Already knowing what machine is offline b) Remembering to uncomment it later when the machine goes back online c) Generally feels "ugly" in a way that most Guix commands don't. d) Makes version control a pain The default behavior should stay as is, I imagine, since one of the main uses of guix deploy is deploying an interconnected cluster of machines that probably would not appreciate being partially upgraded. Another option worth considered is adding a `'can-connection-fail?' (default: #f)` to either `machine` or `machine-ssh-configuration`. (Probably machine since it would also allow for digitalocean deployments.) This would let me mix a list of "core machines" that I definitely want upgraded in a deployment (NAS, etc), while still having secondary machines that I'm not particularly concerned about upgrading. When running a deployment, there are effectively 3 options for how I could want the deployment to go for machines X, Y, and Z: a) X, Y, and Z must all be deployed together <--- Supported b) X must be deployed, but Y and/or Z can fail <--- can-connection-fail? setting c) X, Y, and/or Z can fail <--- --keep-going-but-for-machines-I-don't-know-what-to-call-this Anyone have thoughts on this? Thanks, Richard Sent