Scripts folders and some dlls disappeared from the tentacle folder

All our deployments on a couple of servers started to fail throwing this error:

Could not find a part of the path ‘D:\Octopus\Applications.SQ-xxxxxx\Octopus.Tentacle\2.6.5.1010\Scripts’.
System.IO.DirectoryNotFoundException: Could not find a part of the path ‘D:\Octopus\Applications.SQ-xxxxxx\Octopus.Tentacle\2.6.5.1010\Scripts’.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator1.CommonInit() at System.IO.FileSystemEnumerableIterator1…ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler1 resultHandler, Boolean checkHost) at System.IO.Directory.EnumerateFiles(String path, String searchPattern, SearchOption searchOption) at System.Linq.Enumerable.<SelectManyIterator>d__142.MoveNext()
at System.Linq.Buffer1..ctor(IEnumerable1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Octopus.Tentacle.Deployment.Conventions.Implementations.FeatureScripts.FeatureScriptsConvention.FindScriptsUnderSearchPaths(ConventionContext context) in y:\work\refs\heads\master\source\Octopus.Tentacle\Deployment\Conventions\Implementations\FeatureScripts\FeatureScriptsConvention.cs:line 36
at Octopus.Tentacle.Deployment.Conventions.Implementations.ScriptConvention.GetExecutionPlan(ConventionContext context) in y:\work\refs\heads\master\source\Octopus.Tentacle\Deployment\Conventions\Implementations\ScriptConvention.cs:line 24
at Octopus.Tentacle.Orchestration.Deploy.Package.TentaclePackageDeployment.StartNextProcedure(Boolean reevaluate) in y:\work\refs\heads\master\source\Octopus.Tentacle\Orchestration\Deploy\Package\TentaclePackageDeployment.cs:line 267
at Octopus.Tentacle.Orchestration.Deploy.Package.TentaclePackageDeployment.ExecuteDeployment() in y:\work\refs\heads\master\source\Octopus.Tentacle\Orchestration\Deploy\Package\TentaclePackageDeployment.cs:line 251
at Octopus.Tentacle.Orchestration.Deploy.Package.TentaclePackageDeployment.Receive(AcquiredEvent message) in y:\work\refs\heads\master\source\Octopus.Tentacle\Orchestration\Deploy\Package\TentaclePackageDeployment.cs:line 138
at Pipefish.Actor.OnReceivingTyped[TBody](Message message) in y:\work\3cbe05672d69a231\source\Pipefish\Actor.cs:line 113
Tentacle version 2.6.5.1010

I do not think anybody removed them from that folder. Many dlls from D:\Octopus\Applications.SQ-xxxxxx\Octopus.Tentacle\2.6.5.1010\ were missing too.

We manually copied those files/folders from another tentacle and deployments were Ok. Re-installing the agent did not create those missing files. Health check was OK.

Hi!

Thanks for getting in touch. We don’t actually have any process that will delete files from the Tentacle program folder in Octopus 2.6, so I’m not sure what made those files disappear.

In this case the best option is to copy the files from another Tentacle just like you did - there should be no adverse effects in doing this.

The reason why reinstalling didn’t help much in this circumstance is due to the way we automatically updated Tentacle in 2.x. In 3.x we have moved to a much more robust method which actually uninstalls/reinstalls the MSI - so it’s a more repeatable process.

Are you thinking of upgrading to 3.x any time soon?

Hope that helps!
Mike

Thanks. We fixed it by copying the files. But thought it would be interesting to know why this has happened. Octo.3 is on the roadmap of course.

Hi!

Thanks for getting back to me. Unfortunately I can’t shed any light on why files in that folder were partially deleted - I’d like to know also!

I’m glad to hear you’re considering 3.x, I’ve personally found it to be a wonderful improvement over 2.x.

In the meantime don’t hesitate to reach out for help.

Happy Deployments!
Mike