Created
March 5, 2024 07:48
-
-
Save joelrebel/3c0f3c91799c35b695885eaa3c4b234f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/cmd/add-versioned-attributes-fleetdb/main.go b/cmd/add-versioned-attributes-fleetdb/main.go | |
index cdf284d..1feaac7 100644 | |
--- a/cmd/add-versioned-attributes-fleetdb/main.go | |
+++ b/cmd/add-versioned-attributes-fleetdb/main.go | |
@@ -10,6 +10,7 @@ import ( | |
"time" | |
"github.com/coreos/go-oidc" | |
+ "github.com/davecgh/go-spew/spew" | |
"github.com/google/uuid" | |
"github.com/hashicorp/go-retryablehttp" | |
rctypes "github.com/metal-toolbox/rivets/serverservice" | |
@@ -45,6 +46,22 @@ func init() { | |
} | |
} | |
+func noauthHSSClient(ctx context.Context) (*serverservice.Client, error) { | |
+ // init retryable http client | |
+ retryableClient := retryablehttp.NewClient() | |
+ retryableClient.RetryMax = 0 | |
+ | |
+ // requests taking longer than timeout value should be canceled. | |
+ client := retryableClient.StandardClient() | |
+ client.Timeout = 2 * time.Second | |
+ | |
+ return serverservice.NewClientWithToken( | |
+ "dummy", | |
+ "http://localhost:8000", | |
+ client, | |
+ ) | |
+} | |
+ | |
func newServerServiceClient(ctx context.Context, target string) (*serverservice.Client, error) { | |
// init retryable http client | |
retryableClient := retryablehttp.NewClient() | |
@@ -59,7 +76,7 @@ func newServerServiceClient(ctx context.Context, target string) (*serverservice. | |
return nil, err | |
} | |
- token := "xxxxxxxxx" | |
+ token := os.Getenv("TOKEN") | |
// setup oauth configuration | |
oauthConfig := clientcredentials.Config{ | |
ClientID: "alloy-deprovision-client", | |
@@ -88,7 +105,8 @@ func newServerServiceClient(ctx context.Context, target string) (*serverservice. | |
func main() { | |
fmt.Printf("Connecting to FleetDB") | |
- fleetDBClient, err := newServerServiceClient(context.Background(), "https://fleetdb.equinixmetal.net") | |
+ // fleetDBClient, err := newServerServiceClient(context.Background(), "https://fleetdb.equinixmetal.net") | |
+ fleetDBClient, err := noauthHSSClient(context.Background()) | |
if err != nil { | |
panic(err) | |
} | |
@@ -114,7 +132,7 @@ func main() { | |
return fmt.Sprintf("%v-%v-%v-%v", sc.Name, sc.Vendor, sc.Model, sc.Serial) | |
} | |
- file, err := os.Open("./test.csv") | |
+ file, err := os.Open("./server_id.csv") | |
if err != nil { | |
fmt.Println("Error opening file:", err) | |
return | |
@@ -127,15 +145,15 @@ func main() { | |
fmt.Println() | |
fmt.Printf("start processing server %v\n", serverID) | |
- server, _, err := serverServiceClient.Get(context.Background(), serverID) | |
+ _, _, err := serverServiceClient.Get(context.Background(), serverID) | |
if err != nil { | |
panic(fmt.Sprintf("Error Get server %v from HSS: %v", serverID, err)) | |
} | |
// Test migrating db13 first. | |
- if server.FacilityCode != "dc13" { | |
- continue | |
- } | |
+ //if server.FacilityCode != "dc13" { | |
+ // continue | |
+ //} | |
hssServerComponents, _, err := serverServiceClient.GetComponents(context.Background(), serverID, nil) | |
if err != nil { | |
@@ -198,7 +216,7 @@ func main() { | |
fmt.Println("Has ServerComponent in FleetDB. Only need to add VersionAttributes:") | |
for serverComponent, verAttrs := range appendVersionedAttributesToExistingServerComponent { | |
- component := hssComponentKeyMap[serverComponent] | |
+ hComponent := hssComponentKeyMap[serverComponent] | |
for _, verAttr := range verAttrs { | |
fmt.Printf("Adding %v to component %v\n", verAttr.Namespace, serverComponent) | |
data := &rctypes.FirmwareVersionedAttribute{} | |
@@ -206,13 +224,19 @@ func main() { | |
if err != nil { | |
panic(err) | |
} | |
- data.UUID = &component.UUID | |
+ | |
dataToCreate, err := json.Marshal(data) | |
if err != nil { | |
panic(err) | |
} | |
verAttr.Data = dataToCreate | |
- _, err = fleetDBClient.CreateVersionedAttributes(context.Background(), serverID, verAttr) | |
+ | |
+ update := serverservice.ServerComponent{ | |
+ UUID: hComponent.UUID, | |
+ VersionedAttributes: verAttrs, | |
+ } | |
+ | |
+ _, err = fleetDBClient.UpdateComponents(context.Background(), serverID, []serverservice.ServerComponent{update}) | |
if err != nil { | |
panic(err) | |
} | |
@@ -231,7 +255,6 @@ func main() { | |
if err != nil { | |
panic(err) | |
} | |
- data.UUID = &component.UUID | |
dataToCreate, err := json.Marshal(data) | |
if err != nil { | |
panic(err) | |
@@ -246,6 +269,7 @@ func main() { | |
component.ComponentTypeID = FleetDBComponentTypesID[component.ComponentTypeSlug] | |
fmt.Printf("Creating component = %v\n", serverComponent) | |
+ spew.Dump(component) | |
_, err := fleetDBClient.CreateComponents(context.Background(), serverID, []serverservice.ServerComponent{component}) | |
if err != nil { | |
panic(err) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment