Merge "take-1 for the NST selection function"
authorVikas Varma <vikas.varma@att.com>
Mon, 16 Mar 2020 12:13:51 +0000 (12:13 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 16 Mar 2020 12:13:51 +0000 (12:13 +0000)
1  2 
osdfapp.py

diff --combined osdfapp.py
@@@ -21,17 -21,14 +21,19 @@@ OSDF Manager Main Flask Applicatio
  """
  
  import json
 +import ssl
 +import sys
 +import time
 +import traceback
 +from optparse import OptionParser
  from threading import Thread  # for scaling up, may need celery with RabbitMQ or redis
  
  from flask import request, g
  
  from osdf.apps.baseapp import app, run_app
+ from apps.nst.models.api.nstSelectionRequest import NSTSelectionAPI
  from apps.pci.models.api.pciOptimizationRequest import PCIOptimizationAPI
+ from apps.nst.optimizers.nst_select_processor import process_nst_selection
  from apps.pci.optimizers.pci_opt_processor import process_pci_optimation
  from apps.placement.models.api.placementRequest import PlacementAPI
  from apps.placement.optimizers.conductor.remote_opt_processor import process_placement_opt
@@@ -94,29 -91,29 +96,36 @@@ def placement_rest_api()
                        version_info=api_version_info, request_status="accepted", status_message="")
  
  
 -@app.route("/api/oof/v1/route", methods=["POST"])
 +@app.route("/api/oof/route/v1", methods=["POST"])
  def do_route_calc():
      """
      Perform the basic route calculations and returnn the vpn-bindings
      """
      request_json = request.get_json()
      audit_log.info("Calculate Route request received!")
 -    return RouteOpt().getRoute(request_json)
 +    response = RouteOpt().getRoute(request_json)
 +    return response
  
+ @app.route("/api/oof/v1/selection/nst", methods=["POST"])
+ def do_nst_selection():
+     request_json = request.get_json()
+     req_id = request_json['requestInfo']['requestId']
+     NSTSelectionAPI(request_json).validate()
+     response = process_nst_selection(request_json, osdf_config)
+     return response
  
  @app.route("/api/oof/v1/pci", methods=["POST"])
  @app.route("/api/oof/pci/v1", methods=["POST"])
  @auth_basic.login_required
  def do_pci_optimization():
      request_json = request.get_json()
 +    audit_log.info('request json obtained==>')
 +    audit_log.info(request_json)
 +
      req_id = request_json['requestInfo']['requestId']
 +    audit_log.info('requestID obtained==>')
 +    audit_log.info(req_id)
 +    
      g.request_id = req_id
      audit_log.info(MH.received_request(request.url, request.remote_addr, json.dumps(request_json)))
      PCIOptimizationAPI(request_json).validate()
      t = Thread(target=process_pci_optimation, args=(request_json, osdf_config, None))
      t.start()
      audit_log.info(MH.accepted_valid_request(req_id, request))
 +    audit_log.info('reached upto return')
      return req_accept(request_id=req_id,
                        transaction_id=request_json['requestInfo']['transactionId'],
                        request_status="accepted", status_message="")