diff options
author | Scott Moser <smoser@ubuntu.com> | 2015-03-17 09:09:11 -0400 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2015-03-17 09:09:11 -0400 |
commit | ad820a9465642fa13aa6f75e5efb3fbe3059dedc (patch) | |
tree | 5460097b13a7a67322a2773ae695784bed3e773c /cloudinit | |
parent | 516af9ba927dd9b4dcc3461f8a8bb6883c61c036 (diff) | |
parent | c8a7b446de26c6bc19df1b8bb7d2b39cb9487749 (diff) | |
download | vyos-cloud-init-ad820a9465642fa13aa6f75e5efb3fbe3059dedc.tar.gz vyos-cloud-init-ad820a9465642fa13aa6f75e5efb3fbe3059dedc.zip |
SmartOS: fixes for python3 reading from serial device.
We were hitting exceptions when writing to the SmartOS serial console and, once
that was fixed, we were hanging permanently waiting for b"." == "." to be true.
This fixes both of those issues.
Diffstat (limited to 'cloudinit')
-rw-r--r-- | cloudinit/sources/DataSourceSmartOS.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/cloudinit/sources/DataSourceSmartOS.py b/cloudinit/sources/DataSourceSmartOS.py index 9d48beab..896fde3f 100644 --- a/cloudinit/sources/DataSourceSmartOS.py +++ b/cloudinit/sources/DataSourceSmartOS.py @@ -319,7 +319,8 @@ def query_data(noun, seed_device, seed_timeout, strip=False, default=None, return False ser = get_serial(seed_device, seed_timeout) - ser.write("GET %s\n" % noun.rstrip()) + request_line = "GET %s\n" % noun.rstrip() + ser.write(request_line.encode('ascii')) status = str(ser.readline()).rstrip() response = [] eom_found = False @@ -329,7 +330,7 @@ def query_data(noun, seed_device, seed_timeout, strip=False, default=None, return default while not eom_found: - m = ser.readline() + m = ser.readline().decode('ascii') if m.rstrip() == ".": eom_found = True else: |