Enabling Tentacle failed

Octopus deployment fails during processing the extension OctopusdeploywindowsTentacle. We have set up the extension in Azure.

Please find the error message below and also logs attached for reference :

Error : {“code”:“DeploymentFailed”,“message”:“At least one resource deployment operation failed.
Please list deployment operations for details. Please see Deployment history - Azure Resource Manager | Microsoft Learn
for usage details.”,“details”:[{“code”:“VMExtensionProvisioningError”,“message”:"VM has reported
a failure when processing extension ‘OctopusDeployWindowsTentacle’. Error message: "Enabling
Tentacle failed. Failed to register Tentacle."\r\n\r\nMore information on troubleshooting is
available at Azure VM extensions and features for Windows - Azure Virtual Machines | Microsoft Learn "}]}
OctopusAzureVmExtension-20221028_log.txt (42.7 KB)

Hi @nsidsri,

I’m sorry to hear that you are having trouble configuring the AzureVMExtension. Thank you for providing your logs as well.

In case you may have missed it on our documentation pages - The use of AzureVMExtension has been deprecated for awhile now. Due to that, I will not be able to help too much with the troubleshooting of the AzureVMExtension but I’d be more than happy to help you with any issues you might hit, when migrating across to the recommended solution of DSC.

This Blog could also be quite helpful.

If you are still keen on getting your tentacle installed via the AzureVMExtension - you could see if the troubleshooting documentation provides some relevant information.

Let me know how you go, and feel free to reach out if you have any more questions or need some guidance with DSC or another solution.


That a very quick turn around Dane :slight_smile:

I did go through the blog you gave me and installing the “Octopus Deploy Tentacle agent” via the Azure extension seems to be easy. Let me try it from my end and request for help if required.

Just to clarify this new Octopus Deploy Tentacle agent is a replacement of “OctopusDeployWindowsTentacle” correct ?

Hi @nsidsri,

Getting a tentacle installed on a VM (or physical endpoint) can happen in a lot of different ways. It all depends on your ecosystem and what you feel comfortable using.

Just to clarify this new Octopus Deploy Tentacle agent is a replacement of “OctopusDeployWindowsTentacle” correct ?

Essentially yes, however I believe the VM extension was it’s own thing, and lacked some customization options, that the current Tentacle installation contains, which you would get from a DSC install.

If you were only targeting a single endpoint and you didn’t want to dig into configuring DSC, you could achieve a similar outcome by downloading and installing the tentacle directly. You wouldn’t have the protection that Desired States offer - but you would have the same tentacle.

We also have this guide on automating your tentacle installation, if you were rolling it out to a fleet of targets.

I know I’ve probably over-analysed the question - but I’ll throw one more link your way. If you weren’t dead set on using Azure VMs but still wanted to use the Azure ecosystem, you could do some reading on the other Azure services we integrate with.

Happy Deployments,

Thank you very much for all the inputs Dane. We are going with the DSC option .

In our current setup we are having our ARM Template in a Zip file and it is located in the library of the octopus. When the pipeline runs it uses the file present in library and creates the VM along with the tentacle in Azure.

We have now added the OctopusTentacle zip folder as recommended in the document and we have added the custom ARM template into our build json file. “Pasted below” . Just wanted to know what needs to replaced in the link which is under configuration ?

→ url**“: "https://myfilehost.example.comctopusTentacle.zip”,**

“type”: “Microsoft.Compute/virtualMachines/extensions”,
“name”: “[concat(variables(‘vmName’),‘/dscExtension’)]”,
“apiVersion”: “2021-04-01”,
“location”: “[resourceGroup().location]”,
“dependsOn”: [
“[concat(‘Microsoft.Compute/virtualMachines/’, variables(‘vmName’))]”
“properties”: {
“publisher”: “Microsoft.Powershell”,
“type”: “DSC”,
“typeHandlerVersion”: “2.77”,
“autoUpgradeMinorVersion”: true,
“forceUpdateTag”: “2”,
“settings”: {
“configuration”: {
url**“: "https://myfilehost.example.comctopusTentacle.zip”,**
“script”: “OctopusTentacle.ps1”,
“function”: “OctopusTentacle”
“configurationArguments”: {
“ApiKey”: “[parameters(‘tentacleApiKey’)]”,
“OctopusServerUrl”: “[parameters(‘tentacleOctopusServerUrl’)]”,
“Environments”: “[parameters(‘tentacleEnvironments’)]”,
“Roles”: “[parameters(‘tentacleRoles’)]”,
“ServerPort”: “[parameters(‘tentaclePort’)]”
“protectedSettings”: null

Hi @nsidsri,

I’m just stepping in for Dane as he’s offline for the day.

After looking into this a bit, I do not believe you will be able to use the Octopus server as the location for your .zip package. The doc mentions below that the package needs to be in a public location, or a private location that can be shared with the VM via a SAS token.

Upload the zip file to a location accessible during VM provisioning. You can either use a public location, or a private location protected with a SAS token.

The Octopus package repo is not publicly available and would require authentication with an API key which won’t work in this application. You could use an Azure Storage Account to host the package and use a private endpoint that the VM has access to in your ARM template.

Please let me know if this helps or if you have any other questions for us.


1 Like

Hi Dan/Dane

We are in the process of creating a Azure Storage Account and proceeding with the step, just wanted to know that our Octopus expired recently, will that be a blocker to install the Octopus extension ? Please advice.


Hi @nsidsri

The Tentacle can be installed without any callbacks to the Octopus Server, so you should be able to install it without issue.


Thank you Dane


This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.