Ejemplo n.º 1
0
    def test_structure(self):
        self.assertIsNotNone(self.job)
        self.job.validate()

        description_ref = self.pipeline_reference('hi6220-recovery.yaml', job=self.job)
        self.assertEqual(description_ref, self.job.pipeline.describe(False))

        requires_board_id = not allow_fs_label(self.job.device)
        self.assertFalse(requires_board_id)
        if 'device_info' in self.job.device:
            for usb_device in self.job.device['device_info']:
                if usb_device.get('board_id', '') in ['', '0000000000'] \
                        and requires_board_id:
                    self.fail("[LXC_CREATE] board_id unset")
Ejemplo n.º 2
0
    def test_structure_uboot(self):
        self.assertIsNotNone(self.uboot_job)
        self.uboot_job.validate()

        description_ref = self.pipeline_reference("x15-recovery.yaml",
                                                  job=self.uboot_job)
        self.assertEqual(description_ref,
                         self.uboot_job.pipeline.describe(False))

        requires_board_id = not allow_fs_label(self.uboot_job.device)
        self.assertFalse(requires_board_id)
        if "device_info" in self.uboot_job.device:
            for usb_device in self.uboot_job.device["device_info"]:
                if (usb_device.get("board_id", "") in ["", "1900d00f3b1400a2"]
                        and requires_board_id):
                    self.fail("[LXC_CREATE] board_id unset")
Ejemplo n.º 3
0
    def validate(self):
        super().validate()
        # If there are no USB devices under static_info then this action should be idempotent.

        # If we are allowed to use a filesystem label, we don't require a board_id
        # By default, we do require a board_id (serial)
        requires_board_id = not allow_fs_label(self.job.device)
        try:
            for usb_device in self.get_usb_devices():
                if usb_device.get('board_id', '') in ['', '0000000000'] and \
                        requires_board_id:
                    self.errors = "[LXC_STATIC] board_id unset"
                if usb_device.get('usb_vendor_id', '') == '0000':
                    self.errors = '[LXC_STATIC] usb_vendor_id unset'
                if usb_device.get('usb_product_id', '') == '0000':
                    self.errors = '[LXC_STATIC] usb_product_id unset'
        except TypeError:
            self.errors = "Invalid parameters for %s" % self.name
Ejemplo n.º 4
0
    def validate(self):
        super(LxcAddStaticDevices, self).validate()
        # If there are no USB devices under static_info then this action should be idempotent.

        # If we are allowed to use a filesystem label, we don't require a board_id
        # By default, we do require a board_id (serial)
        requires_board_id = not allow_fs_label(self.job.device)
        try:
            for usb_device in self.get_usb_devices():
                if usb_device.get('board_id', '') in ['', '0000000000'] and \
                        requires_board_id:
                    self.errors = "board_id unset"
                if usb_device.get('usb_vendor_id', '') == '0000':
                    self.errors = 'usb_vendor_id unset'
                if usb_device.get('usb_product_id', '') == '0000':
                    self.errors = 'usb_product_id unset'
        except TypeError:
            self.errors = "Invalid parameters for %s" % self.name
Ejemplo n.º 5
0
 def validate(self):
     super().validate()
     which('udevadm')
     if 'device_info' in self.job.device \
        and not isinstance(self.job.device.get('device_info'), list):
         self.errors = "device_info unset"
     # If we are allowed to use a filesystem label, we don't require a board_id
     # By default, we do require a board_id (serial)
     requires_board_id = not allow_fs_label(self.job.device)
     try:
         if 'device_info' in self.job.device:
             for usb_device in self.job.device['device_info']:
                 if usb_device.get('board_id', '') in ['', '0000000000'] \
                         and requires_board_id:
                     self.errors = "[LXC_CREATE] board_id unset"
                 if usb_device.get('usb_vendor_id', '') == '0000':
                     self.errors = '[LXC_CREATE] usb_vendor_id unset'
                 if usb_device.get('usb_product_id', '') == '0000':
                     self.errors = '[LXC_CREATE] usb_product_id unset'
     except TypeError:
         self.errors = "Invalid parameters for %s" % self.name
Ejemplo n.º 6
0
Archivo: lxc.py Proyecto: jubing13/lava
 def validate(self):
     super().validate()
     which("udevadm")
     if "device_info" in self.job.device and not isinstance(
             self.job.device.get("device_info"), list):
         self.errors = "device_info unset"
     # If we are allowed to use a filesystem label, we don't require a board_id
     # By default, we do require a board_id (serial)
     requires_board_id = not allow_fs_label(self.job.device)
     try:
         if "device_info" in self.job.device:
             for usb_device in self.job.device["device_info"]:
                 if (usb_device.get("board_id", "") in ["", "0000000000"]
                         and requires_board_id):
                     self.errors = "[LXC_CREATE] board_id unset"
                 if usb_device.get("usb_vendor_id", "") == "0000":
                     self.errors = "[LXC_CREATE] usb_vendor_id unset"
                 if usb_device.get("usb_product_id", "") == "0000":
                     self.errors = "[LXC_CREATE] usb_product_id unset"
     except TypeError:
         self.errors = "Invalid parameters for %s" % self.name
Ejemplo n.º 7
0
 def validate(self):
     super(LxcCreateUdevRuleAction, self).validate()
     which('udevadm')
     if 'device_info' in self.job.device \
        and not isinstance(self.job.device.get('device_info'), list):
         self.errors = "device_info unset"
     # If we are allowed to use a filesystem label, we don't require a board_id
     # By default, we do require a board_id (serial)
     requires_board_id = not allow_fs_label(self.job.device)
     try:
         if 'device_info' in self.job.device:
             for usb_device in self.job.device['device_info']:
                 if usb_device.get('board_id', '') in ['', '0000000000'] \
                         and requires_board_id:
                     self.errors = "board_id unset"
                 if usb_device.get('usb_vendor_id', '') == '0000':
                     self.errors = 'usb_vendor_id unset'
                 if usb_device.get('usb_product_id', '') == '0000':
                     self.errors = 'usb_product_id unset'
     except TypeError:
         self.errors = "Invalid parameters for %s" % self.name