move to OpenCHAMI and update changelog

This commit is contained in:
Alex Lovell-Troy 2023-11-03 09:47:57 -04:00
parent 955c9fb4bd
commit cccf0dfdf2
14 changed files with 96 additions and 91 deletions

View file

@ -10,10 +10,10 @@ builds:
- amd64
dockers:
- image_templates:
- bikeshack/{{.ProjectName}}:latest
- bikeshack/{{.ProjectName}}:{{ .Tag }}
- bikeshack/{{.ProjectName}}:{{ .Major }}
- bikeshack/{{.ProjectName}}:{{ .Major }}.{{ .Minor }}
- ghcr.io/OpenCHAMI/{{.ProjectName}}:latest
- ghcr.io/OpenCHAMI/{{.ProjectName}}:{{ .Tag }}
- ghcr.io/OpenCHAMI/{{.ProjectName}}:{{ .Major }}
- ghcr.io/OpenCHAMI/{{.ProjectName}}:{{ .Major }}.{{ .Minor }}
build_flag_templates:
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"

View file

@ -5,7 +5,18 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.0.5] - 2023-11-02
### Added
* Ability to update firmware
* Refactored connection handling for faster scanning
* Updated to refelct home at github.com/OpenCHAMI
* Updated to reflect ghcr.io as container home
## [Unreleased]
## [0.0.1] - 2023-09-14

View file

@ -1,10 +1,10 @@
package cmd
import (
magellan "github.com/OpenChami/magellan/internal"
"github.com/OpenChami/magellan/internal/api/smd"
"github.com/OpenChami/magellan/internal/db/sqlite"
"github.com/OpenChami/magellan/internal/log"
magellan "github.com/OpenCHAMI/magellan/internal"
"github.com/OpenCHAMI/magellan/internal/api/smd"
"github.com/OpenCHAMI/magellan/internal/db/sqlite"
"github.com/OpenCHAMI/magellan/internal/log"
"github.com/cznic/mathutil"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"

View file

@ -3,7 +3,7 @@ package cmd
import (
"fmt"
"github.com/OpenChami/magellan/internal/db/sqlite"
"github.com/OpenCHAMI/magellan/internal/db/sqlite"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"

View file

@ -6,8 +6,8 @@ import (
"os"
"path"
magellan "github.com/OpenChami/magellan/internal"
"github.com/OpenChami/magellan/internal/db/sqlite"
magellan "github.com/OpenCHAMI/magellan/internal"
"github.com/OpenCHAMI/magellan/internal/db/sqlite"
"github.com/cznic/mathutil"
"github.com/spf13/cobra"
@ -35,7 +35,7 @@ var scanCmd = &cobra.Command{
return
}
if len(subnetMasks) < i + 1 {
if len(subnetMasks) < i+1 {
subnetMasks = append(subnetMasks, net.IP{255, 255, 255, 0})
}

View file

@ -1,8 +1,8 @@
package cmd
import (
magellan "github.com/OpenChami/magellan/internal"
"github.com/OpenChami/magellan/internal/log"
magellan "github.com/OpenCHAMI/magellan/internal"
"github.com/OpenCHAMI/magellan/internal/log"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
)
@ -22,7 +22,7 @@ var updateCmd = &cobra.Command{
Short: "Update BMC node firmware",
Run: func(cmd *cobra.Command, args []string) {
l := log.NewLogger(logrus.New(), logrus.DebugLevel)
q := &magellan.UpdateParams {
q := &magellan.UpdateParams{
FirmwarePath: firmwareUrl,
FirmwareVersion: firmwareVersion,
Component: component,

2
go.mod
View file

@ -1,4 +1,4 @@
module github.com/OpenChami/magellan
module github.com/OpenCHAMI/magellan
go 1.20

View file

@ -4,7 +4,7 @@ import (
"encoding/json"
"fmt"
"github.com/OpenChami/magellan/internal/util"
"github.com/OpenCHAMI/magellan/internal/util"
"github.com/jmoiron/sqlx"
)

View file

@ -6,7 +6,7 @@ package smd
import (
"fmt"
"github.com/OpenChami/magellan/internal/util"
"github.com/OpenCHAMI/magellan/internal/util"
// hms "github.com/alexlovelltroy/hms-smd"
)

View file

@ -12,10 +12,10 @@ import (
"sync"
"time"
"github.com/OpenChami/magellan/internal/log"
"github.com/OpenCHAMI/magellan/internal/log"
"github.com/OpenChami/magellan/internal/api/smd"
"github.com/OpenChami/magellan/internal/util"
"github.com/OpenCHAMI/magellan/internal/api/smd"
"github.com/OpenCHAMI/magellan/internal/util"
"github.com/Cray-HPE/hms-xname/xnames"
bmclib "github.com/bmc-toolbox/bmclib/v2"
@ -33,7 +33,6 @@ const (
HTTPS_PORT = 443
)
// NOTE: ...params were getting too long...
type QueryParams struct {
Host string
@ -220,7 +219,7 @@ func CollectAll(probeStates *[]ScannedResult, l *log.Logger, q *QueryParams) err
}
// write JSON data to file
err = os.WriteFile(path.Clean(outputPath + "/" + q.Host + ".json"), body, os.ModePerm)
err = os.WriteFile(path.Clean(outputPath+"/"+q.Host+".json"), body, os.ModePerm)
if err != nil {
l.Log.Errorf("could not write data to file: %v", err)
}
@ -319,7 +318,6 @@ func CollectInventory(client *bmclib.Client, q *QueryParams) ([]byte, error) {
return nil, fmt.Errorf("could not get inventory: %v", err)
}
// retrieve inventory data
data := map[string]any{"Inventory": inventory}
b, err := json.MarshalIndent(data, "", " ")
@ -379,7 +377,7 @@ func CollectUsers(client *bmclib.Client, q *QueryParams) ([]byte, error) {
}
// retrieve inventory data
data := map[string]any {"Users": users}
data := map[string]any{"Users": users}
b, err := json.MarshalIndent(data, "", " ")
if err != nil {
ctxCancel()
@ -407,7 +405,7 @@ func CollectEthernetInterfaces(c *gofish.APIClient, q *QueryParams, systemID str
var interfaces []*redfish.EthernetInterface
for _, system := range systems {
i, err := redfish.ListReferencedEthernetInterfaces(c, "/redfish/v1/Systems/" + system.ID + "/EthernetInterfaces/")
i, err := redfish.ListReferencedEthernetInterfaces(c, "/redfish/v1/Systems/"+system.ID+"/EthernetInterfaces/")
if err != nil {
continue
}
@ -503,7 +501,7 @@ func CollectRegisteries(c *gofish.APIClient, q *QueryParams) ([]byte, error) {
return nil, fmt.Errorf("could not query storage systems (%v:%v): %v", q.Host, q.Port, err)
}
data := map[string]any{"Registries": registries }
data := map[string]any{"Registries": registries}
b, err := json.MarshalIndent(data, "", " ")
if err != nil {
return nil, fmt.Errorf("could not marshal JSON: %v", err)
@ -543,7 +541,7 @@ func CollectProcessors(q *QueryParams) ([]byte, error) {
}
}
data := map[string]any{"Processors": procs }
data := map[string]any{"Processors": procs}
b, err := json.MarshalIndent(data, "", " ")
if err != nil {
return nil, fmt.Errorf("could not marshal JSON: %v", err)

View file

@ -3,7 +3,7 @@ package sqlite
import (
"fmt"
magellan "github.com/OpenChami/magellan/internal"
magellan "github.com/OpenCHAMI/magellan/internal"
"github.com/jmoiron/sqlx"
)

View file

@ -8,7 +8,7 @@ import (
"sync"
"time"
"github.com/OpenChami/magellan/internal/util"
"github.com/OpenCHAMI/magellan/internal/util"
)
type ScannedResult struct {
@ -51,7 +51,6 @@ func rawConnect(host string, ports []int, timeout int, keepOpenOnly bool) []Scan
return results
}
func GenerateHosts(subnet string, subnetMask *net.IP) []string {
if subnet == "" || subnetMask == nil {
return nil
@ -82,7 +81,7 @@ func generateHosts(ip *net.IP, mask *net.IPMask) []string {
// get all IP addresses in network
ones, _ := mask.Size()
hosts := []string{}
end := int(math.Pow(2, float64((32-ones))))-1
end := int(math.Pow(2, float64((32-ones)))) - 1
for i := 0; i < end; i++ {
// ip[3] = byte(i)
ip = util.GetNextIP(ip, 1)

View file

@ -10,15 +10,14 @@ import (
"strings"
"time"
"github.com/OpenChami/magellan/internal/log"
"github.com/OpenChami/magellan/internal/util"
"github.com/OpenCHAMI/magellan/internal/log"
"github.com/OpenCHAMI/magellan/internal/util"
bmclib "github.com/bmc-toolbox/bmclib/v2"
"github.com/bmc-toolbox/bmclib/v2/constants"
bmclibErrs "github.com/bmc-toolbox/bmclib/v2/errors"
"github.com/sirupsen/logrus"
)
type UpdateParams struct {
QueryParams
FirmwarePath string
@ -127,7 +126,7 @@ func UpdateFirmware(client *bmclib.Client, l *log.Logger, q *UpdateParams) error
func UpdateFirmwareRemote(q *UpdateParams) error {
url := baseRedfishUrl(&q.QueryParams) + "/redfish/v1/UpdateService/Actions/SimpleUpdate"
headers := map[string]string {
headers := map[string]string{
"Content-Type": "application/json",
"cache-control": "no-cache",
}
@ -184,8 +183,6 @@ func GetUpdateStatus(q *UpdateParams) error {
// return fmt.Errorf("could not read file: %v", err)
// }
// switch q.TransferProtocol {
// case "HTTP":
// default:

View file

@ -1,7 +1,7 @@
package main
import (
"github.com/OpenChami/magellan/cmd"
"github.com/OpenCHAMI/magellan/cmd"
)
func main() {