Skip to content

<fix>[pciDevice]: add share error code#4328

Closed
MatheMatrix wants to merge 84 commits into
feature-5.5.28-aiosfrom
sync/xinhao.huang/fix/gpu-share-spec-device-access@@2
Closed

<fix>[pciDevice]: add share error code#4328
MatheMatrix wants to merge 84 commits into
feature-5.5.28-aiosfrom
sync/xinhao.huang/fix/gpu-share-spec-device-access@@2

Conversation

@MatheMatrix

Copy link
Copy Markdown
Owner

Resolves: ZSTAC-85055

Changes:

  • Add ORG_ZSTACK_PCIDEVICE_10078 for PCI device/spec tenant access validation.

Verification:

  • ./runMavenProfile premium
  • mvn test -Dtest=PremiumTestCaseStabilityTest -Dcases=org.zstack.test.integration.premium.pciDevice.TestGpuDeviceShareTypeCase -Dtimes=1 -DmsgTimeoutMins=2 -DThreadFacade.maxThadNum=4 -DskipJacoco=true

sync from gitlab !10288

MaJin1996 and others added 30 commits June 2, 2026 11:24
stats()/flatten() returned parentUri, and batchStats() returned the
volume install path, as the agent cbd path while the rest of the code
expects zbs:// paths. The snapshot-reference GC fed the cbd parentUri
back into stats(); prepareCmd() converted it again and the backing
chain query failed with ZBS_10026, rolling back the cleanup and
leaving the parent volume and snapshot on storage. batchStats() set
the VolumeStats install path to the cbd key, so BatchSyncVolumeSize
could not map actual size back to the volume uuid.

Normalize agent-returned cbd paths to zbs:// so they stay in one
path namespace.

Resolves: ZSTAC-85707

Change-Id: I1c3dbe96086b681b83a4a627bdce37e76575564f
<fix>[zbs]: fix linked-clone parent volume residual

See merge request zstackio/zstack!10071
Persist vmNicUuid/guestIp before backend apply so VM release can see
in-flight EIP bindings. Roll back only when the failed attach still
matches the same EIP/NIC/IP tuple.

Test: real Flat EIP flow and AttachEipRaceCase
JIRA: ZSTAC-83309
Change-Id: Ie8795d5bd1c3e90aa10e18cfef19d4968c73cfee
Concurrent creates could pass interceptor validation before any rule
was persisted. Recheck VIP port conflicts inside the VIP sync chain
with closed-range boundary handling.

Resolves: ZSTAC-77673

Change-Id: I7666646b7567696e6e7568736666766b61617766
<fix>[eip]: expose attaching EIP to release

See merge request zstackio/zstack!10074
Per-host ceph connectivity check shared one serial chain per
primary storage. A stuck in-flight check (riding the default
1800s http timeout) blocked every other host's check on the
same PS for ~30min.

- raise check chain syncLevel 1 -> 10 so hosts run concurrently
- add KVMAgentHttpTimeoutExtensionPoint: a module declares which
  agent paths are short-lived. Their requested timeout is the
  agent.connectivityCheck.timeout global config (300s default).
  KVMHost.Http always sends min(requested, inherited total) so a
  per-call timeout never exceeds the remaining overall timeout.
  ceph registers the check path, no per-call setTimeout.

Resolves: ZSTAC-85421

Change-Id: I717a746f676c6f776168646f6f776c64636e6870
<fix>[ceph]: cap & parallelize host conn check

See merge request zstackio/zstack!10081
<fix>[portForwarding]: serialize rule creation

See merge request zstackio/zstack!10080
Add host-level IPv6 deployment control.
Add bridge multicast querier config and agent field.
Keep default bridge multicast querier enabled.

Resolves: ZSTAC-85691

Change-Id: I2c4b968e7b3509d974b4f00df45fc3147d3fc5e5
Resolves: ZSTAC-82672

Change-Id: Ib43a7a02a0528cc40cd8aa370b93b7fba7dfc051
ZSTAC-85691 add bridge multicast and host IPv6 config

See merge request zstackio/zstack!10103
Pass dns-forward-max and cache-size through VR DNS commands.
Render both options in zstack-vyos dnsmasq config.

Resolves: ZSTAC-85197

Change-Id: Ib78504edc564a2ab7dbd39bcb2e0ee396d019240
<fix>[virtualrouter]: configure dnsmasq query limits

See merge request zstackio/zstack!10112
UpgradeChecker.updateAgentVersion early-returned when DB.expectVersion
equals DB.currentVersion, ignoring the currentVersion reported by ping.
Once a host record reached the stable current==expect state, any
subsequent ping carrying a different current version was silently
dropped, breaking grayscale upgrade tracking and causing
GrayscaleUpgradeCase to fail intermittently.

Compare the persisted currentVersion with the incoming currentVersion
instead. Existing records still keep their original expectVersion
semantics; this fix only updates currentVersion when the agent reports a
changed version.

Resolves: ZSTAC-84886

Change-Id: I63636b6f696b6463756f656c627367617a6d6a79
fix(upgrade): compare incoming version in updateAgentVersion

See merge request zstackio/zstack!10107
Cache KVM hypervisor metadata in the MN-local repository lookup so resource matching does not depend on HostOsCategory/KvmHostHypervisorMetadata joins in the hot path.

Keep compatibility metadata tables refreshed for QueryHostOsCategory and wire the metadata store into the KVM test Spring context.

Constraint: Existing query APIs still read the compatibility tables.
Confidence: high
Scope-risk: moderate
Tested: PR docker ./runMavenProfile premium; targeted PremiumKvmVirtualizerTest HypervisorAlarmCase and HypervisorMetadataCase passed

Resolves: ZSTAC-65322

Change-Id: I4266c8df0770255ddd10c00fdeb708074e1757fa
….28'

ZSTAC-65322 Optimize KVM hypervisor metadata lookup

See merge request zstackio/zstack!10093
Resolves: ZSTAC-85435

Change-Id: I13c0cdf736d086c2c70e9d2651b60c56c0dc5115
Resolves: ZSTAC-85772

Change-Id: Idde06cbeb8494df0c3be49573193d4b5391f68dd
<fix>[upgrade]: prevent automatic agent upgrade during grayscale

See merge request zstackio/zstack!10108
<fix>[ZSTAC-85772]: speed up host reconnect userdata

See merge request zstackio/zstack!10159
Update KVM capability and host test handling for the iothread VQ mapping data path on 5.5.28.

Resolves: ZSTAC-82672

Change-Id: I5f6aedcac1c474e193f7a9c101951aaea8bc1eb2
A running VM without shared memory cannot online-attach a vhost-user
data volume. Reject it on the management node with a clear, actionable
error instead of failing later on the kvm agent.

Resolves: ZSTAC-85554

Change-Id: I7777746769777679686f62686c6d676566676574
<fix>[vhost]: block online vhost attach without shared memory

See merge request zstackio/zstack!10179
This change keeps the legacy error field for REST compatibility and adds id/success=false/diagnostic only for failed responses. Successful responses keep the existing shape.

Resolves: ZSTAC-85921

Change-Id: I7a6270636b66677574786e6a6e73616763626275
<fix>[errorcode]: add Cloud diagnostic error response

See merge request zstackio/zstack!10184
DBImpact
GlobalConfigImpact

Resolves: ZSTAC-83181

Change-Id: I69756d697976666c78736a7165656975676b6969
<fix>[identity]: Add KVM VM CPU hardware virtualization config

See merge request zstackio/zstack!10188
Clean duplicate PciDeviceMdevSpecRef rows during 5.5.28 upgrade.

Tested:

mvn -pl plugin/kvm -am -DskipTests install

Resolves: ZSTAC-84442

Change-Id: I5e3d6db69ea05acef43f59aef850be82eaeab451
ZSTAC-84442 clean duplicate mdev spec refs

See merge request zstackio/zstack!10198
liang-hanyu and others added 25 commits June 29, 2026 16:49
1. Why?
DRS migration failure details can exceed the old default varchar length of DRSVmMigrationActivityVO.result. Existing deployments need the column widened so migration activity failure updates can store the full error details instead of throwing SQL data truncation.

2. How?
Add a 5.5.28 schema upgrade statement that modifies DRSVmMigrationActivityVO.result to TEXT.

3. Side effects?
Only widens the DRS migration activity result column; existing values remain valid.

# Summary of changes (by module):
- db upgrade: change DRSVmMigrationActivityVO.result to TEXT

Related: ZSTAC-63316

Change-Id: I4778772cc209f75bbd1558edaacd4b589164d52c
Detect the actual virtual router management NIC IP through UsedIpVO so both IPv4 and IPv6 management addresses reserve appliance service ports.

Test: mvn -pl plugin/virtualRouterProvider -am -DskipTests compile

Resolves: ZSTAC-86300

Change-Id: I9b9262737a57a5366d66b82ad4a43128ce901fb0
Fix review issues in management IPv6 support: preserve console proxy partial updates, correct cloudbus context URL, normalize Ceph IPv6 mon hosts, fall back to IPv6 default route discovery, fix TagUtils IPv6 token matching, and tighten upgrade/delete edge cases.

Test: git diff --check

Test: mvn -pl utils,core,header,console,plugin/ceph,plugin/sftpBackupStorage -am -DskipTests compile

Note: mvn -f test/pom.xml -Dtest=org.zstack.test.unittest.utils.NetworkUtilsCase -DfailIfNoTests=false test fails in testCompile on existing unrelated test sources.

Resolves: ZSTAC-79206

Change-Id: Ie89261e10ff2003f8e1fcf786a609860cead551e
Fail closed when an existing management node with the same UUID on another host has not written heartbeat yet, and route backup storage endpoint checks through the common management network IP version validator instead of skipping unknown endpoint forms early.

Test: git diff --check

Test: mvn -pl portal,storage,plugin/sftpBackupStorage -am -DskipTests compile

Resolves: ZSTAC-79206

Change-Id: I17adec0ecec492db8fd2ce0c3c22d51c8b394cd7
Serialize add IP range on the L3 task chain and recheck management network IP version immediately before creating the range, so concurrent IPv4/IPv6 additions on the same system L3 cannot both pass the API interceptor check.

Test: git diff --check

Test: mvn -pl network -am -DskipTests compile

Resolves: ZSTAC-79206

Change-Id: I9bbd5724d2a8e877e443a0add7b7c939c6a10598
Fix console proxy partial update semantics.\n\nFix CloudBus context
path URL normalization.\n\nFix KVM IPv6 error code assertions.

Change-Id: I5b005670f63f34a1868a79b69f01f868dd04891a
Mark consoleProxyOverriddenIp optional in zh_cn API doc.\n\nThis
matches APIUpdateConsoleProxyAgentMsg and SDK metadata.

Resolves: ZSTAC-79206

Change-Id: Id4a5f477218d7a448bd7834d80420978806bb0b2
Keep APIUpdateConsoleProxyAgentMsgDoc_zh_cn.groovy byte-identical with
the generated template.

Resolves: ZSTAC-79206

Change-Id: I0097f2d6c20539921bd485b316bfe3446e5a5582
<feature>[mgt-ipv6]: support ipv6 management network

See merge request zstackio/zstack!10289
Introduce MigrateStorage host allocation semantics for storage migration so running VMs get KVM host property checks while stopped VMs skip runtime component version filtering.

Resolves: ZSTAC-75332

Change-Id: I6c393d7ec962d71fb5437d7a41d0891deb7abae7
1. Why?
5.5.28 needs the alarm optimize API and schema changes from the
feature branch so premium runtime changes can build and run.

2. How?
Add recovery rule fields, alarm resource state schema, SDK inventories,
query actions, and testlib helper entry points generated for zwatch.

3. Side effects?
Adds V5.5.28 schema changes for AlarmVO and AlarmResourceStateVO.

# Summary of changes (by module):
- conf: add alarm recovery and resource state schema.
- sdk: add alarm resource state SDK and query action.
- testlib: add queryAlarmResourceState helper.

Related: ZSTAC-86212
Change-Id: Ibd449cb2eac2be8b0e2c661547b989d65eac5943
Add newDriverInstance() method to PluginManager interface and implementation.
Unlike getPlugin() which returns a shared singleton, this method creates
a fresh instance each time via reflection to avoid concurrent state
corruption when multiple callers need isolated driver configurations.

Resolves: ZSTAC-82729

Change-Id: Ife8c01012dc38780d91f2b67c04c7a1ac8f9bd1f
<feature>[zbs]: merge zbs to 5.5.28

See merge request zstackio/zstack!10322
<fix>[drs]: enlarge drs migration result column

See merge request zstackio/zstack!10316
Clear persistence context after bulk deleting stale ManagementNodeVO
before persisting the replacement startup record.

Resolves: ZSTAC-86384

Change-Id: Ibd20a5ffdf4b4b083d27641328f00f434ae7cb89
<feature>[zwatch]: backport alarm optimize api to 5.5.28

See merge request zstackio/zstack!10329
<fix>[migration]: Compare host properties before live storage migration

See merge request zstackio/zstack!10312
Avoid asserting intermediate heartbeat cleanup order in stability test.
Wait for final cleanup state and always restore global test property.

Resolves: ZSTAC-86384

Change-Id: I1561f914c6ca2c71d934ba97d50fdb60166d1db4
Catch sync REST failures in the ZBS MDS HTTP caller so getActiveClients can try the next connected MDS when the selected MDS is unreachable. Add a regression test for the volume clients path where the first MDS throws an operation failure and the second returns active clients.

Resolves: ZSTAC-80595

Change-Id: Id891693b033ac3d4588243d2dd25750f63110db6
SCIM events can be rejected when the sender misses the latest
receiver-side resource version.

Drop receiver-side version comparison and keep event application
idempotent through resource identity handling.

Existing SCIM payloads continue to apply without requiring version
negotiation.

DBImpact

Related: ZCF-4469

Change-Id: Id5c617ebfc5c80631aa7e608b0651ea28c6fcad5
ZIAM synchronized custom roles need to accept permission changes from
Cloud.

Route role statement mutations through an extension point.

SCIM-origin roles can validate allowed local updates instead of being
rejected by the generic RBAC interceptor.

Related: ZCF-4469

Change-Id: If3f7e0e997251cbfd09dbd1089ac6fa18672e03b
Do not pollute ManagementNodeManagerImpl.node with a temporary management node record during the recreate-record test.

The stability run reuses the same JVM. The temporary node made the next heartbeat loop stop itself and left invalid records uncollected.

Resolves: ZSTAC-86384

Change-Id: I2f1096c3fa897c9d9af50e71744bb4762b70920a
<fix>[zbs]: ZSTAC-80595 try next mds on sync failure

See merge request zstackio/zstack!10320
<fix>[scim]: drop receiver resource version gate

See merge request zstackio/zstack!10319
ZSTAC-86384 fix management node startup record recreate

See merge request zstackio/zstack!10332
@MatheMatrix MatheMatrix force-pushed the sync/xinhao.huang/fix/gpu-share-spec-device-access@@2 branch from aa5d84c to 5a96f3c Compare July 1, 2026 03:17
gitlab and others added 2 commits July 1, 2026 04:02
<fix>[plugin]: add newDriverInstance for isolated drivers

See merge request zstackio/zstack!10331
Add a distinct PCI device access error code.

Test: ./runMavenProfile premium

Test: PremiumTestCaseStabilityTest TestGpuDeviceShareTypeCase

Resolves: ZSTAC-85055

Change-Id: I7cc18aaba38631696ff3f928f2d9d1dfc75add3d
@MatheMatrix MatheMatrix force-pushed the sync/xinhao.huang/fix/gpu-share-spec-device-access@@2 branch from 5a96f3c to 4c4dbf8 Compare July 1, 2026 05:25
@MatheMatrix MatheMatrix closed this Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants