Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b81a71504 |
29
CHANGELOG.md
29
CHANGELOG.md
@@ -1,40 +1,23 @@
|
||||
## Version 4.9.1
|
||||
## Version 4.9.2
|
||||
|
||||
### Добавлено
|
||||
|
||||
### Исправлено
|
||||
|
||||
#### account
|
||||
#### image
|
||||
| Идентификатор<br>задачи | Описание |
|
||||
| --- | --- |
|
||||
| BATF-823 | Ошибка удаления resource 'decort_cb_account' в cloudbroker/account |
|
||||
| BATF-832 | Ошибка отлючения resource 'decort_account' в cloudapi/account и resource 'decort_cb_account' в cloudbroker/account |
|
||||
| BATF-999 | Изменен тип поля `url` с optional на required в resource `decort_cb_image` в cloudbroker/image |
|
||||
|
||||
#### k8s
|
||||
#### kvmvm
|
||||
| Идентификатор<br>задачи | Описание |
|
||||
| --- | --- |
|
||||
| BATF-955 | Ошибка редактирования resource 'decort_cb_k8s_cp' в cloudbroker/k8s |
|
||||
|
||||
#### sep
|
||||
| Идентификатор<br>задачи | Описание |
|
||||
| --- | --- |
|
||||
| BATF-823 | Ошибка при получении данных при заданном поле `rg_id` в datasource `decort_cb_available_sep_and_pools_list` в cloudbroker/sep и в datasource `decort_available_sep_and_pools_list` в cloudapi/sep |
|
||||
| BATF-1002 | Ошибка при смене `ip_address` в блоке `network` приводящаяя к смене MAC адрес сети в resource `decort_compute` и `decort_cb_compute` в cloupapi/kvmvm и cloudbroker/kvmvm |
|
||||
|
||||
### Удалено
|
||||
|
||||
#### image
|
||||
| Идентификатор<br>задачи | Описание |
|
||||
| --- | --- |
|
||||
| BATF-835 | Вычисляемое поле `meta` в resources `decort_cb_cdrom_image`, `decort_cb_virtual_image` и data source `decort_cb_image_list_stacks` в cloudbroker/image |
|
||||
| BATF-825 | Опциональное поле `accounts` в resources `decort_cb_image`, `decort_cb_image_from_blank_compute` `decort_cb_image_from_platform_disk` в cloudbroker/image |
|
||||
|
||||
#### kvmvm
|
||||
| Идентификатор<br>задачи | Описание |
|
||||
| --- | --- |
|
||||
| BATF-962 | Поле `stateless` в resource `decort_kvmvm` в cloudapi/kvmvm|
|
||||
|
||||
#### vins
|
||||
| Идентификатор<br>задачи | Описание |
|
||||
| --- | --- |
|
||||
| BATF-881 | Значение по умолчанию в поле `pre_reservations_num` в resource `decort_vins` в cloudapi/vins и в resource `decort_cb_vins` в cloudbroker/vins |
|
||||
| BATF-999 | Опциональное поле `file_path` в resource `decort_cb_image` в cloudbroker/image |
|
||||
|
||||
|
||||
2
Makefile
2
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.1
|
||||
VERSION=4.9.2
|
||||
OS_ARCH=$(shell go env GOHOSTOS)_$(shell go env GOHOSTARCH)
|
||||
|
||||
FILES = ${BINARY}_${VERSION}_darwin_amd64\
|
||||
|
||||
@@ -20,6 +20,7 @@ description: |-
|
||||
- `boot_type` (String) Boot type of image bios or uefi
|
||||
- `image_type` (String) Image type linux, windows or other
|
||||
- `name` (String) Name of the rescue disk
|
||||
- `url` (String) URL where to download media from
|
||||
|
||||
### Optional
|
||||
|
||||
@@ -30,7 +31,6 @@ description: |-
|
||||
- `drivers` (List of String) List of types of compute suitable for image. Example: [ "KVM_X86" ]
|
||||
- `enabled` (Boolean)
|
||||
- `enabled_stacks` (List of Number)
|
||||
- `file_path` (String) path to image file
|
||||
- `hot_resize` (Boolean) Does this machine supports hot resize
|
||||
- `network_interface_naming` (String) select a network interface naming pattern for your Linux machine. eth - onboard, ens - pci slot naming
|
||||
- `password` (String) Optional password for the image
|
||||
@@ -40,7 +40,6 @@ description: |-
|
||||
- `shared_with` (List of Number)
|
||||
- `sync_mode` (Boolean) Create image from a media identified by URL (in synchronous mode)
|
||||
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
|
||||
- `url` (String) URL where to download media from
|
||||
- `username` (String) Optional username for the image
|
||||
- `username_dl` (String) username for upload binary media
|
||||
|
||||
|
||||
2
go.mod
2
go.mod
@@ -8,7 +8,7 @@ require (
|
||||
github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0
|
||||
github.com/sirupsen/logrus v1.9.0
|
||||
golang.org/x/net v0.23.0
|
||||
repository.basistech.ru/BASIS/decort-golang-sdk v1.11.4
|
||||
repository.basistech.ru/BASIS/decort-golang-sdk v1.11.6
|
||||
)
|
||||
|
||||
require (
|
||||
|
||||
4
go.sum
4
go.sum
@@ -273,5 +273,5 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
repository.basistech.ru/BASIS/decort-golang-sdk v1.11.4 h1:OEFgSEGjzut+vVMGeNgoNq3dtk63FbXB6yGLTywtAas=
|
||||
repository.basistech.ru/BASIS/decort-golang-sdk v1.11.4/go.mod h1:OaUynHHuSjWMzpfyoL4au6oLcUogqUkPPBKA15pbHWo=
|
||||
repository.basistech.ru/BASIS/decort-golang-sdk v1.11.6 h1:CTcMkUJgwDsUA+Az8FI5iLpZDk4ubOO4JnAfbOwDnM0=
|
||||
repository.basistech.ru/BASIS/decort-golang-sdk v1.11.6/go.mod h1:OaUynHHuSjWMzpfyoL4au6oLcUogqUkPPBKA15pbHWo=
|
||||
|
||||
@@ -397,15 +397,12 @@ func differenceNetwork(oldList, newList []interface{}) (detachMap, changeIpMap,
|
||||
newMap := newNetwork.(map[string]interface{})
|
||||
if newMap["net_type"] == oldMap["net_type"] && newMap["net_id"] == oldMap["net_id"] && newMap["weight"] == oldMap["weight"] && (newMap["mtu"] == oldMap["mtu"] || newMap["mtu"].(int) == 0) {
|
||||
found = true
|
||||
switch {
|
||||
case (newMap["net_type"].(string) == "EXTNET" || newMap["net_type"].(string) == "VINS") && (newMap["ip_address"] != oldMap["ip_address"] && newMap["ip_address"].(string) != ""):
|
||||
if (newMap["net_type"].(string) == "EXTNET" || newMap["net_type"].(string) == "VINS") && (newMap["ip_address"] != oldMap["ip_address"] && newMap["ip_address"].(string) != "") {
|
||||
changeIpMap = append(changeIpMap, newMap)
|
||||
found = true
|
||||
fallthrough
|
||||
case newMap["mac"] != oldMap["mac"] && newMap["mac"].(string) != "":
|
||||
}
|
||||
if newMap["mac"] != oldMap["mac"] && newMap["mac"].(string) != "" {
|
||||
newMap["old_mac"] = oldMap["mac"]
|
||||
changeMacMap = append(changeMacMap, newMap)
|
||||
found = true
|
||||
}
|
||||
}
|
||||
if found {
|
||||
|
||||
@@ -49,30 +49,13 @@ import (
|
||||
func resourceImageCreate(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
|
||||
log.Debugf("resourceImageCreate: called for image %s", d.Get("name").(string))
|
||||
|
||||
url, urlOk := d.GetOk("url")
|
||||
filePath, fileImageOk := d.GetOk("file_path")
|
||||
|
||||
if !urlOk && !fileImageOk {
|
||||
return diag.Errorf("resourceImageCreate: no valid url or file_path specified")
|
||||
}
|
||||
|
||||
if urlOk && fileImageOk {
|
||||
return diag.Errorf("resourceImageCreate: either url or resource file_path should be specified")
|
||||
}
|
||||
url, _ := d.GetOk("url")
|
||||
|
||||
c := m.(*controller.ControllerCfg)
|
||||
|
||||
syncMode := d.Get("sync_mode").(bool)
|
||||
var imageId uint64
|
||||
|
||||
if fileImageOk {
|
||||
var err error
|
||||
url, err = c.CloudBroker().Image().UploadImageFile(ctx, filePath.(string))
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
}
|
||||
|
||||
if syncMode {
|
||||
req, err := SyncCreateRequest(ctx, d, m, url.(string))
|
||||
if err != nil {
|
||||
|
||||
@@ -1174,15 +1174,9 @@ func resourceImageSchemaMake() map[string]*schema.Schema {
|
||||
},
|
||||
"url": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
Computed: true,
|
||||
Required: true,
|
||||
Description: "URL where to download media from",
|
||||
},
|
||||
"file_path": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
Description: "path to image file",
|
||||
},
|
||||
"boot_type": {
|
||||
Type: schema.TypeString,
|
||||
Required: true,
|
||||
|
||||
@@ -764,15 +764,12 @@ func differenceNetwork(oldList, newList []interface{}) (detachMap, changeIpMap,
|
||||
newMap := newNetwork.(map[string]interface{})
|
||||
if newMap["net_type"] == oldMap["net_type"] && newMap["net_id"] == oldMap["net_id"] && newMap["weight"] == oldMap["weight"] && (newMap["mtu"] == oldMap["mtu"] || newMap["mtu"].(int) == 0) {
|
||||
found = true
|
||||
switch {
|
||||
case (newMap["net_type"].(string) == "EXTNET" || newMap["net_type"].(string) == "VINS") && (newMap["ip_address"] != oldMap["ip_address"] && newMap["ip_address"].(string) != ""):
|
||||
if (newMap["net_type"].(string) == "EXTNET" || newMap["net_type"].(string) == "VINS") && (newMap["ip_address"] != oldMap["ip_address"] && newMap["ip_address"].(string) != "") {
|
||||
changeIpMap = append(changeIpMap, newMap)
|
||||
found = true
|
||||
fallthrough
|
||||
case newMap["mac"] != oldMap["mac"] && newMap["mac"].(string) != "":
|
||||
}
|
||||
if newMap["mac"] != oldMap["mac"] && newMap["mac"].(string) != "" {
|
||||
newMap["old_mac"] = oldMap["mac"]
|
||||
changeMacMap = append(changeMacMap, newMap)
|
||||
found = true
|
||||
}
|
||||
}
|
||||
if found {
|
||||
|
||||
@@ -38,19 +38,11 @@ resource "decort_cb_image" "my_image" {
|
||||
name = "test_image_rename"
|
||||
|
||||
#адрес образа
|
||||
#опциональный параметр
|
||||
#внимание, для создания ресурса обязательно должен быть указан или url, или file_path
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
url = "https://colba.decs.online/index.php/s/G3H7AREngzeKGw2/download"
|
||||
|
||||
#путь к образу для загрузки
|
||||
#опциональный параметр
|
||||
#внимание, для создания ресурса обязательно должен быть указан или url, или file_path
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
file_path = "img.iso"
|
||||
|
||||
#тип загрузки образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
|
||||
Reference in New Issue
Block a user