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/19 10:44:12 UTC
[ignite] branch ignite-ducktape updated: IGNITE-14585 IgniteSpec
can provide arbitrary configs (#9013)
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 85ea232 IGNITE-14585 IgniteSpec can provide arbitrary configs (#9013)
85ea232 is described below
commit 85ea2320d32c2e0d76373ea935616b6ec9ae4f8f
Author: Nikolay <ni...@apache.org>
AuthorDate: Mon Apr 19 13:43:30 2021 +0300
IGNITE-14585 IgniteSpec can provide arbitrary configs (#9013)
---
.../tests/ignitetest/services/utils/ignite_aware.py | 16 +++++++---------
.../tests/ignitetest/services/utils/ignite_spec.py | 15 +++++++++------
.../ducktests/tests/ignitetest/services/utils/path.py | 15 ++++-----------
3 files changed, 20 insertions(+), 26 deletions(-)
diff --git a/modules/ducktests/tests/ignitetest/services/utils/ignite_aware.py b/modules/ducktests/tests/ignitetest/services/utils/ignite_aware.py
index 5d5dc07..62d7183 100644
--- a/modules/ducktests/tests/ignitetest/services/utils/ignite_aware.py
+++ b/modules/ducktests/tests/ignitetest/services/utils/ignite_aware.py
@@ -189,11 +189,9 @@ class IgniteAwareService(BackgroundThreadService, IgnitePathAware, metaclass=ABC
"""
super().init_persistent(node)
- node_config = self._prepare_config(node)
+ self._prepare_configs(node)
- node.account.create_file(self.config_file, node_config)
-
- def _prepare_config(self, node):
+ def _prepare_configs(self, node):
if not self.config.consistent_id:
config = self.config._replace(consistent_id=node.account.externally_routable_ip)
else:
@@ -203,14 +201,14 @@ class IgniteAwareService(BackgroundThreadService, IgnitePathAware, metaclass=ABC
config.discovery_spi.prepare_on_start(cluster=self)
- node_config = self.spec.config_template.render(config_dir=self.config_dir, work_dir=self.work_dir,
- config=config)
+ for name, template in self.spec.config_templates:
+ config_txt = template.render(config_dir=self.config_dir, work_dir=self.work_dir, config=config)
- setattr(node, "consistent_id", node.account.externally_routable_ip)
+ node.account.create_file(os.path.join(self.config_dir, name), config_txt)
- self.logger.debug("Config for node %s: %s" % (node.account.hostname, node_config))
+ self.logger.debug("Config %s for node %s: %s" % (name, node.account.hostname, config_txt))
- return node_config
+ setattr(node, "consistent_id", node.account.externally_routable_ip)
def pids(self, node):
"""
diff --git a/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py b/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py
index 5e7f8e7..8df5950 100644
--- a/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py
+++ b/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py
@@ -23,9 +23,10 @@ import json
import os
from abc import ABCMeta, abstractmethod
-from ignitetest.services.utils.config_template import IgniteClientConfigTemplate, IgniteServerConfigTemplate
+from ignitetest.services.utils.config_template import IgniteClientConfigTemplate, IgniteServerConfigTemplate, \
+ IgniteLoggerConfigTemplate
from ignitetest.services.utils.jvm_utils import create_jvm_settings, merge_jvm_settings
-from ignitetest.services.utils.path import get_home_dir, get_module_path
+from ignitetest.services.utils.path import get_home_dir, get_module_path, IgnitePathAware
from ignitetest.utils.version import DEV_BRANCH
@@ -79,13 +80,15 @@ class IgniteSpec(metaclass=ABCMeta):
oom_path=os.path.join(path_aware.log_dir, "ignite_out_of_mem.hprof"))
@property
- def config_template(self):
+ def config_templates(self):
"""
:return: config that service will use to start on a node
"""
- if self.config.client_mode:
- return IgniteClientConfigTemplate()
- return IgniteServerConfigTemplate()
+ return [
+ (IgnitePathAware.IGNITE_LOG_CONFIG_NAME, IgniteLoggerConfigTemplate()),
+ (IgnitePathAware.IGNITE_CONFIG_NAME,
+ IgniteClientConfigTemplate() if self.config.client_mode else IgniteServerConfigTemplate())
+ ]
def __home(self, product=None):
"""
diff --git a/modules/ducktests/tests/ignitetest/services/utils/path.py b/modules/ducktests/tests/ignitetest/services/utils/path.py
index 3ccae1b..7e559b1 100644
--- a/modules/ducktests/tests/ignitetest/services/utils/path.py
+++ b/modules/ducktests/tests/ignitetest/services/utils/path.py
@@ -20,7 +20,6 @@ This module contains classes that represent persistent artifacts of tests
import os
from abc import abstractmethod, ABCMeta
-from ignitetest.services.utils.config_template import IgniteLoggerConfigTemplate
from ignitetest.utils.version import DEV_BRANCH
@@ -152,23 +151,17 @@ class IgnitePathAware(PathAware, metaclass=ABCMeta):
"""
This class contains Ignite path configs.
"""
- def init_persistent(self, node):
- """
- Init persistent directory.
- :param node: Ignite service node.
- """
- super().init_persistent(node)
+ IGNITE_CONFIG_NAME = "ignite-config.xml"
- logger_config = IgniteLoggerConfigTemplate().render(work_dir=self.work_dir)
- node.account.create_file(self.log_config_file, logger_config)
+ IGNITE_LOG_CONFIG_NAME = "ignite-log4j.xml"
@property
def config_file(self):
- return os.path.join(self.config_dir, "ignite-config.xml")
+ return os.path.join(self.config_dir, IgnitePathAware.IGNITE_CONFIG_NAME)
@property
def log_config_file(self):
- return os.path.join(self.config_dir, "ignite-log4j.xml")
+ return os.path.join(self.config_dir, IgnitePathAware.IGNITE_LOG_CONFIG_NAME)
@property
def database_dir(self):