[odl-sfc] Fix bug when getting the params for create_vnf
[functest.git] / functest / utils / openstack_tacker.py
index f17b421..68ff320 100644 (file)
@@ -20,9 +20,9 @@ import time
 logger = ft_logger.Logger("tacker_utils").getLogger()
 
 
-def get_tacker_client():
-    creds_tacker = os_utils.get_credentials()
-    return tackerclient.Client(**creds_tacker)
+def get_tacker_client(other_creds={}):
+    sess = os_utils.get_session(other_creds)
+    return tackerclient.Client(session=sess)
 
 
 # *********************************************
@@ -74,12 +74,12 @@ def create_vnfd(tacker_client, tosca_file=None):
         if tosca_file is not None:
             with open(tosca_file) as tosca_fd:
                 vnfd_body = tosca_fd.read()
-            logger.error(vnfd_body)
+            logger.info('VNFD template:\n{0}'.format(vnfd_body))
         return tacker_client.create_vnfd(
             body={"vnfd": {"attributes": {"vnfd": vnfd_body}}})
     except Exception, e:
-        logger.exception("Error [create_vnfd(tacker_client, '%s')]: %s"
-                         % (tosca_file, e))
+        logger.error("Error [create_vnfd(tacker_client, '%s')]: %s"
+                     % (tosca_file, e))
         return None
 
 
@@ -108,7 +108,8 @@ def list_vnfs(tacker_client, verbose=False):
         return None
 
 
-def create_vnf(tacker_client, vnf_name, vnfd_id=None, vnfd_name=None):
+def create_vnf(tacker_client, vnf_name, vnfd_id=None,
+               vnfd_name=None, param_file=None):
     try:
         vnf_body = {
             'vnf': {
@@ -116,6 +117,11 @@ def create_vnf(tacker_client, vnf_name, vnfd_id=None, vnfd_name=None):
                 'name': vnf_name
             }
         }
+        if param_file is not None:
+            params = None
+            with open(param_file) as f:
+                params = f.read()
+            vnf_body['vnf']['attributes']['param_values'] = params
         if vnfd_id is not None:
             vnf_body['vnf']['vnfd_id'] = vnfd_id
         else:
@@ -124,7 +130,8 @@ def create_vnf(tacker_client, vnf_name, vnfd_id=None, vnfd_name=None):
             vnf_body['vnf']['vnfd_id'] = get_vnfd_id(tacker_client, vnfd_name)
         return tacker_client.create_vnf(body=vnf_body)
     except Exception, e:
-        logger.error("error [create_vnf(tacker_client, '%s', '%s', '%s')]: %s"
+        logger.error("error [create_vnf(tacker_client,"
+                     " '%s', '%s', '%s')]: %s"
                      % (vnf_name, vnfd_id, vnfd_name, e))
         return None
 
@@ -206,7 +213,8 @@ def create_sfc(tacker_client, sfc_name,
                                         for name in chain_vnf_names]
         return tacker_client.create_sfc(body=sfc_body)
     except Exception, e:
-        logger.error("error [create_sfc(tacker_client, '%s', '%s', '%s')]: %s"
+        logger.error("error [create_sfc(tacker_client,"
+                     " '%s', '%s', '%s')]: %s"
                      % (sfc_name, chain_vnf_ids, chain_vnf_names, e))
         return None
 
@@ -263,8 +271,8 @@ def create_sfc_classifier(tacker_client, sfc_clf_name, sfc_id=None,
                 tacker_client, sfc_name)
         return tacker_client.create_sfc_classifier(body=sfc_clf_body)
     except Exception, e:
-        logger.error("error [create_sfc_classifier(tacker_client, '%s', '%s',"
-                     " '%s', '%s')]: '%s'"
+        logger.error("error [create_sfc_classifier(tacker_client,"
+                     " '%s', '%s','%s', '%s')]: '%s'"
                      % (sfc_clf_name, sfc_id, sfc_name, str(match), e))
         return None