2016-09-01 17:17:27 |
Julian Vassev |
bug |
|
|
added bug |
2016-09-12 16:33:10 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/305496 |
|
2016-09-12 16:33:43 |
Scott Moser |
cloud-init: status |
New |
Confirmed |
|
2016-09-12 16:33:46 |
Scott Moser |
cloud-init: importance |
Undecided |
Medium |
|
2016-09-12 20:52:02 |
Scott Moser |
cloud-init: status |
Confirmed |
Fix Released |
|
2016-09-12 21:05:21 |
Scott Moser |
bug task added |
|
cloud-init (Ubuntu) |
|
2016-09-12 21:05:35 |
Scott Moser |
cloud-init (Ubuntu): status |
New |
Fix Released |
|
2016-09-12 21:05:38 |
Scott Moser |
cloud-init (Ubuntu): importance |
Undecided |
Medium |
|
2016-09-12 21:05:47 |
Scott Moser |
nominated for series |
|
Ubuntu Xenial |
|
2016-09-12 21:05:47 |
Scott Moser |
bug task added |
|
cloud-init (Ubuntu Xenial) |
|
2016-09-12 21:06:11 |
Scott Moser |
cloud-init (Ubuntu Xenial): status |
New |
In Progress |
|
2016-09-12 21:06:17 |
Scott Moser |
cloud-init (Ubuntu Xenial): importance |
Undecided |
Medium |
|
2016-09-13 16:41:41 |
Scott Moser |
summary |
OVF datasource broken |
base64 user-data broken in OVF datasource |
|
2016-09-13 17:24:25 |
Scott Moser |
description |
I am using cloudint 0.7.7~bzr1256-0ubuntu1~16.04.1 on Ubuntu 16.04.1 LTS.
When I pass yaml-formatted user-data over the OVF datasource over the ISO transport the yaml string fails to be parsed.
I tracked this to minidom's inability to handle newlines in an attribute. The xml bellow works for coreos but breaks under cloud-init:
<PropertySection>
<Property oe:key="user-data" oe:value="#cloud-config
---
users:
- name: "test"
passwd: "$1$NVdKo9MI$PlHasfYsufCHbP1Hh9TMz/"
groups:
- "sudo"
"/>
</PropertySection>
If I use base64-encoded user-data I get this error:
Sep 01 12:07:43 sof2-lab3-dhcp371 cloud-init[3248]: 2016-09-01 12:07:43,854 - __init__.py[WARNING]: Unhandled non-multipart (text/x-not-multipart) userdata: 'b'I2Nsb3VkLWNvbmZpZwotLS0K'...'
Sep 01 12:07:43 sof2-lab3-dhcp371 cloud-init[3248]: [CLOUDINIT] __init__.py[WARNING]: Unhandled non-multipart (text/x-not-multipart) userdata: 'b'I2Nsb3VkLWNvbmZpZwotLS0K'...'
Is there a way to pass user-data as a single-line string that doesn't confuse minidom? |
==== Begin SRU Template ====
[Impact]
Users of the OVF datasource can not provide user-data that is base64 encoded.
[Test Case]
$ rel=xenial
$ burl="http://cloud-images.ubuntu.com/daily/server/$rel/current/"
$ disk="$rel-server-cloudimg-amd64-disk1.img"
$ wget "$burl/$disk" -O "$disk"
# prepare the ovftransport.iso
$ git clone http://git.launchpad.net/cloud-init
$ ( cd cloud-init/doc/sources/ovf && ./make-iso ovf-env.xml.tmpl user-data --output - ) > ovftransport.iso
# create a temp disk for patching and patch in -proposed
$ qemu-img create -f qcow2 -b "$disk" disk.img
$ sudo mount-image-callback --system-resolvconf disk.img -- chroot _MOUNTPOINT_ \
sh -c 'l=/etc/apt/sources.list.d/proposed.list;
echo deb http://archive.ubuntu.com/ubuntu/ xenial-proposed main > "$l" &&
apt-get -q update && apt-get install -qy cloud-init'
$ qemu-system-x86_64 -enable-kvm \
-device virtio-net-pci,netdev=net00 -netdev type=user,id=net00 \
-hda disk.img -cdrom ovftransport.iso -m 512 -curses -snapshot
# you will see an 'ovfdemo' login prompt, log in as root:passw0rd
# verify it worked by cat /var/lib/cloud/instance/user-data.txt
[Regression Potential]
very low chance for regression, a guest with user-data would be broken previously.
==== End SRU Template ====
I am using cloudint 0.7.7~bzr1256-0ubuntu1~16.04.1 on Ubuntu 16.04.1 LTS.
When I pass yaml-formatted user-data over the OVF datasource over the ISO transport the yaml string fails to be parsed.
I tracked this to minidom's inability to handle newlines in an attribute. The xml bellow works for coreos but breaks under cloud-init:
<PropertySection>
<Property oe:key="user-data" oe:value="#cloud-config
---
users:
- name: "test"
passwd: "$1$NVdKo9MI$PlHasfYsufCHbP1Hh9TMz/"
groups:
- "sudo"
"/>
</PropertySection>
If I use base64-encoded user-data I get this error:
Sep 01 12:07:43 sof2-lab3-dhcp371 cloud-init[3248]: 2016-09-01 12:07:43,854 - __init__.py[WARNING]: Unhandled non-multipart (text/x-not-multipart) userdata: 'b'I2Nsb3VkLWNvbmZpZwotLS0K'...'
Sep 01 12:07:43 sof2-lab3-dhcp371 cloud-init[3248]: [CLOUDINIT] __init__.py[WARNING]: Unhandled non-multipart (text/x-not-multipart) userdata: 'b'I2Nsb3VkLWNvbmZpZwotLS0K'...'
Is there a way to pass user-data as a single-line string that doesn't confuse minidom? |
|
2016-09-13 20:18:32 |
Chris J Arges |
cloud-init (Ubuntu Xenial): status |
In Progress |
Fix Committed |
|
2016-09-13 20:18:35 |
Chris J Arges |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2016-09-13 20:18:41 |
Chris J Arges |
bug |
|
|
added subscriber SRU Verification |
2016-09-13 20:18:44 |
Chris J Arges |
tags |
|
verification-needed |
|
2016-09-14 19:52:23 |
Scott Moser |
tags |
verification-needed |
verification-done |
|
2016-09-15 14:30:58 |
Martin Pitt |
tags |
verification-done |
|
|
2016-09-15 14:31:01 |
Martin Pitt |
tags |
|
verification-needed |
|
2016-09-17 02:06:23 |
Scott Moser |
tags |
verification-needed |
verification-done |
|
2016-09-22 17:34:08 |
Launchpad Janitor |
cloud-init (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2016-09-22 17:35:43 |
Chris J Arges |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2023-05-10 16:25:18 |
James Falcon |
bug watch added |
|
https://github.com/canonical/cloud-init/issues/2715 |
|