cardiff: Fixing trace names while using multiple rampup dirs

When using the rampup option, you can provide many tests as input.

In such case, the existing code was mixing data and trace name. As a
result, we could have inverted results like plotting a low performance
result with the title of the one that was good. This is very misleading.

This fix insure that traces name are taken in the same order as the data
are plot into the trace files.
cardiff: Fixing multiple network plot

When doing network benchmark analysis, every single VM have multiple
results.

We had a bug where we got multiple result for the same benchmark name
which confused panda.

So let's sum the results for a given host. Maybe later we could compute
and print mean & standard deviation.
cardiff: Adding multiple traces of same benchmark

This commit add several traces of the same benchmark by running
different MTUs. This is useful to test the rampup option.
cardiff: Removing useless files

Since last commit we do have a much more complete & detailed benchmark
with various mtu sizes. So let's delete this useless one.
tools/jenkins-build.sh: avoid copying health.pxe and initrd.pxe when present in upgrades
tools/jenkins-build.sh: fix path to directory
eDeploy CLI: add profile argument

Add a CLI argument to catch the hardware profile of the node.

Example:

~: edeploy profile
supermicro-x8dt3
~:
jenkins-build.sh: fix rsync call
jenkins-build.sh: fix health directory name
create_image : Allow to set compression for qcow2

Add a COMPRESSED option in the config
file.
Merge pull request #157 from enovance/edeploy-cli-profile

eDeploy CLI: add profile argument
Merge pull request #156 from morucci/qcow2-compressed

create_image: Allow to set compression for qcow2 image
detect: Adding ethtool support

This patch was done on a user based demand which was "Can we have the ethtool information part of the detect ?"
The answer is "Yes" and here come the patch.

This patch does provide an automatic parsing of "ethtool -a" & "ethtool -k".

A typical output looks like:

 ('network', 'enp0s25', 'businfo', 'pci@0000:00:19.0'),
 ('network', 'enp0s25', 'vendor', 'Intel Corporation'),
 ('network', 'enp0s25', 'product', '82579LM Gigabit Network Connection'),
 ('network', 'enp0s25', 'firmware', '0.13-3'),
 ('network', 'enp0s25', 'size', '1000000000'),
 ('network', 'enp0s25', 'ipv4', '10.142.32.73'),
 ('network', 'enp0s25', 'ipv4-netmask', '255.255.255.0'),
 ('network', 'enp0s25', 'ipv4-cidr', '24'),
 ('network', 'enp0s25', 'ipv4-network', '10.142.32.0'),
 ('network', 'enp0s25', 'link', 'yes'),
 ('network', 'enp0s25', 'driver', 'e1000e'),
 ('network', 'enp0s25', 'duplex', 'full'),
 ('network', 'enp0s25', 'speed', '1Gbit/s'),
 ('network', 'enp0s25', 'latency', '0'),
 ('network', 'enp0s25', 'autonegotiation', 'on'),
 ('network', 'enp0s25', 'serial', '00:21:cc:d9:bf:26'),
 ('network', 'enp0s25', 'Autonegotiate', 'on'),
 ('network', 'enp0s25', 'RX', 'on'),
 ('network', 'enp0s25', 'TX', 'on'),
 ('network', 'enp0s25', 'rx-checksumming', 'on'),
 ('network', 'enp0s25', 'tx-checksumming', 'on'),
 ('network', 'enp0s25', 'tx-checksumming/tx-checksum-ipv4', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-checksumming/tx-checksum-ip-generic', 'on'),
 ('network', 'enp0s25', 'tx-checksumming/tx-checksum-ipv6', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-checksumming/tx-checksum-fcoe-crc', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-checksumming/tx-checksum-sctp', 'off [fixed]'),
 ('network', 'enp0s25', 'scatter-gather', 'on'),
 ('network', 'enp0s25', 'scatter-gather/tx-scatter-gather', 'on'),
 ('network', 'enp0s25', 'scatter-gather/tx-scatter-gather-fraglist', 'off [fixed]'),
 ('network', 'enp0s25', 'tcp-segmentation-offload', 'on'),
 ('network', 'enp0s25', 'tcp-segmentation-offload/tx-tcp-segmentation', 'on'),
 ('network', 'enp0s25', 'tcp-segmentation-offload/tx-tcp-ecn-segmentation', 'off [fixed]'),
 ('network', 'enp0s25', 'tcp-segmentation-offload/tx-tcp6-segmentation', 'on'),
 ('network', 'enp0s25', 'udp-fragmentation-offload', 'off [fixed]'),
 ('network', 'enp0s25', 'generic-segmentation-offload', 'on'),
 ('network', 'enp0s25', 'generic-receive-offload', 'on'),
 ('network', 'enp0s25', 'large-receive-offload', 'off [fixed]'),
 ('network', 'enp0s25', 'rx-vlan-offload', 'on'),
 ('network', 'enp0s25', 'tx-vlan-offload', 'on'),
 ('network', 'enp0s25', 'ntuple-filters', 'off [fixed]'),
 ('network', 'enp0s25', 'receive-hashing', 'on'),
 ('network', 'enp0s25', 'highdma', 'on [fixed]'),
 ('network', 'enp0s25', 'rx-vlan-filter', 'off [fixed]'),
 ('network', 'enp0s25', 'vlan-challenged', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-lockless', 'off [fixed]'),
 ('network', 'enp0s25', 'netns-local', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-gso-robust', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-fcoe-segmentation', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-gre-segmentation', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-ipip-segmentation', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-sit-segmentation', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-udp_tnl-segmentation', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-mpls-segmentation', 'off [fixed]'),
 ('network', 'enp0s25', 'fcoe-mtu', 'off [fixed]'),
 ('network', 'enp0s25', 'tx-nocache-copy', 'off'),
 ('network', 'enp0s25', 'loopback', 'off [fixed]'),
 ('network', 'enp0s25', 'rx-fcs', 'off'),
 ('network', 'enp0s25', 'rx-all', 'off'),
 ('network', 'enp0s25', 'tx-vlan-stag-hw-insert', 'off [fixed]'),
 ('network', 'enp0s25', 'rx-vlan-stag-hw-parse', 'off [fixed]'),
 ('network', 'enp0s25', 'rx-vlan-stag-filter', 'off [fixed]'),
 ('network', 'enp0s25', 'l2-fwd-offload', 'off [fixed]'),
detect: Adding human readable output flag

When debugging/developping eDeploy, having the dump version of the hrdw
structure as an output is pretty difficult to read.

Adding a "-H or --human" flag will print a readable output. This option
is not meant to be used with upload.py & cardiff. This is really for
debugging.
detect: Handle "Not Readable" elements in IPMI SDR

When a component is reported as "Not Readable" in the IPMI SDR, don't
try to consider units here, just report "Not Readable"
detect: Adding Enclosure reporting

When detecting a megaraid system, it's important to report also the
enclosure settings to detect a difference in it.

A typical output looks like:
 ('megaraid', 'Controller_0/Enclosure_0', 'EsmSerialNumber', 'N/A'),
 ('megaraid', 'Controller_0/Enclosure_0', 'NumberOfSlots', '2'),
 ('megaraid', 'Controller_0/Enclosure_0', 'VendorIdentification', 'DP'),
 ('megaraid', 'Controller_0/Enclosure_0', 'ProductRevisionLevel', '1.00'),
 ('megaraid', 'Controller_0/Enclosure_0', 'PartnerDeviceId', '65535'),
 ('megaraid', 'Controller_0/Enclosure_0', 'NumberOfPhysicalDrives', '2'),
 ('megaraid', 'Controller_0/Enclosure_0', 'FruPartNumber', 'N/A'),
 ('megaraid', 'Controller_0/Enclosure_0', 'ProductIdentification', 'BP12G+'),
 ('megaraid', 'Controller_0/Enclosure_0', 'Status', 'Normal'),
 ('megaraid', 'Controller_0/Enclosure_0', 'NumberOfSimModules', '0'),
 ('megaraid', 'Controller_0/Enclosure_0', 'InquiryData', ''),
 ('megaraid', 'Controller_0/Enclosure_0', 'NumberOfFans', '0'),
 ('megaraid', 'Controller_0/Enclosure_0', 'Position', '1'),
 ('megaraid', 'Controller_0/Enclosure_0', 'ConnectorName', 'Unavailable'),
 ('megaraid', 'Controller_0/Enclosure_0', 'NumberOfPowerSupplies', '0'),
 ('megaraid', 'Controller_0/Enclosure_0', 'NumberOfTemperatureSensors', '0'),
 ('megaraid', 'Controller_0/Enclosure_0', 'NumberOfAlarms', '0'),
 ('megaraid', 'Controller_0/Enclosure_0', 'DeviceId', '32'),
 ('megaraid', 'Controller_0/Enclosure_0', 'VendorSpecific', '3CI00PL'),
detect: Adding more Physical disks reports

This patch is adding more low level information of physical disks.
This is very useful when considering tracking mis-configuration or wrong devices.

A typical output looks like the following:
 ('pdisk', 'disk0', 'ctrl', '1'),
 ('pdisk', 'disk0', 'type', 'SAS'),
 ('pdisk', 'disk0', 'id', '32:0'),
 ('pdisk', 'disk0', 'size', '278.875'),
 ('pdisk', 'disk0', 'LinkSpeed', '6.0Gb/s'),
 ('pdisk', 'disk0', 'FdeCapable', 'Not Capable'),
 ('pdisk', 'disk0', 'PredictiveFailureCount', '0'),
 ('pdisk', 'disk0', 'SasAddress(0)', '0x5000c50071b89f1d'),
 ('pdisk', 'disk0', 'ShieldCounter', '0'),
 ('pdisk', 'disk0', 'LastPredictiveFailureEventSeqNumber', '0'),
 ('pdisk', 'disk0', 'FdeEnable', 'Disable'),
 ('pdisk', 'disk0', 'DeviceSpeed', '6.0Gb/s'),
 ('pdisk', 'disk0', 'Pi', 'No PI'),
 ('pdisk', 'disk0', 'FirmwareState', 'Online, Spun Up'),
 ('pdisk', 'disk0', 'Port-0', ''),
 ('pdisk', 'disk0', 'Port-1', ''),
 ('pdisk', 'disk0', 'SequenceNumber', '2'),
 ('pdisk', 'disk0', 'PiEligibility', 'No'),
 ('pdisk', 'disk0', 'InquiryData', 'SEAGATE ST300MM0006     LS08S0K1ZKNM'),
 ('pdisk', 'disk0', 'NonCoercedSize', '278.896 GB [0x22dcb25c Sectors]'),
 ('pdisk', 'disk0', 'EnclosurePosition', '1'),
 ('pdisk', 'disk0', 'DriveIsFormattedForPiInformation', 'No'),
 ('pdisk', 'disk0', 'DeviceFirmwareLevel', 'LS08'),
 ('pdisk', 'disk0', 'SectorSize', '0'),
 ('pdisk', 'disk0', 'Locked', 'Unlocked'),
 ('pdisk', 'disk0', 'SasAddress(1)', '0x0'),
 ('pdisk', 'disk0', 'MediaType', 'Hard Disk Device'),
 ('pdisk', 'disk0', 'OtherErrorCount', '0'),
 ('pdisk', 'disk0', 'RawSize', '279.396 GB [0x22ecb25c Sectors]'),
 ('pdisk', 'disk0', 'PortStatus', 'Active'),
 ('pdisk', 'disk0', 'ForeignState', 'None'),
 ('pdisk', 'disk0', 'DriveHasFlaggedAS.M.A.R.TAlert', 'No'),
 ('pdisk', 'disk0', 'SlotNumber', '0'),
 ('pdisk', 'disk0', 'MediaErrorCount', '0'),
 ('pdisk', 'disk0', 'Secured', 'Unsecured'),
 ('pdisk', 'disk0', 'NeedsEkmAttention', 'No'),
 ('pdisk', 'disk0', 'DriveTemperature', '28'),
 ('pdisk', 'disk0', 'DriveTemperature_units', 'Celsius'),
 ('pdisk', 'disk0', 'DeviceId', '0'),
 ('pdisk', 'disk0', 'SuccessfulDiagnosticsCompletionOn', 'N/A'),
 ('pdisk', 'disk0', "Port'SLinkspeed", 'Unknown'),
 ('pdisk', 'disk0', 'ConnectedPortNumber', '0(path0)'),
 ('pdisk', 'disk0', 'Wwn', '5000C50071B89F1C'),
 ('pdisk', 'disk1', 'ctrl', '1'),
 ('pdisk', 'disk1', 'type', 'SAS'),
 ('pdisk', 'disk1', 'id', '32:1'),
 ('pdisk', 'disk1', 'size', '278.875'),
 ('pdisk', 'disk1', 'LinkSpeed', '6.0Gb/s'),
 ('pdisk', 'disk1', 'FdeCapable', 'Not Capable'),
 ('pdisk', 'disk1', 'PredictiveFailureCount', '0'),
 ('pdisk', 'disk1', 'SasAddress(0)', '0x5000c50071b70d95'),
 ('pdisk', 'disk1', 'ShieldCounter', '0'),
 ('pdisk', 'disk1', 'LastPredictiveFailureEventSeqNumber', '0'),
 ('pdisk', 'disk1', 'FdeEnable', 'Disable'),
 ('pdisk', 'disk1', 'DeviceSpeed', '6.0Gb/s'),
 ('pdisk', 'disk1', 'Pi', 'No PI'),
 ('pdisk', 'disk1', 'FirmwareState', 'Online, Spun Up'),
 ('pdisk', 'disk1', 'Port-0', ''),
 ('pdisk', 'disk1', 'Port-1', ''),
 ('pdisk', 'disk1', 'SequenceNumber', '2'),
 ('pdisk', 'disk1', 'PiEligibility', 'No'),
 ('pdisk', 'disk1', 'InquiryData', 'SEAGATE ST300MM0006     LS08S0K1Z3TM'),
 ('pdisk', 'disk1', 'NonCoercedSize', '278.896 GB [0x22dcb25c Sectors]'),
 ('pdisk', 'disk1', 'EnclosurePosition', '1'),
 ('pdisk', 'disk1', 'DriveIsFormattedForPiInformation', 'No'),
 ('pdisk', 'disk1', 'DeviceFirmwareLevel', 'LS08'),
 ('pdisk', 'disk1', 'SectorSize', '0'),
 ('pdisk', 'disk1', 'Locked', 'Unlocked'),
 ('pdisk', 'disk1', 'SasAddress(1)', '0x0'),
 ('pdisk', 'disk1', 'MediaType', 'Hard Disk Device'),
 ('pdisk', 'disk1', 'OtherErrorCount', '0'),
 ('pdisk', 'disk1', 'RawSize', '279.396 GB [0x22ecb25c Sectors]'),
 ('pdisk', 'disk1', 'PortStatus', 'Active'),
 ('pdisk', 'disk1', 'ForeignState', 'None'),
 ('pdisk', 'disk1', 'DriveHasFlaggedAS.M.A.R.TAlert', 'No'),
 ('pdisk', 'disk1', 'SlotNumber', '1'),
 ('pdisk', 'disk1', 'MediaErrorCount', '0'),
 ('pdisk', 'disk1', 'Secured', 'Unsecured'),
 ('pdisk', 'disk1', 'NeedsEkmAttention', 'No'),
 ('pdisk', 'disk1', 'DriveTemperature', '28'),
 ('pdisk', 'disk1', 'DriveTemperature_units', 'Celsius'),
 ('pdisk', 'disk1', 'DeviceId', '1'),
 ('pdisk', 'disk1', 'SuccessfulDiagnosticsCompletionOn', 'N/A'),
 ('pdisk', 'disk1', "Port'SLinkspeed", 'Unknown'),
 ('pdisk', 'disk1', 'ConnectedPortNumber', '1(path0)'),
 ('pdisk', 'disk1', 'Wwn', '5000C50071B70D94'),
detect: Adding Megaraid controller configuration

When reporting a node configuration, it's pretty useful to get Raid's controller configuration.
This does provide the required information to compare systems.

A typical output looks like:
 ('megaraid', 'Controller_0', 'DenyScsiPassthrough', 'No'),
 ('megaraid', 'Controller_0', 'MaxArmsPerVd', '16'),
 ('megaraid', 'Controller_0', 'SupportPi', 'No'),
 ('megaraid', 'Controller_0', 'Enableldbbm', 'Yes'),
 ('megaraid', 'Controller_0', 'SnapshotEnabled', 'No'),
 ('megaraid', 'Controller_0', 'DelayAmongSpinupGroups', '12s'),
 ('megaraid', 'Controller_0', 'Flash', 'Present'),
 ('megaraid', 'Controller_0', 'SupportBreakmirror', 'Yes'),
 ('megaraid', 'Controller_0', 'CacheFlushInterval', '4s'),
 ('megaraid', 'Controller_0', 'DisableOnlineControllerReset', 'No'),
 ('megaraid', 'Controller_0', 'AutoEnhancedImport', 'No'),
 ('megaraid', 'Controller_0', 'RocTemperature', '32  degree Celsius'),
 ('megaraid', 'Controller_0', 'MaxChainedEnclosures', '4'),
 ('megaraid', 'Controller_0', 'NumberOfBackendPort', '8'),
 ('megaraid', 'Controller_0', 'DenyClear', 'Yes'),
 ('megaraid', 'Controller_0', 'VendorId', '1000'),
 ('megaraid', 'Controller_0', 'DelayDuringPost', '0'),
 ('megaraid', 'Controller_0', 'InterruptThrottleCompletion', '50us'),
 ('megaraid', 'Controller_0', 'NvdataVersion', '3.09.03-0038'),
 ('megaraid', 'Controller_0', 'SupportTemperature', 'Yes'),
 ('megaraid', 'Controller_0', 'EnableLedHeader', 'No'),
 ('megaraid', 'Controller_0', 'DisableCopyback', 'No'),
 ('megaraid', 'Controller_0', 'SupportedDrives', "['SAS', 'SATA']"),
 ('megaraid', 'Controller_0', 'DisableCtrl-R', 'No'),
 ('megaraid', 'Controller_0', 'AllowHdd/SsdMixInVd', 'No'),
 ('megaraid', 'Controller_0', 'Reconstruction', 'Yes'),
 ('megaraid', 'Controller_0', 'SupportShieldState', 'No'),
 ('megaraid', 'Controller_0', 'MemorySize', '0MB'),
 ('megaraid', 'Controller_0', 'DenyLocate', 'No'),
 ('megaraid', 'Controller_0', 'AllowBootWithPreservedCache', 'No'),
 ('megaraid', 'Controller_0', 'SupportBootTimePfkChange', 'No'),
 ('megaraid', 'Controller_0', 'AlarmDisable', 'No'),
 ('megaraid', 'Controller_0', 'MaxDataTransferSize', '8192 sectors'),
 ('megaraid', 'Controller_0', 'UseFdeOnly', 'Yes'),
 ('megaraid', 'Controller_0', 'BreakmirrorRaidSupport', 'Yes'),
 ('megaraid', 'Controller_0', 'BiosEnumerateVds', 'Yes'),
 ('megaraid', 'Controller_0', 'SpinDownMode', 'None'),
 ('megaraid', 'Controller_0', 'PhysicalDriveCoercionMode', '128MB'),
 ('megaraid', 'Controller_0', 'MemoryUncorrectableErrors', '0'),
 ('megaraid', 'Controller_0', 'UseDiskActivityForLocate', 'No'),
 ('megaraid', 'Controller_0', 'SasAddress', '5c81f660e6288500'),
 ('megaraid', 'Controller_0', 'ClusterDisable', 'Yes'),
 ('megaraid', 'Controller_0', 'CurrentSizeOfFwCache', '0 MB'),
 ('megaraid', 'Controller_0', 'EnableJbod', 'Yes'),
 ('megaraid', 'Controller_0', 'ExposeEnclosureDevices', 'No'),
 ('megaraid', 'Controller_0', 'DirectPdMapping', 'Yes'),
 ('megaraid', 'Controller_0', 'SelfDiagnostic', 'Yes'),
 ('megaraid', 'Controller_0', 'TimeTakenToDetectCme', '60s'),
 ('megaraid', 'Controller_0', 'ExitCode', '0x00'),
 ('megaraid', 'Controller_0', 'BiosVersion', '4.34.00_4.12.05.00_0x05260000'),
 ('megaraid', 'Controller_0', 'AnyOfflineVdCachePreserved', 'No'),
 ('megaraid', 'Controller_0', 'ForceRebuild', 'Yes'),
 ('megaraid', 'Controller_0', 'PowerSavingOption',"Don't spin down unconfigured drives"),
 ('megaraid', 'Controller_0', 'CriticalDisks', '0'),
 ('megaraid', 'Controller_0', 'DenyForceFailed', 'No'),
 ('megaraid', 'Controller_0', 'MaxStripsPerio', '20'),
 ('megaraid', 'Controller_0', 'SecurityKeyNotBackedup', 'No'),
 ('megaraid', 'Controller_0', 'T10PowerState', 'Yes'),
 ('megaraid', 'Controller_0', 'FwPackageBuild', '20.12.0-0004'),
 ('megaraid', 'Controller_0', 'AllowedDeviceType', 'SAS/SATA Mix'),
 ('megaraid', 'Controller_0', 'MaxArrays', '16'),
 ('megaraid', 'Controller_0', 'SupportTheOceWithoutAddingDrives', 'Yes'),
 ('megaraid', 'Controller_0', 'EnableShieldState', 'No'),
 ('megaraid', 'Controller_0', 'UpgradeKey', 'Absent'),
 ('megaraid', 'Controller_0', 'SecurityKeyAssigned', 'No'),
 ('megaraid', 'Controller_0', 'PostDelay', '90 seconds'),
 ('megaraid', 'Controller_0', 'ClusterActive', 'No'),
 ('megaraid', 'Controller_0', 'MaintainPdFailHistory', 'No'),
 ('megaraid', 'Controller_0', 'RestoreHotSpareOnInsertion', 'No'),
 ('megaraid', 'Controller_0', 'AlarmControl', 'Yes'),
 ('megaraid', 'Controller_0', 'EccBucketSize', '15'),
 ('megaraid', 'Controller_0', 'EccBucketCount', '0'),
 ('megaraid', 'Controller_0', 'SecurityKeyFailed', 'No'),
 ('megaraid', 'Controller_0', 'PrebootCliEnabled', 'No'),
 ('megaraid', 'Controller_0', 'Alarm', 'Disabled'),
 ('megaraid', 'Controller_0', 'InterruptThrottleActiveCount', '16'),
 ('megaraid', 'Controller_0', 'DiskCachePolicy', 'Yes'),
 ('megaraid', 'Controller_0', 'BatteryFru', 'N/A'),
 ('megaraid', 'Controller_0', 'DenyStpPassthrough', 'No'),
 ('megaraid', 'Controller_0', 'CheckConsistencyRate', '30%'),
 ('megaraid', 'Controller_0', 'PatrolReadRate', 'Yes'),
 ('megaraid', 'Controller_0', 'DefaultSpinDownTimeInMinutes', '30'),
 ('megaraid', 'Controller_0', 'BgiRate', 'Yes'),
 ('megaraid', 'Controller_0', 'DeviceInterface', 'PCIE'),
 ('megaraid', 'Controller_0', 'DenySmpPassthrough', 'No'),
 ('megaraid', 'Controller_0', 'MaxDrivesToSpinupAtOneTime', '4'),
 ('megaraid', 'Controller_0', 'TemperatureSensorForController', 'Present'),
 ('megaraid', 'Controller_0', 'MaxLdPerArray', '16'),
 ('megaraid', 'Controller_0', 'PowerSavings', 'Yes'),
 ('megaraid', 'Controller_0', 'DirtyLedShowsDriveActivity', 'No'),
 ('megaraid', 'Controller_0', 'ZcrConfig', 'Unknown'),
 ('megaraid', 'Controller_0', 'RaidLevelSupported', "['RAID0', 'RAID1', 'RAID5', 'RAID00', 'RAID10', 'RAID50', 'PRL 11', 'PRL 11 with spanning', 'PRL11-RLQ0 DDF layout with no span', 'PRL11-RLQ0 DDF layout with span']"),
 ('megaraid', 'Controller_0', 'ClusterMode', 'Disabled'),
 ('megaraid', 'Controller_0', 'Un-CertifiedHardDiskDrives', 'Allow'),
 ('megaraid', 'Controller_0', 'AllowSsdSas/SataMixInVd', 'No'),
 ('megaraid', 'Controller_0', 'ProductName', 'PERC H310 Mini'),
 ('megaraid', 'Controller_0', 'CoercionMode', '128MB'),
 ('megaraid', 'Controller_0', 'PhyPolaritysplit', '0'),
 ('megaraid', 'Controller_0', 'RestoreHotspareOnInsertion', 'Disabled'),
 ('megaraid', 'Controller_0', 'Chiprevision', 'B2'),
 ('megaraid', 'Controller_0', 'TemperatureSensorForRoc', 'Present'),
 ('megaraid', 'Controller_0', 'AllowedMixing', ''),
 ('megaraid', 'Controller_0', 'DisableJoinMirror', 'Yes'),
 ('megaraid', 'Controller_0', 'MinStripSize', '64 KB'),
 ('megaraid', 'Controller_0', 'Subdeviceid', '1f50'),
 ('megaraid', 'Controller_0', 'AllowMixedRedundancyOnArray', 'No'),
 ('megaraid', 'Controller_0', 'ControllerId', '0'),
 ('megaraid', 'Controller_0', 'PredictiveFailPollInterval', '300sec'),
 ('megaraid', 'Controller_0', 'MaxStripSize', '64 KB'),
 ('megaraid', 'Controller_0', 'Nvram', 'Present'),
 ('megaraid', 'Controller_0', 'ClusterPermitted', 'No'),
 ('megaraid', 'Controller_0', 'ZeroBasedEnclosureEnumeration', 'Yes'),
 ('megaraid', 'Controller_0', 'DenyCc', 'No'),
 ('megaraid', 'Controller_0', 'RevertibleHotSpares', 'Yes'),
 ('megaraid', 'Controller_0', 'MaxNumberOfVds', '16'),
 ('megaraid', 'Controller_0', 'Bbu', 'No'),
 ('megaraid', 'Controller_0', 'MaxConfigurableCachecadeSize', '0 GB'),
 ('megaraid', 'Controller_0', 'ReconstructionRate', '30%'),
 ('megaraid', 'Controller_0', 'TtyLogInFlash', 'Yes'),
 ('megaraid', 'Controller_0', 'ClusterSupport', 'No'),
 ('megaraid', 'Controller_0', 'FlushTime', '4 seconds'),
 ('megaraid', 'Controller_0', 'EnableLdbbm', 'Yes'),
 ('megaraid', 'Controller_0', 'MaxParallelCommands', '31'),
 ('megaraid', 'Controller_0', 'Enablecrashdump', 'No'),
 ('megaraid', 'Controller_0', 'IoPolicy', 'No'),
 ('megaraid', 'Controller_0', 'ReconstructRate', 'Yes'),
 ('megaraid', 'Controller_0', 'AllowHddSas/SataMixInVd', 'No'),
 ('megaraid', 'Controller_0', 'DenyForceGood/Bad', 'No'),
 ('megaraid', 'Controller_0', 'PfkInNvram', 'No'),
 ('megaraid', 'Controller_0', 'GlobalHotSpares', 'Yes'),
 ('megaraid', 'Controller_0', 'PhysicalDevices', '3'),
 ('megaraid', 'Controller_0', 'EccBucketLeakRate', '1440 Minutes'),
 ('megaraid', 'Controller_0', 'MaxSgeCount', '60'),
 ('megaraid', 'Controller_0', 'Disks', '2'),
 ('megaraid', 'Controller_0', 'BackgroundRate', '30'),
 ('megaraid', 'Controller_0', 'HostInterface', 'PCIE'),
 ('megaraid', 'Controller_0', 'ReadPolicy', 'None'),
 ('megaraid', 'Controller_0', 'HostRequestReordering', 'Enabled'),
 ('megaraid', 'Controller_0', 'ImageVersionsInFlash', ''),
 ('megaraid', 'Controller_0', 'AllowSataInCluster', 'No'),
 ('megaraid', 'Controller_0', 'Subvendorid', '1028'),
 ('megaraid', 'Controller_0', 'SasDisable', 'No'),
 ('megaraid', 'Controller_0', 'BiosContinueOnError', '0'),
 ('megaraid', 'Controller_0', 'CacheWhenBbuBad', 'Disabled'),
 ('megaraid', 'Controller_0', 'ForceOffline', 'Yes'),
 ('megaraid', 'Controller_0', 'Mfg.Date', '01/11/14'),
 ('megaraid', 'Controller_0', 'DefaultLdPowersavePolicy', 'Controller Defined'),
 ('megaraid', 'Controller_0', 'MaxSpansPerVd', '8'),
 ('megaraid', 'Controller_0', 'DisablePuncturing', 'No'),
 ('megaraid', 'Controller_0', 'EnableWebBios', 'No'),
 ('megaraid', 'Controller_0', 'SupportSecurity', 'No'),
 ('megaraid', 'Controller_0', 'DeviceId', '73'),
 ('megaraid', 'Controller_0', 'ForceOnline', 'Yes'),
 ('megaraid', 'Controller_0', 'TreatSingleSpanR1EAsR10', 'Yes'),
 ('megaraid', 'Controller_0', 'Degraded', '0'),
 ('megaraid', 'Controller_0', 'VirtualDrives', '1'),
 ('megaraid', 'Controller_0', 'LinkSpeed', '0'),
 ('megaraid', 'Controller_0', 'RebuildRate', 'Yes'),
 ('megaraid', 'Controller_0', 'CurrentBootMode', 'Normal'),
 ('megaraid', 'Controller_0', 'PrRate', '30%'),
 ('megaraid', 'Controller_0', 'DisableOnlinePfkChange', 'No'),
 ('megaraid', 'Controller_0', 'Memory', 'Absent'),
 ('megaraid', 'Controller_0', 'Offline', '0'),
 ('megaraid', 'Controller_0', 'FailedDisks', '0'),
 ('megaraid', 'Controller_0', 'WritePolicy', 'WT'),
 ('megaraid', 'Controller_0', 'BootBlockVersion', '2.02.00.00-0001'),
 ('megaraid', 'Controller_0', 'BlockSsdWriteDiskCacheChange', 'No'),
 ('megaraid', 'Controller_0', 'EnableCopybackOnSmart', 'No'),
 ('megaraid', 'Controller_0', 'MemoryCorrectableErrors', '0'),
 ('megaraid', 'Controller_0', 'DisableSpinDownOfHotSpares', 'Yes'),
 ('megaraid', 'Controller_0', 'LedShowDriveActivity', 'Yes'),
 ('megaraid', 'Controller_0', 'NumberOfFrontendPort', '0'),
 ('megaraid', 'Controller_0', 'CcRate', 'Yes'),
 ('megaraid', 'Controller_0', 'BatteryWarning', 'Disabled'),
 ('megaraid', 'Controller_0', 'AllowCtrlEncryption', 'No'),
 ('megaraid', 'Controller_0', 'ReworkDate', '01/11/14'),
 ('megaraid', 'Controller_0', 'SpinDownTime', '30'),
 ('megaraid', 'Controller_0', 'AllowMixInEnclosure', 'Yes'),
 ('megaraid', 'Controller_0', 'EnableSpinDownOfUnconfiguredDrives', 'No'),
 ('megaraid', 'Controller_0', 'Ctrl-RVersion', '3.00-0022'),
 ('megaraid', 'Controller_0', 'EnableCopybackToSsdOnSmartError', 'No'),
 ('megaraid', 'Controller_0', 'PrCorrectUnconfiguredAreas', 'Yes'),
 ('megaraid', 'Controller_0', 'RevisionNo', 'A07'),
 ('megaraid', 'Controller_0', 'SerialDebugger', 'Present'),
 ('megaraid', 'Controller_0', 'SerialNo', '4180120'),
 ('megaraid', 'Controller_0', 'Tpm', 'Absent'),
 ('megaraid', 'Controller_0', 'CachedIo', 'No'),
 ('megaraid', 'Controller_0', 'MaximumNumberOfDirectAttachedDrivesToSpinUpIn1Min', '20'),
 ('megaraid', 'Controller_0', 'AutoDetectBackplaneEnabled', 'SGPIO/i2c SEP'),
 ('megaraid', 'Controller_0', 'ControllerTemperature', '32  degree Celcius'),
 ('megaraid', 'Controller_0', 'DenyMissingReplace', 'No'),
 ('megaraid', 'Controller_0', 'PhyPolarity', '0'),
 ('megaraid', 'Controller_0', 'DedicatedHotSpare', 'Yes'),
 ('megaraid', 'Controller_0', 'ForeignConfigImport', 'Yes'),
 ('megaraid', 'Controller_0', 'LoadBalanceMode', 'Auto'),
 ('megaraid', 'Controller_0', 'AccessPolicy', 'Yes'),
 ('megaraid', 'Controller_0', 'BiosErrorHandling', 'Stop On Errors'),
 ('megaraid', 'Controller_0', 'EnableSsdPatrolRead', 'No'),
 ('megaraid', 'Controller_0', 'AutoRebuild', 'Enabled'),
 ('megaraid', 'Controller_0', 'CurrentSizeOfCachecade', '0 GB'),
 ('megaraid', 'Controller_0', 'FwVersion', '2.120.14-2138'),
 ('megaraid', 'Controller_0', 'AutoDetectBackplaneEnable', 'SGPIO/i2c SEP'),
 ('megaraid', 'Controller_0', 'SupportPfk', 'No'),
 ('megaraid', 'Controller_0', 'SmartMode', 'Mode 6'),
 ('megaraid', 'Controller_0', 'StripSize', '64kB'),
 ('megaraid', 'Controller_0', 'Spanning', 'Yes'),
 ('megaraid', 'Controller_0', 'OnBoardExpander', 'Absent'),
 ('megaraid', 'Controller_0', 'Port', 'Address'),
cardiff: Avoid issues with special filename during diff

When calling diff, we have to be sure that no special char is part of
the filenames we manage. To avoid any bash issue, let's protect
filenames with ''
cardiff: Adding megaraid support

When diffing megaraid systems, let's ignore the specific data and
compute the diff about the rest.