Merge "Bug 502 improvements"
[osm/N2VC.git] / n2vc / vnf.py
index e39b04e..1b9efa8 100644 (file)
@@ -98,6 +98,7 @@ class VCAMonitor(ModelObserver):
                                 self.ns_name,
                                 delta.data['application'],
                                 new_status,
+                                new.workload_status_message,
                                 *callback_args)
 
                 if old and not new:
@@ -107,6 +108,7 @@ class VCAMonitor(ModelObserver):
                             self.ns_name,
                             delta.data['application'],
                             "removed",
+                            "",
                             *callback_args)
             except Exception as e:
                 self.log.debug("[1] notify_callback exception {}".format(e))
@@ -212,10 +214,10 @@ class N2VC:
         """Close any open connections."""
         yield self.logout()
 
-    def notify_callback(self, model_name, application_name, status, callback=None, *callback_args):
+    def notify_callback(self, model_name, application_name, status, message, callback=None, *callback_args):
         try:
             if callback:
-                callback(model_name, application_name, status, *callback_args)
+                callback(model_name, application_name, status, message, *callback_args)
         except Exception as e:
             self.log.error("[0] notify_callback exception {}".format(e))
             raise e
@@ -295,7 +297,7 @@ class N2VC:
         ########################################
         app = await self.get_application(model, application_name)
         if app:
-            raise JujuApplicationExists("Can't deploy application \"{}\" to model \"{}\" because it already exists.".format(application_name, model))
+            raise JujuApplicationExists("Can't deploy application \"{}\" to model \"{}\" because it already exists.".format(application_name, model_name))
 
         ################################################################
         # Register this application with the model-level event monitor #
@@ -373,10 +375,14 @@ class N2VC:
                 else:
                     seq = primitive['seq']
 
+                    params = {}
+                    if 'parameter' in primitive:
+                        params = primitive['parameter']
+
                     primitives[seq] = {
                         'name': primitive['name'],
                         'parameters': self._map_primitive_parameters(
-                            primitive['parameter'],
+                            params,
                             {'<rw_mgmt_ip>': rw_mgmt_ip}
                         ),
                     }
@@ -391,7 +397,7 @@ class N2VC:
                             **primitives[primitive]['parameters'],
                         )
             except N2VCPrimitiveExecutionFailed as e:
-                self.debug.log(
+                self.log.debug(
                     "[N2VC] Exception executing primitive: {}".format(e)
                 )
                 raise
@@ -441,7 +447,7 @@ class N2VC:
                 await model.disconnect()
         except Exception as e:
             self.log.debug("Caught exception while executing primitive: {}".format(e))
-            raise e
+            raise N2VCPrimitiveExecutionFailed(e)
         return uuid
 
     async def RemoveCharms(self, model_name, application_name, callback=None, *callback_args):