return extra_dict
- def _process_affinity_group_params(target_affinity_group, vim_info, target_record_id):
+ def _process_affinity_group_params(
+ target_affinity_group, vim_info, target_record_id
+ ):
extra_dict = {}
affinity_group_data = {
if ssh_keys:
cloud_config["key-pairs"] = ssh_keys
- disk_list = None
+ persistent_root_disk = {}
+ disk_list = []
+ vnfd_id = vnfr["vnfd-id"]
+ vnfd = self.db.get_one("vnfds", {"_id": vnfd_id})
+ for vdu in vnfd.get("vdu", ()):
+ if vdu["name"] == target_vdu["vdu-name"]:
+ for vsd in vnfd.get("virtual-storage-desc", ()):
+ if (
+ vsd.get("id")
+ == vdu.get("virtual-storage-desc", [[]])[0]
+ ):
+ root_disk = vsd
+ if root_disk.get(
+ "type-of-storage"
+ ) == "persistent-storage:persistent-storage" and root_disk.get(
+ "size-of-storage"
+ ):
+ persistent_root_disk[vsd["id"]] = {
+ "image_id": vdu.get("sw-image-desc"),
+ "size": root_disk["size-of-storage"],
+ }
+ disk_list.append(persistent_root_disk[vsd["id"]])
+
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"
- ]
+ for disk in target_vdu["virtual-storages"]:
+ if (
+ disk.get("type-of-storage")
+ == "persistent-storage:persistent-storage"
+ and disk["id"] not in persistent_root_disk.keys()
+ ):
+ disk_list.append({"size": disk["size-of-storage"]})
affinity_group_list = []
if target_vdu.get("affinity-or-anti-affinity-group-id"):
affinity_group = {}
- for affinity_group_id in target_vdu["affinity-or-anti-affinity-group-id"]:
+ for affinity_group_id in target_vdu[
+ "affinity-or-anti-affinity-group-id"
+ ]:
affinity_group_text = (
- ns_preffix + ":affinity-or-anti-affinity-group." + affinity_group_id
+ ns_preffix
+ + ":affinity-or-anti-affinity-group."
+ + affinity_group_id
)
extra_dict["depends_on"].append(affinity_group_text)
- affinity_group["affinity_group_id"] = "TASK-" + affinity_group_text
+ affinity_group["affinity_group_id"] = (
+ "TASK-" + affinity_group_text
+ )
affinity_group_list.append(affinity_group)
extra_dict["params"] = {
step = "process NS Affinity Groups"
_process_items(
target_list=indata.get("affinity-or-anti-affinity-group") or [],
- existing_list=db_nsr.get("affinity-or-anti-affinity-group") or [],
- db_record="nsrs:{}:affinity-or-anti-affinity-group".format(nsr_id),
+ existing_list=db_nsr.get("affinity-or-anti-affinity-group")
+ or [],
+ db_record="nsrs:{}:affinity-or-anti-affinity-group".format(
+ nsr_id
+ ),
db_update=db_nsr_update,
db_path="affinity-or-anti-affinity-group",
item="affinity-or-anti-affinity-group",