Azure / App-Service-Migration-Assistant

Azure Websites Migration Assistant for Windows is a tool that allows customers to move their existing sites hosted on IIS servers into the cloud on Azure App Service. For more information check out https://appmigration.microsoft.com .
https://appmigration.microsoft.com
MIT License
75 stars 60 forks source link

Undocumented Error #4

Closed adelsors closed 5 years ago

adelsors commented 5 years ago

Investigative information

I get this blocking error when analyzing the site:

        "CheckName": "VirtualDirectoryCheckPassed",
        "Result": false,
        "Status": "Block",
        "Title": "Virtual Directories",
        "Description": "Checks if the site is using virtual directory paths.",
        "DisplayMessage": "Virtual Directory detected at path '/' in application 'bablabla/ws1'\nVirtual Directory detected at path '/' in application 'blablabla/ws2\n",
        "LearnMoreLink": "https://go.microsoft.com/fwlink/?linkid=2084727"

Physically the ws are hosted at C:\Inetpub\wwwroot\ws1 and C:\Inetpub\wwwroot\ws2.

Virtual paths can be configured in the web app through the azure portal, I can't understand why it is a problem for the migration, please explain it!

Repro steps

Navigate to LearnMoreLink

Expected behavior

Error documented

Actual behavior

Error not documented

Known workarounds

wadeh-ms commented 5 years ago

At this time, the migration tools supports a limited set of features. For example, it supports migrating sites built with ASP.NET or ASP.NET Core, but not other platforms, such as PHP, Node.js, etc. This isn't due to a limitation of Azure App Service. It's that we are prioritizing the work, and will be releasing updates as we add features.

Speaking specifically of virtual directory support, doing this would require potentially significant alteration of the site to be migrated. For example, an on-premises installation of IIS supports virtual directories in any path that IIS can access. The virtual directories could be children of wwwroot. They could be peers of wwwroot. They could be on another drive. They could even be on another physical machine, with credentials required for access.

The Azure App Service supports virtual directories that are peers (or children) of wwwroot. In order to migrate a site that uses random virtual directories, we would need to rearrange the physical locations of the virtual directories in order to bring them into compliance with what Azure App Service supports. This also involves altering the site content (web.config files) to fix up the physical paths to match the new location post migration (we would need to do this even for virtual directories that are children of wwwroot).

This is work that we have planned, but we need to get a number of other pieces in place first.

I hope that this helps to explain it. -Wade

adelsors commented 5 years ago

Understood, thanks for the explanation.