Ejemplo n.º 1
0
    def __init__(self, parent=None, parent_draw=None, color_ports=True):
        self.parent_draw = parent_draw
        self.color_ports = color_ports
        GenericUcsDrawEquipment.__init__(self, parent=parent)
        if not self.picture:
            return

        if not self.parent_draw:
            self.background = self._create_background(self.canvas_width, self.canvas_height, self.canvas_color)
            self.draw = self._create_draw()
        else:
            self.background = self.parent_draw.background
            self.draw = self.parent_draw.draw

        self.paste_layer(self.picture, self.picture_offset)

        self.legend_items = []
        self.ports = []
        if color_ports:
            self.draw_ports()
        self.expansion_modules = self.get_expansion_modules()
        self.fill_blanks()

        self._file_name = None
        if not self.parent_draw:
            self._file_name = self._device_target + "_fi_" + self._parent.id + "_rear"
            if not self.color_ports:
                self._file_name = self._device_target + "_fi_" + self._parent.id + "_rear_clear"

        if color_ports:
            self.clear_version = UcsSystemDrawFiRear(parent=parent, parent_draw=parent_draw, color_ports=False)
Ejemplo n.º 2
0
    def __init__(self, parent=None, parent_draw=None):
        self.parent_draw = parent_draw
        GenericUcsDrawEquipment.__init__(self,
                                         parent=parent,
                                         orientation="front")
        if not self.picture:
            return

        self.disk_slots_used = []

        if not self.parent_draw:
            self.background = self._create_background(self.canvas_width,
                                                      self.canvas_height,
                                                      self.canvas_color)
            self.draw = self._create_draw()

        self.parent_draw.paste_layer(self.picture, self.picture_offset)

        self.storage_controllers = self._get_storage_controllers()

        self.nvme_disks = []
        if hasattr(self._parent,
                   "nvme_drives") and "disks_slots" in self.json_file:
            self.nvme_disks = self._get_nvme_disks()
            for disk in self.nvme_disks:
                self.parent_draw.paste_layer(disk.picture, disk.picture_offset)

        self.fill_blanks()

        # We drop the picture in order to save on memory
        self.picture = None
Ejemplo n.º 3
0
    def __init__(self, parent=None, parent_draw=None):
        self.picture = None
        self.parent_draw = parent_draw
        self.width = None
        self.orientation = None

        if not parent.sku:
            parent_draw.logger(
                level="error",
                message="No SKU found, this adaptor will not be created")
            return None

        GenericUcsDrawEquipment.__init__(self, parent=parent)
        if not self.picture:
            return

        self.ports = []

        self.parent_draw.paste_layer(self.picture, self.picture_offset)
        if "UcsImc" not in parent.__class__.__name__:
            if self.parent_draw.color_ports:
                if self._parent.sku not in [
                        "UCSC-PCIE-C25Q-04"
                ]:  #TODO Workaround until fixed on inventory as the port of the PCIe card are not correct and appears as active even when should not
                    self.draw_ports()
                elif "Rack" in self._parent._parent.__class__.__name__:  #TODO Workaround until above problem fixed
                    self.draw_ports()
                # self.draw_ports()

        # We drop the picture in order to save on memory
        self.picture = None
Ejemplo n.º 4
0
    def __init__(self, parent=None, color_ports=True):
        GenericUcsDrawEquipment.__init__(self, parent=parent)
        self.color_ports = color_ports
        if not self.picture:
            return

        self.background = self._create_background(self.canvas_width, self.canvas_height, self.canvas_color)
        self.draw = self._create_draw()

        self.paste_layer(self.picture, self.picture_offset)

        self.fabric_port_list = []
        self.host_port_list = []

        if color_ports:
            self.draw_ports()

        self._file_name = self._device_target + "_fex_" + self._parent.id + "_rear"
        if not self.color_ports:
            self._file_name = self._device_target + "_fex_" + self._parent.id + "_rear_clear"

        if color_ports:
            self.clear_version = UcsSystemDrawFexRear(parent=parent, color_ports=False)

        # We drop the picture in order to save on memory
        self.picture = None
Ejemplo n.º 5
0
    def __init__(self, parent=None, parent_draw=None):
        self.parent_draw = parent_draw
        GenericUcsDrawEquipment.__init__(self, parent=parent)
        if not self.picture:
            return

        self.ports = []
        self.parent_draw.paste_layer(self.picture, self.picture_offset)

        if self.parent_draw.color_ports:
            self.draw_ports()
Ejemplo n.º 6
0
    def __init__(self, parent=None, parent_draw=None):
        self.parent_draw = parent_draw
        self.module_id = int(parent.id) // 2 + int(parent.id) % 2
        GenericUcsDrawEquipment.__init__(self, parent=parent)
        if not self.picture:
            return
        if not self.parent_draw:
            self.background = self._create_background(self.canvas_width,
                                                      self.canvas_height,
                                                      self.canvas_color)
            self.draw = self._create_draw()

        self.parent_draw.paste_layer(self.picture, self.picture_offset)
Ejemplo n.º 7
0
    def __init__(self, parent=None):
        GenericUcsDrawEquipment.__init__(self, parent=parent, orientation="front")
        if not self.picture:
            return

        self.background = self._create_background(self.canvas_width, self.canvas_height, self.canvas_color)
        self.draw = self._create_draw()

        self.paste_layer(self.picture, self.picture_offset)

        if "psus_slots" in self.json_file:
            self.power_supplies = self.get_power_supplies()

        self._file_name = self._device_target + "_fex_" + self._parent.id + "_front"
Ejemplo n.º 8
0
    def __init__(self, parent=None, parent_draw=None):
        self.parent_draw = parent_draw
        GenericUcsDrawEquipment.__init__(self, parent=parent)
        if not self.picture:
            return

        self.ports = []
        self.parent_draw.paste_layer(self.picture, self.picture_offset)

        if self.parent_draw.color_ports:
            self.draw_ports()

        # We drop the picture in order to save on memory
        self.picture = None
Ejemplo n.º 9
0
    def __init__(self, parent=None, parent_draw=None):
        self.parent_draw = parent_draw
        self._parent = parent

        self.id = int(self._parent.id)

        if hasattr(self._parent, 'sku'):
            self.sku = self._parent.sku
        else:
            self.sku = None

        if self._parent.connection_protocol == "NVME":
            self.device_type = self._parent.connection_protocol + " " + self._parent.drive_type
        elif self._parent.rotational_speed_marketing:
            self.device_type = str(self._parent.rotational_speed_marketing
                                   ) + " " + self._parent.connection_protocol
        else:
            self.device_type = self._parent.drive_type + " " + self._parent.connection_protocol
        self.disk_size = self._parent.size_marketing

        self.disk_info = self._get_disk_info()
        if self.disk_info is not None:
            self.size = self.disk_info["size"]
            self.orientation = self.disk_info["orientation"]
            self.format = self.disk_info["format"]

            # Special case for M5 NVMe disks
            if self._parent.connection_protocol == "NVME" and self.format == "sff_m5":
                self.format = self.format + "_nvme"

            GenericUcsDrawEquipment.__init__(self, parent=parent)

            self.background = self._create_background(self.canvas_width,
                                                      self.canvas_height,
                                                      self.canvas_color)
            self.draw = self._create_draw()

            self.paste_layer(self.picture, (0, 0))

            self.draw_disk_information()

        else:
            self.size = None
            self.orientation = None
            self.format = None
            self.background = None
            self.draw = None
            self.picture = None
            self.picture_offset = None
Ejemplo n.º 10
0
    def __init__(self, parent=None, parent_draw=None):
        self.parent_draw = parent_draw
        GenericUcsDrawEquipment.__init__(self, parent=parent)
        if not self.picture:
            return

        if not self.parent_draw:
            self.background = self._create_background(self.canvas_width, self.canvas_height, self.canvas_color)
            self.draw = self._create_draw()

        self.parent_draw.paste_layer(self.picture, self.picture_offset)

        # self.save_image(self._device_target + "__" + self._parent.id)

        # We drop the picture in order to save on memory
        self.picture = None
Ejemplo n.º 11
0
    def __init__(self, parent=None, parent_draw=None):
        self.picture = None
        self.parent_draw = parent_draw
        self.width = None
        self.orientation = None

        if not parent.sku:
            parent_draw.logger(
                level="error",
                message="No SKU found, this adaptor will not be created")
            return None

        GenericUcsDrawEquipment.__init__(self, parent=parent)
        if not self.picture:
            return

        self.ports = []

        self.parent_draw.paste_layer(self.picture, self.picture_offset)
        if "UcsImc" not in parent.__class__.__name__:
            if self.parent_draw.color_ports:
                self.draw_ports()