Merge branch 'main' into alt-releaser

This commit is contained in:
David Allen 2023-09-15 08:48:18 -06:00 committed by GitHub
commit 4c45afce8d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 39 additions and 45 deletions

View file

@ -30,11 +30,11 @@ var collectCmd = &cobra.Command{
User: user, User: user,
Pass: pass, Pass: pass,
Drivers: drivers, Drivers: drivers,
Preferred: preferredDriver,
Timeout: timeout, Timeout: timeout,
Threads: threads, Threads: threads,
Verbose: verbose, Verbose: verbose,
WithSecureTLS: withSecureTLS, WithSecureTLS: withSecureTLS,
} }
magellan.CollectInfo(&probeStates, l, q) magellan.CollectInfo(&probeStates, l, q)

View file

@ -8,19 +8,19 @@ import (
) )
var ( var (
timeout int timeout int
threads int threads int
ports []int ports []int
hosts []string hosts []string
withSecureTLS bool withSecureTLS bool
certPoolFile string certPoolFile string
user string user string
pass string pass string
dbpath string dbpath string
drivers []string drivers []string
preferredDriver string preferredDriver string
ipmitoolPath string ipmitoolPath string
verbose bool verbose bool
) )
// TODO: discover bmc's on network (dora) // TODO: discover bmc's on network (dora)

View file

@ -7,7 +7,6 @@ import (
"net/http" "net/http"
) )
func MakeRequest(url string, httpMethod string, body []byte, headers map[string]string) (*http.Response, []byte, error) { func MakeRequest(url string, httpMethod string, body []byte, headers map[string]string) (*http.Response, []byte, error) {
// url := getSmdEndpointUrl(endpoint) // url := getSmdEndpointUrl(endpoint)
req, _ := http.NewRequest(httpMethod, url, bytes.NewBuffer(body)) req, _ := http.NewRequest(httpMethod, url, bytes.NewBuffer(body))

View file

@ -24,9 +24,9 @@ import (
) )
const ( const (
IPMI_PORT = 623 IPMI_PORT = 623
SSH_PORT = 22 SSH_PORT = 22
HTTPS_PORT = 443 HTTPS_PORT = 443
) )
type BMCProbeResult struct { type BMCProbeResult struct {
@ -156,8 +156,7 @@ func CollectInfo(probeStates *[]BMCProbeResult, l *Logger, q *QueryParams) error
// inventories // inventories
inventory, err := QueryInventory(client, l, q) inventory, err := QueryInventory(client, l, q)
if err != nil { if err != nil {
l.Log.Errorf("could not query inventory: %v", err) l.Log.Errorf("could not query inventory (%v:%v): %v", q.Host, q.Port, err)
continue
} }
// chassis // chassis
@ -177,11 +176,12 @@ func CollectInfo(probeStates *[]BMCProbeResult, l *Logger, q *QueryParams) error
data["Type"] = "" data["Type"] = ""
data["Name"] = "" data["Name"] = ""
data["FQDN"] = ps.Host data["FQDN"] = ps.Host
data["User"] = q.User
data["Password"] = q.Pass
data["RediscoverOnUpdate"] = false data["RediscoverOnUpdate"] = false
data["Inventory"] = inventory data["Inventory"] = inventory
data["Chassis"] = chassis data["Chassis"] = chassis
b, err := json.MarshalIndent(data, "", " ") b, err := json.MarshalIndent(data, "", " ")
if err != nil { if err != nil {
l.Log.Errorf("could not marshal JSON: %v", err) l.Log.Errorf("could not marshal JSON: %v", err)
@ -419,13 +419,13 @@ func QueryChassis(q *QueryParams) ([]byte, error) {
url += fmt.Sprintf("%s:%s@", q.User, q.Pass) url += fmt.Sprintf("%s:%s@", q.User, q.Pass)
} }
url += fmt.Sprintf("%s:%d", q.Host, q.Port) url += fmt.Sprintf("%s:%d", q.Host, q.Port)
config := gofish.ClientConfig {
Endpoint: url,
Username: q.User,
Password: q.Pass,
Insecure: !q.WithSecureTLS,
TLSHandshakeTimeout: q.Timeout,
config := gofish.ClientConfig{
Endpoint: url,
Username: q.User,
Password: q.Pass,
Insecure: !q.WithSecureTLS,
TLSHandshakeTimeout: q.Timeout,
} }
c, err := gofish.Connect(config) c, err := gofish.Connect(config)
if err != nil { if err != nil {

View file

@ -4,23 +4,19 @@ import (
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
) )
type Logger struct { type Logger struct {
Log *logrus.Logger Log *logrus.Logger
Path string Path string
} }
func NewLogger(l *logrus.Logger, level logrus.Level) *Logger { func NewLogger(l *logrus.Logger, level logrus.Level) *Logger {
l.SetLevel(level) l.SetLevel(level)
return &Logger{ return &Logger{
Log: logrus.New(), Log: logrus.New(),
Path: "", Path: "",
} }
} }
func (l *Logger) WriteFile(path string) {
func (l *Logger)WriteFile(path string) {
} }

View file

@ -7,7 +7,6 @@ import (
"time" "time"
) )
func rawConnect(host string, ports []int, timeout int, keepOpenOnly bool) []BMCProbeResult { func rawConnect(host string, ports []int, timeout int, keepOpenOnly bool) []BMCProbeResult {
results := []BMCProbeResult{} results := []BMCProbeResult{}
for _, p := range ports { for _, p := range ports {
@ -52,9 +51,9 @@ func GenerateHosts(subnet string, begin uint8, end uint8) []string {
} }
func ScanForAssets(hosts []string, ports []int, threads int, timeout int) []BMCProbeResult { func ScanForAssets(hosts []string, ports []int, threads int, timeout int) []BMCProbeResult {
results := make([]BMCProbeResult, 0, len(hosts)) results := make([]BMCProbeResult, 0, len(hosts))
done := make(chan struct{}, threads+1) done := make(chan struct{}, threads+1)
chanHost := make(chan string, threads+1) chanHost := make(chan string, threads+1)
// chanPort := make(chan int, threads+1) // chanPort := make(chan int, threads+1)
var wg sync.WaitGroup var wg sync.WaitGroup