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