From da75406310cf107efe530cc0111874106eacd93a Mon Sep 17 00:00:00 2001 From: davidnewhall2 Date: Tue, 17 Dec 2019 02:09:30 -0800 Subject: [PATCH] fixes --- Gopkg.lock | 4 ++-- pkg/inputunifi/input.go | 9 ++++++++- pkg/poller/config.go | 3 ++- pkg/poller/start.go | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index aa24b10e..67310aa2 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -107,11 +107,11 @@ [[projects]] branch = "master" - digest = "1:7a90fad47972b5ae06013d4685eb2f3007e7c92609a1399d2adf59fe04cd9b63" + digest = "1:331d56d3a24e9b8d203883c28803313af060ca5c350be0a9c0552b43f355ecd8" name = "golift.io/config" packages = ["."] pruneopts = "UT" - revision = "fe642c8392dc00d72ddcc47f05a06096bd5d054b" + revision = "1861b4270bf42ec3ccaf86871aa1cf6742564d0f" [[projects]] digest = "1:2883cea734f2766f41ff9c9d4aefccccc53e3d44f5c8b08893b9c218cf666722" diff --git a/pkg/inputunifi/input.go b/pkg/inputunifi/input.go index 9a4877f9..2ddc1f4f 100644 --- a/pkg/inputunifi/input.go +++ b/pkg/inputunifi/input.go @@ -108,14 +108,21 @@ func (u *InputUnifi) checkSites(c *Controller) error { return nil } + keep := []string{} + FIRST: for _, s := range c.Sites { for _, site := range sites { if s == site.Name { + keep = append(keep, s) continue FIRST } } - return fmt.Errorf("configured site not found on controller: %v", s) + u.LogErrorf("Configured site not found on controller %s: %v", c.Name, s) + } + + if c.Sites = keep; len(keep) < 1 { + c.Sites = []string{"all"} } return nil diff --git a/pkg/poller/config.go b/pkg/poller/config.go index a43caceb..3e1217f1 100644 --- a/pkg/poller/config.go +++ b/pkg/poller/config.go @@ -52,7 +52,7 @@ type Metrics struct { // Config represents the core library input data. type Config struct { - Poller `json:"poller" toml:"poller" xml:"poller" yaml:"poller"` + *Poller `json:"poller" toml:"poller" xml:"poller" yaml:"poller"` } // Poller is the global config values. @@ -103,6 +103,7 @@ func (u *UnifiPoller) ParseConfigs() error { // parseInterface parses the config file and environment variables into the provided interface. func (u *UnifiPoller) parseInterface(i interface{}) error { + config.ENVTag = "xml" // xml tag is better formatted for slices. // Parse config file into provided interface. if err := config.ParseFile(i, u.Flags.ConfigFile); err != nil { return err diff --git a/pkg/poller/start.go b/pkg/poller/start.go index e88daf24..34cba9da 100644 --- a/pkg/poller/start.go +++ b/pkg/poller/start.go @@ -12,7 +12,7 @@ import ( // New returns a new poller struct. func New() *UnifiPoller { - return &UnifiPoller{Config: &Config{}, Flags: &Flags{}} + return &UnifiPoller{Config: &Config{Poller: &Poller{}}, Flags: &Flags{}} } // Start begins the application from a CLI.