RIFT-15222: Several relative leafref paths need to be fixed to include reference... 72/1072/1
authorKiran Kashalkar <kiran.kashalkar@riftio.com>
Tue, 7 Feb 2017 06:23:22 +0000 (06:23 +0000)
committerKiran Kashalkar <kiran.kashalkar@riftio.com>
Tue, 7 Feb 2017 06:23:22 +0000 (06:23 +0000)
Signed-off-by: Kiran Kashalkar <kiran.kashalkar@riftio.com>
models/plugins/yang/nsd.yang
models/plugins/yang/vnfd.yang

index 3d08627..0cadca3 100644 (file)
@@ -272,7 +272,11 @@ module nsd
                to leafref, whose target is in a different module.
                Once that is resovled this will switched to use
                leafref";
-          type string;
+          type leafref {
+            path "../../../constituent-vnfd" +
+                 "[member-vnf-index = current()/../member-vnf-index-ref]" +
+                 "/vnfd-id-ref";
+          }
         }
 
         leaf vnfd-connection-point-ref {
@@ -531,7 +535,9 @@ module nsd
           description
               "Identifier for the VNFD.";
           type leafref {
-            path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id";
+            path "../../../constituent-vnfd" + 
+                 "[member-vnf-index = current()/../member-vnf-index-ref]" +
+                 "/vnfd-id-ref";
           }
         }
       }
@@ -545,14 +551,14 @@ module nsd
       key vnf-source-ref;
       leaf vnf-source-ref {
         type leafref {
-          path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id";
+          path "../../constituent-vnfd/vnfd-id-ref";
         }
       }
       leaf vnf-depends-on-ref {
         description
             "Reference to VNF that sorce VNF depends.";
         type leafref {
-          path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id";
+          path "../../constituent-vnfd/vnfd-id-ref";
         }
       }
     }
@@ -644,7 +650,11 @@ module nsd
                   to leafref, whose target is in a different module.
                   Once that is resovled this will switched to use
                   leafref";
-             type string;
+             type leafref {
+                path "../../../../constituent-vnfd" +
+                     "[member-vnf-index = current()/../member-vnf-index-ref]" +
+                     "/vnfd-id-ref";
+             }
            }
 
            leaf vnfd-connection-point-ref {
@@ -659,7 +669,11 @@ module nsd
                   to leafref, whose target is in a different module.
                   Once that is resovled this will switched to use
                   leafref";
-              type string;
+             type leafref {
+               path "/vnfd:vnfd-catalog/vnfd:vnfd" +
+                    "[vnfd:id = current()/../vnfd-id-ref]/" +
+                    "vnfd:connection-point/vnfd:name";
+             }
           }
         }
       } //rsp
@@ -709,7 +723,11 @@ module nsd
                   to leafref, whose target is in a different module.
                   Once that is resovled this will switched to use
                   leafref";
-          type string;
+          type leafref {
+              path "../../../constituent-vnfd" +
+                   "[member-vnf-index = current()/../member-vnf-index-ref]" +
+                   "/vnfd-id-ref";
+          }
         }
 
         leaf vnfd-connection-point-ref {
@@ -724,7 +742,11 @@ module nsd
                   to leafref, whose target is in a different module.
                   Once that is resovled this will switched to use
                   leafref";
-          type string;
+          type leafref {
+              path "/vnfd:vnfd-catalog/vnfd:vnfd" +
+                   "[vnfd:id = current()/../vnfd-id-ref]/" +
+                   "vnfd:connection-point/vnfd:name";
+          }
         }
 
         list match-attributes {
@@ -793,7 +815,7 @@ module nsd
 
       list vnfd-monitoring-param {
         description "A list of VNFD monitoring params";
-        key "vnfd-id-ref vnfd-monitoring-param-ref";
+        key "member-vnf-index-ref vnfd-monitoring-param-ref";
 
         leaf vnfd-id-ref {
           description
@@ -808,7 +830,11 @@ module nsd
               Once that is resolved this will switched to use
               leafref";
 
-          type yang:uuid;
+          type leafref {
+            path "../../../constituent-vnfd" +
+                 "[member-vnf-index = current()/../member-vnf-index-ref]" +
+                 "/vnfd-id-ref";
+          }
         }
 
         leaf vnfd-monitoring-param-ref {
@@ -820,10 +846,12 @@ module nsd
           }
         }
 
-        leaf-list member-vnf-index-ref {
-         description
-            "Optional reference to member-vnf within constituent-vnfds";
-         type uint64;
+        leaf member-vnf-index-ref {
+          description
+            "Mandatory reference to member-vnf within constituent-vnfds";
+          type leafref {
+            path "../../../constituent-vnfd/member-vnf-index";
+          }
         }
       }
     }
index 3fa141f..a825be1 100644 (file)
@@ -180,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";
               }
             }
           }
@@ -190,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";
               }
             }
           }