Skip to content

Commit 2bc2d55

Browse files
committed
ceph: adapt the configuration past squid
The next lane moves to Tentacle, and two things in the testbed configuration assume a Ceph release ceph-ansible can deploy. The manager starts a ceph-ansible container whose tag on the latest track follows ceph_version, so a Tentacle testbed asks for ceph-ansible:tentacle, which does not exist: ceph-ansible has no branch past squid. This lane is a nutshell lane, where python-osism selects the Ceph backend and CEPH_STACK stays unset, so the cephadm switch on CEPH_STACK does not reach it. The Ceph configuration sets "rgw keystone api version". Tentacle removed that option together with Keystone v2.0 support, and writing a removed option is not ignored: ceph config set answers EINVAL and the cephadm configuration play fails. Reef and squid still default it to 2, so it cannot simply be dropped. set-ceph-version.sh is where the Ceph release enters a latest testbed's configuration, so decide both there: for any release other than quincy, reef and squid, disable the ceph-ansible container and remove the option from the Ceph environments. This matches cfg-cookiecutter, which makes the same two decisions on the same release list. Running the script again changes nothing further. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Roger Luethi <luethi@osism.tech>
1 parent b6365d5 commit 2bc2d55

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

‎scripts/set-ceph-version.sh‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,22 @@ if [[ "$(grep '^ceph_version:' /opt/configuration/environments/configuration.yml
1919
else
2020
sed -i -e '/^ceph_cluster_fsid: .*/a\' -e "ceph_version: ${VERSION}" /opt/configuration/environments/configuration.yml
2121
fi
22+
23+
# ceph-ansible has no branch past squid. For any later Ceph release the manager
24+
# runs no ceph-ansible container -- there is no image for it -- and options the
25+
# release removed are dropped from the Ceph configuration: Tentacle removed
26+
# "rgw keystone api version" together with Keystone v2.0 support, and writing a
27+
# removed option fails the cephadm configuration play. Earlier releases still
28+
# default it to 2, so it stays for them.
29+
case $VERSION in
30+
quincy|reef|squid)
31+
;;
32+
*)
33+
if ! grep -q '^ceph_ansible_enable:' /opt/configuration/environments/manager/configuration.yml; then
34+
echo "ceph_ansible_enable: false" >> /opt/configuration/environments/manager/configuration.yml
35+
fi
36+
for file in /opt/configuration/environments/ceph*/configuration.yml; do
37+
sed -i '/"rgw keystone api version":/d' "$file"
38+
done
39+
;;
40+
esac

0 commit comments

Comments
 (0)