X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Fopenmano%2Fpython%2Frift%2Fopenmano%2Frift2openmano.py;h=e8ad3e53781762bc2a6d1063b48b19e3552a2985;hb=c5aabae86ae600247433bf24c188f164701536d9;hp=6cc13a7e8125d166906e262b3b874e0c8ff94054;hpb=699e14141627d8f8fd30abc07c87c1e081215762;p=osm%2FSO.git diff --git a/models/openmano/python/rift/openmano/rift2openmano.py b/models/openmano/python/rift/openmano/rift2openmano.py index 6cc13a7e..e8ad3e53 100755 --- a/models/openmano/python/rift/openmano/rift2openmano.py +++ b/models/openmano/python/rift/openmano/rift2openmano.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# +# # Copyright 2016 RIFT.IO Inc # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,6 +25,11 @@ import sys import tempfile import yaml +import gi +gi.require_version('RwYang', '1.0') +gi.require_version('RwVnfdYang', '1.0') +gi.require_version('RwNsdYang', '1.0') + from gi.repository import ( RwYang, RwVnfdYang, @@ -356,11 +361,19 @@ def rift2openmano_vnfd(rift_vnfd): def rift2openmano_if_type(rift_type): if rift_type == "OM_MGMT": return "mgmt" - elif rift_type == "VIRTIO": + elif rift_type == "VIRTIO" or rift_type == "E1000": return "bridge" else: return "data" + def rift2openmano_vif(rift_type): + if rift_type == "VIRTIO": + return "virtio" + elif rift_type == "E1000": + return "e1000" + else: + raise ValueError("VDU Virtual Interface type {} not supported".format(rift_type)) + # Add all external connections for cp in rift_vnfd.cps: # Find the VDU and and external interface for this connection point @@ -402,7 +415,6 @@ def rift2openmano_vnfd(rift_vnfd): vnfc = { "name": vdu.name, "description": vdu.name, - "VNFC image": vdu.image if os.path.isabs(vdu.image) else "/var/images/{}".format(vdu.image), "numas": [{ "memory": max(int(vdu.vm_flavor.memory_mb/1024), 1), "interfaces":[], @@ -410,6 +422,13 @@ def rift2openmano_vnfd(rift_vnfd): "bridge-ifaces": [], } + if os.path.isabs(vdu.image): + vnfc["VNFC image"] = vdu.image + else: + vnfc["image name"] = vdu.image + if vdu.has_field("image_checksum"): + vnfc["image checksum"] = vdu.image_checksum + numa_node_policy = vdu.guest_epa.numa_node_policy if numa_node_policy.has_field("node"): numa_node = numa_node_policy.node[0] @@ -459,7 +478,11 @@ def rift2openmano_vnfd(rift_vnfd): if int_if.virtual_interface.has_field("vpci"): intf["vpci"] = int_if.virtual_interface.vpci - if int_if.virtual_interface.type_yang in ["VIRTIO", "OM_MGMT"]: + if int_if.virtual_interface.type_yang in ["VIRTIO", "E1000"]: + intf["model"] = rift2openmano_vif(int_if.virtual_interface.type_yang) + vnfc["bridge-ifaces"].append(intf) + + elif int_if.virtual_interface.type_yang in ["OM_MGMT"]: vnfc["bridge-ifaces"].append(intf) elif int_if.virtual_interface.type_yang == "SR-IOV":