X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Faugments%2Fkdu.yang;fp=models%2Faugments%2Fkdu.yang;h=0cad70154b894f93230d441ba95b0ea03821047e;hb=76f6a62b4cc15bc77cf1270d2b1630524fb2879f;hp=0000000000000000000000000000000000000000;hpb=10ba9c39b590538a68bdbafce02fee7e0c33954d;p=osm%2FIM.git diff --git a/models/augments/kdu.yang b/models/augments/kdu.yang new file mode 100644 index 0000000..0cad701 --- /dev/null +++ b/models/augments/kdu.yang @@ -0,0 +1,165 @@ +/* + Copyright 2020 Whitestack LLC + + 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 kdu { + yang-version 1.1; + namespace "urn:etsi:osm:yang:augments:kdu"; + prefix "kdu"; + + import etsi-nfv-vnfd { + prefix vnfd; + } + + import common-augments { + prefix common; + } + + grouping extended-ext-cpd { + leaf k8s-cluster-net { + description + "Reference to the K8s cluster network + to which CPs instantiated from this external CP + Descriptor (CPD) connect."; + type leafref { + path "/vnfd:vnfd/kdu:k8s-cluster/kdu:nets/kdu:id"; + } + } + } + + grouping extended-kdu-configuration { + list kdu-configuration { + key "id"; + leaf id { + description + "Internal identifier for the KDU configuration"; + type string; + } + uses common:vnfc-configuration; + uses common:vdu-config-access; + + leaf-list blacklist-config-primitive { + description + "List of blacklisted config primitives from the list of + default kdu config primitives"; + + type enumeration { + enum upgrade; + enum rollback; + } + } + } + } + + grouping extended-kdu-model { + list kdu-model { + key "id"; + + leaf id { + description + "Internal identifier for the KDU model"; + type string; + } + + leaf kdu-model-type { + description + "Indicates the KDU model, either as a helm-chart or as a juju-bundle."; + + type enumeration { + enum helm-chart; + enum juju-bundle; + } + } + + leaf kdu-model-locator { + description + "Indicates the KDU model location, either as a path to a folder in the + package or as a URL where to fetch the model."; + + type string; + } + } + } + + grouping extended-kdu { + list kdu { + description + "List of K8s Deployment Units"; + key "name"; + + leaf name { + description + "Unique name for the KDU"; + type string; + } + + leaf description { + description + "Description of the KDU."; + type string; + } + } + + container k8s-cluster { + leaf-list version { + description + "List of supported K8s versions. + The cluster where the KDUs will be deployed will have to match + one of these versions."; + + type string; + } + + leaf-list cni { + description + "List of supported CNI plugins. + The cluster where the KDUs will be deployed will have to use + one of these CNI plugins."; + + type enumeration { + enum calico; + enum flannel; + enum multus; + } + } + + list nets { + description + "List of required networks in the K8s cluster. + The cluster where the KDUs will be deployed will have to use + one of these CNI plugins."; + + key "id"; + + leaf id { + description + "Internal identifier for the K8s cluster network in this VNF"; + type string; + } + } + } + } + + augment "/vnfd:vnfd" { + uses extended-kdu; + uses extended-kdu-configuration; + uses extended-kdu-model; + } + + augment "/vnfd:vnfd/vnfd:ext-cpd/vnfd:cp-connection" { + uses extended-ext-cpd; + } +} \ No newline at end of file