RIFT-14707 : Feedback on vnfd.yang comments
[osm/SO.git] / models / plugins / yang / vnfd.yang
index 2cc43d3..1dfb459 100644 (file)
@@ -59,7 +59,7 @@ module vnfd
     }
 
     leaf short-name {
-      description "Short name of the connection point";
+      description "Short name to appear as label in the UI";
       type string;
     }
 
@@ -67,6 +67,10 @@ module vnfd
       description "Type of the connection point.";
       type manotypes:connection-point-type;
     }
+    leaf port-security-enabled {
+      description "Enables the port security for the port";
+      type boolean;
+    }
   }
 
   grouping virtual-interface {
@@ -115,14 +119,7 @@ module vnfd
     }
   }
 
-  container vnfd-catalog {
-
-    description
-        "Virtual Network Function Descriptor (VNFD).";
-
-    list vnfd {
-      key "id";
-
+  grouping vnfd-descriptor {
       leaf id {
         description "Identifier for the VNFD.";
         type string;
@@ -135,7 +132,7 @@ module vnfd
       }
 
       leaf short-name {
-        description "VNFD short name.";
+        description "Short name to appear as label in the UI";
         type string;
       }
 
@@ -183,7 +180,7 @@ module vnfd
                 "Use the default management interface on this VDU.";
             leaf vdu-id {
               type leafref {
-                path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vdu/vnfd:id";
+                path "../../vdu/id";
               }
             }
           }
@@ -193,7 +190,7 @@ module vnfd
                 "Use the ip address associated with this connection point.";
             leaf cp {
               type leafref {
-                path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:connection-point/vnfd:name";
+                path "../../connection-point/name";
               }
             }
           }
@@ -230,7 +227,7 @@ module vnfd
         description
             "List of Internal Virtual Link Descriptors (VLD).
             The internal VLD describes the basic topology of
-            the connectivity (e.g. E-LAN, E-Line, E-Tree)
+            the connectivity such as E-LAN, E-Line, E-Tree.
             between internal VNF components of the system.";
 
         leaf id {
@@ -244,11 +241,12 @@ module vnfd
         }
 
         leaf short-name {
-          description "Short name of the internal VLD";
+          description "Short name to appear as label in the UI";
           type string;
         }
 
         leaf description {
+          description "Description of internal VLD.";
           type string;
         }
 
@@ -279,20 +277,40 @@ module vnfd
           }
         }
         uses manotypes:provider-network;
+        choice init-params {
+          description "Extra parameters for VLD instantiation";
+
+          case vim-network-ref {
+            leaf vim-network-name {
+              description
+                  "Name of network in VIM account. This is used to indicate
+                    pre-provisioned network name in cloud account.";
+              type string;
+            }
+          }
+
+          case vim-network-profile {
+            leaf ip-profile-ref {
+              description "Named reference to IP-profile object";
+              type string;
+            }
+          }
+
+        }
       }
 
+      uses manotypes:ip-profile-list;
+
       list connection-point {
         key "name";
         description
             "List for external connection points. Each VNF has one
-            or more external connection points. As the name
-            implies that external connection points are used for
-            connecting the VNF to other VNFs or to external networks.
-            Each VNF exposes these connection points to the
-            orchestrator. The orchestrator can construct network
-            services by connecting the connection points between
-            different VNFs. The NFVO will use VLDs and VNFFGs at
-            the network service level to construct network services.";
+            or more external connection points that connect the VNF
+            to other VNFs or to external networks. Each VNF exposes
+            connection points to the orchestrator, which can construct
+            network services by connecting the connection points
+            between different VNFs. The NFVO will use VLDs and VNFFGs
+            at the network service level to construct network services.";
 
         uses common-connection-point;
       }
@@ -342,36 +360,17 @@ module vnfd
           uses manotypes:alarm;
         }
 
-        leaf image {
-          description
-            "Image name for the software image.
-             If the image name is found within the VNF packaage it will
-             be uploaded to all cloud accounts during onboarding process.
-             Otherwise, the image must be added to the cloud account with
-             the same name as entered here.
-            ";
-          mandatory true;
-          type string;
-        }
-
-        leaf image-checksum {
-          description
-            "Image md5sum for the software image.
-            The md5sum, if provided, along with the image name uniquely
-            identifies an image uploaded to the CAL.
-            ";
-          type string;
-        }
+        uses manotypes:image-properties;
 
         choice cloud-init-input {
           description
-            "Indicates how the contents of cloud-init script are provided.
-             There are 2 choices - inline or in a file";
+              "Indicates how the contents of cloud-init script are provided.
+              There are 2 choices - inline or in a file";
 
           case inline {
             leaf cloud-init {
               description
-                "Contents of cloud-init script, provided inline, in cloud-config format";
+                  "Contents of cloud-init script, provided inline, in cloud-config format";
               type string;
             }
           }
@@ -379,29 +378,25 @@ module vnfd
           case filename {
             leaf cloud-init-file {
               description
-                "Name of file with contents of cloud-init script in cloud-config format";
-                type string;
+                  "Name of file with contents of cloud-init script in cloud-config format";
+              type string;
             }
           }
         }
 
+        uses manotypes:supplemental-boot-data;
+
         list internal-connection-point {
           key "id";
           description
               "List for internal connection points. Each VNFC
               has zero or more internal connection points.
               Internal connection points are used for connecting
-              the VNF components internal to the VNF. If a VNF
+              the VNF with components internal to the VNF. If a VNF
               has only one VNFC, it may not have any internal
               connection points.";
 
           uses common-connection-point;
-
-          leaf internal-vld-ref {
-            type leafref {
-              path "../../../internal-vld/id";
-            }
-          }
         }
 
         list internal-interface {
@@ -434,7 +429,8 @@ module vnfd
           leaf name {
             description
                 "Name of the external interface. Note that
-                this name has only local significance.";
+                this name has only local significance to
+                the VDU.";
             type string;
           }
 
@@ -447,6 +443,17 @@ module vnfd
           }
           uses virtual-interface;
         }
+
+        list volumes {
+          key "name";
+
+          leaf name {
+            description "Name of the disk-volumes, e.g. vda, vdb etc";
+            type string;
+          }
+
+          uses manotypes:volume-info;
+        } 
       }
 
       list vdu-dependency {
@@ -462,8 +469,8 @@ module vnfd
 
         leaf vdu-depends-on-ref {
           description
-              "Reference to the VDU that
-              source VDU depends.";
+              "Reference to the VDU on which
+              the source VDU depends.";
           type leafref {
             path "../../vdu/id";
           }
@@ -486,7 +493,7 @@ module vnfd
         description
             "Type of Service Function.
              NOTE: This needs to map with Service Function Type in ODL to
-             support VNFFG. Service Function Type is manadatory param in ODL
+             support VNFFG. Service Function Type is mandatory param in ODL
              SFC. This is temporarily set to string for ease of use";
             type string;
       }
@@ -498,7 +505,7 @@ module vnfd
 
         key "name";
         uses manotypes:placement-group-info;
-        
+
         list member-vdus {
 
           description
@@ -512,7 +519,17 @@ module vnfd
           }
         }
       }
-    }
+  }
+
+  container vnfd-catalog {
+    description
+        "Virtual Network Function Descriptor (VNFD).";
+
+    list vnfd {
+      key "id";
+
+      uses vnfd-descriptor;
+     }
   }
 }