Remote agent DNS connection issue
Asked by Seravy:

Hi All,

I am having an issue with getting a remote bamboo agent to connect to the main server due to a dns resolving issue.

The wrapper has the following config:  
wrapper.app.parameter.2=http://THRALL.development.metech.com.au/agentServer/

But looking at the log file it fails because:

```
INFO | jvm 1 | 2012/01/24 00:49:07 | 2012-01-24 00:49:07,539 ERROR [ActiveMQ Task] [FailoverTransport] Failed to connect to transport after: 10 attempt(s) 
INFO | jvm 1 | 2012/01/24 00:49:07 | 2012-01-24 00:49:07,539 WARN [Thread-1] [BambooJmsProxyFactoryBean] Exception when running afterPropertiesSet 
INFO | jvm 1 | 2012/01/24 00:49:07 | javax.jms.JMSException: THRALL.metech.com.au
```

The problem here is that THRALL.metech.com.au does not resolve, only THRALL or THRALL.development.metech.com.au.

I am not sure where it is getting the first resolution from.

I have tried setting some properties in bamboo-agent.cfg.xml to force the name

```
<property name="bamboo.jms.broker.client.uri">failover:(tcp://THRALL.development.metech.com.au:54663?wireFormat.maxInactivityDuration=300000)</property> 
<property name="bamboo.jms.broker.uri">tcp://THRALL.development.metech.com.au:54663</property>
```

but the log still shows it using tcp://THRALL.metech.com.au for some reason:

```
INFO | jvm 1 | 2012/01/24 00:44:52 | 2012-01-24 00:44:51,990 INFO [Thread-1] [BambooActiveMQConnectionFactory] Setting broker URL to 'failover:(tcp://THRALL.metech.com.au:54663?wireFormat.maxInactivityDuration=300000)?initialReconnectDelay=15000&maxReconnectAttempts=10' 
INFO | jvm 1 | 2012/01/24 00:44:52 | 2012-01-24 00:44:52,178 INFO [Thread-1] [BambooActiveMQConnectionFactory] Setting broker URL to 'failover:(tcp://THRALL.metech.com.au:54663?wireFormat.maxInactivityDuration=300000)?initialReconnectDelay=15000&maxReconnectAttempts=10'
```

I've set the DNS resolution options in the windows TCP/IP settings, and looked at this page which outlines the problem:

<http://confluence.atlassian.com/display/BAMKB/Remote+Agent+Can%27t+Connect+to+Bamboo+Server+On+Startup>

Following it's suggestion (both links goto the same page) i updated the general page config to use the fully qualified domain but it still doesn't work.

Any ideas?

(Sorry about the formatting, it seems to have removed all the new line characters)


Answers:
author: Przemek Bruski
body: The value is taken from bamboo.cfg.xml file on the server. Can you change the bamboo.jms.broker.client.uri there?

comments: author: Seravy
body: Wow, Thanks. I had no idea that setting was on the main server. I wonder why it would have automatically set it to that? During the install?

No matter, with 'bamboo.jms.broker.client.uri' and 'bamboo.jms.broker.uri' set correctly it works fine.

(I did not set bamboo.jms.broker.client.uri, does that matter?)


author: Przemek Bruski
body: Yeah, during the install it tries to autodetect the uris.

I think there's a fallback to broker uri if the client uri is not set.


author: Mark McD
body: As a bonus comment - I had a similar issue on our Bamboo server where we used the hostname in the server's bamboo.cfg.xml file but the server could not resolve it, so didn't bind to any IP. Adding an entry to the hosts file so it resolved fixed the problem (I'm sure DNS would have worked too).


Tags: remote-agent