X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Fsonata%2Fdummygatekeeper.py;h=052d716fe4f9bb480c53e2c310572d102fcf0a6b;hb=ae8da7c21d4f308c4b7b58f9871ed4108e429aa7;hp=e1feaf7565a1fb09d98df16de4cf83e302ab681f;hpb=00e65b9a485862a4af99d8f2c4769fac9a96f9d6;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/sonata/dummygatekeeper.py b/src/emuvim/api/sonata/dummygatekeeper.py index e1feaf7..052d716 100755 --- a/src/emuvim/api/sonata/dummygatekeeper.py +++ b/src/emuvim/api/sonata/dummygatekeeper.py @@ -98,6 +98,8 @@ ELAN_SUBNETS = generate_subnets('10.20', 0, subnet_size=50, mask=24) # 10.30.xxx.0/30 ELINE_SUBNETS = generate_subnets('10.30', 0, subnet_size=50, mask=30) +# path to the VNFD for the SAP VNF that is deployed as internal SAP point +SAP_VNFD=None class Gatekeeper(object): @@ -484,8 +486,8 @@ class Service(object): self.package_content_path, make_relative_path(pc.get("name"))) vnfd = load_yaml(vnfd_path) - self.vnfds[vnfd.get("name")] = vnfd - LOG.debug("Loaded VNFD: %r" % vnfd.get("name")) + self.vnfds[vnfd.get("id")] = vnfd + LOG.debug("Loaded VNFD: %r" % vnfd.get("id")) def _load_saps(self): # create list of all SAPs @@ -514,7 +516,10 @@ class Service(object): # Each Service Access Point (connection_point) in the nsd is getting its own container (default) elif sap["type"] == "internal" or sap["type"] == "management": # add SAP to self.vnfds - sapfile = pkg_resources.resource_filename(__name__, "sap_vnfd.yml") + if SAP_VNFD is None: + sapfile = pkg_resources.resource_filename(__name__, "sap_vnfd.yml") + else: + sapfile = SAP_VNFD sap_vnfd = load_yaml(sapfile) sap_vnfd["connection_points"][0]["id"] = sap_interface sap_vnfd["name"] = sap_docker_name @@ -965,6 +970,7 @@ class Packages(fr.Resource): # automatically deploy the service if AUTO_DEPLOY: # ok, we have a service uuid, lets start the service + reset_subnets() service_instance_uuid = GK.services.get(service_uuid).start_service() # generate the JSON result @@ -1126,6 +1132,18 @@ def parse_interface(interface_name): return vnf_id, vnf_interface, vnf_sap_docker_name +def reset_subnets(): + # private subnet definitions for the generated interfaces + # 10.10.xxx.0/24 + global SAP_SUBNETS + SAP_SUBNETS = generate_subnets('10.10', 0, subnet_size=50, mask=30) + # 10.20.xxx.0/30 + global ELAN_SUBNETS + ELAN_SUBNETS = generate_subnets('10.20', 0, subnet_size=50, mask=24) + # 10.30.xxx.0/30 + global ELINE_SUBNETS + ELINE_SUBNETS = generate_subnets('10.30', 0, subnet_size=50, mask=30) + if __name__ == '__main__': """ Lets allow to run the API in standalone mode.