Remove nautilus
Ceph 'nautilus' support has been deprecated since v0.12.0. However we're still testing it in the CI, and have the build tags. While we don't have to go too far, we should start taking steps to remove nautilus and reduce the number of things we're actively maintaining.
Conflicts with #714
Specially see: https://github.com/ceph/go-ceph/pull/714#issuecomment-1169978284
Note to self & other maintainers: Ping the contributors from Digital Ocean about their progress upgrading from nautilus some time early in 2023 (Jan/Feb) to see if we can get a timeline on when go-ceph can remove nautilus support.
Hi @Sanford137 et al, I figured I'd check in with you in regards to nautilus support. Ceph's Reef release is planned for the first half of this year and I was wondering if it would be possible to remove nautilus once Reef support has been added & stabilized. Basically I'm trying to keep the actively tested and maintained ceph versions in go-ceph to a manageable number.
How's DO's plans with regards to upgrading from nautilus going?
👋🏾 🦈 💧 We're still running nautilus in a swath of our fleet, working on the upgrade. No concrete timeline for completion just yet, but can definitely keep an eye on this thread and update when we have a more concrete timeline. Thank you for checking in!
Also, as Sanford mentioned before, feel free to route nautilus-related bugfixes to contributors from DO.
Hi @phlogistonjohn, I'm Technical Lead for the Infra Storage team here at DO. We're very appreciative that you've left support in thus far! If Nautilus support is getting in the way, then please don't let us hold you up in removing it. Otherwise, as Khayyam offered above, please ping us if there are any Nautilus-specific issues that we can help with.
We do have some Nautilus stragglers left, but it's a limited footprint that we're still working to reduce. If we need to, we can always make a fork for ourselves while we finish off that last set of clusters.
If it helps, we no longer have a need for rbd/mirror_nautilus.go, which AFAICT is the only Nautilus-specific code in go-ceph outside of the rados code.
Thank you both for your responses. Nautilus support has not become a major issue, but we're slowly accumulating a large test matrix that we have been unable to shrink so far. Based on your responses and my own thoughts: I doubt we will make any changes to Nautilus support in 2023, but we may remove it when we next grow the matrix - which would correspond to when Squid is to be added.
I expect that by the v0.28.0 release of go-ceph the Ceph Squid will be out and we'll add the Squid to our matrix. Once Squid's release branch is added to the test matrix, I plan on removing nautilus from the test matrix at long last. This is likely to make v0.27.0 the last go-ceph release to officially support nautilus builds. I don't plan to do any more than that - nautilus build tags will not be proactively removed from the code. However, after removing nautilus from the test matrix new code will not be required to handle nautilus. JFYI