Fix #1063 flake tests
[osm/osmclient.git] / osmclient / sol005 / ns.py
index f4b5b89..b551868 100644 (file)
@@ -204,10 +204,10 @@ class Ns(object):
                 ns_config["vld"] = ns_config.pop("vim-network-name")
             if "vld" in ns_config:
                 if not isinstance(ns_config["vld"], list):
-                    raise ValueError("Error at --config 'vld' must be a list of dictionaries")
+                    raise ClientException("Error at --config 'vld' must be a list of dictionaries")
                 for vld in ns_config["vld"]:
                     if not isinstance(vld, dict):
-                        raise ValueError("Error at --config 'vld' must be a list of dictionaries")
+                        raise ClientException("Error at --config 'vld' must be a list of dictionaries")
                     if vld.get("vim-network-name"):
                         if isinstance(vld["vim-network-name"], dict):
                             vim_network_name_dict = {}
@@ -223,15 +223,15 @@ class Ns(object):
 
             if "additionalParamsForNs" in ns_config:
                 if not isinstance(ns_config["additionalParamsForNs"], dict):
-                    raise ValueError("Error at --config 'additionalParamsForNs' must be a dictionary")
+                    raise ClientException("Error at --config 'additionalParamsForNs' must be a dictionary")
             if "additionalParamsForVnf" in ns_config:
                 if not isinstance(ns_config["additionalParamsForVnf"], list):
-                    raise ValueError("Error at --config 'additionalParamsForVnf' must be a list")
+                    raise ClientException("Error at --config 'additionalParamsForVnf' must be a list")
                 for additional_param_vnf in ns_config["additionalParamsForVnf"]:
                     if not isinstance(additional_param_vnf, dict):
-                        raise ValueError("Error at --config 'additionalParamsForVnf' items must be dictionaries")
+                        raise ClientException("Error at --config 'additionalParamsForVnf' items must be dictionaries")
                     if not additional_param_vnf.get("member-vnf-index"):
-                        raise ValueError("Error at --config 'additionalParamsForVnf' items must contain "
+                        raise ClientException("Error at --config 'additionalParamsForVnf' items must contain "
                                          "'member-vnf-index'")
             if "wim_account" in ns_config:
                 wim_account = ns_config.pop("wim_account")
@@ -294,7 +294,7 @@ class Ns(object):
             filter_string = ''
             if filter:
                  filter_string = '&{}'.format(filter)
-            http_code, resp = self._http.get2_cmd('{}?nsInstanceId={}'.format(
+            http_code, resp = self._http.get2_cmd('{}?nsInstanceId={}{}'.format(
                                                        self._apiBase, ns['_id'],
                                                        filter_string) )
             #print('HTTP CODE: {}'.format(http_code))
@@ -394,7 +394,7 @@ class Ns(object):
                     str(exc))
             raise ClientException(message)
 
-    def scale_vnf(self, ns_name, vnf_name, scaling_group, scale_in, scale_out, wait=False):
+    def scale_vnf(self, ns_name, vnf_name, scaling_group, scale_in, scale_out, wait=False, timeout=None):
         """Scales a VNF by adding/removing VDUs
         """
         self._logger.debug("")
@@ -413,6 +413,8 @@ class Ns(object):
                 "member-vnf-index": vnf_name,
                 "scaling-group-descriptor": scaling_group,
             }
+            if timeout:
+                op_data["timeout_ns_scale"] = timeout
             op_id = self.exec_op(ns_name, op_name='scale', op_data=op_data, wait=wait)
             print(str(op_id))
         except ClientException as exc: