It's all about the answers!

Ask a question

RTC 4.0.4 zOS 1.13 - bfagent - Why are we not able to connect to external repository url?


Donald Poulin (2249119107) | asked Oct 15 '13, 6:23 a.m.
retagged Oct 17 '13, 8:06 a.m. by Steve Dearth (2212)
We have a new 1.13 zOS environment and just completed install/configure of RTC 4.0.4 buildtoolkit and bfagent. From our external RTC server that exists on an HP laptop server we can do a successful "test connect" to zOS port 5555 from our build engine. When we request a build we get the error below indicating an "unreachable" url. We use this same with our eclipse clients on our laptops and have no problem getting to it. Any ideas what we need to change?

* parsing buildfile jar:file:/usr/lpp/jazz/v4.0.4/buildsystem/buildtoolkit/ant-contrib.jar!/net/sf/antcontrib/antlib.xml with URI = jar:file:/usr/lpp/jazz/v4.0.4/buildsystem/buildtoolkit/ant-contrib.jar!/net/sf/antcontrib/antlib.xml
*
* BUILD FAILED
* com.ibm.team.repository.common.TeamRepositoryException: Error logging in to repository https://glenwood.dyndns.org:9443/ccm/.  Verify that the repository address and credentials to log in are correct.
*     at com.ibm.team.build.ant.task.AbstractTeamBuildTask.initializeRepositoryManager(AbstractTeamBuildTask.java:324)
*     at com.ibm.team.build.ant.task.AbstractTeamBuildTask.getTeamRepository(AbstractTeamBuildTask.java:270)
*     at com.ibm.team.build.ant.task.AbstractTeamBuildTask.getTeamBuildClient(AbstractTeamBuildTask.java:226)
*     at com.ibm.team.build.ant.task.StartBuildActivityTask.updateBuildResult(StartBuildActivityTask.java:153)
*     at com.ibm.team.build.ant.task.AbstractPublisherTask.doExecute(AbstractPublisherTask.java:105)
*     at com.ibm.team.build.ant.task.AbstractTeamBuildTask.execute(AbstractTeamBuildTask.java:661)
*     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
*     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
*     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
*     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
*     at java.lang.reflect.Method.invoke(Method.java:611)
*     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
*     at org.apache.tools.ant.Task.perform(Task.java:348)
*     at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:62)
*     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
*     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
*     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
*     at java.lang.reflect.Method.invoke(Method.java:611)
*     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
*     at org.apache.tools.ant.Task.perform(Task.java:348)
*     at net.sf.antcontrib.logic.Switch.execute(Switch.java:138)
*     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
*     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
*     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
*     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
*     at java.lang.reflect.Method.invoke(Method.java:611)
*     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
*     at org.apache.tools.ant.Task.perform(Task.java:348)
*     at org.apache.tools.ant.Target.execute(Target.java:357)
*     at org.apache.tools.ant.Target.performTasks(Target.java:385)
*     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
*     at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
*     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
*     at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
*     at org.apache.tools.ant.Main.runBuild(Main.java:758)
*     at org.apache.tools.ant.Main.startAnt(Main.java:217)
*     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
*     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
* Caused by: com.ibm.team.repository.common.transport.HostUnknownException: CRJAZ1368E The following URL cannot be reached: https://glenwood.dyndns.org:9443/ccm/versionCompatibility?clientVersion=4.0.4. The network stated that the URL is invalid. Error details: java.nio.channels.UnresolvedAddressException.
*     at com.ibm.team.repository.transport.client.ClientHttpUtil.executePrimitiveRequest(ClientHttpUtil.java:1310)
*     at com.ibm.team.repository.transport.client.ClientHttpUtil.executeHttpMethod(ClientHttpUtil.java:362)
*     at com.ibm.team.repository.transport.client.ClientHttpUtil.executeHttpMethod(ClientHttpUtil.java:321)
*     at com.ibm.team.repository.transport.client.ClientHttpUtil.executeHttpMethod(ClientHttpUtil.java:219)
*     at com.ibm.team.repository.transport.client.ClientHttpUtil.executeHttpMethod(ClientHttpUtil.java:228)
*     at com.ibm.team.repository.transport.client.RestClientConnectionBase.executeMethod(RestClientConnectionBase.java:315)
*     at com.ibm.team.repository.transport.client.RestClientConnectionBase.doMethod(RestClientConnectionBase.java:181)
*     at com.ibm.team.repository.transport.client.RestClientConnectionBase.doGet(RestClientConnectionBase.java:122)
*     at com.ibm.team.repository.transport.client.TeamRawRestServiceClient$RawRestClientConnection.doGet(TeamRawRestServiceClient.java:96)
*     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
*     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
*     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
*     at java.lang.reflect.Method.invoke(Method.java:611)
*     at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invokeServiceCall(ServiceInterfaceProxy.java:164)
*     at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invoke(ServiceInterfaceProxy.java:88)
*     at com.ibm.team.repository.client.internal.RawRestServiceClientProxy$RestClientConnectionProxy.invoke(RawRestServiceClientProxy.java:121)
*     at com.sun.proxy.$Proxy9.doGet(Unknown Source)
*     at com.ibm.team.repository.client.internal.TeamRepository.fetchClientVersionJSONObject(TeamRepository.java:1624)
*     at com.ibm.team.repository.client.internal.TeamRepository.access$0(TeamRepository.java:1621)
*     at com.ibm.team.repository.client.internal.TeamRepository$5.run(TeamRepository.java:1692)
*     at com.ibm.team.repository.client.internal.TeamRepository$5.run(TeamRepository.java:1)
*     at com.ibm.team.repository.client.internal.TeamRepository$3.run(TeamRepository.java:1287)
*     at com.ibm.team.repository.common.transport.CancelableCaller.call(CancelableCaller.java:79)
*     at com.ibm.team.repository.client.internal.TeamRepository.callCancelableService(TeamRepository.java:1280)
*     at com.ibm.team.repository.client.internal.TeamRepository.checkServerVersionMatches(TeamRepository.java:1695)
*     at com.ibm.team.repository.client.internal.TeamRepository.internalLogin(TeamRepository.java:1471)
*     at com.ibm.team.repository.client.internal.TeamRepository.login(TeamRepository.java:641)
*     at com.ibm.team.build.internal.scm.RepositoryManager.login(RepositoryManager.java:275)
*     at com.ibm.team.build.ant.task.AbstractTeamBuildTask.initializeRepositoryManager(AbstractTeamBuildTask.java:322)
*     ... 37 more
* Caused by: java.nio.channels.UnresolvedAddressException
*     at sun.nio.ch.Net.checkAddress(Net.java:47)
*     at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:528)
*     at com.ibm.team.repository.transport.client.InterruptableSocketFactory.doConnect(InterruptableSocketFactory.java:142)
*     at com.ibm.team.repository.transport.client.InterruptableSocketFactory.createSocket(InterruptableSocketFactory.java:69)
*     at com.ibm.team.repository.transport.client.SecureInterruptableSocketFactory.createSocket(SecureInterruptableSocketFactory.java:300)
*     at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
*     at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
*     at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
*     at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
*     at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
*     at com.ibm.team.repository.transport.client.ClientHttpUtil.executePrimitiveRequest(ClientHttpUtil.java:1275)
*     ... 65 more
*

Accepted answer


permanent link
Steve Dearth (2212) | answered Oct 15 '13, 2:35 p.m.
JAZZ DEVELOPER
There are a lot of reasons that this may fail. Your system programmer is probably the best person to resolve name resolution problems. You could try using the USS command "dig glenwood.dyndns.org" to see if you can query DNS and see if the host name is being resolved by the DNS used by your z/OS system. If it's not, you really need to check with the sysprog to see if changes can be made to allow this URI to resolve.

If this is an Rational Development and Test Environment for System z, you may be able to get away with simply adding an entry for the laptop server in the /etc/hosts file. Of course, you'd have to update this each time the lease on your server's dynamic IP address is updated, so it's probably not a good long term solution. 
Donald Poulin selected this answer as the correct answer

One other answer



permanent link
Steve Dearth (2212) | answered Oct 15 '13, 12:29 p.m.
JAZZ DEVELOPER
 Donald,

There are two directions of communication in play here. When you "Test connection" from the build engine definition, the server is calling out to the build agent on the target build system. You're verifying that the server can contact the build machine. That communication seems to be fine.

What's failing here is communication in the other direction. The build agent on the build machine needs to be able to make calls back to the server. The agent is unable to resolve the address of the server.

Try to log into USS on the build machine and ping the machine hosting your server (glenwood.dyndns.org). If that fails, the build agent definitely won't be able to resolve it. The java.nio.channels.UnresolvedAddressException is an indication that the build machine is unable to make the connection.

This is frequently true when your server is on a machine that doesn't have a static IP address. 

You may be able to work around this problem by setting a build definition variable named repositoryAddress to the current IP address of your server machine, assuming that there isn't a firewall blocking access to the server. This is of course a temporary solution, since the value of the variable will need to be updated each time the IP address of the server changes.  

Comments
Donald Poulin commented Oct 15 '13, 12:53 p.m.

Thanks for the reply. I did try setting "repositoryAddress" in thebuild engine and set it to that url that I showed you the error on. I also tried using the ip of the reppsitory host instead of the host name and when using the ip address I just get a timeout at the point where the bfagent would be executing the url.  Not really sure what to look at next. From a browser we can get to that url - it brings up the logon screen.

fetch:
parsing buildfile jar:file:/usr/lpp/jazz/v4.0.4/buildsystem/buildtoolkit/ant-contrib.jar!/net/sf/antcontrib/antlib.xml with URI = jar:file:/usr/lpp/jazz/v4.0.4/buildsystem/buildtoolkit/ant-contrib.jar!/net/sf/antcontrib/antlib.xml
TMO Timeout after +300 seconds.
RESULT 999
EOR


Steve Dearth commented Oct 15 '13, 1:14 p.m.
JAZZ DEVELOPER

When you say that you can access the server from a browser, are you connecting from an external machine, or from a browser on the same machine as the server? If you're on the same machine, that may be masking connectivity issues. 


Have you been able to verify that the z/OS machine can communicate with your server machine by pinging it or making some other connection to it?

Is it possible that there is a firewall on the server machine that is blocking the communication? This is particularly common if you are running the server on Windows and the Windows Firewall is enabled. 


Donald Poulin commented Oct 15 '13, 1:15 p.m.

An update - I did try again with an IP of the HP server host and that worked but we really need to use the url with the "host name" in it - any ideas why from zOS that isn't resolved? We are a little new to setting up TCP/IP on a zOS host.


Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.