Terraform: Only rollback after we fully created the workspace

This commit is contained in:
Nils Hanke 2022-11-15 14:00:44 +01:00 committed by Nils Hanke
parent 19fb6f1233
commit e1d8926395
8 changed files with 178 additions and 60 deletions

View file

@ -48,13 +48,16 @@ func (r *rollbackerTerraform) rollback(ctx context.Context) error {
}
type rollbackerQEMU struct {
client terraformClient
libvirt libvirtRunner
client terraformClient
libvirt libvirtRunner
createdWorkspace bool
}
func (r *rollbackerQEMU) rollback(ctx context.Context) error {
var err error
err = multierr.Append(err, r.client.DestroyCluster(ctx))
if r.createdWorkspace {
err = multierr.Append(err, r.client.DestroyCluster(ctx))
}
err = multierr.Append(err, r.libvirt.Stop(ctx))
if err == nil {
err = r.client.CleanUpWorkspace()