Octopus tentacle connectivity

Hi There,

I have a Octopus default tentacle (version 2.6) running at Port :10933 which is connected to a Octopus server of version 2.6.
Today i have added an instance to this Tentacle with port as : 10944, i also have a Octopus server 3.11 installed on some other VM, now am trying to connect this Tentacle (of version 2.6 with port 10944 ) with Octopus server of 3.6 version. but could not able to do successful ‘Health Check’.
Below is the error for the reference :

Info
Performing TLS handshake

Info
Secure connection established. Server at [::ffff:192.168.100.113]:10944 identified by thumbprint: E1367C38509E7B6F548A47XXXXXXXX…6, using protocol Tls

Info
Identifying as a client

Error
Connection initialization failed while connecting to https://servername:10944/
Halibut.Transport.Protocol.ConnectionInitializationFailedException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. —> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. —> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
— End of inner exception stack trace —
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.Security._SslStream.StartFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.StartFrameHeader(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.StartReading(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.StreamReader.ReadBuffer()
at System.IO.StreamReader.ReadLine()
at Halibut.Transport.Protocol.MessageExchangeStream.ReadRemoteIdentity()
at Halibut.Transport.Protocol.MessageExchangeStream.ExpectServerIdentity()
at Halibut.Transport.Protocol.MessageExchangeProtocol.PrepareExchangeAsClient()
— End of inner exception stack trace —
at Halibut.Transport.Protocol.MessageExchangeProtocol.PrepareExchangeAsClient()
at Halibut.HalibutRuntime.<>c__DisplayClass27_0.b__0(MessageExchangeProtocol protocol)
at Halibut.Transport.SecureClient.ExecuteTransaction(Action`1 protocolHandler)

Please do the needful.

Hi,

Thanks for getting in touch! Our Tentacles cannot communicate between major versions. A 2.x Tentacle cannot communicate with a 3.x Server and vice versa.
That will be the problem you are seeing.

Are you planning on upgrading the 2.6 instance shortly?

Vanessa

Thanks for your quick response Vanessa.

Can i install the two different Tentacles (3.11 and 2.6) on the same VM, so that i can communicate these two separately with different versions of Octopus server.

Hi,

You can, but it isn’t straight forward, and you will not be able to use the Tentacle upgrade feature.
The MSI is blocked from installing a different version as it detects the currently installed files and only wants to overwrite them.
To counter this, you need to install the MSI on a completely different machine, and copy all of the files from the Program Files\Octopus directory. These can then be copied into a directory on your server that has Tentacle already installed, but place them in their own directory. You can then run the Octopus Server from the files, and it will open up Tentacle Manger allowing you to create an instance of that version.

Note/s: You will need different ports, home directories and potentially instance name. All of these can be changed during the Wizard, except I think for instance name. But when you get to the final screen of the Wizard if you show script you can also change from the default. Also if you are using the custom installation directory feature as part of any of your package deployments you will have problems if you do not add some form of distinction between your deployments.

You will then be able to deploy from both versions.

You will have to be very careful in uninstalls and hydra when it comes to removing the 2.x Tentacle or attempting to upgrade to 3.x.
Vanessa