Deploy Azure Cloud Service with "New" storage account


I’m trying to deploy an Azure Cloud Service and running into an issue with the storage account. When I create the storage account in the “classic” azure web portal, i’m able to deploy the cloud service successfully. But when that same storage account is created with the “new” azure portal, the deploy script fails saying it cannot locate the storage account.

From my understanding, this is most likely because Octopus is using the Azure Service Management PowerShell commands which are not all compatible with the new portal. What should work with the new portal is the Azure Resource Manager PowerShell commands.

Are there any plans to start taking advantage of the Azure Resource Manager in Octopus? Or something that i’m missing here?

Here’s the stacktrace from the failed deployment:

Microsoft.WindowsAzure.CloudException: ResourceNotFound: The storage account ‘mobillianstoragelt’ was not found.
at Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
at Microsoft.WindowsAzure.StorageAccountOperationsExtensions.GetKeys(IStorageAccountOperations operations, String accountName)
at Calamari.Azure.Integration.AzurePackageUploader.GetStorageAccountPrimaryKey(SubscriptionCloudCredentials credentials, String storageAccountName) in Y:\work\b1fd300731d5f2fc\source\Calamari.Azure\Integration\AzurePackageUploader.cs:line 126
at Calamari.Azure.Integration.AzurePackageUploader.Upload(SubscriptionCloudCredentials credentials, String storageAccountName, String packageFile, String uploadedFileName) in Y:\work\b1fd300731d5f2fc\source\Calamari.Azure\Integration\AzurePackageUploader.cs:line 22
at Calamari.Azure.Deployment.Conventions.UploadAzureCloudServicePackageConvention.Install(RunningDeployment deployment) in Y:\work\b1fd300731d5f2fc\source\Calamari.Azure\Deployment\Conventions\UploadAzureCloudServicePackageConvention.cs:line 40
at Calamari.Deployment.ConventionProcessor.RunInstallConventions() in Y:\work\b1fd300731d5f2fc\source\Calamari\Deployment\ConventionProcessor.cs:line 60
at Calamari.Deployment.ConventionProcessor.RunConventions() in Y:\work\b1fd300731d5f2fc\source\Calamari\Deployment\ConventionProcessor.cs:line 28


Hi Eric,
It definately does look like there is a difference between the storage accounts with the new deployment model (termed Resource Manager) and the old model (termed ‘Classic’) as by default I don’t even see them in the storage account drop down selector in OD.
I will have to take a deeper look at these changes and will let you know what I find.
Thanks for bringing this to our attention.

Thanks for taking a look at it!

Actually the new deployment model is kinda annoying as most of the dependent services do not support it as they should.

Having the same problem with cloud services and cdn. Will have to go back to classic.

I am having trouble with this same issue. I created a storage account as type “Resource Manager” and one as “Classic” and uploaded my database to each as a blob, but when I go to my server and select import, it says “No container found”. How can I get it to see my container(s) and blobs?

Could you please clarify what account type you have set up in Octopus Deploy for the Azure login? If you have set up an account using the Service Principal authentication method then you should see the new storage containers in your deployment processes. If however you are still using Management Certificate based authentication, then I would expect some of them to be missing. This new Azure authentication method was released from Octopus Deploy 3.3.
The information you can provide around your account set up will help us diagnose the root problem.

I wan’t using Octopus Deploy so I guess you can’t help me. I set up the
containers and server directly in the Azure portal and uploaded the
database blob from SQL Server 2012 Management Studio using Export Data Tier

Thanks anyway!