cloud/shepherd/equinix/cli: Rename servers before deletion
This avoids collisions when redeploying servers
Change-Id: I94c8c5e0b1b601ee6513f7baddb251053ce9430b
Reviewed-on: https://review.monogon.dev/c/monogon/+/1864
Tested-by: Jenkins CI
Reviewed-by: Leopold Schabel <leo@monogon.tech>
diff --git a/cloud/shepherd/equinix/cli/cmd_delete.go b/cloud/shepherd/equinix/cli/cmd_delete.go
index e3c51a5..07b4dc7 100644
--- a/cloud/shepherd/equinix/cli/cmd_delete.go
+++ b/cloud/shepherd/equinix/cli/cmd_delete.go
@@ -4,6 +4,7 @@
"context"
"time"
+ "github.com/packethost/packngo"
"github.com/spf13/cobra"
"k8s.io/klog/v2"
@@ -42,6 +43,15 @@
time.Sleep(5 * time.Second)
for _, d := range devices {
+ h := "deleted-" + d.Hostname
+ _, err := api.UpdateDevice(ctx, d.ID, &packngo.DeviceUpdateRequest{
+ Hostname: &h,
+ })
+ if err != nil {
+ klog.Infof("failed updating device %s (%s): %v", d.ID, d.Hostname, err)
+ continue
+ }
+
klog.Infof("deleting %s (%s)...", d.ID, d.Hostname)
if err := api.DeleteDevice(ctx, d.ID); err != nil {
klog.Infof("failed deleting device %s (%s): %v", d.ID, d.Hostname, err)