Updates branch master with sol006 branch, introducing new SOL006 model classes
[osm/IM.git] / tests / examples / hackfest_charmed_vnfd_sol006.yaml
diff --git a/tests/examples/hackfest_charmed_vnfd_sol006.yaml b/tests/examples/hackfest_charmed_vnfd_sol006.yaml
new file mode 100644 (file)
index 0000000..f73264f
--- /dev/null
@@ -0,0 +1,177 @@
+#  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: hackfest3charmed-vnf
+  description: >-
+    A VNF consisting of 2 VDUs connected to an internal VL, and one VDU with
+    cloud-init
+  product-name: hackfest3charmed-vnf
+  version: '1.0'
+  mgmt-cp: vnf-mgmt-ext
+
+  virtual-compute-desc:
+    - id: mgmt-compute
+      virtual-cpu:
+        num-virtual-cpu: 1
+      virtual-memory:
+        size: 1
+    - id: data-compute
+      virtual-cpu:
+        num-virtual-cpu: 1
+      virtual-memory:
+        size: 1
+
+  virtual-storage-desc:
+    - id: mgmt-storage
+      size-of-storage: 10
+    - id: data-storage
+      size-of-storage: 10
+
+  sw-image-desc:
+    - id: hackfest3-mgmt
+      name: hackfest3-mgmt
+
+  vdu:
+    - id: mgmtVM
+      name: mgmtVM
+      cloud-init-file: cloud-config.txt
+      sw-image-desc: hackfest3-mgmt
+      virtual-compute-desc: mgmt-compute
+      virtual-storage-desc:
+        - mgmt-storage
+      int-cpd:
+        - id: vnf-mgmt
+          virtual-network-interface-requirement:
+            - name: mgmtVM-eth0
+              position: 1
+              virtual-interface:
+                type: VIRTIO
+        - id: mgmtVM-internal
+          int-virtual-link-desc: internal
+          virtual-network-interface-requirement:
+            - name: mgmtVM-eth1
+              position: 2
+              virtual-interface:
+                type: VIRTIO
+    - id: dataVM
+      name: dataVM
+      sw-image-desc: hackfest3-mgmt
+      virtual-compute-desc: data-compute
+      virtual-storage-desc:
+        - data-storage
+      int-cpd:
+        - id: dataVM-internal
+          int-virtual-link-desc: internal
+          virtual-network-interface-requirement:
+            - name: dataVM-eth1
+              position: 1
+              virtual-interface:
+                type: VIRTIO
+        - id: vnf-data
+          virtual-network-interface-requirement:
+            - name: dataVM-eth0
+              position: 2
+              virtual-interface:
+                type: VIRTIO
+      monitoring-parameter:
+        - id: dataVM_cpu_util
+          name: dataVM_cpu_util
+          performance-metric: cpu_utilization
+
+  int-virtual-link-desc:
+    - id: internal
+
+  ext-cpd:
+    - id: vnf-mgmt-ext
+      int-cpd: # Connection to int-cpd
+        vdu-id: mgmtVM
+        cpd: vnf-mgmt
+    - id: vnf-data-ext
+      int-cpd: # Connection to int-cpd
+        vdu-id: dataVM
+        cpd: vnf-data
+
+  df:
+    - id: hackfest_default
+      vnf-configuration-id: vnf-configuration-example
+      vdu-profile:
+        - id: mgmtVM
+          min-number-of-instances: 1
+        - id: dataVM
+          min-number-of-instances: 1
+          max-number-of-instances: 10
+          vdu-configuration-id: vdu-configuration-example
+      instantiation-level:
+        - id: default
+          vdu-level:
+            - vdu-id: mgmtVM
+              number-of-instances: 1
+            - vdu-id: dataVM
+              number-of-instances: 1
+      scaling-aspect:
+        - id: scale_dataVM
+          name: scale_dataVM
+          max-scale-level: 10
+          aspect-delta-details:
+            deltas:
+              - id: delta1
+                vdu-delta:
+                  - id: vdudelta1
+                    number-of-instances: 1
+          scaling-policy:
+            - name: auto_cpu_util_above_threshold
+              scaling-type: automatic
+              enabled: true
+              threshold-time: 0
+              cooldown-time: 60
+              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-config-action:
+            - trigger: post-scale-out
+              vnf-config-primitive-name-ref: touch
+            - trigger: pre-scale-in
+              vnf-config-primitive-name-ref: touch
+
+  vnf-configuration:
+    - id: vnf-configuration-example
+      initial-config-primitive:
+        - seq: "1"
+          name: config
+          parameter:
+            - name: ssh-hostname
+              value: <rw_mgmt_ip>
+            - name: ssh-username
+              value: ubuntu
+            - name: ssh-password
+              value: osm4u
+        - seq: "2"
+          name: touch
+          parameter:
+            - name: filename
+              value: <touch_filename>
+      config-primitive:
+        - name: touch
+          parameter:
+            - data-type: STRING
+              default-value: <touch_filename2>
+              name: filename
+      juju:
+        charm: simple