none
Azure Pack Websites UR9 and DFS(R) storage

    Question

  • We are experiencing issues using Azure Pack Websites UR9 and using a DFS(R) share as storage

    When we use a DFS share as storage for WAP Websites, everything works except for uploading using FTP.
    We can create a website
    We can upload a website using a local git repository
    We can connect using FTP and list all folders
    but when we attempt to upload a file or folder using FTP we receive a "550 Command not allowed" error

    When we switch back to a normal fileshare (no DFS) on a server we do not have this issue.
    Permissions on both the normal fileshare and the DFS share are excactly the same.

    We did not have any issue when we were running UR8.

    Wednesday, May 25, 2016 10:49 AM

Answers

  • The user you are using to authenticate against the FTP endpoint is different from the credential used by the FTP server to authenticate against the file server. In this case it will use the configured FileShareOwner credential.

    This ScanSiteStorageIfNeeded will only be used when "External" file server is used since we will scan the folder size to enforce the storage quota. When running in the other modes, we will rely on FSRM on the file server side to enforce the storage quota.

    I will file a bug and we will try to reproduce the issue.

    Thanks for the information!

    Monday, May 30, 2016 5:53 PM

All replies

  • Can you tell me which "FileServerType" setting you are using when running against DFS?

    Also, please check the following logs in the publisher server:

    1. Microsoft-Windows-Websites/Administrative
    2. Microsoft-Windows-Websites/Operational
    And let us know if you see any errors in the log

    Wednesday, May 25, 2016 7:27 PM
  • Hi Joaquin,

    We selected FileServerType, External.

    We find the following logs in Microsoft-Windows-Websites/Administrative:
    1 error after attempting to create a folder using FTP.

    Unhandled exception was encountered:  System.ComponentModel.Win32Exception (0x80004005): The user name or password is incorrect
       at Microsoft.Web.Hosting.Common.FileExtensions.GetDirectorySizeInBytes(String path, Int32& folderCount, Int32& filesCount)
       at HostingFtpProvider.HostingFtpProvider.ScanSiteStorageIfNeeded(SessionAddressInfo& sessionInfo)
       at HostingFtpProvider.HostingFtpProvider.HandlePreprocess(FtpPreprocessParameters preProcessParameters), SessionId: 4a1ce225-b117-43da-b17e-ee8b43f4336a, Site: website, User: website\user, Details: ==== HandlePreprocess ====
    BytesReceivedPerSession: 140
    BytesSentPerSession: 454
    Command: MKD
    CommandParameters: New Folder
    HostName: 
    LocalIPAddress: 10.192.65.3
    LocalIPPort: 21
    RemoteIPAddress: 10.192.129.6
    RemoteIPPort: 52297
    SessionId: 4a1ce225-b117-43da-b17e-ee8b43f4336a
    SessionStartTime: Microsoft.Web.FtpServer.Filetime
    SiteName: Hosting FTP Site
    UserName: website\user

    We find the following logs in Microsoft-Windows-Websites/Operational:
    No errors in this log, only informational.

    User user from address 10.192.129.6 passed authentication, protocol FTP (level 1), source . \\waptest.local\wapwebsites\2b697c65ce12869cd1a2\caad74396fb840ad, S24. Subscription , webspace , site website.
    User user from address 10.192.129.6 passed authorization, protocol FTP (level 0), source Publisher. User user has been authorized., . Subscription c88476b9-a38a-4524-be02-1ef494c3ba66, webspace defaultwebspace, site website.


    Kind regards,
    Danny den Braver
    Monday, May 30, 2016 8:15 AM
  • The user you are using to authenticate against the FTP endpoint is different from the credential used by the FTP server to authenticate against the file server. In this case it will use the configured FileShareOwner credential.

    This ScanSiteStorageIfNeeded will only be used when "External" file server is used since we will scan the folder size to enforce the storage quota. When running in the other modes, we will rely on FSRM on the file server side to enforce the storage quota.

    I will file a bug and we will try to reproduce the issue.

    Thanks for the information!

    Monday, May 30, 2016 5:53 PM
  • Hi Joaquin,

    Thank you for the update.
    I have been able to reproduce this issue on my laptop, and I could send you the files if you like.
    This consists of 8 VM's in totall with about 73GB in size (using differencing disks).

    Kind regards,
    Danny den Braver
    Tuesday, May 31, 2016 8:04 AM
  • Hi Danny

    Please check the "C:\Windows\System32\inetsrv\config\applicationHost.config" from the publisher server (FTP) and tell me if you see the "storageQuotaEnabled" property in the HostingFtpProvider.

    It should look like:

    <system.ftpServer>
            <providerDefinitions>
                <add name="IisManagerAuth" type="Microsoft.Web.FtpServer.Security.IisManagerAuthenticationProvider,Microsoft.Web.FtpServer,version=7.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
                <add name="AspNetAuth" type="Microsoft.Web.FtpServer.Security.AspNetFtpMembershipProvider,Microsoft.Web.FtpServer,version=7.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
                <add name="HostingFtpProvider" type="HostingFtpProvider.HostingFtpProvider,HostingFtpProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <activation>
                    <providerData name="HostingFtpProvider">
                        <add key="securityEnabled" value="true" />
                        <add key="ipTrackingEnabled" value="true" />
                        <add key="storageQuotaEnabled" value="True" />
                        <add key="maxLogonAttempts" value="5" />
                        <add key="watchTimePeriod" value="00:00:05" />
                        <add key="denyTimePeriod" value="00:00:30" />
                        <add key="userName" value="FTPAdmin" />
                        <add key="password" encryptedValue="[enc:AesProvider:RQGyuO4MZRq/ScJ2NvAyy95uF5jOrWgZ2HK3PYUbMiaICkwskGZal1fIiZXGbXwJU18+yULy6jrbL4/PIE2ReId0oWZ7JErs4c55HL//MBoKgzYfTxmOsnS9R0qsIBHmfpk/1vehWtyG7GP7wThTKvKydeBzR8oRbqtzR+Di/Zqxq4R0g0u97nhodeg0Xngo:enc]" />
                    </providerData>
                </activation>
            </providerDefinitions>

    So, is you don't see the property or if the property is False, perform a "Repair" of the server using the Websites Cloud MMC from the controller machine. This should update the applicationHost.config in the publisher server and check again.

    If the "storageQuotaEnabled" is now defined and with value set to "true". Could you try to deploy using FTP to see if the problem is still there?

    Thanks,

    Joaquín

    Monday, June 06, 2016 10:07 PM
  • Hi Joaquín,

    The key 'storageQuotaEnabled', was presented like:

                        <add key="storageQuotaEnabled" value="True" />

    FTP still wasn't working, so we changed it to:

                        <add key="storageQuotaEnabled" value="false" />

    From this point it seems to function properly as expected.

    How should we continue this thread?

    Hope to hear from you soon.

    With kind regards,
    Jeroen


    Tuesday, June 07, 2016 7:54 AM
  • We were able to reproduce the error and the fix will be available in the next update

    Thanks for reporting the issue!

    • Proposed as answer by JKoopman Tuesday, June 07, 2016 9:18 AM
    Tuesday, June 07, 2016 9:14 AM
  • Hi Joaquin,

    Glad to hear you were able to reproduce and resolve the issue.
    Thank you in advance!

    Kind Regards, 
    Danny den Braver



    Tuesday, June 07, 2016 9:28 AM