+ # check if we need to deploy the management ports (defined as type:management both on in the vnfd and nsd)
+ intfs = vnfd.get("connection_points", [])
+ mgmt_intf_names = []
+ if USE_DOCKER_MGMT:
+ mgmt_intfs = [vnf_id + ':' + intf['id'] for intf in intfs if intf.get('type') == 'management']
+ # check if any of these management interfaces are used in a management-type network in the nsd
+ for nsd_intf_name in mgmt_intfs:
+ vlinks = [ l["connection_points_reference"] for l in self.nsd.get("virtual_links", [])]
+ for link in vlinks:
+ if nsd_intf_name in link and self.check_mgmt_interface(link):
+ # this is indeed a management interface and can be skipped
+ vnf_id, vnf_interface, vnf_sap_docker_name = parse_interface(nsd_intf_name)
+ found_interfaces = [intf for intf in intfs if intf.get('id') == vnf_interface]
+ intfs.remove(found_interfaces[0])
+ mgmt_intf_names.append(vnf_interface)
+
+ # 4. generate the volume paths for the docker container
+ volumes=list()
+ # a volume to extract log files
+ docker_log_path = "/tmp/results/%s/%s"%(self.uuid,vnf_id)
+ LOG.debug("LOG path for vnf %s is %s."%(vnf_id,docker_log_path))
+ if not os.path.exists(docker_log_path):
+ LOG.debug("Creating folder %s"%docker_log_path)
+ os.makedirs(docker_log_path)
+
+ volumes.append(docker_log_path+":/mnt/share/")
+
+
+ # 5. do the dc.startCompute(name="foobar") call to run the container