Yes, you should be able to use environment variables. This seems to work
in bash for me (stopping the single-quotes before the ENV var & re-
starting it right after):

$ ITF=ens33
$ GWY=192.168.17.253
$ netplan set network.ethernets.$ITF.routes='[{"to": "default", "via": 
"'$GWY'", "metric": 200}]'

Using the commands above I'm also able to reproduce the issue of having
multiple same default routes with different gateways. Trigger:

$ GWY=192.168.17.252
$ netplan set network.ethernets.$ITF.routes='[{"to": "default", "via": 
"'$GWY'", "metric": 200}]'
** (process:841): WARNING **: 11:51:04.829: Problem encountered while 
validating default route consistency.Please set up multiple routing tables and 
use `routing-policy` instead.
Error: Conflicting default route declarations for IPv4 (table: main, metric: 
200), first declared in ens33 but also in ens33
$ cat /etc/netplan/70-netplan-set.yaml 
network:
  version: 2
  ethernets:
    ens33:
      routes:
      - metric: 200
        to: "default"
        via: "192.168.17.253"
      - metric: 200
        to: "default"
        via: "192.168.17.252"


Having multipe default routes (of same priority) pointing to different gateways 
is obviously wrong and there's already an error message displayed. It probably 
should not be written to disk either, which we can track as a (low-priority) 
bug.

** Also affects: netplan.io (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: netplan.io (Ubuntu)
       Status: New => Triaged

** Changed in: netplan.io (Ubuntu)
   Importance: Undecided => Low

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2098356

Title:
  command line netplan set network.ethernets.ens33.routes fails with
  python errors

To manage notifications about this bug go to:
https://bugs.launchpad.net/netplan/+bug/2098356/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to