From b3df483fc220a2c515b51d96762b075c7aced4a6 Mon Sep 17 00:00:00 2001 From: Alexey Fetisov Date: Fri, 30 Jan 2026 17:13:30 +0300 Subject: [PATCH] v13.6.0 --- CHANGELOG.md | 16 ++++++++++++---- pkg/cloudapi/compute/net_attach.go | 18 +++++++++++++++++- pkg/cloudapi/kvmx86/create.go | 16 ++++++++++++++++ pkg/cloudbroker/compute/net_attach.go | 18 +++++++++++++++++- pkg/cloudbroker/kvmx86/create.go | 16 ++++++++++++++++ pkg/cloudbroker/kvmx86/mass_create.go | 20 ++++++++++++++++++++ pkg/cloudbroker/node/models.go | 3 +++ pkg/cloudbroker/zone/create.go | 4 ++++ 8 files changed, 105 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61c4b31..241f870 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,21 @@ -## Version 13.5.0 +## Version 13.6.0 Методы `Audits` в cloudapi/compute, cloudbroker/compute, cloudapi/account, cloudbroker/account, cloudapi/vins, cloudbroker/vins, cloudapi/rg и cloudbroker/rg стали deprecated и в следующих версиях будут удалены, вместо них необходимо использовать метод `List` в cloudapi/audit и cloudbroker/audit с соответствующими фильтрами Метод `ListNodes` в cloudbroker/image стал deprecated и в следующих версиях будет удалён Методы `AccessGrant`, `AccessGrantToPool`, `AccessRevoke`, `AccessRevokeToPool` в cloudbroker/sep стали deprecated и в следующих версиях будут удалены -Методы `ComputeCISet`, `ComputeCIUnset`, `GetAudits` в cloudbroker/computeGetAudits и `GetAudits` в cloudbroker/compute стали deprecated и будут удалены в следующих версиях +Методы `ComputeCISet`, `ComputeCIUnset`, `GetAudits` в cloudbroker/compute и `GetAudits` в cloudapi/compute стали deprecated и будут удалены в следующих версиях Методы `ComputeCISet`, `ComputeCIUnset` в cloudbroker/image стали deprecated и будут удалены в следующих версиях Все методы группы `.SDN()` находятся в альфа-версии. ### Добавлено +#### compute +| Идентификатор
задачи | Описание | +| --- | --- | +| BGOS-751 | Опциональные поля `SDNSegmentID`, `SDNObjectGroupID`, `SDNLogicalPortDisplayName`, `SDNLogicalPortDescription` в структуры запроса в `Interface` в cloudapi/compute и в `Interface`, `InterfaceMassCreate` в cloudbroker/compute | +| BGOS-752 | Опциональные поля `SDNSegmentID`, `SDNObjectGroupID`, `SDNLogicalPortDisplayName`, `SDNLogicalPortDescription` в структуру запроса `NetAttachRequest` в cloudapi/compute и в cloudbroker/compute | + #### disks | Идентификатор
задачи | Описание | | --- | --- | @@ -21,13 +27,15 @@ | BGOS-738 | Структура запроса `AutoStartRequest`, метод `AutoStart` в cloudbroker/node | | BGOS-738 | Опциональное поле `AutoStart` в структуру запроса `MaintenanceRequest` в cloudbroker/node | | BGOS-738 | Вычисляемые поля `AutoStart`, `AutoStartCount` в структуры ответов `ItemNode` и `RecordNode` в cloudbroker/node | -| BGOS-743 | Структура запроса `NodeAutoStartRequest`, метод `NodeAutoStart` в cloudbroker/zone | +| BGOS-746 | Вычисляемое поле `MemAllocationRatio` в структуру ответа `RecordNode` в cloudbroker/node | #### zone | Идентификатор
задачи | Описание | | --- | --- | | BGOS-737 | Опциональное поле `AutoStart` в структуру запроса `UpdateRequest` в cloudbroker/zone | | BGOS-737 | Вычисляемое поле `AutoStart` в структуры ответа `RecordZone` в cloudapi/zone и в cloudbroker/zone | +| BGOS-748 | Опциональное поле `AutoStart` в структуру запроса `CreateRequest` в cloudbroker/zone | +| BGOS-743 | Структура запроса `NodeAutoStartRequest`, метод `NodeAutoStart` в cloudbroker/zone | ### Изменено @@ -47,4 +55,4 @@ | Идентификатор
задачи | Описание | | --- | --- | | BGOS-742 | Опциональное поле `RGID` из структуры запроса `ListRequest` в cloudapi/flipgroup и в cloudbroker/flipgroup | -| BGOS-742 | Вычисляемые поля `RGName` и `RGID` из структуры ответа `RecordFLIPGroup` в cloudapi/flipgroup и в cloudbroker/flipgroup | +| BGOS-742 | Вычисляемые поля `RGName` и `RGID` из структуры ответа `RecordFLIPGroup` в cloudapi/flipgroup и в cloudbroker/flipgroup | \ No newline at end of file diff --git a/pkg/cloudapi/compute/net_attach.go b/pkg/cloudapi/compute/net_attach.go index 0d33100..7213d09 100644 --- a/pkg/cloudapi/compute/net_attach.go +++ b/pkg/cloudapi/compute/net_attach.go @@ -20,7 +20,7 @@ type NetAttachRequest struct { // 'VFNIC' for connect to vfpool // 'DPDK' for connect to DPDK // `EMPTY` for connect empty network - // `SDT` for connect to SDN + // `SDN` for connect to SDN // `TRUNK` for connect to TRUNK // Required: true NetType string `url:"netType" json:"netType" validate:"computex86NetType"` @@ -50,6 +50,22 @@ type NetAttachRequest struct { // Required: false NetMask uint64 `url:"netMask,omitempty" json:"netMask,omitempty"` + // SDN Segment ID + // Required: false + SDNSegmentID string `url:"sdn_segment_id,omitempty" json:"sdn_segment_id,omitempty"` + + // SDN Object Group ID + // Required: false + SDNObjectGroupID string `url:"sdn_object_group_id,omitempty" json:"sdn_object_group_id,omitempty"` + + // SDN Logical Port Display Name + // Required: false + SDNLogicalPortDisplayName string `url:"sdn_logical_port_display_name,omitempty" json:"sdn_logical_port_display_name,omitempty"` + + // SDN Logical Port Description + // Required: false + SDNLogicalPortDescription string `url:"sdn_logical_port_description,omitempty" json:"sdn_logical_port_description,omitempty"` + // Unique identifier of logical port on SDN side // Required: false SDNInterfaceID string `url:"sdn_interface_id,omitempty" json:"sdn_interface_id,omitempty" validate:"omitempty"` diff --git a/pkg/cloudapi/kvmx86/create.go b/pkg/cloudapi/kvmx86/create.go index ed25832..e8a544d 100644 --- a/pkg/cloudapi/kvmx86/create.go +++ b/pkg/cloudapi/kvmx86/create.go @@ -44,6 +44,22 @@ type Interface struct { // Required: false MAC string `url:"mac,omitempty" json:"mac,omitempty" validate:"omitempty"` + // SDN Segment ID + // Required: false + SDNSegmentID string `url:"sdn_segment_id,omitempty" json:"sdn_segment_id,omitempty"` + + // SDN Object Group ID + // Required: false + SDNObjectGroupID string `url:"sdn_object_group_id,omitempty" json:"sdn_object_group_id,omitempty"` + + // SDN Logical Port Display Name + // Required: false + SDNLogicalPortDisplayName string `url:"sdn_logical_port_display_name,omitempty" json:"sdn_logical_port_display_name,omitempty"` + + // SDN Logical Port Description + // Required: false + SDNLogicalPortDescription string `url:"sdn_logical_port_description,omitempty" json:"sdn_logical_port_description,omitempty"` + // SDN interface id // Required: false SDNInterfaceID string `url:"sdn_interface_id,omitempty" json:"sdn_interface_id,omitempty"` diff --git a/pkg/cloudbroker/compute/net_attach.go b/pkg/cloudbroker/compute/net_attach.go index cbee97c..cab2f4f 100644 --- a/pkg/cloudbroker/compute/net_attach.go +++ b/pkg/cloudbroker/compute/net_attach.go @@ -20,7 +20,7 @@ type NetAttachRequest struct { // 'VFNIC' for connect to vfpool // 'DPDK' for connect to DPDK // `EMPTY` for connect empty network - // `SDT` for connect to SDN + // `SDN` for connect to SDN // `TRUNK` for connect to TRUNK // Required: true NetType string `url:"netType" json:"netType" validate:"computex86NetType"` @@ -50,6 +50,22 @@ type NetAttachRequest struct { // Required: false NetMask uint64 `url:"netMask,omitempty" json:"netMask,omitempty"` + // SDN Segment ID + // Required: false + SDNSegmentID string `url:"sdn_segment_id,omitempty" json:"sdn_segment_id,omitempty"` + + // SDN Object Group ID + // Required: false + SDNObjectGroupID string `url:"sdn_object_group_id,omitempty" json:"sdn_object_group_id,omitempty"` + + // SDN Logical Port Display Name + // Required: false + SDNLogicalPortDisplayName string `url:"sdn_logical_port_display_name,omitempty" json:"sdn_logical_port_display_name,omitempty"` + + // SDN Logical Port Description + // Required: false + SDNLogicalPortDescription string `url:"sdn_logical_port_description,omitempty" json:"sdn_logical_port_description,omitempty"` + // Unique identifier of logical port on SDN side // Required: false SDNInterfaceID string `url:"sdn_interface_id,omitempty" json:"sdn_interface_id,omitempty" validate:"omitempty"` diff --git a/pkg/cloudbroker/kvmx86/create.go b/pkg/cloudbroker/kvmx86/create.go index ad21f8b..8d1b7d8 100644 --- a/pkg/cloudbroker/kvmx86/create.go +++ b/pkg/cloudbroker/kvmx86/create.go @@ -57,6 +57,22 @@ type Interface struct { // Flag indicating whether this interface is enabled (only for VINS, EXTNET, DPDK, SDN, TRUNK) // Required: false Enabled interface{} `url:"enabled,omitempty" json:"enabled,omitempty" validate:"omitempty,isBool"` + + // SDN Segment ID + // Required: false + SDNSegmentID string `url:"sdn_segment_id,omitempty" json:"sdn_segment_id,omitempty"` + + // SDN Object Group ID + // Required: false + SDNObjectGroupID string `url:"sdn_object_group_id,omitempty" json:"sdn_object_group_id,omitempty"` + + // SDN Logical Port Display Name + // Required: false + SDNLogicalPortDisplayName string `url:"sdn_logical_port_display_name,omitempty" json:"sdn_logical_port_display_name,omitempty"` + + // SDN Logical Port Description + // Required: false + SDNLogicalPortDescription string `url:"sdn_logical_port_description,omitempty" json:"sdn_logical_port_description,omitempty"` } // DataDisk detailed struct for DataDisks field in CreateRequest, CreateBlankRequest and MassCreateRequest diff --git a/pkg/cloudbroker/kvmx86/mass_create.go b/pkg/cloudbroker/kvmx86/mass_create.go index e83a903..951bf47 100644 --- a/pkg/cloudbroker/kvmx86/mass_create.go +++ b/pkg/cloudbroker/kvmx86/mass_create.go @@ -14,9 +14,13 @@ type InterfaceMassCreate struct { // - VINS // - EXTNET // - TRUNK + // - SDN + // For SDN, one of the fields sdn_interface_id or sdn_segment_id is specified, but not both at the same time + // Required: false NetType string `url:"netType" json:"netType" validate:"required,massCreateNetType"` // Network ID for connect + // Required: false NetID uint64 `url:"netId" json:"netId" validate:"required"` // IP address to assign to this VM when connecting to the specified network @@ -47,6 +51,22 @@ type InterfaceMassCreate struct { // Flag indicating whether this interface is enabled (only for VINS, EXTNET, DPDK, SDN, TRUNK) // Required: false Enabled interface{} `url:"enabled,omitempty" json:"enabled,omitempty" validate:"omitempty,isBool"` + + // SDN Segment ID + // Required: false + SDNSegmentID string `url:"sdn_segment_id,omitempty" json:"sdn_segment_id,omitempty"` + + // SDN Object Group ID + // Required: false + SDNObjectGroupID string `url:"sdn_object_group_id,omitempty" json:"sdn_object_group_id,omitempty"` + + // SDN Logical Port Display Name + // Required: false + SDNLogicalPortDisplayName string `url:"sdn_logical_port_display_name,omitempty" json:"sdn_logical_port_display_name,omitempty"` + + // SDN Logical Port Description + // Required: false + SDNLogicalPortDescription string `url:"sdn_logical_port_description,omitempty" json:"sdn_logical_port_description,omitempty"` } // MassCreateRequest struct to mass create KVM x86 diff --git a/pkg/cloudbroker/node/models.go b/pkg/cloudbroker/node/models.go index 321a6d1..fa2e5a9 100644 --- a/pkg/cloudbroker/node/models.go +++ b/pkg/cloudbroker/node/models.go @@ -26,6 +26,9 @@ type RecordNode struct { // Isolated Cpus IsolatedCpus []interface{} `json:"isolatedCpus"` + // MemAllocationRatio + MemAllocationRatio float64 `json:"mem_allocation_ratio"` + // Name Name string `json:"name"` diff --git a/pkg/cloudbroker/zone/create.go b/pkg/cloudbroker/zone/create.go index 04611be..619e17f 100644 --- a/pkg/cloudbroker/zone/create.go +++ b/pkg/cloudbroker/zone/create.go @@ -17,6 +17,10 @@ type CreateRequest struct { // Description // Required: false Description string `url:"description,omitempty" json:"description,omitempty"` + + // If true, all nodes belonging to the given zone will be marked for autostart + // Required: false + AutoStart interface{} `url:"autostart,omitempty" json:"autostart,omitempty" validate:"omitempty,isBool"` } // Create creates zone object