Fix bug 1763 - adding support for persistent volumes
[osm/RO.git] / NG-RO / osm_ng_ro / ns.py
index e62eef5..ee0463a 100644 (file)
@@ -687,9 +687,7 @@ class Ns(object):
                     "dhcp_start_address": ip_profile.get("dhcp-params", {}).get(
                         "start-address", None
                     ),
-                    "dhcp_count": ip_profile.get("dhcp-params", {}).get(
-                        "count", None
-                    ),
+                    "dhcp_count": ip_profile.get("dhcp-params", {}).get("count", None),
                 }
 
                 if ip_profile.get("dns-server"):
@@ -787,13 +785,13 @@ class Ns(object):
                     extra_dict["depends_on"].append(net_text)
 
                     if "port-security-enabled" in interface:
-                        interface["port_security"] = (
-                            interface.pop("port-security-enabled")
+                        interface["port_security"] = interface.pop(
+                            "port-security-enabled"
                         )
 
                     if "port-security-disable-strategy" in interface:
-                        interface["port_security_disable_strategy"] = (
-                            interface.pop("port-security-disable-strategy")
+                        interface["port_security_disable_strategy"] = interface.pop(
+                            "port-security-disable-strategy"
                         )
 
                     net_item = {
@@ -879,6 +877,15 @@ class Ns(object):
                 if ssh_keys:
                     cloud_config["key-pairs"] = ssh_keys
 
+                disk_list = None
+                if target_vdu.get("virtual-storages"):
+                    disk_list = [
+                        {"size": disk["size-of-storage"]}
+                        for disk in target_vdu["virtual-storages"]
+                        if disk.get("type-of-storage")
+                        == "persistent-storage:persistent-storage"
+                    ]
+
                 extra_dict["params"] = {
                     "name": "{}-{}-{}-{}".format(
                         indata["name"][:16],
@@ -892,7 +899,7 @@ class Ns(object):
                     "flavor_id": "TASK-" + flavor_text,
                     "net_list": net_list,
                     "cloud_config": cloud_config or None,
-                    "disk_list": None,  # TODO
+                    "disk_list": disk_list,
                     "availability_zone_index": None,  # TODO
                     "availability_zone_list": None,  # TODO
                 }