tinkerbell / pbnj

Service for interacting with BMCs
Apache License 2.0
109 stars 37 forks source link

Update Go version and dependencies and add --skipRedfishVersions flag #138

Closed joelrebel closed 1 year ago

joelrebel commented 1 year ago

Description

Why is this needed

Some BMC vendors (in our case MegaRAC) run 'alpha/beta' versions of the redfish service alongside the vendor BMC firmware, and this redfish service isn't capable of much - the endpoints to add/update a user, powercycle return successfully but no real action is taken.

The workaround for the above case is to ignore the redfish endpoint completely on those BMCs based on its redfish version. So in this case, the --skipRedfishVersions flag will pass through redfish versions to be ignored by bmclib and bmclib will skip redfish on those BMCs, by proceeding to try the next available driver - IPMI/SSH/vendor API.

Fixes: #

How Has This Been Tested?

How are existing users impacted? What migration steps/scripts do we need?

Users should not see any changes unless they include the --skipRedfishVersions flag.

Checklist:

I have:

codecov[bot] commented 1 year ago

Codecov Report

Merging #138 (3860611) into main (5409815) will decrease coverage by 0.37%. The diff coverage is 60.00%.

@@            Coverage Diff             @@
##             main     #138      +/-   ##
==========================================
- Coverage   86.23%   85.87%   -0.37%     
==========================================
  Files           8        8              
  Lines         436      439       +3     
==========================================
+ Hits          376      377       +1     
- Misses         47       49       +2     
  Partials       13       13              
Impacted Files Coverage Δ
grpc/oob/common.go 100.00% <ø> (ø)
grpc/rpc/bmc.go 92.00% <ø> (ø)
grpc/server.go 88.13% <60.00%> (-2.94%) :arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more