]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
vstart.sh: retry ceph-osd --mkfs on transient monitor auth failure 70101/head
authorKefu Chai <k.chai@proxmox.com>
Fri, 10 Jul 2026 03:35:21 +0000 (11:35 +0800)
committerKefu Chai <k.chai@proxmox.com>
Fri, 10 Jul 2026 05:57:24 +0000 (13:57 +0800)
commit49e8a0729c4a57cbaec0078a91d4f2fb7d9167df
tree45616bd2f3139783d29a29b745d10ec7f05986b6
parent30849c11963367840717bcd9226f0f0eff91873f
vstart.sh: retry ceph-osd --mkfs on transient monitor auth failure

"ceph-osd --mkfs" authenticates to the monitor as the freshly-created
osd.N entity. Right after "ceph osd new", the monitor can briefly reject
that auth with EACCES:

  mon: _auth_bad_method auth_method 2 r (13) Permission denied
  osd: handle_auth_bad_method server allowed_methods [2] but i only support [2]
       failed to fetch mon config (--no-mon-config to skip)

A bad-method reply is terminal, so mkfs aborts and the cluster never
becomes healthy. It is intermittent and was seen with a single monitor,
so it is not cross-monitor propagation lag. Same symptom as ceph commit
7afd38f84689, which teuthology already works around; vstart.sh has no guard.

Add a retry() helper and retry the mkfs. The failure is in MonClient
bootstrap, before any objectstore write, so each attempt starts clean.
Output goes to the per-osd log rather than through tee, so mkfs's own
exit status is checked and a real failure still aborts vstart.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
src/vstart.sh