From 54197364bd8dd0350e526cdad18d7290815146f5 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Tue, 27 Nov 2018 15:30:13 +0100 Subject: [PATCH] Fix in netslice-vld instantiation parameters: wrong connection point refs Updated License headers Refactoring netslice-instantion-params to an independent file to enable proper import Removed vlr-ref-list and added vlr-list in nsi to actually represent the record in DB Change-Id: Ia1388b103686b829bf6dc18cdf21eb5e7058f975 Signed-off-by: garciadeblas --- models/yang/instantiation-parameters.yang | 58 +++++------ .../netslice-instantiation-parameters.yang | 95 +++++++++++++++++++ models/yang/nsi.yang | 46 +++++---- models/yang/nst.yang | 32 +++++-- 4 files changed, 170 insertions(+), 61 deletions(-) create mode 100644 models/yang/netslice-instantiation-parameters.yang diff --git a/models/yang/instantiation-parameters.yang b/models/yang/instantiation-parameters.yang index dbf38b7..f39a1ab 100644 --- a/models/yang/instantiation-parameters.yang +++ b/models/yang/instantiation-parameters.yang @@ -1,9 +1,23 @@ -//INFORMATION -//organization "CTTC"; -//contact "Pol Alemany, Ricard Vilalta, Juan Luis de la Cruz"; -//description "Network Slice components definition"; +/* + * + * Copyright 2018 CTTC + * Copyright 2018 Telefonica Investigacion y Desarrollo S.A.U. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * + */ -// MODULE STRUCTURE module instantiation-parameters { //header information yang-version 1; @@ -25,38 +39,12 @@ module instantiation-parameters { import ietf-yang-types { prefix "ietf-yang"; } - + //revision history revision 2018-09-14 { description "Initial version"; } - grouping netslice_params { - leaf vimAccountId { - mandatory true; - type string; - } - leaf ssh_keys { - type string; - } - list netslice-subnet { - key "id"; - uses netslice_subnet_params; - } - list netslice-vld { - key "name"; - uses vld_params; - } - } - - grouping netslice_subnet_params { - leaf id { - mandatory true; - type string; - } - uses ns_params; - } - grouping ns_params { leaf vimAccountId { mandatory true; @@ -93,7 +81,7 @@ module instantiation-parameters { } } - grouping vld_params { + grouping vld_common_params { leaf name { type string; } @@ -103,6 +91,10 @@ module instantiation-parameters { container ip-profile { uses ip-profile-update-schema; } + } + + grouping vld_params { + uses vld_common_params; list vnfd-connection-point-ref { key "member-vnf-index-ref vnfd-connection-point-ref"; leaf member-vnf-index-ref { diff --git a/models/yang/netslice-instantiation-parameters.yang b/models/yang/netslice-instantiation-parameters.yang new file mode 100644 index 0000000..3a6ae9b --- /dev/null +++ b/models/yang/netslice-instantiation-parameters.yang @@ -0,0 +1,95 @@ +/* + * + * Copyright 2018 CTTC + * Copyright 2018 Telefonica Investigacion y Desarrollo S.A.U. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * + */ + +module netslice-instantiation-parameters { + //header information + yang-version 1; + namespace "urn:ietf:params:xml:ns:yang:nfvo:netslice-instantiation-parameters"; + prefix "netslice-instantiation-parameters"; + + import nsd { + prefix "nsd"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import nst { + prefix "nst"; + } + + import instantiation-parameters { + prefix "instantiation-parameters"; + } + + //revision history + revision 2018-11-28 { + description "Initial version"; + } + + grouping netslice_params { + leaf vimAccountId { + mandatory true; + type string; + } + leaf ssh_keys { + type string; + } + list netslice-subnet { + key "id"; + uses netslice_subnet_params; + } + list netslice-vld { + key "name"; + uses netslice_vld_params; + } + } + + grouping netslice_subnet_params { + leaf id { + mandatory true; + type string; + } + uses instantiation-parameters:ns_params; + } + + grouping netslice_vld_params { + uses instantiation-parameters:vld_common_params; + list nss-connection-point-ref { + key "nss-ref nsd-connection-point-ref"; + leaf nss-ref { + description "Reference to slice subnet"; + type leafref { + path "/nst:nst/nst:netslice-subnet/nst:id"; + } + } + leaf nsd-connection-point-ref { + type leafref { + path "/nsd:nsd-catalog/nsd:nsd/nsd:connection-point/nsd:name"; + } + } + leaf ip-address{ + type inet:ip-address; + } + } + } + +} diff --git a/models/yang/nsi.yang b/models/yang/nsi.yang index b6184e1..06fe5a1 100644 --- a/models/yang/nsi.yang +++ b/models/yang/nsi.yang @@ -1,9 +1,23 @@ -//INFORMATION -//organization "CTTC"; -//contact "Pol Alemany, Ricard Vilalta, Juan Luis de la Cruz"; -//description "Network Slice components definition"; +/* + * + * Copyright 2018 CTTC + * Copyright 2018 Telefonica Investigacion y Desarrollo S.A.U. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * + */ -// MODULE STRUCTURE module nsi { //header information yang-version 1; @@ -18,16 +32,12 @@ module nsi { prefix "nsr"; } - import vlr { - prefix "vlr"; - } - import rw-project { prefix "rw-project"; } - import instantiation-parameters { - prefix "instantiation-parameters"; + import netslice-instantiation-parameters { + prefix "netslice-instantiation-parameters"; } import ietf-yang-types { @@ -69,7 +79,7 @@ module nsi { } container instantiation-parameters { - uses instantiation-parameters:netslice_params; + uses netslice-instantiation-parameters:netslice_params; } container network-slice-template { @@ -88,15 +98,13 @@ module nsi { } } - list vlr-ref-list{ - key "vlr-ref"; + list vlr-list{ config false; - leaf vlr-ref { - description "Reference to instantiated VLR"; + key "id"; + leaf id { + description "ID of instantiated VLR"; config false; - type leafref { - path "/rw-project:project/vlr:vlr-catalog/vlr:vlr/vlr:id"; - } + type yang:uuid; } } } diff --git a/models/yang/nst.yang b/models/yang/nst.yang index 85e2917..c95a258 100644 --- a/models/yang/nst.yang +++ b/models/yang/nst.yang @@ -1,9 +1,23 @@ -//INFORMATION -//organization "CTTC"; -//contact "Pol Alemany, Ricard Vilalta, Juan Luis de la Cruz"; -//description "Network Slice components definition"; +/* + * + * Copyright 2018 CTTC + * Copyright 2018 Telefonica Investigacion y Desarrollo S.A.U. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * + */ -// MODULE STRUCTURE module nst { //header information yang-version 1; @@ -70,15 +84,15 @@ module nst { uses nsd-base:vld-common; - list nsd-connection-point-ref { + list nss-connection-point-ref { description "A list of references to connection points."; - key "nsd-ref nsd-connection-point-ref"; + key "nss-ref nsd-connection-point-ref"; - leaf nsd-ref { + leaf nss-ref { description "Reference to nsd"; type leafref { - path "/nsd:nsd-catalog/nsd:nsd/nsd:id"; + path "/nst:nst/nst:netslice-subnet/nst:id"; } } -- 2.25.1