public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Kefu Chai <k.chai@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH manager] api: cluster: ceph: fix osd metadata return schema
Date: Thu,  9 Apr 2026 19:47:41 +0800	[thread overview]
Message-ID: <20260409114741.3119391-1-k.chai@proxmox.com> (raw)

The 'osd' field used 'properties' inside a 'type: array', which is
invalid -- arrays use 'items' to describe their elements. The 'osd
metadata' command returns a bare JSON array where each element is an
object describing one OSD, so replace 'properties' with 'items'.

The runtime behavior is unaffected; this is a schema-only correction.

Fixes: https://bugzilla.proxmox.com/show_bug.cgi?id=5346
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
---
 PVE/API2/Cluster/Ceph.pm | 62 +++++++++++++++++++---------------------
 1 file changed, 30 insertions(+), 32 deletions(-)

diff --git a/PVE/API2/Cluster/Ceph.pm b/PVE/API2/Cluster/Ceph.pm
index 399460fb..1e9b4482 100644
--- a/PVE/API2/Cluster/Ceph.pm
+++ b/PVE/API2/Cluster/Ceph.pm
@@ -193,39 +193,37 @@ __PACKAGE__->register_method({
             osd => {
                 type => "array",
                 description => "OSDs configured in the cluster and their properties.",
-                properties => {
-                    "{id}" => {
-                        type => "object",
-                        description => "Useful properties are listed, but not the full list.",
-                        properties => {
-                            id => {
-                                type => "integer",
-                                description => "OSD ID.",
-                            },
-                            front_addr => {
-                                type => "string",
-                                description =>
-                                    "Bind addresses and ports for frontend traffic to OSDs.",
-                            },
-                            back_addr => {
-                                type => "string",
-                                description =>
-                                    "Bind addresses and ports for backend inter OSD traffic.",
-                            },
-                            device_id => {
-                                type => "string",
-                                description => "Devices used by the OSD.",
-                            },
-                            osd_data => {
-                                type => "string",
-                                description => "Path to the OSD data directory.",
-                            },
-                            osd_objectstore => {
-                                type => "string",
-                                description => "OSD objectstore type.",
-                            },
-                            %{$metadata_common_props},
+                items => {
+                    type => "object",
+                    description => "Useful properties are listed, but not the full list.",
+                    properties => {
+                        id => {
+                            type => "integer",
+                            description => "OSD ID.",
+                        },
+                        front_addr => {
+                            type => "string",
+                            description =>
+                                "Bind addresses and ports for frontend traffic to OSDs.",
+                        },
+                        back_addr => {
+                            type => "string",
+                            description =>
+                                "Bind addresses and ports for backend inter OSD traffic.",
+                        },
+                        device_id => {
+                            type => "string",
+                            description => "Devices used by the OSD.",
+                        },
+                        osd_data => {
+                            type => "string",
+                            description => "Path to the OSD data directory.",
+                        },
+                        osd_objectstore => {
+                            type => "string",
+                            description => "OSD objectstore type.",
                         },
+                        %{$metadata_common_props},
                     },
                 },
             },
-- 
2.47.3





             reply	other threads:[~2026-04-09 11:47 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-09 11:47 Kefu Chai [this message]
2026-04-12 11:53 ` superseded: [PATCH manager/storage 0/2] fix #7000: rbd: graceful handling of corrupt/inaccessible images Kefu Chai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260409114741.3119391-1-k.chai@proxmox.com \
    --to=k.chai@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal