Fix Bug 1911 Root disk cannot be a Persistent Volume
By this fix, VNFs could have persistent root disk if the disk type is defined as persistent-storage.
Besides, the problem of creating unnecessary empty persistent volume is solved.
Change-Id: Id032701bba4ce71080c338bc7f112261ec98861e
Signed-off-by: aticig <gulsum.atici@canonical.com>
diff --git a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
index a15a53c..8f96f6b 100644
--- a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
+++ b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
@@ -1867,6 +1867,7 @@
# Create additional volumes in case these are present in disk_list
base_disk_index = ord("b")
+ boot_volume_id = None
if disk_list:
block_device_mapping = {}
for disk in disk_list:
@@ -1876,11 +1877,13 @@
]
else:
if "image_id" in disk:
+ base_disk_index = ord("a")
volume = self.cinder.volumes.create(
size=disk["size"],
name=name + "_vd" + chr(base_disk_index),
imageRef=disk["image_id"],
)
+ boot_volume_id = volume.id
else:
volume = self.cinder.volumes.create(
size=disk["size"],
@@ -1912,6 +1915,8 @@
"Timeout creating volumes for instance " + name,
http_code=vimconn.HTTP_Request_Timeout,
)
+ if boot_volume_id:
+ self.cinder.volumes.set_bootable(boot_volume_id, True)
# get availability Zone
vm_av_zone = self._get_vm_availability_zone(