Issue while connecting to AzureDevOps Artifacts using External Feeds

unknown
cloud
reliability
(Ashish) #1

I started getting the following error after octopus cloud got migrated to new infra structure when trying to fetch nuget package from azuredevops server artifacts.

Unable to load the service index for source http://***********:8080/tfs/DefaultCollection/_packaging/Enterprise/nuget/v3/index.json. GSSAPI operation failed with error - An invalid status code was supplied (Unknown error).

The same was working before the migration. I also check the credentials all looks fine.

When I google the error message I found the following 2 links which complaining about Linux container issue.

https://developercommunity.visualstudio.com/content/problem/642503/dotnet-restore-in-build-pipeline-on-centos-build-s.html

https://developercommunity.visualstudio.com/content/problem/711941/azure-artifacts-nuget-feed-gives-error-during-rest.html

Now I am stuck from 2 day unable to do deployments please help me.

Thanks,
Ashish

(Paul Calvert) #2

Hi Ashish,

Thanks for getting in touch!

Have you tried the solution suggested in the links you provided?

Looks like it’s trying to use NTLM authentication, which (unless special configuration is done on linux) won’t work. I don’t know this exact error (the NuGet project on GitHub may be able to provide better guidance), but you should be able to solve the issue by preventing NuGet from attempting NTLM authentication.

To do so, you’ll want to set in your packageSourceCredentials entry in your nuget.config. An example is at https://blog.mjjames.co.uk/2019/06/dotnet-cli-private-nuget-feeds-and-linux.html (note: non-microsoft site).
e.g.

If you still need NTLM on Windows (which is probably likely), you may need to add this to a different nuget.config such as the user or computer-level config - see https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior#nuget-defaults-file for details.

Regards,
Paul

(Ashish) #3

Hi Paul,

I am getting this error when I am using octopus cloud to connect to the azure devops artifacts using external feed. There is no option in octopus cloud to change the setting.

But this used to work perfectly a week ago. I already check out TFS server setting and nothing has changed since last week so I am sure there is something not configured properly on the octopus cloud server. Can you please check this once.

Thanks,
Ashish

(Paul Calvert) #4

Hi Ashish,

I’ve raised this with our cloud engineers to take a look at, however, the fix you linked to looks like something that is applied to the NuGet feed itself, so may be something that you could try?

Regards,
Paul

(Ashish) #5

Hi Paul,

Thanks for the help. I am in a process to get approval from our infra team to see if I can change the setting on the TFS server but to get this done I will have to give them a reason why we need this change. Also changing this will take a bit of time as we will have to make sure non of our other service should face issues with the new settings.

Thanks,
Ashish

(Paul Calvert) #6

As a quick test I’ve pointed my test cloud instance against my Azure DevOps Feed, authenticating with a personal access token, and this connects without issue.

Are you using hosted version of Azure DevOps or a local install?
What authentication method is being used to connect to the feed?

(Ashish) #8

Yes we have a onprem hosted Azure server. I am using User name and password. Can you please provide me steps to use PAT and I can try that.

Thanks,
Ashish

(Paul Calvert) #9

The steps I followed for the PAT are here: https://octopus.com/docs/packaging-applications/package-repositories/tfs-azure-devops#connect-octopus-to-an-azure-devops-package-feed

I’ve just tested this using an on-prem Azure DevOps setup and having issues getting it to authenticate, so it may only work for Cloud.

This would explain the issue you’re encountering though, the username/password is likely needing to use NTLM auth, which our containers may not have. So hopefully that fix will get it working for you again.

(Ashish) #10

Hi Paul,

I tried the above and I am also getting authentication issue.

Unable to load the service index for source http://**********:8080/tfs/DefaultCollection/_packaging/Enterprise/nuget/v3/index.json. NTLM authentication is not possible with default credentials on this platform.

My external feed setting already had user name and password which was being used to authenticate succussfully but that is also throwing error.

I am waiting for infra team to update the server setting so I can try this once. But mean while can you check with your cloud specialist team to see if there is any work around.

Thanks,
Ashish