Пример #1
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("IOU instance is being created")
        self._iou_id = None
        self._defaults = {}
        self._inital_settings = None
        self._loading = False
        self._module = module
        self._ports = []
        self._settings = {
            "name": "",
            "path": "",
            "startup_config": "",
            "l1_keepalives": False,
            "use_default_iou_values": True,
            "ram": 256,
            "nvram": 128,
            "ethernet_adapters": 2,
            "serial_adapters": 2,
            "console": None
        }

        #self._occupied_slots = []
        self._addAdapters(2, 2)

        # save the default settings
        self._defaults = self._settings.copy()
Пример #2
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._settings = None
        self._custom_adapters = []

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiCustomAdaptersConfigurationPushButton.clicked.connect(self._customAdaptersConfigurationSlot)
        self.uiAdapterTypesComboBox.clear()


        self._adapter_types = ["default",
                               "e1000",
                               "e1000e",
                               "flexible",
                               "vlance",
                               "vmxnet",
                               "vmxnet2",
                               "vmxnet3"]

        self.uiAdapterTypesComboBox.addItems(self._adapter_types)

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        # add the on close options
        for name, option_name in Node.onCloseOptions().items():
            self.uiOnCloseComboBox.addItem(name, option_name)
Пример #3
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("VirtualBox VM instance is being created")
        self._vbox_id = None
        self._linked_clone = False
        self._defaults = {}
        self._inital_settings = None
        self._export_directory = None
        self._loading = False
        self._module = module
        self._ports = []
        self._settings = {"name": "",
                          "vmname": "",
                          "console": None,
                          "adapters": VBOX_VM_SETTINGS["adapters"],
                          "adapter_start_index": VBOX_VM_SETTINGS["adapter_start_index"],
                          "adapter_type": VBOX_VM_SETTINGS["adapter_type"],
                          "headless": VBOX_VM_SETTINGS["headless"],
                          "enable_remote_console": VBOX_VM_SETTINGS["enable_remote_console"]}

        self._addAdapters(2)

        # save the default settings
        self._defaults = self._settings.copy()
Пример #4
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("IOU instance is being created")
        self._iou_id = None
        self._defaults = {}
        self._inital_settings = None
        self._loading = False
        self._module = module
        self._ports = []
        self._settings = {
            "name": "",
            "path": "",
            "startup_config": "",
            "use_default_iou_values": True,
            "ram": 256,
            "nvram": 128,
            "ethernet_adapters": 2,
            "serial_adapters": 2,
            "console": None,
        }

        # self._occupied_slots = []
        self._addAdapters(2, 2)

        # save the default settings
        self._defaults = self._settings.copy()
Пример #5
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("QEMU VM instance is being created")
        self._qemu_id = None
        self._defaults = {}
        self._inital_settings = None
        self._export_directory = None
        self._loading = False
        self._module = module
        self._ports = []

        self._settings = {"name": "",
                          "qemu_path": "",
                          "hda_disk_image": "",
                          "hdb_disk_image": "",
                          "options": "",
                          "ram": QEMU_VM_SETTINGS["ram"],
                          "console": None,
                          "adapters": QEMU_VM_SETTINGS["adapters"],
                          "adapter_type": QEMU_VM_SETTINGS["adapter_type"],
                          "initrd": "",
                          "kernel_image": "",
                          "kernel_command_line": ""}

        self._addAdapters(1)

        # save the default settings
        self._defaults = self._settings.copy()
Пример #6
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._settings = None
        self._custom_adapters = []

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiCustomAdaptersConfigurationPushButton.clicked.connect(
            self._customAdaptersConfigurationSlot)
        self.uiAdapterTypesComboBox.clear()

        # add the on close options
        for name, option_name in Node.onCloseOptions().items():
            self.uiOnCloseComboBox.addItem(name, option_name)

        self._adapter_types = [
            "PCnet-PCI II (Am79C970A)", "PCNet-FAST III (Am79C973)",
            "Intel PRO/1000 MT Desktop (82540EM)",
            "Intel PRO/1000 T Server (82543GC)",
            "Intel PRO/1000 MT Server (82545EM)",
            "Paravirtualized Network (virtio-net)"
        ]
        self.uiAdapterTypesComboBox.addItems(self._adapter_types)

        # TODO: finish VM name change
        self.uiVMListLabel.hide()
        self.uiVMListComboBox.hide()

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
Пример #7
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("VirtualBox VM instance is being created")
        self._vbox_id = None
        self._defaults = {}
        self._inital_settings = None
        self._export_directory = None
        self._loading = False
        self._module = module
        self._ports = []
        self._settings = {
            "name": "",
            "vmname": "",
            "console": None,
            "adapters": 2,
            "adapter_start_index": 0,
            "adapter_type": "Automatic",
            "headless": False,
            "enable_console": True,
        }

        self._addAdapters(2)

        # save the default settings
        self._defaults = self._settings.copy()
Пример #8
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("IOU instance is being created")
        self._iou_id = None
        self._defaults = {}
        self._inital_settings = None
        self._loading = False
        self._module = module
        self._export_directory = None
        self._ports = []
        self._settings = {"name": "",
                          "path": "",
                          "initial_config": "",
                          "l1_keepalives": False,
                          "use_default_iou_values": IOU_DEVICE_SETTINGS["use_default_iou_values"],
                          "ram": IOU_DEVICE_SETTINGS["ram"],
                          "nvram": IOU_DEVICE_SETTINGS["nvram"],
                          "ethernet_adapters": IOU_DEVICE_SETTINGS["ethernet_adapters"],
                          "serial_adapters": IOU_DEVICE_SETTINGS["serial_adapters"],
                          "console": None}

        #self._occupied_slots = []
        self._addAdapters(2, 2)

        # save the default settings
        self._defaults = self._settings.copy()
Пример #9
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("Ethernet switch is being created")
        self.setStatus(Node.started)  # this is an always-on node
        self._ethsw_id = None
        self._module = module
        self._ports = []
        self._settings = {"name": "", "ports": {}}
Пример #10
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("Frame-Relay switch is being created")
        self.setStatus(Node.started)  # this is an always-on node
        self._frsw_id = None
        self._ports = []
        self._module = module
        self._settings = {"name": "", "mappings": {}}
Пример #11
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("Ethernet hub is being created")
        self.setStatus(Node.started)  # this is an always-on node
        self._ethhub_id = None
        self._module = module
        self._ports = []
        self._settings = {"name": "",
                          "ports": []}
Пример #12
0
    def __init__(self, module, server, project):
        Node.__init__(self, module, server, project)

        log.info("cloud is being created")
        # create an unique id and name
        self._name_id = Cloud._name_instance_count
        Cloud._name_instance_count += 1

        name = "Cloud {}".format(self._name_id)
        self.setStatus(Node.started)  # this is an always-on node
        self._defaults = {}
        self._ports = []
        self._initial_settings = None
        self._settings = {"name": name, "interfaces": {}, "nios": []}
Пример #13
0
    def __init__(self, module, server, project):
        Node.__init__(self, module, server, project)

        log.info("cloud is being created")
        # create an unique id and name
        self._name_id = Cloud._name_instance_count
        Cloud._name_instance_count += 1

        name = "Cloud {}".format(self._name_id)
        self.setStatus(Node.started)  # this is an always-on node
        self._defaults = {}
        self._ports = []
        self._initial_settings = None
        self._settings = {"name": name, "interfaces": {}, "nios": []}
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        self._widget_slots = {0: self.uiSlot0comboBox,
                              1: self.uiSlot1comboBox,
                              2: self.uiSlot2comboBox,
                              3: self.uiSlot3comboBox,
                              4: self.uiSlot4comboBox,
                              5: self.uiSlot5comboBox,
                              6: self.uiSlot6comboBox}

        self._widget_wics = {0: self.uiWic0comboBox,
                             1: self.uiWic1comboBox,
                             2: self.uiWic2comboBox}

        self.uiStartupConfigToolButton.clicked.connect(self._startupConfigBrowserSlot)
        self.uiPrivateConfigToolButton.clicked.connect(self._privateConfigBrowserSlot)
        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiIOSImageToolButton.clicked.connect(self._iosImageBrowserSlot)
        self._server = None
        self._idle_valid = False
        idle_pc_rgx = QtCore.QRegExp("^(0x[0-9a-fA-F]{8})?$")
        validator = QtGui.QRegExpValidator(idle_pc_rgx, self)
        self.uiIdlepcLineEdit.setValidator(validator)
        self.uiIdlepcLineEdit.textChanged.connect(self._idlePCValidateSlot)
        self.uiIdlepcLineEdit.textChanged.emit(self.uiIdlepcLineEdit.text())
        self._default_configs_dir = Servers.instance().localServerSettings()["configs_path"]

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
Пример #15
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._node = None
        self._ports = []
        self._interfaces = []

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        # connect Ethernet slots
        self.uiEthernetListWidget.itemSelectionChanged.connect(self._EthernetChangedSlot)
        self.uiEthernetWarningPushButton.clicked.connect(self._EthernetWarningSlot)
        self.uiAddEthernetPushButton.clicked.connect(self._EthernetAddSlot)
        self.uiAddAllEthernetPushButton.clicked.connect(self._EthernetAddAllSlot)
        self.uiDeleteEthernetPushButton.clicked.connect(self._EthernetDeleteSlot)

        # connect TAP slots
        self.uiTAPComboBox.currentIndexChanged.connect(self._TAPSelectedSlot)
        self.uiTAPListWidget.itemSelectionChanged.connect(self._TAPChangedSlot)
        self.uiAddTAPPushButton.clicked.connect(self._TAPAddSlot)
        self.uiAddAllTAPPushButton.clicked.connect(self._TAPAddAllSlot)
        self.uiDeleteTAPPushButton.clicked.connect(self._TAPDeleteSlot)

        # connect UDP slots
        self.uiUDPTreeWidget.itemActivated.connect(self._UDPSelectedSlot)
        self.uiUDPTreeWidget.itemSelectionChanged.connect(self._UDPChangedSlot)
        self.uiAddUDPPushButton.clicked.connect(self._UDPAddSlot)
        self.uiDeleteUDPPushButton.clicked.connect(self._UDPDeleteSlot)

        self.uiShowSpecialInterfacesCheckBox.stateChanged.connect(self._showSpecialInterfacesSlot)
        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        self._widget_slots = {0: self.uiSlot0comboBox,
                              1: self.uiSlot1comboBox,
                              2: self.uiSlot2comboBox,
                              3: self.uiSlot3comboBox,
                              4: self.uiSlot4comboBox,
                              5: self.uiSlot5comboBox,
                              6: self.uiSlot6comboBox}

        self._widget_wics = {0: self.uiWic0comboBox,
                             1: self.uiWic1comboBox,
                             2: self.uiWic2comboBox}

        self.uiStartupConfigToolButton.clicked.connect(self._startupConfigBrowserSlot)
        self.uiPrivateConfigToolButton.clicked.connect(self._privateConfigBrowserSlot)
        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiIOSImageToolButton.clicked.connect(self._iosImageBrowserSlot)
        self._server = None
        self._idle_valid = False
        idle_pc_rgx = QtCore.QRegExp("^(0x[0-9a-fA-F]{8})?$")
        validator = QtGui.QRegExpValidator(idle_pc_rgx, self)
        self.uiIdlepcLineEdit.setValidator(validator)
        self.uiIdlepcLineEdit.textChanged.connect(self._idlePCValidateSlot)
        self.uiIdlepcLineEdit.textChanged.emit(self.uiIdlepcLineEdit.text())
        self._default_configs_dir = Servers.instance().localServerSettings()["configs_path"]

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiStartupConfigToolButton.clicked.connect(
            self._startupConfigBrowserSlot)
        self.uiPrivateConfigToolButton.clicked.connect(
            self._privateConfigBrowserSlot)
        self.uiIOUImageToolButton.clicked.connect(self._iouImageBrowserSlot)
        self.uiDefaultValuesCheckBox.stateChanged.connect(
            self._useDefaultValuesSlot)
        self._current_iou_image = ""
        self._compute_id = None

        # location of the base config templates
        self._base_iou_l2_config_template = get_resource(
            os.path.join("configs", "iou_l2_base_startup-config.txt"))
        self._base_iou_l3_config_template = get_resource(
            os.path.join("configs", "iou_l3_base_startup-config.txt"))
        self._default_configs_dir = LocalServer.instance().localServerSettings(
        )["configs_path"]

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
Пример #18
0
    def __init__(self, module, server, platform="c7200"):
        Node.__init__(self, server)

        log.info("router {} is being created".format(platform))

        self._defaults = {}
        self._ports = []
        self._router_id = None
        self._inital_settings = None
        self._idlepcs = []
        self._module = module
        self._loading = False
        self._export_directory = None
        self._settings = {"name": "",
                          "platform": platform,
                          "image": "",
                          "startup_config": "",
                          "private_config": "",
                          "ram": 128,
                          "nvram": 128,
                          "mmap": True,
                          "sparsemem": True,
                          "clock_divisor": 8,
                          "idlepc": "",
                          "idlemax": 500,
                          "idlesleep": 30,
                          "exec_area": 64,
                          "jit_sharing_group": None,
                          "disk0": 0,
                          "disk1": 0,
                          "confreg": '0x2102',
                          "console": None,
                          "aux": None,
                          "mac_addr": None,
                          "system_id": "FTX0945W0MY",
                          "slot0": None,
                          "slot1": None,
                          "slot2": None,
                          "slot3": None,
                          "slot4": None,
                          "slot5": None,
                          "slot6": None,
                          "wic0": None,
                          "wic1": None,
                          "wic2": None}
Пример #19
0
    def __init__(self, module, server, platform="c7200"):
        Node.__init__(self, server)

        log.info("router {} is being created".format(platform))
        self._defaults = {}
        self._ports = []
        self._router_id = None
        self._inital_settings = None
        self._idlepcs = []
        self._module = module
        self._loading = False
        self._settings = {
            "name": "",
            "platform": platform,
            "image": "",
            "startup_config": "",
            "private_config": "",
            "ram": 128,
            "nvram": 128,
            "mmap": True,
            "sparsemem": True,
            "clock_divisor": 8,
            "idlepc": "",
            "idlemax": 500,
            "idlesleep": 30,
            "exec_area": 64,
            "jit_sharing_group": None,
            "disk0": 0,
            "disk1": 0,
            "confreg": '0x2102',
            "console": None,
            "aux": None,
            "mac_addr": None,
            "system_id": "FTX0945W0MY",
            "slot0": None,
            "slot1": None,
            "slot2": None,
            "slot3": None,
            "slot4": None,
            "slot5": None,
            "slot6": None,
            "wic0": None,
            "wic1": None,
            "wic2": None
        }
Пример #20
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
Пример #22
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("VPCS instance is being created")
        self._vpcs_id = None
        self._defaults = {}
        self._inital_settings = None
        self._loading = False
        self._module = module
        self._ports = []
        self._settings = {"name": "", "script_file": "", "console": None}

        port_name = EthernetPort.longNameType() + str(0)
        port = EthernetPort(port_name)
        port.setPortNumber(0)
        self._ports.append(port)
        log.debug("port {} has been added".format(port_name))

        # save the default settings
        self._defaults = self._settings.copy()
Пример #23
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("VPCS instance is being created")
        self._vpcs_id = None
        self._defaults = {}
        self._inital_settings = None
        self._loading = False
        self._module = module
        self._ports = []
        self._settings = {"name": "",
                          "base_script_file": "",
                          "path":"",
                          "console": None}

        #self._occupied_slots = []
        self._addAdapters(1)

        # save the default settings
        self._defaults = self._settings.copy()
Пример #24
0
    def bringToFront(self):
        """
        Bring the VM window to front.
        """

        if self.status() == Node.started:
            # try 2 different window title formats
            bring_window_to_front_from_process_name("VirtualBox.exe", title="{} [".format(self._settings["vmname"]))
            bring_window_to_front_from_process_name("VirtualBox.exe", title="{} (".format(self._settings["vmname"]))

        # bring any console to front
        return Node.bringToFront(self)
Пример #25
0
    def __init__(self, module, server):
        Node.__init__(self, server)

        log.info("VPCS instance is being created")
        self._vpcs_id = None
        self._defaults = {}
        self._inital_settings = None
        self._loading = False
        self._module = module
        self._ports = []
        self._settings = {"name": "",
                          "script_file": "",
                          "console": None}

        port_name = EthernetPort.longNameType() + str(0)
        port = EthernetPort(port_name)
        port.setPortNumber(0)
        self._ports.append(port)
        log.debug("port {} has been added".format(port_name))

        # save the default settings
        self._defaults = self._settings.copy()
Пример #26
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self._default_configs_dir = LocalServer.instance().localServerSettings()["configs_path"]
        if Controller.instance().isRemote():
            self.uiScriptFileToolButton.hide()

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
Пример #27
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._node = None
        self._ports = []
        self._interfaces = []

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        # connect Ethernet slots
        self.uiEthernetListWidget.itemSelectionChanged.connect(
            self._EthernetChangedSlot)
        self.uiEthernetWarningPushButton.clicked.connect(
            self._EthernetWarningSlot)
        self.uiAddEthernetPushButton.clicked.connect(self._EthernetAddSlot)
        self.uiAddAllEthernetPushButton.clicked.connect(
            self._EthernetAddAllSlot)
        self.uiRefreshEthernetPushButton.clicked.connect(
            self._EthernetRefreshSlot)
        self.uiDeleteEthernetPushButton.clicked.connect(
            self._EthernetDeleteSlot)

        # connect TAP slots
        self.uiTAPComboBox.currentIndexChanged.connect(self._TAPSelectedSlot)
        self.uiTAPListWidget.itemSelectionChanged.connect(self._TAPChangedSlot)
        self.uiAddTAPPushButton.clicked.connect(self._TAPAddSlot)
        self.uiAddAllTAPPushButton.clicked.connect(self._TAPAddAllSlot)
        self.uiRefreshTAPPushButton.clicked.connect(self._TAPRefreshSlot)
        self.uiDeleteTAPPushButton.clicked.connect(self._TAPDeleteSlot)

        # connect UDP slots
        self.uiUDPTreeWidget.itemActivated.connect(self._UDPSelectedSlot)
        self.uiUDPTreeWidget.itemSelectionChanged.connect(self._UDPChangedSlot)
        self.uiAddUDPPushButton.clicked.connect(self._UDPAddSlot)
        self.uiDeleteUDPPushButton.clicked.connect(self._UDPDeleteSlot)

        # connect other slots
        self.uiShowSpecialInterfacesCheckBox.stateChanged.connect(
            self._showSpecialInterfacesSlot)
        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiConsoleTypeComboBox.currentTextChanged.connect(
            self._consoleTypeChangedSlot)

        # add an icon to the warning button
        icon = QtGui.QIcon.fromTheme("dialog-warning")
        if icon.isNull():
            icon = QtGui.QIcon(':/icons/dialog-warning.svg')
        self.uiEthernetWarningPushButton.setIcon(icon)
Пример #28
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._settings = None
        self._custom_adapters = []

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiNetworkConfigEditButton.released.connect(self._networkConfigEditSlot)
        self.uiCustomAdaptersConfigurationPushButton.clicked.connect(self._customAdaptersConfigurationSlot)

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiAdapterTypesComboBox.clear()
        self.uiAdapterTypesComboBox.addItems([
            "default", "e1000", "e1000e", "flexible", "vlance", "vmxnet",
            "vmxnet2", "vmxnet3"
        ])

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
Пример #30
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._settings = None
        self._custom_adapters = []

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiNetworkConfigEditButton.released.connect(
            self._networkConfigEditSlot)
        self.uiCustomAdaptersConfigurationPushButton.clicked.connect(
            self._customAdaptersConfigurationSlot)

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
Пример #31
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        # connect signals
        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiUseLocalServercheckBox.stateChanged.connect(self._useLocalServerSlot)
        self.uiRestoreDefaultsPushButton.clicked.connect(self._restoreDefaultsSlot)
        self.uiVPCSPathToolButton.clicked.connect(self._vpcsPathBrowserSlot)
        self.uiScriptFileToolButton.clicked.connect(self._scriptFileBrowserSlot)
        self._default_configs_dir = Servers.instance().localServerSettings()["configs_path"]

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
Пример #32
0
    def bringToFront(self):
        """
        Bring the VM window to front.
        """

        if self.status() == Node.started:
            # try 2 different window title formats
            bring_window_to_front_from_process_name(
                "VirtualBox.exe",
                title="{} [".format(self._settings["vmname"]))
            bring_window_to_front_from_process_name(
                "VirtualBox.exe",
                title="{} (".format(self._settings["vmname"]))

        # bring any console to front
        return Node.bringToFront(self)
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiAdapterTypesComboBox.clear()
        self.uiAdapterTypesComboBox.addItems(["default",
                                              "e1000",
                                              "e1000e",
                                              "flexible",
                                              "vlance",
                                              "vmxnet",
                                              "vmxnet2",
                                              "vmxnet3"])

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
Пример #34
0
    def bringToFront(self):
        """
        Bring the VM window to front.
        """

        if self.status() == Node.started:
            try:
                vmx_pairs = self.module().parseVMwareFile(self.settings()["vmx_path"])
            except OSError as e:
                log.debug("Could not read VMX file: {}".format(e))
                return
            if "displayname" in vmx_pairs:
                window_name = "{} -".format(vmx_pairs["displayname"])
                # try for both VMware Player and Workstation
                bring_window_to_front_from_process_name("vmplayer.exe", title=window_name)
                bring_window_to_front_from_process_name("vmware.exe", title=window_name)

        # bring any console to front
        return Node.bringToFront(self)
Пример #35
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        # connect signals
        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiUseLocalServercheckBox.stateChanged.connect(
            self._useLocalServerSlot)
        self.uiRestoreDefaultsPushButton.clicked.connect(
            self._restoreDefaultsSlot)
        self.uiVPCSPathToolButton.clicked.connect(self._vpcsPathBrowserSlot)
        self.uiScriptFileToolButton.clicked.connect(
            self._scriptFileBrowserSlot)
        self._default_configs_dir = Servers.instance().localServerSettings(
        )["configs_path"]

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiStartupConfigToolButton.clicked.connect(self._startupConfigBrowserSlot)
        self.uiPrivateConfigToolButton.clicked.connect(self._privateConfigBrowserSlot)
        self.uiIOUImageToolButton.clicked.connect(self._iouImageBrowserSlot)
        self.uiDefaultValuesCheckBox.stateChanged.connect(self._useDefaultValuesSlot)
        self._current_iou_image = ""
        self._server = None

        # location of the base config templates
        self._base_iou_l2_config_template = get_resource(os.path.join("configs", "iou_l2_base_startup-config.txt"))
        self._base_iou_l3_config_template = get_resource(os.path.join("configs", "iou_l3_base_startup-config.txt"))
        self._default_configs_dir = Servers.instance().localServerSettings()["configs_path"]

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiAdapterTypesComboBox.clear()
        self.uiAdapterTypesComboBox.addItems(["PCnet-PCI II (Am79C970A)",
                                              "PCNet-FAST III (Am79C973)",
                                              "Intel PRO/1000 MT Desktop (82540EM)",
                                              "Intel PRO/1000 T Server (82543GC)",
                                              "Intel PRO/1000 MT Server (82545EM)",
                                              "Paravirtualized Network (virtio-net)"])

        # TODO: finish VM name change
        self.uiVMListLabel.hide()
        self.uiVMListComboBox.hide()

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._ports = {}

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        # connect slots
        self.uiAddPushButton.clicked.connect(self._addPortSlot)
        self.uiDeletePushButton.clicked.connect(self._deletePortSlot)
        self.uiPortsTreeWidget.itemActivated.connect(self._portSelectedSlot)
        self.uiPortsTreeWidget.itemSelectionChanged.connect(self._portSelectionChangedSlot)
        self.uiPortTypeComboBox.currentIndexChanged.connect(self._typeSelectionChangedSlot)

        # enable sorting
        self.uiPortsTreeWidget.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.uiPortsTreeWidget.setSortingEnabled(True)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._ports = {}

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        # connect slots
        self.uiAddPushButton.clicked.connect(self._addPortSlot)
        self.uiDeletePushButton.clicked.connect(self._deletePortSlot)
        self.uiPortsTreeWidget.itemActivated.connect(self._portSelectedSlot)
        self.uiPortsTreeWidget.itemSelectionChanged.connect(self._portSelectionChangedSlot)
        self.uiPortTypeComboBox.currentIndexChanged.connect(self._typeSelectionChangedSlot)

        # enable sorting
        self.uiPortsTreeWidget.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.uiPortsTreeWidget.setSortingEnabled(True)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
Пример #40
0
    def bringToFront(self):
        """
        Bring the VM window to front.
        """

        if self.status() == Node.started:
            try:
                vmx_pairs = self.module().parseVMwareFile(
                    self.settings()["vmx_path"])
            except OSError as e:
                log.debug("Could not read VMX file: {}".format(e))
                return
            if "displayname" in vmx_pairs:
                window_name = "{} -".format(vmx_pairs["displayname"])
                # try for both VMware Player and Workstation
                bring_window_to_front_from_process_name("vmplayer.exe",
                                                        title=window_name)
                bring_window_to_front_from_process_name("vmware.exe",
                                                        title=window_name)

        # bring any console to front
        return Node.bringToFront(self)
Пример #41
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiAdapterTypesComboBox.clear()
        self.uiAdapterTypesComboBox.addItems([
            "PCnet-PCI II (Am79C970A)", "PCNet-FAST III (Am79C973)",
            "Intel PRO/1000 MT Desktop (82540EM)",
            "Intel PRO/1000 T Server (82543GC)",
            "Intel PRO/1000 MT Server (82545EM)",
            "Paravirtualized Network (virtio-net)"
        ])

        # TODO: finish VM name change
        self.uiVMListLabel.hide()
        self.uiVMListComboBox.hide()

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._compute_id = None

        self.uiBootPriorityComboBox.addItem("HDD", "c")
        self.uiBootPriorityComboBox.addItem("CD/DVD-ROM", "d")
        self.uiBootPriorityComboBox.addItem("Network", "n")
        self.uiBootPriorityComboBox.addItem("HDD or Network", "cn")
        self.uiBootPriorityComboBox.addItem("HDD or CD/DVD-ROM", "cd")

        self.uiHdaDiskImageToolButton.clicked.connect(
            self._hdaDiskImageBrowserSlot)
        self.uiHdbDiskImageToolButton.clicked.connect(
            self._hdbDiskImageBrowserSlot)
        self.uiHdcDiskImageToolButton.clicked.connect(
            self._hdcDiskImageBrowserSlot)
        self.uiHddDiskImageToolButton.clicked.connect(
            self._hddDiskImageBrowserSlot)
        self.uiCdromImageToolButton.clicked.connect(
            self._cdromImageBrowserSlot)
        self.uiBiosImageToolButton.clicked.connect(self._biosImageBrowserSlot)

        self.uiHdaDiskImageCreateToolButton.clicked.connect(
            self._hdaDiskImageCreateSlot)
        self.uiHdbDiskImageCreateToolButton.clicked.connect(
            self._hdbDiskImageCreateSlot)
        self.uiHdcDiskImageCreateToolButton.clicked.connect(
            self._hdcDiskImageCreateSlot)
        self.uiHddDiskImageCreateToolButton.clicked.connect(
            self._hddDiskImageCreateSlot)

        disk_interfaces = [
            "ide", "sata", "scsi", "sd", "mtd", "floppy", "pflash", "virtio",
            "none"
        ]
        self.uiHdaDiskInterfaceComboBox.addItems(disk_interfaces)
        self.uiHdbDiskInterfaceComboBox.addItems(disk_interfaces)
        self.uiHdcDiskInterfaceComboBox.addItems(disk_interfaces)
        self.uiHddDiskInterfaceComboBox.addItems(disk_interfaces)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiInitrdToolButton.clicked.connect(self._initrdBrowserSlot)
        self.uiKernelImageToolButton.clicked.connect(
            self._kernelImageBrowserSlot)
        self.uiActivateCPUThrottlingCheckBox.stateChanged.connect(
            self._cpuThrottlingChangedSlot)
        self.uiLegacyNetworkingCheckBox.stateChanged.connect(
            self._legacyNetworkingChangedSlot)

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        self._legacy_devices = ("e1000", "i82551", "i82557b", "i82559er",
                                "ne2k_pci", "pcnet", "rtl8139", "virtio")
        self._qemu_network_devices = OrderedDict([
            ("e1000", "Intel Gigabit Ethernet"),
            ("i82550", "Intel i82550 Ethernet"),
            ("i82551", "Intel i82551 Ethernet"),
            ("i82557a", "Intel i82557A Ethernet"),
            ("i82557b", "Intel i82557B Ethernet"),
            ("i82557c", "Intel i82557C Ethernet"),
            ("i82558a", "Intel i82558A Ethernet"),
            ("i82558b", "Intel i82558B Ethernet"),
            ("i82559a", "Intel i82559A Ethernet"),
            ("i82559b", "Intel i82559B Ethernet"),
            ("i82559c", "Intel i82559C Ethernet"),
            ("i82559er", "Intel i82559ER Ethernet"),
            ("i82562", "Intel i82562 Ethernet"),
            ("i82801", "Intel i82801 Ethernet"),
            ("ne2k_pci", "NE2000 Ethernet"), ("pcnet", "AMD PCNet Ethernet"),
            ("rtl8139", "Realtek 8139 Ethernet"),
            ("virtio", "Legacy paravirtualized Network I/O"),
            ("virtio-net-pci", "Paravirtualized Network I/O"),
            ("vmxnet3", "VMWare Paravirtualized Ethernet v3")
        ])

        self._refreshQemuNetworkDevices()
Пример #43
0
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._compute_id = None
        self._settings = None
        self._custom_adapters = []

        self.uiBootPriorityComboBox.addItem("HDD", "c")
        self.uiBootPriorityComboBox.addItem("CD/DVD-ROM", "d")
        self.uiBootPriorityComboBox.addItem("Network", "n")
        self.uiBootPriorityComboBox.addItem("HDD or Network", "cn")
        self.uiBootPriorityComboBox.addItem("HDD or CD/DVD-ROM", "cd")
        self.uiBootPriorityComboBox.addItem("CD/DVD-ROM or Network", "dn")
        self.uiBootPriorityComboBox.addItem("CD/DVD-ROM or HDD", "dc")
        self.uiBootPriorityComboBox.addItem("Network or HDD", "nc")
        self.uiBootPriorityComboBox.addItem("Network or CD/DVD-ROM", "nd")

        self.uiHdaDiskImageToolButton.clicked.connect(
            self._hdaDiskImageBrowserSlot)
        self.uiHdbDiskImageToolButton.clicked.connect(
            self._hdbDiskImageBrowserSlot)
        self.uiHdcDiskImageToolButton.clicked.connect(
            self._hdcDiskImageBrowserSlot)
        self.uiHddDiskImageToolButton.clicked.connect(
            self._hddDiskImageBrowserSlot)
        self.uiCdromImageToolButton.clicked.connect(
            self._cdromImageBrowserSlot)
        self.uiBiosImageToolButton.clicked.connect(self._biosImageBrowserSlot)

        self.uiHdaDiskImageCreateToolButton.clicked.connect(
            self._hdaDiskImageCreateSlot)
        self.uiHdbDiskImageCreateToolButton.clicked.connect(
            self._hdbDiskImageCreateSlot)
        self.uiHdcDiskImageCreateToolButton.clicked.connect(
            self._hdcDiskImageCreateSlot)
        self.uiHddDiskImageCreateToolButton.clicked.connect(
            self._hddDiskImageCreateSlot)

        self.uiHdaDiskImageResizeToolButton.clicked.connect(
            self._hdaDiskImageResizeSlot)
        self.uiHdbDiskImageResizeToolButton.clicked.connect(
            self._hdbDiskImageResizeSlot)
        self.uiHdcDiskImageResizeToolButton.clicked.connect(
            self._hdcDiskImageResizeSlot)
        self.uiHddDiskImageResizeToolButton.clicked.connect(
            self._hddDiskImageResizeSlot)

        disk_interfaces = [
            "ide", "sata", "nvme", "scsi", "sd", "mtd", "floppy", "pflash",
            "virtio", "none"
        ]
        self.uiHdaDiskInterfaceComboBox.addItems(disk_interfaces)
        self.uiHdbDiskInterfaceComboBox.addItems(disk_interfaces)
        self.uiHdcDiskInterfaceComboBox.addItems(disk_interfaces)
        self.uiHddDiskInterfaceComboBox.addItems(disk_interfaces)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiInitrdToolButton.clicked.connect(self._initrdBrowserSlot)
        self.uiKernelImageToolButton.clicked.connect(
            self._kernelImageBrowserSlot)
        self.uiActivateCPUThrottlingCheckBox.stateChanged.connect(
            self._cpuThrottlingChangedSlot)
        self.uiLegacyNetworkingCheckBox.stateChanged.connect(
            self._legacyNetworkingChangedSlot)
        self.uiCustomAdaptersConfigurationPushButton.clicked.connect(
            self._customAdaptersConfigurationSlot)

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        # add the on close options
        for name, option_name in Node.onCloseOptions().items():
            self.uiOnCloseComboBox.addItem(name, option_name)

        # Supported NIC models: e1000, e1000-82544gc, e1000-82545em, e1000e, i82550, i82551, i82557a, i82557b, i82557c, i82558a
        # i82558b, i82559a, i82559b, i82559c, i82559er, i82562, i82801, ne2k_pci, pcnet, rocker, rtl8139, virtio-net-pci, vmxnet3
        self._legacy_devices = ("e1000", "i82551", "i82557b", "i82559er",
                                "ne2k_pci", "pcnet", "rtl8139", "virtio")
        self._qemu_network_devices = OrderedDict([
            ("e1000", "Intel Gigabit Ethernet"),
            ("e1000-82544gc", "Intel 82544GC Gigabit Ethernet"),
            ("e1000-82545em", "Intel 82545EM Gigabit Ethernet"),
            ("e1000e", "Intel PCIe Gigabit Ethernet"),
            ("i82550", "Intel i82550 Ethernet"),
            ("i82551", "Intel i82551 Ethernet"),
            ("i82557a", "Intel i82557A Ethernet"),
            ("i82557b", "Intel i82557B Ethernet"),
            ("i82557c", "Intel i82557C Ethernet"),
            ("i82558a", "Intel i82558A Ethernet"),
            ("i82558b", "Intel i82558B Ethernet"),
            ("i82559a", "Intel i82559A Ethernet"),
            ("i82559b", "Intel i82559B Ethernet"),
            ("i82559c", "Intel i82559C Ethernet"),
            ("i82559er", "Intel i82559ER Ethernet"),
            ("i82562", "Intel i82562 Ethernet"),
            ("i82801", "Intel i82801 Ethernet"),
            ("ne2k_pci", "NE2000 Ethernet"), ("pcnet", "AMD PCNet Ethernet"),
            ("rocker", "Rocker L2 switch device"),
            ("rtl8139", "Realtek 8139 Ethernet"),
            ("virtio", "Legacy paravirtualized Network I/O"),
            ("virtio-net-pci", "Paravirtualized Network I/O"),
            ("vmxnet3", "VMWare Paravirtualized Ethernet v3")
        ])

        self._refreshQemuNetworkDevices()
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self._server = None

        self.uiBootPriorityComboBox.addItem("HDD", "c")
        self.uiBootPriorityComboBox.addItem("CD/DVD-ROM", "d")
        self.uiBootPriorityComboBox.addItem("Network", "n")
        self.uiBootPriorityComboBox.addItem("HDD or Network", "cn")
        self.uiBootPriorityComboBox.addItem("HDD or CD/DVD-ROM", "cd")

        self.uiHdaDiskImageToolButton.clicked.connect(self._hdaDiskImageBrowserSlot)
        self.uiHdbDiskImageToolButton.clicked.connect(self._hdbDiskImageBrowserSlot)
        self.uiHdcDiskImageToolButton.clicked.connect(self._hdcDiskImageBrowserSlot)
        self.uiHddDiskImageToolButton.clicked.connect(self._hddDiskImageBrowserSlot)
        self.uiCdromImageToolButton.clicked.connect(self._cdromImageBrowserSlot)

        self.uiHdaDiskImageCreateToolButton.clicked.connect(self._hdaDiskImageCreateSlot)
        self.uiHdbDiskImageCreateToolButton.clicked.connect(self._hdbDiskImageCreateSlot)
        self.uiHdcDiskImageCreateToolButton.clicked.connect(self._hdcDiskImageCreateSlot)
        self.uiHddDiskImageCreateToolButton.clicked.connect(self._hddDiskImageCreateSlot)

        disk_interfaces = ["ide", "scsi", "sd", "mtd", "floppy", "pflash", "virtio"]
        self.uiHdaDiskInterfaceComboBox.addItems(disk_interfaces)
        self.uiHdbDiskInterfaceComboBox.addItems(disk_interfaces)
        self.uiHdcDiskInterfaceComboBox.addItems(disk_interfaces)
        self.uiHddDiskInterfaceComboBox.addItems(disk_interfaces)

        self.uiSymbolToolButton.clicked.connect(self._symbolBrowserSlot)
        self.uiInitrdToolButton.clicked.connect(self._initrdBrowserSlot)
        self.uiKernelImageToolButton.clicked.connect(self._kernelImageBrowserSlot)
        self.uiActivateCPUThrottlingCheckBox.stateChanged.connect(self._cpuThrottlingChangedSlot)
        self.uiLegacyNetworkingCheckBox.stateChanged.connect(self._legacyNetworkingChangedSlot)

        # add the categories
        for name, category in Node.defaultCategories().items():
            self.uiCategoryComboBox.addItem(name, category)

        self._legacy_devices = ("e1000", "i82551", "i82557b", "i82559er", "ne2k_pci", "pcnet", "rtl8139", "virtio")
        self._qemu_network_devices = OrderedDict([("e1000", "Intel Gigabit Ethernet"),
                                                  ("i82550", "Intel i82550 Ethernet"),
                                                  ("i82551", "Intel i82551 Ethernet"),
                                                  ("i82557a", "Intel i82557A Ethernet"),
                                                  ("i82557b", "Intel i82557B Ethernet"),
                                                  ("i82557c", "Intel i82557C Ethernet"),
                                                  ("i82558a", "Intel i82558A Ethernet"),
                                                  ("i82558b", "Intel i82558B Ethernet"),
                                                  ("i82559a", "Intel i82559A Ethernet"),
                                                  ("i82559b", "Intel i82559B Ethernet"),
                                                  ("i82559c", "Intel i82559C Ethernet"),
                                                  ("i82559er", "Intel i82559ER Ethernet"),
                                                  ("i82562", "Intel i82562 Ethernet"),
                                                  ("i82801", "Intel i82801 Ethernet"),
                                                  ("ne2k_pci", "NE2000 Ethernet"),
                                                  ("pcnet", "AMD PCNet Ethernet"),
                                                  ("rtl8139", "Realtek 8139 Ethernet"),
                                                  ("virtio", "Legacy paravirtualized Network I/O"),
                                                  ("virtio-net-pci", "Paravirtualized Network I/O"),
                                                  ("vmxnet3", "VMWare Paravirtualized Ethernet v3")])

        self._refreshQemuNetworkDevices()