[CE 4.5.4] Admin Pa...
 
Notifications
Clear all

[CE 4.5.4] Admin Panel → Storage → Volume Details returns 422 (GetVolumeRequest module=ZxPowerstore)

2 Posts
1 Users
0 Reactions
17 Views
(@napaster)
New Member
Joined: 1 year ago
Posts: 7
Topic starter  

Fresh Carbonio CE 4.5.4 on Ubuntu 24.04, single-server.
Listing volumes in Admin Panel → Storage → Data Volumes works fine
(vmail/index1 visible). Clicking on a volume to open Details fails
with toast "Something went wrong, please try again".

DevTools → POST /service/admin/soap/GetVolumeRequest → 422.

Request body:
{
"Body": {
"GetVolumeRequest": {
"_jsns": "urn:zimbraAdmin",
"id": 3,
"module": "ZxPowerstore"
}
},
"Header": {
"context": {
"_jsns": "urn:zimbra",
"account": {
"_content": "1f5eb839-55fe-4fbf-bc6b-02b987606b93",
"by": "name"
},
"userAgent": { "name": "CarbonioWebClient - Firefox 151.0 (Windows)" }
}
}
}

mailbox.log:
WARN SoapEngine - unable to construct SOAP context
com.zimbra.cs.account.AccountServiceException: no such account:
1f5eb839-55fe-4fbf-bc6b-02b987606b93
at com.zimbra.soap.ZimbraSoapContext.<init>(ZimbraSoapContext.java:355)

Also seen:
WARN extensions - unable to find handler for extension: system failure:
Extension HTTP handler not found at /metrics/powerstore

Same behaviour for every admin account, after full localStorage/cookies
wipe and re-login. Reproducible across browsers.

Questions:
1. Is GetVolumeRequest with module="ZxPowerstore" expected in CE?
The module references the Powerstore feature which is Advanced-only.
2. Where does the bogus placeholder account ID
"1f5eb839-55fe-4fbf-bc6b-02b987606b93" (by="name") come from in
the Admin Panel UI?
3. Is this fixed in a newer admin-ui release than 4.5.4?

Workaround that works: `zmvolume` CLI for all volume management.`

This topic was modified 2 days ago by napaster

   
Quote
(@napaster)
New Member
Joined: 1 year ago
Posts: 7
Topic starter  

Reproduced on two single-server Carbonio CE installs:

| package | mx-A (broken) | mx-B (works) |
|-------------------------------|----------------|--------------|
| carbonio-ce / core | 4.5.4-1noble | 4.4.2-1noble |
| carbonio-admin-console-ui | 0.12.8-1ubuntu | 0.10.7-1ubuntu|
| carbonio-admin-ui (legacy) | not installed | 0.9.35-1ubuntu|

On mx-A (4.5.4 + console-ui 0.12.8), Admin Panel → Storage → Data
Volumes → click any volume to open Details → POST GetVolumeRequest
returns 422 with stack:

SoapEngine - unable to construct SOAP context
AccountServiceException: no such account: 1f5eb839-55fe-4fbf-bc6b-02b987606b93
at ZimbraSoapContext.<init>(ZimbraSoapContext.java:355)

Request body sent by the new console:
{
"Body": { "GetVolumeRequest": { "_jsns": "urn:zimbraAdmin",
"id": 3, "module": "ZxPowerstore" } },
"Header": { "context": { "_jsns": "urn:zimbra",
"account": { "_content": "1f5eb839-55fe-4fbf-bc6b-02b987606b93",
"by": "name" },
"userAgent": { "name": "CarbonioWebClient - Firefox 151.0" } } }
}

On mx-B (4.4.2 + admin-ui 0.9.35) the legacy admin UI sends the
plain GetVolumeRequest without the "module" field and works fine.

The placeholder account ID is hardcoded — it does not exist in LDAP
on either server, identical string both before and after full
localStorage/cookies wipe.

Looks like a regression in carbonio-admin-console-ui ≥ 0.12.x: it
assumes the Powerstore (Advanced-only) backend handler is available
when called from CE, and the bogus account context further breaks
SOAP dispatch.

Workaround: zmvolume CLI.

Is a fix planned, or is there a way to tell the new console to fall
back to the legacy GetVolumeRequest payload on CE?


   
ReplyQuote