Minor changes and improvements

This commit is contained in:
David Allen 2024-08-09 07:58:42 -06:00
parent 8a2541717d
commit 8e59885f55
No known key found for this signature in database
GPG key ID: 717C593FF60A2ACC
2 changed files with 15 additions and 4 deletions

View file

@ -4,6 +4,7 @@ import (
"fmt" "fmt"
magellan "github.com/OpenCHAMI/magellan/internal" magellan "github.com/OpenCHAMI/magellan/internal"
"github.com/OpenCHAMI/magellan/internal/util"
"github.com/jmoiron/sqlx" "github.com/jmoiron/sqlx"
) )
@ -83,6 +84,15 @@ func DeleteScannedAssets(path string, results ...magellan.ScannedAsset) error {
} }
func GetScannedAssets(path string) ([]magellan.ScannedAsset, error) { func GetScannedAssets(path string) ([]magellan.ScannedAsset, error) {
// check if path exists first to prevent creating the database
exists, err := util.PathExists(path)
if !exists {
return nil, fmt.Errorf("no file found")
} else if err != nil {
return nil, err
}
// now check if the file is the SQLite database
db, err := sqlx.Open("sqlite3", path) db, err := sqlx.Open("sqlite3", path)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to open database: %v", err) return nil, fmt.Errorf("failed to open database: %v", err)

View file

@ -65,8 +65,8 @@ func CollectInventory(scannedResults *[]ScannedAsset, params *CollectParams) err
done = make(chan struct{}, params.Concurrency+1) done = make(chan struct{}, params.Concurrency+1)
chanScannedResult = make(chan ScannedAsset, params.Concurrency+1) chanScannedResult = make(chan ScannedAsset, params.Concurrency+1)
outputPath = path.Clean(params.OutputPath) outputPath = path.Clean(params.OutputPath)
smdClient = client.NewClient( smdClient = client.NewClient[client.SmdClient](
client.WithSecureTLS(params.CaCertPath), client.WithSecureTLS[client.SmdClient](params.CaCertPath),
) )
) )
wg.Add(params.Concurrency) wg.Add(params.Concurrency)
@ -152,13 +152,14 @@ func CollectInventory(scannedResults *[]ScannedAsset, params *CollectParams) err
} }
// add all endpoints to smd // add all endpoints to smd
err = smdClient.AddRedfishEndpoint(data, headers) err = smdClient.Add(body, headers)
if err != nil { if err != nil {
log.Error().Err(err).Msgf("failed to add Redfish endpoint") log.Error().Err(err).Msgf("failed to add Redfish endpoint")
// try updating instead // try updating instead
if params.ForceUpdate { if params.ForceUpdate {
err = smdClient.UpdateRedfishEndpoint(data["ID"].(string), body, headers) smdClient.Xname = data["ID"].(string)
err = smdClient.Update(body, headers)
if err != nil { if err != nil {
log.Error().Err(err).Msgf("failed to update Redfish endpoint") log.Error().Err(err).Msgf("failed to update Redfish endpoint")
} }