[bug 581] Fix parameter checking if no data-type
[osm/N2VC.git] / n2vc / vnf.py
index 31e4877..1c79aed 100644 (file)
@@ -485,11 +485,12 @@ class N2VC:
         # #######################################
         # # Execute initial config primitive(s) #
         # #######################################
-        await self.ExecuteInitialPrimitives(
+        uuids = await self.ExecuteInitialPrimitives(
             model_name,
             application_name,
             params,
         )
+        return uuids
 
         # primitives = {}
         #
@@ -884,11 +885,15 @@ class N2VC:
         params = {}
         for parameter in parameters:
             param = str(parameter['name'])
+            value = None
+
+            # If there's no value, use the default-value (if set)
+            if parameter['value'] is None and 'default-value' in parameter:
+                value = parameter['default-value']
 
             # Typecast parameter value, if present
             if 'data-type' in parameter:
                 paramtype = str(parameter['data-type']).lower()
-                value = None
 
                 if paramtype == "integer":
                     value = int(parameter['value'])
@@ -896,6 +901,9 @@ class N2VC:
                     value = bool(parameter['value'])
                 else:
                     value = str(parameter['value'])
+            else:
+                # If there's no data-type, assume the value is a string
+                value = str(parameter['value'])
 
             if parameter['value'] == "<rw_mgmt_ip>":
                 params[param] = str(values[parameter['value']])
@@ -917,7 +925,6 @@ class N2VC:
 
         return config
 
-    @staticmethod
     def FormatApplicationName(self, *args):
         """
         Generate a Juju-compatible Application name
@@ -933,7 +940,6 @@ class N2VC:
 
             FormatApplicationName("ping_pong_ns", "ping_vnf", "a")
         """
-
         appname = ""
         for c in "-".join(list(args)):
             if c.isdigit():