Thanks for getting in touch! Generally we recommend not changing the config files as it can impact other areas of Octopus. The port changing back is really strange, you can use the Tentacle configure command to change the port if the UI does not work.
tentacle.exe configure --port=VALUE
Could you also attach a copy of your Tentacle logs? C:\Octopus\Logs in a default installation on your Tentacle server.
How do you update the Tentacle when this happens? (Manually or via Octopus portal)
The above should provide me with a bit more information to help troubleshoot this issue. :)
We've managed to configure the Octopus server to listen to our custom port (11943), the issue is installing the tentacles on our deployment targets.
When we use the Tentacle Setup Wizard, I can't see anywhere in the GUI where I can change from the default port 10943 to 11943. When selecting "Show script" before hitting "Install" I can see that it's trying to install using the 10943 port even though our Octopus server is configured to listen to 11943. So what we've done so far is install it using 10943, and then after installation we manually change the port in the Tentacle.Deployment.ApplicationDirectory setting in Tentacles.config to 11943.
However this only works if 10943 can be reached during installtion. On our new server, only 11943 a few other ports are open, and because of this the tentacle installation fails when it's verifying connection against the 10943 port. And because this can only (as far as I've been able to find) be changed AFTER installation, we're kind of stuck on this step.
I couldnt find anything in the documentation about changing the default port on the tentacle side, only on the Octopus Server itself.
Thanks for the update. I understand the problem here. There are some options you can take to counter this issue. As I previously mentioned it is a safer option to use Tentacle.exe command line and the tentacle.exe configure --port=VALUE command than manually changing this configuration file. However this happens after the instance has been created.
In order to have the instance created with the port you require, you will need to manually create the instance after the Tentacle files have been installed and before the Instance has been created. This is where the port is define and where you will be able to change it via script. The following is the script we run when a Polling Tentacle instance is created and can be modified to suit your needs.
I have replaced values in all capitals which will need replacing.
NEW_INSTANCE_NAME = The name of the instance you would like to create PUT_11943_HERE = This is where you want to put your port OCTOPUS_SERVER_URL = URL for the new Tentacle to find the Octopus server ENVIRONMENT_FOR_NEW_TARGET = The environment this Tentacle will be registered to TENTACLE_ROLE = Role for the new Tentacle OCTOPUS_SERVER_USERNAME/OCTOPUS_SERVER_PASSWORD = Octopus server credentials
Thanks for the detailed reply. This is exactly what we want to do, however the script seems to be read-only and I can't find anywhere to change it. During Tentacle installation I created a new instance, but I can't find anywhere to modify the script that is run. Am I missing something obvious here?
First, the Tentacle files are extracted and installed to the location you select. (No instance created yet)
Second, the Instance creation. After you have run the Tentacle installer, you will see and be able to launch the Tentacle manager with the option to create a new Instance. By default, the script I gave you is run as a part of making this instance and the is edited based on the options you select. So this custom port can not be defined during the UI installation. In order to use your custom port value, you will need to run the script manually from a console session.
The script I provided will do everything the UI installation will, only it will let you manually change the values you can not otherwise change. A good method could be to copy the script you attached a screen shot of, edit the port value, manually run the script via console. This will create the instance with the desired port value.