2 Copyright 2020 Whitestack LLC
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
8 http://www.apache.org/licenses/LICENSE-2.0
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14 See the License for the specific language governing permissions and
15 limitations under the License.
20 namespace "urn:etsi:osm:yang:augments:kdu";
23 import etsi-nfv-vnfd {
27 import common-augments {
31 grouping extended-ext-cpd {
32 leaf k8s-cluster-net {
34 "Reference to the K8s cluster network
35 to which CPs instantiated from this external CP
36 Descriptor (CPD) connect.";
38 path "/vnfd:vnfd/kdu:k8s-cluster/kdu:nets/kdu:id";
43 grouping extended-kdu-configuration {
44 container kdu-configuration {
45 uses common:vnfc-configuration;
46 uses common:vdu-config-access;
48 leaf-list blacklist-config-primitive {
50 "List of blacklisted config primitives from the list of
51 default kdu config primitives";
61 grouping extended-kdu {
64 "List of K8s Deployment Units";
69 "Unique name for the KDU";
75 "Description of the KDU.";
81 "Indicates the KDU model, either as a helm-chart or as a juju-bundle.";
86 "Helm chart that models the KDU, in any of the following ways:
87 - <helm-repo>/<helm-chart>
88 - <helm-chart folder under k8s_models folder in the package>
89 - <helm-chart tgz file (w/ or w/o extension) under k8s_models folder in the package>
90 - <URL_where_to_fetch_chart>
97 "Helm version to use for this helm-chart, v3 by default";
109 "Juju bundle that models the KDU, in any of the following ways:
110 - <juju-repo>/<juju-bundle>
111 - <juju-bundle folder under k8s_models folder in the package>
112 - <juju-bundle tgz file (w/ or w/o extension) under k8s_models folder in the package>
113 - <URL_where_to_fetch_juju_bundle>
120 uses extended-kdu-configuration;
124 container k8s-cluster {
127 "List of supported K8s versions.
128 The cluster where the KDUs will be deployed will have to match
129 one of these versions.";
136 "List of supported CNI plugins.
137 The cluster where the KDUs will be deployed will have to use
138 one of these CNI plugins.";
149 "List of required networks in the K8s cluster.
150 The cluster where the KDUs will be deployed will have to use
151 one of these CNI plugins.";
157 "Internal identifier for the K8s cluster network in this VNF";
165 "List of Kubernetes services exposed by the KDU.
166 If empty, all services are assumed to be exposed in the CP associated to the first network
167 in k8s-cluster.nets.";
171 description "Name of the Kubernetes service exposed by he KDU model";
177 "Flag to indicate that this Kubernetes service is a mgmt service
178 to be used for KDU configuration. Defaults to false (if no present).
179 All services with mgmt-service set to true will be passed to the execution
180 environment in charge of the KDU configuration.";
185 leaf external-connection-point-ref {
187 "String representing a leaf reference to the particular external connection point.
188 This field should match /etsi-nfv-vnfd:vnfd/etsi-nfv-vnfd:ext-cpd/etsi-nfv-vnfd:id
197 augment "/vnfd:vnfd" {
201 augment "/vnfd:vnfd/vnfd:ext-cpd/vnfd:cp-connection" {
202 uses extended-ext-cpd;