HTTP server could not start because namespace reservations have not been made

Hello
Doing test upgrade from 2.6.5.1010 to 3.0.11.2328 - both x64
Tentacles all updated fine.
Server updates fine and loads backup RavenDB to new MS SQL db fine
Restore is run as me logged in. I have temporary DBO access to the database.
Set to run OctopusDeploy Servcie as a domain service account that has dbo access and modify access to the drive:\Octopus folder.

Bindings set to http://machinename.domain.com:8085/
This is the port the 2.6 instance had run on.

Logs keep giving me this no matter what I do.
System.Exception: The HTTP server could not start because namespace reservations have not been made. Ensure that the current user has access to listen on these prefixes by running the following command(s):
netsh http add urlacl url=http://+:8085/ user=DOMAIN\service_acct

I have run
netsh http delete urlacl url=http://+:8085/
netsh http add urlacl url=http://+:8085/ user=PHIBRED\octo_qa

and both execute fine. But no change to behavior of starting the host service.

Anyone found a fix to this?
thanks

An extra piece of info.
The service account only as this access

Log on as service
Modify rights to octopus data folders.

Hi Marc,

Thanks for getting in touch and thanks for the detailed post. I’ve been able to reproduce the issue to some extent. I create a new Octopus 3.0.x instance and configured it to use a service account. The Octopus Server failed to start until I ran the netsh http add command provide in the server log.

Did you run your Octopus 2.6 instance with a service account? Did you have any issues with it? Can you try running netsh http show urlacl to ensure the netsh http delete worked and there aren’t any other reservations on that port?

I’ll keep investigating and I’ll let you know what I find. Looking forward to your reply!

Thanks

Rob

Hello Rob

in 2.6 we ran as local system not a domain account since it was all local.

ran netsh http show urlacl and indeed only the one entry is there for port 8085 which is the only binding I have setup. I’d include the output but would rather not send out NT SIDs :slight_smile:
here’s the relevant.
Reserved URL : http://+:8085/ User: MYDOMAIN\SERVICE_USER Listen: Yes Delegate: No SDDL: D:(A;;GX;;;S-1-5-21-0000000000...)

Running the delete command does indeed remove the entry as well.

Also…
For the QA instance I am a local admin on the box as well as dbo on the database. I ran the service as myself and it runs but I get unavailable in the browser.
Service Unavailable HTTP Error 503. The service is unavailable.

while the log shows
2015-08-11 09:26:37.1708 6 INFO Browse your Octopus server at: http://localhost:8085/ 2015-08-11 09:26:37.5243 6 INFO The Octopus server is starting: Initializing database and performing migrations... 2015-08-11 09:26:38.1962 6 INFO Beginning database upgrade 2015-08-11 09:26:38.1962 6 INFO Fetching list of already executed scripts. 2015-08-11 09:26:38.2431 6 INFO No new scripts need to be executed - completing. 2015-08-11 09:26:39.1005 6 INFO The Octopus server is starting: Starting message distributor... 2015-08-11 09:26:39.5986 6 INFO listen://0.0.0.0:10943/ 6 Listener started 2015-08-11 09:26:39.7080 6 INFO The Octopus server is starting: Starting task scheduler... 2015-08-11 09:26:39.9844 6 INFO The Octopus server is starting: Starting task queue... 2015-08-11 09:26:40.0097 6 INFO Web server is ready to process requests 2015-08-11 09:26:40.0097 6 INFO The Windows Service has started 2015-08-11 09:26:40.0097 6 INFO Octopus.Server version: 3.0.11 / 47d4d4e1/refs/heads/master 2015-08-11 09:27:12.5549 16 INFO https://MACHINE.DOMAIN:10933/ 16 Opening a new connection 2015-08-11 09:27:12.5647 16 INFO https://MACHINE.DOMAIN:10933/ 16 Performing SSL (TLS 1.0) handshake 2015-08-11 09:27:13.0686 16 INFO https://MACHINE.DOMAIN:10933/ 16 Secure connection established. Server at IP_REMOVED:10933 identified by thumbprint: XXXXXXXXXXXXXXXXXXXXX

And when I switch back to the service account I again get this first thing in the log upon startup.
2015-08-11 13:30:53.8761 6 FATAL The HTTP server could not start because namespace reservations have not been made. Ensure that the current user has access to listen on these prefixes by running the following command(s): netsh http add urlacl url=http://+:8085/ user=DOMAIN\SERVICE_ACCOUNT

So there’s obviously a permissions issue as part of it.

More info - I installed the application while logged in with my user account. Again a member of local administrators.
Installed over the 2.6 copy that was already on the server.

Thanks. Hope you have some more ideas :slight_smile:
My next option is to uninstall from this machine and re-install clean.

marc

OK

So a complete backup of Octopus then a FULL removal of the existing instance and uninstall of the octopus server.

Then do a new/clean install of 3 (which asks for the user credentials (if running as a user) you want to run the service as during install). Then a restore of the backups.

This is a better option than the documentation of installing over the existing instance I think. And appears to work just fine. Although my user account lost admin access in the process. Working on fixing that but very weird.

marc

Figured out the access change. integrated login is noticing me a a different user since we’ve migrated domains (internally structure change). Logged in as old domain and all is good.

Hi Marc,

Thanks for the replies! It’s great to hear you got it working and thanks for sharing your experience. I’m going to review our documentation based on your feedback as I think you’ve raised some good points.

Happy deploying!
Rob