Revert "Re-enabling NS primitives, config-primitive over service-primitive, clean-up" 34/7534/1
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Thu, 23 May 2019 17:01:39 +0000 (19:01 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Thu, 23 May 2019 17:02:47 +0000 (19:02 +0200)
This reverts commit 420ce6cb281ad3c3d45f14c36e1fc4428895bee8.

Change-Id: I7b7f14667478b73c7d74a012558552c59f326f27
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
models/yang/mano-types.yang
models/yang/nsd-base.yang
models/yang/nsd.yang
models/yang/nsr.yang
models/yang/project-nsd.yang

index 34d7782..7784d5c 100644 (file)
@@ -1180,6 +1180,108 @@ module mano-types
     }
   }
 
+  grouping ns-service-primitive {
+    list service-primitive {
+      description
+          "Network service level service primitives.";
+
+      key "name";
+
+      leaf name {
+        description
+            "Name of the service primitive.";
+        type string;
+      }
+
+      list parameter {
+        description
+            "List of parameters for the service primitive.";
+
+        key "name";
+        uses manotypes:primitive-parameter;
+      }
+
+      list parameter-group {
+        description
+            "Grouping of parameters which are logically grouped in UI";
+        key "name";
+
+        leaf name {
+          description
+              "Name of the parameter group";
+          type string;
+        }
+
+        list parameter {
+          description
+              "List of parameters for the service primitive.";
+          key "name";
+          uses manotypes:primitive-parameter;
+        }
+
+        leaf mandatory {
+          description "Is this parameter group mandatory";
+          type boolean;
+          default true;
+        }
+      }
+
+      list vnf-primitive-group {
+        description
+            "List of service primitives grouped by VNF.";
+
+        key "member-vnf-index-ref";
+        leaf member-vnf-index-ref {
+          description
+              "Reference to member-vnf within constituent-vnfds";
+          type string;
+        }
+
+        leaf vnfd-id-ref {
+          description
+              "A reference to a vnfd. This is a
+               leafref to path:
+                   ../../../../nsd:constituent-vnfd
+                   + [nsd:id = current()/../nsd:id-ref]
+                   + /nsd:vnfd-id-ref
+               NOTE: An issue with confd is preventing the
+               use of xpath. Seems to be an issue with leafref
+               to leafref, whose target is in a different module.
+               Once that is resolved this will switched to use
+               leafref";
+
+          type string;
+        }
+
+        leaf vnfd-name {
+          description
+              "Name of the VNFD";
+          type string;
+        }
+
+        list primitive {
+          key "index";
+
+          leaf index {
+            description "Index of this primitive";
+            type uint32;
+          }
+
+          leaf name {
+            description "Name of the primitive in the VNF primitive ";
+            type string;
+          }
+        }
+      }
+
+      leaf user-defined-script {
+        description
+            "A user defined script.";
+        type string;
+      }
+    }
+  }
+
   grouping http-endpoints {
     list http-endpoint {
       description
index 45ca7f7..894b7a5 100644 (file)
@@ -390,10 +390,10 @@ module nsd-base
           type manotypes:scaling-trigger;
         }
 
-        leaf ns-config-primitive-name-ref {
-          description "Reference to the NS primitive";
+        leaf ns-service-primitive-name-ref {
+          description "Reference to the NS service primitive";
           type leafref {
-            path "../../../ns-configuration/config-primitive/name";
+            path "../../../service-primitive/name";
           }
         }
       }
@@ -555,7 +555,24 @@ module nsd-base
     uses manotypes:ip-profile-list;
 
     container ns-configuration {
-      uses manotypes:vca-configuration;
+      uses manotypes:ns-configuration;
+    }
+
+    list initial-service-primitive {
+      description
+        "Initial set of service primitives for NSD.";
+      key "seq";
+
+      uses manotypes:event-config;
+    }
+
+    list terminate-service-primitive {
+      description
+        "Set of service primitives during
+         termination for NSD.";
+      key "seq";
+
+      uses manotypes:event-config;
     }
 
     uses manotypes:input-parameter-xpath;
index e80654f..47baf6f 100644 (file)
@@ -227,6 +227,85 @@ module nsd
     }
   }
 
+  grouping nsd-service-primitive {
+   list service-primitive {
+      description
+          "Network service level service primitives.";
+
+      key "name";
+
+      leaf name {
+        description
+            "Name of the service primitive.";
+        type string;
+      }
+
+      list parameter {
+        description
+            "List of parameters for the service primitive.";
+
+        key "name";
+        uses manotypes:primitive-parameter;
+      }
+
+      uses manotypes:ui-primitive-group;
+
+      list vnf-primitive-group {
+        description
+            "List of service primitives grouped by VNF.";
+
+        key "member-vnf-index-ref";
+        leaf member-vnf-index-ref {
+          description
+              "Reference to member-vnf within constituent-vnfds";
+          type leafref {
+             path "../../../constituent-vnfd/member-vnf-index";
+          }
+        }
+
+        leaf vnfd-id-ref {
+          description
+              "A reference to a VNFD. This is a leafref";
+
+          type leafref {
+             path "../../../constituent-vnfd" +
+                "[member-vnf-index = current()/../member-vnf-index-ref]" + "/vnfd-id-ref";
+          }
+        }
+
+        leaf vnfd-name {
+          description
+              "Name of the VNFD";
+          type leafref {
+              path "/vnfd:vnfd-catalog/vnfd:vnfd"
+                    + "[vnfd:id = current()/../vnfd-id-ref]"
+                    + "/vnfd:name";
+          }
+        }
+
+        list primitive {
+          key "index";
+
+          leaf index {
+            description "Index of this primitive";
+            type uint32;
+          }
+
+          leaf name {
+            description "Name of the primitive in the VNF primitive ";
+            type string;
+          }
+        }
+      }
+
+      leaf user-defined-script {
+        description
+            "A user defined script.";
+        type string;
+      }
+    }
+  }
+
   container nsd-catalog {
 
     leaf schema-version {
@@ -249,6 +328,8 @@ module nsd
       uses nsd-vnf-dependency;
 
       uses nsd-monitoring-param;
+
+      uses nsd-service-primitive;
     }
   }
 }
index bce46e0..e2a4d6f 100644 (file)
@@ -178,16 +178,16 @@ module nsr
     }
   }
 
-  grouping event-config-primitive {
+  grouping event-service-primitive {
     leaf seq {
       description
-          "Sequence number for the config primitive.";
+          "Sequence number for the service primitive.";
       type uint64;
     }
 
     leaf name {
       description
-          "Name of the primitive.";
+          "Name of the service primitive.";
       type string;
       mandatory "true";
     }
@@ -267,6 +267,8 @@ module nsr
           uses project-nsd:nsr-nsd-vnf-dependency;
 
           uses project-nsd:nsr-nsd-monitoring-param;
+
+          uses project-nsd:nsr-nsd-service-primitive;
         }
         uses ns-instance-config-params;
       }
@@ -893,6 +895,100 @@ module nsr
           type config-states;
         }
 
+        list service-primitive {
+           description
+                "Network service level service primitives.";
+
+           key "name";
+
+           leaf name {
+              description
+                  "Name of the service primitive.";
+              type string;
+           }
+
+           list parameter {
+              description
+                  "List of parameters for the service primitive.";
+
+              key "name";
+              uses manotypes:primitive-parameter;
+           }
+
+           uses manotypes:ui-primitive-group;
+
+           list vnf-primitive-group {
+              description
+                "Reference to member-vnf within constituent-vnfds";
+
+              key "member-vnf-index-ref";
+              leaf member-vnf-index-ref {
+                description
+                   "Reference to member-vnf within constituent-vnfds";
+                type string;
+              }
+
+              leaf vnfd-id-ref {
+                 description
+                   "A reference to a vnfd. This is a 
+                    leafref to path:
+                        ../../../../nsd:constituent-vnfd
+                        + [nsd:id = current()/../nsd:id-ref]
+                        + /nsd:vnfd-id-ref
+                    NOTE: An issue with confd is preventing the
+                    use of xpath. Seems to be an issue with leafref
+                    to leafref, whose target is in a different module.
+                    Once that is resovled this will switched to use
+                    leafref";
+
+                 type string;
+              }
+
+              leaf vnfd-name {
+                 description
+                   "Name of the VNFD";
+                 type string;
+              }
+
+              list primitive {
+                 key "index";
+
+                 leaf index {
+                   description "Index of this primitive";
+                   type uint32;
+                 }
+
+                 leaf name {
+                   description "Name of the primitive in the VNF primitive ";
+                   type string;
+                 }
+              }
+           }
+
+           leaf user-defined-script {
+             description
+               "A user defined script.";
+             type string;
+           }
+        }
+
+        list initial-service-primitive {
+          description
+            "Initial set of service primitives for NSD.";
+          key "seq";
+
+          uses event-service-primitive;
+        }
+
+        list terminate-service-primitive {
+          description
+            "Set of service primitives to
+             execute during termination of NSD.";
+          key "seq";
+
+          uses event-service-primitive;
+        }
+
         list monitoring-param {
           description
             "List of NS level params.";
@@ -1071,12 +1167,12 @@ module nsr
     }
   }
 
-  rpc get-ns-config-primitive-values {
-    description "Get the config primitive parameter values";
+  rpc get-ns-service-primitive-values {
+    description "Get the service primitive parameter values";
 
     input {
       leaf name {
-        description "Name of the NS config primitive group";
+        description "Name of the NS service primitive group";
         mandatory true;
         type string;
       }
@@ -1178,8 +1274,8 @@ module nsr
     }
   }
 
-  rpc exec-ns-config-primitive {
-    description "Executes a NS config primitive or script";
+  rpc exec-ns-service-primitive {
+    description "Executes a NS service primitive or script";
 
     input {
       leaf name {
index e0ac7f3..bf0ac38 100644 (file)
@@ -413,6 +413,164 @@ module project-nsd
     }
   }
 
+  grouping nsd-service-primitive {
+   list service-primitive {
+      description
+          "Network service level service primitives.";
+
+      key "name";
+
+      leaf name {
+        description
+            "Name of the service primitive.";
+        type string;
+      }
+
+      list parameter {
+        description
+            "List of parameters for the service primitive.";
+
+        key "name";
+        uses manotypes:primitive-parameter;
+      }
+
+      uses manotypes:ui-primitive-group;
+
+      list vnf-primitive-group {
+        description
+            "List of service primitives grouped by VNF.";
+
+        key "member-vnf-index-ref";
+        leaf member-vnf-index-ref {
+          description
+              "Reference to member-vnf within constituent-vnfds";
+          type leafref {
+             path "../../../constituent-vnfd/member-vnf-index";
+          }
+        }
+
+        leaf vnfd-id-ref {
+          description
+              "A reference to a vnfd. This is a leafref";
+
+          type leafref {
+             path "../../../constituent-vnfd" +
+                "[member-vnf-index = current()/../member-vnf-index-ref]" + "/vnfd-id-ref";
+          }
+        }
+
+        leaf vnfd-name {
+          description
+              "Name of the VNFD";
+          type leafref {
+              path "../../../../../project-vnfd:vnfd-catalog/project-vnfd:vnfd"
+                    + "[project-vnfd:id = current()/../vnfd-id-ref]"
+                    + "/project-vnfd:name";
+          }
+        }
+
+        list primitive {
+          key "index";
+
+          leaf index {
+            description "Index of this primitive";
+            type uint32;
+          }
+
+          leaf name {
+            description "Name of the primitive in the VNF primitive ";
+            type string;
+          }
+        }
+      }
+
+      leaf user-defined-script {
+        description
+            "A user defined script.";
+        type string;
+      }
+    }
+  }
+
+  grouping nsr-nsd-service-primitive {
+   list service-primitive {
+      description
+          "Network service level service primitives.";
+
+      key "name";
+
+      leaf name {
+        description
+            "Name of the service primitive.";
+        type string;
+      }
+
+      list parameter {
+        description
+            "List of parameters for the service primitive.";
+
+        key "name";
+        uses manotypes:primitive-parameter;
+      }
+
+      uses manotypes:ui-primitive-group;
+
+      list vnf-primitive-group {
+        description
+            "List of service primitives grouped by VNF.";
+
+        key "member-vnf-index-ref";
+        leaf member-vnf-index-ref {
+          description
+              "Reference to member-vnf within constituent-vnfds";
+          type leafref {
+             path "../../../constituent-vnfd/member-vnf-index";
+          }
+        }
+
+        leaf vnfd-id-ref {
+          description
+              "A reference to a vnfd. This is a leafref";
+
+          type leafref {
+             path "../../../constituent-vnfd" +
+                "[member-vnf-index = current()/../member-vnf-index-ref]" + "/vnfd-id-ref";
+          }
+        }
+
+        leaf vnfd-name {
+          description
+              "Name of the VNFD";
+          type leafref {
+              path "../../../../../../project-vnfd:vnfd-catalog/project-vnfd:vnfd"
+                    + "[project-vnfd:id = current()/../vnfd-id-ref]"
+                    + "/project-vnfd:name";
+          }
+        }
+
+        list primitive {
+          key "index";
+
+          leaf index {
+            description "Index of this primitive";
+            type uint32;
+          }
+
+          leaf name {
+            description "Name of the primitive in the VNF primitive ";
+            type string;
+          }
+        }
+      }
+
+      leaf user-defined-script {
+        description
+            "A user defined script.";
+        type string;
+      }
+    }
+  }
+
   grouping nsd-descriptor {
      uses nsd-base:nsd-descriptor-common;
 
@@ -425,6 +583,8 @@ module project-nsd
      uses nsd-vnf-dependency;
 
      uses nsd-monitoring-param;
+
+     uses nsd-service-primitive;
   }
 
   augment "/osm-project:project" {