Skip to content

roles/cephadm_install: fixes - #983

Merged
eroussy merged 4 commits into
mainfrom
cephadm-install-fixes
Jul 27, 2026
Merged

roles/cephadm_install: fixes#983
eroussy merged 4 commits into
mainfrom
cephadm-install-fixes

Conversation

@insatomcat

@insatomcat insatomcat commented Jul 22, 2026

Copy link
Copy Markdown
Member

cephadm_install: move distro vars into the role

The role's per-distro variables (uid/gid, logrotate path) were only
ever consumed by cephadm_install itself, so loading them from
/vars/{Distro}_cephadm_install.yml at playbook level added no value
over the standard in-role vars/ convention already used by roles like
snmp and timemaster. Move them to roles/cephadm_install/vars/{Distro}.yml
and include_vars from within the role's own tasks/main.yml, dropping
the now-unneeded include_vars step from cluster_setup_cephadm.yaml.


cephadm_install: detect the ceph image version from local images

build_debian_iso now embeds the latest cephadm container image, so the
hardcoded cephadm_release default can diverge from the image actually
present on the nodes and break the deployment.
When cephadm_release is not set in the inventory, detect the version of
the quay.io/ceph/ceph image already present on the nodes and use it for
the whole deployment. The detection fails if a node holds several ceph
image versions or if two nodes hold different versions. When no image is
found anywhere, fall back to the default version. Setting
cephadm_release in the inventory disables the detection and pins the
version.


cephadm_install/README.md: fix copy-paste in registryurl description

cephadm_install_registryurl was documented as "Name of the ceph release
for repo install (fallback: cephadm_release_name)", copied from the row
above. It is the image used to start the local Podman registry and has
no fallback variable.


cephadm_install: derive the Ceph release name from the release version

"cephadm add-repo" takes a release name while the cephadm download URL
takes a version number. Both were pinned separately, so bumping
cephadm_install_release alone silently left the repo on the previous
release, mixing a binary from one Ceph version with packages from
another.
Derive the name from the major version through a lookup table, and
assert before add-repo that a name is known, so an unlisted version
fails with an explicit message instead of installing the wrong repo.
Setting cephadm_install_release_name explicitly still overrides the
derivation.

The role's per-distro variables (uid/gid, logrotate path) were only
ever consumed by cephadm_install itself, so loading them from
/vars/{Distro}_cephadm_install.yml at playbook level added no value
over the standard in-role vars/ convention already used by roles like
snmp and timemaster. Move them to roles/cephadm_install/vars/{Distro}.yml
and include_vars from within the role's own tasks/main.yml, dropping
the now-unneeded include_vars step from cluster_setup_cephadm.yaml.

Signed-off-by: Florent Carli <florent.carli@rte-france.com>
Comment thread roles/cephadm_install/README.md Outdated
Comment thread roles/cephadm_install/defaults/main.yml Outdated
@insatomcat
insatomcat force-pushed the cephadm-install-fixes branch from 643ca6e to d21268d Compare July 23, 2026 09:16
@insatomcat
insatomcat requested a review from eroussy July 23, 2026 09:17
Comment thread roles/cephadm_install/README.md Outdated
build_debian_iso now embeds the latest cephadm container image, so the
hardcoded cephadm_release default can diverge from the image actually
present on the nodes and break the deployment.

When cephadm_release is not set in the inventory, detect the version of
the quay.io/ceph/ceph image already present on the nodes and use it for
the whole deployment. The detection fails if a node holds several ceph
image versions or if two nodes hold different versions. When no image is
found anywhere, fall back to the default version. Setting
cephadm_release in the inventory disables the detection and pins the
version.

Signed-off-by: Florent Carli <florent.carli@rte-france.com>
cephadm_install_registryurl was documented as "Name of the ceph release
for repo install (fallback: cephadm_release_name)", copied from the row
above. It is the image used to start the local Podman registry and has
no fallback variable.

Signed-off-by: Florent Carli <florent.carli@rte-france.com>
"cephadm add-repo" takes a release name while the cephadm download URL
takes a version number. Both were pinned separately, so bumping
cephadm_install_release alone silently left the repo on the previous
release, mixing a binary from one Ceph version with packages from
another.

Derive the name from the major version through a lookup table, and
assert before add-repo that a name is known, so an unlisted version
fails with an explicit message instead of installing the wrong repo.
Setting cephadm_install_release_name explicitly still overrides the
derivation.

Signed-off-by: Florent Carli <florent.carli@rte-france.com>
@insatomcat
insatomcat force-pushed the cephadm-install-fixes branch from d21268d to 70de06a Compare July 23, 2026 09:30
@insatomcat
insatomcat requested a review from eroussy July 23, 2026 09:30
@eroussy
eroussy merged commit c8a6f8a into main Jul 27, 2026
26 of 31 checks passed
@eroussy
eroussy deleted the cephadm-install-fixes branch July 27, 2026 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants