--- /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:vnfd-catalog:
+ vnfd:
+ - connection-point:
+ - id: vnf-mgmt
+ name: vnf-mgmt
+ short-name: vnf-mgmt
+ type: VPORT
+ - id: vnf-data
+ name: vnf-data
+ short-name: vnf-data
+ type: VPORT
+ description: >-
+ A VNF consisting of 2 VDUs connected to an internal VL, and one VDU with
+ cloud-init
+ id: hackfest3charmed-vnf
+ internal-vld:
+ - id: internal
+ internal-connection-point:
+ - id-ref: mgmtVM-internal
+ - id-ref: dataVM-internal
+ name: internal
+ short-name: internal
+ type: ELAN
+ logo: osm.png
+ mgmt-interface:
+ cp: vnf-mgmt
+ monitoring-param:
+ - aggregation-type: AVERAGE
+ id: monitor1
+ name: monitor1
+ vdu-monitoring-param:
+ vdu-monitoring-param-ref: dataVM_cpu_util
+ vdu-ref: dataVM
+ name: hackfest3charmed-vnf
+ scaling-group-descriptor:
+ - max-instance-count: 10
+ name: scale_dataVM
+ scaling-config-action:
+ - trigger: post-scale-out
+ vnf-config-primitive-name-ref: touch
+ - trigger: pre-scale-in
+ vnf-config-primitive-name-ref: touch
+ scaling-policy:
+ - cooldown-time: 60
+ name: auto_cpu_util_above_threshold
+ scaling-criteria:
+ - name: cpu_util_above_threshold
+ scale-in-relational-operation: LE
+ scale-in-threshold: '15.0000000000'
+ scale-out-relational-operation: GE
+ scale-out-threshold: '60.0000000000'
+ vnf-monitoring-param-ref: monitor1
+ scaling-type: automatic
+ threshold-time: 0
+ vdu:
+ - count: 1
+ vdu-id-ref: dataVM
+ short-name: hackfest3charmed-vnf
+ vdu:
+ - count: '1'
+ cloud-init-file: cloud-config.txt
+ id: mgmtVM
+ image: hackfest3-mgmt
+ interface:
+ - external-connection-point-ref: vnf-mgmt
+ name: mgmtVM-eth0
+ position: 1
+ type: EXTERNAL
+ virtual-interface:
+ type: VIRTIO
+ - internal-connection-point-ref: mgmtVM-internal
+ name: mgmtVM-eth1
+ position: 2
+ type: INTERNAL
+ virtual-interface:
+ type: VIRTIO
+ internal-connection-point:
+ - id: mgmtVM-internal
+ name: mgmtVM-internal
+ short-name: mgmtVM-internal
+ type: VPORT
+ name: mgmtVM
+ vm-flavor:
+ memory-mb: '1024'
+ storage-gb: '10'
+ vcpu-count: 1
+ - count: '1'
+ id: dataVM
+ image: hackfest3-mgmt
+ interface:
+ - internal-connection-point-ref: dataVM-internal
+ name: dataVM-eth0
+ position: 1
+ type: INTERNAL
+ virtual-interface:
+ type: VIRTIO
+ - external-connection-point-ref: vnf-data
+ name: dataVM-xe0
+ position: 2
+ type: EXTERNAL
+ virtual-interface:
+ type: VIRTIO
+ internal-connection-point:
+ - id: dataVM-internal
+ name: dataVM-internal
+ short-name: dataVM-internal
+ type: VPORT
+ monitoring-param:
+ - id: dataVM_cpu_util
+ nfvi-metric: cpu_utilization
+ name: dataVM
+ vm-flavor:
+ memory-mb: '1024'
+ storage-gb: '10'
+ vcpu-count: 1
+ version: '1.0'
+ vnf-configuration:
+ config-primitive:
+ - name: touch
+ parameter:
+ - data-type: STRING
+ default-value: <touch_filename2>
+ name: filename
+ initial-config-primitive:
+ - name: config
+ parameter:
+ - name: ssh-hostname
+ value: <rw_mgmt_ip>
+ - name: ssh-username
+ value: ubuntu
+ - name: ssh-password
+ value: osm4u
+ seq: '1'
+ - name: touch
+ parameter:
+ - name: filename
+ value: <touch_filename>
+ seq: '2'
+ juju:
+ charm: simple
+
+