Feature 5651: support of MAC address specification in VNFD
[osm/IM.git] / models / yang / vnfd-base.yang
index 5d76290..5e8d018 100644 (file)
@@ -74,6 +74,17 @@ module vnfd-base
     }
   }
 
+  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
@@ -89,7 +100,7 @@ module vnfd-base
              E1000           : Emulate E1000 interface.
              RTL8139         : Emulate RTL8139 interface.
              PCNET           : Emulate PCNET interface.
-             OM-MGMT         : Used to specify openmano mgmt external-connection type";
+             OM-MGMT         : Deprecated! Use VIRTIO instead and set the VNF management interface at vnfd:mgmt-interface:cp";
 
         type enumeration {
           enum OM-MGMT;
@@ -160,7 +171,22 @@ module vnfd-base
         type string;
       }
 
-      uses manotypes:vca-configuration;
+      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
@@ -190,7 +216,7 @@ module vnfd-base
 
           case cp {
             description
-                "Use the ip address associated with this connection point.";
+                "Use the ip address associated with this connection point. This cp is then considered as management.";
             leaf cp {
               type leafref {
                 path "../../connection-point/name";
@@ -365,6 +391,10 @@ module vnfd-base
 
         uses manotypes:image-properties;
 
+        container vdu-configuration {
+          uses manotypes:vca-configuration;
+        }
+
         choice cloud-init-input {
           description
             "Indicates how the contents of cloud-init script are provided.
@@ -434,6 +464,17 @@ module vnfd-base
             default "EXTERNAL";
           }
 
+          leaf mac-address {
+            description
+                "MAC address of the interface.
+                Some VNFs require a specific MAC address to be configured
+                in the interface. While this is not recommended at all in
+                NFV environments, this parameter exists to allow those
+                scenarios.
+                This parameter will be likely deprecated in the future.";
+            type string;
+          }
+
           choice connection-point-type {
             case internal {
               leaf internal-connection-point-ref {