You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ni...@apache.org on 2021/04/02 04:44:53 UTC
[ignite] branch ignite-ducktape updated: IGNITE-14455: The
directory with logs must contain IgniteConfiguration.xml for ducktests.
(#8957)
This is an automated email from the ASF dual-hosted git repository.
nizhikov pushed a commit to branch ignite-ducktape
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/ignite-ducktape by this push:
new 5eb3a5d IGNITE-14455: The directory with logs must contain IgniteConfiguration.xml for ducktests. (#8957)
5eb3a5d is described below
commit 5eb3a5d828dfcb9f971e3a590d534d95eb56bdab
Author: Sergei Ryzhov <s....@gmail.com>
AuthorDate: Fri Apr 2 07:44:26 2021 +0300
IGNITE-14455: The directory with logs must contain IgniteConfiguration.xml for ducktests. (#8957)
---
.../ignitetest/services/utils/ignite_aware.py | 2 +-
.../tests/ignitetest/services/utils/path.py | 17 +++++++++---
.../ducktests/tests/ignitetest/tests/self_test.py | 30 ++++++++++++++++++++++
3 files changed, 45 insertions(+), 4 deletions(-)
diff --git a/modules/ducktests/tests/ignitetest/services/utils/ignite_aware.py b/modules/ducktests/tests/ignitetest/services/utils/ignite_aware.py
index 38449a1..ca719db 100644
--- a/modules/ducktests/tests/ignitetest/services/utils/ignite_aware.py
+++ b/modules/ducktests/tests/ignitetest/services/utils/ignite_aware.py
@@ -199,7 +199,7 @@ class IgniteAwareService(BackgroundThreadService, IgnitePathAware, metaclass=ABC
config.discovery_spi.prepare_on_start(cluster=self)
- node_config = self.spec.config_template.render(config_dir=self.persistent_root, work_dir=self.work_dir,
+ node_config = self.spec.config_template.render(config_dir=self.config_dir, work_dir=self.work_dir,
config=config)
setattr(node, "consistent_id", node.account.externally_routable_ip)
diff --git a/modules/ducktests/tests/ignitetest/services/utils/path.py b/modules/ducktests/tests/ignitetest/services/utils/path.py
index 9419078..9ecd805 100644
--- a/modules/ducktests/tests/ignitetest/services/utils/path.py
+++ b/modules/ducktests/tests/ignitetest/services/utils/path.py
@@ -52,7 +52,7 @@ class PathAware:
Init persistent directory.
:param node: Service node.
"""
- node.account.mkdirs(f"{self.persistent_root} {self.temp_dir} {self.work_dir} {self.log_dir}")
+ node.account.mkdirs(f"{self.persistent_root} {self.temp_dir} {self.work_dir} {self.log_dir} {self.config_dir}")
def init_logs_attribute(self):
"""
@@ -63,6 +63,10 @@ class PathAware:
"logs": {
"path": self.log_dir,
"collect_default": True
+ },
+ "config": {
+ "path": self.config_dir,
+ "collect_default": True
}
})
@@ -88,6 +92,13 @@ class PathAware:
return os.path.join(self.persistent_root, "work")
@property
+ def config_dir(self):
+ """
+ :return: path to config directory
+ """
+ return os.path.join(self.persistent_root, "config")
+
+ @property
def log_dir(self):
"""
:return: path to log directory
@@ -160,11 +171,11 @@ class IgnitePathAware(PathAware, metaclass=ABCMeta):
@property
def config_file(self):
- return os.path.join(self.persistent_root, "ignite-config.xml")
+ return os.path.join(self.config_dir, "ignite-config.xml")
@property
def log_config_file(self):
- return os.path.join(self.persistent_root, "ignite-log4j.xml")
+ return os.path.join(self.config_dir, "ignite-log4j.xml")
@property
def database_dir(self):
diff --git a/modules/ducktests/tests/ignitetest/tests/self_test.py b/modules/ducktests/tests/ignitetest/tests/self_test.py
index 8118481..c0fed29 100644
--- a/modules/ducktests/tests/ignitetest/tests/self_test.py
+++ b/modules/ducktests/tests/ignitetest/tests/self_test.py
@@ -18,6 +18,8 @@ This module contains smoke tests that checks that ducktape works as expected
"""
import os
+from ducktape.mark import matrix
+
from ignitetest.services.ignite import IgniteService
from ignitetest.services.ignite_app import IgniteApplicationService
from ignitetest.services.ignite_execution_exception import IgniteExecutionException
@@ -132,3 +134,31 @@ class SelfTest(IgniteTest):
assert old_cnt == get_log_lines_count(ignites, f"console.log.{i + 1}")
assert get_logs_count(ignites) == num_restarts
+
+ @cluster(num_nodes=1)
+ @ignite_versions(str(DEV_BRANCH))
+ @matrix(is_ignite_service=[True, False])
+ def test_config_add_to_result(self, ignite_version, is_ignite_service):
+ """
+ Test that the config file is in config directory
+ and Service.logs contains the config directory to add to the result.
+ """
+ ignite_cfg = IgniteConfiguration(version=IgniteVersion(ignite_version))
+
+ if is_ignite_service:
+ ignite = IgniteService(self.test_context, ignite_cfg, num_nodes=1)
+ else:
+ ignite = IgniteApplicationService(
+ self.test_context, ignite_cfg,
+ java_class_name="org.apache.ignite.internal.ducktest.tests.self_test.TestKillableApplication")
+
+ ignite.start()
+
+ assert ignite.logs.get('config').get('path') == ignite.config_dir
+
+ assert ignite.config_file.startswith(ignite.config_dir)
+
+ ignite.nodes[0].account.ssh(f'ls {ignite.config_dir} | grep {os.path.basename(ignite.config_file)}')
+ ignite.nodes[0].account.ssh(f'ls {ignite.config_dir} | grep {os.path.basename(ignite.log_config_file)}')
+
+ ignite.stop()