prefix day1-2;
}
+ import kdu {
+ prefix kdu;
+ }
+
grouping extended-scaling {
list scaling-policy {
}
}
+ grouping extended-kdu-resource-profile {
+ list kdu-resource-profile {
+ key "id";
+ description
+ "The Kdu resource profile describes additional instantiation data for
+ a given KDU used in a deployment flavour.";
+
+ leaf id {
+ type string;
+ }
+
+ leaf min-number-of-instances {
+ type uint16;
+ default 1;
+ description
+ "Minimum number of instances of the KNFC based on this
+ KDU resource that is permitted to exist for this flavour.";
+ }
+
+ leaf max-number-of-instances {
+ type uint16;
+ default 1;
+ must ". >= ../min-number-of-instances";
+ }
+
+ leaf resource-name {
+ type string;
+ description
+ "Name of the application of KDU";
+ }
+
+ leaf kdu-name {
+ type leafref {
+ path "/vnfd:vnfd/kdu:kdu/kdu:name";
+ }
+ description
+ "Name of the KDU";
+ }
+ }
+ }
+
+ grouping extended-deltas {
+ list kdu-resource-delta {
+ key "id";
+ description
+ "The number of KNFC instances based on particular
+ KDUs to be created or removed.";
+
+ leaf id {
+ type leafref {
+ path "../../../../../kdu-resource-profile/id";
+ }
+ description
+ "Uniquely identifies a KDU profile.";
+ }
+
+ leaf number-of-instances {
+ type uint32 {
+ range "0..max";
+ }
+ description
+ "Number of instances of KNFC based on this KDU to
+ deploy for an instantiation level or for a
+ scaling delta. Shall be zero or greater.";
+ }
+ }
+ }
+
+ augment "/vnfd:vnfd/vnfd:df" {
+ uses extended-kdu-resource-profile;
+ }
+
augment "/vnfd:vnfd/vnfd:df/vnfd:scaling-aspect" {
uses extended-scaling;
}
-}
+
+ augment "/vnfd:vnfd/vnfd:df/vnfd:scaling-aspect/vnfd:aspect-delta-details/vnfd:deltas" {
+ uses extended-deltas;
+ }
+}
\ No newline at end of file
--- /dev/null
+# 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.
+
+vnfd:
+ id: native_k8s_charm-vnf
+ product-name: native_k8s_charm-vnf
+ version: "1.0"
+ mgmt-cp: mgmt-ext
+
+ kdu:
+ - name: wordpress-kdu
+ juju-bundle: bundle.yaml
+
+ df:
+ - id: default-df
+ kdu-resource-profile:
+ - id: mysql-scale
+ kdu-name: wordpress-kdu
+ resource-name: mysql
+ min-number-of-instances: 1
+ - id: nginx-scale
+ kdu-name: wordpress-kdu
+ resource-name: nginx
+ min-number-of-instances: 1
+ max-number-of-instances: 11
+ scaling-aspect:
+ - id: scale_wordpresskdu
+ name: scale_wordpresskdu
+ max-scale-level: 10
+ aspect-delta-details:
+ deltas:
+ - id: wordpress-kdu
+ kdu-resource-delta:
+ - id: mysql-scale
+ number-of-instances: 2
+ - id: nginx-scale
+ number-of-instances: 1
+ lcm-operations-configuration:
+ operate-vnf-op-config:
+ day1-2:
+ - id: wordpress-kdu
+ config-primitive:
+ - name: changecontent
+ parameter:
+ - data-type: STRING
+ default-value: nginx
+ name: application-name
+ - data-type: STRING
+ default-value: ""
+ name: customtitle
+ initial-config-primitive:
+ - name: changecontent
+ parameter:
+ - data-type: STRING
+ name: application-name
+ value: nginx
+ - data-type: STRING
+ name: customtitle
+ value: Initial Config Primitive
+ seq: 1