On 3/18/20 11:15 AM, Ekaterina Dimitrova wrote:
Hello everyone,
I am interested to help with "CASSANDRA-15586 4.0 quality testing: Cluster
Setup and Maintenance"

Awesome!

There was a short discussion last night on Slack but I know that not
everyone keeps an eye on those chats so I decided to move it to the dev
list.

For now I understand that this Jira is "free", no one did anything and it
was added during the last conference in Las Vegas

The second part of the description mentions packaging. We could start by
validating that C* 4.0 can be started on all supported platforms (with the
proper docs how to do that)?

Also, I didn't find a comprehensive list of supported platforms on the
cassandra web page. Anyone knows of such one posted anywhere?

The basics are:
Linux with python-2.7 for cqlsh support. Python-3 support is in the works, but incomplete. (didn't spot the JIRA#, if someone has that.)

The beginnings of python-3-only distro releases has started, but so far pretty minor sub-distros and 2.7 is still doable with a little work, so I'm not listing those as excluded. Tar/deb/rpm packages mean a pretty wide distro support, and realistically, users should only be using vendor-supported releases and get off of ancient EOL versions, but people and organizations can be slow to upgrade, so I'm just listing them all back to first python-2.7 introduction. Java versions aren't considered, since the JDK version needed by Cassandra is usually installable as a third-party package (Oracle) or using the vendor OpenJDK, whatever works. From a testing perspective, it makes no sense to spend any effort on validating OS vendor EOL releases. It also makes little sense to test short-lived releases, such as non-LTS Ubuntu versions (but they could be interesting to validate, just because they are pre-LTS).

The big Linux distros that are generally "supported" with the above in mind, just based on first python-2.7 default/availability and popularity:
  Debian > 7.0 (wheezy)+
  Ubuntu > 12.04 LTS+ (we highly suggest LTS releases)
  Centos/RHEL > 7.0+

Any Linux distro that a tarball with dependencies met, could be, in theory, "supported", but perhaps only the most popular could arbitrarily be chosen for release validation testing, such as Arch or Slackware, which I've seen a few users post questions about over the years. There may be some others, but the Cassandra tar.gz just a tarball, so OS at that point doesn't really matter much, since it's self-contained, data and all. If the tarball works on an existing debuntos CI slave, for instance, it should "just work" on other Linuxes (Linuxi, Lini?)

OS X is basically dev-only, but works well with tarballs and a lot of devs have mac laptops for work, so it's pretty self-supporting. I don't think I've ever heard of prod cluster of XServes, but they are dead anyway.

There are also a handful of FreeBSD users that have been self-supporting with submitted patches from time to time, in order to keep their OS of choice functional. I don't think we've ever tested on *BSD.

Windows has historically been "best effort supported" by the project *only* as a development platform, if that's all you got to work with. There was a long push to clean up Windows issues a few years back, and it remains pretty functional, with periodic "X.Y release broke my Windows thing, fix it." sort of bug reports. We ask for self-support from these users, but generally Cassandra devs that have time and expertise can figure it out and fix it for the next round. We did, at one time, have some legit Windows test hosts, but dropped them a few years back, since they are kind of a bitch to maintain for CI.

Hope that helps! OS distro and versions are a moving target, so the project has never really dictated what we "support" officially. If the dependencies can be met, and the OS is supported by the vendor, no worries, we'll look a the bug report. Datastax has maintained an official OS support list for DSE for a long time, and it's worth a look for a general idea, but it has also lagged sometimes for newer OS releases, due purely to testing time to validate, even when the newer "stable" OS was a fine choice and worked flawlessly.

If no one has different views/suggestions I will open a sub-ticket to start
testing on different platforms. Also, how was this done before for major
versions? Any lessons learned? Or I am free to improvise :-)

It's your ticket, if you want to work on it in a way that suits you :)

Improvising is fine on this one, I think, since much of what is being suggested has never been officially done or documented. Do ask on the dev@ list here or slack for advice as you go along. It's a group effort.

My $0.02!
Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org

Reply via email to