Re: CASSANDRA-15586 4.0 quality testing: Cluster Setup and Maintenance

2020-03-18 Thread Michael Shuler

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



CASSANDRA-15586 4.0 quality testing: Cluster Setup and Maintenance

2020-03-18 Thread Ekaterina Dimitrova
Hello everyone,
I am interested to help with "CASSANDRA-15586 4.0 quality testing: Cluster
Setup and Maintenance"
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?

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 :-)
Ekaterina Dimitrova | Software Engineer
ekaterina.dimitr...@datastax.com | datastax.com
<http://datastax.com/?utm_campaign=FY20Q2_CONSTELLATION_+medium=email_source=signature>