apache / apache/cloudstack

KVM agent fails to connect to Ceph RBD storage pool after upgrading Ceph client to Tentacle 20.2.4

未关闭 适合新手
#13,989 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug component:ceph
主要语言
Java
星标
3.1k
派生
1.4k
平均合并
6 天 19 小时
30 天内合并 PR
32

描述

### problem

CloudStack builds its Ceph RBD connection strings with the legacy Ceph option `auth_supported=cephx.` This option was removed in Ceph Tentacle 20.2.4. As a result, every RBD operation performed by the KVM agent through librados now fails, and the agent cannot bring up the RBD storage pool:

```
**agent.err:**
libvirt: Storage Driver error : internal error: failed to set RADOS option: auth_supported

**agent.log:**
2026-08-27 00:00:13,468 ERROR [kvm.storage.LibvirtStorageAdaptor] (AgentRequest-Handler-3:[]) (logid:e0478a61) Failed to create RBD storage pool: org.libvirt.LibvirtException: internal error: failed to set RADOS option: auth_supported
2026-08-27 00:00:13,468 ERROR [kvm.storage.LibvirtStorageAdaptor] (AgentRequest-Handler-3:[]) (logid:e0478a61) Failed to create the RBD storage pool, cleaning up the libvirt secret
```
In ACS Host state is **Disconnected**

Code:
_plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMPhysicalDisk.java_, lines 56-62

### versions

ACS: 4.22.1.1
Hypervisor OS: KVM on Rocky Linux 9.8
libvirt: 11.10.0
Ceph client packages: librados2 / librbd1 / ceph-common 2:20.2.4-0.el9
Ceph cluster: 20.2.4 Tentacle

### The steps to reproduce the bug

1. Deploy a KVM host with Ceph RBD primary storage and cephx enabled.
2. Upgrade the Ceph client packages on the KVM host to 20.2.4 (Tentacle): librados2, librbd1, ceph-common.
3. Restart libvirtd and cloudstack-agent.

### What to do about it?

Remove `auth_supported`, it is redundant. When `id` and `key` are supplied, the client negotiates cephx anyway, and when they are not, it falls back to whatever `auth_client_required` in `ceph.conf` specifies.
It is also possible to use `auth_client_required` instead of `auth_supported`.

贡献指南

打开贡献指南

调研方向

检查 plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMPhysicalDisk.java 第 56-62 行附近的代码,这里是 CloudStack 构建 Ceph RBD 连接字符串的位置。移除已过时的选项,并通过复现步骤验证 KVM agent 能够使用 Ceph Tentacle 20.2.4 创建 RBD storage pool。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
infrastructure
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
活跃
描述清晰度
描述清楚
新手友好度
78/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。