feat(configurations): now VNF/VDU/KDU configurations are in the same place, compatibl...
[osm/IM.git] / tests / examples / hackfest_charmed_vnfd_sol006.yaml
1 #  Copyright 2020 Whitestack LLC
2 #
3 #  Licensed under the Apache License, Version 2.0 (the "License");
4 #  you may not use this file except in compliance with the License.
5 #  You may obtain a copy of the License at
6 #
7 #    http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #  Unless required by applicable law or agreed to in writing, software
10 #  distributed under the License is distributed on an "AS IS" BASIS,
11 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12 #  implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15
16 vnfd:
17   id: hackfest3charmed-vnf
18   description: >-
19     A VNF consisting of 2 VDUs connected to an internal VL, and one VDU with
20     cloud-init
21   product-name: hackfest3charmed-vnf
22   version: '1.0'
23   mgmt-cp: vnf-mgmt-ext
24
25   virtual-compute-desc:
26     - id: mgmtVM-compute
27       virtual-cpu:
28         num-virtual-cpu: 1
29       virtual-memory:
30         size: 1
31     - id: dataVM-compute
32       virtual-cpu:
33         num-virtual-cpu: 1
34       virtual-memory:
35         size: 1
36
37   virtual-storage-desc:
38     - id: mgmtVM-storage
39       size-of-storage: 10
40     - id: dataVM-storage
41       size-of-storage: 10
42
43   sw-image-desc:
44     - id: hackfest3-mgmt
45       name: hackfest3-mgmt
46       image: hackfest3-mgmt
47
48   vdu:
49     - id: mgmtVM
50       name: mgmtVM
51       cloud-init-file: cloud-config.txt
52       sw-image-desc: hackfest3-mgmt
53       virtual-compute-desc: mgmtVM-compute
54       virtual-storage-desc:
55         - mgmtVM-storage
56       int-cpd:
57         - id: mgmtVM-eth0-int
58           virtual-network-interface-requirement:
59             - name: mgmtVM-eth0
60               position: 1
61               virtual-interface:
62                 type: VIRTIO
63         - id: mgmtVM-eth1-int
64           int-virtual-link-desc: internal
65           virtual-network-interface-requirement:
66             - name: mgmtVM-eth1
67               position: 2
68               virtual-interface:
69                 type: VIRTIO
70     - id: dataVM
71       name: dataVM
72       sw-image-desc: hackfest3-mgmt
73       virtual-compute-desc: dataVM-compute
74       virtual-storage-desc:
75         - dataVM-storage
76       int-cpd:
77         - id: dataVM-eth0-int
78           int-virtual-link-desc: internal
79           virtual-network-interface-requirement:
80             - name: dataVM-eth0
81               position: 1
82               virtual-interface:
83                 type: VIRTIO
84         - id: dataVM-xe0-int
85           virtual-network-interface-requirement:
86             - name: dataVM-xe0
87               position: 2
88               virtual-interface:
89                 type: VIRTIO
90       monitoring-parameter:
91         - id: dataVM_cpu_util
92           name: dataVM_cpu_util
93           performance-metric: cpu_utilization
94
95   int-virtual-link-desc:
96     - id: internal
97
98   ext-cpd:
99     - id: vnf-mgmt-ext
100       int-cpd: # Connection to int-cpd
101         vdu-id: mgmtVM
102         cpd: mgmtVM-eth0-int
103     - id: vnf-data-ext
104       int-cpd: # Connection to int-cpd
105         vdu-id: dataVM
106         cpd: dataVM-xe0-int
107
108   df:
109     - id: default-df
110       vdu-profile:
111         - id: mgmtVM
112           min-number-of-instances: 1
113         - id: dataVM
114           min-number-of-instances: 1
115           max-number-of-instances: 11
116       instantiation-level:
117         - id: default-instantiation-level
118           vdu-level:
119             - vdu-id: mgmtVM
120               number-of-instances: 1
121             - vdu-id: dataVM
122               number-of-instances: 1
123       scaling-aspect:
124         - id: scale_dataVM
125           name: scale_dataVM
126           max-scale-level: 10
127           aspect-delta-details:
128             deltas:
129               - id: scale_dataVM-delta
130                 vdu-delta:
131                   - id: dataVM
132                     number-of-instances: 1
133           scaling-policy:
134             - name: auto_cpu_util_above_threshold
135               scaling-type: automatic
136               enabled: true
137               threshold-time: 0
138               cooldown-time: 60
139               scaling-criteria:
140                 - name: cpu_util_above_threshold
141                   scale-in-relational-operation: LE
142                   scale-in-threshold: '15.0000000000'
143                   scale-out-relational-operation: GE
144                   scale-out-threshold: '60.0000000000'
145                   vnf-monitoring-param-ref: dataVM_cpu_util
146           scaling-config-action:
147             - trigger: post-scale-out
148               vnf-config-primitive-name-ref: touch
149             - trigger: pre-scale-in
150               vnf-config-primitive-name-ref: touch
151       lcm-operations-configuration:
152         operate-vnf-op-config:
153           day1-2:
154           - id: hackfest3charmed-vnf
155             initial-config-primitive:
156               - seq: "1"
157                 name: config
158                 parameter:
159                   - name: ssh-hostname
160                     value: <rw_mgmt_ip>
161                   - name: ssh-username
162                     value: ubuntu
163                   - name: ssh-password
164                     value: osm4u
165               - seq: "2"
166                 name: touch
167                 parameter:
168                   - name: filename
169                     value: <touch_filename>
170             config-primitive:
171               - name: touch
172                 parameter:
173                   - data-type: STRING
174                     default-value: <touch_filename2>
175                     name: filename
176             juju:
177               charm: simple