def get(self): """ Get the network topology --- tags: - network topology produces: - application/json parameters: - name: X-Auth-Token in: header description: Authentication token required: true type: string responses: 200: description: Topology correctly retrieved 400: description: Bad request 401: description: Unauthorized 404: description: Graph not found 500: description: Internal Error """ try : UserAuthentication().authenticateUserFromRESTRequest(request) ng = NetManager() return jsonify(ng.getNetworkTopology()) #self._json_response(falcon.HTTP_200, "Network topology", topology=json.dumps(ng.getNetworkTopology())) # User auth request - raised by UserAuthentication().authenticateUserFromRESTRequest except wrongRequest as err: logging.exception(err) return ("Bad Request", 400) # User auth credentials - raised by UserAuthentication().authenticateUserFromRESTRequest except unauthorizedRequest as err: if request.headers.get("X-Auth-User") is not None: logging.debug("Unauthorized access attempt from user "+request.headers.get("X-Auth-User")) logging.debug(err.message) return ("Unauthorized", 401) # User auth credentials - raised by UserAuthentication().authenticateUserFromRESTRequest except UserTokenExpired as err: logging.exception(err) return (err.message, 401) # No Results except UserNotFound as err: logging.exception(err) return ("UserNotFound", 404) except TenantNotFound as err: logging.exception(err) return ("TenantNotFound", 404) except NoResultFound as err: logging.exception(err) return ("NoResultFound", 404) except sessionNotFound as err: logging.exception(err) return ("sessionNotFound", 404) # Other errors except requests.HTTPError as err: logging.exception(err) return (str(err), 500) except Exception as err: logging.exception(err) return (str(err), 500)
# NetManager from do_core.netmanager import NetManager # Configuration conf = Configuration() conf.log_configuration() # START NETWORK CONTROLLER DOMAIN ORCHESTRATOR logging.debug("Printing the network topology watched by Network Controller Domain Orchestrator") print("Network Controller Domain Orchestrator - Network Topology") ng = NetManager() nt = ng.getNetworkTopology() print("\nNetwork Controller: "+ng.getControllerName()+"\n") for node in nt: print("\n Node: "+node['node']) print("--------------------------------------------------") print(" neighbours:", end="") for nb in node['neighbours']: print(" "+nb) print(" ",end="") print("")