Our Octopus server is having problems communicating with our Tentacle setup in our staging environment.
Environments:
We have 3 Environments. Development, Staging and Production. Below are more details on Dev and Staging. We won’t worry with production in this thread, but it’s assumed that staging is a mirrored setup to production so we would experience the same issues there as well.
Octopus Server and Tentacle Version: 2.0.9.1020
About the Development Environment…
MachineName: DEVBOX (for the purposes of this conversation)
DNS Name: dev-web1
Development is located on a server inside of our local network and is a member of our Active Directory domain. The Octopus server has no problems connecting with the Development Tentacle instance and everything works as expected. Note that since this server is located on our internal network, system policy and network configurations are not very restricted.
About the Staging Environment…
MachineName: STAGEBOX (for the purposes of this conversation)
DNS Name: stage-web1
Staging is located on a server in the DMZ and is NOT part of our Windows domain. It is an exact mirror of our production environment with identical network and application configurations in place. The configurations for the DMZ machines are much more restricted than that of our Development server since they are on the DMZ. One key thing to note, which could be part of our problem is that the DMZ servers have no inbound access to machines on our internal network and also have no Internet access… so if I go to a browser and type www.google.com, I got nothin’. Another thing to note is that as of now, the Windows Firewall is turned off, so that shouldn’t be an issue.
It’s been explained to me by our network administrators that the Octopus server should have access to port 10933 on the staging server. I verified this by logging onto the machine that the Octopus Server is installed via Remote Desktop and tested the connection via a telnet prompt by typing this in a command line prompt:
telnet stage-web1 10933
It connected just fine.
Here’s what happened when I try setting up staging in the Octopus control panel…
In the Octopus control panel, I created my Staging Environment and clicked “Add machine”. It’s interesting because I got different results when I entered different values in the hostname input box.
Attempt #1: I used the DNS Name for hostname value. I typed “stage-web1” into the hostname field and a port value of 10933. I then pressed “Discover” it span for 30 seconds and timed out saying: A response was not received within 00:00:30. I verified that stage-web1 resolves correctly to the IP Address of the staging server by testing a ping from a command prompt on the Octopus server, so that’s odd that it didn’t work. (Technically, our telnet test did the same thing, but I pinged to double check)
Attempt #2: I used the machine name next. I typed “STAGEBOX” into the hostname field and left the port value of 10933. I then pressed “Discover” and after only about a second, I received this error message: The requested name is valid, but no data of the requested type was found.
Attempt #3: I used the IP Address of the server. I typed the IP Address into the hostname field and again, left the default port of 10933. I pressed “Discover” and less than one second later, I received this 3rd different error message: No connection could be made because the target machine actively refused it x.x.x.x:10933
Another interesting observation:
Installation of the Tentacle on our staging environment was painfully slow. It took the installation script nearly 5 minutes to run, whereas it only took seconds to run our our Development server. Is it making calls back home or trying to hit the Internet or anything like that? If so, that could be causing some sort of time-out within the script since the staging server hosting Tentacle doesn’t have direct Internet access.
More questions:
Does the Tentacle need to have access back to the Octopus server through some sort of different port number? As I mentioned before, while our Octopus server has outbound access to our staging server, our staging server does not have inbound access to the Octopus server. We may be able to get a network rule changed to allow for this, but could this be part of the problem?.. and if so what port(s) would need to be granted access?
Thanks for any help or suggestions you can provide!