Fix bug 1797 - adding ephemeral disks 83/11383/4
authorsousaedu <eduardo.sousa@canonical.com>
Mon, 22 Nov 2021 14:02:17 +0000 (14:02 +0000)
committersousaedu <eduardo.sousa@canonical.com>
Mon, 22 Nov 2021 14:48:36 +0000 (14:48 +0000)
Change-Id: Ie29e598271b1aa5ab78d65826f513c31d0b580be
Signed-off-by: sousaedu <eduardo.sousa@canonical.com>
NG-RO/osm_ng_ro/ns.py
RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
releasenotes/notes/fix_bug_1797-3b91c88af8fc6ba8.yaml [new file with mode: 0644]

index 25204c0..c5ca07e 100644 (file)
@@ -576,6 +576,8 @@ class Ns(object):
 
                     return quota
 
+                nonlocal indata
+
                 flavor_data = {
                     "disk": int(target_flavor["storage-gb"]),
                     "ram": int(target_flavor["memory-mb"]),
@@ -584,6 +586,21 @@ class Ns(object):
                 numa = {}
                 extended = {}
 
+                target_vdur = None
+                for vnf in indata.get("vnf", []):
+                    for vdur in vnf.get("vdur", []):
+                        if vdur.get("ns-flavor-id") == target_flavor["id"]:
+                            target_vdur = vdur
+
+                for storage in target_vdur.get("virtual-storages", []):
+                    if (
+                        storage.get("type-of-storage")
+                        == "etsi-nfv-descriptors:ephemeral-storage"
+                    ):
+                        flavor_data["ephemeral"] = int(
+                            storage.get("size-of-storage", 0)
+                        )
+
                 if target_flavor.get("guest-epa"):
                     extended = {}
                     epa_vcpu_set = False
index d3837ab..5e74e96 100644 (file)
@@ -1346,10 +1346,11 @@ class vimconnector(vimconn.VimConnector):
 
                     # create flavor
                     new_flavor = self.nova.flavors.create(
-                        name,
-                        ram,
-                        vcpus,
-                        flavor_data.get("disk", 0),
+                        name=name,
+                        ram=ram,
+                        vcpus=vcpus,
+                        disk=flavor_data.get("disk", 0),
+                        ephemeral=flavor_data.get("ephemeral", 0),
                         is_public=flavor_data.get("is_public", True),
                     )
                     # add metadata
diff --git a/releasenotes/notes/fix_bug_1797-3b91c88af8fc6ba8.yaml b/releasenotes/notes/fix_bug_1797-3b91c88af8fc6ba8.yaml
new file mode 100644 (file)
index 0000000..b521812
--- /dev/null
@@ -0,0 +1,21 @@
+#######################################################################################
+# Copyright ETSI Contributors and Others.
+#
+# 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.
+#######################################################################################
+---
+fixes:
+  - |
+    Fixing bug 1797 - this fix allows for the creation of ephemeral
+    disks.