canonical / canonical/ceph-containers

Drop --skip-dashboard and --skip-monitoring-stack from CephadmTest bootstrap

Open Beginner friendly
#97 0 comments 0 reactions 0 assignees View on GitHub
ci-enhancement Good to have
Dominant language
Shell
Stars
21
Forks
8
PR merge metrics
No merged PRs in 30d

Description

## Problem

`test/scripts/cephadm_helper.sh:65` bootstraps cephadm with both
`--skip-dashboard` and `--skip-monitoring-stack`:

```
sudo cephadm --image $image bootstrap --mon-ip $ip --single-host-defaults \
--skip-dashboard --skip-monitoring-stack
```

These flags hide real failures that surface as soon as the dashboard mgr
module loads or the monitoring daemons (`prometheus`, `node-exporter`,
`alertmanager`, `grafana`, `ceph-exporter`) are deployed. The same image
that passes CephadmTest fails RookTest because Rook does not skip those
components.

Concrete evidence from PR #94 (Tentacle, run 25206184833):

- **dashboard `No module named 'smb'`** — the `ceph-mgr-dashboard`
module imports the `smb` mgr module, which upstream Ceph v20.2.0
introduced but Ubuntu/Debian do not yet package as `ceph-mgr-smb`.
CephadmTest passes only because `--skip-dashboard` keeps the
dashboard module disabled. Surfaces immediately in RookTest.

- **prometheus `TypeError: not all arguments converted during string formatting`**
at `prometheus/module.py:1894` — buggy 2-arg `log.exception` call in
upstream v20.2.0. Fixed on the upstream `tentacle` branch
post-tag (ceph/ceph#65033, merged 2025-10-10) but not yet in any
released Ubuntu package. Hidden by `--skip-monitoring-stack`.

- **`ceph-exporter` not found in \$PATH** — Tentacle Rook deploys a
`rook-ceph-exporter` Deployment that execs `/usr/bin/ceph-exporter`
inside our image. The binary is not in any package we currently pull
via `overlay-packages`. Hidden by `--skip-monitoring-stack` because
cephadm without that flag would deploy the exporter daemon too.

## Proposed fix

Drop both flags from the bootstrap call. CephadmTest will then exercise
the same image surface as RookTest, and these classes of failures will
be caught at the cephadm stage instead of slipping through to Rook.

## Tracker references

- canonical/ceph-containers PR #94 — the run that surfaced these
- ceph/ceph#65033 — upstream prometheus fix

Contributor guide

No contributing guide indexed for this repository

Research direction

Open test/scripts/cephadm_helper.sh at line 65 and inspect the cephadm bootstrap invocation used by CephadmTest. Remove the two skip flags, then run CephadmTest to verify that dashboard and monitoring components are exercised and their failures are no longer hidden.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
devops, testing
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.