Add support for lifecycle upgrade event

This adds experimental support for an upgrading status for the VDU,
and adds lifecycle event status to the VNF

Signed-off-by: Adam Israel <adam.israel@canonical.com>
Change-Id: I23d3b79f21b216f879ad55007623ca437690d5d6
diff --git a/models/yang/vnfd-base.yang b/models/yang/vnfd-base.yang
index c2eae35..2a20d90 100644
--- a/models/yang/vnfd-base.yang
+++ b/models/yang/vnfd-base.yang
@@ -74,6 +74,17 @@
     }
   }
 
+  typedef vnf-operational-status {
+    type enumeration {
+      enum init;
+      enum running;
+      enum upgrading;
+      enum terminate;
+      enum terminated;
+      enum failed;
+    }
+  }
+
   grouping virtual-interface {
     container virtual-interface {
       description
@@ -160,11 +171,23 @@
         type string;
       }
 
-
       container vnf-configuration {
         uses manotypes:vca-configuration;
       }
 
+      leaf operational-status {
+         description
+           "The operational status of the VNF
+             init                : The VNF has just started.
+             running             : The VNF is active in VM
+             upgrading           : The VNF is being upgraded (EXPERIMENTAL)
+             terminate           : The VNF is being terminated
+             terminated          : The VNF is in the terminated state.
+             failed              : The VNF  instantiation failed.
+           ";
+         type vnf-operational-status;
+      }
+
       container mgmt-interface {
         description
             "Interface over which the VNF is managed.";
diff --git a/models/yang/vnfr.yang b/models/yang/vnfr.yang
index ebccf12..b669f97 100644
--- a/models/yang/vnfr.yang
+++ b/models/yang/vnfr.yang
@@ -74,6 +74,7 @@
       enum vm-init-phase;
       enum vm-alloc-pending;
       enum running;
+      enum upgrading;
       enum terminate;
       enum vl-terminate-phase;
       enum terminated;
@@ -88,6 +89,7 @@
       enum vl-init-phase;
       enum vm-init-phase;
       enum running;
+      enum upgrading;   // Experimental
       enum terminate;
       enum vm-terminate-phase;
       enum vl-terminate-phase;
@@ -543,6 +545,7 @@
                 vm-init-phase       : The VDUs in the VNF is being created in VIM.
                 vm-alloc-pending    : The  VM alloc is pending in VIM
                 running             : The VDU is active in VM
+                upgrading           : The VDU is being upgraded (EXPERIMENTAL)
                 terminate           : The VDU is being terminated
                 vm-terminate-phase  : The VDU in the VNF is being terminated in VIM.
                 terminated          : The VDU is in the terminated state.