Cannot open WAN settings in foris

After some update, WAN settings in foris are not accesible, giving the following error instead:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/foris_controller/message_router.py", line 117, in process_message
    self.validate(reply)
  File "/usr/lib/python2.7/site-packages/foris_controller/message_router.py", line 60, in validate
    app_info["validator"].validate_verbose(message)
  File "/usr/lib/python2.7/site-packages/foris_schema/validator.py", line 224, in validate_verbose
    self._match_filtered(msg)
  File "/usr/lib/python2.7/site-packages/foris_schema/validator.py", line 213, in _match_filtered
    schema_validate(msg, schema, format_checker=FormatChecker())
  File "/usr/lib/python2.7/site-packages/jsonschema/validators.py", line 541, in validate
    cls(schema, *args, **kwargs).validate(instance)
  File "/usr/lib/python2.7/site-packages/jsonschema/validators.py", line 130, in validate
    raise error
ValidationError: {'wan_type': 'static', 'wan_static': {'ip': '10.0.0.3', 'netmask': '255.255.255.0', 'dns1': '1', 'gateway': '10.0.0.138', 'dns2': '.'}} is not valid under any of the given schemas

Failed validating u'oneOf' in schema['allOf'][1][u'properties'][u'data'][u'properties'][u'wan_settings']:
    {u'oneOf': [{u'additionalProperties': False,
                 u'properties': {u'wan_dhcp': {u'$ref': u'#/definitions/wan_dhcp'},
                                 u'wan_type': {u'allOf': [{u'$ref': u'#/definitions/wan_type'},
                                                          {u'enum': [u'dhcp']}]}},
                 u'required': [u'wan_type', u'wan_dhcp'],
                 u'type': u'object'},
                {u'additionalProperties': False,
                 u'properties': {u'wan_static': {u'$ref': u'#/definitions/wan_static'},
                                 u'wan_type': {u'allOf': [{u'$ref': u'#/definitions/wan_type'},
                                                          {u'enum': [u'static']}]}},
                 u'required': [u'wan_type', u'wan_static'],
                 u'type': u'object'},
                {u'additionalProperties': False,
                 u'properties': {u'wan_pppoe': {u'$ref': u'#/definitions/wan_pppoe'},
                                 u'wan_type': {u'allOf': [{u'$ref': u'#/definitions/wan_type'},
                                                          {u'enum': [u'pppoe']}]}},
                 u'required': [u'wan_type', u'wan_pppoe'],
                 u'type': u'object'},
                {u'additionalProperties': False,
                 u'properties': {u'wan_type': {u'allOf': [{u'$ref': u'#/definitions/wan_type'},
                                                          {u'enum': [u'none']}]}},
                 u'required': [u'wan_type'],
                 u'type': u'object'}]}

On instance[u'data'][u'wan_settings']:
    {'wan_static': {'dns1': '1',
                    'dns2': '.',
                    'gateway': '10.0.0.138',
                    'ip': '10.0.0.3',
                    'netmask': '255.255.255.0'},
     'wan_type': 'static'}

After talking to support, which responded immediately, it turned out I had to change /etc/config/network. The line saying

option dns '8.8.8.8, 1.1.1.1'

had to be changed to

list dns '8.8.8.8'
list dns '1.1.1.1'

(with the actual DNS servers instead of 8.8.8.8 and 1.1.1.1)

1 Like