2017-03-23 22:03:17 |
Ryan Harper |
bug |
|
|
added bug |
2017-03-28 17:28:42 |
Scott Moser |
description |
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the netplan renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the eni renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
|
2017-03-29 20:50:38 |
Scott Moser |
cloud-init (Ubuntu): status |
New |
Confirmed |
|
2017-03-29 20:50:42 |
Scott Moser |
cloud-init (Ubuntu): importance |
Undecided |
High |
|
2017-03-29 20:50:45 |
Scott Moser |
cloud-init (Ubuntu): assignee |
|
Scott Moser (smoser) |
|
2017-03-29 20:50:56 |
Scott Moser |
bug task added |
|
cloud-init |
|
2017-03-30 17:08:49 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/321471 |
|
2017-03-30 20:12:19 |
Scott Moser |
cloud-init: status |
New |
Confirmed |
|
2017-03-30 20:12:25 |
Scott Moser |
cloud-init: importance |
Undecided |
Medium |
|
2017-03-31 11:51:03 |
Launchpad Janitor |
cloud-init (Ubuntu): status |
Confirmed |
Fix Released |
|
2017-03-31 20:09:06 |
Scott Moser |
cloud-init: status |
Confirmed |
Fix Committed |
|
2017-04-03 16:16:53 |
Scott Moser |
nominated for series |
|
Ubuntu Yakkety |
|
2017-04-03 16:16:53 |
Scott Moser |
bug task added |
|
cloud-init (Ubuntu Yakkety) |
|
2017-04-03 16:16:53 |
Scott Moser |
nominated for series |
|
Ubuntu Xenial |
|
2017-04-03 16:16:53 |
Scott Moser |
bug task added |
|
cloud-init (Ubuntu Xenial) |
|
2017-04-03 16:17:23 |
Scott Moser |
cloud-init (Ubuntu Xenial): status |
New |
Confirmed |
|
2017-04-03 16:17:25 |
Scott Moser |
cloud-init (Ubuntu Yakkety): status |
New |
Confirmed |
|
2017-04-03 16:17:28 |
Scott Moser |
cloud-init (Ubuntu Xenial): importance |
Undecided |
Medium |
|
2017-04-03 16:17:29 |
Scott Moser |
cloud-init (Ubuntu Yakkety): importance |
Undecided |
Medium |
|
2017-04-04 14:48:39 |
Scott Moser |
description |
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the eni renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
=== Begin SRU Template ===
[Impact]
Writing netplan configuration during cloud-init's local phase
does not work properly. This is because there is stale configuration
from the default installed files in a Ubuntu core image.
The change to cloud-initn was to clean those up so that it could
invoke netplan apply.
[Test Case]
Unit tests were added that excercise this code, full functional
test would run through ubuntu core. To do this on ubuntu cloud images
we will simulate.
lxc-proposed-snapshot is
https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot
It publishes an image to lxd with proposed enabled and cloud-init upgraded.
$ release=xenial
$ ref=$release-proposed
$ lxc-proposed-snapshot --proposed --publish $release $ref
$ lxc init $ref $name
$ cat > 00-snapd-config.yaml <<"EOF"
# This is the initial network config.
# It can be overwritten by cloud-init or console-conf.
network:
version: 2
ethernets:
all-en:
match:
name: "en*"
dhcp4: true
all-eth:
match:
name: "eth*"
dhcp4: true
EOF
$ echo 'system_info: {network: {renderers: ["netplan"]}}' |
lxc file push - $name/etc/cloud/cloud.cfg.d/99-renderers.cfg
$ lxc file push 00-snapd-config.yaml $name/etc/netplan/00-snapd-config.yaml
$ lxc start $name
$ sleep 10
$ lxc exec $name ls /etc/netplan/00-snapd-config.yaml
ls: cannot access '/etc/netplan/00-snapd-config.yaml': No such file or directory
$ grep removing /var/log/cloud-init.log
2017-04-04 14:38:18,303 - netplan.py[DEBUG]: removing known config '/etc/netplan/00-snapd-config.yaml' and derived existing files: ['/run/systemd/network/10-netplan-all-en.network', '/run/systemd/network/10-netplan-all-eth.network', '/run/systemd/generator/netplan.stamp']
lxc
# you can see networkd set up the links with
$ lxc exec $name ip a
$ lxc exec $name systemctl status systemd-networkd --no-pager --full
[Regression Potential]
This code could delete a users netplan config incorrectly.
That is protected against the config being *exactly* as shown above,
and also named exactly as above.
=== End SRU Template ===
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the eni renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
|
2017-04-10 22:26:38 |
Brian Murray |
cloud-init (Ubuntu Yakkety): status |
Confirmed |
Fix Committed |
|
2017-04-10 22:26:40 |
Brian Murray |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2017-04-10 22:26:45 |
Brian Murray |
bug |
|
|
added subscriber SRU Verification |
2017-04-10 22:26:49 |
Brian Murray |
tags |
uc16 |
uc16 verification-needed |
|
2017-04-10 22:48:34 |
Brian Murray |
cloud-init (Ubuntu Xenial): status |
Confirmed |
Fix Committed |
|
2017-04-14 17:11:03 |
Scott Moser |
description |
=== Begin SRU Template ===
[Impact]
Writing netplan configuration during cloud-init's local phase
does not work properly. This is because there is stale configuration
from the default installed files in a Ubuntu core image.
The change to cloud-initn was to clean those up so that it could
invoke netplan apply.
[Test Case]
Unit tests were added that excercise this code, full functional
test would run through ubuntu core. To do this on ubuntu cloud images
we will simulate.
lxc-proposed-snapshot is
https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot
It publishes an image to lxd with proposed enabled and cloud-init upgraded.
$ release=xenial
$ ref=$release-proposed
$ lxc-proposed-snapshot --proposed --publish $release $ref
$ lxc init $ref $name
$ cat > 00-snapd-config.yaml <<"EOF"
# This is the initial network config.
# It can be overwritten by cloud-init or console-conf.
network:
version: 2
ethernets:
all-en:
match:
name: "en*"
dhcp4: true
all-eth:
match:
name: "eth*"
dhcp4: true
EOF
$ echo 'system_info: {network: {renderers: ["netplan"]}}' |
lxc file push - $name/etc/cloud/cloud.cfg.d/99-renderers.cfg
$ lxc file push 00-snapd-config.yaml $name/etc/netplan/00-snapd-config.yaml
$ lxc start $name
$ sleep 10
$ lxc exec $name ls /etc/netplan/00-snapd-config.yaml
ls: cannot access '/etc/netplan/00-snapd-config.yaml': No such file or directory
$ grep removing /var/log/cloud-init.log
2017-04-04 14:38:18,303 - netplan.py[DEBUG]: removing known config '/etc/netplan/00-snapd-config.yaml' and derived existing files: ['/run/systemd/network/10-netplan-all-en.network', '/run/systemd/network/10-netplan-all-eth.network', '/run/systemd/generator/netplan.stamp']
lxc
# you can see networkd set up the links with
$ lxc exec $name ip a
$ lxc exec $name systemctl status systemd-networkd --no-pager --full
[Regression Potential]
This code could delete a users netplan config incorrectly.
That is protected against the config being *exactly* as shown above,
and also named exactly as above.
=== End SRU Template ===
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the eni renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
=== Begin SRU Template ===
[Impact]
Writing netplan configuration during cloud-init's local phase
does not work properly. This is because there is stale configuration
from the default installed files in a Ubuntu core image.
The change to cloud-initn was to clean those up so that it could
invoke netplan apply.
[Test Case]
Unit tests were added that excercise this code, full functional
test would run through ubuntu core. To do this on ubuntu cloud images
we will simulate.
lxc-proposed-snapshot is
https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot
It publishes an image to lxd with proposed enabled and cloud-init upgraded.
$ release=xenial
$ ref=$release-proposed
$ lxc-proposed-snapshot --proposed --publish $release $ref
$ lxc init $ref $name
$ cat > 00-snapd-config.yaml <<"EOF"
# This is the initial network config.
# It can be overwritten by cloud-init or console-conf.
network:
version: 2
ethernets:
all-en:
match:
name: "en*"
dhcp4: true
all-eth:
match:
name: "eth*"
dhcp4: true
EOF
$ echo 'system_info: {network: {renderers: ["netplan"]}}' |
lxc file push -p - $name/etc/cloud/cloud.cfg.d/99-renderers.cfg
$ lxc file push 00-snapd-config.yaml $name/etc/netplan/00-snapd-config.yaml
$ lxc start $name
$ sleep 10
$ lxc exec $name ls /etc/netplan/00-snapd-config.yaml
ls: cannot access '/etc/netplan/00-snapd-config.yaml': No such file or directory
$ grep removing /var/log/cloud-init.log
2017-04-04 14:38:18,303 - netplan.py[DEBUG]: removing known config '/etc/netplan/00-snapd-config.yaml' and derived existing files: ['/run/systemd/network/10-netplan-all-en.network', '/run/systemd/network/10-netplan-all-eth.network', '/run/systemd/generator/netplan.stamp']
lxc
# you can see networkd set up the links with
$ lxc exec $name ip a
$ lxc exec $name systemctl status systemd-networkd --no-pager --full
[Regression Potential]
This code could delete a users netplan config incorrectly.
That is protected against the config being *exactly* as shown above,
and also named exactly as above.
=== End SRU Template ===
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the eni renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
|
2017-04-14 17:24:30 |
Scott Moser |
description |
=== Begin SRU Template ===
[Impact]
Writing netplan configuration during cloud-init's local phase
does not work properly. This is because there is stale configuration
from the default installed files in a Ubuntu core image.
The change to cloud-initn was to clean those up so that it could
invoke netplan apply.
[Test Case]
Unit tests were added that excercise this code, full functional
test would run through ubuntu core. To do this on ubuntu cloud images
we will simulate.
lxc-proposed-snapshot is
https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot
It publishes an image to lxd with proposed enabled and cloud-init upgraded.
$ release=xenial
$ ref=$release-proposed
$ lxc-proposed-snapshot --proposed --publish $release $ref
$ lxc init $ref $name
$ cat > 00-snapd-config.yaml <<"EOF"
# This is the initial network config.
# It can be overwritten by cloud-init or console-conf.
network:
version: 2
ethernets:
all-en:
match:
name: "en*"
dhcp4: true
all-eth:
match:
name: "eth*"
dhcp4: true
EOF
$ echo 'system_info: {network: {renderers: ["netplan"]}}' |
lxc file push -p - $name/etc/cloud/cloud.cfg.d/99-renderers.cfg
$ lxc file push 00-snapd-config.yaml $name/etc/netplan/00-snapd-config.yaml
$ lxc start $name
$ sleep 10
$ lxc exec $name ls /etc/netplan/00-snapd-config.yaml
ls: cannot access '/etc/netplan/00-snapd-config.yaml': No such file or directory
$ grep removing /var/log/cloud-init.log
2017-04-04 14:38:18,303 - netplan.py[DEBUG]: removing known config '/etc/netplan/00-snapd-config.yaml' and derived existing files: ['/run/systemd/network/10-netplan-all-en.network', '/run/systemd/network/10-netplan-all-eth.network', '/run/systemd/generator/netplan.stamp']
lxc
# you can see networkd set up the links with
$ lxc exec $name ip a
$ lxc exec $name systemctl status systemd-networkd --no-pager --full
[Regression Potential]
This code could delete a users netplan config incorrectly.
That is protected against the config being *exactly* as shown above,
and also named exactly as above.
=== End SRU Template ===
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the eni renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
=== Begin SRU Template ===
[Impact]
Writing netplan configuration during cloud-init's local phase
does not work properly. This is because there is stale configuration
from the default installed files in a Ubuntu core image.
The change to cloud-initn was to clean those up so that it could
invoke netplan apply.
[Test Case]
Unit tests were added that excercise this code, full functional
test would run through ubuntu core. To do this on ubuntu cloud images
we will simulate.
lxc-proposed-snapshot is
https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot
It publishes an image to lxd with proposed enabled and cloud-init upgraded.
$ release=xenial
$ ref=$release-proposed
$ lxc-proposed-snapshot --proposed --publish $release $ref
$ lxc init $ref $name
$ cat > 00-snapd-config.yaml <<"EOF"
# This is the initial network config.
# It can be overwritten by cloud-init or console-conf.
network:
version: 2
ethernets:
all-en:
match:
name: "en*"
dhcp4: true
all-eth:
match:
name: "eth*"
dhcp4: true
EOF
$ echo 'system_info: {network: {renderers: ["netplan"]}}' |
lxc file push -p - $name/etc/cloud/cloud.cfg.d/99-renderers.cfg
$ lxc file push -p 00-snapd-config.yaml $name/etc/netplan/00-snapd-config.yaml
$ lxc start $name
$ sleep 10
$ lxc exec $name ls /etc/netplan/00-snapd-config.yaml
ls: cannot access '/etc/netplan/00-snapd-config.yaml': No such file or directory
$ grep removing /var/log/cloud-init.log
2017-04-04 14:38:18,303 - netplan.py[DEBUG]: removing known config '/etc/netplan/00-snapd-config.yaml' and derived existing files: ['/run/systemd/network/10-netplan-all-en.network', '/run/systemd/network/10-netplan-all-eth.network', '/run/systemd/generator/netplan.stamp']
lxc
# you can see networkd set up the links with
$ lxc exec $name ip a
$ lxc exec $name systemctl status systemd-networkd --no-pager --full
[Regression Potential]
This code could delete a users netplan config incorrectly.
That is protected against the config being *exactly* as shown above,
and also named exactly as above.
=== End SRU Template ===
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the eni renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
|
2017-04-14 17:31:49 |
Scott Moser |
description |
=== Begin SRU Template ===
[Impact]
Writing netplan configuration during cloud-init's local phase
does not work properly. This is because there is stale configuration
from the default installed files in a Ubuntu core image.
The change to cloud-initn was to clean those up so that it could
invoke netplan apply.
[Test Case]
Unit tests were added that excercise this code, full functional
test would run through ubuntu core. To do this on ubuntu cloud images
we will simulate.
lxc-proposed-snapshot is
https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot
It publishes an image to lxd with proposed enabled and cloud-init upgraded.
$ release=xenial
$ ref=$release-proposed
$ lxc-proposed-snapshot --proposed --publish $release $ref
$ lxc init $ref $name
$ cat > 00-snapd-config.yaml <<"EOF"
# This is the initial network config.
# It can be overwritten by cloud-init or console-conf.
network:
version: 2
ethernets:
all-en:
match:
name: "en*"
dhcp4: true
all-eth:
match:
name: "eth*"
dhcp4: true
EOF
$ echo 'system_info: {network: {renderers: ["netplan"]}}' |
lxc file push -p - $name/etc/cloud/cloud.cfg.d/99-renderers.cfg
$ lxc file push -p 00-snapd-config.yaml $name/etc/netplan/00-snapd-config.yaml
$ lxc start $name
$ sleep 10
$ lxc exec $name ls /etc/netplan/00-snapd-config.yaml
ls: cannot access '/etc/netplan/00-snapd-config.yaml': No such file or directory
$ grep removing /var/log/cloud-init.log
2017-04-04 14:38:18,303 - netplan.py[DEBUG]: removing known config '/etc/netplan/00-snapd-config.yaml' and derived existing files: ['/run/systemd/network/10-netplan-all-en.network', '/run/systemd/network/10-netplan-all-eth.network', '/run/systemd/generator/netplan.stamp']
lxc
# you can see networkd set up the links with
$ lxc exec $name ip a
$ lxc exec $name systemctl status systemd-networkd --no-pager --full
[Regression Potential]
This code could delete a users netplan config incorrectly.
That is protected against the config being *exactly* as shown above,
and also named exactly as above.
=== End SRU Template ===
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the eni renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
=== Begin SRU Template ===
[Impact]
Writing netplan configuration during cloud-init's local phase
does not work properly. This is because there is stale configuration
from the default installed files in a Ubuntu core image.
The change to cloud-initn was to clean those up so that it could
invoke netplan apply.
[Test Case]
Unit tests were added that excercise this code, full functional
test would run through ubuntu core. To do this on ubuntu cloud images
we will simulate.
lxc-proposed-snapshot is
https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot
It publishes an image to lxd with proposed enabled and cloud-init upgraded.
$ release=xenial
$ ref=$release-proposed
$ lxc-proposed-snapshot --proposed --publish $release $ref
$ lxc init $ref $name
$ cat > 00-snapd-config.yaml <<"EOF"
# This is the initial network config.
# It can be overwritten by cloud-init or console-conf.
network:
version: 2
ethernets:
all-en:
match:
name: "en*"
dhcp4: true
all-eth:
match:
name: "eth*"
dhcp4: true
EOF
$ echo 'system_info: {network: {renderers: ["netplan"]}}' |
lxc file push -p - $name/etc/cloud/cloud.cfg.d/99-renderers.cfg
$ lxc file push -p 00-snapd-config.yaml $name/etc/netplan/00-snapd-config.yaml
# xenial does not have netplan, so trick the renderer search.
$ ( set -x; lxc file pull $name/usr/sbin/netplan - >/dev/null ||
echo "" | lxc file push netplan $name/usr/sbin/netplan --mode=0755 )
$ lxc start $name
$ sleep 10
$ lxc exec $name ls /etc/netplan/00-snapd-config.yaml
ls: cannot access '/etc/netplan/00-snapd-config.yaml': No such file or directory
$ grep removing /var/log/cloud-init.log
2017-04-04 14:38:18,303 - netplan.py[DEBUG]: removing known config '/etc/netplan/00-snapd-config.yaml' and derived existing files: ['/run/systemd/network/10-netplan-all-en.network', '/run/systemd/network/10-netplan-all-eth.network', '/run/systemd/generator/netplan.stamp']
lxc
# In yakkety, you can see networkd set up the links with
# In xenial, there is no netplan, so we assume broken networking.
$ lxc exec $name ip a
$ lxc exec $name systemctl status systemd-networkd --no-pager --full
[Regression Potential]
This code could delete a users netplan config incorrectly.
That is protected against the config being *exactly* as shown above,
and also named exactly as above.
=== End SRU Template ===
1. Zesty
2. 0.7.9-68-gef18b8ac-0ubuntu1
3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration
4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-*
These files may collide with network-configuration provided to cloud-init which has been configured to render netplan.
cloud-init should employ a 'maybe-delete' like function in the eni renderer to
a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time
b) remove /run/systemd/network/10-netplan* # files generated from (a)
c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate
Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully.
raharper@localhost:~$ find /etc/netplan /run/systemd/network
/etc/netplan
/etc/netplan/00-snapd-config.yaml
/run/systemd/network
/run/systemd/network/10-netplan-all-en.network
/run/systemd/network/10-netplan-all-eth.network
raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp
-rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp |
|
2017-04-14 17:35:19 |
Scott Moser |
tags |
uc16 verification-needed |
uc16 verification-done-xenial verification-done-yakkety |
|
2017-04-20 19:33:34 |
Launchpad Janitor |
cloud-init (Ubuntu Yakkety): status |
Fix Committed |
Fix Released |
|
2017-04-20 19:35:23 |
Steve Langasek |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2017-04-20 19:35:54 |
Launchpad Janitor |
cloud-init (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2017-09-23 02:30:38 |
Scott Moser |
cloud-init: status |
Fix Committed |
Fix Released |
|
2023-05-10 22:49:59 |
James Falcon |
bug watch added |
|
https://github.com/canonical/cloud-init/issues/2843 |
|