Install Tentacle in polling mode - authentication issue

We did not change any of the auth providers, and unless a new one is automatically enabled we should only have Active Directory enabled as an auth provider.

James

roydan29.jpg

Hi James,

Thank you for that extra information. We’ve confirmed that the problem also exists with just AD Authentication turned on. We are working on it, but it will not be in the next release.

A work around would be to enable forms authentication (see http://docs.octopusdeploy.com/display/OD/Active+Directory+authentication) for a brief period while the registering. Once registered the tentacle does not use the supplied credentials again.

However the registration from the command line using the API key should work. Could you send me the command line you are using and the output you see?

Robert W

Certainly. I am using the following command lines (I am copy/pasting them manually, these are not in a runnable script), taken pretty much directly off the Polling Tentacle example given on the Automating Tentacle Installation page:

cd "C:\Program Files\Octopus Deploy\Tentacle"
 
Tentacle.exe create-instance --instance "Tentacle" --config "C:\Octopus\Tentacle.config" --console
Tentacle.exe new-certificate --instance "Tentacle" --if-blank --console
Tentacle.exe configure --instance "Tentacle" --reset-trust --console
Tentacle.exe configure --instance "Tentacle" --home "C:\Octopus" --app "C:\Octopus\Applications" --port "10933" --noListen "True" --console
Tentacle.exe register-with --instance "Tentacle" --server "http://octopus.[domain].com" --name "TEST" --apiKey "API-[key]" --comms-style "TentacleActive" --server-comms-port "10943" --force --environment "Development" --role "Test" --console

And the tentacle logs show:

2016-11-23 09:21:46.0639      1  INFO  Checking connectivity on the server communications port 10943...
2016-11-23 09:21:48.6668      1 ERROR  ===============================================================================
2016-11-23 09:21:48.6668      1 FATAL  Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
   at Octopus.Client.UrlTemplate.Resolve()
   at Octopus.Client.UrlTemplate.Resolve(String templateSpec, IDictionary`2 parameters)
   at Octopus.Client.OctopusAsyncClient.QualifyUri(String path, Object parameters)
   at Octopus.Client.OctopusAsyncClient.<Get>d__22`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Octopus.Client.OctopusAsyncClient.<Create>d__29`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Octopus.Client.Operations.RegisterMachineOperation.<ExecuteAsync>d__59.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Octopus.Tentacle.Commands.RegisterMachineCommand.<StartAsync>d__18.MoveNext() in C:\buildagent\work\cd33152532ae115f\source\Octopus.Tentacle\Commands\RegisterMachineCommand.cs:line 129
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Octopus.Tentacle.Commands.RegisterMachineCommand.Start() in C:\buildagent\work\cd33152532ae115f\source\Octopus.Tentacle\Commands\RegisterMachineCommand.cs:line 67
   at Octopus.Shared.Startup.AbstractCommand.Octopus.Shared.Startup.ICommand.Start(String[] commandLineArguments, ICommandRuntime commandRuntime, OptionSet commonOptions) in C:\buildagent\work\cd33152532ae115f\source\Octopus.Shared\Startup\AbstractCommand.cs:line 61
   at Octopus.Shared.Startup.OctopusProgram.Start(ICommandRuntime commandRuntime) in C:\buildagent\work\cd33152532ae115f\source\Octopus.Shared\Startup\OctopusProgram.cs:line 231
   at Octopus.Shared.Startup.ConsoleHost.Run(Action`1 start, Action shutdown) in C:\buildagent\work\cd33152532ae115f\source\Octopus.Shared\Startup\ConsoleHost.cs:line 77
   at Octopus.Shared.Startup.OctopusProgram.Run() in C:\buildagent\work\cd33152532ae115f\source\Octopus.Shared\Startup\OctopusProgram.cs:line 116

Interestingly enough, after letting it sit for a while and trying again with the Tentacle UI, I was able to get it to connect, so it seems to be a hit-or-miss type error. I did not check the command line again to see if it was still erroring out.

Hi James,

Thank you for that extra info. I wasn’t able to reproduce the error, but it’s good to hear it eventually worked for you. If you encounter it again, please let us know and we will look into it further. The next version of Tentacle (3.5.5) should output a better error message that may help us.

Regards,

Robert W