From 25fa538e051d06cfa4c3f23dc6617d090211cfcf Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Thu, 23 May 2019 19:01:39 +0200 Subject: [PATCH] Revert "Re-enabling NS primitives, config-primitive over service-primitive, clean-up" This reverts commit 420ce6cb281ad3c3d45f14c36e1fc4428895bee8. Change-Id: I7b7f14667478b73c7d74a012558552c59f326f27 Signed-off-by: garciadeblas --- models/yang/mano-types.yang | 102 ++++++++++++++++++++++ models/yang/nsd-base.yang | 25 +++++- models/yang/nsd.yang | 81 ++++++++++++++++++ models/yang/nsr.yang | 112 ++++++++++++++++++++++-- models/yang/project-nsd.yang | 160 +++++++++++++++++++++++++++++++++++ 5 files changed, 468 insertions(+), 12 deletions(-) diff --git a/models/yang/mano-types.yang b/models/yang/mano-types.yang index 34d7782..7784d5c 100644 --- a/models/yang/mano-types.yang +++ b/models/yang/mano-types.yang @@ -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 diff --git a/models/yang/nsd-base.yang b/models/yang/nsd-base.yang index 45ca7f7..894b7a5 100644 --- a/models/yang/nsd-base.yang +++ b/models/yang/nsd-base.yang @@ -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; diff --git a/models/yang/nsd.yang b/models/yang/nsd.yang index e80654f..47baf6f 100644 --- a/models/yang/nsd.yang +++ b/models/yang/nsd.yang @@ -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; } } } diff --git a/models/yang/nsr.yang b/models/yang/nsr.yang index bce46e0..e2a4d6f 100644 --- a/models/yang/nsr.yang +++ b/models/yang/nsr.yang @@ -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 { diff --git a/models/yang/project-nsd.yang b/models/yang/project-nsd.yang index e0ac7f3..bf0ac38 100644 --- a/models/yang/project-nsd.yang +++ b/models/yang/project-nsd.yang @@ -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" { -- 2.17.1