Compare commits

...

2 Commits
main ... 4.9.5

Author SHA1 Message Date
dayterr f44c69003b 4.9.5
1 month ago
Алексей Фетисов 22897c3bf5 4.9.4
4 months ago

@ -1,9 +1,9 @@
## Version 4.9.3 ## Version 4.9.5
### Исправлено ### Исправлено
#### kvmvm #### kvmvm
| Идентификатор<br>задачи | Описание | | Идентификатор<br>задачи | Описание |
| --- | --- | | --- | --- |
| BATF-1016 | Ошибка при изменении полей `ram` и `cpu`, приводящая к невозможности измения параметров виртуальной машины в resources `decort_kvmvm` и `decort_cb_kvmvm` в cloudapi/kvmvm и в cloudbroker/kvmvm | | BATF-1122 | Перезагрузка виртуальной машины при изменении поля "disks" в resources `decort_kvmvm` и `decort_cb_kvmvm` в cloudapi/kvmvm и в cloudbroker/kvmvm |
| BATF-1018 | Ошибка при изменении поля `started`, приводящая к невозможности запуска виртуальной машины в resources `decort_kvmvm` в cloudapi/kvmvm | | BATF-1128 | Перезагрузка виртуальной машины при изменении полей "hot_resize", "cpu" в resources `decort_kvmvm` и `decort_cb_kvmvm` в cloudapi/kvmvm и в cloudbroker/kvmvm |

@ -7,7 +7,7 @@ ZIPDIR = ./zip
BINARY=${NAME} BINARY=${NAME}
WORKPATH= ./examples/terraform.d/plugins/${HOSTNAME}/${NAMESPACE}/${NAMESPACE}/${VERSION}/${OS_ARCH} WORKPATH= ./examples/terraform.d/plugins/${HOSTNAME}/${NAMESPACE}/${NAMESPACE}/${VERSION}/${OS_ARCH}
MAINPATH = ./cmd/decort/ MAINPATH = ./cmd/decort/
VERSION=4.9.3 VERSION=4.9.5
OS_ARCH=$(shell go env GOHOSTOS)_$(shell go env GOHOSTARCH) OS_ARCH=$(shell go env GOHOSTOS)_$(shell go env GOHOSTARCH)
FILES = ${BINARY}_${VERSION}_darwin_amd64\ FILES = ${BINARY}_${VERSION}_darwin_amd64\

@ -2,7 +2,7 @@
Terraform provider для платформы Digital Energy Cloud Orchestration Technology (DECORT) Terraform provider для платформы Digital Energy Cloud Orchestration Technology (DECORT)
## Соответсвие версий платформы версиям провайдера ## Соответствие версий платформы версиям провайдера
| Версия DECORT API | Версия провайдера Terraform | | Версия DECORT API | Версия провайдера Terraform |
| ------ | ------ | | ------ | ------ |

@ -297,7 +297,7 @@ func resourceComputeCreate(ctx context.Context, d *schema.ResourceData, m interf
loaderType, loaderTypeOk := d.GetOk("loader_type") loaderType, loaderTypeOk := d.GetOk("loader_type")
bootType, bootTypeOk := d.GetOk("boot_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") networkInterfaceNaming, networkInterfaceNamingOk := d.GetOk("network_interface_naming")
if loaderTypeOk { if loaderTypeOk {
@ -901,10 +901,15 @@ func resourceComputeUpdate(ctx context.Context, d *schema.ResourceData, m interf
} }
} }
// Note bene: numa_affinity, cpu_pin and hp_backed, cpu, ram are not allowed to be changed for compute in STARTED tech status. // 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 // If STARTED, we need to stop it before update
var isStopRequired bool 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) && d.Get("force_resize").(bool) {
isStopRequired = true isStopRequired = true
} }
if isStopRequired { if isStopRequired {
@ -1098,15 +1103,6 @@ func resourceComputeUpdate(ctx context.Context, d *schema.ResourceData, m interf
} }
if len(deletedDisks) > 0 { 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 { for _, disk := range deletedDisks {
diskConv := disk.(map[string]interface{}) diskConv := disk.(map[string]interface{})
@ -1127,14 +1123,7 @@ func resourceComputeUpdate(ctx context.Context, d *schema.ResourceData, m interf
return diag.FromErr(err) 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 { if len(addedDisks) > 0 {

@ -251,7 +251,7 @@ func resourceComputeCreate(ctx context.Context, d *schema.ResourceData, m interf
loaderType, loaderTypeOk := d.GetOk("loader_type") loaderType, loaderTypeOk := d.GetOk("loader_type")
bootType, bootTypeOk := d.GetOk("boot_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") networkInterfaceNaming, networkInterfaceNamingOk := d.GetOk("network_interface_naming")
if loaderTypeOk { if loaderTypeOk {

@ -111,7 +111,13 @@ func utilityComputeResize(ctx context.Context, d *schema.ResourceData, m interfa
c := m.(*controller.ControllerCfg) c := m.(*controller.ControllerCfg)
computeId, _ := strconv.ParseUint(d.Id(), 10, 64) computeId, _ := strconv.ParseUint(d.Id(), 10, 64)
if d.Get("started").(bool) { var isStopRequired bool
old, new := d.GetChange("cpu")
if d.Get("started").(bool) && (old.(int) > new.(int)) && d.Get("force_resize").(bool) {
isStopRequired = true
}
if isStopRequired {
stopReq := compute.StopRequest{ stopReq := compute.StopRequest{
ComputeID: computeId, ComputeID: computeId,
Force: false, Force: false,
@ -176,7 +182,7 @@ func utilityComputeResize(ctx context.Context, d *schema.ResourceData, m interfa
} }
} }
if d.Get("started").(bool) { if isStopRequired {
if _, err := c.CloudBroker().Compute().Start(ctx, compute.StartRequest{ComputeID: computeId}); err != nil { if _, err := c.CloudBroker().Compute().Start(ctx, compute.StartRequest{ComputeID: computeId}); err != nil {
return err return err
} }
@ -275,15 +281,6 @@ func utilityComputeUpdateDisks(ctx context.Context, d *schema.ResourceData, m in
} }
if len(deletedDisks) > 0 { 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 { for _, disk := range deletedDisks {
diskConv := disk.(map[string]interface{}) diskConv := disk.(map[string]interface{})
@ -302,14 +299,7 @@ func utilityComputeUpdateDisks(ctx context.Context, d *schema.ResourceData, m in
return err 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 { if len(addedDisks) > 0 {
@ -921,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. // 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 // If STARTED, we need to stop it before update
var isStopRequired bool 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 isStopRequired = true
} }
if isStopRequired { if isStopRequired {

Loading…
Cancel
Save