From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 06 19:18:51 2025 Received: (at submit) by debbugs.gnu.org; 7 Jan 2025 00:18:51 +0000 Received: from localhost ([127.0.0.1]:41022 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tUxJ5-0003ZW-97 for submit@debbugs.gnu.org; Mon, 06 Jan 2025 19:18:51 -0500 Received: from lists.gnu.org ([2001:470:142::17]:46776) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tUxJ2-0003ZF-2l for submit@debbugs.gnu.org; Mon, 06 Jan 2025 19:18:49 -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 1tUxIw-0001DT-Gb for guix-patches@gnu.org; Mon, 06 Jan 2025 19:18:42 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tUxIr-00040M-Ds for guix-patches@gnu.org; Mon, 06 Jan 2025 19:18:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemreboot.net; s=default; t=1736209102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=kYtgXpIoZt8Mfdb6l/AA0q9L6u0GUBg6nKKgBTzQ0XM=; b=BOyAS7NSKchmS5OtMiws4Dg4y5WoAsxJ+XlK0+OTeyjO1EMpVCG2gn2TlEYa28LW8M5SC3 8zsSIsp8OzlvNkD9/o06PaKSvc2c2Pgi2JEEzOap2T5/zMDOPUkwS/ODQtSRvneqD8ZdpW xd+6Lm/aoemNMkf14Qamn+Qw0oPV2sa1Zm0ZirJvf5YV38wO124DQw1c7unUPHk5MG+7t8 6RyEHPwloTK50Fb7ZYMWohkJAxE3YU2rkz0l3LJ0Mux8CjY2qpVdyF776/wVIdvE1T+hrg 2AhY+rffobYlZgush560peazGocG4Y8QWmsmvLvYbRY6U7cubcG67gbOHKSuwQ== Received: from localhost.localdomain ( [192.168.2.1]) by mugam.systemreboot.net (OpenSMTPD) with ESMTPSA id edd93c6c (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 7 Jan 2025 00:18:21 +0000 (UTC) From: Arun Isaac To: guix-patches@gnu.org Subject: [PATCH 0/2] Add roll-back action to guix deploy Date: Tue, 7 Jan 2025 00:18:08 +0000 Message-ID: X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 X-Debbugs-Cc: Christopher Baines , Josselin Poiret , Ludovic Courtès , Mathieu Othacehe , Maxim Cournoyer , Simon Tournier , Tobias Geerinckx-Rice Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=139.59.75.54; envelope-from=arunisaac@systemreboot.net; helo=mugam.systemreboot.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit Cc: Arun Isaac X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) Hi, I implement a roll-back action for guix deploy. This is convenient to roll back all machines in a `guix deploy' configuration. By the by, PATCH 1 fixes a bug necessary to make this work. Regards, Arun Arun Isaac (2): machine: ssh: Return monadic value from roll-back-managed-host. deploy: Add roll-back action. doc/guix.texi | 7 ++++ gnu/machine/ssh.scm | 6 ++- guix/scripts/deploy.scm | 90 +++++++++++++++++++++++++++++++++-------- 3 files changed, 84 insertions(+), 19 deletions(-) base-commit: 67a535351f8678969e412e8dba9197a883b524d0 -- 2.47.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 06 19:29:01 2025 Received: (at 75414) by debbugs.gnu.org; 7 Jan 2025 00:29:01 +0000 Received: from localhost ([127.0.0.1]:41042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tUxSu-00041M-Qi for submit@debbugs.gnu.org; Mon, 06 Jan 2025 19:29:01 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:50610) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tUxSr-00040q-9W for 75414@debbugs.gnu.org; Mon, 06 Jan 2025 19:28:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemreboot.net; s=default; t=1736209728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=koPhJjsCT+WcG3YD0Y2UK8kA1x0JuaZMkZWun8KekNg=; b=XW74GDVfyx79iiNfOXtEUdsYaZMYYhZczvSajWZcqV2F0fiVppNLyaWYLPAk21ZIPzOZb5 FqpSscCU0Br48MRtMHzEoZi+RX1Lsziqi+Gj7M533HacCLHWhePwfbCduNRWG/MJIoFvRL 6D2B0TIAV63EIMFHmXNipUKkvJ1+d0JOPQtS4cxZV2dLl6UOYmzMGB4+ZVh8j4COOGJED9 IxJqXg9ExAF+muW68pSd/bjLHomTI4q2e+FvkOUQ12rXdEOVg/4e0ee2wWquhB/i95wzN5 pAyHsFbA0RI1hqykFdY4XXXp5KZWjTIW2h9zor0HlBxnuWQYqD149cjkaBq/og== Received: from localhost.localdomain ( [192.168.2.1]) by mugam.systemreboot.net (OpenSMTPD) with ESMTPSA id 00ab12d9 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 7 Jan 2025 00:28:47 +0000 (UTC) From: Arun Isaac To: 75414@debbugs.gnu.org Subject: [PATCH 1/2] machine: ssh: Return monadic value from roll-back-managed-host. Date: Tue, 7 Jan 2025 00:28:30 +0000 Message-ID: <9d154b115a6a1bb7a7fb0cc24d1bd8c90a1437ab.1736208948.git.arunisaac@systemreboot.net> X-Mailer: git-send-email 2.47.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Arun Isaac Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75414 Cc: Arun Isaac X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Previously, would be returned. That was a bug. Monadic procedures must always return monadic values. * gnu/machine/ssh.scm (roll-back-managed-host): Return monadic value. Change-Id: I3db2879dbfbcab5e9d251fa5ed02c8653adbeafb --- gnu/machine/ssh.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm index bc4289ef7d..73d5dc513e 100644 --- a/gnu/machine/ssh.scm +++ b/gnu/machine/ssh.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2020-2024 Ludovic Courtès ;;; Copyright © 2024 Ricardo +;;; Copyright © 2025 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -621,8 +622,9 @@ (define (roll-back-managed-host machine) #:store-directory-prefix store-dir #:old-entries old-entries))) (remote-result (machine-remote-eval machine remote-exp))) - (when (eqv? 'error remote-result) - (raise roll-back-failure)))) + (if (eqv? 'error remote-result) + (raise roll-back-failure) + (return remote-result)))) ;;; -- 2.47.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 06 19:29:04 2025 Received: (at 75414) by debbugs.gnu.org; 7 Jan 2025 00:29:04 +0000 Received: from localhost ([127.0.0.1]:41048 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tUxSy-000429-5p for submit@debbugs.gnu.org; Mon, 06 Jan 2025 19:29:04 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:50610) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tUxSu-00040q-PC for 75414@debbugs.gnu.org; Mon, 06 Jan 2025 19:29:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemreboot.net; s=default; t=1736209734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LitUQhQBPxqsOjhPgEiWuvKtbleA5haieRyDQkfxRvs=; b=LJPrLMMEZOok0tLT8WXy+YOsey1Q6a4rVLtw2ElPiXhP+lm+gBRFItRkaToPztkPO2OpLJ MJ1wCGmZAstP8aTcG1U0z+nK2Z73OxpkDxqQyVh+HK5SBRT9cYHHV6OT9jP9LlWoG2me9O sUWYE4o3cfash9LUY5IgimrC6vBIkEDSkdKW9ETW+VHhHIMtkYNmvP7uNhTABFnKuA4249 kak2bVdJ+L1L+cqWWBIEvLchWQP2nOuJrYkBFor5cVG3CGOKlcMwoPPhFAote++ZX2RdC1 YeXcK6N0StOsrWCTd+TJD1EWgMDzvGe3owt4cfGyZKAsUlkTC3HPhUt2ZmXg5w== Received: from localhost.localdomain ( [192.168.2.1]) by mugam.systemreboot.net (OpenSMTPD) with ESMTPSA id 9a4feff6 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 7 Jan 2025 00:28:53 +0000 (UTC) From: Arun Isaac To: 75414@debbugs.gnu.org Subject: [PATCH 2/2] deploy: Add roll-back action. Date: Tue, 7 Jan 2025 00:28:31 +0000 Message-ID: <48a1e0e70b6e9aef50c847e5882fd996c0a5476d.1736208948.git.arunisaac@systemreboot.net> X-Mailer: git-send-email 2.47.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Arun Isaac , Christopher Baines , Josselin Poiret , Ludovic Courtès , Mathieu Othacehe , Maxim Cournoyer , Simon Tournier , Tobias Geerinckx-Rice Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75414 Cc: Arun Isaac X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * guix/scripts/deploy.scm (guix-deploy): Add the roll-back action. (show-what-to-deploy): Optionally support the roll-back action. (roll-back-machine*): New function. (show-help): Document the roll-back action. * doc/guix.texi (Invoking guix deploy): Document the roll-back action. Change-Id: Ic5084f287aefb2d1d28380ca4ba1c6971cb913e7 --- doc/guix.texi | 7 ++++ guix/scripts/deploy.scm | 90 +++++++++++++++++++++++++++++++++-------- 2 files changed, 80 insertions(+), 17 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b2bcab8791..c08c2c70ef 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -44354,6 +44354,13 @@ Invoking guix deploy The @command{guix deploy -x} command returns zero if and only if the command succeeded on all the machines. +You may also wish to roll back configurations on machines to a previous +generation. You can do that using + +@example +guix deploy roll-back @var{file} +@end example + @c FIXME/TODO: Separate the API doc from the CLI doc. Below are the data types you need to know about when writing a diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index 941ee199f0..3f1b8b27a7 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2020-2022 Ludovic Courtès ;;; Copyright © 2024 Richard Sent +;;; Copyright © 2025 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,8 +51,13 @@ (define-module (guix scripts deploy) (define (show-help) - (display (G_ "Usage: guix deploy [OPTION] FILE... -Perform the deployment specified by FILE.\n")) + (display (G_ "Usage: guix deploy [OPTION] [ACTION] FILE... +Perform the deployment specified by FILE. +Optionally, perform ACTION.\n\n")) + (display (G_ "The valid values for ACTION are:\n")) + (newline) + (display (G_ "\ + roll-back switch to the previous operating system configuration\n")) (show-build-options-help) (newline) (display (G_ " @@ -118,20 +124,32 @@ (define (load-source-file file) environment-modules)))) (load* file module))) -(define* (show-what-to-deploy machines #:key (dry-run? #f)) - "Show the list of machines to deploy, MACHINES." +(define* (show-what-to-deploy machines #:key (dry-run? #f) (roll-back? #f)) + "Show the list of machines in MACHINES to deploy or roll back." (let ((count (length machines))) (if dry-run? - (format (current-error-port) - (N_ "The following ~d machine would be deployed:~%" - "The following ~d machines would be deployed:~%" + (if roll-back? + (format (current-error-port) + (N_ "The following ~d machine would be rolled back:~%" + "The following ~d machines would be rolled back:~%" count) count) - (format (current-error-port) - (N_ "The following ~d machine will be deployed:~%" - "The following ~d machines will be deployed:~%" + (format (current-error-port) + (N_ "The following ~d machine would be deployed:~%" + "The following ~d machines would be deployed:~%" + count) + count)) + (if roll-back? + (format (current-error-port) + (N_ "The following ~d machine will be rolled back:~%" + "The following ~d machines will be rolled back:~%" + count) count) - count)) + (format (current-error-port) + (N_ "The following ~d machine will be deployed:~%" + "The following ~d machines will be deployed:~%" + count) + count))) (display (indented-string (fill-paragraph (string-join (map machine-display-name machines) ", ") @@ -175,6 +193,35 @@ (define (deploy-machine* store machine) (info (G_ "successfully deployed ~a~%") (machine-display-name machine)))) +(define (roll-back-machine* store machine) + "Roll back MACHINE, taking care of error handling." + (info (G_ "rolling back ~a...~%") + (machine-display-name machine)) + + (guard* (c + ;; On Guile 3.0, exceptions such as 'unbound-variable' are compound + ;; and include a '&message'. However, that message only contains + ;; the format string. Thus, special-case it here to avoid + ;; displaying a bare format string. + (((exception-predicate &exception-with-kind-and-args) c) + (raise c)) + + ((message-condition? c) + (leave (G_ "failed to roll back ~a: ~a~%") + (machine-display-name machine) + (condition-message c))) + ((formatted-message? c) + (leave (G_ "failed to roll back ~a: ~a~%") + (machine-display-name machine) + (apply format #f + (gettext (formatted-message-string c) + %gettext-domain) + (formatted-message-arguments c))))) + (run-with-store store (roll-back-machine machine))) + + (info (G_ "successfully rolled back ~a~%") + (machine-display-name machine))) + (define (invoke-command store machine command) "Invoke COMMAND, a list of strings, on MACHINE. Display its output (if any) and its error code if it's non-zero. Return true if COMMAND succeeded, false @@ -291,9 +338,18 @@ (define-command (guix-deploy . args) machines))) (_ (leave (G_ "'-x' specified but no command given~%")))) - (begin - (show-what-to-deploy machines #:dry-run? dry-run?) - (unless dry-run? - (map/accumulate-builds store - (cut deploy-machine* store <>) - machines))))))))))) + (match args + (("roll-back" _ ...) + (show-what-to-deploy machines + #:dry-run? dry-run? + #:roll-back? #t) + (unless dry-run? + (map/accumulate-builds store + (cut roll-back-machine* store <>) + machines))) + (_ + (show-what-to-deploy machines #:dry-run? dry-run?) + (unless dry-run? + (map/accumulate-builds store + (cut deploy-machine* store <>) + machines)))))))))))) -- 2.47.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 19 17:00:21 2025 Received: (at 75414) by debbugs.gnu.org; 19 Jan 2025 22:00:21 +0000 Received: from localhost ([127.0.0.1]:47669 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tZdLA-0006ck-PE for submit@debbugs.gnu.org; Sun, 19 Jan 2025 17:00:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:44936) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tZdL8-0006cX-3I for 75414@debbugs.gnu.org; Sun, 19 Jan 2025 17:00:18 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZdKz-0007yC-OS; Sun, 19 Jan 2025 17:00:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=fxJDJay7d3MfY6/oCaniVPhO3m7NOvs8yOS6WUFtBtM=; b=gbce/kiym8XhC/EH+6c5 ICG/+EMJRNxMOWzVYv8d7CC9OYkv6R/GIvLlxyL2iJnXPHCm3rhQAlGtgKYC4SefgN+RmNiqVydQH xA087rSwSWWzUU7A1JDb905esAL93le2CScUkQ5F2Fq6u6H2FO3VnifJlIZfRc2PQglXVT5LdRwUp i8SQ5s/pRhV71XI/s6JLiadPlNfhzAxxBMdqEd0Lua8kBrsy/Sbz1hOsfuS2DHHucMai9y7hwtUPY Dbl6VXLkh8Ef9+42DgyfqMLkJDCu9mD6aEObJUjS/003bXGbxon+cZEuJ57xwuS5gUOmE1PDEZIM9 2FHafdc90mebmQ==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Arun Isaac Subject: Re: [bug#75414] [PATCH 1/2] machine: ssh: Return monadic value from roll-back-managed-host. In-Reply-To: <9d154b115a6a1bb7a7fb0cc24d1bd8c90a1437ab.1736208948.git.arunisaac@systemreboot.net> (Arun Isaac's message of "Tue, 7 Jan 2025 00:28:30 +0000") References: <9d154b115a6a1bb7a7fb0cc24d1bd8c90a1437ab.1736208948.git.arunisaac@systemreboot.net> Date: Sun, 19 Jan 2025 23:00:06 +0100 Message-ID: <87wmeqo461.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 75414 Cc: 75414@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Howdy Arun, Arun Isaac skribis: > Previously, would be returned. That was a bug. Monadic > procedures must always return monadic values. > > * gnu/machine/ssh.scm (roll-back-managed-host): Return monadic value. > > Change-Id: I3db2879dbfbcab5e9d251fa5ed02c8653adbeafb LGTM! From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 19 17:07:27 2025 Received: (at 75414) by debbugs.gnu.org; 19 Jan 2025 22:07:27 +0000 Received: from localhost ([127.0.0.1]:47686 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tZdS3-0006tt-H8 for submit@debbugs.gnu.org; Sun, 19 Jan 2025 17:07:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37012) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tZdS1-0006tW-0D for 75414@debbugs.gnu.org; Sun, 19 Jan 2025 17:07:25 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZdRj-0000bW-KQ; Sun, 19 Jan 2025 17:07:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=nyl0nCUKASzFnNTla9u94hzO7Sr0SLE6U3GWCK637bI=; b=byzwfJPIqHIhJsy48o5K b1v6lOvT18VTUg8CmHfw7CyAiQyLLWwreCEE87xlOusGSSytnxjF5bLKmFwioUlf3uROmO9uV5Vag yRfKx+iNQUjDPt1WZMhEqgDgas/P8Lp1sXe5nsFA+bvTmLOFHz3PZi7cmfM5VvHBf31wSH69vx6pm bdIRG+fKHxgqnsH7/FNvdEUeT+Z5TPjJeFtG1IhF7e8qphgJyjaRr8aTqBEA2PBuSUdBihTnHROwl r/ocBl8RPdUP5GDM9PSUSUnllz7Cvup0m2+Jy9YaKaCt1HnMHc/0WhE1M2+7cD/m5wBGxxB9kktTo 7zM3xEek+0TySA==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Arun Isaac Subject: Re: [bug#75414] [PATCH 2/2] deploy: Add roll-back action. In-Reply-To: <48a1e0e70b6e9aef50c847e5882fd996c0a5476d.1736208948.git.arunisaac@systemreboot.net> (Arun Isaac's message of "Tue, 7 Jan 2025 00:28:31 +0000") References: <48a1e0e70b6e9aef50c847e5882fd996c0a5476d.1736208948.git.arunisaac@systemreboot.net> Date: Sun, 19 Jan 2025 23:07:02 +0100 Message-ID: <87r04yo3uh.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 75414 Cc: Josselin Poiret , Maxim Cournoyer , Simon Tournier , Mathieu Othacehe , Tobias Geerinckx-Rice , 75414@debbugs.gnu.org, Christopher Baines X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Arun Isaac skribis: > * guix/scripts/deploy.scm (guix-deploy): Add the roll-back action. > (show-what-to-deploy): Optionally support the roll-back action. > (roll-back-machine*): New function. > (show-help): Document the roll-back action. > * doc/guix.texi (Invoking guix deploy): Document the roll-back action. > > Change-Id: Ic5084f287aefb2d1d28380ca4ba1c6971cb913e7 [...] > +You may also wish to roll back configurations on machines to a previous > +generation. You can do that using ^ I would add a colon. > (define (show-help) > - (display (G_ "Usage: guix deploy [OPTION] FILE... > -Perform the deployment specified by FILE.\n")) > + (display (G_ "Usage: guix deploy [OPTION] [ACTION] FILE... Hmm I would rather have =E2=80=98guix deploy --roll-back=E2=80=99, although= that=E2=80=99d be different from =E2=80=98guix system=E2=80=99, primarily because I don=E2=80= =99t see what other actions we could have, and in particular how we=E2=80=99d name the default action (=E2=80=98guix deploy deploy=E2=80=99? =E2=80=98guix deploy really= =E2=80=99? =E2=80=98guix deploy please=E2=80=99?). Tough issue! But note that if we make it a =E2=80=98--roll-back=E2=80=99 option, we can = easily change our mind later and make it an action, whereas the converse would be more difficult. Apart from that it looks great to me. Thank you! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 24 10:46:02 2025 Received: (at 75414) by debbugs.gnu.org; 24 Jan 2025 15:46:02 +0000 Received: from localhost ([127.0.0.1]:46607 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tbLsf-0006wo-RC for submit@debbugs.gnu.org; Fri, 24 Jan 2025 10:46:02 -0500 Received: from sofi-shared.hosting.energy ([2001:41d0:602:1f56::]:56550 helo=sofi.hosting.energy) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tbLsd-0006wa-9t for 75414@debbugs.gnu.org; Fri, 24 Jan 2025 10:45:59 -0500 Received: from [212.233.86.195] (helo=laptop) by sofi.hosting.energy with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1tbLsM-0002ci-OW; Fri, 24 Jan 2025 18:45:42 +0300 From: Evgeny Pisemsky To: 75414@debbugs.gnu.org Subject: Re: [bug#75414] [PATCH 2/2] deploy: Add roll-back action. Date: Fri, 24 Jan 2025 18:45:40 +0300 Message-ID: <87ikq4p657.fsf@pisemsky.site> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 75414 Cc: ludo@gnu.org, arunisaac@systemreboot.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Hmm I would rather have =E2=80=98guix deploy --roll-back=E2=80=99, althou= gh that=E2=80=99d be > different from =E2=80=98guix system=E2=80=99, primarily because I don=E2= =80=99t see what other > actions we could have, and in particular how we=E2=80=99d name the default > action (=E2=80=98guix deploy deploy=E2=80=99? =E2=80=98guix deploy really= =E2=80=99? =E2=80=98guix deploy > please=E2=80=99?). The default action is =3Dsystem reconfigure=3D on remote machine(s). This patch implements =3Dsystem roll-back=3D on remote machine(s) I really miss =3Dsystem delete-generations=3D on remote machine(s), which understands =3Dbuild-locally?=3D and does not trigger a lot of downloads just to update grub, which happens when I run it directly on machine. So one can see the tendency here - reimplementing system actions for deploy. Since machine definition includes system definition, how bad is the idea to just make deploy a feature of specific system actions? Even in the manual they follow each other in the same system section. On the other hand, it is clear that all system commands work with a single operating system, and adding deploy may be conceptually wrong. But if it is not, I think about an UI analogous to guix container: #+begin_example guix system reconfigure --machine servers.scm guix machine exec servers.scm -- herd restart something #+end_example The first command actually works with systems on remote machine(s). The second one is specific to machine(s), without affecting systems. To me this is more flexible than one command that does everything. I can imagine a situation when I just need to run some command on all machines without reconfiguring them, which is currently impossible. Of course, this is not an objection to the patch, just a brain dump. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 24 18:13:48 2025 Received: (at 75414) by debbugs.gnu.org; 24 Jan 2025 23:13:48 +0000 Received: from localhost ([127.0.0.1]:47460 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tbSrz-00015B-KH for submit@debbugs.gnu.org; Fri, 24 Jan 2025 18:13:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45054) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tbSrx-00014x-0x for 75414@debbugs.gnu.org; Fri, 24 Jan 2025 18:13:45 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tbSrp-00085C-8W; Fri, 24 Jan 2025 18:13:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=ie2ko7Lmijrb3XHjqb+JGnV5Z0MRTZ5FWOPc3Lw4eeU=; b=BU8knYp+qWKI8RzBJfgx t8agvh/Pqx2u0iMiWwhAvDn48DP6/7pSoTCRe4no+Qy5ofU8D4NDHmG5SCUxRFWwm9EydrOePV2Cr Hhmv4UuAuYuoo7GNQaDUNLonWlfniBoW2ItQwzL5no9sf4AlZ9Rba0ZO9hIK7n3UThLV/oGtXA59N wxiXgE4L/Izw9PthQOc/7KCSyo1sN+zP0Oz++OVOdYCmRvaoBgThysmGJ78Fsl6osZMX085sa3cJe VHzoZ++nEXkkns5OqEkc4ULNUFeDen7IEPDv//MGOVvSBW6GQdbcMMczYYqxUsp+1hOpr/Hj2dx+K c5wtVxIukyITaA==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Evgeny Pisemsky Subject: Re: [bug#75414] [PATCH 2/2] deploy: Add roll-back action. In-Reply-To: <87ikq4p657.fsf@pisemsky.site> (Evgeny Pisemsky's message of "Fri, 24 Jan 2025 18:45:40 +0300") References: <87ikq4p657.fsf@pisemsky.site> Date: Sat, 25 Jan 2025 00:13:34 +0100 Message-ID: <87lduzbyap.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 75414 Cc: arunisaac@systemreboot.net, 75414@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Evgeny Pisemsky skribis: >> Hmm I would rather have =E2=80=98guix deploy --roll-back=E2=80=99, altho= ugh that=E2=80=99d be >> different from =E2=80=98guix system=E2=80=99, primarily because I don=E2= =80=99t see what other >> actions we could have, and in particular how we=E2=80=99d name the defau= lt >> action (=E2=80=98guix deploy deploy=E2=80=99? =E2=80=98guix deploy reall= y=E2=80=99? =E2=80=98guix deploy >> please=E2=80=99?). > > The default action is =3Dsystem reconfigure=3D on remote machine(s). > > This patch implements =3Dsystem roll-back=3D on remote machine(s) > > I really miss =3Dsystem delete-generations=3D on remote machine(s), which > understands =3Dbuild-locally?=3D and does not trigger a lot of downloads > just to update grub, which happens when I run it directly on machine. Yes, I understand. My question is more about how we=E2=80=99d name that de= fault action. And also noting that this is a broader change than just adding support for roll-back. > #+begin_example > guix system reconfigure --machine servers.scm > guix machine exec servers.scm -- herd restart something > #+end_example =E2=80=98guix machine=E2=80=99 might actually be a better name than =E2=80= =98guix deploy=E2=80=99. > To me this is more flexible than one command that does everything. I > can imagine a situation when I just need to run some command on all > machines without reconfiguring them, which is currently impossible. It=E2=80=99s possible: guix deploy machines.scm -x -- herd restart something But yes, it could very well be called =E2=80=98guix machine exec =E2=80=A6= =E2=80=99. Anyway, we=E2=80=99re going beyond what this patch series intended to addre= ss! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 31 14:01:15 2025 Received: (at 75414) by debbugs.gnu.org; 31 Jan 2025 19:01:15 +0000 Received: from localhost ([127.0.0.1]:54327 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tdwGR-0007JN-E8 for submit@debbugs.gnu.org; Fri, 31 Jan 2025 14:01:15 -0500 Received: from sofi-shared.hosting.energy ([2001:41d0:602:1f56::]:59462 helo=sofi.hosting.energy) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tdwGO-0007J0-Id for 75414@debbugs.gnu.org; Fri, 31 Jan 2025 14:01:14 -0500 Received: from [212.233.86.79] (helo=laptop) by sofi.hosting.energy with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1tdwGF-0003xH-6L; Fri, 31 Jan 2025 22:01:03 +0300 From: Evgeny Pisemsky To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#75414] [PATCH 2/2] deploy: Add roll-back action. In-Reply-To: <87lduzbyap.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Sat, 25 Jan 2025 00:13:34 +0100") References: <87ikq4p657.fsf@pisemsky.site> <87lduzbyap.fsf@gnu.org> Date: Fri, 31 Jan 2025 22:01:00 +0300 Message-ID: <87jzaa95ar.fsf@pisemsky.site> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 4.0 (++++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Ludovic Courtès writes: >> To me this is more flexible than one command that does everything. I >> can imagine a situation when I just need to run some command on all >> machines without reconfiguring them, which is currentl [...] Content analysis details: (4.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.233.86.79 listed in zen.spamhaus.org] 0.0 T_SPF_HELO_PERMERROR SPF: test of HELO record failed (permerror) 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) 0.4 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-Debbugs-Envelope-To: 75414 Cc: arunisaac@systemreboot.net, 75414@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.6 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Ludovic Courtès writes: >> To me this is more flexible than one command that does everything. I >> can imagine a situation when I just need to run some command on all >> machines without reconfiguring them, which is currentl [...] Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.233.86.79 listed in zen.spamhaus.org] 0.0 T_SPF_HELO_PERMERROR SPF: test of HELO record failed (permerror) 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager Ludovic Court=C3=A8s writes: >> To me this is more flexible than one command that does everything. I >> can imagine a situation when I just need to run some command on all >> machines without reconfiguring them, which is currently impossible. > > It=E2=80=99s possible: > > guix deploy machines.scm -x -- herd restart something This is funny and sad at the same time, because I thought that this option works like some kind of post-deploy hook, not separate action. The reasons are how documentation puts it and how those commands look: the verb "deploy" just make one think it always deploys. Confusing UI. If my opinion matters, for the current =3Dguix deploy=3D interface keep adding actions as options, explicitly stating them as separate actions in documentation. If/when the decision to introduce =3Dguix machine=3D UI will be made, it would be better to implement actual actions there - like in the transition from =3Dguix environment=3D to =3Dguix shell=3D. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 01 17:34:08 2025 Received: (at 75414) by debbugs.gnu.org; 1 Feb 2025 22:34:08 +0000 Received: from localhost ([127.0.0.1]:60341 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1teM40-0005id-6v for submit@debbugs.gnu.org; Sat, 01 Feb 2025 17:34:08 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:55206) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1teM3x-0005i9-Ii for 75414@debbugs.gnu.org; Sat, 01 Feb 2025 17:34:07 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemreboot.net; s=default; t=1738449240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=A3yyasQh8+CuFxFbOG4jfvgfuLUDApDIdPbxi50jTSM=; b=UkwlcWt1hkL1DJgweXsxusCWO6KXs1+Yihi59Z6/dPFClKUmW+yCn7KMN1gZCpHvsgoy2s a/PggYXRHK2+Q4TdmyF5D74DYntyLwfBidKN4px+wsIPBfjIPQ44tTP1PFcshQr5D5VeeE 90Ho9C2sCRIAyL2lCYcLoMzVVRTTOjPUXXm3h8area17ZwkYTzIIYHqq4PmeKRiMC0IKBi MKwrF9cN7pxnL5owupmYUCajYxpwaWIh3f03q2XNMIMu+WCSlcUouoWdpaWaj/u3lgEb8B 30i1yVUJaOCj6waSfGEHKBy4/pIT/hdvkvIdMegPtJmLCKVHXN+2tOhoxjcO2w== Received: from localhost ( [192.168.2.1]) by mugam.systemreboot.net (OpenSMTPD) with ESMTPSA id 33ed0032 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sat, 1 Feb 2025 22:33:59 +0000 (UTC) From: Arun Isaac To: Evgeny Pisemsky , Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#75414] [PATCH 2/2] deploy: Add roll-back action. In-Reply-To: <87jzaa95ar.fsf@pisemsky.site> References: <87ikq4p657.fsf@pisemsky.site> <87lduzbyap.fsf@gnu.org> <87jzaa95ar.fsf@pisemsky.site> Date: Sat, 01 Feb 2025 22:33:53 +0000 Message-ID: <875xltnvla.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75414 Cc: 75414@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi all, Thanks everyone for the feedback! > If my opinion matters, for the current =guix deploy= interface keep > adding actions as options, explicitly stating them as separate actions > in documentation. If/when the decision to introduce =guix machine= UI > will be made, it would be better to implement actual actions there - > like in the transition from =guix environment= to =guix shell=. I'm at FOSDEM now, and will be on vacation next week. I'll work on this and send a new patch series when I'm back home. Regards, Arun From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 19:05:19 2025 Received: (at 75414) by debbugs.gnu.org; 19 Feb 2025 00:05:19 +0000 Received: from localhost ([127.0.0.1]:36223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkXaZ-000108-8P for submit@debbugs.gnu.org; Tue, 18 Feb 2025 19:05:19 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:35288) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkXaU-0000wc-90 for 75414@debbugs.gnu.org; Tue, 18 Feb 2025 19:05:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemreboot.net; s=default; t=1739923501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=4aQjdFavr2q4bqWGmxB6QSlrlRNimsxnVAiVirEdnqo=; b=qDrIo1qtZvzh5RbUYLpIGp12pX3FmZdKLX+9uc29B33sX1eDJhh0xBJ/16TDXuxy2Uye8y 75oHhGd2ozuMkcyJnHfBz6S7KU7/fWERyiyPDla9QcqVpk1k8moIlrqjRAmTEoWwxmaAZV QXQqEOWM8vmIkJcZ2b8uiGxH9WhidY7vZceGzy3ln/YXN11P1vm4ve4mr6MgSMRyvVyEF9 HU58OX1x3VESa9rSoahk/EkBjCcCGwmeFJCLePyW7aS/emzxa2KLt/QunmK2y6T9vm2twL O3kkzSHEUpvZFo0KkDWWTkwHq+8nv47JqNmKtouKqy//1AhL3hedEHi5DFsPaA== Received: from localhost ( [192.168.2.1]) by mugam.systemreboot.net (OpenSMTPD) with ESMTPSA id 33dbe46f (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 19 Feb 2025 00:05:00 +0000 (UTC) From: Arun Isaac To: Evgeny Pisemsky , Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#75414] [PATCH 2/2] deploy: Add roll-back action. In-Reply-To: <875xltnvla.fsf@systemreboot.net> References: <87ikq4p657.fsf@pisemsky.site> <87lduzbyap.fsf@gnu.org> <87jzaa95ar.fsf@pisemsky.site> <875xltnvla.fsf@systemreboot.net> Date: Wed, 19 Feb 2025 00:04:51 +0000 Message-ID: <874j0qyf30.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75414 Cc: 75414@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thanks for the feedback, and sorry about the long delay. This is on my radar. I will get to this soon, perhaps by next week. From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 17:56:22 2025 Received: (at 75414) by debbugs.gnu.org; 27 Feb 2025 22:56:23 +0000 Received: from localhost ([127.0.0.1]:39557 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnmnm-0006WL-JA for submit@debbugs.gnu.org; Thu, 27 Feb 2025 17:56:22 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:45514) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnmni-0006V6-DL for 75414@debbugs.gnu.org; Thu, 27 Feb 2025 17:56:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemreboot.net; s=default; t=1740696963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=r2onGM9qmfP3tgHIDGZHAVXfEaSb0KbBkOFtU46jB2k=; b=nWrfcaomZ3S6Em9c8v2cay9gtzxfJHaYCrd9zSymp6xZugQ9/mbR1Rw3g4SjUHcsZpRGbr uFLSryhW1s/mS8UOy4aiCDajxNt+PP3nODWMzwi25nSDlJYcVGssY9fZ2NU5DL6GVeKhjx Cdh3iif7o2soiSL6mIkPtGNK/7A7ySRbepynfVg593uYmXPgb3xhNTxnBnddU9NJyMvjFP ymABHvT4lGPobl1gXs+379ngVLYXXC6ywFZ0nqlrHiqNrlVTbWE1aUoCblraKdh2z8iCdc l0YbHGyl+RVPy/exuF3+T3Se+9TceA7eEjioMK9/N16Lj4m9jGWqRtvA+TA1oA== Received: from localhost.localdomain ( [192.168.2.1]) by mugam.systemreboot.net (OpenSMTPD) with ESMTPSA id 51aefc02 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 27 Feb 2025 22:56:03 +0000 (UTC) From: Arun Isaac To: 75414@debbugs.gnu.org Subject: [PATCH v2 0/1] deploy: Add --roll-back option Date: Thu, 27 Feb 2025 22:55:49 +0000 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 X-Debbugs-Cc: Arun Isaac , Ludovic Courtès , Evgeny Pisemsky , Christopher Baines , Josselin Poiret , Mathieu Othacehe , Maxim Cournoyer , Simon Tournier , Tobias Geerinckx-Rice Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75414 Cc: Arun Isaac X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, I pushed the first patch in this patchset since it was approved. Here is the v2 of the second patch. Regards, Arun Arun Isaac (1): deploy: Add --roll-back option. doc/guix.texi | 8 +++++ guix/scripts/deploy.scm | 75 +++++++++++++++++++++++++++++++++++------ 2 files changed, 72 insertions(+), 11 deletions(-) base-commit: 55a5181e745131e5369beaf59d4d406da92b5617 -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 17:56:33 2025 Received: (at 75414) by debbugs.gnu.org; 27 Feb 2025 22:56:33 +0000 Received: from localhost ([127.0.0.1]:39565 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnmnv-0006Wy-6P for submit@debbugs.gnu.org; Thu, 27 Feb 2025 17:56:32 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:45530) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnmnl-0006Vd-O3 for 75414@debbugs.gnu.org; Thu, 27 Feb 2025 17:56:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemreboot.net; s=default; t=1740696967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EZOWwEKQOlVirjAP3j26GewV4c1S/rzdGxxSkPdAfPY=; b=ZPHXfmC8SuqLbcnO0J1I4rmTrxRUr4QH8DLsHoT99tu/qymihIWzr9Q+p5AXXro2cLim5M hSyoagP85ne4mTPs42amIzXMLXeBD6K3fmlK2wsgMe3C5iDvGmh+MwUQJPMh6Sae8z025b G0PDzUOtXlyeNOZM5rlursamSWIKMROfbqbIeWwG5uI2rMMfBurlwCHIfcYx0I7/e42m7N 4hTXC1kkw1q1dQktN5Yg2CVVZXbDZEUbi7mfOt0c3nzF55XbBng6+1Xmx4y9ewAELGe2I0 lrVOrr6htdUDjVUP4BR64idcRW6AsVDk2Xw22WMQDXYjubp88kmk4RIozKTXoQ== Received: from localhost.localdomain ( [192.168.2.1]) by mugam.systemreboot.net (OpenSMTPD) with ESMTPSA id 7a462f56 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 27 Feb 2025 22:56:06 +0000 (UTC) From: Arun Isaac To: 75414@debbugs.gnu.org Subject: [PATCH v2 1/1] deploy: Add --roll-back option. Date: Thu, 27 Feb 2025 22:55:50 +0000 Message-ID: <935556e67e516977fb5b180da9e6598e1354955e.1740696875.git.arunisaac@systemreboot.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Arun Isaac , Ludovic Courtès , Evgeny Pisemsky , Christopher Baines , Josselin Poiret , Mathieu Othacehe , Maxim Cournoyer , Simon Tournier , Tobias Geerinckx-Rice Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75414 Cc: Arun Isaac X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * guix/scripts/deploy.scm (guix-deploy): Add the --roll-back option. (show-what-to-deploy): Add #:roll-back? argument. (roll-back-machine*): New function. (show-help): Document the --roll-back option. * doc/guix.texi (Invoking guix deploy): Document the --roll-back option. Change-Id: Ic5084f287aefb2d1d28380ca4ba1c6971cb913e7 --- doc/guix.texi | 8 +++++ guix/scripts/deploy.scm | 75 +++++++++++++++++++++++++++++++++++------ 2 files changed, 72 insertions(+), 11 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a036c85c31a..64746c7f925 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -45232,6 +45232,14 @@ Invoking guix deploy The @command{guix deploy -x} command returns zero if and only if the command succeeded on all the machines. +You may also wish to roll back configurations on machines to a previous +generation. You can do that using the @option{--roll-back} or +@option{-r} option like so: + +@example +guix deploy --roll-back @var{file} +@end example + @c FIXME/TODO: Separate the API doc from the CLI doc. Below are the data types you need to know about when writing a diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index 941ee199f01..e2ef0006e06 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2020-2022 Ludovic Courtès ;;; Copyright © 2024 Richard Sent +;;; Copyright © 2025 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,6 +64,8 @@ (define (show-help) -e, --expression=EXPR deploy the list of machines EXPR evaluates to")) (newline) (display (G_ " + -r, --roll-back switch to the previous operating system configuration")) + (display (G_ " -x, --execute execute the following command on all the machines")) (newline) (display (G_ " @@ -84,6 +87,9 @@ (define %options (option '(#\n "dry-run") #f #f (lambda (opt name arg result) (alist-cons 'dry-run? #t result))) + (option '(#\r "roll-back") #f #f + (lambda (opt name arg result) + (alist-cons 'roll-back? #t result))) (option '(#\x "execute") #f #f (lambda (opt name arg result) (alist-cons 'execute-command? #t result))) @@ -118,20 +124,32 @@ (define (load-source-file file) environment-modules)))) (load* file module))) -(define* (show-what-to-deploy machines #:key (dry-run? #f)) - "Show the list of machines to deploy, MACHINES." +(define* (show-what-to-deploy machines #:key (dry-run? #f) (roll-back? #f)) + "Show the list of machines in MACHINES to deploy or roll back." (let ((count (length machines))) (if dry-run? - (format (current-error-port) - (N_ "The following ~d machine would be deployed:~%" - "The following ~d machines would be deployed:~%" + (if roll-back? + (format (current-error-port) + (N_ "The following ~d machine would be rolled back:~%" + "The following ~d machines would be rolled back:~%" count) count) - (format (current-error-port) - (N_ "The following ~d machine will be deployed:~%" - "The following ~d machines will be deployed:~%" + (format (current-error-port) + (N_ "The following ~d machine would be deployed:~%" + "The following ~d machines would be deployed:~%" + count) + count)) + (if roll-back? + (format (current-error-port) + (N_ "The following ~d machine will be rolled back:~%" + "The following ~d machines will be rolled back:~%" + count) count) - count)) + (format (current-error-port) + (N_ "The following ~d machine will be deployed:~%" + "The following ~d machines will be deployed:~%" + count) + count))) (display (indented-string (fill-paragraph (string-join (map machine-display-name machines) ", ") @@ -175,6 +193,35 @@ (define (deploy-machine* store machine) (info (G_ "successfully deployed ~a~%") (machine-display-name machine)))) +(define (roll-back-machine* store machine) + "Roll back MACHINE, taking care of error handling." + (info (G_ "rolling back ~a...~%") + (machine-display-name machine)) + + (guard* (c + ;; On Guile 3.0, exceptions such as 'unbound-variable' are compound + ;; and include a '&message'. However, that message only contains + ;; the format string. Thus, special-case it here to avoid + ;; displaying a bare format string. + (((exception-predicate &exception-with-kind-and-args) c) + (raise c)) + + ((message-condition? c) + (leave (G_ "failed to roll back ~a: ~a~%") + (machine-display-name machine) + (condition-message c))) + ((formatted-message? c) + (leave (G_ "failed to roll back ~a: ~a~%") + (machine-display-name machine) + (apply format #f + (gettext (formatted-message-string c) + %gettext-domain) + (formatted-message-arguments c))))) + (run-with-store store (roll-back-machine machine))) + + (info (G_ "successfully rolled back ~a~%") + (machine-display-name machine))) + (define (invoke-command store machine command) "Invoke COMMAND, a list of strings, on MACHINE. Display its output (if any) and its error code if it's non-zero. Return true if COMMAND succeeded, false @@ -258,6 +305,7 @@ (define-command (guix-deploy . args) (machines (or (and file (load-source-file file)) (and expression (read/eval expression)))) (dry-run? (assoc-ref opts 'dry-run?)) + (roll-back? (assq-ref opts 'roll-back?)) (execute-command? (assoc-ref opts 'execute-command?))) (when (and file expression) (leave (G_ "both '--expression' and a deployment file were provided~%"))) @@ -292,8 +340,13 @@ (define-command (guix-deploy . args) (_ (leave (G_ "'-x' specified but no command given~%")))) (begin - (show-what-to-deploy machines #:dry-run? dry-run?) + (show-what-to-deploy machines + #:dry-run? dry-run? + #:roll-back? roll-back?) (unless dry-run? (map/accumulate-builds store - (cut deploy-machine* store <>) + (cut (if roll-back? + roll-back-machine* + deploy-machine*) + store <>) machines))))))))))) -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 19:42:21 2025 Received: (at 75414) by debbugs.gnu.org; 28 Feb 2025 00:42:21 +0000 Received: from localhost ([127.0.0.1]:40529 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnoSK-0000XI-U0 for submit@debbugs.gnu.org; Thu, 27 Feb 2025 19:42:21 -0500 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]:59790) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tnoSI-0000Wf-F1 for 75414@debbugs.gnu.org; Thu, 27 Feb 2025 19:42:19 -0500 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2235908a30aso27958225ad.3 for <75414@debbugs.gnu.org>; Thu, 27 Feb 2025 16:42:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740703332; x=1741308132; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=hjAjMa0JMtAPvJBupttmTOK39SQNjaswZzVdPYdg9Lg=; b=COYxhf8D6zcIc8mynVOxHXhlAwUDMbS+lwnvp6+NIX8kpFeLg4ZZKEX5fK5+p0Ewx4 1vqI0sebwj+SQ1ST9WlJvVgtEIDR8NK/E71m7jsIv8+rMHKbOYc/5cQWFysBQfb9DZDP n3OzVDZ6a6Uh5vUP2gojh/bDAWc0lATlHJ6GIa5sl0gWRmlkYiwFSm0OLCmQX9NL+7Gy o/SBcB5n33tHZFnywn63PCa1uU7ZV88RX2/iKpeQPtPAh5WzRBqBYlmkFoK/x1ElQW3O vbinw+fHJo0zNCR7Ael2kVgh0aMCXwa9ONva58G2sekG7AXPYAFfTbEM5QT8A1FcKPek pUCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740703332; x=1741308132; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hjAjMa0JMtAPvJBupttmTOK39SQNjaswZzVdPYdg9Lg=; b=Mw8F5iRlyNT9CD987GaecQEqQKIWY/325PTV/h8yB8WDC+yIKI8lEZJIR6SA+1rmrs 1WU3auy94sRnW6FvQm8gqqWyxZ7ALnW5g+pIiz5o0BSfoppWnelNuQczmNzNXl+JnQQs BzZUAT7e83y4L61OqhrISb8g6MtGSKhqUiQGwFp08ks1FgaH7d0Guw4EhLe+NwDm33fv H8rQExzGOHFzPb3CtcNyt6UILdWOE2Qx9lZMkq9lSA6bTVzoZmU621BNFdXH44+8jshy i/vtKKX5pVO7xxEhCM5uTdX8eYgoKpA2LEU5qLCmhRnIUit6lHCjp+TgIdQP5p6xs7B1 3wFA== X-Gm-Message-State: AOJu0YzLca+/ULT2jIralNMRpRYmTbQ87IyygeOQwhjVQXuWng23voaS jknDfy/o9DYyeeik0JE+FgujY61q61DhU6NlFmf5Dm+YvLp1cozl X-Gm-Gg: ASbGncuWGDbmZJG4CRqL/YAiJEtWIol0jnaJLs01Jejp24PcW+Af+A/f8LktEilsm4N QSXTv9ypc+MKfHUEFQsnbE8+zV3CwmM0U0UJOOfASGGlrnDJP9CTQ7ll4qHsq9KtGgkKFJd5AZg N4356OySdxxerZ2o9p7xy8NF+oybIE8R6sADvZvZOWZMPHELqrgIp+RMk+BKrPO21LywDlJOJQL czeswP6ElTsMycTF9hYJA/ybnBqz/pvbQGrGPJhW2aOLNU+gELlbZKnHktOzpnIB7CO2tjbyjEN qSif6F5ZPrqT/LqYfnFJCSsz X-Google-Smtp-Source: AGHT+IEFlDu2cp0MzLyMpjWOzOnooGRmviKqp+8TNoh1KuG7YFuJJ0bZa03zVh08MpcLZ7Ko0mLfEA== X-Received: by 2002:a17:903:2ca:b0:216:725c:a12c with SMTP id d9443c01a7336-22368f612dbmr22330465ad.9.1740703332358; Thu, 27 Feb 2025 16:42:12 -0800 (PST) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223504c5b43sm21736285ad.129.2025.02.27.16.42.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 16:42:11 -0800 (PST) From: Maxim Cournoyer To: Arun Isaac Subject: Re: [bug#75414] [PATCH v2 1/1] deploy: Add --roll-back option. In-Reply-To: <935556e67e516977fb5b180da9e6598e1354955e.1740696875.git.arunisaac@systemreboot.net> (Arun Isaac's message of "Thu, 27 Feb 2025 22:55:50 +0000") References: <935556e67e516977fb5b180da9e6598e1354955e.1740696875.git.arunisaac@systemreboot.net> Date: Fri, 28 Feb 2025 09:41:57 +0900 Message-ID: <8734fykii2.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75414 Cc: Josselin Poiret , Tobias Geerinckx-Rice , Simon Tournier , Mathieu Othacehe , Ludovic =?utf-8?Q?Court=C3=A8s?= , Evgeny Pisemsky , 75414@debbugs.gnu.org, Christopher Baines X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Arun, Arun Isaac writes: > * guix/scripts/deploy.scm (guix-deploy): Add the --roll-back option. > (show-what-to-deploy): Add #:roll-back? argument. > (roll-back-machine*): New function. > (show-help): Document the --roll-back option. > * doc/guix.texi (Invoking guix deploy): Document the --roll-back option. > > Change-Id: Ic5084f287aefb2d1d28380ca4ba1c6971cb913e7 The change LGTM, but I was just thinking that --roll-back, which doesn't actually 'deploy' anything (it rathers does something more akind to 'guix deploy -x -- sudo guix system roll-back', right ?), was a bit odd to have under 'guix deploy'. Probably not important enough to block this contribution. I'd say, go ahead! Reviewed-by: Maxim Cournoyer -- Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 20:24:00 2025 Received: (at 75414) by debbugs.gnu.org; 28 Feb 2025 01:24:00 +0000 Received: from localhost ([127.0.0.1]:40954 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnp6e-000564-2k for submit@debbugs.gnu.org; Thu, 27 Feb 2025 20:24:00 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:52092) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnp6Y-000555-5M for 75414@debbugs.gnu.org; Thu, 27 Feb 2025 20:23:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemreboot.net; s=default; t=1740705820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=J0KHAv4ysODrlgUI3Pb1HZGM3JzAek+4OrxQqyXOhks=; b=fx5EQTaOTP1gQEIkbNODZqwnip4tXPtagBdhjl22Ta7JgNo+Crfhr0LojBcpVunPNo2T96 cUao1SbvCyL13HNoRTCQ1t4Ap/e3FN6hxvIXQDehYTRiQTnXNhrq/+01qoxowUq5HS4N1i GBRL9oinSMkYU6tHxFrsLDUnUNBo3A7eJ2bCTwMFkILVUBZPCHAhctsWoiE27LHKg2LTIZ qKe+AdaEOtjlg8UF7p34WzdmOnizA65orMi7aVLFzaMeXaVt0XrJ0O8AmPKaN9uZtySFkN ZDjlzNw5i20UZQUwDTqJK7SBuBUtr47ZjU60VmM8sc/24LNxz6CDJ7Jdsidu6Q== Received: from localhost ( [192.168.2.1]) by mugam.systemreboot.net (OpenSMTPD) with ESMTPSA id b41bba72 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 28 Feb 2025 01:23:40 +0000 (UTC) From: Arun Isaac To: Maxim Cournoyer Subject: Re: [bug#75414] [PATCH v2 1/1] deploy: Add --roll-back option. In-Reply-To: <8734fykii2.fsf@gmail.com> References: <935556e67e516977fb5b180da9e6598e1354955e.1740696875.git.arunisaac@systemreboot.net> <8734fykii2.fsf@gmail.com> Date: Fri, 28 Feb 2025 01:23:32 +0000 Message-ID: <87plj2zwtn.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75414 Cc: Josselin Poiret , Tobias Geerinckx-Rice , Simon Tournier , Mathieu Othacehe , Ludovic =?utf-8?Q?Court=C3=A8s?= , Evgeny Pisemsky , 75414@debbugs.gnu.org, Christopher Baines X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Maxim, Thanks for the review! > The change LGTM, but I was just thinking that --roll-back, which doesn't > actually 'deploy' anything (it rathers does something more akind to > 'guix deploy -x -- sudo guix system roll-back', right ?), was a bit odd > to have under 'guix deploy'. Probably not important enough to block > this contribution. I'd say, go ahead! That's true. It's not the best user experience. The idea was that we'd revisit that decision later. See earlier discussion on this issue. Regards, Arun From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 28 19:37:04 2025 Received: (at 75414-done) by debbugs.gnu.org; 1 Mar 2025 00:37:04 +0000 Received: from localhost ([127.0.0.1]:55098 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1toAql-0005o0-Bv for submit@debbugs.gnu.org; Fri, 28 Feb 2025 19:37:03 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:39952) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1toAqf-0005ms-UT for 75414-done@debbugs.gnu.org; Fri, 28 Feb 2025 19:37:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemreboot.net; s=default; t=1740789400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to; bh=2KTQT9Ih8mabdfaa7qYfRfoGfIHHFcxm9n15+pLG4vk=; b=VcWqcvmc6Aiq/LtoKxv4sYm3KLCbx/kgxKUHwRdUirrAOQ0JIf9EblBXJ+ulBIelvj2zc/ qrgTeblfRZd5DpK7NQN9LOVm5WXsy2LE3BP4qQQJDsMOBl+K9e7BjuIpRBR9HRRl7C/QQb zkGweZ0Km7eC450T9sBUcTTqQDvLw0QAj2MC3+qGaqxslS5pQGl3l0CGLhnjc1UtpL2vPS fpxjhooi6SbhevqL/30zm1jzF/dmjpIdFq80w4LP6+EhxGVgJuLeelz7H+zgjrdgSnJHze iQLi+WoVpl3dDaCFv3uJAIACsXrJmq+0H4pm560DkAQCJkk6XgYh61U50Pf3/A== Received: from localhost ( [192.168.2.1]) by mugam.systemreboot.net (OpenSMTPD) with ESMTPSA id 6eefa339 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sat, 1 Mar 2025 00:36:39 +0000 (UTC) From: Arun Isaac To: 75414-done@debbugs.gnu.org Subject: Re: [PATCH 0/2] Add roll-back action to guix deploy In-Reply-To: <87plj2zwtn.fsf@systemreboot.net> Date: Sat, 01 Mar 2025 00:36:33 +0000 Message-ID: <87a5a5ziwe.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75414-done Cc: Arun Isaac , Evgeny Pisemsky , Ludovic =?utf-8?Q?Court=C3=A8?= =?utf-8?Q?s?= , Maxim Cournoyer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Pushed, thanks! From unknown Fri Aug 22 01:33:48 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 29 Mar 2025 11:24:15 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator