示例#1
0
    def _refreshInfo(self, iou_device):

        self.uiIOUDeviceInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Template name:", iou_device["name"]])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Default name format:", iou_device["default_name_format"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Server:", iou_device["server"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Image:", iou_device["image"]])
        if iou_device["startup_config"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Startup-config:", iou_device["startup_config"]])

        if iou_device["private_config"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Private-config:", iou_device["private_config"]])

        if iou_device["use_default_iou_values"]:
            QtWidgets.QTreeWidgetItem(section_item, ["RAM:", "default"])
            QtWidgets.QTreeWidgetItem(section_item, ["NVRAM:", "default"])
        else:
            QtWidgets.QTreeWidgetItem(
                section_item, ["RAM:", "{} MiB".format(iou_device["ram"])])
            QtWidgets.QTreeWidgetItem(
                section_item, ["NVRAM:", "{} KiB".format(iou_device["nvram"])])

        # fill out the Network section
        section_item = self._createSectionItem("Network")
        QtWidgets.QTreeWidgetItem(section_item, [
            "Ethernet adapters:", "{} ({} interfaces)".format(
                iou_device["ethernet_adapters"],
                iou_device["ethernet_adapters"] * 4)
        ])
        QtWidgets.QTreeWidgetItem(section_item, [
            "Serial adapters:", "{} ({} interfaces)".format(
                iou_device["serial_adapters"],
                iou_device["serial_adapters"] * 4)
        ])

        self.uiIOUDeviceInfoTreeWidget.expandAll()
        self.uiIOUDeviceInfoTreeWidget.resizeColumnToContents(0)
        self.uiIOUDeviceInfoTreeWidget.resizeColumnToContents(1)
示例#2
0
    def _refreshInfo(self, qemu_vm):

        self.uiQemuVMInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Template name:", qemu_vm["name"]])
        if qemu_vm["linked_base"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Default name format:", qemu_vm["default_name_format"]])
        QtWidgets.QTreeWidgetItem(section_item, ["Server:", qemu_vm["server"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Console type:", qemu_vm["console_type"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["CPUs:", str(qemu_vm["cpus"])])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Memory:", "{} MB".format(qemu_vm["ram"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Linked base VM:", "{}".format(qemu_vm["linked_base"])])

        if qemu_vm["qemu_path"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["QEMU binary:",
                 os.path.basename(qemu_vm["qemu_path"])])

        # fill out the Hard disks section
        if qemu_vm["hda_disk_image"] or qemu_vm["hdb_disk_image"] or qemu_vm[
                "hdc_disk_image"] or qemu_vm["hdd_disk_image"]:
            section_item = self._createSectionItem("Hard disks")
            if qemu_vm["hda_disk_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk image (hda):", qemu_vm["hda_disk_image"]])
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk interface (hda):", qemu_vm["hda_disk_interface"]])
            if qemu_vm["hdb_disk_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk image (hdb):", qemu_vm["hdb_disk_image"]])
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk interface (hdb):", qemu_vm["hdb_disk_interface"]])
            if qemu_vm["hdc_disk_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk image (hdc):", qemu_vm["hdc_disk_image"]])
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk interface (hdc):", qemu_vm["hdc_disk_interface"]])
            if qemu_vm["hdd_disk_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk image (hdd):", qemu_vm["hdd_disk_image"]])
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk interface (hdd):", qemu_vm["hdd_disk_interface"]])
            if qemu_vm["cdrom_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item, ["CD/DVD image:", qemu_vm["cdrom_image"]])

        # fill out the Network section
        section_item = self._createSectionItem("Network")
        QtWidgets.QTreeWidgetItem(
            section_item, ["Adapters:", str(qemu_vm["adapters"])])
        QtWidgets.QTreeWidgetItem(
            section_item, ["Name format:", qemu_vm["port_name_format"]])
        if qemu_vm["port_segment_size"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Segment size:",
                 str(qemu_vm["port_segment_size"])])
        if qemu_vm["first_port_name"]:
            QtWidgets.QTreeWidgetItem(
                section_item, ["First port name:", qemu_vm["first_port_name"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Type:", qemu_vm["adapter_type"]])
        if qemu_vm["mac_address"]:
            QtWidgets.QTreeWidgetItem(
                section_item, ["Base MAC address:", qemu_vm["mac_address"]])

        # fill out the Linux boot section
        if qemu_vm["initrd"] or qemu_vm["kernel_image"] or qemu_vm[
                "kernel_command_line"]:
            section_item = self._createSectionItem("Linux boot")
            if qemu_vm["initrd"]:
                QtWidgets.QTreeWidgetItem(
                    section_item, ["Initial RAM disk:", qemu_vm["initrd"]])
            if qemu_vm["kernel_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item, ["Kernel image:", qemu_vm["kernel_image"]])
            if qemu_vm["kernel_command_line"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Kernel command line:", qemu_vm["kernel_command_line"]])

        # performance section
        section_item = self._createSectionItem("Optimizations")
        if qemu_vm["cpu_throttling"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["CPU throttling:", "{}%".format(qemu_vm["cpu_throttling"])])
        else:
            QtWidgets.QTreeWidgetItem(section_item,
                                      ["CPU throttling:", "disabled"])
        QtWidgets.QTreeWidgetItem(
            section_item, ["Process priority:", qemu_vm["process_priority"]])

        # fill out the Additional options section
        section_item = self._createSectionItem("Additional options")
        if qemu_vm["options"]:
            QtWidgets.QTreeWidgetItem(section_item,
                                      ["Options:", qemu_vm["options"]])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["ACPI shutdown:", "{}".format(qemu_vm["acpi_shutdown"])])

        self.uiQemuVMInfoTreeWidget.expandAll()
        self.uiQemuVMInfoTreeWidget.resizeColumnToContents(0)
        self.uiQemuVMInfoTreeWidget.resizeColumnToContents(1)
示例#3
0
    def loadSettings(self, settings, node=None, group=False):
        """
        Loads the cloud settings.

        :param settings: the settings (dictionary)
        :param node: Node instance
        :param group: indicates the settings apply to a group
        """

        if not group:
            self.uiNameLineEdit.setText(settings["name"])
        else:
            self.uiNameLineEdit.setEnabled(False)

        if not node:
            # these are template settings

            # rename the label from "Name" to "Template name"
            self.uiNameLabel.setText("Template name:")

            # load the default name format
            self.uiDefaultNameFormatLineEdit.setText(settings["default_name_format"])

            # load the symbol
            self.uiSymbolLineEdit.setText(settings["symbol"])
            self.uiSymbolLineEdit.setToolTip('<img src="{}"/>'.format(settings["symbol"]))

            # load the category
            index = self.uiCategoryComboBox.findData(settings["category"])
            if index != -1:
                self.uiCategoryComboBox.setCurrentIndex(index)

            Controller.instance().getCompute("/network/interfaces", settings["server"],
                                             self._getInterfacesFromServerCallback,
                                             progressText="Retrieving network interfaces...")

        else:
            self.uiDefaultNameFormatLabel.hide()
            self.uiDefaultNameFormatLineEdit.hide()
            self.uiSymbolLabel.hide()
            self.uiSymbolLineEdit.hide()
            self.uiSymbolToolButton.hide()
            self.uiCategoryComboBox.hide()
            self.uiCategoryLabel.hide()
            self.uiCategoryComboBox.hide()
            self._node = node
            self._interfaces = self._node.interfaces()
            self._loadNetworkInterfaces(self._interfaces)

        # load the current ports
        self._ports = []
        self.uiEthernetListWidget.clear()
        self.uiTAPListWidget.clear()
        self.uiUDPTreeWidget.clear()

        for port in settings["ports_mapping"]:
            self._ports.append(port)
            if port["type"] == "ethernet":
                self.uiEthernetListWidget.addItem(port["name"])
                index = self.uiEthernetComboBox.findText(port["name"])
                if index != -1:
                    self.uiEthernetComboBox.removeItem(index)
            elif port["type"] == "tap":
                self.uiTAPListWidget.addItem(port["name"])
                index = self.uiTAPComboBox.findText(port["name"])
                if index != -1:
                    self.uiTAPComboBox.removeItem(index)
            elif port["type"] == "udp":
                item = QtWidgets.QTreeWidgetItem(self.uiUDPTreeWidget)
                item.setText(0, port["name"])
                item.setText(1, str(port["lport"]))
                item.setText(2, port["rhost"])
                item.setText(3, str(port["rport"]))
                self.uiUDPTreeWidget.addTopLevelItem(item)
                self.uiUDPTreeWidget.resizeColumnToContents(0)
                self.uiUDPTreeWidget.resizeColumnToContents(1)
                self.uiUDPTreeWidget.resizeColumnToContents(2)
                self.uiUDPTreeWidget.resizeColumnToContents(3)
示例#4
0
    def _refreshInfo(self, vmware_vm):

        self.uiVMwareVMInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["VM name:", vmware_vm["name"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Server:", vmware_vm["server"]])
        QtWidgets.QTreeWidgetItem(section_item, [
            "Remote console enabled:", "{}".format(
                vmware_vm["enable_remote_console"])
        ])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Headless mode enabled:", "{}".format(vmware_vm["headless"])])
        QtWidgets.QTreeWidgetItem(section_item, [
            "ACPI shutdown enabled:", "{}".format(vmware_vm["acpi_shutdown"])
        ])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Linked base VM:", "{}".format(vmware_vm["linked_base"])])

        # fill out the Network section
        section_item = self._createSectionItem("Network")
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Adapters:", str(vmware_vm["adapters"])])
        QtWidgets.QTreeWidgetItem(
            section_item, ["Name format:", vmware_vm["port_name_format"]])
        if vmware_vm["port_segment_size"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Segment size:",
                 str(vmware_vm["port_segment_size"])])
        if vmware_vm["first_port_name"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["First port name:", vmware_vm["first_port_name"]])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Use uBridge:", "{}".format(vmware_vm["use_ubridge"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Use any adapter:", "{}".format(vmware_vm["use_any_adapter"])])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Type:", vmware_vm["adapter_type"]])

        self.uiVMwareVMInfoTreeWidget.expandAll()
        self.uiVMwareVMInfoTreeWidget.resizeColumnToContents(0)
        self.uiVMwareVMInfoTreeWidget.resizeColumnToContents(1)
    def _refreshInfo(self, iou_device):
        """
        Refreshes the content of the tree widget.
        """

        self.uiIOUDeviceInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Template name:", iou_device["name"]])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Template ID:",
             iou_device.get("template_id", "none")])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Default name format:", iou_device["default_name_format"]])
        try:
            QtWidgets.QTreeWidgetItem(section_item, [
                "Server:",
                ComputeManager.instance().getCompute(
                    iou_device["compute_id"]).name()
            ])
        except KeyError:
            # Compute doesn't exists
            pass
        QtWidgets.QTreeWidgetItem(
            section_item, ["Console type:", iou_device["console_type"]])
        QtWidgets.QTreeWidgetItem(section_item, [
            "Auto start console:", "{}".format(
                iou_device["console_auto_start"])
        ])
        QtWidgets.QTreeWidgetItem(section_item, ["Image:", iou_device["path"]])
        if iou_device["startup_config"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Startup-config:", iou_device["startup_config"]])

        if iou_device["private_config"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Private-config:", iou_device["private_config"]])

        if iou_device["use_default_iou_values"]:
            QtWidgets.QTreeWidgetItem(section_item, ["RAM:", "default"])
            QtWidgets.QTreeWidgetItem(section_item, ["NVRAM:", "default"])
        else:
            QtWidgets.QTreeWidgetItem(
                section_item, ["RAM:", "{} MiB".format(iou_device["ram"])])
            QtWidgets.QTreeWidgetItem(
                section_item, ["NVRAM:", "{} KiB".format(iou_device["nvram"])])

        # fill out the Network section
        section_item = self._createSectionItem("Network")
        QtWidgets.QTreeWidgetItem(section_item, [
            "Ethernet adapters:", "{} ({} interfaces)".format(
                iou_device["ethernet_adapters"],
                iou_device["ethernet_adapters"] * 4)
        ])
        QtWidgets.QTreeWidgetItem(section_item, [
            "Serial adapters:", "{} ({} interfaces)".format(
                iou_device["serial_adapters"],
                iou_device["serial_adapters"] * 4)
        ])

        self.uiIOUDeviceInfoTreeWidget.expandAll()
        self.uiIOUDeviceInfoTreeWidget.resizeColumnToContents(0)
        self.uiIOUDeviceInfoTreeWidget.resizeColumnToContents(1)
        self.uiIOUDevicesTreeWidget.setMaximumWidth(
            self.uiIOUDevicesTreeWidget.sizeHintForColumn(0) + 10)
    def _refreshInfo(self, qemu_vm):
        """
        Refreshes the content of the tree widget.
        """

        self.uiQemuVMInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Template name:", qemu_vm["name"]])
        QtWidgets.QTreeWidgetItem(
            section_item, ["Template ID:",
                           qemu_vm.get("template_id", "none")])
        if qemu_vm["linked_clone"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Default name format:", qemu_vm["default_name_format"]])
        try:
            QtWidgets.QTreeWidgetItem(section_item, [
                "Server:",
                ComputeManager.instance().getCompute(
                    qemu_vm["compute_id"]).name()
            ])
        except KeyError:
            pass
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Console type:", qemu_vm["console_type"]])
        QtWidgets.QTreeWidgetItem(section_item, [
            "Auto start console:", "{}".format(qemu_vm["console_auto_start"])
        ])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["CPUs:", str(qemu_vm["cpus"])])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Memory:", "{} MB".format(qemu_vm["ram"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Linked base VM:", "{}".format(qemu_vm["linked_clone"])])

        if qemu_vm["qemu_path"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["QEMU binary:",
                 os.path.basename(qemu_vm["qemu_path"])])

        # fill out the Hard disks section
        if qemu_vm["hda_disk_image"] or qemu_vm["hdb_disk_image"] or qemu_vm[
                "hdc_disk_image"] or qemu_vm["hdd_disk_image"]:
            section_item = self._createSectionItem("Hard disks")
            if qemu_vm["hda_disk_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk image (hda):", qemu_vm["hda_disk_image"]])
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk interface (hda):", qemu_vm["hda_disk_interface"]])
            if qemu_vm["hdb_disk_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk image (hdb):", qemu_vm["hdb_disk_image"]])
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk interface (hdb):", qemu_vm["hdb_disk_interface"]])
            if qemu_vm["hdc_disk_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk image (hdc):", qemu_vm["hdc_disk_image"]])
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk interface (hdc):", qemu_vm["hdc_disk_interface"]])
            if qemu_vm["hdd_disk_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk image (hdd):", qemu_vm["hdd_disk_image"]])
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Disk interface (hdd):", qemu_vm["hdd_disk_interface"]])
            if qemu_vm["cdrom_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item, ["CD/DVD image:", qemu_vm["cdrom_image"]])
            if qemu_vm["bios_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item, ["Bios image:", qemu_vm["bios_image"]])

        # fill out the Network section
        section_item = self._createSectionItem("Network")
        QtWidgets.QTreeWidgetItem(
            section_item, ["Adapters:", str(qemu_vm["adapters"])])
        QtWidgets.QTreeWidgetItem(
            section_item, ["Name format:", qemu_vm["port_name_format"]])
        if qemu_vm["port_segment_size"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Segment size:",
                 str(qemu_vm["port_segment_size"])])
        if qemu_vm["first_port_name"]:
            QtWidgets.QTreeWidgetItem(
                section_item, ["First port name:", qemu_vm["first_port_name"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Type:", qemu_vm["adapter_type"]])
        if qemu_vm["mac_address"]:
            QtWidgets.QTreeWidgetItem(
                section_item, ["Base MAC address:", qemu_vm["mac_address"]])

        # fill out the Linux boot section
        if qemu_vm["initrd"] or qemu_vm["kernel_image"] or qemu_vm[
                "kernel_command_line"]:
            section_item = self._createSectionItem("Linux boot")
            if qemu_vm["initrd"]:
                QtWidgets.QTreeWidgetItem(
                    section_item, ["Initial RAM disk:", qemu_vm["initrd"]])
            if qemu_vm["kernel_image"]:
                QtWidgets.QTreeWidgetItem(
                    section_item, ["Kernel image:", qemu_vm["kernel_image"]])
            if qemu_vm["kernel_command_line"]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Kernel command line:", qemu_vm["kernel_command_line"]])

        # performance section
        section_item = self._createSectionItem("Optimizations")
        if qemu_vm["cpu_throttling"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["CPU throttling:", "{}%".format(qemu_vm["cpu_throttling"])])
        else:
            QtWidgets.QTreeWidgetItem(section_item,
                                      ["CPU throttling:", "disabled"])
        QtWidgets.QTreeWidgetItem(
            section_item, ["Process priority:", qemu_vm["process_priority"]])

        # fill out the Additional options section
        section_item = self._createSectionItem("Additional options")
        if qemu_vm["options"]:
            QtWidgets.QTreeWidgetItem(section_item,
                                      ["Options:", qemu_vm["options"]])
        QtWidgets.QTreeWidgetItem(
            section_item, ["On close:", "{}".format(qemu_vm["on_close"])])

        self.uiQemuVMInfoTreeWidget.expandAll()
        self.uiQemuVMInfoTreeWidget.resizeColumnToContents(0)
        self.uiQemuVMInfoTreeWidget.resizeColumnToContents(1)
        self.uiQemuVMsTreeWidget.setMaximumWidth(
            self.uiQemuVMsTreeWidget.sizeHintForColumn(0) + 10)
示例#7
0
    def _refreshInfo(self, ios_router):

        self.uiIOSRouterInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Template name:", ios_router["name"]])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Default name format:", ios_router["default_name_format"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Server:", ios_router["server"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Platform:", ios_router["platform"]])
        if ios_router["chassis"]:
            QtWidgets.QTreeWidgetItem(section_item,
                                      ["Chassis:", ios_router["chassis"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Image:", ios_router["image"]])
        if ios_router["idlepc"]:
            QtWidgets.QTreeWidgetItem(section_item,
                                      ["Idle-PC:", ios_router["idlepc"]])
        if ios_router["startup_config"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Startup-config:", ios_router["startup_config"]])
        if ios_router["private_config"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Private-config:", ios_router["private_config"]])
        if ios_router["platform"] == "c7200":
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Midplane:", ios_router.get("midplane", "vxr")])
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["NPE:", ios_router.get("npe", "npe-400")])

        # fill out the Memories and disk section
        section_item = self._createSectionItem("Memories and disks")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["RAM:", "{} MiB".format(ios_router["ram"])])
        QtWidgets.QTreeWidgetItem(
            section_item, ["NVRAM:", "{} KiB".format(ios_router["nvram"])])
        if "iomem" in ios_router and ios_router["iomem"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["I/O memory:", "{}%".format(ios_router["iomem"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["PCMCIA disk0:", "{} MiB".format(ios_router["disk0"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["PCMCIA disk1:", "{} MiB".format(ios_router["disk1"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Auto delete:", "{}".format(ios_router["auto_delete_disks"])])

        # fill out the Adapters section
        section_item = self._createSectionItem("Adapters")
        for slot_id in range(0, 7):
            slot = "slot{}".format(slot_id)
            if slot in ios_router and ios_router[slot]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Slot {}:".format(slot_id), ios_router[slot]])
        if section_item.childCount() == 0:
            self.uiIOSRouterInfoTreeWidget.takeTopLevelItem(
                self.uiIOSRouterInfoTreeWidget.indexOfTopLevelItem(
                    section_item))

        # fill out the WICs section
        section_item = self._createSectionItem("WICs")
        for wic_id in range(0, 3):
            wic = "wic{}".format(wic_id)
            if wic in ios_router and ios_router[wic]:
                QtWidgets.QTreeWidgetItem(
                    section_item, ["WIC {}:".format(wic_id), ios_router[wic]])
        if section_item.childCount() == 0:
            self.uiIOSRouterInfoTreeWidget.takeTopLevelItem(
                self.uiIOSRouterInfoTreeWidget.indexOfTopLevelItem(
                    section_item))

        self.uiIOSRouterInfoTreeWidget.expandAll()
        self.uiIOSRouterInfoTreeWidget.resizeColumnToContents(0)
        self.uiIOSRouterInfoTreeWidget.resizeColumnToContents(1)
    def _refreshInfo(self, ios_router):
        """
        Refreshes the content of the tree widget.
        """

        self.uiIOSRouterInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Template name:", ios_router["name"]])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Template ID:",
             ios_router.get("template_id", "none")])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Default name format:", ios_router["default_name_format"]])
        try:
            QtWidgets.QTreeWidgetItem(section_item, [
                "Server:",
                ComputeManager.instance().getCompute(
                    ios_router["compute_id"]).name()
            ])
        except KeyError:
            pass
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Platform:", ios_router["platform"]])
        if ios_router.get("chassis"):
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Chassis:", ios_router.get("chassis")])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Image:", ios_router["image"]])
        QtWidgets.QTreeWidgetItem(
            section_item, ["Console type:", ios_router["console_type"]])
        QtWidgets.QTreeWidgetItem(section_item, [
            "Auto start console:", "{}".format(
                ios_router["console_auto_start"])
        ])
        if ios_router["idlepc"]:
            QtWidgets.QTreeWidgetItem(section_item,
                                      ["Idle-PC:", ios_router["idlepc"]])
        if ios_router["startup_config"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Startup-config:", ios_router["startup_config"]])
        if ios_router["private_config"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Private-config:", ios_router["private_config"]])
        if ios_router["platform"] == "c7200":
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Midplane:", ios_router.get("midplane", "vxr")])
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["NPE:", ios_router.get("npe", "npe-400")])

        # fill out the Memories and disk section
        section_item = self._createSectionItem("Memories and disks")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["RAM:", "{} MiB".format(ios_router["ram"])])
        QtWidgets.QTreeWidgetItem(
            section_item, ["NVRAM:", "{} KiB".format(ios_router["nvram"])])
        if "iomem" in ios_router and ios_router["iomem"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["I/O memory:", "{}%".format(ios_router["iomem"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["PCMCIA disk0:", "{} MiB".format(ios_router["disk0"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["PCMCIA disk1:", "{} MiB".format(ios_router["disk1"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Auto delete:", "{}".format(ios_router["auto_delete_disks"])])

        # fill out the Adapters section
        section_item = self._createSectionItem("Adapters")
        for slot_id in range(0, 7):
            slot = "slot{}".format(slot_id)
            if slot in ios_router and ios_router[slot]:
                QtWidgets.QTreeWidgetItem(
                    section_item,
                    ["Slot {}:".format(slot_id), ios_router[slot]])
        if section_item.childCount() == 0:
            self.uiIOSRouterInfoTreeWidget.takeTopLevelItem(
                self.uiIOSRouterInfoTreeWidget.indexOfTopLevelItem(
                    section_item))

        # fill out the WICs section
        section_item = self._createSectionItem("WICs")
        for wic_id in range(0, 3):
            wic = "wic{}".format(wic_id)
            if wic in ios_router and ios_router[wic]:
                QtWidgets.QTreeWidgetItem(
                    section_item, ["WIC {}:".format(wic_id), ios_router[wic]])
        if section_item.childCount() == 0:
            self.uiIOSRouterInfoTreeWidget.takeTopLevelItem(
                self.uiIOSRouterInfoTreeWidget.indexOfTopLevelItem(
                    section_item))

        self.uiIOSRouterInfoTreeWidget.expandAll()
        self.uiIOSRouterInfoTreeWidget.resizeColumnToContents(0)
        self.uiIOSRouterInfoTreeWidget.resizeColumnToContents(1)
        self.uiIOSRoutersTreeWidget.setMaximumWidth(
            self.uiIOSRoutersTreeWidget.sizeHintForColumn(0) + 10)
    def _refreshInfo(self, vmware_vm):
        """
        Refreshes the content of the tree widget.
        """

        self.uiVMwareVMInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item, ["Template name:", vmware_vm["name"]])
        QtWidgets.QTreeWidgetItem(section_item, ["Template ID:", vmware_vm.get("template_id", "none")])
        if vmware_vm["linked_clone"]:
            QtWidgets.QTreeWidgetItem(section_item, ["Default name format:", vmware_vm["default_name_format"]])
        try:
            QtWidgets.QTreeWidgetItem(section_item, ["Server:", ComputeManager.instance().getCompute(vmware_vm["compute_id"]).name()])
        except KeyError:
            pass
        QtWidgets.QTreeWidgetItem(section_item, ["Headless mode enabled:", "{}".format(vmware_vm["headless"])])
        QtWidgets.QTreeWidgetItem(section_item, ["On close:", "{}".format(vmware_vm["on_close"])])
        QtWidgets.QTreeWidgetItem(section_item, ["Linked base VM:", "{}".format(vmware_vm["linked_clone"])])
        QtWidgets.QTreeWidgetItem(section_item, ["Console type:", vmware_vm["console_type"]])
        QtWidgets.QTreeWidgetItem(section_item, ["Auto start console:", "{}".format(vmware_vm["console_auto_start"])])

        # fill out the Network section
        section_item = self._createSectionItem("Network")
        QtWidgets.QTreeWidgetItem(section_item, ["Adapters:", str(vmware_vm["adapters"])])
        QtWidgets.QTreeWidgetItem(section_item, ["Name format:", vmware_vm["port_name_format"]])
        if vmware_vm["port_segment_size"]:
            QtWidgets.QTreeWidgetItem(section_item, ["Segment size:", str(vmware_vm["port_segment_size"])])
        if vmware_vm["first_port_name"]:
            QtWidgets.QTreeWidgetItem(section_item, ["First port name:", vmware_vm["first_port_name"]])
        QtWidgets.QTreeWidgetItem(section_item, ["Use any adapter:", "{}".format(vmware_vm["use_any_adapter"])])
        QtWidgets.QTreeWidgetItem(section_item, ["Type:", vmware_vm["adapter_type"]])

        self.uiVMwareVMInfoTreeWidget.expandAll()
        self.uiVMwareVMInfoTreeWidget.resizeColumnToContents(0)
        self.uiVMwareVMInfoTreeWidget.resizeColumnToContents(1)
        self.uiVMwareVMsTreeWidget.setMaximumWidth(self.uiVMwareVMsTreeWidget.sizeHintForColumn(0) + 10)
示例#10
0
    def _get_appliances_from_server(self, appliance_filter=None):
        """
        Gets the appliances from the server and display them.
        """

        self.uiAppliancesTreeWidget.clear()
        parent_routers = QtWidgets.QTreeWidgetItem(self.uiAppliancesTreeWidget)
        parent_routers.setText(0, "Routers")
        parent_routers.setFlags(parent_routers.flags() & ~QtCore.Qt.ItemIsSelectable)
        parent_switches = QtWidgets.QTreeWidgetItem(self.uiAppliancesTreeWidget)
        parent_switches.setText(0, "Switches")
        parent_switches.setFlags(parent_switches.flags() & ~QtCore.Qt.ItemIsSelectable)
        parent_guests = QtWidgets.QTreeWidgetItem(self.uiAppliancesTreeWidget)
        parent_guests.setText(0, "Guests")
        parent_guests.setFlags(parent_guests.flags() & ~QtCore.Qt.ItemIsSelectable)
        parent_firewalls = QtWidgets.QTreeWidgetItem(self.uiAppliancesTreeWidget)
        parent_firewalls.setText(0, "Firewalls")
        parent_firewalls.setFlags(parent_firewalls.flags() & ~QtCore.Qt.ItemIsSelectable)
        self.uiAppliancesTreeWidget.expandAll()

        for appliance in ApplianceManager.instance().appliances():
            if appliance_filter is None:
                appliance_filter = self.uiFilterLineEdit.text().strip()
            if appliance_filter and appliance_filter.lower() not in appliance["name"].lower():
                continue

            if appliance["category"] == "router":
                item = QtWidgets.QTreeWidgetItem(parent_routers)
            elif appliance["category"].endswith("switch"):
                item = QtWidgets.QTreeWidgetItem(parent_switches)
            elif appliance["category"] == "firewall":
                item = QtWidgets.QTreeWidgetItem(parent_firewalls)
            elif appliance["category"] == "guest":
                item = QtWidgets.QTreeWidgetItem(parent_guests)
            if appliance["builtin"]:
                appliance_name = appliance["name"]
            else:
                appliance_name = "{} (custom)".format(appliance["name"])

            item.setText(0, appliance_name)
            #item.setText(1, appliance["category"].capitalize().replace("_", " "))

            if "qemu" in appliance:
                item.setText(1, "Qemu")
            elif "iou" in appliance:
                item.setText(1, "IOU")
            elif "dynamips" in appliance:
                item.setText(1, "Dynamips")
            elif "docker" in appliance:
                item.setText(1, "Docker")
            else:
                item.setText(1, "N/A")

            item.setText(2, appliance["vendor_name"])
            item.setData(0, QtCore.Qt.UserRole, appliance)

            #item.setSizeHint(0, QtCore.QSize(32, 32))
            item.setToolTip(0, self._get_tooltip_text(appliance))
            Controller.instance().getSymbolIcon(appliance.get("symbol"), qpartial(self._setItemIcon, item),
                                                fallback=":/symbols/" + appliance["category"] + ".svg")

        self.uiAppliancesTreeWidget.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.uiAppliancesTreeWidget.resizeColumnToContents(0)
        if not appliance_filter:
            self.uiAppliancesTreeWidget.collapseAll()
示例#11
0
    def _refreshInfo(self, vbox_vm):

        self.uiVirtualBoxVMInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Template name:", vbox_vm["name"]])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["VirtualBox name:", vbox_vm["vmname"]])
        if vbox_vm["linked_clone"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Default name format:", vbox_vm["default_name_format"]])
        QtWidgets.QTreeWidgetItem(section_item, ["RAM:", str(vbox_vm["ram"])])
        try:
            QtWidgets.QTreeWidgetItem(section_item, [
                "Server:",
                ComputeManager.instance().getCompute(vbox_vm["server"]).name()
            ])
        except KeyError:
            pass
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Headless mode enabled:", "{}".format(vbox_vm["headless"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["ACPI shutdown enabled:", "{}".format(vbox_vm["acpi_shutdown"])])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Linked base VM:", "{}".format(vbox_vm["linked_clone"])])

        # fill out the Network section
        section_item = self._createSectionItem("Network")
        QtWidgets.QTreeWidgetItem(
            section_item, ["Adapters:", str(vbox_vm["adapters"])])
        QtWidgets.QTreeWidgetItem(
            section_item, ["Name format:", vbox_vm["port_name_format"]])
        if vbox_vm["port_segment_size"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Segment size:",
                 str(vbox_vm["port_segment_size"])])
        if vbox_vm["first_port_name"]:
            QtWidgets.QTreeWidgetItem(
                section_item, ["First port name:", vbox_vm["first_port_name"]])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Use any adapter:", "{}".format(vbox_vm["use_any_adapter"])])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Type:", vbox_vm["adapter_type"]])

        self.uiVirtualBoxVMInfoTreeWidget.expandAll()
        self.uiVirtualBoxVMInfoTreeWidget.resizeColumnToContents(0)
        self.uiVirtualBoxVMInfoTreeWidget.resizeColumnToContents(1)
        self.uiVirtualBoxVMsTreeWidget.setMaximumWidth(
            self.uiVirtualBoxVMsTreeWidget.sizeHintForColumn(0) + 10)
示例#12
0
    def _refreshInfo(self, docker_container):
        """
        Refreshes the content of the tree widget.
        """

        self.uiDockerVMInfoTreeWidget.clear()

        # fill out the General section
        section_item = self._createSectionItem("General")
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Template name:", docker_container["name"]])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Template ID:",
             docker_container.get("template_id", "none")])
        QtWidgets.QTreeWidgetItem(section_item,
                                  ["Image name:", docker_container["image"]])
        try:
            QtWidgets.QTreeWidgetItem(section_item, [
                "Server:",
                ComputeManager.instance().getCompute(
                    docker_container["compute_id"]).name()
            ])
        except KeyError:
            pass
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Console type:",
             str(docker_container["console_type"])])
        QtWidgets.QTreeWidgetItem(section_item, [
            "Auto start console:", "{}".format(
                docker_container["console_auto_start"])
        ])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Default name format:", docker_container["default_name_format"]])
        QtWidgets.QTreeWidgetItem(
            section_item,
            ["Adapters:", str(docker_container["adapters"])])
        if docker_container["start_command"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Start command:",
                 str(docker_container["start_command"])])
        if docker_container["environment"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Environment:",
                 str(docker_container["environment"])])

        if docker_container["extra_hosts"]:
            QtWidgets.QTreeWidgetItem(
                section_item,
                ["Extra hosts:",
                 str(docker_container["extra_hosts"])])

        if docker_container["extra_volumes"]:
            QtWidgets.QTreeWidgetItem(section_item, [
                "Extra volumes:", "\n".join(docker_container["extra_volumes"])
            ])

        self.uiDockerVMInfoTreeWidget.expandAll()
        self.uiDockerVMInfoTreeWidget.resizeColumnToContents(0)
        self.uiDockerVMInfoTreeWidget.resizeColumnToContents(1)
        self.uiDockerVMsTreeWidget.setMaximumWidth(
            self.uiDockerVMsTreeWidget.sizeHintForColumn(0) + 10)