add extra startup arg for cadvisor and reset subnets in dummygatekeeper
[osm/vim-emu.git] / src / emuvim / api / sonata / dummygatekeeper.py
index e1feaf7..5214146 100755 (executable)
@@ -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):
 
@@ -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.