Octopus ARM template re-run fails after octopus server upgrades the tentacle

Hey
I’m having trouble updating a VM with an ARM template in azure. I successfully installed the VM to start with but when I tried to re-deploy the template to update some settings it failed with the following:

Handler ‘OctopusDeploy.Tentacle.OctopusDeployWindowsTentacle’ has
reported failure for VM Extension ‘OctopusDeployWindowsTentacle’ with terminal error code ‘1008’ and error message:
'Update failed for plugin

I noticed that when the tentacle first registered with our Octo server it updated it to the latest version, so I suspect that this issue is because it cant downgrade the tentacle to the version in the arm template. But im not sure how to fix.

Template:

{
        "name": "OctopusDeploy.OctopusDeployWindowsTentacle-20170525165211",
        "apiVersion": "2015-01-01",
        "type": "Microsoft.Resources/deployments",
        "properties": {
            "mode": "incremental",
            "templateLink": {
                "uri": "https://gallery.azure.com/artifact/20161101/OctopusDeploy.OctopusDeployWindowsTentacle-arm.1.0.0/Artifacts/MainTemplate.json"
            },
            "parameters": {
                "octopusServerUrl": {
                    "value": "qq.con"
                },
                "apiKey": {
                    "value": "[parameters('octopusApiKey')]"
                },
                "environments": {
                    "value": "EnvSomething"
                },
                "roles": {
                    "value": "Monitor"
                },
                "communicationMode": {
                    "value": "Listen"
                },
                "port": {
                    "value": 10933
                },
                "vmName": {
                    "value": "a-name"
                },
                "location": {
                    "value": "westus"
                }
            }
        }
    }

Hi Luke

Thanks for getting in touch!

It should work the way you expect - it appears to have had an issue updating the extension. The extension always uses the latest available Tentacle, so the Tentacle upgrade shouldn’t be an issue.

The extension logs a lot of information - can you please send us a copy of the log files and we’ll be able to investigate.

Look forward to getting to the bottom of this.

Regards,
Matt

Hey Matt,
I changed the apiVersion and added some dependencies in the octo config and it doesn’t seem to have errored again since on upgrade which is good.

Its still installing an old version of the tentacle however (which then gets upgraded by the octo server on first deploy). My Octo server is running 3.3.27.

I’ve seen in some examples with this:

  "typeHandlerVersion": "2.0"

So i tried setting it to 3.0 to match our octo version (i assume this is what it does) but that errors saying it cant be found.

Probably not super important as it self-heals but if you have any suggestions that would be great

Thanks

Hi Luke

That version is the version number of the VM Extension, not the Tentacle, so it should be left as 2.0.

Regarding the apiVersion - I’m told that it should be set to the latest version available, which as far as I can tell is 2017-05-10.

I have found that dependencies are super important with ARM Template deployments, so it sounds like this has solved the issue.

I’d be interested in seeing what version it installs, and what version it upgrades to. It should be downloading the latest from the Octopus website, rather than your server, so it shouldn’t have anything to upgrade to?

As a side note, we’ve made a large number of changes since 3.3.27, with a lot of goodness added. I’d highly recommend upgrading to a more recent version.

Regards,
Matt