Skip to content

Commit

Permalink
platform/brightbox: add remove-servers ore subcommand
Browse files Browse the repository at this point in the history
this has to run before running a test

Signed-off-by: Mathieu Tortuyaux <[email protected]>
  • Loading branch information
tormath1 committed Nov 21, 2023
1 parent 0b16bb4 commit 0d1cebd
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
31 changes: 31 additions & 0 deletions cmd/ore/brightbox/remove-servers.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Copyright The Mantle Authors.
// SPDX-License-Identifier: Apache-2.0
package brightbox

import (
"context"
"fmt"

"github.com/spf13/cobra"
)

var (
cmdRemoveServers = &cobra.Command{
Use: "remove-servers",
Short: "Remove any remaining servers",
Long: `Remove left overs server from previous garbage collection`,
RunE: removeServers,
}
)

func init() {
Brightbox.AddCommand(cmdRemoveServers)
}

func removeServers(cmd *cobra.Command, args []string) error {
if err := API.RemoveServers(context.Background()); err != nil {
return fmt.Errorf("removing servers: %w", err)
}

return nil
}
20 changes: 20 additions & 0 deletions platform/api/brightbox/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -250,3 +250,23 @@ func (a *API) RemoveCloudIPs(ctx context.Context) error {

return nil
}

// RemoveServers remove any left overs servers before running a test.
func (a *API) RemoveServers(ctx context.Context) error {
servers, err := a.client.Servers(ctx)
if err != nil {
return fmt.Errorf("getting servers: %w", err)
}

for _, server := range servers {
if server.Status == serverstatus.Deleted {
continue
}

if err := a.DeleteServer(ctx, server.ID); err != nil {
return fmt.Errorf("deleting server: %w", err)
}
}

return nil
}

0 comments on commit 0d1cebd

Please sign in to comment.