It's all about the answers!

Ask a question

Can the RTC server list JBE hostnames?


Alix Pickerill (2622) | asked May 14 '14, 3:40 a.m.
Hi,

What is the best way to see the hosts connected to RTC as jazz build engines and what user id they are connected as?

I have a problem where lots of jazz build engines have been created in RTC on lots of different machines and connected using a single task id, when it comes to the time to change the password for this task id I can't find any way of listing the machines connected to RTC using that task id so I need to maintain a list of the JBE names, the host they are running on and the username they connect with, is there anyway of getting this information from RTC in logs or through the API? It is particularly problematic as the manually created list gets out of date or machines missed through human error, so it would be very useful to be able to query this from the RTC server.

A related problem, we have all these machines running JBEs when we want new machines to do a similar job we just clone the machine, however this results in the name the JBE is started with being the same on both machines which RTC doesn't allow. As we don't control the cloning of machines it is hard for us to know when a new clone will be created and more importantly which machine is created with a JBE matching name, breaking our existing working builds. E.g

Host host01 running JBE jbe05
Cloned to :
Host host07 running JBE jbe05
The JBE jbe05 won't work because it is running on 2 machines, but it seems impossible to tell where the 2 conflicting JBEs are running, can you offer any suggestions?

Comments
sam detweiler commented May 14 '14, 6:28 a.m.

There is really no linkage between JBE build engine ID and the machine hostname. 


You need another step in the cloning process so that u can get notice of this operation. And I would suggest you change the ID to use part of the hostname so u don't end up with duplicates. 

One answer



permanent link
Nick Edgar (6.5k711) | answered May 14 '14, 9:19 a.m.
JAZZ DEVELOPER
That's correct, since the JBE instances are clients of the RTC server, the RTC server is not aware of how many are out there, or which hosts they're running on.  JBE builds do log the (simple) host name at the top of the build log though, so for a given engine item you can double-click on it to list builds, the view one of the build's logs to see which host it ran on.
 

Comments
sam detweiler commented May 14 '14, 11:54 a.m. | edited May 14 '14, 11:57 a.m.

But if I attempt to start another instance of BE5 (for example) it will fail long before logging a job. 


Nick Edgar commented May 14 '14, 11:56 a.m.
JAZZ DEVELOPER

Why? That seems like a different issue than what Alix is reporting.


Nick Edgar commented May 14 '14, 12:00 p.m.
JAZZ DEVELOPER

Builds that do get started will log the host name.  I think the issue with JBE running on multiple hosts for the same engine id is that it will auto-abandon builds, thinking that they've been orphaned (i.e. it's not the current JBE running them, so it abandons them).

The auto-abandon log message should also include the host name, but I don't think it does currently.  @Alix does this accurately represent the issue?


Nick Edgar commented May 14 '14, 12:02 p.m. | edited May 14 '14, 12:04 p.m.
JAZZ DEVELOPER

You can disable the auto-abandon behaviour with:

jbe ...regular args… -vmargs -Dteam.build.abandonOrphans=false
In this case, the duplicate JBEs would each run builds even if the engine id is the same.  This would then let you examine the build logs to see which hosts are running the JBEs.

The downside if that if a JBE does drop a build for some reason (JBE dies / server connection interrupted, etc) then the build will still appear as in-progress even though no JBE is running it anymore, and it will need to be manually abandoned.


Alix Pickerill commented May 15 '14, 11:22 a.m.

It would certainly help to have the auto-abandon log message to also include the host name, would this tell you both hostnames or just one of them?


Alix Pickerill commented May 15 '14, 11:27 a.m.

There is a third problem case in there area, what if a person creates a JBE on a build machine but doesn't create a build engine in the RTC server, is there anyway to find  out if such a JBE exists from the RTC server?


Nick Edgar commented May 15 '14, 12:04 p.m.
JAZZ DEVELOPER

It would certainly help to have the auto-abandon log message to also include the host name

Please file an enhancement request against Build.

> would this tell you both hostnames or just one of them? 
Just one: the host doing the abandon.



Nick Edgar commented May 15 '14, 12:04 p.m.
JAZZ DEVELOPER

what if a person creates a JBE on a build machine but doesn't create a build engine in the RTC server

Then different builds will be picked up by the different JBEs, and the only way to tell which hosts are being used is to check the logs for the builds that actually run.


sam detweiler commented May 15 '14, 3:47 p.m.

huh?  if I create a new JBE build process on some server using some ID which does not exist,  then the jbe command reports

 [Jazz build engine] CRRTC3521W: Warning: The build engine is
 either not in the repository, or it cannot be accessed by the following user: "sam". The ID of the build engine is "test on 5 engine1".

showing 5 of 9 show 4 more comments

Your answer


Register or to post your answer.