[Bug 1423972] [NEW] cloud-init user-data mime conversion fails on base64 encoded data
Launchpad Bug Tracker
1423972 at bugs.launchpad.net
Tue Dec 1 16:12:46 UTC 2015
You have been subscribed to a public bug:
Cloud-init's conversion of user-data to mime fails when the user-data is
base64 encoded due to the Python2 to Python3 switch. base64.b64decode in
Python 2 returns a string, whilst Python3 returns a byte stream.
Consider:
import base64
hi = "aGkK"
print(type(base64.b64decode(hi)).__name__)
if 'hi' in str(base64.b64decode(hi)):
print("works")
if 'hi' in base64.b64decode(hi):
print("works on Py2")
ben at prongs:~$ python /tmp/proof.py
str
works
works on Py2
ben at prongs:~$ python3 /tmp/proof.py
bytes
works
Traceback (most recent call last):
File "/tmp/proof.py", line 10, in <module>
if 'hi' in base64.b64decode(hi):
TypeError: Type str doesn't support the buffer API
** Affects: cloud-init
Importance: High
Assignee: Ben Howard (utlemming)
Status: Fix Committed
** Affects: cloud-init (Ubuntu)
Importance: Critical
Assignee: Ben Howard (utlemming)
Status: In Progress
** Tags: apport-collected bot-comment patch uec-images vivid
--
cloud-init user-data mime conversion fails on base64 encoded data
https://bugs.launchpad.net/bugs/1423972
You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to cloud-init in Ubuntu.
More information about the Ubuntu-server-bugs
mailing list