From ad37a396658f5cc5e2842e262ab3b7baf739e4f2 Mon Sep 17 00:00:00 2001 From: JohannesHepp Date: Fri, 28 Mar 2025 09:55:33 +0100 Subject: [PATCH 1/2] Update stackit.go Apply changes that came with client version update --- pkg/stackit/stackit.go | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkg/stackit/stackit.go b/pkg/stackit/stackit.go index f2103e6..854d8af 100644 --- a/pkg/stackit/stackit.go +++ b/pkg/stackit/stackit.go @@ -80,11 +80,8 @@ func (s *Stackit) Status(ctx context.Context, projectId, machineName string) (cl if server == nil { return client.StatusNotFound, nil } - if server.GetPowerStatus() == nil { - return client.StatusNotFound, nil - } - return statusFromPowerStateString(*server.GetPowerStatus()), nil + return statusFromPowerStateString(server.GetPowerStatus()), nil } func (s *Stackit) Start(ctx context.Context, projectId, machineName string) error { @@ -227,7 +224,7 @@ func (s *Stackit) Create(ctx context.Context, options *options.Options, publicKe NetworkId: network.NetworkId, }, }, - UserData: &userdata, + UserData: userdata, } server, err := s.client.CreateServer(ctx, options.ProjectID).CreateServerPayload(createServerPayload).Execute() @@ -286,10 +283,10 @@ func (s *Stackit) Create(ctx context.Context, options *options.Options, publicKe return nil } -func generateUserData(publicKey string) (string, error) { +func generateUserData(publicKey string) (*[]byte, error) { t, err := template.New("cloud-config.yaml").ParseFS(cloudConfigFS, "cloud-config.yaml") if err != nil { - return "", err + return nil, err } output := new(bytes.Buffer) @@ -297,10 +294,12 @@ func generateUserData(publicKey string) (string, error) { "PublicKey": publicKey, "Username": SSHUserName, }); err != nil { - return "", err + return nil, err } - return base64.StdEncoding.EncodeToString(output.Bytes()), nil + encodedUserData := base64.StdEncoding.EncodeToString(output.Bytes()) + byteArray := []byte(encodedUserData) + return &byteArray, nil } func (s *Stackit) createVolume(ctx context.Context, projectId, volumeName, volumeAvailabilityZone string, volumeSize int64) (string, error) { From a9028d5fdc2b659d9ffc45cab965824f2645cea9 Mon Sep 17 00:00:00 2001 From: JohannesHepp Date: Fri, 28 Mar 2025 10:42:22 +0100 Subject: [PATCH 2/2] fix linter issues --- pkg/stackit/network.go | 10 +++++++++- pkg/stackit/stackit.go | 21 +-------------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/pkg/stackit/network.go b/pkg/stackit/network.go index e1fff2b..3ac6ca4 100644 --- a/pkg/stackit/network.go +++ b/pkg/stackit/network.go @@ -32,5 +32,13 @@ func (s *Stackit) createNetwork(ctx context.Context, projectId string, networkNa } func (s *Stackit) deleteNetwork(ctx context.Context, projectId string, networkId string) error { - return s.client.DeleteNetworkExecute(ctx, projectId, networkId) + err := s.client.DeleteNetworkExecute(ctx, projectId, networkId) + if err != nil { + return err + } + _, err = wait.DeleteNetworkWaitHandler(ctx, s.client, projectId, networkId).WaitWithContext(ctx) + if err != nil { + return err + } + return nil } diff --git a/pkg/stackit/stackit.go b/pkg/stackit/stackit.go index 854d8af..8dfc996 100644 --- a/pkg/stackit/stackit.go +++ b/pkg/stackit/stackit.go @@ -146,15 +146,11 @@ func (s *Stackit) Delete(ctx context.Context, projectId, machineName string) err } networkId := nics[0].NetworkId - err = s.client.DeleteNetwork(ctx, projectId, *networkId).Execute() + err = s.deleteNetwork(ctx, projectId, *networkId) if err != nil { log.Default.Errorf("failed to delete network") gotError = true } - _, err = wait.DeleteNetworkWaitHandler(ctx, s.client, projectId, *networkId).WaitWithContext(ctx) - if err != nil { - log.Default.Errorf("error while waiting for network deletion") - } for _, id := range *nics[0].SecurityGroups { name, err := s.getSecurityGroupNameByID(ctx, projectId, id) @@ -302,21 +298,6 @@ func generateUserData(publicKey string) (*[]byte, error) { return &byteArray, nil } -func (s *Stackit) createVolume(ctx context.Context, projectId, volumeName, volumeAvailabilityZone string, volumeSize int64) (string, error) { - createVolumePayload := iaas.CreateVolumePayload{ - Name: &volumeName, - AvailabilityZone: &volumeAvailabilityZone, - Size: &volumeSize, - } - - volume, err := s.client.CreateVolume(ctx, projectId).CreateVolumePayload(createVolumePayload).Execute() - if err != nil { - return "", err - } - - return *volume.Id, nil -} - func (s *Stackit) getServerByName(ctx context.Context, projectId, serverName string) (*iaas.Server, error) { servers, err := s.client.ListServers(ctx, projectId).Details(true).Execute() if err != nil {