From 56aa89e5c86f38e566c6ecadb568c68cd9dcaea7 Mon Sep 17 00:00:00 2001 From: Robpol86 Date: Wed, 8 Mar 2017 08:38:36 -0800 Subject: [PATCH] Exporting Ipmi.Path to be set by config. (#2498) * Exporting Ipmi.Path to be set by config. Currently "path" is not exported, giving this error when users try to override the variable via telegraf.conf as per the sample config: `field corresponding to `path' is not defined in `*ipmi_sensor.Ipmi'` Exporting the variable solves the problem. * Updating changelog. --- CHANGELOG.md | 1 + plugins/inputs/ipmi_sensor/ipmi.go | 8 ++++---- plugins/inputs/ipmi_sensor/ipmi_test.go | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8418ffd21..3a8e586f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -75,6 +75,7 @@ be deprecated eventually. - [#2466](https://github.com/influxdata/telegraf/issues/2466): Telegraf can crash in LoadDirectory on 0600 files. - [#2215](https://github.com/influxdata/telegraf/issues/2215): Iptables input: document better that rules without a comment are ignored. - [#2483](https://github.com/influxdata/telegraf/pull/2483): Fix win_perf_counters capping values at 100. +- [#2498](https://github.com/influxdata/telegraf/pull/2498): Exporting Ipmi.Path to be set by config. ## v1.2.1 [2017-02-01] diff --git a/plugins/inputs/ipmi_sensor/ipmi.go b/plugins/inputs/ipmi_sensor/ipmi.go index b2389a675..0114812d3 100644 --- a/plugins/inputs/ipmi_sensor/ipmi.go +++ b/plugins/inputs/ipmi_sensor/ipmi.go @@ -17,7 +17,7 @@ var ( ) type Ipmi struct { - path string + Path string Servers []string } @@ -44,7 +44,7 @@ func (m *Ipmi) Description() string { } func (m *Ipmi) Gather(acc telegraf.Accumulator) error { - if len(m.path) == 0 { + if len(m.Path) == 0 { return fmt.Errorf("ipmitool not found: verify that ipmitool is installed and that ipmitool is in your PATH") } @@ -76,7 +76,7 @@ func (m *Ipmi) parse(acc telegraf.Accumulator, server string) error { } opts = append(opts, "sdr") - cmd := execCommand(m.path, opts...) + cmd := execCommand(m.Path, opts...) out, err := internal.CombinedOutputTimeout(cmd, time.Second*5) if err != nil { return fmt.Errorf("failed to run command %s: %s - %s", strings.Join(cmd.Args, " "), err, string(out)) @@ -149,7 +149,7 @@ func init() { m := Ipmi{} path, _ := exec.LookPath("ipmitool") if len(path) > 0 { - m.path = path + m.Path = path } inputs.Add("ipmi_sensor", func() telegraf.Input { return &m diff --git a/plugins/inputs/ipmi_sensor/ipmi_test.go b/plugins/inputs/ipmi_sensor/ipmi_test.go index 94dc066c8..84bcdcac0 100644 --- a/plugins/inputs/ipmi_sensor/ipmi_test.go +++ b/plugins/inputs/ipmi_sensor/ipmi_test.go @@ -14,7 +14,7 @@ import ( func TestGather(t *testing.T) { i := &Ipmi{ Servers: []string{"USERID:PASSW0RD@lan(192.168.1.1)"}, - path: "ipmitool", + Path: "ipmitool", } // overwriting exec commands with mock commands execCommand = fakeExecCommand @@ -118,7 +118,7 @@ func TestGather(t *testing.T) { } i = &Ipmi{ - path: "ipmitool", + Path: "ipmitool", } err = i.Gather(&acc)