enhance http messages at some bad input schemat 88/988/2
authortierno <alfonso.tiernosepulveda@telefonica.com>
Thu, 19 Jan 2017 15:16:26 +0000 (16:16 +0100)
committertierno <alfonso.tiernosepulveda@telefonica.com>
Fri, 20 Jan 2017 13:27:04 +0000 (14:27 +0100)
Change-Id: I737984fc401636c32aaa5895f7ea217ff40af0bc
Signed-off-by: tierno <alfonso.tiernosepulveda@telefonica.com>
httpserver.py
openmanod.py
vnfs/examples/linux-cloud-init.yaml

index 789e022..8cd482f 100644 (file)
@@ -996,14 +996,14 @@ def http_post_scenarios(tenant_id):
 def http_post_scenario_action(tenant_id, scenario_id):
     '''take an action over a scenario'''
     logger.debug('FROM %s %s %s', bottle.request.remote_addr, bottle.request.method, bottle.request.url)
-    #check valid tenant_id
+    # parse input data
+    http_content, _ = format_in(scenario_action_schema)
+    r = utils.remove_extra_items(http_content, scenario_action_schema)
+    if r:
+        logger.debug("Remove received extra items %s", str(r))
     try:
-        nfvo.check_tenant(mydb, tenant_id) 
-        #parse input data
-        http_content,_ = format_in( scenario_action_schema )
-        r = utils.remove_extra_items(http_content, scenario_action_schema)
-        if r:
-            logger.debug("Remove received extra items %s", str(r))
+        # check valid tenant_id
+        nfvo.check_tenant(mydb, tenant_id)
         if "start" in http_content:
             data = nfvo.start_scenario(mydb, tenant_id, scenario_id, http_content['start']['instance_name'], \
                         http_content['start'].get('description',http_content['start']['instance_name']),
@@ -1126,15 +1126,15 @@ def http_put_scenario_id(tenant_id, scenario_id):
 def http_post_instances(tenant_id):
     '''create an instance-scenario'''
     logger.debug('FROM %s %s %s', bottle.request.remote_addr, bottle.request.method, bottle.request.url)
+    # parse input data
+    http_content, used_schema = format_in(instance_scenario_create_schema_v01)
+    r = utils.remove_extra_items(http_content, used_schema)
+    if r is not None:
+        logger.warning("http_post_instances: Warning: remove extra items %s", str(r))
     try:
         #check valid tenant_id
         if tenant_id != "any":
             nfvo.check_tenant(mydb, tenant_id) 
-        #parse input data
-        http_content,used_schema = format_in( instance_scenario_create_schema_v01)
-        r = utils.remove_extra_items(http_content, used_schema)
-        if r is not None:
-            logger.warning("http_post_instances: Warning: remove extra items %s", str(r))
         data = nfvo.create_instance(mydb, tenant_id, http_content["instance"])
         return format_out(data)
     except (nfvo.NfvoException, db_base_Exception) as e:
@@ -1225,16 +1225,16 @@ def http_delete_instance_id(tenant_id, instance_id):
 def http_post_instance_scenario_action(tenant_id, instance_id):
     '''take an action over a scenario instance'''
     logger.debug('FROM %s %s %s', bottle.request.remote_addr, bottle.request.method, bottle.request.url)
+    # parse input data
+    http_content, _ = format_in(instance_scenario_action_schema)
+    r = utils.remove_extra_items(http_content, instance_scenario_action_schema)
+    if r:
+        logger.debug("Remove received extra items %s", str(r))
     try:
         #check valid tenant_id
         if tenant_id != "any":
             nfvo.check_tenant(mydb, tenant_id) 
 
-        #parse input data
-        http_content,_ = format_in( instance_scenario_action_schema )
-        r = utils.remove_extra_items(http_content, instance_scenario_action_schema)
-        if r:
-            logger.debug("Remove received extra items %s", str(r))
         #print "http_post_instance_scenario_action input: ", http_content
         #obtain data
         instance = mydb.get_instance_scenario(instance_id, tenant_id)
index a5f0be0..2eddb20 100755 (executable)
@@ -33,7 +33,7 @@ It loads the configuration file and launches the http_server thread that will li
 '''
 __author__="Alfonso Tierno, Gerardo Garcia, Pablo Montes"
 __date__ ="$26-aug-2014 11:09:29$"
-__version__="0.5.6-r516"
+__version__="0.5.7-r517"
 version_date="Jan 2017"
 database_version="0.19"      #expected database schema version
 
index ce8c5de..92e14fb 100644 (file)
@@ -26,7 +26,7 @@ vnf:
     description: Single-VM VNF with a traditional cloud VM based on generic Linux OS
     external-connections:
     -   name:              eth0
-        type:              bridge
+        type:              mgmt
         description:       General purpose interface
         VNFC:              linux-VM
         local_iface_name:  eth0