tiiuae / mesh_com

ROS node for Mesh Network configuration
BSD 3-Clause "New" or "Revised" License
16 stars 17 forks source link

MDM client #365

Closed joenpera closed 10 months ago

joenpera commented 10 months ago

Support these GET:

Support these POST:

DaniilTroshkovTII commented 10 months ago

Hi Mika, somehow it works for me only with this fix:

--- a/modules/sc-mesh-secure-deployment/src/nats/comms_nats_controller.py
+++ b/modules/sc-mesh-secure-deployment/src/nats/comms_nats_controller.py
@@ -426,7 +426,7 @@ class MdmAgent:
             if config["payload"] is not None:
                 data = config["payload"]["features"]
                 with open(self.YAML_FILE, "w", encoding="utf-8") as file_handle:
-                    file_handle.write(data)
+                    file_handle.write(str(data))

                 # features_yaml = yaml.dump(features_dict, default_flow_style=False)
                 #

otherwise I've got this error:

2023-11-26 00:01:20,931 :: comms.controller   :: DEBUG    :: HTTP Request Response: {"version":0,"payload":{"api_version":1,"role":"sleeve","features":{"PHY":true,"RSS":true,"IDS":true,"FMO":true,"jamming":false}}} 200
2023-11-26 00:01:20,932 :: comms.controller   :: DEBUG    :: No previous features config
toka
Service MDM Service._mdm._tcp.local. of type _mdm._tcp.local. state changed: ServiceStateChange.Added
Traceback (most recent call last):
  File "/opt/nats/comms_nats_controller.py", line 910, in <module>
    loop.run_until_complete(
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
  File "/opt/nats/comms_nats_controller.py", line 734, in main_mdm
    await asyncio.gather(mdm.execute())
  File "/opt/nats/comms_nats_controller.py", line 324, in execute
    await self.__loop_run_executor(executor, ConfigType.FEATURES)
  File "/opt/nats/comms_nats_controller.py", line 651, in __loop_run_executor
    ret = self.__handle_received_config(response, config)
  File "/opt/nats/comms_nats_controller.py", line 521, in __handle_received_config
    ret = self.__action_feature_yaml(response)
  File "/opt/nats/comms_nats_controller.py", line 429, in __action_feature_yaml
    file_handle.write(data)
TypeError: write() argument must be str, not dict

As to WAR fix I cannot get 500 somehow I always getting 405:

2023-11-26 00:26:49,365 :: comms.controller   :: DEBUG    :: Uploading certificate bundle
2023-11-26 00:26:49,626 :: comms.controller   :: DEBUG    :: Certificate upload response: <Response [200]>
2023-11-26 00:26:50,658 :: comms.controller   :: DEBUG    :: HTTP Request status: 200, config: ConfigType.FEATURES
2023-11-26 00:26:50,658 :: comms.controller   :: DEBUG    :: HTTP Request Response: {"version":0,"payload":{"api_version":1,"role":"sleeve","features":{"PHY":true,"RSS":true,"IDS":true,"FMO":true,"jamming":false}}} 200
2023-11-26 00:26:50,658 :: comms.controller   :: DEBUG    :: No previous features config
2023-11-26 00:26:50,660 :: comms.controller   :: DEBUG    :: config: ConfigType.FEATURES, ret: OK
2023-11-26 00:26:50,660 :: comms.controller   :: DEBUG    :: status: {<ConfigType.MESH_CONFIG: 'mesh_conf'>: 'FAIL', <ConfigType.FEATURES: 'features'>: 'OK', <ConfigType.CERTIFICATES: 'certificates'>: 'FAIL'}
2023-11-26 00:26:50,682 :: comms.controller   :: DEBUG    :: HTTP Request status: 405, config: ConfigType.CERTIFICATES
2023-11-26 00:26:50,682 :: comms.controller   :: DEBUG    :: status: {<ConfigType.MESH_CONFIG: 'mesh_conf'>: 'FAIL', <ConfigType.FEATURES: 'features'>: 'OK', <ConfigType.CERTIFICATES: 'certificates'>: 'FAIL'}
2023-11-26 00:26:50,704 :: comms.controller   :: DEBUG    :: HTTP Request status: 200, config: ConfigType.MESH_CONFIG
2023-11-26 00:26:50,704 :: comms.controller   :: DEBUG    :: HTTP Request Response: {"version":0,"payload":{"api_version":1,"role":"sleeve","radios":[{"radio_index":"0","ssid":"test_mesh","key":"1234567890","ap_mac":"00:11:22:33:44:55","country":"FI","frequency":"5220","frequency_mcc":"2412","routing":"batman-adv","mptcp":"disable","ip":"10.20.15.3","subnet":"255.255.255.0","tx_power":"5","mode":"mesh","priority":"long_range","mesh_vif":"wlp1s0","batman_iface":"bat0","bridge":"br-lan bat0 eth1 lan1 eth0 usb0","slaac":""}]}} 200
2023-11-26 00:26:50,704 :: comms.controller   :: DEBUG    :: No previous mesh config
2023-11-26 00:26:50,705 :: comms.settings     :: DEBUG    :: Mesh settings validation index: 0
2023-11-26 00:26:50,705 :: comms.settings     :: DEBUG    :: validate mesh settings
2023-11-26 00:26:50,706 :: comms.settings     :: DEBUG    :: validate mesh settings ssid ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings wpa3 ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings ip ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings mode ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings freq ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings mcc freq ok
2023-11-26 00:26:50,708 :: comms.settings     :: DEBUG    :: validate mesh settings country ok
2023-11-26 00:26:50,708 :: comms.settings     :: DEBUG    :: validate mesh settings subnet ok
2023-11-26 00:26:50,708 :: comms.settings     :: DEBUG    :: validate mesh settings tx power ok
2023-11-26 00:26:50,708 :: comms.settings     :: DEBUG    :: validate mesh settings routing ok
2023-11-26 00:26:50,709 :: comms.settings     :: DEBUG    :: validate mesh settings priority ok
2023-11-26 00:26:50,709 :: comms.settings     :: DEBUG    :: validate mesh settings role ok
2023-11-26 00:26:50,709 :: comms.settings     :: DEBUG    :: validate mesh settings mesh vif ok
2023-11-26 00:26:50,709 :: comms.settings     :: DEBUG    :: validate mesh settings mptcp ok
2023-11-26 00:26:50,710 :: comms.settings     :: DEBUG    :: validate mesh settings batman iface ok
2023-11-26 00:26:50,710 :: comms.settings     :: DEBUG    :: validate mesh settings slaac ifaces ok
2023-11-26 00:26:50,710 :: comms.settings     :: DEBUG    :: Mesh settings validation id 0: OK, Mesh settings OK
2023-11-26 00:26:50,711 :: comms.settings     :: DEBUG    :: 0_mesh_stored.conf written
2023-11-26 00:26:50,711 :: comms.settings     :: DEBUG    :: save settings index 0: OK, Mesh configuration stored
2023-11-26 00:26:50,711 :: comms.controller   :: DEBUG    :: ret: OK info: Mesh configuration stored
2023-11-26 00:26:50,712 :: comms.command      :: DEBUG    :: Command: APPLY
2023-11-26 00:26:50,845 :: comms.command      :: DEBUG    :: Stopped MPTCP service
2023-11-26 00:26:50,935 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'wlp1s0': 'DOWN', 'bat0': 'UNKNOWN'}
2023-11-26 00:26:52,032 :: comms.command      :: DEBUG    :: Mission configurations applied
2023-11-26 00:26:52,118 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN'}
2023-11-26 00:26:52,145 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:52,157 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:52,172 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'UNKNOWN'}
2023-11-26 00:26:52,179 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:52,186 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:52,192 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:57,070 :: comms.command      :: DEBUG    :: Started MPTCP service
2023-11-26 00:26:57,071 :: comms.controller   :: DEBUG    :: ret: OK info: Mission configurations applied
2023-11-26 00:26:57,072 :: comms.controller   :: DEBUG    :: config: ConfigType.MESH_CONFIG, ret: OK
2023-11-26 00:26:57,072 :: comms.controller   :: DEBUG    :: status: {<ConfigType.MESH_CONFIG: 'mesh_conf'>: 'OK', <ConfigType.FEATURES: 'features'>: 'OK', <ConfigType.CERTIFICATES: 'certificates'>: 'FAIL'}
2023-11-26 00:26:57,095 :: comms.controller   :: DEBUG    :: HTTP Request status: 405, config: ConfigType.DEBUG_CONFIG
2023-11-26 00:26:57,096 :: comms.controller   :: DEBUG    :: MDM Server has no support for debug mode

It should returns here: https://github.com/tiiuae/mdm-server/blob/1a3dc0494309a6bb84c69dc1f39d853235833720/MDMServer.py#L184 According to your log it fails a bit higher: https://github.com/tiiuae/mdm-server/blob/1a3dc0494309a6bb84c69dc1f39d853235833720/MDMServer.py#L172 Maybe you have old database? What I am doing I always restart mango:

(venv) daniil@daniil-ThinkPad-T14-Gen-3:~/workspace/MDM/BUILD/develop/mdm-server$ docker-compose down
[+] Running 2/2
 ✔ Container mongo             Removed                                                                                                                                                                1.3s 
 ✔ Network mdm-server_default  Removed                                                                                                                                                                0.4s 
(venv) daniil@daniil-ThinkPad-T14-Gen-3:~/workspace/MDM/BUILD/develop/mdm-server$ docker-compose up -d mongo
[+] Running 2/2
 ✔ Network mdm-server_default  Created                                                                                                                                                                0.1s 
 ✔ Container mongo             Started                                                                                                                                                                0.8s 
(venv) daniil@daniil-ThinkPad-T14-Gen-3:~/workspace/MDM/BUILD/develop/mdm-server$ python MDMServer.py -i 192.168.1.1 -p 5000
joenpera commented 10 months ago

Hi Mika, somehow it works for me only with this fix:

--- a/modules/sc-mesh-secure-deployment/src/nats/comms_nats_controller.py
+++ b/modules/sc-mesh-secure-deployment/src/nats/comms_nats_controller.py
@@ -426,7 +426,7 @@ class MdmAgent:
             if config["payload"] is not None:
                 data = config["payload"]["features"]
                 with open(self.YAML_FILE, "w", encoding="utf-8") as file_handle:
-                    file_handle.write(data)
+                    file_handle.write(str(data))

                 # features_yaml = yaml.dump(features_dict, default_flow_style=False)
                 #

otherwise I've got this error:

2023-11-26 00:01:20,931 :: comms.controller   :: DEBUG    :: HTTP Request Response: {"version":0,"payload":{"api_version":1,"role":"sleeve","features":{"PHY":true,"RSS":true,"IDS":true,"FMO":true,"jamming":false}}} 200
2023-11-26 00:01:20,932 :: comms.controller   :: DEBUG    :: No previous features config
toka
Service MDM Service._mdm._tcp.local. of type _mdm._tcp.local. state changed: ServiceStateChange.Added
Traceback (most recent call last):
  File "/opt/nats/comms_nats_controller.py", line 910, in <module>
    loop.run_until_complete(
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
  File "/opt/nats/comms_nats_controller.py", line 734, in main_mdm
    await asyncio.gather(mdm.execute())
  File "/opt/nats/comms_nats_controller.py", line 324, in execute
    await self.__loop_run_executor(executor, ConfigType.FEATURES)
  File "/opt/nats/comms_nats_controller.py", line 651, in __loop_run_executor
    ret = self.__handle_received_config(response, config)
  File "/opt/nats/comms_nats_controller.py", line 521, in __handle_received_config
    ret = self.__action_feature_yaml(response)
  File "/opt/nats/comms_nats_controller.py", line 429, in __action_feature_yaml
    file_handle.write(data)
TypeError: write() argument must be str, not dict

As to WAR fix I cannot get 500 somehow I always getting 405:

2023-11-26 00:26:49,365 :: comms.controller   :: DEBUG    :: Uploading certificate bundle
2023-11-26 00:26:49,626 :: comms.controller   :: DEBUG    :: Certificate upload response: <Response [200]>
2023-11-26 00:26:50,658 :: comms.controller   :: DEBUG    :: HTTP Request status: 200, config: ConfigType.FEATURES
2023-11-26 00:26:50,658 :: comms.controller   :: DEBUG    :: HTTP Request Response: {"version":0,"payload":{"api_version":1,"role":"sleeve","features":{"PHY":true,"RSS":true,"IDS":true,"FMO":true,"jamming":false}}} 200
2023-11-26 00:26:50,658 :: comms.controller   :: DEBUG    :: No previous features config
2023-11-26 00:26:50,660 :: comms.controller   :: DEBUG    :: config: ConfigType.FEATURES, ret: OK
2023-11-26 00:26:50,660 :: comms.controller   :: DEBUG    :: status: {<ConfigType.MESH_CONFIG: 'mesh_conf'>: 'FAIL', <ConfigType.FEATURES: 'features'>: 'OK', <ConfigType.CERTIFICATES: 'certificates'>: 'FAIL'}
2023-11-26 00:26:50,682 :: comms.controller   :: DEBUG    :: HTTP Request status: 405, config: ConfigType.CERTIFICATES
2023-11-26 00:26:50,682 :: comms.controller   :: DEBUG    :: status: {<ConfigType.MESH_CONFIG: 'mesh_conf'>: 'FAIL', <ConfigType.FEATURES: 'features'>: 'OK', <ConfigType.CERTIFICATES: 'certificates'>: 'FAIL'}
2023-11-26 00:26:50,704 :: comms.controller   :: DEBUG    :: HTTP Request status: 200, config: ConfigType.MESH_CONFIG
2023-11-26 00:26:50,704 :: comms.controller   :: DEBUG    :: HTTP Request Response: {"version":0,"payload":{"api_version":1,"role":"sleeve","radios":[{"radio_index":"0","ssid":"test_mesh","key":"1234567890","ap_mac":"00:11:22:33:44:55","country":"FI","frequency":"5220","frequency_mcc":"2412","routing":"batman-adv","mptcp":"disable","ip":"10.20.15.3","subnet":"255.255.255.0","tx_power":"5","mode":"mesh","priority":"long_range","mesh_vif":"wlp1s0","batman_iface":"bat0","bridge":"br-lan bat0 eth1 lan1 eth0 usb0","slaac":""}]}} 200
2023-11-26 00:26:50,704 :: comms.controller   :: DEBUG    :: No previous mesh config
2023-11-26 00:26:50,705 :: comms.settings     :: DEBUG    :: Mesh settings validation index: 0
2023-11-26 00:26:50,705 :: comms.settings     :: DEBUG    :: validate mesh settings
2023-11-26 00:26:50,706 :: comms.settings     :: DEBUG    :: validate mesh settings ssid ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings wpa3 ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings ip ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings mode ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings freq ok
2023-11-26 00:26:50,707 :: comms.settings     :: DEBUG    :: validate mesh settings mcc freq ok
2023-11-26 00:26:50,708 :: comms.settings     :: DEBUG    :: validate mesh settings country ok
2023-11-26 00:26:50,708 :: comms.settings     :: DEBUG    :: validate mesh settings subnet ok
2023-11-26 00:26:50,708 :: comms.settings     :: DEBUG    :: validate mesh settings tx power ok
2023-11-26 00:26:50,708 :: comms.settings     :: DEBUG    :: validate mesh settings routing ok
2023-11-26 00:26:50,709 :: comms.settings     :: DEBUG    :: validate mesh settings priority ok
2023-11-26 00:26:50,709 :: comms.settings     :: DEBUG    :: validate mesh settings role ok
2023-11-26 00:26:50,709 :: comms.settings     :: DEBUG    :: validate mesh settings mesh vif ok
2023-11-26 00:26:50,709 :: comms.settings     :: DEBUG    :: validate mesh settings mptcp ok
2023-11-26 00:26:50,710 :: comms.settings     :: DEBUG    :: validate mesh settings batman iface ok
2023-11-26 00:26:50,710 :: comms.settings     :: DEBUG    :: validate mesh settings slaac ifaces ok
2023-11-26 00:26:50,710 :: comms.settings     :: DEBUG    :: Mesh settings validation id 0: OK, Mesh settings OK
2023-11-26 00:26:50,711 :: comms.settings     :: DEBUG    :: 0_mesh_stored.conf written
2023-11-26 00:26:50,711 :: comms.settings     :: DEBUG    :: save settings index 0: OK, Mesh configuration stored
2023-11-26 00:26:50,711 :: comms.controller   :: DEBUG    :: ret: OK info: Mesh configuration stored
2023-11-26 00:26:50,712 :: comms.command      :: DEBUG    :: Command: APPLY
2023-11-26 00:26:50,845 :: comms.command      :: DEBUG    :: Stopped MPTCP service
2023-11-26 00:26:50,935 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'wlp1s0': 'DOWN', 'bat0': 'UNKNOWN'}
2023-11-26 00:26:52,032 :: comms.command      :: DEBUG    :: Mission configurations applied
2023-11-26 00:26:52,118 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN'}
2023-11-26 00:26:52,145 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:52,157 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:52,172 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'UNKNOWN'}
2023-11-26 00:26:52,179 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:52,186 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:52,192 :: comms.controller   :: DEBUG    :: Interface monitor cb: {'lo': 'UNKNOWN', 'dummy0': 'DOWN', 'eth0': 'DOWN', 'usb0': 'UP', 'sit0': 'DOWN', 'wlan1': 'DOWN', 'docker0': 'DOWN', 'br-lan': 'UP', 'bat0': 'UNKNOWN', 'wlp1s0': 'DOWN'}
2023-11-26 00:26:57,070 :: comms.command      :: DEBUG    :: Started MPTCP service
2023-11-26 00:26:57,071 :: comms.controller   :: DEBUG    :: ret: OK info: Mission configurations applied
2023-11-26 00:26:57,072 :: comms.controller   :: DEBUG    :: config: ConfigType.MESH_CONFIG, ret: OK
2023-11-26 00:26:57,072 :: comms.controller   :: DEBUG    :: status: {<ConfigType.MESH_CONFIG: 'mesh_conf'>: 'OK', <ConfigType.FEATURES: 'features'>: 'OK', <ConfigType.CERTIFICATES: 'certificates'>: 'FAIL'}
2023-11-26 00:26:57,095 :: comms.controller   :: DEBUG    :: HTTP Request status: 405, config: ConfigType.DEBUG_CONFIG
2023-11-26 00:26:57,096 :: comms.controller   :: DEBUG    :: MDM Server has no support for debug mode

It should returns here: https://github.com/tiiuae/mdm-server/blob/1a3dc0494309a6bb84c69dc1f39d853235833720/MDMServer.py#L184 According to your log it fails a bit higher: https://github.com/tiiuae/mdm-server/blob/1a3dc0494309a6bb84c69dc1f39d853235833720/MDMServer.py#L172 Maybe you have old database? What I am doing I always restart mango:

(venv) daniil@daniil-ThinkPad-T14-Gen-3:~/workspace/MDM/BUILD/develop/mdm-server$ docker-compose down
[+] Running 2/2
 ✔ Container mongo             Removed                                                                                                                                                                1.3s 
 ✔ Network mdm-server_default  Removed                                                                                                                                                                0.4s 
(venv) daniil@daniil-ThinkPad-T14-Gen-3:~/workspace/MDM/BUILD/develop/mdm-server$ docker-compose up -d mongo
[+] Running 2/2
 ✔ Network mdm-server_default  Created                                                                                                                                                                0.1s 
 ✔ Container mongo             Started                                                                                                                                                                0.8s 
(venv) daniil@daniil-ThinkPad-T14-Gen-3:~/workspace/MDM/BUILD/develop/mdm-server$ python MDMServer.py -i 192.168.1.1 -p 5000

I need to check. All might be caused by old Mango DB. I will test and make changes accordingly.