def __startListenning(self): """ Creates the control connection Args: None Returns: Nothing """ networkInterface = self.__parser.getConfigurationParameter( "vncNetworkInterface") listenningPort = self.__parser.getConfigurationParameter( "listenningPort") try: self.__vncServerIP = get_ip_address(networkInterface) except Exception: raise Exception( "Error: the network interface '{0}' is not ready. Exiting now". format(networkInterface)) self.__ftpTimeout = self.__parser.getConfigurationParameter( "FTPTimeout") self.__listenningPort = listenningPort self.__networkManager = NetworkManager( self.__parser.getConfigurationParameter("certificatePath")) self.__networkManager.startNetworkService() self.__useSSL = self.__parser.getConfigurationParameter("useSSL") self.__packetManager = VMServerPacketHandler(self.__networkManager) self.__connectToDatabases( "VMServerDB", self.__parser.getConfigurationParameter("databaseUserName"), self.__parser.getConfigurationParameter("databasePassword")) self.__domainHandler = DomainHandler( self.__commandsDBConnector, self.__vncServerIP, self.__networkManager, self.__packetManager, self.__listenningPort, self.__parser.getConfigurationParameter("useQEMUWebsockets"), self.__parser.getConfigurationParameter("websockifyPath"), self.__parser.getConfigurationParameter("configFilePath"), self.__parser.getConfigurationParameter("sourceImagePath"), self.__parser.getConfigurationParameter("executionImagePath"), self.__parser.getConfigurationParameter("passwordLength")) self.__domainHandler.connectToLibvirt( self.__parser.getConfigurationParameter("vncNetworkInterface"), self.__parser.getConfigurationParameter("vnName"), self.__parser.getConfigurationParameter("gatewayIP"), self.__parser.getConfigurationParameter("netMask"), self.__parser.getConfigurationParameter("dhcpStartIP"), self.__parser.getConfigurationParameter("dhcpEndIP"), self.__parser.getConfigurationParameter( "createVirtualNetworkAsRoot")) self.__domainHandler.doInitialCleanup() self.__deleteTemporaryZipFiles() self.__fileTransferThread = FileTransferThread( self.__networkManager, self.__listenningPort, self.__packetManager, self.__parser.getConfigurationParameter("TransferDirectory"), self.__parser.getConfigurationParameter("FTPTimeout"), self.__parser.getConfigurationParameter("MaxTransferAttempts"), self.__commandsDBConnector, self.__useSSL) self.__compressionThread = CompressionThread( self.__parser.getConfigurationParameter("TransferDirectory"), self.__parser.getConfigurationParameter("sourceImagePath"), self.__parser.getConfigurationParameter("configFilePath"), self.__commandsDBConnector, self.__domainHandler, self.__networkManager, self.__listenningPort, self.__packetManager) self.__fileTransferThread.start() self.__compressionThread.start() self.__networkManager.listenIn(self.__listenningPort, self, self.__useSSL)