Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
6b4521b
<fix>[vm]: use max of virtual and actual size for root disk when no d…
AlanJager Feb 12, 2026
3b5bda3
<fix>[zbs]: enable tryNext and 30s timeout for getActiveClients MDS call
AlanJager Feb 12, 2026
80df074
<fix>[vm]: add Destroying->Stopped state transition
AlanJager Feb 12, 2026
a84a36e
<fix>[ceph]: apply over-provisioning ratio when releasing snapshot ca…
AlanJager Feb 12, 2026
f19223a
<fix>[loadBalancer]: block SLB deletion during grayscale upgrade
AlanJager Feb 13, 2026
24d4f3b
<fix>[i18n]: improve snapshot error message for unattached volume
AlanJager Feb 13, 2026
f563992
<fix>[compute]: add null check for VmNicVO in afterDelIpAddress and a…
AlanJager Feb 13, 2026
6545350
<fix>[network]: filter reserved IPs from GetFreeIp API results
AlanJager Feb 13, 2026
76490a5
Merge branch 'fix/ZSTAC-80620' into '5.5.12'
Feb 16, 2026
461e8a2
Merge branch 'fix/ZSTAC-82153' into '5.5.12'
Feb 16, 2026
32e1e94
Merge branch 'fix/ZSTAC-80595' into '5.5.12'
Feb 16, 2026
addec8c
Merge branch 'fix/ZSTAC-74683' into '5.5.12'
Feb 16, 2026
26b8b1a
<fix>[mn]: synchronize hash ring operations to prevent dual-MN task s…
AlanJager Feb 12, 2026
be53c72
Merge branch 'fix/ZSTAC-81182' into '5.5.12'
Feb 16, 2026
e1dee9f
Merge branch 'fix/ZSTAC-79709' into '5.5.12'
Feb 16, 2026
3bd062b
Merge branch 'fix/ZSTAC-81741' into '5.5.12'
Feb 16, 2026
aaeaf39
<fix>[storage]: desensitize mdsUrls in ExternalPrimaryStorageInventory
AlanJager Feb 13, 2026
f41558d
<fix>[volumebackup]: add backup cancel timeout error code
AlanJager Feb 16, 2026
673be94
Merge branch 'fix/ZSTAC-77711' into '5.5.12'
Feb 16, 2026
7f53f5a
<fix>[thread]: guard Context.current() with telemetry check
PandaWuu Feb 16, 2026
72ce6ef
Merge branch 'bugfix/ZSTAC-82275' into '5.5.12'
PandaWuu Feb 16, 2026
a9a3994
<fix>[volumebackup]: add backup cancel timeout error code
AlanJager Feb 16, 2026
34bceb1
Merge branch 'fix/ZSTAC-78989' into '5.5.12'
Feb 16, 2026
3e02188
Merge branch 'fix/ZSTAC-82195' into '5.5.12'
Feb 17, 2026
799a84f
Merge branch 'fix/ZSTAC-80664' into '5.5.12'
Feb 17, 2026
8c8ed73
<fix>[ha]: defer skip-trace list cleanup on MN departure to prevent s…
AlanJager Feb 12, 2026
7a6d5d7
<fix>[kvm]: use CAS remove to fix TOCTOU race in orphaned skip VM cle…
AlanJager Feb 12, 2026
62e3db5
<fix>[zbs]: sync MDS node statuses to DB when reconnect fails
AlanJager Feb 17, 2026
bec4623
<fix>[kvm]: configurable orphan skip timeout
AlanJager Feb 16, 2026
ce0a020
<fix>[pciDevice]: add error code ORG_ZSTACK_PCIDEVICE_10077 for SR-IO…
AlanJager Feb 19, 2026
16f5890
<fix>[compute]: respect vm.migrationQuantity during host maintenance
AlanJager Feb 19, 2026
96db963
<fix>[multi]: batch guard NPE quality issues
AlanJager Feb 20, 2026
beccef9
<fix>[multi]: batch fix CRE quality issues
AlanJager Feb 20, 2026
8af5cd8
Merge branch 'fix/ZSTAC-81163@@2' into '5.5.12'
Feb 20, 2026
68791ea
<fix>[ai]: add error codes for AI and PCI
AlanJager Feb 20, 2026
107905d
Merge branch 'fix/ZSTAC-72783' into '5.5.12'
Feb 20, 2026
8176aa9
Merge branch 'fix/cre-batch-quality-issues@@2' into '5.5.12'
Feb 20, 2026
bf1d8ea
Merge branch 'fix/ZSTAC-82195@@2' into '5.5.12'
Feb 24, 2026
2a4e85a
<fix>[gpu]: add normalizedModelName migration SQL
AlanJager Feb 24, 2026
f55f04a
Merge branch 'fix/ZSTAC-81354' into '5.5.12'
Feb 24, 2026
fd02d47
<fix>[multi]: fix review findings: dryRun completion, initializeHostA…
AlanJager Feb 24, 2026
34a77bc
<fix>[telemetry]: fix Sentry transaction loss and add debug logging
AlanJager Feb 24, 2026
6014606
Merge branch 'fix/ZSTAC-80821@@2' into '5.5.12'
Feb 24, 2026
0566614
<fix>[telemetry]: consolidate semconv to 1.28.0-alpha
AlanJager Feb 24, 2026
36fcfb5
Merge branch 'fix/npe-batch-quality-issues@@2' into '5.5.12'
Feb 24, 2026
4449936
Merge branch 'fix/ZSTAC-61988' into '5.5.12'
Feb 24, 2026
9516f11
Merge branch 'fix/ZSTAC-75319-migration' into '5.5.12'
Feb 24, 2026
8f4ac96
Merge branch 'fix/ZSTAC-77544' into '5.5.12'
Feb 25, 2026
5217d8f
<fix>[storage]: improve i18n error messages for PS UUID conflicts
PandaWuu Feb 24, 2026
a1b38d2
Merge branch 'bugfix/ZSTAC-72656' into '5.5.12'
Feb 25, 2026
709bbc5
<fix>[expon]: fix vhost installPath overwrite and test cleanup
PandaWuu Feb 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions build/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -731,9 +731,9 @@
<groupId>io.sentry</groupId>
<artifactId>sentry-opentelemetry-bootstrap</artifactId>
</dependency>
<!-- Legacy semconv 1.23.1-alpha for top-level SemanticAttributes (sentry-opentelemetry-bootstrap) -->
<!-- Semconv 1.28.0-alpha: both legacy SemanticAttributes and new split classes for Sentry OTel -->
<dependency>
<groupId>io.opentelemetry</groupId>
<groupId>io.opentelemetry.semconv</groupId>
<artifactId>opentelemetry-semconv</artifactId>
</dependency>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,14 @@ private void runFlow(AbstractHostAllocatorFlow flow) {
}
} catch (Throwable t) {
logger.warn("unhandled throwable", t);
completion.fail(inerr(ORG_ZSTACK_COMPUTE_ALLOCATOR_10019, t.toString()));
String errMsg = t != null ? t.toString() : "unknown error";
if (isDryRun) {
if (dryRunCompletion != null) {
dryRunCompletion.fail(inerr(ORG_ZSTACK_COMPUTE_ALLOCATOR_10019, errMsg));
}
} else if (completion != null) {
completion.fail(inerr(ORG_ZSTACK_COMPUTE_ALLOCATOR_10019, errMsg));
}
Comment on lines +150 to +156
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

静默吞咽 Throwable 可能导致调用方永远挂起

isDryRun=truedryRunCompletion==null(或 isDryRun=falsecompletion==null)时,该 Throwable 被完全静默丢弃,调用方的 ReturnValueCompletion 回调永远不会触发,造成无限挂起

与此形成对比的是 done() 方法(第 88–119 行)直接调用 dryRunCompletion.fail(...) / completion.fail(...)没有任何 null 检查——若 completion 为 null 时 done() 会立即抛出 NPE,使问题暴露;但此处的 null 守卫反而将错误隐藏,使故障模式从"立即可见的崩溃"变成"难以排查的静默挂起"。

allocate(ReturnValueCompletion)dryRun(ReturnValueCompletion) 的实现来看,completion/dryRunCompletionstart() 调用前已经被赋值,正常路径下不应为 null。建议去掉 null 守卫,或至少在 null 时补充一条 error 级别日志并触发断言,以保持与 done() 的行为一致性。

🐛 建议修复——移除静默吞咽,保持与 done() 一致
         } catch (Throwable t) {
             logger.warn("unhandled throwable", t);
-            String errMsg = t != null ? t.toString() : "unknown error";
-            if (isDryRun) {
-                if (dryRunCompletion != null) {
-                    dryRunCompletion.fail(inerr(ORG_ZSTACK_COMPUTE_ALLOCATOR_10019, errMsg));
-                }
-            } else if (completion != null) {
-                completion.fail(inerr(ORG_ZSTACK_COMPUTE_ALLOCATOR_10019, errMsg));
+            String errMsg = t.toString();
+            if (isDryRun) {
+                dryRunCompletion.fail(inerr(ORG_ZSTACK_COMPUTE_ALLOCATOR_10019, errMsg));
+            } else {
+                completion.fail(inerr(ORG_ZSTACK_COMPUTE_ALLOCATOR_10019, errMsg));
             }
         }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@compute/src/main/java/org/zstack/compute/allocator/HostAllocatorChain.java`
around lines 150 - 156, The code in HostAllocatorChain handling errors silently
swallows Throwables when isDryRun is true and dryRunCompletion==null (or when
completion==null), causing callers to hang; change the logic in the error path
to mirror done(): remove the null guards and always call
dryRunCompletion.fail(...) or completion.fail(...) (or if you prefer to keep
guards, add an error-level log and an assertion/fail-fast when the completion is
null before returning) so that Throwable is not silently dropped; update the
error branch around isDryRun/dryRunCompletion/completion to ensure a fail(...)
is invoked (or a clear error+assert) using the same identifiers used in the
diff.

}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -851,17 +851,15 @@ public HostCapacityVO call(HostCapacityVO cap) {
long deltaMemory = ratioMgr.calculateMemoryByRatio(hostUuid, memory);
long availMemory = cap.getAvailableMemory() + deltaMemory;
if (availMemory > cap.getTotalMemory()) {
throw new CloudRuntimeException(
String.format("invalid memory capacity of host[uuid:%s]," +
" available memory[%s] is greater than total memory[%s]." +
" Available Memory before is [%s], Delta Memory is [%s].",
hostUuid,
new DecimalFormat(",###").format(availMemory),
new DecimalFormat(",###").format(cap.getTotalMemory()),
new DecimalFormat(",###").format(cap.getAvailableMemory()),
new DecimalFormat(",###").format(deltaMemory)
)
);
logger.warn(String.format("memory capacity overflow on host[uuid:%s]," +
" available memory[%s] > total memory[%s], clamping to total." +
" Available Memory before is [%s], Delta Memory is [%s].",
hostUuid,
new DecimalFormat(",###").format(availMemory),
new DecimalFormat(",###").format(cap.getTotalMemory()),
new DecimalFormat(",###").format(cap.getAvailableMemory()),
new DecimalFormat(",###").format(deltaMemory)));
availMemory = cap.getTotalMemory();
}

cap.setAvailableMemory(availMemory);
Expand Down
7 changes: 3 additions & 4 deletions compute/src/main/java/org/zstack/compute/host/HostBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -411,9 +411,8 @@ public void run(final FlowTrigger trigger, Map data) {
if (ordered != null) {
vmUuids = ordered;

logger.debug(String.format("%s ordered VMs for host maintenance, to keep the order, we will migrate VMs one by one",
ext.getClass()));
migrateQuantity = 1;
logger.debug(String.format("%s ordered VMs for host maintenance, migrate quantity: %d",
ext.getClass(), migrateQuantity));
}
}

Expand Down Expand Up @@ -1443,7 +1442,7 @@ public String getName() {

@Override
protected String getDeduplicateString() {
return String.format("connect-host-%s", self.getUuid());
return String.format("connect-host-%s", self == null ? "unknown" : self.getUuid());
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

避免把不同主机退化为同一个去重键。

Line 1445 在 self == null 时固定返回 connect-host-unknown,会让不同主机的连接任务共用同一 deduplicate key,存在误去重/串行化串扰风险。建议优先回退到 msg.getHostUuid()

建议修复
-                return String.format("connect-host-%s", self == null ? "unknown" : self.getUuid());
+                String hostUuid = self != null ? self.getUuid() : msg.getHostUuid();
+                return String.format("connect-host-%s", hostUuid == null ? "unknown" : hostUuid);
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
return String.format("connect-host-%s", self == null ? "unknown" : self.getUuid());
String hostUuid = self != null ? self.getUuid() : msg.getHostUuid();
return String.format("connect-host-%s", hostUuid == null ? "unknown" : hostUuid);
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@compute/src/main/java/org/zstack/compute/host/HostBase.java` at line 1445,
The deduplicate key currently returns a fixed "connect-host-unknown" when self
is null, causing different hosts to share the same key; change the key
generation in HostBase to prefer msg.getHostUuid() as the fallback (i.e., use
self.getUuid() if self != null, else msg.getHostUuid()), and only fall back to a
literal "unknown" if both are null so each host's connect-host-{uuid} key
remains unique.

}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@ private void checkPrimaryStorageCapabilities(VmCapabilities capabilities, VmInst
q.add(PrimaryStorageVO_.uuid, SimpleQuery.Op.EQ, rootVolume.getPrimaryStorageUuid());
String type = q.findValue();

if (type == null) {
capabilities.setSupportLiveMigration(false);
capabilities.setSupportVolumeMigration(false);
return;
}

PrimaryStorageType psType = PrimaryStorageType.valueOf(type);

if (vm.getState() != VmInstanceState.Running) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ public void afterAddIpAddress(String vmNicUUid, String usedIpUuid) {
SQL.New(UsedIpVO.class).eq(UsedIpVO_.uuid, usedIpUuid).set(UsedIpVO_.vmNicUuid, vmNicUUid).update();

VmNicVO nic = Q.New(VmNicVO.class).eq(VmNicVO_.uuid, vmNicUUid).find();
if (nic == null) {
logger.debug(String.format("VmNic[uuid:%s] not found, skip afterAddIpAddress", vmNicUUid));
return;
}

UsedIpVO temp = null;
/* if there is ipv4 addresses, we put the first attached ipv4 address to VmNic.ip
Expand Down Expand Up @@ -88,6 +92,10 @@ public void afterAddIpAddress(String vmNicUUid, String usedIpUuid) {
@Override
public void afterDelIpAddress(String vmNicUUid, String usedIpUuid) {
VmNicVO nic = Q.New(VmNicVO.class).eq(VmNicVO_.uuid, vmNicUUid).find();
if (nic == null) {
logger.debug(String.format("VmNic[uuid:%s] not found, skip afterDelIpAddress", vmNicUUid));
return;
}
if (nic.getUsedIpUuid() != null && !nic.getUsedIpUuid().equals(usedIpUuid)) {
return;
}
Expand Down
3 changes: 3 additions & 0 deletions conf/db/upgrade/V5.5.12__schema.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-- ZSTAC-75319: Add normalizedModelName column for GPU spec dedup
CALL ADD_COLUMN('GpuDeviceSpecVO', 'normalizedModelName', 'VARCHAR(255)', 1, NULL);
CALL CREATE_INDEX('GpuDeviceSpecVO', 'idx_gpu_spec_normalized_model', 'normalizedModelName');
5 changes: 3 additions & 2 deletions conf/i18n/globalErrorCodeMapping/global-error-de-DE.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@
"ORG_ZSTACK_STORAGE_SNAPSHOT_10008": "Volume[uuid:%s] kann nicht auf Snapshot[uuid:%s] zurückgesetzt werden, das Volume der VM[uuid:%s] befindet sich nicht im Status \"Stopped\", aktueller Status ist %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10044": "Kein qualifizierter primärer Speicher gefunden; Fehler sind %s",
"ORG_ZSTACK_NETWORK_SERVICE_NFVINSTGROUP_10000": "Aktualisierung des Gruppenstatus fehlgeschlagen: %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "primaryStorageUuid-Konflikt: Der durch das Instanzangebot angegebene primäre Speicher ist %s, während der durch den Erstellungsparameter angegebene primäre Speicher %s ist.",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "primaryStorageUuid-Konflikt: Der durch das Compute-Angebot angegebene primäre Speicher ist %s, während der durch den Erstellungsparameter angegebene primäre Speicher %s ist.",
"ORG_ZSTACK_STORAGE_PRIMARY_10051": "primaryStorageUuid-Konflikt: Der durch das Root-Disk-Angebot angegebene primäre Speicher ist %s, während der durch den Erstellungsparameter angegebene primäre Speicher %s ist.",
"ORG_ZSTACK_V2V_10008": "Dieselbe MAC-Adresse [%s] ist im Netzwerk[%s] nicht erlaubt",
"ORG_ZSTACK_V2V_10009": "Doppelte MAC-Adresse [%s] im Netzwerk[%s]",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "primaryStorageUuid-Konflikt: Der durch das Plattenangebot angegebene primäre Speicher ist %s, während der durch den Erstellungsparameter angegebene primäre Speicher %s ist.",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "primaryStorageUuid-Konflikt: Der durch das Datenplattenangebot angegebene primäre Speicher ist %s, während der durch den Erstellungsparameter angegebene primäre Speicher %s ist.",
"ORG_ZSTACK_V2V_10006": "Die zugrunde liegende Compute-Instanz des Konversions-Hosts[uuid:%s] sollte verbunden sein",
"ORG_ZSTACK_V2V_10007": "Konversions-Host[uuid:%s] kann keine Verbindung zum primären Speicher[uuid:%s] herstellen",
"ORG_ZSTACK_V2V_10004": "VM-Instanz [UUID:%s] existiert nicht oder ist keine VMware-VM-Instanz",
Expand Down
7 changes: 4 additions & 3 deletions conf/i18n/globalErrorCodeMapping/global-error-en_US.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@
"ORG_ZSTACK_STORAGE_SNAPSHOT_10008": "unable to reset volume[uuid:%s] to snapshot[uuid:%s], the vm[uuid:%s] volume is not in Stopped state, current state is %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10044": "cannot find any qualified primary storage; errors are %s",
"ORG_ZSTACK_NETWORK_SERVICE_NFVINSTGROUP_10000": "Failed to update group status: %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "primaryStorageUuid Conflict: The primary storage specified by the instance offering is %s, while the primary storage specified in the creation parameter is %s.",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "primaryStorageUuid Conflict: The primary storage specified by the compute offering is %s, while the primary storage specified in the creation parameter is %s.",
"ORG_ZSTACK_STORAGE_PRIMARY_10051": "primaryStorageUuid Conflict: The primary storage specified by the root disk offering is %s, while the primary storage specified in the creation parameter is %s.",
"ORG_ZSTACK_V2V_10008": "Not allowed the same MAC address [%s] in network[%s]",
"ORG_ZSTACK_V2V_10009": "Duplicate MAC address [%s] in network[%s]",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "primaryStorageUuid Conflict: The primary storage specified by the disk offering is %s, while the primary storage specified in the creation parameter is %s.",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "primaryStorageUuid Conflict: The primary storage specified by the data disk offering is %s, while the primary storage specified in the creation parameter is %s.",
"ORG_ZSTACK_V2V_10006": "underlying compute instance of conversion host[uuid:%s] should be Connected",
"ORG_ZSTACK_V2V_10007": "conversion host[uuid:%s] cannot establish a connection to the primary storage[uuid:%s]",
"ORG_ZSTACK_V2V_10004": "VM instance [UUID:%s] does not exist or is not a VMware VM instance",
Expand Down Expand Up @@ -3374,7 +3375,7 @@
"ORG_ZSTACK_NETWORK_HUAWEI_IMASTER_10019": "delete token of SDN controller [IP:%s] failed because %s",
"ORG_ZSTACK_STORAGE_PRIMARY_BLOCK_10004": "Cannot execute volume mapping to host flow due to invalid volume ID.%s",
"ORG_ZSTACK_NETWORK_SERVICE_PORTFORWARDING_10007": "port forwarding rule [uuid:%s] has not been attached to any virtual machine network interface, cannot detach",
"ORG_ZSTACK_MEVOCO_10088": "cannot take a snapshot for volumes[%s] when volume[uuid: %s] is not attached",
"ORG_ZSTACK_MEVOCO_10088": "cannot create snapshot for volume[uuid:%s] because it is not attached to any VM instance. Please attach the volume to a VM first. Affected volumes: %s",
"ORG_ZSTACK_STORAGE_PRIMARY_BLOCK_10005": "Cannot execute map LUN to host flow due to invalid LUN type: %s",
"ORG_ZSTACK_NETWORK_SERVICE_PORTFORWARDING_10008": "port forwarding rule [uuid:%s] has been associated with vm nic [uuid:%s], cannot be reassigned again",
"ORG_ZSTACK_MEVOCO_10087": "A Running VM[uuid:%s] has no associated Host UUID.",
Expand Down
5 changes: 3 additions & 2 deletions conf/i18n/globalErrorCodeMapping/global-error-fr-FR.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@
"ORG_ZSTACK_STORAGE_SNAPSHOT_10008": "impossible de réinitialiser le volume[uuid:%s] vers l'instantané[uuid:%s], le volume vm[uuid:%s] n'est pas dans l'état Arrêté, l'état actuel est %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10044": "impossible de trouver un stockage principal qualifié ; les erreurs sont %s",
"ORG_ZSTACK_NETWORK_SERVICE_NFVINSTGROUP_10000": "Échec de la mise à jour du statut du groupe : %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "Conflit primaryStorageUuid : le stockage principal spécifié par l'offre d'instance est %s, tandis que le stockage principal spécifié dans le paramètre de création est %s.",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "Conflit primaryStorageUuid : le stockage principal spécifié par l'offre de calcul est %s, tandis que le stockage principal spécifié dans le paramètre de création est %s.",
"ORG_ZSTACK_STORAGE_PRIMARY_10051": "Conflit primaryStorageUuid : le stockage principal spécifié par l'offre de disque racine est %s, tandis que le stockage principal spécifié dans le paramètre de création est %s.",
"ORG_ZSTACK_V2V_10008": "L'adresse MAC [%s] identique n'est pas autorisée dans le réseau[%s]",
"ORG_ZSTACK_V2V_10009": "Adresse MAC [%s] en double dans le réseau[%s]",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "Conflit primaryStorageUuid : le stockage principal spécifié par l'offre de disque est %s, tandis que le stockage principal spécifié dans le paramètre de création est %s.",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "Conflit primaryStorageUuid : le stockage principal spécifié par l'offre de disque de données est %s, tandis que le stockage principal spécifié dans le paramètre de création est %s.",
"ORG_ZSTACK_V2V_10006": "l'instance de calcul sous-jacente de l'hôte de conversion[uuid:%s] doit être Connectée",
"ORG_ZSTACK_V2V_10007": "l'hôte de conversion[uuid:%s] ne peut pas établir de connexion avec le stockage principal[uuid:%s]",
"ORG_ZSTACK_V2V_10004": "L'instance de VM [UUID:%s] n'existe pas ou n'est pas une instance de VM VMware",
Expand Down
5 changes: 3 additions & 2 deletions conf/i18n/globalErrorCodeMapping/global-error-id-ID.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@
"ORG_ZSTACK_STORAGE_SNAPSHOT_10008": "tidak dapat mengatur ulang volume[uuid:%s] ke snapshot[uuid:%s], volume vm[uuid:%s] tidak dalam keadaan Berhenti, keadaan saat ini adalah %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10044": "tidak dapat menemukan primary storage yang memenuhi syarat; error adalah %s",
"ORG_ZSTACK_NETWORK_SERVICE_NFVINSTGROUP_10000": "Gagal memperbarui status grup: %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "Konflik primaryStorageUuid: Primary storage yang ditentukan oleh instance offering adalah %s, sementara primary storage yang ditentukan dalam parameter pembuatan adalah %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "Konflik primaryStorageUuid: Primary storage yang ditentukan oleh compute offering adalah %s, sementara primary storage yang ditentukan dalam parameter pembuatan adalah %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10051": "Konflik primaryStorageUuid: Primary storage yang ditentukan oleh root disk offering adalah %s, sementara primary storage yang ditentukan dalam parameter pembuatan adalah %s",
"ORG_ZSTACK_V2V_10008": "Alamat MAC [%s] yang sama tidak diperbolehkan dalam jaringan[%s]",
"ORG_ZSTACK_V2V_10009": "Alamat MAC duplikat [%s] dalam jaringan[%s]",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "Konflik primaryStorageUuid: Primary storage yang ditentukan oleh disk offering adalah %s, sementara primary storage yang ditentukan dalam parameter pembuatan adalah %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "Konflik primaryStorageUuid: Primary storage yang ditentukan oleh data disk offering adalah %s, sementara primary storage yang ditentukan dalam parameter pembuatan adalah %s",
"ORG_ZSTACK_V2V_10006": "instance komputasi yang mendasar dari conversion host[uuid:%s] harus Connected",
"ORG_ZSTACK_V2V_10007": "conversion host[uuid:%s] tidak dapat建立 koneksi ke primary storage[uuid:%s]",
"ORG_ZSTACK_V2V_10004": "Instance VM [UUID:%s] tidak ada atau bukan instance VM VMware",
Expand Down
5 changes: 3 additions & 2 deletions conf/i18n/globalErrorCodeMapping/global-error-ja-JP.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@
"ORG_ZSTACK_STORAGE_SNAPSHOT_10008": "ボリューム[uuid:%s]をスナップショット[uuid:%s]にリセットできません。vm[uuid:%s]のボリュームは停止状態ではありません。現在のステータスは%sです",
"ORG_ZSTACK_STORAGE_PRIMARY_10044": "適切なプライマリストレージが見つかりません。エラー: %s",
"ORG_ZSTACK_NETWORK_SERVICE_NFVINSTGROUP_10000": "グループのステータスの更新に失敗しました: %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "primaryStorageUuidの競合。インスタンスオファリングによって指定されたプライマリストレージは%sであり、作成パラメータによって指定されたプライマリストレージは%sです。",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "primaryStorageUuidの競合。コンピュートオファリングによって指定されたプライマリストレージは%sであり、作成パラメータによって指定されたプライマリストレージは%sです。",
"ORG_ZSTACK_STORAGE_PRIMARY_10051": "primaryStorageUuidの競合。ルートディスクオファリングによって指定されたプライマリストレージは%sであり、作成パラメータによって指定されたプライマリストレージは%sです。",
"ORG_ZSTACK_V2V_10008": "ネットワーク[%s]で同じMACアドレス[%s]は許可されていません",
"ORG_ZSTACK_V2V_10009": "ネットワーク[%s]でMACアドレス[%s]が重複しています",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "primaryStorageUuidの競合。ディスクオファリングによって指定されたプライマリストレージは%sであり、作成パラメータによって指定されたプライマリストレージは%sです。",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "primaryStorageUuidの競合。データディスクオファリングによって指定されたプライマリストレージは%sであり、作成パラメータによって指定されたプライマリストレージは%sです。",
"ORG_ZSTACK_V2V_10006": "変換ホスト[uuid:%s]の基盤となるコンピューティングインスタンスはConnectedである必要があります",
"ORG_ZSTACK_V2V_10007": "変換ホスト[uuid:%s]はプライマリストレージ[uuid:%s]への接続を確立できません",
"ORG_ZSTACK_V2V_10004": "VMインスタンス[UUID:%s]が存在しないか、VMware VMインスタンスではありません",
Expand Down
5 changes: 3 additions & 2 deletions conf/i18n/globalErrorCodeMapping/global-error-ko-KR.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@
"ORG_ZSTACK_STORAGE_SNAPSHOT_10008": "볼륨[uuid:%s]을 스냅샷[uuid:%s]으로 재설정할 수 없습니다, vm[uuid:%s] 볼륨이 Stopped 상태가 아니며, 현재 상태는 %s입니다",
"ORG_ZSTACK_STORAGE_PRIMARY_10044": "적합한 기본 스토리지를 찾을 수 없습니다; 오류: %s",
"ORG_ZSTACK_NETWORK_SERVICE_NFVINSTGROUP_10000": "그룹 상태 업데이트 실패: %s",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "primaryStorageUuid 충돌: 인스턴스 오퍼링에서 지정한 기본 스토리지가 %s이며, 생성 파라미터에서 지정한 기본 스토리지가 %s입니다",
"ORG_ZSTACK_STORAGE_PRIMARY_10050": "primaryStorageUuid 충돌: 컴퓨트 오퍼링에서 지정한 기본 스토리지가 %s이며, 생성 파라미터에서 지정한 기본 스토리지가 %s입니다",
"ORG_ZSTACK_STORAGE_PRIMARY_10051": "primaryStorageUuid 충돌: 루트 디스크 오퍼링에서 지정한 기본 스토리지가 %s이며, 생성 파라미터에서 지정한 기본 스토리지가 %s입니다",
"ORG_ZSTACK_V2V_10008": "네트워크[%s]에서 동일한 MAC 주소 [%s]가 허용되지 않습니다",
"ORG_ZSTACK_V2V_10009": "네트워크[%s]에서 중복된 MAC 주소 [%s]",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "primaryStorageUuid 충돌: 디스크 오퍼링에서 지정한 기본 스토리지가 %s이며, 생성 파라미터에서 지정한 기본 스토리지가 %s입니다",
"ORG_ZSTACK_STORAGE_PRIMARY_10052": "primaryStorageUuid 충돌: 데이터 디스크 오퍼링에서 지정한 기본 스토리지가 %s이며, 생성 파라미터에서 지정한 기본 스토리지가 %s입니다",
"ORG_ZSTACK_V2V_10006": "변환 호스트[uuid:%s]의 기본 컴퓨팅 인스턴스가 Connected 상태여야 합니다",
"ORG_ZSTACK_V2V_10007": "변환 호스트[uuid:%s]가 기본 스토리지[uuid:%s]에 연결을 수립할 수 없습니다",
"ORG_ZSTACK_V2V_10004": "VM 인스턴스[UUID:%s]가 존재하지 않거나 VMware VM 인스턴스가 아닙니다",
Expand Down
Loading