diff --git a/packit_service/worker/helpers/testing_farm.py b/packit_service/worker/helpers/testing_farm.py index 9231dfa78..7d980f51a 100644 --- a/packit_service/worker/helpers/testing_farm.py +++ b/packit_service/worker/helpers/testing_farm.py @@ -1575,7 +1575,7 @@ def _payload_rpminspect(self, distro: str, compose: str) -> dict: git_ref = "master" # rpminspect defines its own container in the tmt plan file, # hence `compose=None` - payload = self._get_tf_base_payload(distro, None) + payload = self._get_tf_base_payload(distro, None, multihost=True) payload["test"] = { "tmt": { "url": git_repo, @@ -1593,7 +1593,7 @@ def _payload_rpmlint(self, distro: str, compose: str) -> dict: git_ref = "main" # rpmlint defines its own container in the tmt plan file, # hence `compose=None` - payload = self._get_tf_base_payload(distro, None) + payload = self._get_tf_base_payload(distro, None, multihost=True) payload["test"] = { "tmt": { "url": git_repo, @@ -1614,7 +1614,7 @@ def _get_fedora_ci_payload(self, distro: str, plan: str) -> dict: git_repo = "https://forge.fedoraproject.org/ci/shared-tests" git_ref = "main" if self.service_config.deployment == Deployment.prod else "stg" # All tests in ci/shared-tests define their own provision hence `compose=None` - payload = self._get_tf_base_payload(distro, None) + payload = self._get_tf_base_payload(distro, None, multihost=True) payload["test"] = { "tmt": { "url": git_repo, @@ -1652,7 +1652,12 @@ def _payload_custom(self, distro: str, compose: str) -> dict: } return payload - def _get_tf_base_payload(self, distro: str, compose: Optional[str]) -> dict: + def _get_tf_base_payload( + self, + distro: str, + compose: Optional[str], + multihost: bool = False, + ) -> dict: """ Common payload for all fedora-ci testing-farm jobs. @@ -1663,6 +1668,17 @@ def _get_tf_base_payload(self, distro: str, compose: Optional[str]) -> dict: # this has to be specified at the api request level. # TODO: Revisit when 0.2 testing-farm API is decided os_params = {"os": {"compose": compose}} if compose else {} + multihost_params = ( + { + "settings": { + "pipeline": { + "type": "tmt-multihost", + } + } + } + if multihost + else {} + ) dist_git_branch = self.pr.target_branch variables = {} artifacts = [] @@ -1698,6 +1714,7 @@ def _get_tf_base_payload(self, distro: str, compose: Optional[str]) -> dict: "token": self.service_config.testing_farm_secret, }, }, + **multihost_params, } def _handle_tf_submit_successful(