microsoft / vscode-remote-release

Visual Studio Code Remote Development: Open any folder in WSL, in a Docker container, or on a remote machine using SSH and take advantage of VS Code's full feature set.
https://aka.ms/vscode-remote
Other
3.67k stars 289 forks source link

dev container issue: Is it possible to set "fetch control manifest" as optional ? #8808

Open tymaoa opened 1 year ago

tymaoa commented 1 year ago

I work in an air-gap environment, so it will hang up to 4 mins everytime I reopen or rebuild the container:

Failed to fetch control manifest: connect ETIMEDOUT 185.199.111.153:443

Is it possible to skip this step?

gaotongsh commented 11 months ago

We have the same issue. Adding this option would really improve the start of my day.

chrmarti commented 11 months ago

I guess your network is dropping the connection attempt, the connecting would hang up much faster if your network (a firewall?) would explicitly reject the connection. Have you looked into that?

A setting in VS Code also makes sense.

nathanneibauer commented 10 months ago

I am running into this issue as well. Does anyone have any workarounds for the time being?

vially commented 10 months ago

The current workaround that I have settled on is changing the modified date of the cached control manifest prior to starting the devcontainer. This relies on the fact that the current implementation skips downloading the manifest if it's been modified less than 5 minutes ago.

$ touch /tmp/devcontainercli-$USER/control-manifest.json

And, if you want to go the extra mile, you can put this in a systemd-timer or cron-job to avoid having to manually run this command before starting a devcontainer.

gaotongsh commented 10 months ago

My workaround is what the contributor said.

the connecting would hang up much faster if your network (a firewall?) would explicitly reject the connection

I contacted my network admin and they rejected all requests to containers.dev instead of dropping them. Now I no longer encounter such long waits.

liftchampion commented 1 month ago

Looking forward to customizable timeout too. Have same error:

[7515 ms] userEnvProbe is taking longer than 2 seconds. Process not found.
[7978 ms] Stop (3516 ms): Run: docker buildx version
[7980 ms] github.com/docker/buildx 0.12.1 0.12.1-0ubuntu2.1
[7980 ms] 
[7981 ms] Start: Run: docker -v
[8016 ms] Stop (35 ms): Run: docker -v
[8017 ms] Start: Resolving Remote
[8027 ms] Start: Run: git rev-parse --show-cdup
[8035 ms] Stop (8 ms): Run: git rev-parse --show-cdup
[144217 ms] Failed to fetch control manifest: 
[144223 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=/home/titov_g/monorepo --filter label=devcontainer.config_file=/home/titov_g/monorepo/.devcontainer/devcontainer.json
But as you can see i haven't got an error type.

I'm not sure does this problem cause hang, but I don't see other slow tasks.

liftchampion commented 1 month ago

@vially what do you think about adding 127.0.0.1 containers.dev to /etc/hosts? Worked for me.

vially commented 1 month ago

@vially what do you think about adding 127.0.0.1 containers.dev to /etc/hosts? Worked for me.

Sure, that works too (although it requires root access which may not always be available).