Adding a new DataCast breaks settings

When adding a new target server/port on UI it breaks the interface. Note that when the UI tried to pull a list of datacast entries before I added a new server, it was returning a 500 error. Screenshots and logs attached.

Log snippet
This appears to be caused by a missing UDP streams conf file as per this log snippet:

[2020-01-30 01:45:13,789] ERROR in app: Exception on /udpstreams [GET]
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1988, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1641, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python2.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1544, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1639, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1625, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/src/be/app.py", line 310, in get_streams
    res = ioutils.read_udp_streams()
  File "/usr/src/be/ioutils.py", line 281, in read_udp_streams
    with open(udp_streams_path, "r") as udp_file:
IOError: [Errno 2] No such file or directory: '/opt/settings/user/UDP-data-streams.conf'
[2020-01-30 01:45:42,275] ERROR in app: Exception on /udpstreams [GET]
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1988, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1641, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python2.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1544, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1639, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python2.7/site-packages/flask/app.py", line 1625, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/src/be/app.py", line 310, in get_streams
    res = ioutils.read_udp_streams()
  File "/usr/src/be/ioutils.py", line 281, in read_udp_streams
    with open(udp_streams_path, "r") as udp_file:
IOError: [Errno 2] No such file or directory: '/opt/settings/user/UDP-data-streams.conf'

Patch
I was able to perform a simple fix by SSH’ing into the Shake and running the following command:

sudo touch /opt/settings/user/UDP-data-streams.conf

Screenshots and files

RSH.RC7B7.2020-01-30T01_50_17.logs.tar (108.5 KB)

Hi @crockpotveggies, thanks for making us aware of this. It should be fixed in the next release.