From 74dbce02aedc347af19e1b4f26debf2125352932 Mon Sep 17 00:00:00 2001 From: oothman Date: Wed, 22 Dec 2021 13:20:02 +0100 Subject: [PATCH] Updating the bmclib dependency. Ran `gofumpt -l -w .` after that. --- go.mod | 2 +- go.sum | 16 ++++++++ pkg/butler/execute.go | 2 +- pkg/inventory/dora.go | 2 +- pkg/inventory/enc.go | 2 +- .../bmc-toolbox/bmclib/discover/probe.go | 2 +- .../bmc-toolbox/bmclib/providers/dell/dell.go | 4 +- .../bmclib/providers/dell/idrac8/configure.go | 37 ++++++++++--------- .../bmclib/providers/dell/idrac8/helpers.go | 29 --------------- .../bmclib/providers/dell/idrac8/query.go | 2 +- .../bmclib/providers/dell/idrac9/configure.go | 2 +- .../bmclib/providers/dell/idrac9/helpers.go | 4 +- .../bmclib/providers/dell/idrac9/model.go | 7 +++- .../providers/dell/idrac9/redfish_helpers.go | 4 +- .../providers/hp/c7000/setupConnections.go | 2 +- .../bmclib/providers/hp/ilo/configure.go | 14 +++---- .../supermicro/supermicrox/configure.go | 12 +++--- .../supermicro/supermicrox11/configure.go | 12 +++--- .../github.com/bmc-toolbox/bmclogin/login.go | 26 ++++++++++--- .../golang.org/x/sys/windows/types_windows.go | 1 - vendor/modules.txt | 2 +- 21 files changed, 94 insertions(+), 90 deletions(-) delete mode 100644 vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/helpers.go diff --git a/go.mod b/go.mod index f7582d75..6a975590 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/bmc-toolbox/bmcbutler go 1.14 require ( - github.com/bmc-toolbox/bmclib v0.4.13 + github.com/bmc-toolbox/bmclib v0.4.14 github.com/bmc-toolbox/bmclogin v0.0.3 github.com/bmc-toolbox/gin-go-metrics v0.0.0-20190425145145-130c9ad985ff github.com/gammazero/deque v0.0.0-20190130191400-2afb3858e9c7 // indirect diff --git a/go.sum b/go.sum index 6360bb07..a6e370d2 100644 --- a/go.sum +++ b/go.sum @@ -29,20 +29,26 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bmc-toolbox/bmclib v0.2.8/go.mod h1:V1ynUIaaWF6Ycxs5/h1mhCURaYhu4rRWn2NsvP74/KA= github.com/bmc-toolbox/bmclib v0.4.13 h1:JOJvQ14Ns8HL2/SW358kJHlBMPdYTKwDFeCYDORoB7Q= github.com/bmc-toolbox/bmclib v0.4.13/go.mod h1:0WeM06Sacej9UMbt6yFtIRfrwmsl5IK2f4sAUMaNN+4= +github.com/bmc-toolbox/bmclib v0.4.14 h1:G8bBF/awNoZB4FWUJ8/roSwCoYo0e1V5jy5OkAz6W0I= +github.com/bmc-toolbox/bmclib v0.4.14/go.mod h1:9YhAIIwp9tQtlo1LZtN5Qd89e+RfvgQ62ikbreEKOs0= github.com/bmc-toolbox/bmclogin v0.0.3 h1:TlaiA+9qhL5zGLm8LWSLKqfknV8ByR5Ge0HCGNQhtpE= github.com/bmc-toolbox/bmclogin v0.0.3/go.mod h1:eKb7WSyDadrzy0//gHywlz1FjgpZQXbW/ro8AsLbO4o= github.com/bmc-toolbox/gin-go-metrics v0.0.0-20190425145145-130c9ad985ff h1:fcp5EaStADQBTjrYL4pUtn4xknLA3CqJKkQd1HSSEdQ= github.com/bmc-toolbox/gin-go-metrics v0.0.0-20190425145145-130c9ad985ff/go.mod h1:JgW/TlIv2rVW1dIFBSUY61L4Fz4fbSQco8hd8BDxOtw= github.com/bombsimon/logrusr v1.0.0 h1:CTCkURYAt5nhCCnKH9eLShYayj2/8Kn/4Qg3QfiU+Ro= github.com/bombsimon/logrusr v1.0.0/go.mod h1:Jq0nHtvxabKE5EMwAAdgTaz7dfWE8C4i11NOltxGQpc= +github.com/cenkalti/backoff/v4 v4.0.2 h1:JIufpQLbh4DkbQoii76ItQIUFzevQSqOLZca4eamEDs= github.com/cenkalti/backoff/v4 v4.0.2/go.mod h1:eEew/i+1Q6OrCDZh3WiXYv3+nJwBASZ8Bog/87DQnVg= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= @@ -76,6 +82,7 @@ github.com/gammazero/deque v0.0.0-20190130191400-2afb3858e9c7 h1:D2LrfOPgGHQprIx github.com/gammazero/deque v0.0.0-20190130191400-2afb3858e9c7/go.mod h1:GeIq9qoE43YdGnDXURnmKTnGg15pQz4mYkXSTChbneI= github.com/gammazero/workerpool v0.0.0-20181230203049-86a96b5d5d92 h1:EipXK6U05IQ2wtuFRn4k3h0+2lXypzItoXGVyf4r9Io= github.com/gammazero/workerpool v0.0.0-20181230203049-86a96b5d5d92/go.mod h1:w9RqFVO2BM3xwWEcAB8Fwp0OviTBBEiRmSBDfbXnd3w= +github.com/gebn/bmc v0.0.0-20200904230046-a5643220ab2a h1:AyC9EwIaY0IwLIxj/tZZDdFgNQ9MJk0jlE+luzCTIMo= github.com/gebn/bmc v0.0.0-20200904230046-a5643220ab2a/go.mod h1:VlKWLGIyVIhqHRj4hp9lx20lZcSn9PgNKRmDwcyRT7w= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= @@ -289,6 +296,7 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gopacket v1.1.18 h1:lum7VRA9kdlvBi7/v2p7/zcbkduHaCH/SVVyurs7OpY= github.com/google/gopacket v1.1.18/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -419,6 +427,7 @@ github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/microcosm-cc/bluemonday v1.0.1 h1:SIYunPjnlXcW+gVfvm0IlSeR5U3WZUOLfVmqg85Go44= github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= @@ -473,17 +482,21 @@ github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndr github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.7.1 h1:NTGy1Ja9pByO+xAeH/qiWnLrKtr3hJPNjaVUwnjpdpA= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.10.0 h1:RyRA7RzGXQZiW+tGMr7sxa85G1z0yOpM1qq5c8lNawc= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.1.3 h1:F0+tqvhOksq22sc6iCHF5WGlWjdwj92p0udFh1VFBS8= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a h1:9ZKAASQSHhDYGoxY8uLVpewe1GDZ2vu2Tr/vTdVAkFQ= @@ -549,6 +562,8 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/stmcginnis/gofish v0.8.0/go.mod h1:BGtQsY16q48M2K6KDAs38QXtNoHrkXaY/WZ/mmyMgNc= +github.com/stmcginnis/gofish v0.12.0 h1:6UbNePjA++XkHtCKKLr7envKENxljJ1YyD8f4vS3Zeo= +github.com/stmcginnis/gofish v0.12.0/go.mod h1:BGtQsY16q48M2K6KDAs38QXtNoHrkXaY/WZ/mmyMgNc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= @@ -556,6 +571,7 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= diff --git a/pkg/butler/execute.go b/pkg/butler/execute.go index d8ae936a..3805dc57 100644 --- a/pkg/butler/execute.go +++ b/pkg/butler/execute.go @@ -77,7 +77,7 @@ func (b *Butler) executeCommand(command string, asset *asset.Asset) (err error) bmc.Close(context.TODO()) case devices.Cmc: chassis := client.(devices.Cmc) - //b.executeCommandChassis(chassis, command) + // b.executeCommandChassis(chassis, command) log.WithFields(logrus.Fields{ "component": component, }).Info("Command executed.") diff --git a/pkg/inventory/dora.go b/pkg/inventory/dora.go index 91c7727e..1c0333ae 100644 --- a/pkg/inventory/dora.go +++ b/pkg/inventory/dora.go @@ -244,7 +244,7 @@ func (d *Dora) AssetIter() { component := "retrieveInventoryAssetsDora" defer close(d.AssetsChan) - //defer metrics.MeasureSince(component, time.Now()) + // defer metrics.MeasureSince(component, time.Now()) log := d.Log diff --git a/pkg/inventory/enc.go b/pkg/inventory/enc.go index a4db94ef..c49fb308 100644 --- a/pkg/inventory/enc.go +++ b/pkg/inventory/enc.go @@ -424,7 +424,7 @@ func (e *Enc) AssetIter() { go func() { <-e.StopChan; interrupt = true }() defer close(e.AssetsChan) - //defer d.MetricsEmitter.MeasureSince(component, time.Now()) + // defer d.MetricsEmitter.MeasureSince(component, time.Now()) locations := strings.Join(e.Config.Locations, ",") for _, assetType := range e.FilterAssetType { diff --git a/vendor/github.com/bmc-toolbox/bmclib/discover/probe.go b/vendor/github.com/bmc-toolbox/bmclib/discover/probe.go index 68ec1619..7d56c300 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/discover/probe.go +++ b/vendor/github.com/bmc-toolbox/bmclib/discover/probe.go @@ -340,7 +340,7 @@ func (p *Probe) quanta(ctx context.Context, log logr.Logger) (bmcConnection inte } defer resp.Body.Close() - defer io.Copy(ioutil.Discard, resp.Body) + defer io.Copy(ioutil.Discard, resp.Body) // nolint payload, err := ioutil.ReadAll(resp.Body) if err != nil { diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/dell.go b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/dell.go index 597a7515..c217f19f 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/dell.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/dell.go @@ -126,7 +126,7 @@ type PsuData struct { PsuPartNum string `json:"psuPartNum"` } -// UnmarshalJSON custom unmarshaling for this "special" data structure +// UnmarshalJSON custom unmarshalling for this "special" data structure func (d *PsuStatus) UnmarshalJSON(data []byte) error { var jsonMapping map[string]json.RawMessage if err := json.Unmarshal(data, &jsonMapping); err != nil { @@ -403,7 +403,7 @@ type CMCSlotMacWwn struct { SlotMacWwnList map[int]CMCWWNBlade `json:"-"` } -// UnmarshalJSON custom unmarshaling for this "special" data structure +// UnmarshalJSON custom unmarshalling for this "special" data structure func (d *CMCSlotMacWwn) UnmarshalJSON(data []byte) error { d.SlotMacWwnList = make(map[int]CMCWWNBlade) var slotMacWwn map[string]json.RawMessage diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/configure.go b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/configure.go index b9400491..2e649a10 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/configure.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/configure.go @@ -65,13 +65,14 @@ func escapeLdapString(s string) string { return r } -func (i *IDrac8) RunSshCommand(command string, id int) (success bool) { +func (i *IDrac8) runSshCommand(command string, id int) (success bool) { output, err := i.sshClient.Run(command) if err != nil { // "The specified value is not allowed to be configured if the user name \nor password is blank\n" // is an acceptable error while cleaning. Don't log that. - if !strings.Contains(err.Error(), "is blank") { - msg := fmt.Sprintf("IDRAC8 User(): Unable to reset existing user (ID %d).", id) + errString := err.Error() + if !strings.Contains(errString, "is blank") { + msg := fmt.Sprintf("IDRAC8 User(): Unable to reset existing user (ID %d). Error: %s", id, errString) i.log.V(1).Error(err, msg, "step", "applyUserParams", "IP", i.ip, @@ -82,7 +83,7 @@ func (i *IDrac8) RunSshCommand(command string, id int) (success bool) { } if !strings.Contains(output, "successful") { - msg := fmt.Sprintf("IDRAC8 User(): Unable to reset existing user (ID %d).", id) + msg := fmt.Sprintf("IDRAC8 User(): Unable to reset existing user (ID %d). Output: %s", id, output) // "The specified value is not allowed to be configured if the user name \nor password is blank\n" // is an acceptable error while cleaning. Don't log that. if !strings.Contains(output, "is blank") { @@ -168,27 +169,27 @@ func (i *IDrac8) User(cfgUsers []*cfgresources.User) (err error) { mainCommand := fmt.Sprintf("racadm set iDRAC.Users.%d.", newID) command := mainCommand + fmt.Sprintf("Username \"%s\"", cfgUser.Name) - i.RunSshCommand(command, newID) + i.runSshCommand(command, newID) command = mainCommand + fmt.Sprintf("Password \"%s\"", cfgUser.Password) - i.RunSshCommand(command, newID) + i.runSshCommand(command, newID) command = mainCommand + "Enable \"Enabled\"" - i.RunSshCommand(command, newID) + i.runSshCommand(command, newID) if cfgUser.SolEnable { command = mainCommand + "SolEnable \"Enabled\"" } else { command = mainCommand + "SolEnable \"Disabled\"" } - i.RunSshCommand(command, newID) + i.runSshCommand(command, newID) if cfgUser.SNMPv3Enable { command = mainCommand + "SNMPv3Enable \"Enabled\"" } else { command = mainCommand + "SNMPv3Enable \"Disabled\"" } - i.RunSshCommand(command, newID) + i.runSshCommand(command, newID) if cfgUser.Role == "admin" { // The number comes from 0x1FF. We reverse-engineered that by setting the user @@ -220,7 +221,7 @@ func (i *IDrac8) User(cfgUsers []*cfgresources.User) (err error) { } else { command = mainCommand + "Privilege 0" // No Access! } - i.RunSshCommand(command, newID) + i.runSshCommand(command, newID) if cfgUser.Role == "admin" { command = mainCommand + "IpmiLanPrivilege 4" @@ -231,7 +232,7 @@ func (i *IDrac8) User(cfgUsers []*cfgresources.User) (err error) { } else { command = mainCommand + "IpmiLanPrivilege 15" // No Access! } - i.RunSshCommand(command, newID) + i.runSshCommand(command, newID) } for userID := 2; userID <= 16; userID++ { @@ -246,26 +247,26 @@ func (i *IDrac8) User(cfgUsers []*cfgresources.User) (err error) { // "The specified value is not allowed to be configured if the user name or password is blank." // That's why we give a temporary name, and then blank it at the end. command := mainCommand + fmt.Sprintf("Username \"TempUser%02d\"", userID) - i.RunSshCommand(command, userID) + i.runSshCommand(command, userID) command = mainCommand + "Enable \"Disabled\"" - i.RunSshCommand(command, userID) + i.runSshCommand(command, userID) command = mainCommand + "SolEnable \"Disabled\"" - i.RunSshCommand(command, userID) + i.runSshCommand(command, userID) command = mainCommand + "SNMPv3Enable \"Disabled\"" - i.RunSshCommand(command, userID) + i.runSshCommand(command, userID) command = mainCommand + "Privilege 0" - i.RunSshCommand(command, userID) + i.runSshCommand(command, userID) command = mainCommand + "IpmiLanPrivilege 15" - i.RunSshCommand(command, userID) + i.runSshCommand(command, userID) // Now, really clean the username. command = mainCommand + "Username \"\"" - i.RunSshCommand(command, userID) + i.runSshCommand(command, userID) } return nil diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/helpers.go b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/helpers.go deleted file mode 100644 index fd85efbe..00000000 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/helpers.go +++ /dev/null @@ -1,29 +0,0 @@ -package idrac8 - -import ( - "encoding/json" - "fmt" -) - -// PUTs user config -func (i *IDrac8) putUser(userID int, user UserInfo) error { - idracPayload := make(map[string]UserInfo) - idracPayload["iDRAC.Users"] = user - - payload, err := json.Marshal(idracPayload) - if err != nil { - return fmt.Errorf("error unmarshaling User payload: %w", err) - } - - endpoint := fmt.Sprintf("sysmgmt/2012/server/configgroup/iDRAC.Users.%d", userID) - statusCode, _, err := i.put(endpoint, payload) - if err != nil { - return fmt.Errorf("PUT request to set User config returned error: %w", err) - } - - if statusCode != 200 { - return fmt.Errorf("PUT request to set User config returned status code: %d", statusCode) - } - - return nil -} diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/query.go b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/query.go index a47ff8c8..dc9fafe6 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/query.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac8/query.go @@ -78,7 +78,7 @@ func (i *IDrac8) queryUsers() (usersInfo UsersInfo, err error) { endpoint := "data?get=user" - statusCode, response, err := i.post(endpoint, []byte{}, "") + statusCode, response, err := i.get(endpoint, &map[string]string{}) if err != nil || statusCode != 200 { if err == nil { err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/configure.go b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/configure.go index 13a2d3c3..f389fe8a 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/configure.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/configure.go @@ -167,7 +167,7 @@ func (i *IDrac9) User(cfgUsers []*cfgresources.User) (err error) { "HardwareType", i.HardwareType(), "Model", i.HardwareType(), ) - return errors.New(msg) + return errors.New(msg + " Error: " + err.Error()) } // This user is reserved for IDRAC usage, we can't delete it. diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/helpers.go b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/helpers.go index b840408e..f2b5da34 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/helpers.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/helpers.go @@ -13,7 +13,7 @@ func (i *IDrac9) putUser(userID int, user UserInfo) (err error) { payload, err := json.Marshal(idracPayload) if err != nil { - msg := fmt.Sprintf("Error unmarshaling user payload: %s", err) + msg := fmt.Sprintf("Error unmarshalling user payload: %s", err) return errors.New(msg) } @@ -35,7 +35,7 @@ func (i *IDrac9) putLdap(ldap Ldap) (err error) { payload, err := json.Marshal(idracPayload) if err != nil { - msg := fmt.Sprintf("Error unmarshaling Ldap payload: %s", err) + msg := fmt.Sprintf("Error unmarshalling Ldap payload: %s", err) return errors.New(msg) } diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/model.go b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/model.go index 6e6b44e2..0ae1e6f2 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/model.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/model.go @@ -1,7 +1,9 @@ package idrac9 -type UsersInfo map[int]UserInfo -type IdracUsers map[string]UsersInfo +type ( + UsersInfo map[int]UserInfo + IdracUsers map[string]UsersInfo +) // User struct declares user configuration payload. type UserInfo struct { @@ -572,6 +574,7 @@ var alertConfigPayload = []byte(`{ }`) // Timezones declares all known timezones, taken from the idrac web interface. +// nolint: spell var Timezones = map[string]string{ "Africa/Abidjan": "Africa/Abidjan", "Africa/Accra": "Africa/Accra", diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/redfish_helpers.go b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/redfish_helpers.go index c7efaa29..90496da4 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/redfish_helpers.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/dell/idrac9/redfish_helpers.go @@ -153,9 +153,9 @@ func (i *IDrac9) purgeJob(jobID string) (err error) { statusCode, _, err := i.queryRedfish("DELETE", endpoint, nil) if err != nil { - return fmt.Errorf("POST request to purge job %s failed with error %s!", jobID, err.Error()) + return fmt.Errorf("DELETE request to purge job %s failed with error %s!", jobID, err.Error()) } else if statusCode != 200 { - return fmt.Errorf("POST request to purge job %s failed with status code %d!", jobID, statusCode) + return fmt.Errorf("DELETE request to purge job %s failed with status code %d!", jobID, statusCode) } return nil diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/hp/c7000/setupConnections.go b/vendor/github.com/bmc-toolbox/bmclib/providers/hp/c7000/setupConnections.go index 94ce9cc4..52768fbd 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/hp/c7000/setupConnections.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/hp/c7000/setupConnections.go @@ -48,7 +48,7 @@ func (c *C7000) httpLogin() (err error) { return err } - //req.Header.Add("Content-Type", "application/soap+xml; charset=utf-8") + // req.Header.Add("Content-Type", "application/soap+xml; charset=utf-8") req.Header.Add("Content-Type", "text/plain;charset=UTF-8") reqDump, _ := httputil.DumpRequestOut(req, true) diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/hp/ilo/configure.go b/vendor/github.com/bmc-toolbox/bmclib/providers/hp/ilo/configure.go index 1ec30b5e..e77d7492 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/hp/ilo/configure.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/hp/ilo/configure.go @@ -172,7 +172,7 @@ func (i *Ilo) User(users []*cfgresources.User) (err error) { statusCode, response, err := i.post(endpoint, payload) if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -247,7 +247,7 @@ func (i *Ilo) Syslog(cfg *cfgresources.Syslog) (err error) { statusCode, response, err := i.post(endpoint, payload) if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -298,7 +298,7 @@ func (i *Ilo) SetLicense(cfg *cfgresources.License) (err error) { statusCode, response, err := i.post(endpoint, payload) if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -405,7 +405,7 @@ func (i *Ilo) Ntp(cfg *cfgresources.Ntp) (err error) { statusCode, response, err := i.post(endpoint, payload) if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -462,7 +462,7 @@ func (i *Ilo) LdapGroups(cfgGroups []*cfgresources.LdapGroup, cfgLdap *cfgresour statusCode, response, err := i.post(endpoint, payload) if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -552,7 +552,7 @@ func (i *Ilo) LdapGroups(cfgGroups []*cfgresources.LdapGroup, cfgLdap *cfgresour statusCode, response, err := i.post(endpoint, payload) if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -646,7 +646,7 @@ func (i *Ilo) Ldap(cfg *cfgresources.Ldap) (err error) { statusCode, response, err := i.post(endpoint, payload) if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/supermicro/supermicrox/configure.go b/vendor/github.com/bmc-toolbox/bmclib/providers/supermicro/supermicrox/configure.go index 1bdf6c8b..c81abe0f 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/supermicro/supermicrox/configure.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/supermicro/supermicrox/configure.go @@ -164,7 +164,7 @@ func (s *SupermicroX) User(users []*cfgresources.User) (err error) { statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -218,7 +218,7 @@ func (s *SupermicroX) Network(cfg *cfgresources.Network) (reset bool, err error) statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -308,7 +308,7 @@ func (s *SupermicroX) Ntp(cfg *cfgresources.Ntp) (err error) { statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -429,7 +429,7 @@ func (s *SupermicroX) LdapGroups(cfgGroups []*cfgresources.LdapGroup, cfgLdap *c statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -495,7 +495,7 @@ func (s *SupermicroX) Syslog(cfg *cfgresources.Syslog) (err error) { statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -519,7 +519,7 @@ func (s *SupermicroX) Syslog(cfg *cfgresources.Syslog) (err error) { statusCode, err = s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } diff --git a/vendor/github.com/bmc-toolbox/bmclib/providers/supermicro/supermicrox11/configure.go b/vendor/github.com/bmc-toolbox/bmclib/providers/supermicro/supermicrox11/configure.go index 0500e374..98cfb770 100644 --- a/vendor/github.com/bmc-toolbox/bmclib/providers/supermicro/supermicrox11/configure.go +++ b/vendor/github.com/bmc-toolbox/bmclib/providers/supermicro/supermicrox11/configure.go @@ -182,7 +182,7 @@ func (s *SupermicroX) User(users []*cfgresources.User) (err error) { response, statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -250,7 +250,7 @@ func (s *SupermicroX) Network(cfg *cfgresources.Network) (reset bool, err error) _, statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -348,7 +348,7 @@ func (s *SupermicroX) Ntp(cfg *cfgresources.Ntp) (err error) { _, statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -492,7 +492,7 @@ func (s *SupermicroX) LdapGroups(cfgGroups []*cfgresources.LdapGroup, cfgLdap *c _, statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -571,7 +571,7 @@ func (s *SupermicroX) Syslog(cfg *cfgresources.Syslog) (err error) { _, statusCode, err := s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } @@ -596,7 +596,7 @@ func (s *SupermicroX) Syslog(cfg *cfgresources.Syslog) (err error) { _, statusCode, err = s.post(endpoint, &form, []byte{}, "") if err != nil || statusCode != 200 { if err == nil { - err = fmt.Errorf("Received a %d status code from the GET request to %s.", statusCode, endpoint) + err = fmt.Errorf("Received a %d status code from the POST request to %s.", statusCode, endpoint) } else { err = fmt.Errorf("POST request to %s failed with error: %s", endpoint, err.Error()) } diff --git a/vendor/github.com/bmc-toolbox/bmclogin/login.go b/vendor/github.com/bmc-toolbox/bmclogin/login.go index 9ab8734a..c979b92d 100644 --- a/vendor/github.com/bmc-toolbox/bmclogin/login.go +++ b/vendor/github.com/bmc-toolbox/bmclogin/login.go @@ -74,15 +74,19 @@ func (p *Params) Login() (connection interface{}, loginInfo LoginInfo, err error } defer close(p.doneChan) - + // for credential map in slice for _, credentials := range p.Credentials { + // for each credential k, v for user, pass := range credentials { + // for each IpAddress for _, ip := range p.IpAddresses { if ip == "" { continue } + // for each retry attempt for t := 0; t <= p.Retries; t++ { + if interrupt { return connection, loginInfo, errInterrupted } @@ -101,12 +105,14 @@ func (p *Params) Login() (connection interface{}, loginInfo LoginInfo, err error return connection, loginInfo, err } - // If the IP is not active, break out of this loop to try credentials on the next IP. + // if the IP is not active, break out of this loop + // to try credentials on the next IP. if ipInactive { - // If we're able to login to an asset that has a single IP address: + + // if we're able to login to asset that has a single IP address, if len(p.IpAddresses) == 1 { loginInfo.WorkingCredentials = map[string]string{user: pass} - return connection, loginInfo, nil + return connection, loginInfo, err } break } @@ -119,7 +125,7 @@ func (p *Params) Login() (connection interface{}, loginInfo LoginInfo, err error loginInfo.ActiveIpAddress = ip loginInfo.WorkingCredentials = map[string]string{user: pass} - return connection, loginInfo, nil + return connection, loginInfo, err } loginInfo.FailedCredentials = append(loginInfo.FailedCredentials, map[string]string{user: pass}) @@ -135,7 +141,9 @@ func (p *Params) Login() (connection interface{}, loginInfo LoginInfo, err error return connection, loginInfo, errors.New("All attempts to login failed.") } +// attemptLogin tries to scanAndConnect func (p *Params) attemptLogin(ip string, user string, pass string) (connection interface{}, ipInactive bool, err error) { + // Scan BMC type and connect connection, err = discover.ScanAndConnect(ip, user, pass) if err != nil { return connection, ipInactive, errors.New("ScanAndConnect attempt unsuccessful.") @@ -155,6 +163,7 @@ func (p *Params) attemptLogin(ip string, user string, pass string) (connection i fmt.Sprintf("BMC login attempt failed, account: %s", user)) } + // successful login. return connection, ipInactive, nil case devices.Cmc: chassis := connection.(devices.Cmc) @@ -164,14 +173,19 @@ func (p *Params) attemptLogin(ip string, user string, pass string) (connection i fmt.Sprintf("Chassis login attempt failed, account: %s", user)) } - // A chassis has one or more controllers. + // A chassis has one or more controllers // We return true if this controller is active. if !chassis.IsActive() { ipInactive = true + return connection, ipInactive, nil } return connection, ipInactive, nil default: return connection, ipInactive, errUnrecognizedDevice } + + // we won't ever end up here + // return connection, ipInactive, errors.New( + // fmt.Sprintf("Unable to login")) } diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 18520ec2..a50db81c 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -1381,7 +1381,6 @@ type DataBlob struct { Size uint32 Data *byte } - type ( CryptIntegerBlob DataBlob CryptUintBlob DataBlob diff --git a/vendor/modules.txt b/vendor/modules.txt index 7a3be2ba..aa0496e6 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,4 +1,4 @@ -# github.com/bmc-toolbox/bmclib v0.4.13 +# github.com/bmc-toolbox/bmclib v0.4.14 ## explicit github.com/bmc-toolbox/bmclib/cfgresources github.com/bmc-toolbox/bmclib/devices