mtu gets lost in translation from netplan (v2) yaml
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Fix Released
|
Undecided
|
Unassigned | ||
cloud-init (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
MTU values get lost in translation when input is netplan (v2 yaml).
I'm attaching a recreate script, but basically the mtu setting gets lost when writing ENI or sysconfig if the input is v2 yaml.
input of:
version: 2
vlans:
bond0.1000:
addresses: ["192.6.1.9/24"]
id: 1000
link: bond0
mtu: 1496
bond0.1001:
id: 1001
link: bond0
bonds:
bond0:
interfaces: ["enp0s0", "enp0s1"]
parameters: {}
mtu: 1496
Renders output files like etc/sysconfig/
# Created by cloud-init on instance boot automatically, do not edit.
#
BONDING_
BONDING_
BONDING_
BOOTPROTO=none
DEVICE=bond0
NM_CONTROLLED=no
ONBOOT=yes
STARTMODE=auto
TYPE=Bond
USERCTL=no
Where the same config from v1 would have the 'MTU=1496'
ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: cloud-init 19.1-1-
ProcVersionSign
Uname: Linux 4.15.0-54-generic x86_64
ApportVersion: 2.20.11-0ubuntu5
Architecture: amd64
CloudName: LXD
Date: Wed Jul 17 18:37:04 2019
PackageArchitec
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
LANG=C.UTF-8
SourcePackage: cloud-init
UpgradeStatus: No upgrade log present (probably fresh install)
user_data.txt:
#cloud-config
{}
Related branches
- Ryan Harper: Approve
- Server Team CI bot: Approve (continuous-integration)
-
Diff: 123 lines (+95/-0)2 files modifiedcloudinit/net/network_state.py (+4/-0)
tests/unittests/test_net.py (+91/-0)
Changed in cloud-init (Ubuntu): | |
status: | New → In Progress |
output of recreate:
$ sh /tmp/recreate.sh sysconfig/ from-v1/ '
Read input format 'yaml' from 'bond-mtu-v1.yaml'.
Wrote output format 'sysconfig' to 'centos/
Read input format 'yaml' from 'bond-mtu-v2.yaml'. sysconfig/ from-v2/ '
Wrote output format 'sysconfig' to 'centos/
--- centos/sysconfig ---- sysconfig/ from-v1/ etc/sysconfig/ network- scripts/ ifcfg-bond0 centos/ sysconfig/ from-v2/ etc/sysconfig/ network- scripts/ ifcfg-bond0 sysconfig/ from-v1/ etc/sysconfig/ network- scripts/ ifcfg-bond0 2019-07-17 14:51:47.196419026 -0400 sysconfig/ from-v2/ etc/sysconfig/ network- scripts/ ifcfg-bond0 2019-07-17 14:51:47.464420793 -0400 SLAVE1= enp0s1 sysconfig/ from-v1/ etc/sysconfig/ network- scripts/ ifcfg-bond0. 1000 centos/ sysconfig/ from-v2/ etc/sysconfig/ network- scripts/ ifcfg-bond0. 1000 sysconfig/ from-v1/ etc/sysconfig/ network- scripts/ ifcfg-bond0. 1000 2019-07-17 14:51:47.196419026 -0400 sysconfig/ from-v2/ etc/sysconfig/ network- scripts/ ifcfg-bond0. 1000 2019-07-17 14:51:47.464420793 -0400 255.255. 255.0 eni/from- v1/'
diff -Naur centos/
--- centos/
+++ centos/
@@ -5,7 +5,6 @@
BONDING_
BOOTPROTO=none
DEVICE=bond0
-MTU=1496
NM_CONTROLLED=no
ONBOOT=yes
STARTMODE=auto
diff -Naur centos/
--- centos/
+++ centos/
@@ -3,7 +3,6 @@
BOOTPROTO=none
DEVICE=bond0.1000
IPADDR=192.6.1.9
-MTU=1496
NETMASK=
NM_CONTROLLED=no
ONBOOT=yes
Read input format 'yaml' from 'bond-mtu-v1.yaml'.
Wrote output format 'eni' to 'ubuntu/
Read input format 'yaml' from 'bond-mtu-v2.yaml'. eni/from- v2/'
Wrote output format 'eni' to 'ubuntu/
--- ubuntu/eni ---- eni/from- v1/etc/ network/ interfaces. d/50-cloud- init.cfg ubuntu/ eni/from- v2/etc/ network/ interfaces. d/50-cloud- init.cfg eni/from- v1/etc/ network/ interfaces. d/50-cloud- init.cfg 2019-07-17 14:51:47.744422640 -0400 eni/from- v2/etc/ network/ interfaces. d/50-cloud- init.cfg 2019-07-17 14:51:48.024424486 -0400
diff -Naur ubuntu/
--- ubuntu/
+++ ubuntu/
@@ -9,7 +9,6 @@
auto bond0
iface bond0 inet manual
bond-slaves none
- mtu 1496
auto enp0s0 raw-device bond0
iface enp0s0 inet manual
@@ -22,7 +21,6 @@
auto bond0.1000
iface bond0.1000 inet static
address 192.6.1.9/24
- mtu 1496
vlan-
vlan_id 1000
Read input format 'yaml' from 'bond-mtu-v1.yaml'. netplan/ from-v1/ '
Wrote output format 'netplan' to 'ubuntu/
Read input format 'yaml' from 'bond-mtu-v2.yaml'. netplan/ from-v2/ '
Wrote output format 'netplan' to 'ubuntu/
--- ubuntu/netplan ---- netplan/ from-v1/ etc/netplan/ 50-cloud- init.yaml ubuntu/ netplan/ from-v2/ etc/netplan/ 50-cloud- init.yaml netplan/ from-v1/ etc/netplan/ 50-cloud- init.yaml 2019-07-17 14:51:48.292426253 -0400 netplan/ from-v2/ etc/netplan/ 50-cloud- init.yaml 2019-07-17 14:51:48.556427993 -0400 cloud.cfg. d/99-disable- network- config. cfg with the following:
interface s:
bond0. 1000:
addresses :
diff -Naur ubuntu/
--- ubuntu/
+++ ubuntu/
@@ -4,15 +4,14 @@
# /etc/cloud/
# network: {config: disabled}
network:
- version: 2
bonds:
bond0:
- enp0s0
- enp0s1
mtu: 1496
- enp0s0: {}
- enp0s1: {}
+ parameters: {}
+ version: 2
vlans: