Linux Deployment Target Not Registering

I am experiencing issues attempting to register new Linux polling deployment targets.

Background

We have several existing Linux polling agents in a AWS VPC subnet with identical networking setup, so I am confident that the networking / infrastructure is set up correctly.

Attempted Setup

In order to create a tentacle I am running the following script based on the documentation

curl https://rpm.octopus.com/tentacle.repo -o /etc/yum.repos.d/tentacle.repo
yum install tentacle

/opt/octopus/tentacle/Tentacle create-instance --config /etc/octopus/default/tentacle-default.config
/opt/octopus/tentacle/Tentacle new-certificate --if-blank
/opt/octopus/tentacle/Tentacle configure --noListen True --reset-trust --app /home/Octopus/Applications/
echo "Registering the Tentacle $name with server $serverUrl in environment $environment with role $role"
/opt/octopus/tentacle/Tentacle register-with --server https://*****.octopus.app --apiKey **** --space **** --env Dev --role autocreated --comms-style TentacleActive --server-comms-port 10943
/opt/octopus/tentacle/Tentacle service --install --start

Which results in the following output

Creating empty configuration file: /etc/octopus/default/tentacle-default.config
Setting home directory to: /etc/octopus/default
Saving instance: Tentacle
A new certificate has been generated and installed. Thumbprint:
****
These changes require a restart of the Tentacle.
Removing all trusted Octopus Servers...
Tentacle will not listen on a port
Application directory set to: /home/Octopus/Applications/
These changes require a restart of the Tentacle.
Registering the Tentacle *** with server https://****.octopus.app in environment Dev with role autocreated
Checking connectivity on the server communications port 10943...
Connected successfully
Registering the tentacle with the server at https://****.octopus.app/
Detected automation environment: NoneOrUnknown
Machine registered successfully

Results

After running this I am able to see the machine register in the Octopus Deployment targets. However, its health is Unknown for about 5 minutes before changing to Unhealthy.

Looking at the service on the machine running
sudo systemctl
gives me

 Tentacle.service                                                          loaded failed failed    Octopus Deploy: Tentacle deployment agent

Digging in farther I run
journalctl -u Tentacle.service -b
and get

Jun 08 17:52:19 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Started Octopus Deploy: Tentacle deployment agent.
Jun 08 17:52:19 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Starting Octopus Deploy: Tentacle deployment agent...
Jun 08 17:52:20 ip-10-0-1-234.us-west-1.compute.internal Tentacle[6958]: Instance "Tentacle" of Tentacle has not been configured on this machine. Available instances: Tentacle.
Jun 08 17:52:20 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service: main process exited, code=exited, status=1/FAILURE
Jun 08 17:52:20 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Unit Tentacle.service entered failed state.
Jun 08 17:52:20 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service failed.
Jun 08 17:52:20 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service holdoff time over, scheduling restart.
Jun 08 17:52:20 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Started Octopus Deploy: Tentacle deployment agent.
Jun 08 17:52:20 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Starting Octopus Deploy: Tentacle deployment agent...
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal Tentacle[6971]: Instance "Tentacle" of Tentacle has not been configured on this machine. Available instances: Tentacle.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service: main process exited, code=exited, status=1/FAILURE
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Unit Tentacle.service entered failed state.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service failed.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service holdoff time over, scheduling restart.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Started Octopus Deploy: Tentacle deployment agent.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Starting Octopus Deploy: Tentacle deployment agent...
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal Tentacle[6984]: Instance "Tentacle" of Tentacle has not been configured on this machine. Available instances: Tentacle.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service: main process exited, code=exited, status=1/FAILURE
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Unit Tentacle.service entered failed state.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service failed.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service holdoff time over, scheduling restart.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Started Octopus Deploy: Tentacle deployment agent.
Jun 08 17:52:21 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Starting Octopus Deploy: Tentacle deployment agent...
Jun 08 17:52:22 ip-10-0-1-234.us-west-1.compute.internal Tentacle[6997]: Instance "Tentacle" of Tentacle has not been configured on this machine. Available instances: Tentacle.
Jun 08 17:52:22 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service: main process exited, code=exited, status=1/FAILURE
Jun 08 17:52:22 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Unit Tentacle.service entered failed state.
Jun 08 17:52:22 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service failed.
Jun 08 17:52:22 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service holdoff time over, scheduling restart.
Jun 08 17:52:22 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Started Octopus Deploy: Tentacle deployment agent.
Jun 08 17:52:22 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Starting Octopus Deploy: Tentacle deployment agent...
Jun 08 17:52:23 ip-10-0-1-234.us-west-1.compute.internal Tentacle[7010]: Instance "Tentacle" of Tentacle has not been configured on this machine. Available instances: Tentacle.
Jun 08 17:52:23 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service: main process exited, code=exited, status=1/FAILURE
Jun 08 17:52:23 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Unit Tentacle.service entered failed state.
Jun 08 17:52:23 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service failed.
Jun 08 17:52:23 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service holdoff time over, scheduling restart.
Jun 08 17:52:23 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: start request repeated too quickly for Tentacle.service
Jun 08 17:52:23 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Failed to start Octopus Deploy: Tentacle deployment agent.
Jun 08 17:52:23 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Unit Tentacle.service entered failed state.
Jun 08 17:52:23 ip-10-0-1-234.us-west-1.compute.internal systemd[1]: Tentacle.service failed.

I have tried this same process, both using this setup script and the interactive
/opt/octopus/tentacle/configure-tentacle.sh script with no luck. Any help would be greatly appreciated.

Hi @augie.doebling !

Thanks for reaching out, and sorry to hear that you’re having issues with your Linux tentacle. We’ve recently uncovered a bug that is impacting some RHEL-based distributions (RHEL/CentOS/AmazonLinux2 etc) when it comes to the systemd unit file. You can find all of the details here: Linux tentacle systemd service fails to start on some Linux distributions · Issue #6911 · OctopusDeploy/Issues · GitHub

To work around this for now, you will just need to edit your unit file /etc/systemd/system/Tentacle.service and remove the quotation marks around the instance name in the ExecStart line:

ExecStart="/opt/octopus/tentacle/Tentacle" run --instance="Tentacle" --noninteractive
--To--
ExecStart="/opt/octopus/tentacle/Tentacle" run --instance=Tentacle --noninteractive

I hope this helps get you unstuck for now! Please let me know if you have any further questions.

1 Like