RIFT-15222: Several relative leafref paths need to be fixed to include reference to current node
Signed-off-by: Kiran Kashalkar <kiran.kashalkar@riftio.com>
diff --git a/models/plugins/yang/nsd.yang b/models/plugins/yang/nsd.yang
index 3d08627..0cadca3 100644
--- a/models/plugins/yang/nsd.yang
+++ b/models/plugins/yang/nsd.yang
@@ -272,7 +272,11 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
}
}
- 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";
+ }
}
}
}