def slotSaveHypervisor(self): """ Save a hypervisor to the hypervisors list """ hypervisor_host = unicode(self.lineEditHost.text(), 'utf-8', errors='replace') hypervisor_port = str(self.spinBoxHypervisorPort.value()) working_dir = unicode(self.lineEditWorkingDir.text(), 'utf-8', errors='replace') baseudp = self.spinBoxBaseUDP.value() if (hypervisor_host != '' and hypervisor_port != ''): hypervisorkey = hypervisor_host + ':' + hypervisor_port if globals.GApp.hypervisors.has_key(hypervisorkey): # update an already existing hypervisor item_to_update = self.treeWidgetHypervisor.findItems(hypervisorkey, QtCore.Qt.MatchFixedString)[0] item_to_update.setText(1, str(baseudp)) else: # else create it item = QtGui.QTreeWidgetItem(self.treeWidgetHypervisor) # host:port column item.setText(0, hypervisorkey) # base UDP column item.setText(1, str(baseudp)) self.listWidgetHypervisors.addItem(hypervisorkey) # save settings if globals.GApp.hypervisors.has_key(hypervisorkey): conf = globals.GApp.hypervisors[hypervisorkey] else: conf = hypervisorConf() conf.id = globals.GApp.hypervisors_ids globals.GApp.hypervisors_ids += 1 conf.host = hypervisor_host conf.port = int(hypervisor_port) self.spinBoxHypervisorPort.setValue(conf.port + 1) conf.workdir = working_dir conf.baseUDP = baseudp conf.baseConsole = self.spinBoxBaseConsole.value() conf.baseAUX = self.spinBoxBaseAUX.value() self.spinBoxBaseUDP.setValue(conf.baseUDP + 100) self.spinBoxBaseConsole.setValue(conf.baseConsole + 20) self.spinBoxBaseAUX.setValue(conf.baseAUX + 20) globals.GApp.hypervisors[hypervisorkey] = conf self.treeWidgetHypervisor.resizeColumnToContents(0) self.treeWidgetHypervisor.resizeColumnToContents(1)
def IOS_hypervisors(self): """ Load IOS hypervisors settings from config file """ # Loading IOS images conf basegroup = "IOS.hypervisors" c = ConfDB() c.beginGroup(basegroup) childGroups = c.childGroups() c.endGroup() for img_num in childGroups: cgroup = basegroup + '/' + img_num hyp_port = c.get(cgroup + "/port", '7200') hyp_host = c.get(cgroup + "/host", unicode('')) hyp_wdir = unicode(work_dir) hyp_baseUDP = c.get(cgroup + "/base_udp", '10000') hyp_baseConsole = c.get(cgroup + "/base_console", '2000') hyp_baseAUX = c.get(cgroup + "/base_aux", '0') # We need at least `hyp_host' and `hyp_port' to be set if hyp_host == '' or hyp_port == '': continue img_ref = server + ':' + str(dynamips_port) #установка значения ключа в словаре hypervisors #в котором хранятся настойки гипервизоров dynamips в ходе выполнения программы conf = hypervisorConf() conf.id = int(img_num) conf.host = unicode(server) conf.port = dynamips_port #установка порта dynamips conf.workdir = unicode(work_dir) #установка рабочей директории conf.baseUDP = getConnectionPort(base_dynamips_udp) #установка начального порта UDP для VLAN conf.baseConsole = getVideoPort(base_dynamips_console) #установка начального порта telnet для VLAN conf.baseAUX = getVideoPort(base_aux) #установка начального порта AUX для VLAN globals.GApp.hypervisors[img_ref] = conf if conf.id >= globals.GApp.hypervisors_ids: globals.GApp.hypervisors_ids = conf.id + 1
def IOS_hypervisors(self): """ Load IOS hypervisors settings from config file """ # Loading IOS images conf basegroup = "IOS.hypervisors" c = ConfDB() c.beginGroup(basegroup) childGroups = c.childGroups() c.endGroup() for img_num in childGroups: cgroup = basegroup + '/' + img_num hyp_port = c.get(cgroup + "/port", '7200') hyp_host = c.get(cgroup + "/host", unicode('')) hyp_wdir = c.get(cgroup + "/working_directory", unicode('')) hyp_baseUDP = c.get(cgroup + "/base_udp", '10001') hyp_baseConsole = c.get(cgroup + "/base_console", '2000') hyp_baseAUX = c.get(cgroup + "/base_aux", '0') # We need at least `hyp_host' and `hyp_port' to be set if hyp_host == '' or hyp_port == '': continue img_ref = hyp_host + ':' + hyp_port conf = hypervisorConf() conf.id = int(img_num) conf.host = hyp_host conf.port = int(hyp_port) conf.workdir = hyp_wdir conf.baseUDP = int(hyp_baseUDP) conf.baseConsole = int(hyp_baseConsole) conf.baseAUX = int(hyp_baseAUX) globals.GApp.hypervisors[img_ref] = conf if conf.id >= globals.GApp.hypervisors_ids: globals.GApp.hypervisors_ids = conf.id + 1