[bug#36955] machine: Add 'build-locally?' field for managed hosts.
diff mbox series

Message ID 87imr9402l.fsf@sdf.lonestar.org
State New
Headers show
Series
  • [bug#36955] machine: Add 'build-locally?' field for managed hosts.
Related show

Commit Message

Jakob L. Kreuze Aug. 7, 2019, 12:44 p.m. UTC
* gnu/machine/ssh.scm (machine-ssh-configuration-build-locally?): New
variable.
(managed-host-remote-eval): Pass 'build-locally?' to 'remote-eval'.
---
 gnu/machine/ssh.scm | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

Comments

Christopher Lemmer Webber Aug. 7, 2019, 7:20 p.m. UTC | #1
Looks good, though I assume this is a dependency for another patch
that's coming?

Jakob L. Kreuze writes:

> * gnu/machine/ssh.scm (machine-ssh-configuration-build-locally?): New
> variable.
> (managed-host-remote-eval): Pass 'build-locally?' to 'remote-eval'.
> ---
>  gnu/machine/ssh.scm | 26 ++++++++++++++++----------
>  1 file changed, 16 insertions(+), 10 deletions(-)
>
> diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
> index ae312597dd..1f16d9a5ea 100644
> --- a/gnu/machine/ssh.scm
> +++ b/gnu/machine/ssh.scm
> @@ -47,6 +47,7 @@
>              machine-ssh-configuration
>  
>              machine-ssh-configuration-host-name
> +            machine-ssh-configuration-build-locally?
>              machine-ssh-configuration-port
>              machine-ssh-configuration-user
>              machine-ssh-configuration-session))
> @@ -69,15 +70,17 @@
>    make-machine-ssh-configuration
>    machine-ssh-configuration?
>    this-machine-ssh-configuration
> -  (host-name machine-ssh-configuration-host-name) ; string
> -  (port      machine-ssh-configuration-port       ; integer
> -             (default 22))
> -  (user      machine-ssh-configuration-user       ; string
> -             (default "root"))
> -  (identity  machine-ssh-configuration-identity   ; path to a private key
> -             (default #f))
> -  (session   machine-ssh-configuration-session    ; session
> -             (default #f)))
> +  (host-name      machine-ssh-configuration-host-name) ; string
> +  (build-locally? machine-ssh-configuration-build-locally?
> +                  (default #t))
> +  (port           machine-ssh-configuration-port       ; integer
> +                  (default 22))
> +  (user           machine-ssh-configuration-user       ; string
> +                  (default "root"))
> +  (identity       machine-ssh-configuration-identity   ; path to a private key
> +                  (default #f))
> +  (session        machine-ssh-configuration-session    ; session
> +                  (default #f)))
>  
>  (define (machine-ssh-session machine)
>    "Return the SSH session that was given in MACHINE's configuration, or create
> @@ -103,7 +106,10 @@ one from the configuration's parameters if one was not provided."
>    "Internal implementation of 'machine-remote-eval' for MACHINE instances with
>  an environment type of 'managed-host."
>    (maybe-raise-unsupported-configuration-error machine)
> -  (remote-eval exp (machine-ssh-session machine)))
> +  (remote-eval exp (machine-ssh-session machine)
> +               #:build-locally?
> +               (machine-ssh-configuration-build-locally?
> +                (machine-configuration machine))))
>  
>  
>  ;;;
Jakob L. Kreuze Aug. 7, 2019, 8:47 p.m. UTC | #2
Hi Chris,

Christopher Lemmer Webber <cwebber@dustycloud.org> writes:

> Looks good, though I assume this is a dependency for another patch
> that's coming?

Nah, this is standalone. Just so there's an option to offload the builds
when deploying to particularly capable machines.

Regards,
Jakob
Christopher Lemmer Webber Aug. 7, 2019, 10:29 p.m. UTC | #3
Jakob L. Kreuze writes:

> Hi Chris,
>
> Christopher Lemmer Webber <cwebber@dustycloud.org> writes:
>
>> Looks good, though I assume this is a dependency for another patch
>> that's coming?
>
> Nah, this is standalone. Just so there's an option to offload the builds
> when deploying to particularly capable machines.
>
> Regards,
> Jakob

Ok, thanks for the clarity.  Merged and pushed!

Patch
diff mbox series

diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index ae312597dd..1f16d9a5ea 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -47,6 +47,7 @@ 
             machine-ssh-configuration
 
             machine-ssh-configuration-host-name
+            machine-ssh-configuration-build-locally?
             machine-ssh-configuration-port
             machine-ssh-configuration-user
             machine-ssh-configuration-session))
@@ -69,15 +70,17 @@ 
   make-machine-ssh-configuration
   machine-ssh-configuration?
   this-machine-ssh-configuration
-  (host-name machine-ssh-configuration-host-name) ; string
-  (port      machine-ssh-configuration-port       ; integer
-             (default 22))
-  (user      machine-ssh-configuration-user       ; string
-             (default "root"))
-  (identity  machine-ssh-configuration-identity   ; path to a private key
-             (default #f))
-  (session   machine-ssh-configuration-session    ; session
-             (default #f)))
+  (host-name      machine-ssh-configuration-host-name) ; string
+  (build-locally? machine-ssh-configuration-build-locally?
+                  (default #t))
+  (port           machine-ssh-configuration-port       ; integer
+                  (default 22))
+  (user           machine-ssh-configuration-user       ; string
+                  (default "root"))
+  (identity       machine-ssh-configuration-identity   ; path to a private key
+                  (default #f))
+  (session        machine-ssh-configuration-session    ; session
+                  (default #f)))
 
 (define (machine-ssh-session machine)
   "Return the SSH session that was given in MACHINE's configuration, or create
@@ -103,7 +106,10 @@  one from the configuration's parameters if one was not provided."
   "Internal implementation of 'machine-remote-eval' for MACHINE instances with
 an environment type of 'managed-host."
   (maybe-raise-unsupported-configuration-error machine)
-  (remote-eval exp (machine-ssh-session machine)))
+  (remote-eval exp (machine-ssh-session machine)
+               #:build-locally?
+               (machine-ssh-configuration-build-locally?
+                (machine-configuration machine))))
 
 
 ;;;