Looking for technical support for RTC Jazz Build Engines
![](http://jazz.net/_images/myphoto/6eca3b93f994bb06f52d2247fb57e80f.jpg)
Recently, our RTC Admin enabled TLS1.2 enforcement on our RTC Source Code servers. We have been using the instructions at this URL to reconfigure our RTC Jazz Build Engines to accept the TLS1.2 protocol.
3 answers
![](http://jazz.net/_images/myphoto/6eca3b93f994bb06f52d2247fb57e80f.jpg)
![](http://jazz.net/_images/myphoto/6eca3b93f994bb06f52d2247fb57e80f.jpg)
Hi Davyd,
- When I added the TLS directive -Dcom.ibm.team.repository.transport.client.protocol=TLSv1.2 to buildsystem/buildengine/eclipse/jbe.ini I still see the handshake failure, and the JBE fails to start.
- If I remove that entry from jbe.ini, and add it to buildsystem/buildengine/eclipse/jbe.sh, the JBE starts up successfully, but when it picks up a job, it fails with the message: Remote host closed connection during handshake.
- If the Build Definition is of type "Ant - Jazz Build Engine", I can add the string -Dcom.ibm.team.repository.transport.client.protocol=TLSv1.2 to the "Java VM arguments" field on the "Ant" tab. This works, and picks up a build request successfully.
- Encouraged by my luck with an Ant Build Def, I was hoping there was a way to pass the TLS directive to Build Definitions of type "Command Line", but I see no way to do that in either the "Jazz Source Control" or "Command Line" table.
- Is there a way to send -Dcom.ibm.team.repository.transport.client.protocol=TLSv1.2 for a "Command Line" build definition?
- What is different about the communication between the RTC Server and the JBE that allows the JBE to start successfully, but fails the build request?
Comments
![](http://jazz.net/_images/myphoto/155c3d4adb1050c9fad99139dab14b77.jpg)
![](http://jazz.net/_images/myphoto/6eca3b93f994bb06f52d2247fb57e80f.jpg)
Hi Davyd,
To answer your questions:
> Are all the engines on Linux, or are they on different OS?
> Are the ones that are working on the same or different?
They are all 100% Linux systems, RHEL 7.8 to be precise. What's unique about the ones that are not working is that their Build Definition is of type "Command Line". The RTC Build Definitions that are working are all of type "Ant - Jazz Build Engine". This means that the same JBE will work for any build def of type Ant, and will fail for any build def of type "Command Line".
> did you have to do both 2 and 3 above to get the engine to work?
> I would have thought both were required because you need to be
> able to connect first and then service the jobs
Correct. Adding the TLS1.2 string to jbe.sh is necessary and sufficient for a successful build only if the build def is of type Ant.
> every connection you make back to the ELM server is going to have to
> use TLS 1.2, so that would mean if your command line was pushing a
> build progress update or something, it'll need it too. Maybe that's where
> the job fails?
Yes, that is precisely the problem. I have not found a way to pass the TLS1.2 string using any of the tabs on the Build Definition of type "Command Line". The build def of type "Ant" allows me to pass the TLS1.2 string on the Ant tab using the "Java VM arguments" field.
In summary, I need to tell Java from a "Command Line" build def that I want to use the TLS1.2 string. I have tried setting JAVA_OPTS, but that did not work
-Randy
Comments
![](http://jazz.net/_images/myphoto/155c3d4adb1050c9fad99139dab14b77.jpg)
![](http://jazz.net/_images/myphoto/6eca3b93f994bb06f52d2247fb57e80f.jpg)
Hi Davyd,
- Command
- Arguments
- Working Directory
- Properties
- Environment variables
![](http://jazz.net/_images/myphoto/155c3d4adb1050c9fad99139dab14b77.jpg)
![](http://jazz.net/_images/myphoto/6eca3b93f994bb06f52d2247fb57e80f.jpg)
G'Day Davyd,
![](http://jazz.net/_images/myphoto/155c3d4adb1050c9fad99139dab14b77.jpg)
YAY!!! Awesome news mate. So glad you got it running