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 08:51:24 UTC

[ignite] branch ignite-ducktape updated: IGNITE-14463 Support of testing Ignite based products with ducktape tests (#8963)

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 aa2b706  IGNITE-14463 Support of testing Ignite based products with ducktape tests (#8963)
aa2b706 is described below

commit aa2b70631f080a1a6d6f5851d10fac2c491f01a2
Author: Nikolay <ni...@apache.org>
AuthorDate: Fri Apr 2 11:51:13 2021 +0300

    IGNITE-14463 Support of testing Ignite based products with ducktape tests (#8963)
---
 modules/ducktests/tests/docker/ducker-ignite         | 13 ++++++++++---
 .../tests/ignitetest/services/utils/ignite_spec.py   | 20 ++++++++++++--------
 2 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/modules/ducktests/tests/docker/ducker-ignite b/modules/ducktests/tests/docker/ducker-ignite
index 9a92247..22cb4d3 100755
--- a/modules/ducktests/tests/docker/ducker-ignite
+++ b/modules/ducktests/tests/docker/ducker-ignite
@@ -296,9 +296,16 @@ docker_run() {
     # and mount FUSE filesystems inside the container.  We also need it to
     # run iptables inside the container.
     must_do -v docker run --privileged \
-        -d -t -h "${node}" --network ducknet ${expose_ports} \
-        --memory=${docker_run_memory_limit} --memory-swappiness=1 \
-        --mount type=bind,source="${ignite_dir}",target=/opt/ignite-dev,consistency=delegated --name "${node}" -- "${image_name}"
+        -d \
+        -t \
+        -h "${node}" \
+        --network ducknet ${expose_ports} \
+        --memory=${docker_run_memory_limit} \
+        --memory-swappiness=1 \
+        --mount type=bind,source="${ignite_dir}",target=/opt/ignite-dev,consistency=delegated \
+        $DOCKER_OPTIONS \
+        --name "${node}" \
+        -- "${image_name}"
 }
 
 setup_custom_ducktape() {
diff --git a/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py b/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py
index 9e0e6a9..c03de9e 100644
--- a/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py
+++ b/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py
@@ -47,7 +47,8 @@ def resolve_spec(service, context, config, **kwargs):
         return len(impl_filter) > 0
 
     if is_impl("IgniteService"):
-        return _resolve_spec("NodeSpec", ApacheIgniteNodeSpec)(path_aware=service, config=config, **kwargs)
+        return _resolve_spec("NodeSpec", ApacheIgniteNodeSpec)(path_aware=service, context=context, config=config,
+                                                               **kwargs)
 
     if is_impl("IgniteApplicationService"):
         return _resolve_spec("AppSpec", ApacheIgniteApplicationSpec)(path_aware=service, context=context,
@@ -87,19 +88,22 @@ class IgniteSpec(metaclass=ABCMeta):
             return IgniteClientConfigTemplate()
         return IgniteServerConfigTemplate()
 
-    def __home(self, version=None):
+    def __home(self, version=None, project=None):
         """
         Get home directory for current spec.
         """
+        project = project if project else self.project
         version = version if version else self.version
-        return get_home_dir(self.path_aware.install_root, self.project, version)
+        return get_home_dir(self.path_aware.install_root, project, version)
 
     def _module(self, name):
         """
         Get module path for current spec.
         """
-        version = DEV_BRANCH if name == "ducktests" else self.version
-        return get_module_path(self.__home(version), name, version)
+        if name == "ducktests":
+            return get_module_path(self.__home(DEV_BRANCH, project="ignite"), name, DEV_BRANCH)
+
+        return get_module_path(self.__home(self.version), name, self.version)
 
     @abstractmethod
     def command(self, node):
@@ -168,8 +172,8 @@ class ApacheIgniteNodeSpec(IgniteNodeSpec):
     """
     Implementation IgniteNodeSpec for Apache Ignite project
     """
-    def __init__(self, modules, **kwargs):
-        super().__init__(project="ignite", **kwargs)
+    def __init__(self, context, modules, **kwargs):
+        super().__init__(project=context.globals.get("project", "ignite"), **kwargs)
 
         libs = (modules or [])
         libs.append("log4j")
@@ -194,7 +198,7 @@ class ApacheIgniteApplicationSpec(IgniteApplicationSpec):
     """
     # pylint: disable=too-many-arguments
     def __init__(self, context, modules, servicejava_class_name, java_class_name, params, start_ignite, **kwargs):
-        super().__init__(project="ignite", **kwargs)
+        super().__init__(project=context.globals.get("project", "ignite"), **kwargs)
         self.context = context
 
         libs = modules or []