yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #63487
[Bug 1673411] Re: config-drive support is broken
This bug was fixed in the package cloud-init - 0.7.9-90-g61eb03fe-
0ubuntu1~16.04.1
---------------
cloud-init (0.7.9-90-g61eb03fe-0ubuntu1~16.04.1) xenial-proposed; urgency=medium
* debian/cloud-init.templates: add Bigstep to list of sources. (LP: #1676460)
* 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_network_state: switch arguments around, do not require target
- 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)
- net: support both ipv4 and ipv6 gateways in sysconfig.
[Lars Kellogg-Stedman] (LP: #1669504)
- net: do not raise exception for > 3 nameservers
[Lars Kellogg-Stedman] (LP: #1670052)
-- Scott Moser <smoser@xxxxxxxxxx> Mon, 03 Apr 2017 11:52:56 -0400
** Changed in: cloud-init (Ubuntu Xenial)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1673411
Title:
config-drive support is broken
Status in Ubuntu Cloud Archive:
Triaged
Status in Ubuntu Cloud Archive newton series:
Triaged
Status in Ubuntu Cloud Archive ocata series:
Triaged
Status in cloud-init:
Fix Committed
Status in nova-lxd:
Fix Released
Status in nova-lxd newton series:
Fix Committed
Status in nova-lxd ocata series:
Fix Committed
Status in nova-lxd trunk series:
Fix Released
Status in cloud-init package in Ubuntu:
Fix Released
Status in nova-lxd package in Ubuntu:
Fix Committed
Status in cloud-init source package in Xenial:
Fix Released
Status in nova-lxd source package in Xenial:
Invalid
Status in cloud-init source package in Yakkety:
Fix Released
Status in nova-lxd source package in Yakkety:
Triaged
Status in cloud-init source package in Zesty:
Fix Released
Status in nova-lxd source package in Zesty:
Fix Committed
Bug description:
=== Begin cloud-init SRU Template ===
[Impact]
nova-lxd can provide data to instances in 2 ways:
a.) metadata service
b.) config drive
The support for reading the config drive in cloud-init was never
functional. Nova-lxd has changed the way they're presenting the config
drive to the guest. Now they are doing so by populating a directory in
the container /config-drive with the information.
The change added to cloud-init was to extend support read config drive
information from that directory.
[Test Case]
With a nova-lxd that contains the fix this can be fully tested
by launching an instance with updated cloud-init and config drive
attached.
For cloud-init, the easiest way to demonstrate this is to
create a lxc container and populate it with a '/config-drive'.
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=xenial-proposed
$ name=$release-lp1673411
$ lxc-proposed-snapshot --proposed --publish $release $ref
$ lxc init $ref $name
# lxc will create the 'NoCloud' seed, and the normal search
# path looks there first, so remove it.
$ lxc file pull $name/etc/cloud/cloud.cfg.d/90_dpkg.cfg - |
sed 's/NoCloud, //' |
lxc file push - $name/etc/cloud/cloud.cfg.d/90_dpkg.cfg
## populate a /config-drive with attached 'make-config-drive-dir'
## and push it to the container
$ d=$(mktemp -d)
$ make-config-drive-dir "$d" "$name"
$ rm -Rf "$d"
## start it and look around
$ lxc start $name
$ sleep 10
$ lxc exec $name cat /run/cloud-init/result.json
{
"v1": {
"datasource": "DataSourceConfigDrive [net,ver=2][source=/config-drive]",
"errors": []
}
}
[Regression Potential]
There is a potentiali false positive where a user had data in
/config-drive and now that information is read as config drive data.
That would require a directory tree like:
/config-drive/openstack/2???-??-??/meta_data.json
or
/config-drive/openstack/latest/meta_data.json
Which seems like a small likelyhood of non-contrived hit.
[Other Info]
Upstream commit:
https://git.launchpad.net/cloud-init/commit/?id=443095f4d4b6fe
=== End cloud-init SRU Template ===
After reviewing https://review.openstack.org/#/c/445579/ and doing
some testing, it would appear that the config-drive support in the
nova-lxd driver is not functional.
cloud-init ignores the data presented in /var/lib/cloud/data and reads
from the network accessible metadata-service.
To test this effectively you have to have a fully offline instance
(i.e. no metadata service access).
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1673411/+subscriptions