From 8d1c3f4c7efb6bd2f56c4ec2bfd17f36f0cc06a0 Mon Sep 17 00:00:00 2001 From: saffronjam Date: Thu, 3 Aug 2023 17:01:53 +0200 Subject: [PATCH] fix broken service offerings --- service/vm_service/internal_service/cs_service.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/service/vm_service/internal_service/cs_service.go b/service/vm_service/internal_service/cs_service.go index af98a674..bfbcfaea 100644 --- a/service/vm_service/internal_service/cs_service.go +++ b/service/vm_service/internal_service/cs_service.go @@ -103,6 +103,13 @@ func CreateCS(params *vmModel.CreateParams) (*CsCreated, error) { csVM, err = createCsVM(client, vm, public, userSshPublicKey, adminSshPublicKey) if err != nil { + // remove the service offering if the vm creation failed + // however, do this as best-effort only to avoid cascading errors + if serviceOffering.Created() { + _ = client.DeleteServiceOffering(serviceOffering.ID) + _ = vmModel.UpdateSubsystemByName(vm.Name, "cs", "serviceOffering", csModels.ServiceOfferingPublic{}) + } + return nil, makeError(err) } }