vnfrs: dict,
vca_records: list,
vnf_count: str = None,
+ vdu_id: str = None,
vdu_count: str = None,
) -> str:
"""Generate application name to make the relevant charm of VDU/KDU
Limiting the app name to 50 characters.
Args:
- charm_level (str): VNF ID
- vnfrs (dict): VDU ID
+ charm_level (str): level of charm
+ vnfrs (dict): vnf record dict
vca_records (list): db_nsr["_admin"]["deployed"]["VCA"] as list
vnf_count (str): vnf count index
+ vdu_id (str): VDU ID
vdu_count (str): vdu count index
Returns:
# Charms are also used for deployments with Helm charts.
# If deployment unit is a Helm chart/KDU,
# vdu_profile_id and vdu_count will be empty string.
- vdu_profile_id = ""
-
if vdu_count is None:
vdu_count = ""
- elif vdu_count:
- vdu_profile_id = vnfrs["vdur"][int(vdu_count)]["vdu-id-ref"]
-
# If vnf/vdu is scaled, more than one VCA record may be included in vca_records
# but ee_descriptor_id is same.
# Shorten the ee_descriptor_id, member-vnf-index-ref and vdu_profile_id
# to first 12 characters.
+ if not vdu_id:
+ raise N2VCException(message="vdu-id should be provided.")
+ vca_record = next(
+ filter(lambda record: record["vdu_id"] == vdu_id, vca_records), {}
+ )
application_name = (
- vca_records[0]["ee_descriptor_id"][:12]
+ vca_record["ee_descriptor_id"][:12]
+ "-"
+ vnf_count
+ "-"
+ vnfrs["member-vnf-index-ref"][:12]
+ "-"
- + vdu_profile_id[:12]
+ + vdu_id[:12]
+ "-"
+ vdu_count
+ "-vdu"
db_vnfr,
vca_records,
vnf_count=vnf_count,
+ vdu_id=vdu_id,
vdu_count=vdu_count,
)
else: