Some checks failed
API CI / API Lint (push) Successful in 47s
API CI / API Type Check (push) Failing after 47s
API CI / API Test (push) Successful in 1m0s
API CI / API Build (push) Failing after 50s
API CI / Build Docker Image (push) Has been skipped
Build Crossplane Provider / build (push) Failing after 5m51s
CD Pipeline / Deploy to Staging (push) Failing after 29s
CI Pipeline / Lint and Type Check (push) Failing after 36s
CI Pipeline / Build (push) Has been skipped
CI Pipeline / Test Backend (push) Failing after 1m33s
CI Pipeline / Test Frontend (push) Failing after 30s
CI Pipeline / Security Scan (push) Failing after 1m16s
Crossplane Provider CI / Go Test (push) Failing after 3m23s
Crossplane Provider CI / Go Lint (push) Failing after 7m27s
Crossplane Provider CI / Go Build (push) Failing after 3m27s
Deploy to Staging / Deploy to Staging (push) Failing after 30s
Portal CI / Portal Lint (push) Failing after 21s
Portal CI / Portal Type Check (push) Failing after 21s
Portal CI / Portal Test (push) Failing after 21s
Portal CI / Portal Build (push) Failing after 22s
Test Suite / frontend-tests (push) Failing after 30s
Test Suite / api-tests (push) Failing after 49s
Test Suite / blockchain-tests (push) Failing after 30s
Type Check / type-check (map[directory:. name:root]) (push) Failing after 23s
Type Check / type-check (map[directory:api name:api]) (push) Failing after 21s
Type Check / type-check (map[directory:portal name:portal]) (push) Failing after 19s
Validate Configuration Files / validate (push) Failing after 1m52s
CD Pipeline / Deploy to Production (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com>
188 lines
3.4 KiB
Markdown
188 lines
3.4 KiB
Markdown
# Fix Ceph Bootstrap Keyring Issue
|
|
|
|
**Date**: 2025-12-13
|
|
**Issue**: OSD creation failing due to missing bootstrap keyring
|
|
|
|
---
|
|
|
|
## Problem
|
|
|
|
When creating OSDs, getting error:
|
|
```
|
|
unable to find a keyring on /etc/pve/priv/ceph.client.bootstrap-osd.keyring
|
|
RADOS timed out (error connecting to the cluster)
|
|
RuntimeError: Unable to create a new OSD id
|
|
```
|
|
|
|
---
|
|
|
|
## Solution Options
|
|
|
|
### Option 1: Get Bootstrap Keyring from Cluster
|
|
|
|
```bash
|
|
# Create directory if needed
|
|
mkdir -p /var/lib/ceph/bootstrap-osd
|
|
|
|
# Get bootstrap keyring from Ceph cluster
|
|
ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring
|
|
```
|
|
|
|
### Option 2: Use Proxmox pveceph (If Available)
|
|
|
|
Proxmox has its own Ceph management tool:
|
|
|
|
```bash
|
|
# Check if available
|
|
which pveceph
|
|
|
|
# Create OSD using pveceph
|
|
pveceph create /dev/sdc
|
|
pveceph create /dev/sdd
|
|
# ... etc
|
|
```
|
|
|
|
### Option 3: Check Ceph Cluster Connectivity
|
|
|
|
The timeout suggests the cluster might not be accessible:
|
|
|
|
```bash
|
|
# Check Ceph health
|
|
ceph health
|
|
|
|
# Check monitors
|
|
ceph mon stat
|
|
|
|
# Check if Ceph services are running
|
|
systemctl status ceph.target
|
|
systemctl status ceph-mon@*
|
|
systemctl status ceph-osd@*
|
|
```
|
|
|
|
### Option 4: Create Bootstrap Keyring Manually
|
|
|
|
If the cluster is accessible but keyring is missing:
|
|
|
|
```bash
|
|
# Check existing auth
|
|
ceph auth list
|
|
|
|
# If bootstrap-osd exists, export it
|
|
ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring
|
|
|
|
# If it doesn't exist, create it
|
|
ceph auth add client.bootstrap-osd mon 'allow profile bootstrap-osd' -i /var/lib/ceph/bootstrap-osd/ceph.keyring
|
|
```
|
|
|
|
---
|
|
|
|
## Quick Fix Script
|
|
|
|
Run this on R630-01:
|
|
|
|
```bash
|
|
# 1. Check Ceph connectivity
|
|
ceph health
|
|
ceph mon stat
|
|
|
|
# 2. Get or create bootstrap keyring
|
|
mkdir -p /var/lib/ceph/bootstrap-osd
|
|
ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring 2>/dev/null || \
|
|
ceph auth add client.bootstrap-osd mon 'allow profile bootstrap-osd' -i /var/lib/ceph/bootstrap-osd/ceph.keyring
|
|
|
|
# 3. Verify keyring exists
|
|
ls -la /var/lib/ceph/bootstrap-osd/ceph.keyring
|
|
|
|
# 4. Try creating OSD again
|
|
ceph-volume lvm create --data /dev/sdc
|
|
```
|
|
|
|
---
|
|
|
|
## Alternative: Use pveceph
|
|
|
|
If you're using Proxmox's Ceph integration:
|
|
|
|
```bash
|
|
# Create OSDs using Proxmox tool
|
|
pveceph create /dev/sdc
|
|
pveceph create /dev/sdd
|
|
pveceph create /dev/sde
|
|
pveceph create /dev/sdf
|
|
pveceph create /dev/sdg
|
|
pveceph create /dev/sdh
|
|
```
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Issue: "RADOS timed out"
|
|
|
|
**Cause**: Cannot connect to Ceph cluster
|
|
|
|
**Solution**:
|
|
```bash
|
|
# Check if monitors are running
|
|
systemctl status ceph-mon@*
|
|
|
|
# Check monitor addresses
|
|
ceph mon dump
|
|
|
|
# Check network connectivity
|
|
ping <monitor-ip>
|
|
```
|
|
|
|
### Issue: "no keyring found"
|
|
|
|
**Cause**: Bootstrap keyring missing
|
|
|
|
**Solution**:
|
|
```bash
|
|
# Get from cluster
|
|
ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring
|
|
|
|
# Or create new one
|
|
ceph auth add client.bootstrap-osd mon 'allow profile bootstrap-osd'
|
|
```
|
|
|
|
### Issue: "ceph command not found"
|
|
|
|
**Cause**: Ceph tools not installed
|
|
|
|
**Solution**:
|
|
```bash
|
|
# Install Ceph tools (if needed)
|
|
apt-get update
|
|
apt-get install -y ceph-common
|
|
```
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
After fixing the bootstrap keyring:
|
|
|
|
1. **Verify keyring exists**:
|
|
```bash
|
|
ls -la /var/lib/ceph/bootstrap-osd/ceph.keyring
|
|
```
|
|
|
|
2. **Create OSDs**:
|
|
```bash
|
|
for drive in sdc sdd sde sdf sdg sdh; do
|
|
ceph-volume lvm create --data /dev/$drive
|
|
done
|
|
```
|
|
|
|
3. **Verify**:
|
|
```bash
|
|
ceph osd tree
|
|
ceph health
|
|
```
|
|
|
|
---
|
|
|
|
**Last Updated**: 2025-12-13
|
|
|