From f44c69003b186134fd323d5a64c5060476a9acfb Mon Sep 17 00:00:00 2001 From: dayterr Date: Fri, 7 Nov 2025 15:34:39 +0300 Subject: [PATCH] 4.9.5 --- CHANGELOG.md | 5 ++-- Makefile | 2 +- README.md | 2 +- .../cloudapi/kvmvm/resource_compute.go | 24 ++++--------------- .../cloudbroker/kvmvm/resource_compute.go | 2 +- .../cloudbroker/kvmvm/utility_compute.go | 22 +++-------------- 6 files changed, 13 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dfa668a6..a3b68a78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,9 @@ -## Version 4.9.4 +## Version 4.9.5 ### Исправлено #### kvmvm | Идентификатор
задачи | Описание | | --- | --- | -| BATF-1052 | Перезагрузка виртуальной машины при изменении полей `ram` и `cpu` в resources `decort_kvmvm` и `decort_cb_kvmvm` в cloudapi/kvmvm и в cloudbroker/kvmvm | \ No newline at end of file +| BATF-1122 | Перезагрузка виртуальной машины при изменении поля "disks" в resources `decort_kvmvm` и `decort_cb_kvmvm` в cloudapi/kvmvm и в cloudbroker/kvmvm | +| BATF-1128 | Перезагрузка виртуальной машины при изменении полей "hot_resize", "cpu" в resources `decort_kvmvm` и `decort_cb_kvmvm` в cloudapi/kvmvm и в cloudbroker/kvmvm | \ No newline at end of file diff --git a/Makefile b/Makefile index 11d4899e..e9180fa1 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ ZIPDIR = ./zip BINARY=${NAME} WORKPATH= ./examples/terraform.d/plugins/${HOSTNAME}/${NAMESPACE}/${NAMESPACE}/${VERSION}/${OS_ARCH} MAINPATH = ./cmd/decort/ -VERSION=4.9.4 +VERSION=4.9.5 OS_ARCH=$(shell go env GOHOSTOS)_$(shell go env GOHOSTARCH) FILES = ${BINARY}_${VERSION}_darwin_amd64\ diff --git a/README.md b/README.md index 7f2e2ed6..b7a9b13c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Terraform provider для платформы Digital Energy Cloud Orchestration Technology (DECORT) -## Соответсвие версий платформы версиям провайдера +## Соответствие версий платформы версиям провайдера | Версия DECORT API | Версия провайдера Terraform | | ------ | ------ | diff --git a/internal/service/cloudapi/kvmvm/resource_compute.go b/internal/service/cloudapi/kvmvm/resource_compute.go index ea480003..04ee469f 100644 --- a/internal/service/cloudapi/kvmvm/resource_compute.go +++ b/internal/service/cloudapi/kvmvm/resource_compute.go @@ -297,7 +297,7 @@ func resourceComputeCreate(ctx context.Context, d *schema.ResourceData, m interf loaderType, loaderTypeOk := d.GetOk("loader_type") bootType, bootTypeOk := d.GetOk("boot_type") - hotResize, hotResizeOk := d.GetOk("hot_resize") + hotResize, hotResizeOk := d.GetOkExists("hot_resize") networkInterfaceNaming, networkInterfaceNamingOk := d.GetOk("network_interface_naming") if loaderTypeOk { @@ -904,12 +904,12 @@ func resourceComputeUpdate(ctx context.Context, d *schema.ResourceData, m interf // Note bene: numa_affinity, cpu_pin and hp_backed are not allowed to be changed for compute in STARTED tech status. // If STARTED, we need to stop it before update var isStopRequired bool - if d.HasChanges("numa_affinity", "cpu_pin", "hp_backed", "chipset", "preferred_cpu") && d.Get("started").(bool) { + if d.HasChanges("numa_affinity", "cpu_pin", "hp_backed", "chipset", "preferred_cpu", "hot_resize") && d.Get("started").(bool) { isStopRequired = true } old, new := d.GetChange("cpu") - if old.(int) > new.(int) && d.Get("started").(bool) { + if old.(int) > new.(int) && d.Get("started").(bool) && d.Get("force_resize").(bool) { isStopRequired = true } if isStopRequired { @@ -1103,15 +1103,6 @@ func resourceComputeUpdate(ctx context.Context, d *schema.ResourceData, m interf } if len(deletedDisks) > 0 { - stopReq := compute.StopRequest{ - ComputeID: computeRec.ID, - Force: false, - } - - _, err := c.CloudAPI().Compute().Stop(ctx, stopReq) - if err != nil { - return diag.FromErr(err) - } for _, disk := range deletedDisks { diskConv := disk.(map[string]interface{}) @@ -1132,14 +1123,7 @@ func resourceComputeUpdate(ctx context.Context, d *schema.ResourceData, m interf return diag.FromErr(err) } } - req := compute.StartRequest{ - ComputeID: computeRec.ID, - AltBootID: 0, - } - _, err = c.CloudAPI().Compute().Start(ctx, req) - if err != nil { - return diag.FromErr(err) - } + } if len(addedDisks) > 0 { diff --git a/internal/service/cloudbroker/kvmvm/resource_compute.go b/internal/service/cloudbroker/kvmvm/resource_compute.go index 9f163d96..1b2250d0 100644 --- a/internal/service/cloudbroker/kvmvm/resource_compute.go +++ b/internal/service/cloudbroker/kvmvm/resource_compute.go @@ -251,7 +251,7 @@ func resourceComputeCreate(ctx context.Context, d *schema.ResourceData, m interf loaderType, loaderTypeOk := d.GetOk("loader_type") bootType, bootTypeOk := d.GetOk("boot_type") - hotResize, hotResizeOk := d.GetOk("hot_resize") + hotResize, hotResizeOk := d.GetOkExists("hot_resize") networkInterfaceNaming, networkInterfaceNamingOk := d.GetOk("network_interface_naming") if loaderTypeOk { diff --git a/internal/service/cloudbroker/kvmvm/utility_compute.go b/internal/service/cloudbroker/kvmvm/utility_compute.go index 908d588c..be7b33e9 100644 --- a/internal/service/cloudbroker/kvmvm/utility_compute.go +++ b/internal/service/cloudbroker/kvmvm/utility_compute.go @@ -114,7 +114,7 @@ func utilityComputeResize(ctx context.Context, d *schema.ResourceData, m interfa var isStopRequired bool old, new := d.GetChange("cpu") - if d.Get("started").(bool) && (old.(int) > new.(int)) { + if d.Get("started").(bool) && (old.(int) > new.(int)) && d.Get("force_resize").(bool) { isStopRequired = true } if isStopRequired { @@ -281,15 +281,6 @@ func utilityComputeUpdateDisks(ctx context.Context, d *schema.ResourceData, m in } if len(deletedDisks) > 0 { - stopReq := compute.StopRequest{ - ComputeID: computeId, - Force: false, - } - - _, err := c.CloudBroker().Compute().Stop(ctx, stopReq) - if err != nil { - return err - } for _, disk := range deletedDisks { diskConv := disk.(map[string]interface{}) @@ -308,14 +299,7 @@ func utilityComputeUpdateDisks(ctx context.Context, d *schema.ResourceData, m in return err } } - req := compute.StartRequest{ - ComputeID: computeId, - AltBootID: 0, - } - _, err = c.CloudBroker().Compute().Start(ctx, req) - if err != nil { - return err - } + } if len(addedDisks) > 0 { @@ -927,7 +911,7 @@ func utilityComputeUpdate(ctx context.Context, d *schema.ResourceData, m interfa // Note bene: numa_affinity, cpu_pin and hp_backed are not allowed to be changed for compute in STARTED tech status. // If STARTED, we need to stop it before update var isStopRequired bool - if d.HasChanges("numa_affinity", "cpu_pin", "hp_backed", "chipset", "preferred_cpu") && d.Get("started").(bool) { + if d.HasChanges("numa_affinity", "cpu_pin", "hp_backed", "chipset", "preferred_cpu", "hot_resize") && d.Get("started").(bool) { isStopRequired = true } if isStopRequired {