X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Fplugins%2Fyang%2Fnsr.yang;h=419b05b50f6467569fe47fb34af45d5ab5784656;hb=cd455eba9834532e57a661e41cd5864afc90ddec;hp=0917928f370e2bec08590ffd88b9f57e55e9f2de;hpb=0f5e8c0bdb1d12863688400a56b54b10188b21a8;p=osm%2FSO.git diff --git a/models/plugins/yang/nsr.yang b/models/plugins/yang/nsr.yang index 0917928f..419b05b5 100644 --- a/models/plugins/yang/nsr.yang +++ b/models/plugins/yang/nsr.yang @@ -35,12 +35,16 @@ module nsr prefix "vld"; } - import nsd { - prefix "nsd"; + import nsd-base { + prefix "nsd-base"; } - import vnfd { - prefix "vnfd"; + import project-nsd { + prefix "project-nsd"; + } + + import project-vnfd { + prefix "project-vnfd"; } import vnfr { @@ -154,17 +158,19 @@ module nsr container nsd { description "NS descriptor used to instantiate this NS"; - uses nsd:nsd-descriptor-common; + uses nsd-base:nsd-descriptor-common; - uses nsd:nsr-nsd-vld; + uses project-nsd:nsr-nsd-vld; - uses nsd:nsr-nsd-constituent-vnfd; + uses project-nsd:nsr-nsd-constituent-vnfd; - uses nsd:nsr-nsd-placement-groups; + uses project-nsd:nsr-nsd-placement-groups; - uses nsd:nsr-nsd-vnf-dependency; + uses project-nsd:nsr-nsd-vnf-dependency; - uses nsd:nsr-nsd-monitoring-param; + uses project-nsd:nsr-nsd-monitoring-param; + + uses project-nsd:nsr-nsd-service-primitive; } uses ns-instance-config-params; @@ -225,9 +231,9 @@ module nsr description "A reference to a vnfd. This is a leafref to path: - ../../../../nsd:constituent-vnfd + ../../../../project-nsd:constituent-vnfd + [id = current()/../id-ref] - + /nsd:vnfd-id-ref + + /project-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. @@ -240,8 +246,8 @@ module nsr description "A reference to VNFD placement group"; type leafref { - path "../../../../vnfd:vnfd-catalog/vnfd:vnfd[vnfd:id = " + - "current()/../vnfd-id-ref]/vnfd:placement-groups/vnfd:name"; + path "../../../../project-vnfd:vnfd-catalog/project-vnfd:vnfd[project-vnfd:id = " + + "current()/../vnfd-id-ref]/project-vnfd:placement-groups/project-vnfd:name"; } } @@ -839,7 +845,82 @@ module nsr type config-states; } - uses manotypes: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; + } + + 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 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-config-primitive { rwpb:msg-new NsrInitialConfigPrimitive; @@ -900,9 +981,9 @@ module nsr that produced this result"; // TODO: Fix leafref type leafref { - path "../../../../nsd:nsd-catalog/nsd:nsd" + - "[nsd:id = current()/../../nsd-ref]" + - "/nsd:monitoring-param/nsd:id"; + path "../../../../project-nsd:nsd-catalog/project-nsd:nsd" + + "[project-nsd:id = current()/../../nsd-ref]" + + "/project-nsd:monitoring-param/project-nsd:id"; } } @@ -1120,9 +1201,9 @@ module nsr 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 + ../../../../project-nsd:constituent-vnfd + + [project-nsd:id = current()/../project-nsd:id-ref] + + /project-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. @@ -1414,9 +1495,9 @@ module nsr description "A reference to a vnfd. This is a leafref to path: - ../../../../nsd:constituent-vnfd - + [id = current()/../nsd:id-ref] - + /nsd:vnfd-id-ref + ../../../../project-nsd:constituent-vnfd + + [id = current()/../project-nsd:id-ref] + + /project-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. @@ -1430,8 +1511,8 @@ module nsr "A reference to VNFD placement group"; type leafref { path "/rw-project:project[rw-project:name=current()/" + - "../../project-name]/vnfd:vnfd-catalog/vnfd:vnfd[vnfd:id = " + - "current()/../vnfd-id-ref]/vnfd:placement-groups/vnfd:name"; + "../../project-name]/project-vnfd:vnfd-catalog/project-vnfd:vnfd[project-vnfd:id = " + + "current()/../vnfd-id-ref]/project-vnfd:placement-groups/project-vnfd:name"; } }