atlanticwave-sdx / sdx-controller

Central Controller for AtlanticWave SDX.
https://www.atlanticwave-sdx.net
MIT License
1 stars 3 forks source link

`/POST connection` gives "TypeError: 'NoneType' object is not subscriptable" #146

Open sajith opened 1 year ago

sajith commented 1 year ago

When all three topologies are published, and a connection request like below is posted:

{
    "id": "a6228238-3d47-4bf7-af56-141ec6e899f8",
    "name": "sax-a1-to-sax-b1",
    "start_time": "2000-01-23T04:56:07.000Z",
    "end_time": "2000-01-23T04:56:07.000Z",
    "bandwidth_required": 10,
    "latency_required": 300,
    "egress_port":
    {
        "id": "urn:ogf:network:sdx:port:sax:A1:1",
        "name": "Novi100:1",
        "node": "urn:ogf:network:sdx:node:sax:A1",
        "status": "up"
    },
    "ingress_port":
    {
        "id": "urn:ogf:network:sdx:port:sax:B1:2",
        "name": "Unknown",
        "node": "urn:ogf:network:sdx:node:sax:B1",
        "status": "up"
    }
}

This error happened:

sdx-controller-sdx-controller-1  | ERROR:__main__:Exception on /SDX-Controller/1.0.0/conection [POST]
sdx-controller-sdx-controller-1  | Traceback (most recent call last):
sdx-controller-sdx-controller-1  |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2529, in wsgi_app
sdx-controller-sdx-controller-1  |     response = self.full_dispatch_request()
sdx-controller-sdx-controller-1  |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1825, in full_dispatch_request
sdx-controller-sdx-controller-1  |     rv = self.handle_user_exception(e)
sdx-controller-sdx-controller-1  |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1823, in full_dispatch_request
sdx-controller-sdx-controller-1  |     rv = self.dispatch_request()
sdx-controller-sdx-controller-1  |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1799, in dispatch_request
sdx-controller-sdx-controller-1  |     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
sdx-controller-sdx-controller-1  |   File "/usr/local/lib/python3.9/site-packages/connexion/decorators/decorator.py", line 68, in wrapper
sdx-controller-sdx-controller-1  |     response = function(request)
sdx-controller-sdx-controller-1  |   File "/usr/local/lib/python3.9/site-packages/connexion/decorators/uri_parsing.py", line 149, in wrapper
sdx-controller-sdx-controller-1  |     response = function(request)
sdx-controller-sdx-controller-1  |   File "/usr/local/lib/python3.9/site-packages/connexion/decorators/validation.py", line 196, in wrapper
sdx-controller-sdx-controller-1  |     response = function(request)
sdx-controller-sdx-controller-1  |   File "/usr/local/lib/python3.9/site-packages/connexion/decorators/parameter.py", line 120, in wrapper
sdx-controller-sdx-controller-1  |     return function(**kwargs)
sdx-controller-sdx-controller-1  |   File "/usr/src/app/swagger_server/controllers/connection_controller.py", line 110, in place_connection
sdx-controller-sdx-controller-1  |     curr_topo_str = db_instance.read_from_db("LC-" + str(i))["LC-" + str(i)]
sdx-controller-sdx-controller-1  | TypeError: 'NoneType' object is not subscriptable
sdx-controller-sdx-controller-1  | INFO:werkzeug:174.170.111.107 - - [12/May/2023 11:58:36] "POST /SDX-Controller/1.0.0/conection HTTP/1.1" 500 -