Activity log for bug #1619394

Date Who What changed Old value New value Message
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