net/sysconfig.py is broken with ipv4 + ipv6 interfaces
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| cloud-init |
Medium
|
Lars Kellogg-Stedman | ||
| cloud-init (Ubuntu) |
Medium
|
Unassigned | ||
| Xenial |
Medium
|
Unassigned | ||
| Yakkety |
Medium
|
Unassigned |
Bug Description
=== Begin SRU Template ===
[Impact]
This code path is not applicable to Ubuntu.
The bug was in supporting dual stack network configuration in
sysconfig (Redhat/centos) format.
[Test Case]
Launch an instance on lxd, make sure it has network.
[Regression Potential]
Changes to network rendering could have negatively affected Ubuntu
the test above is valid to check that that didn't go horribly wrong.
[Other Info]
Upstream commit:
https:/
=== End SRU Template ===
Given a network configuration that includes ipv4 and ipv6 configuration for an interface, as in:
"networks": [
{
"id": "public-ipv6",
"link": "interface-public",
"netmask": "",
"type": "ipv6",
"routes": [
{
}
]
},
{
"id": "public-ipv4",
"link": "interface-public",
"netmask": "255.255.255.0",
"type": "ipv4",
"routes": [
{
}
]
}
]
cloud-init will fail because both subnets provide a default route, resulting in the error:
Duplicate declaration of default route found for interface eth0
Related branches
- Server Team CI bot: Approve (continuous-integration) on 2017-03-07
- Scott Moser: Needs Fixing on 2017-03-07
- Joshua Harlow: Pending requested 2017-03-02
-
Diff: 200 lines (+118/-9)2 files modifiedcloudinit/net/sysconfig.py (+24/-9)
tests/unittests/test_net.py (+94/-0)
Changed in cloud-init: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
assignee: | nobody → Lars Kellogg-Stedman (larsks) |
Changed in cloud-init: | |
status: | Confirmed → Fix Committed |
Changed in cloud-init (Ubuntu): | |
status: | New → Fix Released |
importance: | Undecided → Medium |
Changed in cloud-init (Ubuntu Xenial): | |
status: | New → Confirmed |
Changed in cloud-init (Ubuntu Yakkety): | |
status: | New → Won't Fix |
Changed in cloud-init (Ubuntu Xenial): | |
importance: | Undecided → Medium |
Changed in cloud-init (Ubuntu Yakkety): | |
importance: | Undecided → Medium |
status: | Won't Fix → Confirmed |
description: | updated |
Changed in cloud-init (Ubuntu Yakkety): | |
status: | Confirmed → Fix Committed |
tags: | added: verification-needed |
Brian Murray (brian-murray) wrote : | #2 |
Hello Lars, or anyone else affected,
Accepted cloud-init into xenial-proposed. The package will build now and be available at https:/
Please help us by testing this new package. See https:/
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-
Further information regarding the verification process can be found at https:/
Changed in cloud-init (Ubuntu Xenial): | |
status: | Confirmed → Fix Committed |
Scott Moser (smoser) wrote : | #3 |
To verify this... I verified there were no obvious regressions by the
following.
(lxc-proposed-
https:/
It publishes an image to lxd with proposed enabled and cloud-init upgraded.)
$ for r in xenial yakkety; do
lxc-
$ lxc launch sm0413-
$ lxc launch sm0413-
$ sleep 30
$ for n in x1669504 y1669504; do
echo === $n ===
lxc exec $n -- dpkg-query --show cloud-init
lxc exec $n cat /run/cloud-
lxc exec $n -- grep WARN /var/log/
done
=== x1669504 ===
cloud-init 0.7.9-90-
{
"v1": {
"datasource": "DataSourceNoCloud [seed=/
"errors": []
}
}
no warn
=== y1669504 ===
cloud-init 0.7.9-90-
{
"v1": {
"datasource": "DataSourceNoCloud [seed=/
"errors": []
}
}
no warn
tags: |
added: verification-done-xenial verification-done-yakkety removed: verification-needed |
Łukasz Zemczak (sil2100) wrote : | #4 |
@Scott: it looks like you tested twice xenial, at least per your comment:
$ lxc launch sm0413-
$ lxc launch sm0413-
(I guess it should be sm0413-
Scott Moser (smoser) wrote : | #5 |
Hi,
it looks like I just copy and paste failed inw hat i posted here.
you noticed that this said xenial twice:
$ lxc launch sm0413-
$ lxc launch sm0413-
but my further output shows that the thign launched had -proposed cloud-init from yakkety
=== y1669504 ===
cloud-init 0.7.9-90-
Launchpad Janitor (janitor) wrote : | #6 |
This bug was fixed in the package cloud-init - 0.7.9-90-
---------------
cloud-init (0.7.9-
* debian/
* New upstream snapshot.
- OpenStack: add 'dvs' to the list of physical link types. (LP: #1674946)
- Fix bug that resulted in an attempt to rename bonds or vlans.
(LP: #1669860)
- tests: update OpenNebula and Digital Ocean to not rely on host
interfaces.
- net: in netplan renderer delete known image-builtin content.
(LP: #1675576)
- doc: correct grammar in capabilities.rst [David Tagatac]
- ds-identify: fix detecting of maas datasource. (LP: #1677710)
- netplan: remove debugging prints, add debug logging [Ryan Harper]
- ds-identify: do not write None twice to datasource_list.
- support resizing partition and rootfs on system booted without
initramfs. [Steve Langasek] (LP: #1677376)
- apt_configure: run only when needed. (LP: #1675185)
- OpenStack: identify OpenStack by product 'OpenStack Compute'.
(LP: #1675349)
- GCE: Search GCE in ds-identify, consider serial number in check.
(LP: #1674861)
- Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325)
- Fix filesystem creation when using "partition: auto"
[Jonathan Ballet] (LP: #1634678)
- ConfigDrive: support reading config drive data from /config-drive.
(LP: #1673411)
- ds-identify: fix detection of Bigstep datasource. (LP: #1674766)
- test: add running of pylint [Joshua Powers]
- ds-identify: fix bug where filename expansion was left on.
- advertise network config v2 support (NETWORK_CONFIG_V2) in features.
- Bigstep: fix bug when executing in python3. [root]
- Fix unit test when running in a system deployed with cloud-init.
- Bounce network interface for Azure when using the built-in path.
[Brent Baude] (LP: #1674685)
- cloudinit.net: add network config v2 parsing and rendering [Ryan Harper]
- net: Fix incorrect call to isfile [Joshua Powers] (LP: #1674317)
- net: add renderers for automatically selecting the renderer.
- doc: fix config drive doc with regard to unpartitioned disks.
(LP: #1673818)
- test: Adding integratiron test for password as list [Joshua Powers]
- render_
- support 'loopback' as a device type.
- Integration Testing: improve testcase subclassing [Wesley Wiedenmeier]
- gitignore: adding doc/rtd_html [Joshua Powers]
- doc: add instructions for running integration tests via tox.
[Joshua Powers]
- test: avoid differences in 'date' output due to daylight savings.
- Fix chef config module in omnibus install. [Jeremy Melvin] (LP: #1583837)
- Add feature flags to cloudinit.version. [Wesley Wiedenmeier]
- tox: add a citest environment
- Support chpasswd/list being a list in addition to a string.
[Sergio Lystopad] (LP: #1665694)
- doc: Fix configuration example for cc_set_passwords module.
[Sergio Lystopad] (LP: #1665773)
- ...
Changed in cloud-init (Ubuntu Yakkety): | |
status: | Fix Committed → Fix Released |
Steve Langasek (vorlon) wrote : Update Released | #7 |
The verification of the Stable Release Update for cloud-init has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.
Launchpad Janitor (janitor) wrote : | #8 |
This bug was fixed in the package cloud-init - 0.7.9-90-
---------------
cloud-init (0.7.9-
* debian/
* New upstream snapshot.
- OpenStack: add 'dvs' to the list of physical link types. (LP: #1674946)
- Fix bug that resulted in an attempt to rename bonds or vlans.
(LP: #1669860)
- tests: update OpenNebula and Digital Ocean to not rely on host
interfaces.
- net: in netplan renderer delete known image-builtin content.
(LP: #1675576)
- doc: correct grammar in capabilities.rst [David Tagatac]
- ds-identify: fix detecting of maas datasource. (LP: #1677710)
- netplan: remove debugging prints, add debug logging [Ryan Harper]
- ds-identify: do not write None twice to datasource_list.
- support resizing partition and rootfs on system booted without
initramfs. [Steve Langasek] (LP: #1677376)
- apt_configure: run only when needed. (LP: #1675185)
- OpenStack: identify OpenStack by product 'OpenStack Compute'.
(LP: #1675349)
- GCE: Search GCE in ds-identify, consider serial number in check.
(LP: #1674861)
- Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325)
- Fix filesystem creation when using "partition: auto"
[Jonathan Ballet] (LP: #1634678)
- ConfigDrive: support reading config drive data from /config-drive.
(LP: #1673411)
- ds-identify: fix detection of Bigstep datasource. (LP: #1674766)
- test: add running of pylint [Joshua Powers]
- ds-identify: fix bug where filename expansion was left on.
- advertise network config v2 support (NETWORK_CONFIG_V2) in features.
- Bigstep: fix bug when executing in python3. [root]
- Fix unit test when running in a system deployed with cloud-init.
- Bounce network interface for Azure when using the built-in path.
[Brent Baude] (LP: #1674685)
- cloudinit.net: add network config v2 parsing and rendering [Ryan Harper]
- net: Fix incorrect call to isfile [Joshua Powers] (LP: #1674317)
- net: add renderers for automatically selecting the renderer.
- doc: fix config drive doc with regard to unpartitioned disks.
(LP: #1673818)
- test: Adding integratiron test for password as list [Joshua Powers]
- render_
- support 'loopback' as a device type.
- Integration Testing: improve testcase subclassing [Wesley Wiedenmeier]
- gitignore: adding doc/rtd_html [Joshua Powers]
- doc: add instructions for running integration tests via tox.
[Joshua Powers]
- test: avoid differences in 'date' output due to daylight savings.
- Fix chef config module in omnibus install. [Jeremy Melvin] (LP: #1583837)
- Add feature flags to cloudinit.version. [Wesley Wiedenmeier]
- tox: add a citest environment
- Support chpasswd/list being a list in addition to a string.
[Sergio Lystopad] (LP: #1665694)
- doc: Fix configuration example for cc_set_passwords module.
[Sergio Lystopad] (LP: #1665773...
Changed in cloud-init (Ubuntu Xenial): | |
status: | Fix Committed → Fix Released |
This bug is believed to be fixed in cloud-init in 17.1. If this is still a problem for you, please make a comment and set the state back to New
Thank you.
Changed in cloud-init: | |
status: | Fix Committed → Fix Released |
Hello Lars, or anyone else affected,
Accepted cloud-init into yakkety-proposed. The package will build now and be available at https:/ /launchpad. net/ubuntu/ +source/ cloud-init/ 0.7.9-90- g61eb03fe- 0ubuntu1~ 16.10.1 in a few hours, and then in the -proposed repository.
Please help us by testing this new package. See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification- failed. In either case, details of your testing will help us make a better decision.
Further information regarding the verification process can be found at https:/ /wiki.ubuntu. com/QATeam/ PerformingSRUVe rification . Thank you in advance!