WAP Websites UR9 and External Storage issue (FTP: “550 Command not allowed”)

The last few weeks we had upgraded the test environment of Windows Azure Pack Websites at a customer to Update Rollup 9, and Azure Pack to Update Rollup 10.
Since this update we were seeing strange behavior on the environment when we were uploading data using FTP.

All the subscriptions and websites that were already running before the upgrade seemed to be running fine, however an issue started after creating new websites.
Whenever we would connect using FTP, we could list all data but for some reason we could not upload anything.

The exact error we were receiving was:

“550 Command not allowed”

However when we were uploading using GIT or the publish template, everything was working fine.

After some digging and sending detailed information over to Microsoft, we received the answer from Joaquin Vano.
There seems to be a bug in Azure Pack Websites where Quota’s are being enforced using the wrong method for external fileservers.
This check would then fail and kill any upload to the share with an access denied message.

You can resolve this issue with the following work-around:
Go to “C:\Windows\System32\inetsrv\config\applicationHost.config” on the Publisher servers.

Edit the following key value:

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

and change it to False:

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

We have been made aware that this issue will be resolved in the next update for Azure Pack Websites.


Create custom Webworkers in Windows Azure Pack Websites

Today a customer came to me with the question if it would be possible to create your own Webworkers in Windows Azure Pack websites.
The reason for doing this is because they want customers within 1 subscription to be able to have 1 website in a “small” scale, and for example another in a “medium” scale.

With the default instances available this is not possible.
When you install Windows Azure Pack websites you get 2 compute modes: Shared, and Dedicated. You get 3 SKU modes: Free, Shared and Standard.
And these SKU modes have one or multiple worker Tiers.

Free: Shared
Shared: Shared
Standard: Small, Medium and Large

So to be able to reach this goal we need to create dedicated SKU’s for new the existing tiers, or new tiers in new dedicated SKU’s.
After starting to look for some documentation I found there was not much available describing this, however when I started looking for commandlets I found the following:

get-command *sku* -Module websitesdev

CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-WebSitesSku 1.0 Websitesdev
Cmdlet New-WebSitesSku 1.0 Websitesdev
Cmdlet Remove-WebSitesSku 1.0 Websitesdev
Cmdlet Set-WebSitesSku 1.0 Websitesdev
get-command *tier* -Module websitesdev

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-WebSitesWorkerTier                             1.0        Websitesdev
Cmdlet          New-WebSitesWorkerTier                             1.0        Websitesdev
Cmdlet          Remove-WebSitesWorkerTier                          1.0        Websitesdev
Cmdlet          Set-WebSitesWorkerTier                             1.0        Websitesdev

After this, the next few steps were easy to create a new Workertier, and a new SKU.

New-WebSitesWorkerTier -Name "Custom-Small" -ComputeMode "Dedicated" -NumberOfCores '1' -description "Custom Small Tier" -MemorySize '2048'
New-WebSitesSku -SkuName 'Custom' -ComputeMode 'Dedicated' -WorkerTiers 'Custom-Small'


Now I was able to add this new worker into my websites cloud, and use it in my Windows Azure Pack portal!