+ # step 4. Check VIM networks that forces the selected k8s_cluster
+ if vnfr.get("k8s-cluster") and vnfr["k8s-cluster"].get("nets"):
+ k8scluster_net_list = list(k8scluster.get("nets").keys())
+ for net_index, kdur_net in enumerate(vnfr["k8s-cluster"]["nets"]):
+ # get a network from k8s_cluster nets. If name matches use this, if not use other
+ if kdur_net["id"] in k8scluster_net_list: # name matches
+ vim_net = k8scluster["nets"][kdur_net["id"]]
+ k8scluster_net_list.remove(kdur_net["id"])
+ else:
+ vim_net = k8scluster["nets"][k8scluster_net_list[0]]
+ k8scluster_net_list.pop(0)
+ vnfr_update_rollback["k8s-cluster.nets.{}.vim_net".format(net_index)] = None
+ vnfr_update["k8s-cluster.nets.{}.vim_net".format(net_index)] = vim_net
+ if vim_net and (kdur_net.get("vnf-vld-id") or kdur_net.get("ns-vld-id")):
+ ifaces_forcing_vim_network.append({
+ "name": kdur_net.get("vnf-vld-id") or kdur_net.get("ns-vld-id"),
+ "vnf-vld-id": kdur_net.get("vnf-vld-id"),
+ "ns-vld-id": kdur_net.get("ns-vld-id"),
+ "vim-network-name": vim_net, # TODO can it be vim-network-id ???
+ })
+ # TODO check that this forcing is not incompatible with other forcing