projectkudu / kudu

Kudu is the engine behind git/hg deployments, WebJobs, and various other features in Azure Web Sites. It can also run outside of Azure.
Apache License 2.0
3.12k stars 654 forks source link

Public submodules that use ssh don't work #408

Closed davidebbo closed 4 months ago

davidebbo commented 11 years ago

Repro:

Result: it fails with:

Host key verification failed.
fatal: The remote end hung up unexpectedly
Clone of 'git@github.com:KuduApps/HelloKudu.git' into submodule path 'HelloKudu' failed
davidebbo commented 11 years ago

The likely problem is that when the main repo is public, we don't generate and ssh key, so ssh can't be used to clone the submodule, even though the submodule is public.

We could fix this by always generating a key.

davidebbo commented 11 years ago

Relates to #185.

pranavkm commented 11 years ago

Fixed in 7f729e93ca29522e04837bd058751bbcf4b2f466

davidebbo commented 11 years ago

I tried the exact scenario in the bug and it still doesn't work. Does it work for you?

fashaikh commented 11 years ago

I'm getting this, 10 minutes after the "Updating submodules." step :

D:\temp\KuduApps\RepoWithPublicSubModuleSsh>git push kudu master
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 591 bytes, done.
Total 6 (delta 0), reused 0 (delta 0)
remote: Updating branch 'master'.
remote: Updating submodules.
remote: Error - Changes committed to remote repository but your website not updated.
remote:
remote: Unhandled Exception: Kudu.Core.Infrastructure.CommandLineException: Process 'git.exe' aborted due to idle timeout.
remote: C:\Program Files (x86)\Git\bin\git.exe submodule update --init --recursive
remote:    at Kudu.Core.Infrastructure.Executable.IdleManager.WaitForExit(Process process) in d:\projectkudu\kudu\Kudu.Core\Infrastructure\Executable.cs:line 45
remote:
remote:    at Kudu.Core.Infrastructure.Executable.Execute(ITracer tracer, String arguments, Object[] args) in d:\projectkudu\kudu\Kudu.Core\Infrastructure\Execu
remote: :line 110
remote:    at Kudu.Core.SourceControl.Git.GitExeRepository.UpdateSubmodules() in d:\projectkudu\kudu\Kudu.Core\SourceControl\Git\GitExeRepository.cs:line 279
remote:    at Kudu.Core.Deployment.DeploymentManager.Deploy(IRepository repository, ChangeSet changeSet, String deployer, Boolean clean) in d:\projectkudu\kudu\
remote: e\Deployment\DeploymentManager.cs:line 234
remote:    at Kudu.Console.Program.Main(String[] args)
davidebbo commented 11 years ago

That's because the current fix doesn't work for 'git push'. @pranavkm has an update.

pranavkm commented 11 years ago

Backed out code in 93cfc421ea7155a3aebbc40021a1242aa7184e80. All we have now are ways to manage keys

pranavkm commented 11 years ago

Nevermind. Tracking this for S22 to see if we have an alternate way of doing this

jvano commented 4 months ago

Hi

Kudu will continue to run in Azure App Service. However, this repo will no longer be maintained. If the problem persists and is related to running on Azure App Service, please open a support incident in Azure: https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request

This way we can better track and assist you on this case

Thanks,

Joaquin Vano Azure App Service