Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
96fe476
<feature>[utils]: Network group high availability strategy
Ezreal-07 Feb 4, 2026
4eaa430
<fix>[xinfini]: fail blacklist to prevent split-brain on VM start
PandaWuu May 1, 2026
bb28dd0
<feature>[sdk]: regenerate SDK for RegexAgainst/NotEqual operators
May 9, 2026
241fb89
Merge branch 'cherry-pick-024c4452' into '5.5.22'
May 10, 2026
c202c84
Merge branch 'ZSTAC-84454@@2' into '5.5.22'
May 11, 2026
bf86016
<fix>[kvm]: skip known systemd timeout on reconnect
May 11, 2026
401874c
Merge branch 'shixin.ruan-ZSTAC-77120' into '5.5.22'
May 12, 2026
ff13481
<feature>[conf]: recover stale mariadb socket
May 11, 2026
6a440b8
<fix>[virtualRouter]: skip grayscale upgrade check on auto reconnect …
bustezero May 12, 2026
29e7dc6
Merge branch 'fv-81413@@3' into '5.5.22'
May 12, 2026
b6044a6
Merge branch 'shixin-ZSTAC-83507' into '5.5.22'
May 12, 2026
f1810bf
Merge branch 'fix-79075@@2' into '5.5.22'
May 13, 2026
5f2afee
<fix>[ai]: persist mount restore epoch schema
AlanJager May 13, 2026
6007871
<fix>[compute]: avoid stale iso detach NPE
May 13, 2026
57a496a
Merge branch 'fix/ZSTAC-84246-5522@@2' into '5.5.22'
May 13, 2026
4cdaed7
Merge branch 'fix/ZSTAC-84919-vm-detach-iso' into '5.5.22'
May 14, 2026
12fa09a
<fix>[ai]: keep 5.5.16 schema unchanged
AlanJager May 15, 2026
8ac6344
Merge branch 'fix/ZSTAC-84246-schema-5522' into '5.5.22'
AlanJager May 15, 2026
7bbc774
<fix>[loadBalancer]: support disabling UDP listener health check
Ezreal-07 May 14, 2026
39c155a
Merge branch 'fix-85167@@2' into '5.5.22'
PandaWuu May 15, 2026
2e9bf4a
<fix>[zbs]: ensure heartbeat before host check
May 14, 2026
3cffcd3
<fix>[utils]: SshShell add ssh client timeouts
MaJin1996 May 14, 2026
8a4e9aa
Merge branch 'fix/5.5.22/ZSTAC-79201' into '5.5.22'
May 15, 2026
6cc8ffb
Merge branch 'fix/ZSTAC-72837' into '5.5.22'
May 15, 2026
2920db2
<feature>[zns]: squash zcf changes to 5.5.22
ruansteve May 16, 2026
0848933
<feature>[iam2]: add ZIAM provider name constant (P1)
liang-hanyu Apr 24, 2026
1144366
<refactor>[iam2]: add ZIAM_DEFAULT_SCOPE constant
liang-hanyu Apr 24, 2026
f34f0b5
<fix>[sdk]: fix Go SDK generator for Delete-via-POST and Get patterns
liang-hanyu Mar 9, 2026
c928b03
<fix>[rest]: port Go SDK generator bug fixes from ZSV-11399
AlanJager Mar 27, 2026
abc1ece
<fix>[rest]: GoInventory.reset() must clear all instance caches
AlanJager Mar 27, 2026
64805eb
<fix>[sdk]: fix Go SDK POST path generation
liang-hanyu May 9, 2026
8f432a4
<fix>[identity]: keep login user type in session
liang-hanyu May 11, 2026
39bfd0b
<fix>[sdk]: add context import for Go SDK actions
liang-hanyu May 11, 2026
995fff9
<fix>[sdk]: pass context to async Go SDK calls
liang-hanyu May 11, 2026
7f37922
<fix>[sdnController]: move ZNS API config
liang-hanyu May 13, 2026
2cfc651
<fix>[zcf]: fix cherry-pick whitespace
ruansteve May 16, 2026
5171999
<fix>[zns]: address review comments
ruansteve May 16, 2026
0a307e7
<fix>[zns]: address review notes
May 16, 2026
1013db3
<fix>[compute]: avoid duplicate tag cleanup
May 16, 2026
34ffd7c
<fix>[compute]: preserve local nic cleanup
May 17, 2026
315dabe
<fix>[sdk]: update source class map
May 17, 2026
27513a5
Merge branch 'shixin-ZCF-1936@@3' into '5.5.22'
ruansteve May 17, 2026
e009499
<fix>[snapshot]: ZSTAC-61889 handle late snapshot success
May 17, 2026
8ffea20
<feature>[license]: support license lsclient
liang-hanyu May 16, 2026
5e88688
<test>[case]: stabilize integration cases
liang-hanyu May 16, 2026
d2fe302
Merge branch '3300@@2' into '5.5.22'
ruansteve May 17, 2026
d75e924
Merge branch 'fix/5.5.22/ZSTAC-61889' into '5.5.22'
May 17, 2026
bb01702
<fix>[query]: limit API query concurrency
May 14, 2026
5818d95
<fix>[network]: rollback failed service attach
May 17, 2026
f83c595
Merge branch 'shixin-ZCF-3703@@2' into '5.5.22'
May 17, 2026
a5ce8f3
<fix>[vm]: handle missing VM in StopVmGC
May 15, 2026
a455e0f
<fix>[network]: add attach skip hook
May 18, 2026
7516986
<fix>[license]: update client registration sdk
liang-hanyu May 18, 2026
fd6da83
<fix>[network]: trim attach service input
May 18, 2026
39fab8b
<fix>[flatNetworkProvider]: refresh metadata after attaching non-defa…
Ezreal-07 May 18, 2026
885304c
Merge branch 'zcf-3300@@2' into '5.5.22'
May 18, 2026
1c5248b
<fix>[vm]: allow nullable stop not-found flag
May 18, 2026
e3bb9eb
<fix>[network]: pass dhcp system tags to sdn
May 18, 2026
abd342c
Merge branch 'fix/ZSTAC-84158@@3' into '5.5.22'
MaJin1996 May 18, 2026
5432844
<fix>[kvm]: allocate tty for selected KVM sudo commands
May 18, 2026
e891c7f
Merge branch 'fix-85280' into '5.5.22'
May 18, 2026
71deae3
Merge branch 'fix/5.5.22/ZSTAC-80742' into '5.5.22'
May 18, 2026
b569092
<fix>[kvm]: drain stale http calls on agent restart
MaJin1996 May 18, 2026
5dc68e1
<fix>[zns]: add dhcp error codes
May 18, 2026
f49991f
Merge branch 'fix/ZSTAC-58310@@2' into '5.5.22'
MaJin1996 May 18, 2026
3ca638f
<fix>[ha]: stabilize suspect host pre-fence flow
huhu0316 May 18, 2026
e7851c6
<fix>[kvm]: extend reconnect echo timeout after libvirtd restart
Ezreal-07 May 15, 2026
2dcf85f
<fix>[zns]: propagate vm system tags
May 19, 2026
5a4acbf
Merge branch 'ZSTAC-77375-bugfix' into '5.5.22'
May 19, 2026
7151c70
<fix>[zns]: dedupe dhcp msg tags
ruansteve May 19, 2026
c73f5ef
<fix>[volume]: ReInitDisk support data Volume
Ezreal-07 Apr 20, 2026
390451b
<fix>[externalapiadapter]: fix VM NIC driver type fallback
bustezero May 12, 2026
ecc5bd8
Merge branch 'fix-84691' into '5.5.22'
May 19, 2026
92bd76b
Merge branch 'fix-84014@@2' into '5.5.22'
May 19, 2026
dd5088c
<fix>[vmware]: stabilize VmwareTest host sync
ruansteve May 19, 2026
3a95fa7
<fix>[network]: lazily load mtu extensions
May 20, 2026
be23ab2
Merge branch 'shixin-ZCF-3728@@2' into '5.5.22'
May 20, 2026
019c6a4
Merge branch 'fix/ZSTAC-83890-5.5.22@@3' into '5.5.22'
May 20, 2026
b6a3b24
Merge branch 'shixin-ZCF-3703@@2' into '5.5.22'
May 20, 2026
7cfb204
<fix>[ha]: create pre-fence tag in core
huhu0316 May 20, 2026
8495919
<fix>[sdnController]: strip inventory endpoint port
May 20, 2026
d5c272d
Merge branch 'shixin-ZCF-2747@@2' into '5.5.22'
May 20, 2026
e44d41a
<fix>[sugonSdn]: sync tf ports after ping
May 21, 2026
12ef1d4
Merge branch 'fix/ZSTAC-83890-pre-fence-tag-5.5.22@@2' into '5.5.22'
May 21, 2026
8939994
<fix>[sugonSdn]: fix port sync plugin declaration
ruansteve May 21, 2026
c85d122
Merge branch 'shixin-ZSTAC-85281' into '5.5.22'
May 21, 2026
e2d4f68
<fix>[xinfini]: surface deactivate failures to prevent split-brain
PandaWuu May 22, 2026
bfb9cff
<fix>[upgrade]: avoid vrouter auto reconnect
May 24, 2026
d81e06a
<fix>[upgrade]: narrow vrouter gray fix
May 24, 2026
0655093
Merge branch 'bugfix/ZSTAC-85124' into '5.5.22'
May 24, 2026
f679ec8
<fix>[license]: add LS current license SDK flag
liang-hanyu May 25, 2026
3ebfd7c
Merge branch 'shixin-ZSTAC-85435@@2' into '5.5.22'
May 25, 2026
2ad18a5
<fix>[externalStorage]: prevent split-brain on deactivate fail
PandaWuu May 25, 2026
a570e28
<fix>[license]: add LS base auth SDK flag
liang-hanyu May 25, 2026
98d135d
Merge branch 'bugfix/ZSTAC-85124-v2' into '5.5.22'
May 25, 2026
a87df75
<feature>[zns]: add zns nic mode sdk
May 25, 2026
96cad7e
Merge branch 'shixin-ZCF-3914@@2' into '5.5.22'
May 25, 2026
3beac06
<fix>[sdk]: Update sdk and schema
AlanJager May 22, 2026
cc96305
<fix>[sdk]: expose CDN template sync API
AlanJager May 11, 2026
1c10c8e
<chore>[sdk]: Update sdk
AlanJager May 11, 2026
63a7757
<chore>[testlib]: Update apihelper
AlanJager May 11, 2026
bacbdfb
<chore>[sdk]: Update sdk
AlanJager May 11, 2026
3ac68dc
<feature>[ai]: Expose inference template UI SDK fields
AlanJager May 12, 2026
33e082a
<chore>[sdk]: Add CDN template schema and SDK inventory
AlanJager May 12, 2026
1aa9449
<fix>[conf]: support dGPU billing schema
May 12, 2026
d036e2a
<fix>[ai]: fix model service and test timeout regressions after patch…
AlanJager May 13, 2026
409b85a
<chore>[sdk]: Update sdk
AlanJager May 13, 2026
e485fe8
<fix>[dgpu]: clarify missing dGPU quota error
May 15, 2026
4ca4b6c
<fix>[ai]: expose CDN template framework
AlanJager May 15, 2026
5340f3b
<fix>[ai]: fix capacity schema defaults
AlanJager May 15, 2026
cad0e0d
<feature>[kvm]: add VM shmem agent API
May 13, 2026
59277f0
<feature>[dgpu]: update VM dGPU SDK
May 20, 2026
9a62141
Merge branch 'zcf-3912@@2' into '5.5.22'
May 26, 2026
000da2c
Merge branch 'feature-5.5.22-aios@@3' into '5.5.22'
May 26, 2026
e30ce80
<fix>[sdk]: expose CDN template GPU vendor
AlanJager May 26, 2026
a621cf2
Merge branch 'fix/ZSTAC-85292@@2' into '5.5.22'
May 26, 2026
6496cc3
<fix>[vm]: split attachable l3 filters
ruansteve May 27, 2026
cc254e1
<fix>[vm]: address attachable l3 review
ruansteve May 28, 2026
46af569
<fix>[vm]: keep unresolved sdn separate
ruansteve May 28, 2026
57876c9
<fix>[network]: skip non kvm vxlan attach
huhu0316 May 27, 2026
48bc5cf
Merge branch 'shixin-ZCF-4049@@2' into '5.5.22'
May 28, 2026
113a77a
Merge branch 'fix/dpu-vxlan-hotplug-skip-kvm-realize-5.5.22' into '5.…
May 28, 2026
81abd93
<fix>[identity]: correct quota error args
May 28, 2026
9022e98
<fix>[storage]: prepare zbs hosts on attach
May 25, 2026
b268db8
Merge branch 'fix/ZSTAC-85462-zbs-attach-hosts' into '5.5.22'
May 28, 2026
f622926
Merge branch 'fix/ZSTAC-85639@@2' into '5.5.22'
May 28, 2026
a6b84f7
<fix>[kvm]: bound host reachability check timeout
MaJin1996 May 28, 2026
c00a293
Merge branch 'fix/ZSTAC-72837-tries1' into '5.5.22'
May 28, 2026
99ae621
<fix>[ha]: require peer for pre-fence tag
huhu0316 May 28, 2026
f2ead4b
Merge branch 'fix/ZSTAC-83890-ceph-prefence-5.5.22@@2' into '5.5.22'
May 29, 2026
c25b97b
bump version to 5.5.28
May 31, 2026
625d345
<fix>[ctl]: heal zstack-ctl build deps
Jun 1, 2026
6e889f1
Merge branch 'codex/ZSTAC-74634-zstackctl-build-deps-5.5.28' into '5.…
Jun 1, 2026
1cb2937
<fix>[ai]: scope model resources by zone
AlanJager Jun 3, 2026
faf8be4
Merge branch 'fix/ZSTAC-75429-feature-5.5.28-aios@@2' into 'feature-5…
AlanJager Jun 3, 2026
c99cfdf
<fix>[zdfs]: add metadata port schema
AlanJager Jun 4, 2026
5fc831c
Merge branch 'fix/ZSTAC-76773-feature-5.5.28-aios@@2' into 'feature-5…
Jun 4, 2026
50dd874
<feature>[gpu]: add GPU XID error event alarm
Jun 2, 2026
1a90415
<fix>[container]: expose zaku health schema
AlanJager Jun 4, 2026
d10ca3b
Merge branch 'fix/ZSTAC-84111-native-cluster-health-schema@@2' into '…
AlanJager Jun 4, 2026
f571ab8
<fix>[testlib]: update generated ApiHelper
AlanJager Jun 4, 2026
16fd065
Merge branch 'fix/ZSTAC-84111-native-cluster-health-schema@@2' into '…
AlanJager Jun 4, 2026
36ad236
<test>[sdk]: update generated zaku health sdk
AlanJager Jun 5, 2026
ee6a195
<fix>[ai]: expose inference image variants
AlanJager Jun 5, 2026
7df3dd7
Merge branch 'fix/virtiofs-deploy-feature-aios@@2' into 'feature-5.5.…
Jun 5, 2026
ca5faad
<feature>[sdk]: expose launch command inventory
AlanJager Jun 5, 2026
af38b5c
Merge branch 'fix/ZSTAC-84940-feature-5.5.28-aios@@2' into 'feature-5…
Jun 5, 2026
c8ee48d
<fix>[ai]: allow inference image variants
AlanJager Jun 5, 2026
cae084f
Merge branch 'fix/ZSTAC-82189-feature-5.5.28-aios@@2' into 'feature-5…
Jun 8, 2026
5311adf
Merge branch 'fix/ZSTAC-85055@@2' into 'feature-5.5.28-aios'
Jun 8, 2026
15762f2
<feature>[sdk]: add service command sdk
AlanJager Jun 9, 2026
83545f3
<fix>[sdk]: type launch command sdk
AlanJager Jun 9, 2026
ed03fc8
<fix>[sdk]: sync generated sdk
AlanJager Jun 10, 2026
c6344f8
Merge branch 'fix/ZSTAC-84940-feature-5.5.28-aios@@2' into 'feature-5…
Jun 10, 2026
68945f2
<feature>[ai]: add host model cache api
AlanJager Jun 21, 2026
82c6405
<fix>[ai]: tighten host cache schema
AlanJager Jun 21, 2026
7008e4c
<fix>[ai]: tighten cache unique columns
AlanJager Jun 21, 2026
7c888ad
<test>[testlib]: add host cache api helpers
AlanJager Jun 22, 2026
635921e
<chore>[sdk]: sync host cache sdk output
AlanJager Jun 22, 2026
ec6ca91
Merge branch 'feature/ai-host-model-cache-control-plane@@3' into 'fea…
Jun 23, 2026
fdf6f2c
<fix>[ai]: stabilize host cache api surface
AlanJager Jun 29, 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
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
MAJOR=5
MINOR=5
UPDATE=22
UPDATE=28
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,7 @@ public interface OAuth2PluginConstants {
String ZF_PROVIDER_NAME = "zf";
String ALI_PROVIDER_NAME = "ali_idaas_private";
String MAX_KEY_PROVIDER_NAME = "max_key";
String ZIAM_PROVIDER_NAME = "ziam";
String LOGIN_TYPE_IAM2_ROPC = "iam2_ropc";
String ZIAM_DEFAULT_SCOPE = "openid profile email";
}
5 changes: 5 additions & 0 deletions build/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -636,6 +636,11 @@
<artifactId>ovn</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.zstack</groupId>
<artifactId>zns</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.zstack</groupId>
<artifactId>observabilityServer</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,11 +237,15 @@ public String call(HostUsedCpuMem arg) {
}
});

hostUuids.stream().filter(huuid -> !hostHasVms.contains(huuid)).forEach(huuid -> {
for (String huuid : hostUuids) {
if (hostHasVms.contains(huuid)) {
continue;
}

HostUsedCpuMem s = new HostUsedCpuMem();
s.hostUuid = huuid;
hostUsedCpuMemList.add(s);
});
}

for (final HostUsedCpuMem s : hostUsedCpuMemList) {
new HostCapacityUpdater(s.hostUuid).run(new HostCapacityUpdaterRunnable() {
Expand Down
15 changes: 15 additions & 0 deletions compute/src/main/java/org/zstack/compute/host/HostTrackImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ public class HostTrackImpl implements HostTracker, ManagementNodeChangeListener,
private final static CLogger logger = Utils.getLogger(HostTrackImpl.class);

private Map<String, Tracker> trackers = new ConcurrentHashMap<>();
private volatile boolean stopped;
private static boolean alwaysStartRightNow = false;
private static final Cache<String, Long> skippedPingHostDeadline = CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.HOURS).build();

Expand Down Expand Up @@ -251,6 +252,11 @@ public void cancel() {


public void trackHost(String hostUuid) {
if (stopped) {
logger.debug(String.format("skip tracking host[uuid:%s], host tracker is stopped", hostUuid));
return;
}

if (!destMaker.isManagedByUs(hostUuid)) {
logger.debug(String.format("skip tracking host[uuid:%s], not managed by us", hostUuid));
return;
Expand Down Expand Up @@ -285,6 +291,11 @@ public void untrackHost(String huuid) {

@Override
public void trackHost(Collection<String> huuids) {
if (stopped) {
logger.debug(String.format("skip tracking hosts%s, host tracker is stopped", huuids));
return;
}

huuids.forEach(this::trackHost);
}

Expand Down Expand Up @@ -353,6 +364,7 @@ private HostReconnectTaskFactory getHostReconnectTaskFactory(String hvType) {

@Override
public boolean start() {
stopped = false;
populateExtensions();
onHostStatusChange();
onHostPingSkip();
Expand Down Expand Up @@ -421,6 +433,9 @@ protected void run(Map tokens, Object data) {

@Override
public boolean stop() {
stopped = true;
new HashSet<>(trackers.values()).forEach(Tracker::cancel);
trackers.clear();
return true;
}
}
11 changes: 11 additions & 0 deletions compute/src/main/java/org/zstack/compute/vm/StopVmGC.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ protected void triggerNow(GCCompletion completion) {
public void run(FlowTrigger trigger, Map data) {
StopVmOnHypervisorMsg msg = new StopVmOnHypervisorMsg();
msg.setVmInventory(inventory);
msg.setIgnoreNotFoundError(true);
bus.makeTargetServiceIdByResourceUuid(msg, HostConstant.SERVICE_ID, hostUuid);
bus.send(msg, new CloudBusCallBack(trigger) {
@Override
Expand All @@ -66,6 +67,16 @@ public void run(MessageReply reply) {
}).then(new NoRollbackFlow() {
@Override
public void run(FlowTrigger trigger, Map data) {
String vmHostUuid = Q.New(VmInstanceVO.class).select(VmInstanceVO_.hostUuid)
.eq(VmInstanceVO_.uuid, inventory.getUuid()).findValue();
if (!hostUuid.equals(vmHostUuid)) {
logger.debug(String.format("skip changing vm[uuid:%s] state to stopped after StopVmGC, " +
"current host[uuid:%s] is not gc host[uuid:%s]", inventory.getUuid(),
vmHostUuid, hostUuid));
trigger.next();
return;
}

ChangeVmStateMsg cmsg = new ChangeVmStateMsg();
cmsg.setVmInstanceUuid(inventory.getUuid());
cmsg.setStateEvent(VmInstanceStateEvent.stopped.toString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import org.zstack.header.host.HostVO;
import org.zstack.header.image.ImageConstant.ImageMediaType;
import org.zstack.header.image.ImageInventory;
import org.zstack.header.message.APIMessage;
import org.zstack.header.message.MessageReply;
import org.zstack.header.network.l3.L3NetworkInventory;
import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO;
Expand Down Expand Up @@ -95,6 +96,9 @@ public String call(L3NetworkInventory arg) {
}));
msg.setImage(image);
msg.setVmOperation(spec.getCurrentVmOperation().toString());
if (spec.getMessage() instanceof APIMessage && ((APIMessage) spec.getMessage()).getSystemTags() != null) {
msg.setSystemTags(new ArrayList<>(((APIMessage) spec.getMessage()).getSystemTags()));
}

if (spec.getVmInventory().getZoneUuid() != null) {
msg.setZoneUuid(spec.getVmInventory().getZoneUuid());
Expand Down
Loading