It's all about the answers!

Ask a question

teamconcert toolkit installed on different s.o.


Giovanni Maruffa (131) | asked 2 days ago
edited 2 days ago

Good morning,
I work with jenkins 2.190.1 installed on a windows server (master) and the jenkins agent (slave) is installed on a Linux workstation

Both have installed the RTC 6.0.6 toolkits
The Team Concert Plugin version i am using is 2.2.0
I created a freejob that downloads a specific stream from the RTC server in a specific path on slave.
This freejob must be run on slave.
When I run it on the slave, the job fails because the toolkit path is set in windows style (i.e. c:\another_dir\toolkit_dir) instead of /another_dir/toolkit_dir/
So to check for my configuration errors, I created two freejobs that download a workspace associated with stream.
The first one runs on the master (windows) and ends successfully,
The second runs on the slave agent (linux) and ends successfully.
Both toolkits are properly installed
I found something similar problem on the net (issues.jenkins.io with id JENKINS-32996) but no solution has been provided.
How can I solve this problem?


Comments
Lakshmi Narasimhan T V commented yesterday | edited yesterday
JAZZ DEVELOPER
Hi

Could you validate the following and let me know if it matches what you have setup in your environment?
1. The toolkit definition in master is in windows style. Let's call this toolkit buildtoolkit-606 and the path is C:\another_dir\toolkit_dir
2. In agent tool settings, you have overridden the master toolkit to point to a linux style path. For instance, you have selected buildtoolkit-606 and provided the path /another_dir/toolkit_dir in the agent's tool overrides.
3. You have selected buildtoolkit-606 as the toolkit to be used in the Jenkins job with stream configuration.

Giovanni Maruffa commented yesterday | edited yesterday

Hi Lakshmi,
1. TRUE

2. FALSE

In Global Tool Configuration section in jenkins, I have defined 2 toolkit
  1. Toolkit_WIN with path C:\win_path\toolkit_dir
  2. Toolkit_LINUX with path /linux_path/toolkit_dir
(use C:\another_dir\toolkit_dir and /another_dir/toolkit_dir introduce confusion)
Now I want execute this freejob on Linux Slave,
in scm section I select RTC and insert these parameters
  • build toolkit selected: Toolkit_LINUX
  • build configuration: stream
and so on.
When I run this job, fault with this reason
build toolkit directory not found at: c:\linux_path\toolkit_dir

3.FALSE
I select the second toolkit definition with linux path


1
Giovanni Maruffa commented 20 hours ago

Thank uou so much! Problem solved!!!

Accepted answer


permanent link
Lakshmi Narasimhan T V (4265) | answered 22 hours ago
JAZZ DEVELOPER
Hi Giovanni,
In Jenkins, the toolkit definition is valid only in the master. For agents, instead of creating another toolkit definition separately, you should override the tool's path in the agent's properties. This way, Team Concert plugin can resolve the correct toolkit depending on where it runs.  If you defined a toolkit for agent, it is no longer valid in the master.  Hence it is better to follow the override approach.

To override the tool definition for the agent, click Manage Jenkins->Manage Nodes and Clouds. Click the agent of your choice and click Configure. On the right, scroll down to find Tool location checkbox.  Once you check it, select the toolkit that you defined earlier and provide the path in the Linux agent.

In stream configuration, not all of the communication with RTC happens in the agent, even if you selected the job to run in an agent. Some part of the communication will happen on the master and hence a valid toolkit on master is required. That explains the error message you observed in the build's console output.
Giovanni Maruffa selected this answer as the correct answer

Comments
Lakshmi Narasimhan T V commented 20 hours ago
JAZZ DEVELOPER
Hi Giovanni,
Could you mark the answer as accepted?

Your answer


Register or to post your answer.