bug#52511: service networking provided more than once

2021-12-15 Thread Mathieu Othacehe


Hey,

> In this particular case, you could/should have a single
> ‘static-networking’ with multiple addresses:
>
>   (static-networking
> (addresses
>   (list (network-address …)
> (network-address …)))
> (routes …))

Oh, I see. There's still something problematic:

--8<---cut here---start->8---
;; Connection to the DMZ for public access
;; This is a 10G port.
(static-networking-service "eno2"
   "141.80.181.40"
   #:netmask "255.255.255.0"
   #:gateway "141.80.181.1")
;; Connection to build nodes
(static-networking-service "eno1"
   "141.80.167.131"
   #:netmask "255.255.255.192")
--8<---cut here---end--->8---

The above configuration used to create two distinct shepherd services:
networking-eno1 and networking-eno2.

We now have the aforementioned error because those two interfaces are
now provisioning 'networking, breaking compatibility.

Browsing the code, I also found:

--8<---cut here---start->8---
(service static-networking-service-type
 (list %loopback-static-networking

   ;; QEMU user-mode networking.  To get "eth0", you need
   ;; QEMU to emulate a device for which Mach has an
   ;; in-kernel driver, for instance with:
   ;; --device rtl8139,netdev=net0 --netdev user,id=net0
   %qemu-static-networking))
--8<---cut here---end--->8---

which made me think that creating a distinct static-networking record
per interface was the way to go.

Thanks,

Mathieu





bug#52511: service networking provided more than once

2021-12-15 Thread Ludovic Courtès
Hi!

Mathieu Othacehe  skribis:

> When using this service:
>
> (service static-networking-service-type
>   (list (static-networking
>  (addresses
>   (list
>;; Connection to the DMZ for public access
>;; This is a 10G port.
>(network-address
> (device "eno2")
> (value "141.80.181.40/24"
>  (routes
>   (list (network-route
>  (destination "default")
>  (gateway "141.80.181.1")
> (static-networking
>  (addresses
>   (list
>;; Connection to build nodes
>(network-address
> (device "eno1")
> (value "141.80.167.131/26")))
>
>
> I have the following error message:
>
> service networking provided more that once
>
> I guess it boils down to tweak the "provision" field accordingly, but it
> should be automated or documented properly.

In this particular case, you could/should have a single
‘static-networking’ with multiple addresses:

  (static-networking
(addresses
  (list (network-address …)
(network-address …)))
(routes …))

I’m not sure if there are other situations where this limitation is
problematic.

WDYT?

Thanks,
Ludo’.





bug#52511: service networking provided more than once

2021-12-15 Thread Mathieu Othacehe


Hello,

When using this service:

--8<---cut here---start->8---
(service static-networking-service-type
  (list (static-networking
 (addresses
  (list
   ;; Connection to the DMZ for public access
   ;; This is a 10G port.
   (network-address
(device "eno2")
(value "141.80.181.40/24"
 (routes
  (list (network-route
 (destination "default")
 (gateway "141.80.181.1")
(static-networking
 (addresses
  (list
   ;; Connection to build nodes
   (network-address
(device "eno1")
(value "141.80.167.131/26")))
--8<---cut here---end--->8---

I have the following error message:

--8<---cut here---start->8---
service networking provided more that once
--8<---cut here---end--->8---

I guess it boils down to tweak the "provision" field accordingly, but it
should be automated or documented properly.

Thanks,

Mathieu