You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jl...@apache.org on 2024/07/24 12:36:17 UTC

(cassandra-dtest) 32/43: CNDB-10194 Fix dtests not running in jenkins Replace java_version with CURRENT_JAVA_VERSION in upgrade_through_versions_test.py Ignore JAVAxx_HOME in upgrade_manifest.jdk_compatible_steps Add additional debugging

This is an automated email from the ASF dual-hosted git repository.

jlewandowski pushed a commit to branch ds-trunk-5.0--2024-07-24
in repository https://gitbox.apache.org/repos/asf/cassandra-dtest.git

commit 63ebd01b8ca32eab859ba3964166619c7cc9a35b
Author: Daniel Jatnieks <ja...@pobox.com>
AuthorDate: Tue Jul 16 13:19:48 2024 -0700

    CNDB-10194 Fix dtests not running in jenkins
    Replace java_version with CURRENT_JAVA_VERSION in upgrade_through_versions_test.py
    Ignore JAVAxx_HOME in upgrade_manifest.jdk_compatible_steps
    Add additional debugging
---
 run_dtests.py                                  |  7 ++++++-
 upgrade_tests/upgrade_manifest.py              | 12 +++++++++++-
 upgrade_tests/upgrade_through_versions_test.py |  6 +++++-
 3 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/run_dtests.py b/run_dtests.py
index d936e133..2b2d861a 100755
--- a/run_dtests.py
+++ b/run_dtests.py
@@ -151,8 +151,10 @@ class RunDTests():
         if args.dtest_print_tests_only:
             stdout, stderr = sp.communicate()
 
+            print("dtest_print_tests_only subprocess return code: %d" % sp.returncode)
             if sp.returncode != 0:
-                print(stderr.decode("utf-8"))
+                print("stdout: " + stdout.decode("utf-8"))
+                print("stderr: " + stderr.decode("utf-8"))
                 result = sp.returncode
                 exit(result)
 
@@ -163,8 +165,10 @@ class RunDTests():
                 collected_tests_output_file = open(args.dtest_print_tests_output, "w")
                 collected_tests_output_file.write(joined_test_modules)
                 collected_tests_output_file.close()
+            print(joined_test_modules)
 
         else:
+            print("Printing stdout/stderr from subprocess")
             while True:
                 stdout_output = sp.stdout.readline()
                 stdout_output_str = stdout_output.decode("utf-8")
@@ -180,6 +184,7 @@ class RunDTests():
                 if stderr_output_str:
                     print(stderr_output_str.strip())
 
+        print("Subprocess return code: %d" % sp.returncode)
         exit(sp.returncode)
 
 
diff --git a/upgrade_tests/upgrade_manifest.py b/upgrade_tests/upgrade_manifest.py
index 66066c95..99feb009 100644
--- a/upgrade_tests/upgrade_manifest.py
+++ b/upgrade_tests/upgrade_manifest.py
@@ -231,6 +231,8 @@ CURRENT_JAVA_VERSION = current_env_java_version()
 
 def jdk_compatible_steps(version_metas):
     metas = []
+    included_current_jdk_versions = []
+    included_java_xx_home_versions = []
     for version_meta in version_metas:
         # if you want multi-step upgrades to work with versions that require different jdks
         #   then define the JAVA<jdk_version>_HOME vars (e.g. JAVA8_HOME)
@@ -239,12 +241,20 @@ def jdk_compatible_steps(version_metas):
         javan_home_defined = False
         for meta_java_version in version_meta.java_versions:
             javan_home_defined |= 'JAVA{}_HOME'.format(meta_java_version) in os.environ
-        if CURRENT_JAVA_VERSION in version_meta.java_versions or javan_home_defined:
+        # FIXME CNDB-10194 temporary hack to skip C* 5.0 when JAVA_HOME is JDK8 but JAVA11_HOME is also defined
+        if CURRENT_JAVA_VERSION in version_meta.java_versions:
+        # if CURRENT_JAVA_VERSION in version_meta.java_versions or javan_home_defined:
             metas.append(version_meta)
+            if CURRENT_JAVA_VERSION in version_meta.java_versions:
+                included_current_jdk_versions.append(version_meta.version)
+            else:
+                included_java_xx_home_versions.append(version_meta.version)
         else:
             logger.info("Skipping version {} because it requires JDK {}. Current JDK is {} and none of {} env variables are defined."
                         .format(version_meta.version, version_meta.java_versions, CURRENT_JAVA_VERSION, ["JAVA{}_HOME".format(v) for v in version_meta.java_versions]))
 
+    logger.info("JDK compatible steps for {} compatible with current JDK {} or JAVAxx_HOME {}"
+                .format([m.version for m in version_metas], CURRENT_JAVA_VERSION, [v for v in included_current_jdk_versions + included_java_xx_home_versions]))
     return metas
 
 def build_upgrade_pairs():
diff --git a/upgrade_tests/upgrade_through_versions_test.py b/upgrade_tests/upgrade_through_versions_test.py
index b27a0a42..de4942ac 100644
--- a/upgrade_tests/upgrade_through_versions_test.py
+++ b/upgrade_tests/upgrade_through_versions_test.py
@@ -973,6 +973,7 @@ MULTI_UPGRADES = (
 )
 
 for upgrade in MULTI_UPGRADES:
+    logger.info("Building upgrade {}".format(upgrade.name))
     # if any version_metas are None, this means they are versions not to be tested currently
     if all(upgrade.version_metas):
         # even for RUN_STATIC_UPGRADE_MATRIX we only test upgrade paths jdk compatible with the end "indev_" version (or any JAVA<jdk_version>_HOME defined)
@@ -983,15 +984,17 @@ for upgrade in MULTI_UPGRADES:
                 # replace matching meta with current version
                 for idx, meta in enumerate(metas):
                     if meta.matches_current_env_version_family:
-                        assert CURRENT_JAVA_VERSION in meta.java_versions, "Incompatible JDK {} for version {}".format(java_version, meta.family)
+                        assert CURRENT_JAVA_VERSION in meta.java_versions, "Incompatible JDK {} for version {}".format(CURRENT_JAVA_VERSION, meta.family)
                         newmeta = meta.clone_with_local_env_version()
                         logger.debug("{} appears applicable to current env. Overriding version from {} to {}".format(upgrade.name, meta.version, newmeta.version))
                         metas[idx] = newmeta
                         break
 
             create_upgrade_class(upgrade.name, [m for m in metas], protocol_version=upgrade.protocol_version, extra_config=upgrade.extra_config)
+            logger.info("Created upgrade test {} for versions {}, protocol {}, and extra config {}".format(upgrade.name, [m.name for m in metas], upgrade.protocol_version, upgrade.extra_config))
 
 
+logger.info("Building upgrade pairs")
 for pair in build_upgrade_pairs():
     create_upgrade_class(
         'Test' + pair.name,
@@ -999,3 +1002,4 @@ for pair in build_upgrade_pairs():
         protocol_version=pair.starting_meta.max_proto_v,
         bootstrap_test=True
     )
+    logger.info("Created upgrade test {} for versions {}, protocol {}".format(pair.name, [m.name for m in [pair.starting_meta, pair.upgrade_meta]], pair.starting_meta.max_proto_v))


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org