blob: ce288d63f90cc0334bb610de37753ef8b3a62850 [file] [log] [blame]
# 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: dataVM_cpu_util
name: dataVM_cpu_util
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: dataVM_cpu_util
scaling-type: automatic
enabled: true
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