Feature 10923: Autohealing 21/11821/9
authorsritharan <priyadarshini@tataelxsi.co.in>
Fri, 1 Apr 2022 05:10:08 +0000 (05:10 +0000)
committerbeierlm <mark.beierl@canonical.com>
Thu, 5 May 2022 17:46:01 +0000 (19:46 +0200)
Added the healing parameters

Change-Id: I3404e301885ecac8473530c19ca7da1c869e5317
Signed-off-by: sritharan <priyadarshini@tataelxsi.co.in>
models/augments/healing.yang [new file with mode: 0644]
tests/examples/cirros_heal_vnfd_sol006.yaml [new file with mode: 0644]

diff --git a/models/augments/healing.yang b/models/augments/healing.yang
new file mode 100644 (file)
index 0000000..8eec9d1
--- /dev/null
@@ -0,0 +1,123 @@
+/*
+  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.
+*/
+
+module healing {
+    yang-version 1.1;
+    namespace "urn:etsi:osm:yang:augments:healing";
+    prefix "healing";
+
+    import etsi-nfv-vnfd {
+        prefix vnfd;
+    }
+
+    typedef recovery-actions {
+        type enumeration {
+
+            enum REDEPLOY_ONLY {
+                value 1;
+            }
+
+            enum REBOOT {
+                value 2;
+            }
+
+            enum REBOOT_THEN_REDEPLOY {
+                value 3;
+            }
+        }
+    }
+
+
+    typedef recovery-type {
+        type enumeration {
+
+            enum manual {
+                value 1;
+            }
+
+            enum automatic {
+                value 2;
+            }
+        }
+    }
+
+    grouping extended-healing {
+        list healing-aspect {
+            key "id";
+
+            description
+              "The healing aspects supported by this DF of the VNF.
+               healingAspect shall be present if the VNF supports
+               healing.";
+
+            leaf id {
+                type string;
+                description
+                  "Unique identifier of this aspect in the VNFD.";
+            }
+
+            list healing-policy {
+
+                key "vdu-id";
+
+                leaf vdu-id {
+                    description
+                      "Identifier of vdu";
+                    type string;
+                }
+
+                leaf event-name {
+                    description
+                      "Describing the event name for healing";
+                    type string;
+                }
+
+                leaf recovery-type {
+                    description
+                      "Type of healing recovery";
+                    type recovery-type;
+                }
+
+                leaf action-on-recovery {
+                    description
+                      "Recovery actions for healing";
+                    type recovery-actions;
+                }
+
+                leaf cooldown-time {
+                    description
+                      "The duration after a healing action has been
+                      triggered, for which there will be no further optional";
+                    type uint32;
+                    mandatory true;
+                }
+
+                leaf day1 {
+                    description
+                      "Specifies if the day1 operations can be applied";
+                    type boolean;
+                    default false;
+                }
+            }
+        }
+
+    }
+    augment "/vnfd:vnfd/vnfd:df" {
+        uses extended-healing;
+    }
+
+}
diff --git a/tests/examples/cirros_heal_vnfd_sol006.yaml b/tests/examples/cirros_heal_vnfd_sol006.yaml
new file mode 100644 (file)
index 0000000..253dc66
--- /dev/null
@@ -0,0 +1,80 @@
+#  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: cirros_heal_vnfd
+  product-name: cirros_heal_vnf
+  description: Simple heal VNF example with a cirros
+  provider: OSM
+  version: "1.0"
+  mgmt-cp: eth0-ext
+
+  virtual-compute-desc:
+    - id: cirros_heal_vnfd-VM-compute
+      virtual-cpu:
+        num-virtual-cpu: 1
+      virtual-memory:
+        size: 0.25 # Memory size in GB
+
+  virtual-storage-desc:
+    - id: cirros_heal_vnfd-VM-storage
+      size-of-storage: 2
+
+  sw-image-desc:
+    - id: cirros034
+      name: cirros034
+      image: cirros034
+
+  vdu:
+    - id: cirros_heal_vnfd-VM
+      name: cirros_heal_vnfd-VM
+      description: cirros_heal_vnfd-VM
+      virtual-compute-desc: cirros_heal_vnfd-VM-compute
+      virtual-storage-desc:
+        - cirros_heal_vnfd-VM-storage
+      sw-image-desc: cirros034
+      int-cpd:
+        - id: eth0-int
+          virtual-network-interface-requirement:
+            - name: eth0
+              virtual-interface:
+                type: VIRTIO
+                bandwidth: "0"
+                vpci: 0000:00:0a.0
+
+  df:
+    - id: default-df
+      vdu-profile:
+        - id: cirros_heal_vnfd-VM
+          min-number-of-instances: 1
+      instantiation-level:
+        - id: default-instantiation-level
+          vdu-level:
+            - vdu-id: cirros_heal_vnfd-VM
+              number-of-instances: 1
+      healing-aspect:
+      -   id: cirros_heal_vnfd-VM_autoheal
+          healing-policy:
+          - vdu-id: cirros_heal_vnfd-VM
+            event-name: heal-alarm
+            recovery-type: automatic
+            action-on-recovery: REDEPLOY_ONLY
+            cooldown-time: 180
+            day1: false
+  ext-cpd:
+    - id: eth0-ext
+      int-cpd: # Connection to int-cpd
+        vdu-id: cirros_heal_vnfd-VM
+        cpd: eth0-int