common: Only attempt to mount the ISO image if it isn't already mounted
This allows for one .install script to call another withouth triggering
  mount: <iso> is already mounted
detect: Adding S.M.A.R.T reporting

This patch is pretty long and implement the SMART reporting into the
hw.py file.

It supports the following configuration:
- raw ata|scsi device
- ata|scsi devices behing an {HP|DELL} raid controller

A raw device is directly reachable by sending IOCTL to the block device.
It reports many information about it's health.

Raid controllers (cciss or megaraid) are hidding their attached disks
presented via a virtual|logical disk drive (sdx) to the OS.

To reach the physical disks of a logical disk drive, we have to send
specific IOCTL to tell the raid controller we are interested in the
physical disks attached. We have so to specify which disk to test. Those
disks can be presented like ata|scsi disks meaning the logical drive can
be accessed throught the scsi API while the physical disk provides an
ata interface. The current code handle this case.

A typical output of a CCISS (HP) controller with several disks ata &
scsi behing a scsi logical drive looks like the following :

Note that behind the raid controller,
sda{cciss,0} is seen as a scsi disk drive while sda{cciss,2} is seen as an ata drive.

Note also that sdc is a directly attached ata disk.

Note this kind of matching can help detecting disk in a bad state like :
 ('disk', 'sdc', 'SMART/Raw_Read_Error_Rate(1)/when_failed', 'In_the_past')

[('disk', 'sda', 'SMART/vendor', 'HP'),
 ('disk', 'sda', 'SMART/product', 'LOGICAL VOLUME'),
 ('disk', 'sda', 'SMART/serial_number', 'Z0014380224ZZ480'),
 ('disk', 'sda{cciss,0}', 'SMART/vendor', 'HP'),
 ('disk', 'sda{cciss,0}', 'SMART/product', 'EH0072FARWC'),
 ('disk', 'sda{cciss,0}', 'SMART/serial_number', 'ZKVZ5VEZ'),
 ('disk', 'sda{cciss,0}', 'SMART/health', 'OK'),
 ('disk', 'sda{cciss,0}', 'SMART/current_drive_temperature', '29'),
 ('disk', 'sda{cciss,0}', 'SMART/current_drive_temperature_unit', 'C'),
 ('disk', 'sda{cciss,0}', 'SMART/drive_trip_temperature', '70'),
 ('disk', 'sda{cciss,0}', 'SMART/drive_trip_temperature_unit', 'C'),
 ('disk', 'sda{cciss,0}', 'SMART/manufacture_date', 'week 43 of year 2010'),
 ('disk', 'sda{cciss,0}', 'SMART/specified_start_stop_cycle_count_over_lifetime', '50000'),
 ('disk', 'sda{cciss,0}', 'SMART/start_stop_cycle_count', '32'),
 ('disk', 'sda{cciss,0}', 'SMART/blocks_sent', '1883579281833984'),
 ('disk', 'sda{cciss,0}', 'SMART/read_total_corrected_errors', '74184'),
 ('disk', 'sda{cciss,0}', 'SMART/read_gigabytes_processed', '357153.467'),
 ('disk', 'sda{cciss,0}', 'SMART/read_total_uncorrected_errors', '0'),
 ('disk', 'sda{cciss,0}', 'SMART/write_total_corrected_errors', '249695'),
 ('disk', 'sda{cciss,0}', 'SMART/write_gigabytes_processed', '3004.298'),
 ('disk', 'sda{cciss,0}', 'SMART/write_total_uncorrected_errors', '0'),
 ('disk', 'sda{cciss,0}', 'SMART/non_medium_errors_count', '184'),
 ('disk', 'sda{cciss,1}', 'SMART/vendor', 'HP'),
 ('disk', 'sda{cciss,1}', 'SMART/product', 'EH0072FARWC'),
 ('disk', 'sda{cciss,1}', 'SMART/serial_number', 'ZKVVZZ4E'),
 ('disk', 'sda{cciss,1}', 'SMART/health', 'OK'),
 ('disk', 'sda{cciss,1}', 'SMART/current_drive_temperature', '26'),
 ('disk', 'sda{cciss,1}', 'SMART/current_drive_temperature_unit', 'C'),
 ('disk', 'sda{cciss,1}', 'SMART/drive_trip_temperature', '65'),
 ('disk', 'sda{cciss,1}', 'SMART/drive_trip_temperature_unit', 'C'),
 ('disk', 'sda{cciss,1}', 'SMART/manufacture_date', 'week 44 of year 2010'),
 ('disk', 'sda{cciss,1}', 'SMART/specified_start_stop_cycle_count_over_lifetime', '50000'),
 ('disk', 'sda{cciss,1}', 'SMART/start_stop_cycle_count', '30'),
 ('disk', 'sda{cciss,1}', 'SMART/blocks_sent', '1491709754081280'),
 ('disk', 'sda{cciss,1}', 'SMART/read_total_corrected_errors', '100041'),
 ('disk', 'sda{cciss,1}', 'SMART/read_gigabytes_processed', '18716.700'),
 ('disk', 'sda{cciss,1}', 'SMART/read_total_uncorrected_errors', '0'),
 ('disk', 'sda{cciss,1}', 'SMART/write_total_corrected_errors', '142816'),
 ('disk', 'sda{cciss,1}', 'SMART/write_gigabytes_processed', '1670.704'),
 ('disk', 'sda{cciss,1}', 'SMART/write_total_uncorrected_errors', '0'),
 ('disk', 'sda{cciss,1}', 'SMART/verify_total_corrected_errors', '42'),
 ('disk', 'sda{cciss,1}', 'SMART/verify_gigabytes_processed', '73.408'),
 ('disk', 'sda{cciss,1}', 'SMART/verify_total_uncorrected_errors', '0'),
 ('disk', 'sda{cciss,1}', 'SMART/non_medium_errors_count', '142'),
 ('disk', 'sda{cciss,2}', 'SMART/device_model', 'Samsung SSD 840 PRO Series'),
 ('disk', 'sda{cciss,2}', 'SMART/serial_number', 'SZZXZSAF405ZZ5F'),
 ('disk', 'sda{cciss,2}', 'SMART/firmware_version', 'DXM06B0Q'),
 ('disk', 'sda{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/value', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/worst', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/thresh', '010'),
 ('disk', 'sda{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/raw', ' 0'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_On_Hours(9)/value', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_On_Hours(9)/worst', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_On_Hours(9)/thresh', '000'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_On_Hours(9)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_On_Hours(9)/raw', ' 2173'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_Cycle_Count(12)/value', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_Cycle_Count(12)/worst', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_Cycle_Count(12)/thresh', '000'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_Cycle_Count(12)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Power_Cycle_Count(12)/raw', ' 20'),
 ('disk', 'sda{cciss,2}', 'SMART/Wear_Leveling_Count(177)/value', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/Wear_Leveling_Count(177)/worst', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/Wear_Leveling_Count(177)/thresh', '000'),
 ('disk', 'sda{cciss,2}', 'SMART/Wear_Leveling_Count(177)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Wear_Leveling_Count(177)/raw', ' 2'),
 ('disk', 'sda{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/value', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/worst', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/thresh', '010'),
 ('disk', 'sda{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/raw', ' 0'),
 ('disk', 'sda{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/value', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/worst', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/thresh', '010'),
 ('disk', 'sda{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/raw', ' 0'),
 ('disk', 'sda{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/value', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/worst', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/thresh', '010'),
 ('disk', 'sda{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/raw', ' 0'),
 ('disk', 'sda{cciss,2}', 'SMART/Runtime_Bad_Block(183)/value', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Runtime_Bad_Block(183)/worst', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Runtime_Bad_Block(183)/thresh', '010'),
 ('disk', 'sda{cciss,2}', 'SMART/Runtime_Bad_Block(183)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Runtime_Bad_Block(183)/raw', ' 0'),
 ('disk', 'sda{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/value', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/worst', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/thresh', '000'),
 ('disk', 'sda{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/raw', ' 0'),
 ('disk', 'sda{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/value', '077'),
 ('disk', 'sda{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/worst', '072'),
 ('disk', 'sda{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/thresh', '000'),
 ('disk', 'sda{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/when_failed','NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/raw', ' 23'),
 ('disk', 'sda{cciss,2}', 'SMART/ECC_Error_Rate(195)/value', '200'),
 ('disk', 'sda{cciss,2}', 'SMART/ECC_Error_Rate(195)/worst', '200'),
 ('disk', 'sda{cciss,2}', 'SMART/ECC_Error_Rate(195)/thresh', '000'),
 ('disk', 'sda{cciss,2}', 'SMART/ECC_Error_Rate(195)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/ECC_Error_Rate(195)/raw', ' 0'),
 ('disk', 'sda{cciss,2}', 'SMART/CRC_Error_Count(199)/value', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/CRC_Error_Count(199)/worst', '100'),
 ('disk', 'sda{cciss,2}', 'SMART/CRC_Error_Count(199)/thresh', '000'),
 ('disk', 'sda{cciss,2}', 'SMART/CRC_Error_Count(199)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/CRC_Error_Count(199)/raw', ' 0'),
 ('disk', 'sda{cciss,2}', 'SMART/POR_Recovery_Count(235)/value', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/POR_Recovery_Count(235)/worst', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/POR_Recovery_Count(235)/thresh', '000'),
 ('disk', 'sda{cciss,2}', 'SMART/POR_Recovery_Count(235)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/POR_Recovery_Count(235)/raw', ' 18'),
 ('disk', 'sda{cciss,2}', 'SMART/Total_LBAs_Written(241)/value', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/Total_LBAs_Written(241)/worst', '099'),
 ('disk', 'sda{cciss,2}', 'SMART/Total_LBAs_Written(241)/thresh', '000'),
 ('disk', 'sda{cciss,2}', 'SMART/Total_LBAs_Written(241)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,2}', 'SMART/Total_LBAs_Written(241)/raw', ' 583543109'),
 ('disk', 'sda{cciss,3}', 'SMART/device_model', 'Samsung SSD 840 PRO Series'),
 ('disk', 'sda{cciss,3}', 'SMART/serial_number', 'S1AXNSAF405ZZZ'),
 ('disk', 'sda{cciss,3}', 'SMART/firmware_version', 'DXM06B0Q'),
 ('disk', 'sda{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/value', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/worst', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/thresh', '010'),
 ('disk', 'sda{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/raw', ' 0'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_On_Hours(9)/value', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_On_Hours(9)/worst', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_On_Hours(9)/thresh', '000'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_On_Hours(9)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_On_Hours(9)/raw', ' 2389'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_Cycle_Count(12)/value', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_Cycle_Count(12)/worst', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_Cycle_Count(12)/thresh', '000'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_Cycle_Count(12)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Power_Cycle_Count(12)/raw', ' 53'),
 ('disk', 'sda{cciss,3}', 'SMART/Wear_Leveling_Count(177)/value', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/Wear_Leveling_Count(177)/worst', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/Wear_Leveling_Count(177)/thresh', '000'),
 ('disk', 'sda{cciss,3}', 'SMART/Wear_Leveling_Count(177)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Wear_Leveling_Count(177)/raw', ' 2'),
 ('disk', 'sda{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/value', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/worst', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/thresh', '010'),
 ('disk', 'sda{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/raw', ' 0'),
 ('disk', 'sda{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/value', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/worst', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/thresh', '010'),
 ('disk', 'sda{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/raw', ' 0'),
 ('disk', 'sda{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/value', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/worst', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/thresh', '010'),
 ('disk', 'sda{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/raw', ' 0'),
 ('disk', 'sda{cciss,3}', 'SMART/Runtime_Bad_Block(183)/value', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Runtime_Bad_Block(183)/worst', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Runtime_Bad_Block(183)/thresh', '010'),
 ('disk', 'sda{cciss,3}', 'SMART/Runtime_Bad_Block(183)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Runtime_Bad_Block(183)/raw', ' 0'),
 ('disk', 'sda{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/value', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/worst', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/thresh', '000'),
 ('disk', 'sda{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/raw', ' 0'),
 ('disk', 'sda{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/value', '078'),
 ('disk', 'sda{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/worst', '068'),
 ('disk', 'sda{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/thresh', '000'),
 ('disk', 'sda{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/raw', ' 22'),
 ('disk', 'sda{cciss,3}', 'SMART/ECC_Error_Rate(195)/value', '200'),
 ('disk', 'sda{cciss,3}', 'SMART/ECC_Error_Rate(195)/worst', '200'),
 ('disk', 'sda{cciss,3}', 'SMART/ECC_Error_Rate(195)/thresh', '000'),
 ('disk', 'sda{cciss,3}', 'SMART/ECC_Error_Rate(195)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/ECC_Error_Rate(195)/raw', ' 0'),
 ('disk', 'sda{cciss,3}', 'SMART/CRC_Error_Count(199)/value', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/CRC_Error_Count(199)/worst', '100'),
 ('disk', 'sda{cciss,3}', 'SMART/CRC_Error_Count(199)/thresh', '000'),
 ('disk', 'sda{cciss,3}', 'SMART/CRC_Error_Count(199)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/CRC_Error_Count(199)/raw', ' 0'),
 ('disk', 'sda{cciss,3}', 'SMART/POR_Recovery_Count(235)/value', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/POR_Recovery_Count(235)/worst', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/POR_Recovery_Count(235)/thresh', '000'),
 ('disk', 'sda{cciss,3}', 'SMART/POR_Recovery_Count(235)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/POR_Recovery_Count(235)/raw', ' 39'),
 ('disk', 'sda{cciss,3}', 'SMART/Total_LBAs_Written(241)/value', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/Total_LBAs_Written(241)/worst', '099'),
 ('disk', 'sda{cciss,3}', 'SMART/Total_LBAs_Written(241)/thresh', '000'),
 ('disk', 'sda{cciss,3}', 'SMART/Total_LBAs_Written(241)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,3}', 'SMART/Total_LBAs_Written(241)/raw', ' 669441847'),
 ('disk', 'sda{cciss,4}', 'SMART/device_model', 'Samsung SSD 840 PRO Series'),
 ('disk', 'sda{cciss,4}', 'SMART/serial_number', 'S1AXNSAF40ZZZZ'),
 ('disk', 'sda{cciss,4}', 'SMART/firmware_version', 'DXM06B0Q'),
 ('disk', 'sda{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/value', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/worst', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/thresh', '010'),
 ('disk', 'sda{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/raw', ' 0'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_On_Hours(9)/value', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_On_Hours(9)/worst', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_On_Hours(9)/thresh', '000'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_On_Hours(9)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_On_Hours(9)/raw', ' 2172'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_Cycle_Count(12)/value', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_Cycle_Count(12)/worst', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_Cycle_Count(12)/thresh', '000'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_Cycle_Count(12)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Power_Cycle_Count(12)/raw', ' 21'),
 ('disk', 'sda{cciss,4}', 'SMART/Wear_Leveling_Count(177)/value', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/Wear_Leveling_Count(177)/worst', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/Wear_Leveling_Count(177)/thresh', '000'),
 ('disk', 'sda{cciss,4}', 'SMART/Wear_Leveling_Count(177)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Wear_Leveling_Count(177)/raw', ' 2'),
 ('disk', 'sda{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/value', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/worst', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/thresh', '010'),
 ('disk', 'sda{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/raw', ' 0'),
 ('disk', 'sda{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/value', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/worst', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/thresh', '010'),
 ('disk', 'sda{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/raw', ' 0'),
 ('disk', 'sda{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/value', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/worst', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/thresh', '010'),
 ('disk', 'sda{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/raw', ' 0'),
 ('disk', 'sda{cciss,4}', 'SMART/Runtime_Bad_Block(183)/value', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Runtime_Bad_Block(183)/worst', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Runtime_Bad_Block(183)/thresh', '010'),
 ('disk', 'sda{cciss,4}', 'SMART/Runtime_Bad_Block(183)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Runtime_Bad_Block(183)/raw', ' 0'),
 ('disk', 'sda{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/value', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/worst', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/thresh', '000'),
 ('disk', 'sda{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/raw', ' 0'),
 ('disk', 'sda{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/value', '077'),
 ('disk', 'sda{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/worst', '071'),
 ('disk', 'sda{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/thresh', '000'),
 ('disk', 'sda{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/raw', ' 23'),
 ('disk', 'sda{cciss,4}', 'SMART/ECC_Error_Rate(195)/value', '200'),
 ('disk', 'sda{cciss,4}', 'SMART/ECC_Error_Rate(195)/worst', '200'),
 ('disk', 'sda{cciss,4}', 'SMART/ECC_Error_Rate(195)/thresh', '000'),
 ('disk', 'sda{cciss,4}', 'SMART/ECC_Error_Rate(195)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/ECC_Error_Rate(195)/raw', ' 0'),
 ('disk', 'sda{cciss,4}', 'SMART/CRC_Error_Count(199)/value', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/CRC_Error_Count(199)/worst', '100'),
 ('disk', 'sda{cciss,4}', 'SMART/CRC_Error_Count(199)/thresh', '000'),
 ('disk', 'sda{cciss,4}', 'SMART/CRC_Error_Count(199)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/CRC_Error_Count(199)/raw', ' 0'),
 ('disk', 'sda{cciss,4}', 'SMART/POR_Recovery_Count(235)/value', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/POR_Recovery_Count(235)/worst', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/POR_Recovery_Count(235)/thresh', '000'),
 ('disk', 'sda{cciss,4}', 'SMART/POR_Recovery_Count(235)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/POR_Recovery_Count(235)/raw', ' 19'),
 ('disk', 'sda{cciss,4}', 'SMART/Total_LBAs_Written(241)/value', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/Total_LBAs_Written(241)/worst', '099'),
 ('disk', 'sda{cciss,4}', 'SMART/Total_LBAs_Written(241)/thresh', '000'),
 ('disk', 'sda{cciss,4}', 'SMART/Total_LBAs_Written(241)/when_failed', 'NEVER'),
 ('disk', 'sda{cciss,4}', 'SMART/Total_LBAs_Written(241)/raw', ' 640658833'),
 ('disk', 'sda{cciss,5}', 'SMART/vendor', 'PMCSIERA'),
 ('disk', 'sda{cciss,5}', 'SMART/product', 'SRC 8x6G'),
 ('disk', 'sdb', 'SMART/vendor', 'HP'),
 ('disk', 'sdb', 'SMART/product', 'LOGICAL VOLUME'),
 ('disk', 'sdb', 'SMART/serial_number', '50014380224ZZAA'),
 ('disk', 'sdb{cciss,0}', 'SMART/vendor', 'HP'),
 ('disk', 'sdb{cciss,0}', 'SMART/product', 'EH0072FARWC'),
 ('disk', 'sdb{cciss,0}', 'SMART/serial_number', 'PKVV5KKZ'),
 ('disk', 'sdb{cciss,0}', 'SMART/health', 'OK'),
 ('disk', 'sdb{cciss,0}', 'SMART/current_drive_temperature', '29 C'),
 ('disk', 'sdb{cciss,0}', 'SMART/current_drive_temperature_unit', 'C'),
 ('disk', 'sdb{cciss,0}', 'SMART/drive_trip_temperature', '70 C'),
 ('disk', 'sdb{cciss,0}', 'SMART/drive_trip_temperature_unit', 'C'),
 ('disk', 'sdb{cciss,0}', 'SMART/manufacture_date', 'week 43 of year 2010'),
 ('disk', 'sdb{cciss,0}', 'SMART/specified_start_stop_cycle_count_over_lifetime', '50000'),
 ('disk', 'sdb{cciss,0}', 'SMART/start_stop_cycle_count', '32'),
 ('disk', 'sdb{cciss,0}', 'SMART/blocks_sent', '1883579281833984'),
 ('disk', 'sdb{cciss,0}', 'SMART/read_total_corrected_errors', '74184'),
 ('disk', 'sdb{cciss,0}', 'SMART/read_gigabytes_processed', '357153.467'),
 ('disk', 'sdb{cciss,0}', 'SMART/read_total_uncorrected_errors', '0'),
 ('disk', 'sdb{cciss,0}', 'SMART/write_total_corrected_errors', '249695'),
 ('disk', 'sdb{cciss,0}', 'SMART/write_gigabytes_processed', '3004.298'),
 ('disk', 'sdb{cciss,0}', 'SMART/write_total_uncorrected_errors', '0'),
 ('disk', 'sdb{cciss,0}', 'SMART/non_medium_errors_count', '184'),
 ('disk', 'sdb{cciss,1}', 'SMART/vendor', 'HP'),
 ('disk', 'sdb{cciss,1}', 'SMART/product', 'EH0072FARWC'),
 ('disk', 'sdb{cciss,1}', 'SMART/serial_number', 'PKVVZAA'),
 ('disk', 'sdb{cciss,1}', 'SMART/health', 'OK'),
 ('disk', 'sdb{cciss,1}', 'SMART/current_drive_temperature', '26'),
 ('disk', 'sdb{cciss,1}', 'SMART/current_drive_temperature_unit', 'C'),
 ('disk', 'sdb{cciss,1}', 'SMART/drive_trip_temperature', '65'),
 ('disk', 'sdb{cciss,1}', 'SMART/drive_trip_temperature_unit', 'C'),
 ('disk', 'sdb{cciss,1}', 'SMART/manufacture_date', 'week 44 of year 2010'),
 ('disk', 'sdb{cciss,1}', 'SMART/specified_start_stop_cycle_count_over_lifetime', '50000'),
 ('disk', 'sdb{cciss,1}', 'SMART/start_stop_cycle_count', '30'),
 ('disk', 'sdb{cciss,1}', 'SMART/blocks_sent', '1491709754081280'),
 ('disk', 'sdb{cciss,1}', 'SMART/read_total_corrected_errors', '100041'),
 ('disk', 'sdb{cciss,1}', 'SMART/read_gigabytes_processed', '18716.700'),
 ('disk', 'sdb{cciss,1}', 'SMART/read_total_uncorrected_errors', '0'),
 ('disk', 'sdb{cciss,1}', 'SMART/write_total_corrected_errors', '142816'),
 ('disk', 'sdb{cciss,1}', 'SMART/write_gigabytes_processed', '1670.704'),
 ('disk', 'sdb{cciss,1}', 'SMART/write_total_uncorrected_errors', '0'),
 ('disk', 'sdb{cciss,1}', 'SMART/verify_total_corrected_errors', '42'),
 ('disk', 'sdb{cciss,1}', 'SMART/verify_gigabytes_processed', '73.408'),
 ('disk', 'sdb{cciss,1}', 'SMART/verify_total_uncorrected_errors', '0'),
 ('disk', 'sdb{cciss,1}', 'SMART/non_medium_errors_count', '142'),
 ('disk', 'sdb{cciss,2}', 'SMART/device_model', 'Samsung SSD 840 PRO Series'),
 ('disk', 'sdb{cciss,2}', 'SMART/serial_number', 'S1AXNSAF405R1R1'),
 ('disk', 'sdb{cciss,2}', 'SMART/firmware_version', 'DXM06B0Q'),
 ('disk', 'sdb{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/value', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/worst', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/thresh', '010'),
 ('disk', 'sdb{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Reallocated_Sector_Ct(5)/raw', ' 0'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_On_Hours(9)/value', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_On_Hours(9)/worst', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_On_Hours(9)/thresh', '000'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_On_Hours(9)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_On_Hours(9)/raw', ' 2173'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_Cycle_Count(12)/value', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_Cycle_Count(12)/worst', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_Cycle_Count(12)/thresh', '000'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_Cycle_Count(12)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Power_Cycle_Count(12)/raw', ' 20'),
 ('disk', 'sdb{cciss,2}', 'SMART/Wear_Leveling_Count(177)/value', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/Wear_Leveling_Count(177)/worst', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/Wear_Leveling_Count(177)/thresh', '000'),
 ('disk', 'sdb{cciss,2}', 'SMART/Wear_Leveling_Count(177)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Wear_Leveling_Count(177)/raw', ' 2'),
 ('disk', 'sdb{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/value', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/worst', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/thresh', '010'),
 ('disk', 'sdb{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/raw', ' 0'),
 ('disk', 'sdb{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/value', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/worst', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/thresh', '010'),
 ('disk', 'sdb{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Program_Fail_Cnt_Total(181)/raw', ' 0'),
 ('disk', 'sdb{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/value', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/worst', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/thresh', '010'),
 ('disk', 'sdb{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Erase_Fail_Count_Total(182)/raw', ' 0'),
 ('disk', 'sdb{cciss,2}', 'SMART/Runtime_Bad_Block(183)/value', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Runtime_Bad_Block(183)/worst', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Runtime_Bad_Block(183)/thresh', '010'),
 ('disk', 'sdb{cciss,2}', 'SMART/Runtime_Bad_Block(183)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Runtime_Bad_Block(183)/raw', ' 0'),
 ('disk', 'sdb{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/value', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/worst', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/thresh', '000'),
 ('disk', 'sdb{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Uncorrectable_Error_Cnt(187)/raw', ' 0'),
 ('disk', 'sdb{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/value', '077'),
 ('disk', 'sdb{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/worst', '072'),
 ('disk', 'sdb{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/thresh', '000'),
 ('disk', 'sdb{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Airflow_Temperature_Cel(190)/raw', ' 23'),
 ('disk', 'sdb{cciss,2}', 'SMART/ECC_Error_Rate(195)/value', '200'),
 ('disk', 'sdb{cciss,2}', 'SMART/ECC_Error_Rate(195)/worst', '200'),
 ('disk', 'sdb{cciss,2}', 'SMART/ECC_Error_Rate(195)/thresh', '000'),
 ('disk', 'sdb{cciss,2}', 'SMART/ECC_Error_Rate(195)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/ECC_Error_Rate(195)/raw', ' 0'),
 ('disk', 'sdb{cciss,2}', 'SMART/CRC_Error_Count(199)/value', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/CRC_Error_Count(199)/worst', '100'),
 ('disk', 'sdb{cciss,2}', 'SMART/CRC_Error_Count(199)/thresh', '000'),
 ('disk', 'sdb{cciss,2}', 'SMART/CRC_Error_Count(199)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/CRC_Error_Count(199)/raw', ' 0'),
 ('disk', 'sdb{cciss,2}', 'SMART/POR_Recovery_Count(235)/value', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/POR_Recovery_Count(235)/worst', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/POR_Recovery_Count(235)/thresh', '000'),
 ('disk', 'sdb{cciss,2}', 'SMART/POR_Recovery_Count(235)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/POR_Recovery_Count(235)/raw', ' 18'),
 ('disk', 'sdb{cciss,2}', 'SMART/Total_LBAs_Written(241)/value', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/Total_LBAs_Written(241)/worst', '099'),
 ('disk', 'sdb{cciss,2}', 'SMART/Total_LBAs_Written(241)/thresh', '000'),
 ('disk', 'sdb{cciss,2}', 'SMART/Total_LBAs_Written(241)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,2}', 'SMART/Total_LBAs_Written(241)/raw', ' 583543109'),
 ('disk', 'sdb{cciss,3}', 'SMART/device_model', 'Samsung SSD 840 PRO Series'),
 ('disk', 'sdb{cciss,3}', 'SMART/serial_number', 'S1AXNSAF405PLOP'),
 ('disk', 'sdb{cciss,3}', 'SMART/firmware_version', 'DXM06B0Q'),
 ('disk', 'sdb{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/value', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/worst', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/thresh', '010'),
 ('disk', 'sdb{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Reallocated_Sector_Ct(5)/raw', ' 0'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_On_Hours(9)/value', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_On_Hours(9)/worst', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_On_Hours(9)/thresh', '000'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_On_Hours(9)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_On_Hours(9)/raw', ' 2389'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_Cycle_Count(12)/value', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_Cycle_Count(12)/worst', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_Cycle_Count(12)/thresh', '000'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_Cycle_Count(12)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Power_Cycle_Count(12)/raw', ' 53'),
 ('disk', 'sdb{cciss,3}', 'SMART/Wear_Leveling_Count(177)/value', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/Wear_Leveling_Count(177)/worst', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/Wear_Leveling_Count(177)/thresh', '000'),
 ('disk', 'sdb{cciss,3}', 'SMART/Wear_Leveling_Count(177)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Wear_Leveling_Count(177)/raw', ' 2'),
 ('disk', 'sdb{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/value', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/worst', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/thresh', '010'),
 ('disk', 'sdb{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/raw', ' 0'),
 ('disk', 'sdb{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/value', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/worst', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/thresh', '010'),
 ('disk', 'sdb{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Program_Fail_Cnt_Total(181)/raw', ' 0'),
 ('disk', 'sdb{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/value', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/worst', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/thresh', '010'),
 ('disk', 'sdb{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Erase_Fail_Count_Total(182)/raw', ' 0'),
 ('disk', 'sdb{cciss,3}', 'SMART/Runtime_Bad_Block(183)/value', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Runtime_Bad_Block(183)/worst', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Runtime_Bad_Block(183)/thresh', '010'),
 ('disk', 'sdb{cciss,3}', 'SMART/Runtime_Bad_Block(183)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Runtime_Bad_Block(183)/raw', ' 0'),
 ('disk', 'sdb{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/value', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/worst', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/thresh', '000'),
 ('disk', 'sdb{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Uncorrectable_Error_Cnt(187)/raw', ' 0'),
 ('disk', 'sdb{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/value', '078'),
 ('disk', 'sdb{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/worst', '068'),
 ('disk', 'sdb{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/thresh', '000'),
 ('disk', 'sdb{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Airflow_Temperature_Cel(190)/raw', ' 22'),
 ('disk', 'sdb{cciss,3}', 'SMART/ECC_Error_Rate(195)/value', '200'),
 ('disk', 'sdb{cciss,3}', 'SMART/ECC_Error_Rate(195)/worst', '200'),
 ('disk', 'sdb{cciss,3}', 'SMART/ECC_Error_Rate(195)/thresh', '000'),
 ('disk', 'sdb{cciss,3}', 'SMART/ECC_Error_Rate(195)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/ECC_Error_Rate(195)/raw', ' 0'),
 ('disk', 'sdb{cciss,3}', 'SMART/CRC_Error_Count(199)/value', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/CRC_Error_Count(199)/worst', '100'),
 ('disk', 'sdb{cciss,3}', 'SMART/CRC_Error_Count(199)/thresh', '000'),
 ('disk', 'sdb{cciss,3}', 'SMART/CRC_Error_Count(199)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/CRC_Error_Count(199)/raw', ' 0'),
 ('disk', 'sdb{cciss,3}', 'SMART/POR_Recovery_Count(235)/value', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/POR_Recovery_Count(235)/worst', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/POR_Recovery_Count(235)/thresh', '000'),
 ('disk', 'sdb{cciss,3}', 'SMART/POR_Recovery_Count(235)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/POR_Recovery_Count(235)/raw', ' 39'),
 ('disk', 'sdb{cciss,3}', 'SMART/Total_LBAs_Written(241)/value', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/Total_LBAs_Written(241)/worst', '099'),
 ('disk', 'sdb{cciss,3}', 'SMART/Total_LBAs_Written(241)/thresh', '000'),
 ('disk', 'sdb{cciss,3}', 'SMART/Total_LBAs_Written(241)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,3}', 'SMART/Total_LBAs_Written(241)/raw', ' 669441847'),
 ('disk', 'sdb{cciss,4}', 'SMART/device_model', 'Samsung SSD 840 PRO Series'),
 ('disk', 'sdb{cciss,4}', 'SMART/serial_number', 'S1AXNSAF40PWET'),
 ('disk', 'sdb{cciss,4}', 'SMART/firmware_version', 'DXM06B0Q'),
 ('disk', 'sdb{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/value', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/worst', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/thresh', '010'),
 ('disk', 'sdb{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Reallocated_Sector_Ct(5)/raw', ' 0'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_On_Hours(9)/value', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_On_Hours(9)/worst', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_On_Hours(9)/thresh', '000'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_On_Hours(9)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_On_Hours(9)/raw', ' 2172'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_Cycle_Count(12)/value', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_Cycle_Count(12)/worst', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_Cycle_Count(12)/thresh', '000'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_Cycle_Count(12)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Power_Cycle_Count(12)/raw', ' 21'),
 ('disk', 'sdb{cciss,4}', 'SMART/Wear_Leveling_Count(177)/value', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/Wear_Leveling_Count(177)/worst', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/Wear_Leveling_Count(177)/thresh', '000'),
 ('disk', 'sdb{cciss,4}', 'SMART/Wear_Leveling_Count(177)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Wear_Leveling_Count(177)/raw', ' 2'),
 ('disk', 'sdb{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/value', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/worst', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/thresh', '010'),
 ('disk', 'sdb{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Used_Rsvd_Blk_Cnt_Tot(179)/raw', ' 0'),
 ('disk', 'sdb{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/value', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/worst', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/thresh', '010'),
 ('disk', 'sdb{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Program_Fail_Cnt_Total(181)/raw', ' 0'),
 ('disk', 'sdb{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/value', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/worst', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/thresh', '010'),
 ('disk', 'sdb{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Erase_Fail_Count_Total(182)/raw', ' 0'),
 ('disk', 'sdb{cciss,4}', 'SMART/Runtime_Bad_Block(183)/value', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Runtime_Bad_Block(183)/worst', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Runtime_Bad_Block(183)/thresh', '010'),
 ('disk', 'sdb{cciss,4}', 'SMART/Runtime_Bad_Block(183)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Runtime_Bad_Block(183)/raw', ' 0'),
 ('disk', 'sdb{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/value', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/worst', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/thresh', '000'),
 ('disk', 'sdb{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Uncorrectable_Error_Cnt(187)/raw', ' 0'),
 ('disk', 'sdb{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/value', '077'),
 ('disk', 'sdb{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/worst', '071'),
 ('disk', 'sdb{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/thresh', '000'),
 ('disk', 'sdb{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Airflow_Temperature_Cel(190)/raw', ' 23'),
 ('disk', 'sdb{cciss,4}', 'SMART/ECC_Error_Rate(195)/value', '200'),
 ('disk', 'sdb{cciss,4}', 'SMART/ECC_Error_Rate(195)/worst', '200'),
 ('disk', 'sdb{cciss,4}', 'SMART/ECC_Error_Rate(195)/thresh', '000'),
 ('disk', 'sdb{cciss,4}', 'SMART/ECC_Error_Rate(195)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/ECC_Error_Rate(195)/raw', ' 0'),
 ('disk', 'sdb{cciss,4}', 'SMART/CRC_Error_Count(199)/value', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/CRC_Error_Count(199)/worst', '100'),
 ('disk', 'sdb{cciss,4}', 'SMART/CRC_Error_Count(199)/thresh', '000'),
 ('disk', 'sdb{cciss,4}', 'SMART/CRC_Error_Count(199)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/CRC_Error_Count(199)/raw', ' 0'),
 ('disk', 'sdb{cciss,4}', 'SMART/POR_Recovery_Count(235)/value', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/POR_Recovery_Count(235)/worst', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/POR_Recovery_Count(235)/thresh', '000'),
 ('disk', 'sdb{cciss,4}', 'SMART/POR_Recovery_Count(235)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/POR_Recovery_Count(235)/raw', ' 19'),
 ('disk', 'sdb{cciss,4}', 'SMART/Total_LBAs_Written(241)/value', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/Total_LBAs_Written(241)/worst', '099'),
 ('disk', 'sdb{cciss,4}', 'SMART/Total_LBAs_Written(241)/thresh', '000'),
 ('disk', 'sdb{cciss,4}', 'SMART/Total_LBAs_Written(241)/when_failed', 'NEVER'),
 ('disk', 'sdb{cciss,4}', 'SMART/Total_LBAs_Written(241)/raw', ' 640658861'),
 ('disk', 'sdb{cciss,5}', 'SMART/vendor', 'PMCSIERA'),
 ('disk', 'sdb{cciss,5}', 'SMART/product', 'SRC 8x6G'),
 ('disk', 'sdc', 'SMART/device_model', 'SAMSUNG HD103UJ'),
 ('disk', 'sdc', 'SMART/serial_number', 'S13PJ1KQ61KIKOO'),
 ('disk', 'sdc', 'SMART/firmware_version', '1AA01112'),
 ('disk', 'sdc', 'SMART/Raw_Read_Error_Rate(1)/value', '100'),
 ('disk', 'sdc', 'SMART/Raw_Read_Error_Rate(1)/worst', '042'),
 ('disk', 'sdc', 'SMART/Raw_Read_Error_Rate(1)/thresh', '051'),
 ('disk', 'sdc', 'SMART/Raw_Read_Error_Rate(1)/when_failed', 'In_the_past'),
 ('disk', 'sdc', 'SMART/Raw_Read_Error_Rate(1)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Spin_Up_Time(3)/value', '075'),
 ('disk', 'sdc', 'SMART/Spin_Up_Time(3)/worst', '075'),
 ('disk', 'sdc', 'SMART/Spin_Up_Time(3)/thresh', '011'),
 ('disk', 'sdc', 'SMART/Spin_Up_Time(3)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Spin_Up_Time(3)/raw', ' 8200'),
 ('disk', 'sdc', 'SMART/Start_Stop_Count(4)/value', '100'),
 ('disk', 'sdc', 'SMART/Start_Stop_Count(4)/worst', '100'),
 ('disk', 'sdc', 'SMART/Start_Stop_Count(4)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Start_Stop_Count(4)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Start_Stop_Count(4)/raw', ' 113'),
 ('disk', 'sdc', 'SMART/Reallocated_Sector_Ct(5)/value', '100'),
 ('disk', 'sdc', 'SMART/Reallocated_Sector_Ct(5)/worst', '100'),
 ('disk', 'sdc', 'SMART/Reallocated_Sector_Ct(5)/thresh', '010'),
 ('disk', 'sdc', 'SMART/Reallocated_Sector_Ct(5)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Reallocated_Sector_Ct(5)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Seek_Error_Rate(7)/value', '100'),
 ('disk', 'sdc', 'SMART/Seek_Error_Rate(7)/worst', '100'),
 ('disk', 'sdc', 'SMART/Seek_Error_Rate(7)/thresh', '051'),
 ('disk', 'sdc', 'SMART/Seek_Error_Rate(7)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Seek_Error_Rate(7)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Seek_Time_Performance(8)/value', '100'),
 ('disk', 'sdc', 'SMART/Seek_Time_Performance(8)/worst', '100'),
 ('disk', 'sdc', 'SMART/Seek_Time_Performance(8)/thresh', '015'),
 ('disk', 'sdc', 'SMART/Seek_Time_Performance(8)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Seek_Time_Performance(8)/raw', ' 9951'),
 ('disk', 'sdc', 'SMART/Power_On_Hours(9)/value', '093'),
 ('disk', 'sdc', 'SMART/Power_On_Hours(9)/worst', '093'),
 ('disk', 'sdc', 'SMART/Power_On_Hours(9)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Power_On_Hours(9)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Power_On_Hours(9)/raw', ' 33810'),
 ('disk', 'sdc', 'SMART/Spin_Retry_Count(10)/value', '100'),
 ('disk', 'sdc', 'SMART/Spin_Retry_Count(10)/worst', '100'),
 ('disk', 'sdc', 'SMART/Spin_Retry_Count(10)/thresh', '051'),
 ('disk', 'sdc', 'SMART/Spin_Retry_Count(10)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Spin_Retry_Count(10)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Calibration_Retry_Count(11)/value', '100'),
 ('disk', 'sdc', 'SMART/Calibration_Retry_Count(11)/worst', '100'),
 ('disk', 'sdc', 'SMART/Calibration_Retry_Count(11)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Calibration_Retry_Count(11)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Calibration_Retry_Count(11)/raw', ' 1'),
 ('disk', 'sdc', 'SMART/Power_Cycle_Count(12)/value', '100'),
 ('disk', 'sdc', 'SMART/Power_Cycle_Count(12)/worst', '100'),
 ('disk', 'sdc', 'SMART/Power_Cycle_Count(12)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Power_Cycle_Count(12)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Power_Cycle_Count(12)/raw', ' 34'),
 ('disk', 'sdc', 'SMART/Read_Soft_Error_Rate(13)/value', '100'),
 ('disk', 'sdc', 'SMART/Read_Soft_Error_Rate(13)/worst', '042'),
 ('disk', 'sdc', 'SMART/Read_Soft_Error_Rate(13)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Read_Soft_Error_Rate(13)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Read_Soft_Error_Rate(13)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Runtime_Bad_Block(183)/value', '100'),
 ('disk', 'sdc', 'SMART/Runtime_Bad_Block(183)/worst', '100'),
 ('disk', 'sdc', 'SMART/Runtime_Bad_Block(183)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Runtime_Bad_Block(183)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Runtime_Bad_Block(183)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/End-to-End_Error(184)/value', '100'),
 ('disk', 'sdc', 'SMART/End-to-End_Error(184)/worst', '100'),
 ('disk', 'sdc', 'SMART/End-to-End_Error(184)/thresh', '099'),
 ('disk', 'sdc', 'SMART/End-to-End_Error(184)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/End-to-End_Error(184)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Reported_Uncorrect(187)/value', '100'),
 ('disk', 'sdc', 'SMART/Reported_Uncorrect(187)/worst', '100'),
 ('disk', 'sdc', 'SMART/Reported_Uncorrect(187)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Reported_Uncorrect(187)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Reported_Uncorrect(187)/raw', ' 2783'),
 ('disk', 'sdc', 'SMART/Command_Timeout(188)/value', '100'),
 ('disk', 'sdc', 'SMART/Command_Timeout(188)/worst', '100'),
 ('disk', 'sdc', 'SMART/Command_Timeout(188)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Command_Timeout(188)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Command_Timeout(188)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Airflow_Temperature_Cel(190)/value', '061'),
 ('disk', 'sdc', 'SMART/Airflow_Temperature_Cel(190)/worst', '055'),
 ('disk', 'sdc', 'SMART/Airflow_Temperature_Cel(190)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Airflow_Temperature_Cel(190)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Airflow_Temperature_Cel(190)/raw', ' 39 (Min/Max 17/39)'),
 ('disk', 'sdc', 'SMART/Temperature_Celsius(194)/value', '059'),
 ('disk', 'sdc', 'SMART/Temperature_Celsius(194)/worst', '055'),
 ('disk', 'sdc', 'SMART/Temperature_Celsius(194)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Temperature_Celsius(194)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Temperature_Celsius(194)/raw', ' 41 (Min/Max 17/43)'),
 ('disk', 'sdc', 'SMART/Hardware_ECC_Recovered(195)/value', '100'),
 ('disk', 'sdc', 'SMART/Hardware_ECC_Recovered(195)/worst', '100'),
 ('disk', 'sdc', 'SMART/Hardware_ECC_Recovered(195)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Hardware_ECC_Recovered(195)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Hardware_ECC_Recovered(195)/raw', ' 51712096'),
 ('disk', 'sdc', 'SMART/Reallocated_Event_Count(196)/value', '100'),
 ('disk', 'sdc', 'SMART/Reallocated_Event_Count(196)/worst', '100'),
 ('disk', 'sdc', 'SMART/Reallocated_Event_Count(196)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Reallocated_Event_Count(196)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Reallocated_Event_Count(196)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Current_Pending_Sector(197)/value', '100'),
 ('disk', 'sdc', 'SMART/Current_Pending_Sector(197)/worst', '100'),
 ('disk', 'sdc', 'SMART/Current_Pending_Sector(197)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Current_Pending_Sector(197)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Current_Pending_Sector(197)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Offline_Uncorrectable(198)/value', '100'),
 ('disk', 'sdc', 'SMART/Offline_Uncorrectable(198)/worst', '100'),
 ('disk', 'sdc', 'SMART/Offline_Uncorrectable(198)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Offline_Uncorrectable(198)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Offline_Uncorrectable(198)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/UDMA_CRC_Error_Count(199)/value', '100'),
 ('disk', 'sdc', 'SMART/UDMA_CRC_Error_Count(199)/worst', '100'),
 ('disk', 'sdc', 'SMART/UDMA_CRC_Error_Count(199)/thresh', '000'),
 ('disk', 'sdc', 'SMART/UDMA_CRC_Error_Count(199)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/UDMA_CRC_Error_Count(199)/raw', ' 4'),
 ('disk', 'sdc', 'SMART/Multi_Zone_Error_Rate(200)/value', '100'),
 ('disk', 'sdc', 'SMART/Multi_Zone_Error_Rate(200)/worst', '100'),
 ('disk', 'sdc', 'SMART/Multi_Zone_Error_Rate(200)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Multi_Zone_Error_Rate(200)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Multi_Zone_Error_Rate(200)/raw', ' 0'),
 ('disk', 'sdc', 'SMART/Soft_Read_Error_Rate(201)/value', '100'),
 ('disk', 'sdc', 'SMART/Soft_Read_Error_Rate(201)/worst', '100'),
 ('disk', 'sdc', 'SMART/Soft_Read_Error_Rate(201)/thresh', '000'),
 ('disk', 'sdc', 'SMART/Soft_Read_Error_Rate(201)/when_failed', 'NEVER'),
 ('disk', 'sdc', 'SMART/Soft_Read_Error_Rate(201)/raw', ' 0')]
detect: Removing debug message
Merge pull request #148 from tremble/iso_mount

Only attempt to mount the ISO image if it isn't already mounted
detect: Reporting DDR timing

The health-check was able to provide the DDR timing but not the PXE
bootstrap.

The ddr timing have to be part of the detect code which is run in both
cases.
build/Makefile: prepare 1.7.0 release
cardiff: Stylish issue
cardiff: Switching to pprint

Let's make the code easier to read by using pprint.
Do no print anything if the component reports nothing
detect: Don't print SMART messages on stdout

Printing the SMART information on stdout means they are part of the
hw.json breaking the further JSON import.
repositories: Attach pool if not already done + detach function

Currently whenever a call is made to attach_pool_rh_cdn(), edeploy
tries to attach to it even though it has already been attached, leading
to a fail build. This commit aims to verify if the pool is already attached
before attaching to it. This commit also provide a function detach_poll_rh_cdn()
cardiff: Saving group differences in diff files

When specifing the '-o <dir>' option to cardiff, cardiff will save the
differences between groups in the selected directory.

It will create in it :
- ".def" files which represent the hardware configuration of a given group of servers represented by their serial number
- ".diff" files computing the differences between those groups

This will be an helper to ease the understanding between groups for a
given component.

A typical output file looks like :

Logical_Disks_C8250FD55M802ZZ.def
Logical_Disks_C8250FD55M802FF_C8250FD22M802RR_C8250FD55M802JJ.def
Logical_Disks.diff

... and the diff file looks like .. :

--- plop/Logical_Disks_C8250FD55M802FF_C8250FD55M802RR_C8250FD55M802JJ.def      2014-10-30 10:02:18.668475862 +0100
+++ plop/Logical_Disks_C8250FD55M802ZZ.def      2014-10-30 10:02:18.671475892 +0100
@@ -1 +1,8 @@
-[]
+[('disk', 'sda', 'Read Cache Disable', '0'),
+ ('disk', 'sda', 'Write Cache Enable', '1'),
+ ('disk', 'sda', 'model', 'afakedevice'),
+ ('disk', 'sda', 'optimal_io_size', '0'),
+ ('disk', 'sda', 'physical_block_size', '512'),
+ ('disk', 'sda', 'rev', '3232'),
+ ('disk', 'sda', 'size', '32'),
+ ('disk', 'sda', 'vendor', 'ATA')]
cardiff: Delete .def files when no diff exists

If a single group exists for a component, there is no need to keep the
def files.

This way, the output dir only features the def & diff files from groups
where issues exists.
cardiff: Ignoring cpu temperatures

When grouping hosts, we have to ignore the current temperature to avoid
unexpected sub-grouping.
cardiff: Let's print empty groups

It's important to have an explict reporting of empty groups unless we
don't really understand what's going on.
cardiff: Adding pdisk support for Megaraid

Cardiff was lacking of megaraid physical disk support.
cardiff: Adding override list

When we want to keep a single item from a component, we can exclude
everything but the stuff we want.

So if an item match from the exclude list, it's enough to consider it
even if it could match from the include or exclude list.
cardiff: Don't compare SMART attributes but when_failed

Don't try to group per SMART properties except from the when_failed
attribute
Merge pull request #150 from enovance/sm_utilities

repositories: Attach pool if not already done + detach function
tools/jenkins-build.sh: copy vmlinuz health.pxe initrd.pxe from the base dir to target dir
detect: pdisk shall be reported in GB

Up to now, the pdisk size were not reported in consistent units. For
example, we had :
    ('pdisk', 'disk3', 'size', '3.637'),

This is perfectly incorrect since its a 3 TB disk drive.

To avoid this, the size shall be passed through the size_in_gb()
function to insure the unit to be GB.