From acf222875505e272c200443c31953b6894f0c028 Mon Sep 17 00:00:00 2001 From: jean Date: Mon, 9 Feb 2026 19:27:07 -0300 Subject: [PATCH] Fix VPC restart with multi-CIDR networks: handle comma-separated CIDR in NetworkVO.equals() When a network has multiple CIDRs (e.g. '192.168.2.0/24,160.0.0.0/24'), NetworkVO.equals() passes the raw comma-separated string to NetUtils.isNetworkAWithinNetworkB() which expects a single CIDR, causing 'cidr is not formatted correctly' error during VPC restart with cleanup=true. Extract only the first CIDR value before passing to NetUtils. --- .../schema/src/main/java/com/cloud/network/dao/NetworkVO.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engine/schema/src/main/java/com/cloud/network/dao/NetworkVO.java b/engine/schema/src/main/java/com/cloud/network/dao/NetworkVO.java index 02abaacd854e..452ffd43b704 100644 --- a/engine/schema/src/main/java/com/cloud/network/dao/NetworkVO.java +++ b/engine/schema/src/main/java/com/cloud/network/dao/NetworkVO.java @@ -600,7 +600,9 @@ public boolean equals(Object obj) { return true; } - return NetUtils.isNetworkAWithinNetworkB(cidr, that.cidr); + return NetUtils.isNetworkAWithinNetworkB( + com.cloud.utils.StringUtils.getFirstValueFromCommaSeparatedString(cidr), + com.cloud.utils.StringUtils.getFirstValueFromCommaSeparatedString(that.cidr)); } @Override