about: Handle updater-supervisor errors gracefully
For example, weird state of packages would break query for router customization.
Traceback (most recent call last):
File "/usr/bin/foris-client", line 11, in <module>
load_entry_point('foris-client==1.0.3', 'console_scripts', 'foris-client')()
File "/usr/lib/python3.7/site-packages/foris_client/client/__main__.py", line 177, in main
File "/usr/lib/python3.7/site-packages/foris_client/buses/mqtt.py", line 358, in send
File "/usr/lib/python3.7/site-packages/foris_client/buses/mqtt.py", line 350, in process_resp
File "/usr/lib/python3.7/site-packages/foris_client/buses/base.py", line 69, in _raise_exception_on_error
foris_client.buses.base.ControllerError__updater__query_installed_packages: Controller error(s) has occured:
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/foris_controller/message_router.py", line 117, in process_message
File "/usr/lib/python3.7/site-packages/foris_controller/module_base.py", line 61, in perform_action
File "/usr/lib/python3.7/site-packages/foris_controller_modules/updater/__init__.py", line 145, in action_query_installed_packages
File "/usr/lib/python3.7/site-packages/foris_controller_modules/updater/handlers/openwrt.py", line 130, in query_installed_packages
File "/usr/lib/python3.7/site-packages/foris_controller_backends/updater/__init__.py", line 211, in query_installed_packages
File "/usr/lib/python3.7/site-packages/svupdater/packages.py", line 105, in __init__
File "/usr/lib/python3.7/site-packages/svupdater/packages.py", line 70, in __init__
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/opkg/info/sentinel-proxy.control'
Internal error [Errno 2] No such file or directory: '/usr/lib/opkg/info/sentinel-proxy.control'('<class 'FileNotFoundError'>')
We should handle it gracefully, ignore failed query and return all other gathered data.