Visual Studio 2017 build environment unable to switch to Docker Linux containers

calvin's Avatar

calvin

23 Jan, 2019 09:50 AM

Using the PowerShell command Switch-DockerLinux in the Visual Studio 2017 was working fine until today, with a message No activity detected on VM, aborting shown in the log. When I tried to RDP into the build environment, switching to Linux containers using Docker's GUI fails as well, with the screenshot attached.

  1. Support Staff 1 Posted by Feodor Fitsner on 23 Jan, 2019 07:01 PM

    Feodor Fitsner's Avatar

    Hi Calvin,

    We changed affinity of your builds to a cloud that should be working. Please give it another try and let us know if that worked.

  2. 2 Posted by calvin on 24 Jan, 2019 04:13 AM

    calvin's Avatar

    thanks, it works now.

  3. calvin closed this discussion on 27 Feb, 2019 10:36 AM.

  4. calvin re-opened this discussion on 27 Apr, 2019 03:13 PM

  5. 3 Posted by calvin on 27 Apr, 2019 03:13 PM

    calvin's Avatar
  6. Support Staff 4 Posted by Ilya Finkelshte... on 28 Apr, 2019 03:16 AM

    Ilya Finkelshteyn's Avatar

    We introduced new Azure VM based Windows Server 2019 image specifically for those cases. Please check usage sample here. It is basically the same, just shared drive is now D:, not X:.

    We discontinue support of Docker for Windows in Windows Server 2017 image because it keeps failing when we apply Windows updates to the Hyper-V host machines and VMs. We updated all customers using it over email and it seems that we missed you. Sorry for that.

    Windows Server 2019 image is enabled for you, please give it a try.

  7. 5 Posted by calvin on 29 Apr, 2019 08:33 PM

    calvin's Avatar

    Hi, thanks for the update.

    For the Windows Server 2019 image, we realized that if a docker machine (Digital Ocean) is created, the output from the machine stops/hangs after a period of time, while the containers in the machine continues to execute. Example: https://ci.appveyor.com/project/bazzilic/prismadb-benchmark/builds/... vs https://ci.appveyor.com/project/bazzilic/prismadb-benchmark/builds/.... We know that the application actually continues to execute as we output to an external database on completion.

    Also, networking to Digital Ocean (NYC1 & NYC3) is a lot slower than the Visual Studio 2017 image. I understand that this is due to the difference between LiquidWeb (Michigan) vs Azure (Georgia), but geographically the difference is not substantial. Will this be improved in the near future?

  8. Support Staff 6 Posted by Ilya Finkelshte... on 29 Apr, 2019 08:54 PM

    Ilya Finkelshteyn's Avatar

    Sorry for the hassle. Can you try adding non-blocking (RDP)(https://www.appveyor.com/docs/how-to/rdp-to-build-worker/) in the beginning of the build and when build stuck, connect the machine and see if some window pops up and waiting for user input. This does not look very likely, but because it seems stuck on the same step both times in your build history, I still hope this can be something specific to this step and you can root cause it in RDP.

    Regarding networking, can you please provide some simple test which I can run and see if we can alternate some setting to help.

  9. 7 Posted by calvin on 30 Apr, 2019 06:21 PM

    calvin's Avatar

    Hi, regarding the output issue, we believe that it is an issue with Docker itself; if the output is inactive for a certain period of time, the output stops. We have worked around it by keeping the output alive with extra messages.

    Regarding the networking, I have created a simple test here: https://github.com/cheziyi/DigitalOcean-SpeedTest, with build here: https://ci.appveyor.com/project/cheziyi/digitalocean-speedtest. I am unable to run Windows Server 2019 images on my personal account, but it should help with your testing. This is not a high priority, but it would be great if speeds can be improved.

    Thanks for your help so far, this issue can be considered closed.

  10. Support Staff 8 Posted by Ilya Finkelshte... on 02 May, 2019 11:51 PM

    Ilya Finkelshteyn's Avatar

    We enabled Windows Server 2019 for your account as well, just in case you need it.

    Repro depends on Digital Ocean token, which I cannot use (secure variables are being decrypted only inside account where they were encrypted).

    Maybe I can try just to upload to Digital Ocean S3 storage and compare.

    We have a slim chances we can improve it though. Obviously we cannot make Azure networking better. But what I will try is to remove Azure load balancer from the lab I will test. We run all VMs behind it so they have a single public IP so people can white list specific IP on firewall for deployments from AppVeyor to private resources. Maybe this part does not perform well, though I do not think so because right now, while Windows Server 2019 is in preview, there are not a lot of traffic behind this load balancer.

  11. calvin closed this discussion on 21 Jun, 2019 09:06 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac