Red Hat Bugzilla – Bug 1459861
Disable the ability to deploy with custom cluster names
Last modified: 2017-07-06 11:14:55 EDT
Description of problem: Ceph will stop supporting custom cluster names, so deployment tools must be first in disallowing that customization.
Discussed in the June 6th CDM, this was mostly a novelty to allow multiple clusters in a single node which doesn't even work today as the systemd scripts read the variable from /etc/sysconfig/
How do we maintain backward compatibility for this?
The deployment tools will not maintain backward compatibility explicitly in this case.
Ceph itself can still have custom cluster names, and the first step to prevent users from having custom cluster names is to have deployment tools stop exposing this feature.
Everything on the Ceph side will still be supported.
However, with containers, I think there is a real use case for that and we are not dependant of systemd and how it reads Ceph's config file since we have our own.
Can this decision be revisited?
I think that we should offer to upgrade clusters that aren't named ceph.
Would we rename them? What do you think acceptable behavior is here?
Discussed this with Sebastien with more detail. Ceph is not going to stop working with custom cluster names, just that the deployment tools will stop allowing using ``--cluster`` to configure clusters.
I believe that the upgrade path means moving /etc/ceph/<custom cluster name>.conf to /etc/ceph/ceph.conf which sounds reasonable.
In that case I think ceph-ansible should have a separate step to do this change, and prevent playbook execution if custom cluster names are used.
Renaming a cluster that isn't named Ceph would break customer's scripts. Also, we would not only have to change the ceph.conf but also rename all the key in /etc/ceph and /var/lib/ceph/bootstrap-*/
The more I think about it, the more I'm worried about breaking too many things.
I think we should just remove the variable 'cluster' from group_vars to hide it. So if someone has this option enabled (for a cluster not named Ceph) then nothing would break. In the code, we will just declare this variable with a default to 'ceph'.
With that, we don't break upgrades or existing no-named-ceph clusters and also we don't encourage people using a different cluster name since we 'hide' the functionality. I suspect a warning might be valuable too if we detect a cluster name not named Ceph...
As discussed with Alfredo, we want to keep the multi-cluster support around for several use-cases:
- Ceph cluster on demand with containers
- Distributed compute nodes
- rbd-mirror integration as part of OSPd
- Disaster scenario with OpenStack Cinder in OSPd
Also, we haven't had any major issues with this support so it'll be a bad idea to drop something so stable.