Handle nonexisting bonding_masters file (#569)
* silently ignore nonexisting bonding_masters file Add an empty fixtures dir without a bonding_masters file to test. * Moved the check to the Update() method Dropped the empty test dir.pull/572/head
parent
e9aad0157c
commit
59f9b8c5c1
|
@ -23,6 +23,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
|
"github.com/prometheus/common/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
type bondingCollector struct {
|
type bondingCollector struct {
|
||||||
|
@ -52,8 +53,13 @@ func NewBondingCollector() (Collector, error) {
|
||||||
|
|
||||||
// Update reads and exposes bonding states, implements Collector interface. Caution: This works only on linux.
|
// Update reads and exposes bonding states, implements Collector interface. Caution: This works only on linux.
|
||||||
func (c *bondingCollector) Update(ch chan<- prometheus.Metric) error {
|
func (c *bondingCollector) Update(ch chan<- prometheus.Metric) error {
|
||||||
bondingStats, err := readBondingStats(sysFilePath("class/net"))
|
statusfile := sysFilePath("class/net")
|
||||||
|
bondingStats, err := readBondingStats(statusfile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
log.Debugf("Not collecting bonding, file does not exist: %s", statusfile)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for master, status := range bondingStats {
|
for master, status := range bondingStats {
|
||||||
|
|
Loading…
Reference in New Issue