"Name of the metric, as defined in the Juju charm.";
type string;
}
+ leaf execution-environment-ref {
+ description
+ "Leaf reference to the particular execution environment getting that metric";
+ type leafref {
+ path "../../execution-environment-list/id";
+ }
+ }
+ leaf execution-environment-metric {
+ description
+ "Metric in the execution environment referenced by execution-environment-ref";
+ type string;
+ }
}
} // END - grouping vca-metrics
type boolean;
default true;
}
+ leaf cloud {
+ description
+ "Type of cloud where the charm will be deployed. It only
+ applies to proxy charms (not native)";
+ type enumeration {
+ enum lxd;
+ enum k8s;
+ }
+ default lxd;
+ }
+ }
+ }
+
+ case execution-environment-list {
+ description
+ "List of Execution Environments to configure or monitor VNF or VDU.";
+ list execution-environment-list {
+ key "id";
+ leaf id {
+ description "Execution environment identifier.";
+ type string;
+ }
+ choice execution-environment-model {
+ description "Execution environment model (juju, helm-chart)";
+ case juju {
+ description
+ "Interact with the VNF or xDU through Juju.";
+ container juju {
+ leaf charm {
+ description "Juju charm to use with the VNF or VDU.";
+ type string;
+ }
+ leaf proxy {
+ description "Is this a proxy charm?";
+ type boolean;
+ default true;
+ }
+ leaf cloud {
+ description
+ "Type of cloud where the charm will be deployed. It only
+ applies to proxy charms (not native)";
+ type enumeration {
+ enum lxd;
+ enum k8s;
+ }
+ default lxd;
+ }
+ }
+ }
+ case helm-chart {
+ description
+ "Interact with the VNF or xDU through Helm.";
+ leaf helm-chart {
+ description
+ "Helm chart that models the execution environment, in any of the following ways:
+ - <helm-repo>/<helm-chart>
+ - <helm-chart folder name under helm-charts folder in the package>
+ - <helm-chart tgz file (w/ or w/o extension) under helm-charts folder in the package>
+ - <URL_where_to_fetch_chart>
+ ";
+ type string;
+ }
+ }
+ }
+ leaf metric-service {
+ description
+ "Service name in the execution environment. For helm charts, it will be
+ the name of the kubernetes service used by the exporter to expose metrics
+ to the OSM collector.
+ ";
+ type string;
+ }
+ leaf connection-point-ref {
+ description
+ "String representing a leaf reference to the particular external connection point
+ This field should match /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id/vnfd:connection-point/vnfd:name
+ ";
+ type string;
+ // type leafref {
+ // path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id/vnfd:connection-point/vnfd:name";
+ // }
+ }
}
}
+
}
}
type string;
}
+ leaf execution-environment-ref {
+ description
+ "Leaf reference to the particular execution environment";
+ type leafref {
+ path "../../execution-environment-list/id";
+ }
+ }
+
+ leaf execution-environment-primitive {
+ description
+ "Name of the primitive in the execution enviroment. If not explicit,
+ the leaf 'name' will be used as the name of the primitive.";
+ type string;
+ }
+
list parameter {
description
"List of parameters to the config primitive.";
case primitive-definition {
leaf name {
description
- "Name of the configuration primitive.";
+ "Name of the configuration primitive in the execution environment.";
type string;
}
+ leaf execution-environment-ref {
+ description
+ "Leaf reference to the particular execution environment";
+ type leafref {
+ path "../../execution-environment-list/id";
+ }
+ }
+
uses primitive-parameter-value;
leaf user-defined-script {
}
leaf name {
description
- "Name of the configuration primitive.";
+ "Name of the configuration primitive in the execution environment.";
type string;
}
+ leaf execution-environment-ref {
+ description
+ "Leaf reference to the particular execution environment";
+ type leafref {
+ path "../../execution-environment-list/id";
+ }
+ }
+
uses primitive-parameter-value;
leaf user-defined-script {
typedef virtual-link-type {
description
"Type of virtual link
- ELAN: A multipoint service connecting a set of VNFs
- ELINE: For a simple point to point connection
- // between a VNF and the existing network.
+ ELAN: A multipoint service connecting a set of elements
+ ELINE: A point-to-point service connecting two elements
+ L3: A service providing either Layer-3 visibility (IP) between
+ VDUs/VNFs or explicit interconnection between two ELAN VLDs.";
// ETREE: A multipoint service connecting one or
// more roots and a set of leaves, but
// preventing inter-leaf communication.";
type enumeration {
enum ELAN;
enum ELINE;
+ enum L3;
// enum ETREE;
}
}
-
/*
*
* Copyright 2017 RIFT.IO Inc
+ * Copyright 2018-2020 ETSI
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
}
}
+ list service {
+ description
+ "List of Kubernetes services exposed by the KDU.
+ If empty, all services are assumed to be exposed in the CP associated to the first network
+ in k8s-cluster.nets.";
+ key name;
+
+ leaf name {
+ description "Name of the Kubernetes service exposed by he KDU model";
+ type string;
+ }
+
+ leaf mgmt-service {
+ description
+ "Flag to indicate that this Kubernetes service is a mgmt service
+ to be used for KDU configuration. Defaults to false (if no present).
+ All services with mgmt-service set to true will be passed to the execution
+ environment in charge of the KDU configuration.";
+ type boolean;
+ default false;
+ }
+
+ leaf external-connection-point-ref {
+ description
+ "Leaf Ref to the particular external connection point";
+ type leafref {
+ path "../../../connection-point/name";
+ }
+ }
+
+ }
+
}
container k8s-cluster {