summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Joseph <tomjoseph@in.ibm.com>2018-01-24 01:37:30 +0530
committerTom Joseph <tomjoseph@in.ibm.com>2018-02-01 23:52:42 +0530
commit98be5ace5bb25c52b1d833a6454a77c3bd2260be (patch)
treecafdf68908e1a40d53368e45c83dafa0abf596d6
parentbb3c54af21d619a88f5b4fd868ab7f3a74ee221d (diff)
downloadphosphor-mrw-tools-98be5ace5bb25c52b1d833a6454a77c3bd2260be.tar.gz
phosphor-mrw-tools-98be5ace5bb25c52b1d833a6454a77c3bd2260be.zip
sensor: Add metadata for sensor to handle SDR commands
a) Entity ID is read from the MRW for each sensor populated in yaml. b) Entity instance is populated for corresponding entity ID. c) Sensor name pattern is read from the config yaml. Change-Id: I933650f9c99f79ee60d5513cf7ff9b7f6b14b768 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
-rwxr-xr-xgen_ipmi_sensor.pl28
1 files changed, 25 insertions, 3 deletions
diff --git a/gen_ipmi_sensor.pl b/gen_ipmi_sensor.pl
index 30fc226..84b00c8 100755
--- a/gen_ipmi_sensor.pl
+++ b/gen_ipmi_sensor.pl
@@ -41,6 +41,7 @@ my $sensorTypeConfig = LoadFile($metaDataFile);
my @interestedTypes = keys %{$sensorTypeConfig};
my %types;
+my %entityDict;
@types{@interestedTypes} = ();
@@ -54,6 +55,8 @@ foreach my $target (sort keys %{$targetObj->getAllTargets()})
my $path = '';
my $obmcPath = '';
my $sensorName = '';
+ my $entityID = '';
+ my $entityInstance = '';
if ($targetObj->getTargetType($target) eq "unit-ipmi-sensor") {
@@ -61,6 +64,17 @@ foreach my $target (sort keys %{$targetObj->getAllTargets()})
#not interested in this sensortype
next if (not exists $types{$sensorName});
+ $entityID = $targetObj->getAttribute($target, "IPMI_ENTITY_ID");
+ if (exists ($entityDict{$entityID}))
+ {
+ $entityDict{$entityID}++;
+ }
+ else
+ {
+ $entityDict{$entityID} = '1';
+ }
+ $entityInstance = $entityDict{$entityID};
+
$sensorID = $targetObj->getAttribute($target, "IPMI_SENSOR_ID");
$sensorType = hex($targetObj->getAttribute($target,
@@ -101,11 +115,15 @@ foreach my $target (sort keys %{$targetObj->getAllTargets()})
my $serviceInterface =
$sensorTypeConfig->{$sensorName}->{"serviceInterface"};
my $readingType = $sensorTypeConfig->{$sensorName}->{"readingType"};
+ my $sensorNamePattern = $sensorTypeConfig->{$sensorName}->{"sensorNamePattern"};
- printDebug("$sensorID : $sensorName : $sensorType : $sensorReadingType :$obmcPath \n");
+ my $debug = "$sensorID : $sensorName : $sensorType : ";
+ $debug .= "$sensorReadingType : $entityID : $entityInstance : ";
+ $debug .= "$obmcPath \n";
+ printDebug("$debug");
writeToFile($sensorName,$sensorType,$sensorReadingType,$obmcPath,$serviceInterface,
- $readingType,$sensorTypeConfig,$fh);
+ $readingType,$sensorTypeConfig,$entityID,$entityInstance,$sensorNamePattern,$fh);
}
@@ -119,14 +137,18 @@ close $fh;
sub writeToFile
{
my ($sensorName,$sensorType,$sensorReadingType,$path,$serviceInterface,
- $readingType,$sensorTypeConfig,$fh) = @_;
+ $readingType,$sensorTypeConfig,$entityID,$entityInstance,
+ $sensorNamePattern,$fh) = @_;
+ print $fh " entityID: ".$entityID."\n";
+ print $fh " entityInstance: ".$entityInstance."\n";
print $fh " sensorType: ".$sensorType."\n";
print $fh " path: ".$path."\n";
print $fh " sensorReadingType: ".$sensorReadingType."\n";
print $fh " serviceInterface: ".$serviceInterface."\n";
print $fh " readingType: ".$readingType."\n";
+ print $fh " sensorNamePattern: ".$sensorNamePattern."\n";
print $fh " interfaces:"."\n";
my $interfaces = $sensorTypeConfig->{$sensorName}->{"interfaces"};
OpenPOWER on IntegriCloud