Implement SSVM storage network IP to API response and GUI details tab (#11979)

* Implement SSVM storage network IP to API response and GUI details tab

* remove network mention from attribute name

* remove network from serialized name

* fix parameter name in the UI
This commit is contained in:
Erik Böck 2026-01-27 08:59:06 -03:00 committed by GitHub
parent 416568a373
commit cd2d71104e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 17 additions and 1 deletions

View File

@ -126,6 +126,10 @@ public class SystemVmResponse extends BaseResponseWithAnnotations {
@Param(description = "The public netmask for the System VM")
private String publicNetmask;
@SerializedName("storageip")
@Param(description = "the ip address for the system VM on the storage network")
private String storageIp;
@SerializedName("templateid")
@Param(description = "The Template ID for the System VM")
private String templateId;
@ -355,6 +359,14 @@ public class SystemVmResponse extends BaseResponseWithAnnotations {
this.publicNetmask = publicNetmask;
}
public String getStorageIp() {
return storageIp;
}
public void setStorageIp(String storageIp) {
this.storageIp = storageIp;
}
public String getTemplateId() {
return templateId;
}

View File

@ -1884,6 +1884,8 @@ public class ApiResponseHelper implements ResponseGenerator {
vmResponse.setPublicNetmask(singleNicProfile.getIPv4Netmask());
vmResponse.setGateway(singleNicProfile.getIPv4Gateway());
}
} else if (network.getTrafficType() == TrafficType.Storage) {
vmResponse.setStorageIp(singleNicProfile.getIPv4Address());
}
}
}

View File

@ -2438,6 +2438,7 @@
"label.storagepool.tooltip": "Destination Storage Pool. Volume should be located in this Storage Pool",
"label.storagetags": "Storage tags",
"label.storagetype": "Storage type",
"label.storageip": "Storage IP address",
"label.strict": "Strict",
"label.subdomainaccess": "Subdomain access",
"label.submit": "Submit",

View File

@ -1584,6 +1584,7 @@
"label.storagepool": "Pool de armazenamento",
"label.storagetags": "Tags de armazenamento",
"label.storagetype": "Tipo de armazenamento",
"label.storageip": "Endere\u00e7o IP na rede de armazenamento",
"label.strict": "Rigoroso",
"label.subdomainaccess": "acesso ao subdom\u00ednio",
"label.submit": "Enviar",

View File

@ -26,7 +26,7 @@ export default {
permission: ['listSystemVms'],
searchFilters: ['name', 'zoneid', 'podid', 'hostid', 'systemvmtype', 'storageid', 'arch'],
columns: ['name', 'state', 'agentstate', 'systemvmtype', 'publicip', 'privateip', 'linklocalip', 'version', 'hostname', 'arch', 'zonename'],
details: ['name', 'id', 'agentstate', 'systemvmtype', 'publicip', 'privateip', 'linklocalip', 'gateway', 'hostname', 'arch', 'version', 'zonename', 'created', 'activeviewersessions', 'isdynamicallyscalable', 'hostcontrolstate'],
details: ['name', 'id', 'agentstate', 'systemvmtype', 'publicip', 'privateip', 'linklocalip', 'gateway', 'hostname', 'arch', 'version', 'zonename', 'created', 'activeviewersessions', 'isdynamicallyscalable', 'hostcontrolstate', 'storageip'],
resourceType: 'SystemVm',
filters: () => {
const filters = ['starting', 'running', 'stopping', 'stopped', 'destroyed', 'expunging', 'migrating', 'error', 'unknown', 'shutdown']