2018-10-24 23:51:40 |
Jamie Bennett |
bug |
|
|
added bug |
2018-10-25 21:06:38 |
Adam Collard |
landscape-client (Ubuntu): status |
New |
Incomplete |
|
2018-10-25 21:56:29 |
Jamie Bennett |
attachment added |
|
vendor files https://bugs.launchpad.net/ubuntu/+source/landscape-client/+bug/1799843/+attachment/5205657/+files/vendor_info.tar.gz |
|
2018-10-26 16:06:25 |
Adam Collard |
landscape-client (Ubuntu): status |
Incomplete |
Confirmed |
|
2018-10-28 17:25:59 |
Dave Jones |
landscape-client (Ubuntu): assignee |
|
Dave Jones (waveform) |
|
2018-10-28 17:26:04 |
Dave Jones |
landscape-client (Ubuntu): status |
Confirmed |
In Progress |
|
2018-11-02 15:10:31 |
Adam Collard |
landscape-client (Ubuntu): importance |
Undecided |
High |
|
2018-11-02 15:11:25 |
Dave Jones |
landscape-client (Ubuntu): status |
In Progress |
Fix Committed |
|
2019-12-04 23:24:27 |
Launchpad Janitor |
landscape-client (Ubuntu): status |
Fix Committed |
Fix Released |
|
2022-09-29 23:07:42 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~simpoir/ubuntu/+source/landscape-client/+git/landscape-client/+merge/430790 |
|
2022-10-04 15:32:58 |
Simon Poirier |
nominated for series |
|
Ubuntu Bionic |
|
2022-10-04 15:32:58 |
Simon Poirier |
bug task added |
|
landscape-client (Ubuntu Bionic) |
|
2022-10-04 15:33:17 |
Simon Poirier |
landscape-client (Ubuntu Bionic): assignee |
|
Simon Poirier (simpoir) |
|
2022-10-04 15:33:21 |
Simon Poirier |
landscape-client (Ubuntu Bionic): status |
New |
In Progress |
|
2022-10-04 16:10:22 |
Simon Poirier |
description |
Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with:
Traceback (most recent call last):
Failure: landscape.lib.amp.MethodCallError: timeout
broker.log shows:
2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf
2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf
2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr
ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire
results.append(handler(*args, **kwargs))
File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre
_exchange
"vm-info": get_vm_info()}
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info
vendor = _get_vm_by_vendor(dmi_vendor_path)
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor
vendor = read_text_file(sys_vendor_path).lower()
File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file
content = read_binary_file(path).decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can
onical.com/message-system.
2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b
ytes in 0.54s.
2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode.
2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. |
[ Impact ]
* Landscape-client fails to start on some hardware where the DMI fields
for chassis/bios/product are invalid utf-8.
* This prevents some machines from being managed by landscape on bionic.
The issue has already been patched on following series. Previous series
were relying on python2 str and were comparing binary data, thus are
also unaffected.
[ Test Plan ]
* apt install cloud-image-utils qemu-system-x86
* wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
* printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -
* kvm -smbios type=3,manufacturer=$'\xff' -smbios type=1,manufacturer=$'\xff' -snapshot -drive file=bionic-server-cloudimg-amd64.img,if=virtio -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22
* login as ubuntu:ubuntu
* sudo landscape-config -a account -p registrationkey -t my_bad_dmi_machine --silent
* check /var/log/landscape/broker.log for decoding errors
[ Where problems could occur ]
* The backported patch touches a few code paths related to file reading and
encoding. In particular, the now lossy decoding (due to decode replace)
could have the side effect of unblocking code paths which previously
were failing early on the decoding. This could surface in new errors
in code which now gets to execute on affected machines.
* The lossy decoding now introduces some utf8 replacement characters.
That replacement character being unicode might generate some inconsistency
if different code paths decode the same file data differently.
* Also, that replacement character is non-ascii unicode. Although the server
and clients should handle that gracefully, there is a chance that they never
got to exercise some fields having unicode. This might surface more encoding
issues in other parts of the code.
[ Original Description ]
Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with:
Traceback (most recent call last):
Failure: landscape.lib.amp.MethodCallError: timeout
broker.log shows:
2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf
2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf
2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr
ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire
results.append(handler(*args, **kwargs))
File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre
_exchange
"vm-info": get_vm_info()}
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info
vendor = _get_vm_by_vendor(dmi_vendor_path)
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor
vendor = read_text_file(sys_vendor_path).lower()
File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file
content = read_binary_file(path).decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can
onical.com/message-system.
2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b
ytes in 0.54s.
2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode.
2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. |
|
2022-10-04 16:10:47 |
Simon Poirier |
description |
[ Impact ]
* Landscape-client fails to start on some hardware where the DMI fields
for chassis/bios/product are invalid utf-8.
* This prevents some machines from being managed by landscape on bionic.
The issue has already been patched on following series. Previous series
were relying on python2 str and were comparing binary data, thus are
also unaffected.
[ Test Plan ]
* apt install cloud-image-utils qemu-system-x86
* wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
* printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -
* kvm -smbios type=3,manufacturer=$'\xff' -smbios type=1,manufacturer=$'\xff' -snapshot -drive file=bionic-server-cloudimg-amd64.img,if=virtio -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22
* login as ubuntu:ubuntu
* sudo landscape-config -a account -p registrationkey -t my_bad_dmi_machine --silent
* check /var/log/landscape/broker.log for decoding errors
[ Where problems could occur ]
* The backported patch touches a few code paths related to file reading and
encoding. In particular, the now lossy decoding (due to decode replace)
could have the side effect of unblocking code paths which previously
were failing early on the decoding. This could surface in new errors
in code which now gets to execute on affected machines.
* The lossy decoding now introduces some utf8 replacement characters.
That replacement character being unicode might generate some inconsistency
if different code paths decode the same file data differently.
* Also, that replacement character is non-ascii unicode. Although the server
and clients should handle that gracefully, there is a chance that they never
got to exercise some fields having unicode. This might surface more encoding
issues in other parts of the code.
[ Original Description ]
Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with:
Traceback (most recent call last):
Failure: landscape.lib.amp.MethodCallError: timeout
broker.log shows:
2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf
2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf
2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr
ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire
results.append(handler(*args, **kwargs))
File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre
_exchange
"vm-info": get_vm_info()}
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info
vendor = _get_vm_by_vendor(dmi_vendor_path)
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor
vendor = read_text_file(sys_vendor_path).lower()
File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file
content = read_binary_file(path).decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can
onical.com/message-system.
2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b
ytes in 0.54s.
2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode.
2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. |
[ Impact ]
* Landscape-client fails to start on some hardware where the DMI fields
for chassis/bios/product are invalid utf-8.
* This prevents some machines from being managed by landscape on bionic.
The issue has already been patched on following series. Previous series
were relying on python2 str and were comparing binary data, thus are
also unaffected.
[ Test Plan ]
* apt install cloud-image-utils qemu-system-x86
* wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
* printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -
* kvm -smbios type=3,manufacturer=$'\xff' -smbios type=1,manufacturer=$'\xff' -snapshot -drive file=bionic-server-cloudimg-amd64.img,if=virtio -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22
* login as ubuntu:ubuntu
* sudo landscape-config -a account -p registrationkey -t my_bad_dmi_machine --silent
* check /var/log/landscape/broker.log for decoding errors
[ Where problems could occur ]
* The backported patch touches a few code paths related to file reading and
encoding. In particular, the now lossy decoding (due to decode replace)
could have the side effect of unblocking code paths which previously
were failing early on the decoding. This could surface in new errors
in code which now gets to execute on affected machines.
* The lossy decoding now introduces some utf8 replacement characters.
That replacement character being unicode might generate some inconsistency
if different code paths decode the same file data differently.
* Also, that replacement character is non-ascii unicode. Although the server
and clients should handle that gracefully, there is a chance that they never
got to exercise some fields having unicode. This might surface more encoding
issues in other parts of the code.
[ Original Description ]
Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with:
Traceback (most recent call last):
Failure: landscape.lib.amp.MethodCallError: timeout
broker.log shows:
2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf
2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf
2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr
ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire
results.append(handler(*args, **kwargs))
File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre
_exchange
"vm-info": get_vm_info()}
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info
vendor = _get_vm_by_vendor(dmi_vendor_path)
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor
vendor = read_text_file(sys_vendor_path).lower()
File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file
content = read_binary_file(path).decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can
onical.com/message-system.
2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b
ytes in 0.54s.
2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode.
2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. |
|
2022-10-04 16:13:55 |
Simon Poirier |
description |
[ Impact ]
* Landscape-client fails to start on some hardware where the DMI fields
for chassis/bios/product are invalid utf-8.
* This prevents some machines from being managed by landscape on bionic.
The issue has already been patched on following series. Previous series
were relying on python2 str and were comparing binary data, thus are
also unaffected.
[ Test Plan ]
* apt install cloud-image-utils qemu-system-x86
* wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
* printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -
* kvm -smbios type=3,manufacturer=$'\xff' -smbios type=1,manufacturer=$'\xff' -snapshot -drive file=bionic-server-cloudimg-amd64.img,if=virtio -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22
* login as ubuntu:ubuntu
* sudo landscape-config -a account -p registrationkey -t my_bad_dmi_machine --silent
* check /var/log/landscape/broker.log for decoding errors
[ Where problems could occur ]
* The backported patch touches a few code paths related to file reading and
encoding. In particular, the now lossy decoding (due to decode replace)
could have the side effect of unblocking code paths which previously
were failing early on the decoding. This could surface in new errors
in code which now gets to execute on affected machines.
* The lossy decoding now introduces some utf8 replacement characters.
That replacement character being unicode might generate some inconsistency
if different code paths decode the same file data differently.
* Also, that replacement character is non-ascii unicode. Although the server
and clients should handle that gracefully, there is a chance that they never
got to exercise some fields having unicode. This might surface more encoding
issues in other parts of the code.
[ Original Description ]
Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with:
Traceback (most recent call last):
Failure: landscape.lib.amp.MethodCallError: timeout
broker.log shows:
2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf
2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf
2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr
ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire
results.append(handler(*args, **kwargs))
File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre
_exchange
"vm-info": get_vm_info()}
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info
vendor = _get_vm_by_vendor(dmi_vendor_path)
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor
vendor = read_text_file(sys_vendor_path).lower()
File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file
content = read_binary_file(path).decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can
onical.com/message-system.
2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b
ytes in 0.54s.
2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode.
2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. |
[ Impact ]
* Landscape-client fails to start on some hardware where the DMI fields
for chassis/bios/product are invalid utf-8.
* This prevents some machines from being managed by landscape on bionic.
The issue has already been patched on following series. Previous series
were relying on python2 str and were comparing binary data, thus are
also unaffected.
[ Test Plan ]
* apt install cloud-image-utils qemu-system-x86
* wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
* printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -
* kvm -smbios type=3,manufacturer=$'\xff' \
-smbios type=1,manufacturer=$'\xff' -snapshot \
-drive file=bionic-server-cloudimg-amd64.img,if=virtio \
-drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22
* ssh -p 22222 localhost with ubuntu:ubuntu
* sudo landscape-config -a account -p registrationkey \
-t my_bad_dmi_machine --silent
* check /var/log/landscape/broker.log for decoding errors
[ Where problems could occur ]
* The backported patch touches a few code paths related to file reading.
In particular, the now lossy decoding (due to decode replace)
could have the side effect of unblocking code paths which previously
were failing early on the decoding. This could surface in new errors
in code which now gets to execute on affected machines.
* The lossy decoding now introduces some utf8 replacement characters.
That replacement character being unicode might generate some
inconsistency if different code paths decode the same file data
differently.
* Also, that replacement character is non-ascii unicode. Although the
server and clients should handle that gracefully, there is a chance
that they never got to exercise some fields having unicode. This might
surface more encoding issues in other parts of the code.
[ Original Description ]
Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with:
Traceback (most recent call last):
Failure: landscape.lib.amp.MethodCallError: timeout
broker.log shows:
2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf
2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf
2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr
ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire
results.append(handler(*args, **kwargs))
File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre
_exchange
"vm-info": get_vm_info()}
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info
vendor = _get_vm_by_vendor(dmi_vendor_path)
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor
vendor = read_text_file(sys_vendor_path).lower()
File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file
content = read_binary_file(path).decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can
onical.com/message-system.
2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b
ytes in 0.54s.
2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode.
2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. |
|
2022-10-04 16:15:10 |
Simon Poirier |
description |
[ Impact ]
* Landscape-client fails to start on some hardware where the DMI fields
for chassis/bios/product are invalid utf-8.
* This prevents some machines from being managed by landscape on bionic.
The issue has already been patched on following series. Previous series
were relying on python2 str and were comparing binary data, thus are
also unaffected.
[ Test Plan ]
* apt install cloud-image-utils qemu-system-x86
* wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
* printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -
* kvm -smbios type=3,manufacturer=$'\xff' \
-smbios type=1,manufacturer=$'\xff' -snapshot \
-drive file=bionic-server-cloudimg-amd64.img,if=virtio \
-drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22
* ssh -p 22222 localhost with ubuntu:ubuntu
* sudo landscape-config -a account -p registrationkey \
-t my_bad_dmi_machine --silent
* check /var/log/landscape/broker.log for decoding errors
[ Where problems could occur ]
* The backported patch touches a few code paths related to file reading.
In particular, the now lossy decoding (due to decode replace)
could have the side effect of unblocking code paths which previously
were failing early on the decoding. This could surface in new errors
in code which now gets to execute on affected machines.
* The lossy decoding now introduces some utf8 replacement characters.
That replacement character being unicode might generate some
inconsistency if different code paths decode the same file data
differently.
* Also, that replacement character is non-ascii unicode. Although the
server and clients should handle that gracefully, there is a chance
that they never got to exercise some fields having unicode. This might
surface more encoding issues in other parts of the code.
[ Original Description ]
Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with:
Traceback (most recent call last):
Failure: landscape.lib.amp.MethodCallError: timeout
broker.log shows:
2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf
2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf
2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr
ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire
results.append(handler(*args, **kwargs))
File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre
_exchange
"vm-info": get_vm_info()}
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info
vendor = _get_vm_by_vendor(dmi_vendor_path)
File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor
vendor = read_text_file(sys_vendor_path).lower()
File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file
content = read_binary_file(path).decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can
onical.com/message-system.
2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b
ytes in 0.54s.
2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode.
2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. |
[ Impact ]
* Landscape-client fails to start on some hardware where the DMI fields
for chassis/bios/product are invalid utf-8.
* This prevents some machines from being managed by landscape on bionic.
The issue has already been patched on following series. Previous series
were relying on python2 str and were comparing binary data, thus are
also unaffected.
[ Test Plan ]
* apt install cloud-image-utils qemu-system-x86
* wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
* printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -
* kvm -smbios type=3,manufacturer=$'\xff' \
-smbios type=1,manufacturer=$'\xff' -snapshot \
-drive file=bionic-server-cloudimg-amd64.img,if=virtio \
-drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22
* ssh -p 22222 localhost with ubuntu:ubuntu
* sudo landscape-config -a account -p registrationkey \
-t my_bad_dmi_machine --silent
* check /var/log/landscape/broker.log for decoding errors
[ Where problems could occur ]
* The backported patch touches a few code paths related to file reading.
In particular, the now lossy decoding (due to decode replace)
could have the side effect of unblocking code paths which previously
were failing early on the decoding. This could surface in new errors
in code which now gets to execute on affected machines.
* The lossy decoding now introduces some utf8 replacement characters.
That replacement character being unicode might generate some
inconsistency if different code paths decode the same file data
differently.
* Also, that replacement character is non-ascii unicode. Although the
server and clients should handle that gracefully, there is a chance
that they never got to exercise some fields having unicode. This might
surface more encoding issues in other parts of the code. |
|